/* HOME pilot v0.2.0 | editorial technical reference
   Visual reference: Vibehaus CC0 Swiss-style pricing + restrained corporate grid
   https://vibe.itlibra.com/design/swiss-pricing/
   No external fonts, JS, tracking or assets. */
:root {
  color-scheme: light;
  --page: #f5f5f0;
  --paper: #fcfcf9;
  --ink: #142d34;
  --muted: #58686a;
  --rule: #c8cfcb;
  --accent: #155e62;
  --accent-soft: #e2ebea;
  --warm: #a24e33;
  --note: #f1eee5;
  font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.8;
  background: var(--page);
  color: var(--ink);
  -webkit-text-size-adjust: 100%;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:280px;background:var(--page)}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:3px solid var(--warm);outline-offset:4px}
button{font:inherit}
::selection{background:#c5e0d8}
.container{width:min(100% - 64px,1080px);margin-inline:auto}
.sitebar{background:var(--paper);border-bottom:1px solid var(--rule)}
.sitebar-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:94px}
.brand{display:inline-flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;line-height:1.2}
.brand-symbol{display:grid;place-content:center;width:43px;height:43px;border:2px solid var(--ink);font-family:Georgia,serif;font-size:17px;font-weight:700;letter-spacing:-.08em}
.brand-wordmark{display:flex;flex-direction:column;gap:6px}
.brand-wordmark strong{font-size:1rem;letter-spacing:.035em}
.brand-wordmark small{color:var(--muted);font-size:.65rem;letter-spacing:.09em}
.header-meta{display:flex;gap:14px;align-items:center;font-size:.73rem;color:var(--muted);white-space:nowrap}
.header-meta::before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%}
.main{padding-top:60px;padding-bottom:94px}
.kicker,.section-number,.overline,.breadcrumb,.data-label,.meta-label,.small-meta{font-size:.72rem;font-weight:700;letter-spacing:.1em}
.kicker{display:inline-flex;align-items:center;gap:13px;color:var(--accent);text-transform:uppercase;margin:0 0 22px}
.kicker::before{content:'';width:28px;height:1px;background:currentColor}
.hero{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(210px,.65fr);gap:70px;align-items:end;padding:0 0 60px;border-bottom:1.5px solid var(--ink)}
h1,h2,h3,p{overflow-wrap:anywhere}
h1{font-family:'Hiragino Mincho ProN','Yu Mincho','Noto Serif JP',serif;font-size:clamp(2.35rem,4.3vw,3.65rem);font-weight:700;line-height:1.48;letter-spacing:-.035em;margin:0 0 26px}
.lead{max-width:65ch;font-size:1rem;line-height:2.1;color:#354b51;margin:0}
.lead strong{font-weight:750;color:var(--ink)}
.hero-right{border-left:1px solid var(--rule);padding-left:32px;padding-bottom:6px}
.hero-right .hero-number{font:400 clamp(4.3rem,10vw,7.8rem)/1 Georgia,Times,serif;letter-spacing:-.095em;color:var(--ink);margin:4px 0}
.hero-right p{margin:12px 0 0;font-size:.78rem;color:var(--muted)}
.hero-right .eyebrow{margin:0;text-transform:uppercase;color:var(--accent)}
.issue-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;padding:18px 0;border-bottom:1px solid var(--rule);font-size:.7rem;color:var(--muted)}
.issue-meta strong{color:var(--ink);font-weight:750}
.section{padding:61px 0 0}
.section-head{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:65px;padding:0 0 26px;align-items:start}
.section-number{color:var(--accent);margin:0 0 9px}
h2{font-size:clamp(1.38rem,2.4vw,1.9rem);font-weight:750;line-height:1.55;letter-spacing:-.035em;margin:0}
.section-intro{max-width:62ch;margin:3px 0 0;color:var(--muted);font-size:.9rem}
.code-grid{border-top:1.5px solid var(--ink)}
.code-row{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1fr) 34px;gap:18px;align-items:center;padding:23px 0;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;transition:background-color .15s ease}
.code-row:hover{background:#e8eeeb;text-decoration:none}
.code-row:focus-visible{outline-offset:-4px}
.code-big{font:700 clamp(2.35rem,5vw,3.8rem)/1.08 -apple-system,BlinkMacSystemFont,Arial,sans-serif;letter-spacing:-.065em}
.code-context{color:var(--muted);font-size:.78rem;line-height:1.55}
.code-context strong{display:block;color:var(--ink);font-size:.9rem}
.range{font-size:clamp(1.13rem,2.3vw,1.54rem);font-weight:720;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.range small{display:block;color:var(--muted);font-size:.68rem;font-weight:500;letter-spacing:0}
.arrow{display:inline-grid;place-items:center;border:1px solid var(--ink);height:32px;width:32px;font-size:1.3rem;line-height:1}
.footnote{display:flex;align-items:start;gap:13px;padding:18px 0 0;color:var(--muted);font-size:.79rem;line-height:1.9}
.footnote::before{content:'※';color:var(--warm);font-weight:800}
.editorial{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:72px;border-top:1px solid var(--rule);padding-top:54px}
.editorial h2{max-width:13em}
.editorial .section-number{margin:0 0 16px}
.editorial-content p{font-size:.9rem}
.steps{list-style:none;margin:0;padding:0;counter-reset:step}
.steps li{counter-increment:step;display:grid;grid-template-columns:41px 1fr;gap:18px;border-bottom:1px solid var(--rule);padding:14px 0 15px;font-size:.95rem;align-items:start}
.steps li:first-child{padding-top:0}
.steps li::before{content:'0' counter(step);font:700 .83rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--accent)}
.editorial-content .note{border-left:2px solid var(--warm);margin:23px 0 10px;padding:4px 0 4px 18px;font-size:.87rem;color:#3d5052}
.source-line{margin:24px 0 0;font-size:.83rem;color:var(--muted)}
.scope{margin-top:60px;border-top:1px solid var(--rule);padding-top:24px;display:grid;grid-template-columns:200px 1fr;gap:24px}
.scope p{font-size:.85rem;color:var(--muted);margin:0}
.scope h2{font-size:1rem}
footer{border-top:2px solid var(--ink);background:var(--paper)}
.footer-inner{padding:30px 0 40px;display:flex;justify-content:space-between;gap:32px;align-items:flex-start}
.footer-inner strong{font-size:.85rem}
.footer-inner p{max-width:570px;color:var(--muted);font-size:.77rem;margin:0}
.footer-mark{font:600 .73rem ui-monospace,Consolas,monospace;letter-spacing:.15em;color:var(--accent);white-space:nowrap}
.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 46px;font-size:.74rem;letter-spacing:.03em;color:var(--muted)}
.breadcrumb a{color:inherit}
.detail-hero{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(200px,.75fr);gap:60px;border-bottom:1.5px solid var(--ink);padding-bottom:48px;align-items:end}
.detail-hero h1{font-size:clamp(2rem,4vw,3.25rem);margin:0 0 16px}
.detail-hero .detail-lead{margin:0;line-height:2;color:var(--muted);font-size:.91rem}
.detail-symbol{font:700 clamp(6.5rem,15vw,11rem)/1 -apple-system,BlinkMacSystemFont,Arial,sans-serif;text-align:right;letter-spacing:-.1em;color:#d9e0dc}
.metric-panel{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);gap:58px;border-bottom:1px solid var(--rule);padding:56px 0}
.metric-heading h2{max-width:18em}
.metric-heading .section-number{margin:0 0 16px}
.metric-value{font:700 clamp(1.8rem,4.1vw,3.2rem)/1.3 -apple-system,BlinkMacSystemFont,Arial,sans-serif;letter-spacing:-.07em;color:var(--ink);font-variant-numeric:tabular-nums;margin:0 0 6px}
.metric-subline{font-size:.75rem;color:var(--accent);font-weight:700;letter-spacing:.06em;margin:0 0 22px}
.metric-context{font-size:.89rem;color:var(--muted);margin:0}
.parts-line{border-top:1px solid var(--rule);padding:22px 0;margin-top:24px}
.parts-line .overline{color:var(--muted);margin:0 0 8px}
.parts-line p{margin:0;font-size:1.02rem;font-weight:700}
.warning{background:var(--note);border-left:3px solid var(--warm);padding:17px 21px;margin:25px 0 0;color:#4d4941;font-size:.86rem}
.mfr-link{font-size:.8rem;color:var(--muted);margin:25px 0 0}
.related-nav{border-top:1px solid var(--rule);padding-top:55px;margin-top:3px}
.related-nav ul{list-style:none;padding:0;margin:23px 0 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.related-nav li a{display:block;padding:15px 17px;border:1px solid var(--rule);text-decoration:none;font-size:.92rem;color:var(--ink);background:var(--paper)}
.related-nav li a:hover{border-color:var(--accent);background:var(--accent-soft)}
.update-note{margin:20px 0 0;color:var(--muted);font-size:.8rem}
.backlink{display:inline-flex;padding:13px 0;font-size:.9rem;font-weight:700}
.missing{padding:12vh 0;min-height:65vh}
.missing h1{font-size:clamp(2rem,5vw,3.25rem)}
@media (max-width:860px){
  .hero{grid-template-columns:1fr .42fr;gap:34px}
  .section-head,.editorial,.metric-panel{gap:35px}
  .code-row{grid-template-columns:85px minmax(0,.6fr) minmax(0,1fr) 32px;gap:10px}
  .code-context{font-size:.73rem}
}
@media (max-width:640px){
 .container{width:calc(100% - 38px)}
 .sitebar-inner{min-height:75px;gap:14px}
 .brand-symbol{width:37px;height:37px;font-size:15px}
 .brand-wordmark strong{font-size:.88rem}
 .brand-wordmark small{font-size:.61rem}
 .header-meta{font-size:.65rem;white-space:normal;max-width:118px;text-align:right;line-height:1.5}
 .header-meta::before{display:none}
 .main{padding-top:34px;padding-bottom:62px}
 .hero,.detail-hero{display:block;padding-bottom:38px}
 .hero-right{display:flex;align-items:center;gap:16px;padding:13px 0 0;border-left:0;border-top:1px solid var(--rule);margin-top:25px}
 .hero-right .hero-number{font-size:4rem;margin:0}
 .hero-right .eyebrow{font-size:.62rem}
 .hero-right p{margin:2px 0 0}
 h1{font-size:clamp(2rem,8.5vw,2.85rem)}
 .detail-hero h1{font-size:clamp(1.8rem,7.5vw,2.65rem)}
 .detail-symbol{font-size:5.5rem;text-align:left;margin-top:18px}
 .issue-meta{font-size:.64rem;gap:7px 17px}
 .section{padding-top:43px}
 .section-head,.editorial,.metric-panel,.scope{display:block}
 .section-head{padding-bottom:24px}
 .section-head .section-intro{margin-top:10px}
 .code-row{grid-template-columns:66px 1fr 29px;grid-template-areas:'code price arrow' 'code context arrow';gap:0 10px;padding:20px 0}
 .code-big{grid-area:code;font-size:2.5rem;align-self:center}
 .code-context{grid-area:context}
 .range{grid-area:price;font-size:1.15rem}
 .arrow{grid-area:arrow;height:29px;width:29px;align-self:center}
 .editorial{padding-top:34px}
 .editorial h2{max-width:none;margin-bottom:25px}
 .scope{margin-top:42px;padding-top:20px}
 .scope h2{margin:0 0 10px}
 .footer-inner{display:block;padding:23px 0 30px}
 .footer-inner p{margin-top:12px}
 .metric-panel{padding:36px 0}
 .metric-heading{margin-bottom:24px}
 .metric-value{font-size:clamp(1.95rem,6.3vw,2.75rem)}
 .related-nav{padding-top:40px}
 .related-nav ul{grid-template-columns:1fr}
 .breadcrumb{margin-bottom:34px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.code-row{transition:none}}
@media print{.sitebar{background:white}.container{width:100%}.main{padding:20px 0}.code-row{break-inside:avoid}footer{background:white}a{text-decoration:underline}}
