
/* User-reviewed homepage refinements; original sources remain read-only. */
.hero-reason{color:var(--red)}
.simple-framework span{white-space:nowrap}
.simple-framework em{font-style:normal;color:var(--red)}
.site-footer{display:block;padding:0;background:#f7f7f5}
.site-footer .footer-main{display:flex;align-items:center;justify-content:space-between;gap:48px;padding-top:64px;padding-bottom:48px}
.footer-brand strong{font-size:24px}
.site-footer .footer-brand span{display:block;font-size:10px;letter-spacing:3px;margin-top:8px}
.footer-message h2{font-size:32px;line-height:1.5;margin:30px 0 16px;letter-spacing:-.03em}
.site-footer .footer-message p{display:block;font-size:16px;line-height:1.9;margin:0;color:#666}
.channel-code{margin:0;flex:0 0 260px}
.channel-code a{display:block}
.channel-code img{display:block;width:260px;height:auto;max-width:100%;object-fit:contain}
.site-footer .footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;border-top:1px solid #ddd;padding-top:24px;padding-bottom:28px;font-size:12px;color:#666}
.site-footer .footer-legal span{font-size:12px;letter-spacing:0;margin:0}
.footer-legal .back-top{margin-left:auto}
@media(max-width:900px){.simple-framework{font-size:34px}.footer-message h2{font-size:28px}}
@media(max-width:620px){.simple-framework{font-size:27px}.site-footer .footer-main{align-items:flex-start;flex-direction:column;gap:28px;padding-top:40px;padding-bottom:32px}.channel-code{flex-basis:auto;align-self:center}.footer-message h2{font-size:27px}.site-footer .footer-legal{align-items:flex-start;flex-direction:column;gap:14px}.footer-legal .back-top{margin-left:0;margin-top:8px}}
@media(max-width:360px){.simple-framework{font-size:24px}}

/* v4: paired inputs converge on purchase; QR displayed at 70% size. */
.hero-period{color:inherit}
.simple-framework .framework-flow{display:flex;align-items:center;gap:20px;margin-top:24px}
.simple-framework .framework-inputs{display:flex;flex-direction:column;gap:10px;line-height:1.2}
.framework-arrow{display:block;width:112px;height:80px;flex-shrink:0;color:var(--red)}
.framework-result{line-height:1.2}
.channel-code{flex-basis:182px}
.channel-code img{width:182px}
.footer-brand img{display:block;width:270px;max-width:100%;height:auto}
@media(max-width:620px){.channel-code{flex-basis:auto}.simple-framework .framework-flow{gap:16px;margin-top:20px}.framework-arrow{width:90px;height:70px}}
@media(max-width:360px){.simple-framework .framework-flow{gap:12px}.framework-arrow{width:78px}}

/* v5: transparent compact logo, QR beside its invitation. */
header .brand img{width:210px;height:auto;max-width:100%}
.site-footer .footer-main{gap:36px}
.footer-message{min-width:0}
.footer-message h2{margin-top:0}
.footer-follow{display:flex;align-items:center;gap:24px;margin-top:28px}
.footer-follow .channel-code{flex:0 0 182px;align-self:center}
.site-footer .footer-brand{flex:0 0 230px}
.site-footer .footer-brand img{width:230px;height:auto}
@media(max-width:900px){.site-footer .footer-brand{flex-basis:190px}.site-footer .footer-brand img{width:190px}.footer-follow{gap:18px}}
@media(max-width:700px){.site-footer .footer-main{flex-direction:column;align-items:flex-start}.site-footer .footer-brand{flex-basis:auto;align-self:flex-end}}
@media(max-width:620px){header .brand img{width:180px}.footer-follow{flex-direction:column;align-items:flex-start;gap:18px}.footer-follow .channel-code{flex-basis:auto;align-self:flex-start}.site-footer .footer-brand{align-self:flex-start;margin-top:8px}.footer-message h2{font-size:27px}}

/* Original archived logo, unchanged pixels; white blends into the footer. */
.footer-brand img,header .brand img{mix-blend-mode:multiply}
.site-footer .footer-main{isolation:isolate}

/* v6: compact invitation with the QR another 20% smaller. */
.footer-follow{gap:14px}
.footer-follow .channel-code{flex-basis:145.6px}
.footer-follow .channel-code img{width:145.6px}
@media(max-width:620px){.footer-follow{gap:14px}.footer-follow .channel-code{flex-basis:auto}}

/* Related case navigation, leaving the approved homepage unchanged. */
.more-cases{border-top:1px solid var(--line);padding-top:48px;padding-bottom:64px}
.more-cases-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}
.more-cases h2{font-size:30px;margin:10px 0 0}
.more-cases-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.more-case-card{display:block;border:1px solid var(--line);background:var(--paper)}
.more-case-card>img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#fff}
.more-case-card>div{padding:22px}
.more-case-card h3{font-size:20px;line-height:1.5;margin:14px 0 22px}
.more-case-read{font-size:13px;color:var(--red)}
.more-case-card:hover h3{color:var(--red)}
.case-directory{padding-top:40px;padding-bottom:64px}
.case-directory .more-cases-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.more-cases-head{align-items:flex-start;flex-direction:column}.more-cases-grid,.case-directory .more-cases-grid{grid-template-columns:1fr}.more-cases{padding-top:32px;padding-bottom:40px}}

.method-more{display:flex;justify-content:flex-end;margin-top:24px}
.method-more a{border-bottom:1px solid var(--black);padding-bottom:8px}
.method-more a span{margin-left:24px;color:var(--red)}
.more-methods{border-top:1px solid var(--line);padding-top:48px;padding-bottom:64px}
.more-methods h2{font-size:30px;margin:10px 0 0}
.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.method-card{display:flex;flex-direction:column;border-top:3px solid var(--red);background:var(--paper);padding:28px}
.method-card time{font-size:12px;color:var(--muted)}
.method-card h3{font-size:21px;line-height:1.55;margin:24px 0 16px}
.method-card p{font-size:13px;color:var(--muted);margin:0 0 24px}
.method-card .more-case-read{margin-top:auto}
.method-card:hover h3{color:var(--red)}
.method-directory{padding-top:40px;padding-bottom:64px}
@media(max-width:900px){.method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.method-grid{grid-template-columns:1fr}.method-card{padding:24px}.more-methods{padding-top:32px;padding-bottom:40px}}

/* Original article emphasis: exact colors/weights, proportional source size hierarchy.
   Keep local Noto Sans SC and the approved responsive layout. */
.prose{--article-body-size:16px}
.prose .source-block{font-size:var(--article-body-size);font-weight:400;letter-spacing:normal;line-height:1.95}
.prose .source-run{font-family:inherit;line-height:inherit}
.prose .source-banner-line{background:var(--source-bg);border:0;padding:14px 22px;margin:32px 0 0;letter-spacing:normal}
.prose .source-banner-line+.source-banner-line{margin-top:0;padding-top:0}
.prose .source-banner-line+:not(.source-banner-line){margin-top:26px}
@media(max-width:620px){.prose{--article-body-size:15px}.prose .source-banner-line{padding-left:16px;padding-right:16px}}

/* Preserve relationships expressed by original tables, including merged cells. */
.article-table-container{container-type:inline-size;margin:30px 0}
.article-table-scroll{overflow-x:auto;max-width:100%;border:1px solid #b8bec5}
.article-table-scroll:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.article-table{width:100%;border-collapse:collapse;line-height:1.7}
.compact .article-table{min-width:360px}
.medium .article-table{min-width:480px}
.wide .article-table{min-width:680px}
.article-table th,.article-table td{border:1px solid #ccd0d5;padding:16px 18px;vertical-align:middle;font-weight:400;text-align:left}
.article-table thead{background:#f0f3f6}
.article-table th{text-align:center}
.article-table td:first-child{min-width:65px}
.article-table tr:first-child>*{border-top:0}
.article-table tr:last-child>*{border-bottom:0}
.article-table tr>*:first-child{border-left:0}
.article-table tr>*:last-child{border-right:0}
.wide .article-table td:not(:first-child){text-align:center}
.table-source-run{font-family:inherit}
.prose .table-scroll-hint{display:none;font-size:12px;color:#666;margin:8px 0 0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@container(max-width:679px){.wide .table-scroll-hint{display:block}}
@container(max-width:479px){.medium .table-scroll-hint{display:block}}
@container(max-width:359px){.compact .table-scroll-hint{display:block}}
.prose .source-quote{margin:28px 0;padding:22px 26px;border-left:3px solid #8795a4;background:#f5f6f7}
.prose .source-quote>:last-child{margin-bottom:0}
@media(max-width:620px){.article-table th,.article-table td{padding:12px 14px}.prose .source-quote{padding:18px}}


/* Mobile acceptance v13: retain desktop design; improve touch and reading. */
@media(max-width:900px){
  header nav a,.text-link,.history-bottom>a,.footer-legal a,.breadcrumb,.reading-next a,.year-nav a{
    min-height:44px;display:inline-flex;align-items:center;
  }
  .year-nav a{display:flex}
}
@media(max-width:620px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .principles p,.theory-pair p,.feature-link p,.news-intro p,.history-info p,
  .section-top>p,.about-bottom p,.method-card p{font-size:14px}
  .footer-message{width:100%}
  .footer-follow{display:grid;grid-template-columns:minmax(0,1fr) 145.6px;align-items:center;gap:14px;max-width:340px}
  .site-footer .footer-follow p{font-size:clamp(13px,3.6vw,16px)}
  .footer-follow .channel-code{align-self:center}
  .site-footer .footer-legal{gap:8px}
}
