:root{
  --so-container:1080px; --so-container-pad:24px; --so-container-pad-sm:16px;
  --so-measure:640px; --so-aside-col:200px; --so-aside-gap:40px;
  --so-text-quote:26px; --so-text-product:20px; --so-text-lede:18px; --so-text-body:17px;
  --so-text-list:16px; --so-text-minor:15px; --so-text-ui:14px; --so-text-label:12px;
  --so-text-mark:11px; --so-text-micro:10px;
  --so-line-body:1.65; --so-line-quote:1.3; --so-line-display:1.15;
  --so-header-h:68px; --so-pin-top:96px; --so-pin-top-sm:78px;
  --so-scrim-header:rgba(4,7,18,0.86);
  --so-dwell-hero:44vh; --so-dwell-case:40vh;
  --so-dwell-step-1:34vh; --so-dwell-step-2:46vh; --so-dwell-step-3:58vh;
  --so-dwell-step-1-sm:22vh; --so-dwell-step-2-sm:26vh; --so-dwell-step-3-sm:30vh;
}
html,body{margin:0;padding:0}
a{color:var(--ds-color-primary);text-decoration:none}
a:hover{color:var(--ds-color-primary-hover)}

.so-wrap{max-width:var(--so-container);margin:0 auto;padding-left:var(--so-container-pad);padding-right:var(--so-container-pad)}
.so-measure{max-width:var(--so-measure)}
.so-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--ds-font-mono);font-size:var(--so-text-label);color:var(--ds-color-text-muted)}
.so-crumbs a{display:inline-flex;align-items:center;min-height:36px;color:var(--ds-color-text-muted)}
.so-crumbs a:hover{color:var(--ds-color-text)}
.so-quote{margin:0;font-family:var(--ds-font-display);font-size:var(--so-text-quote);line-height:var(--so-line-quote);color:var(--ds-color-text-muted)}
.so-price{font-family:var(--ds-font-mono);font-size:var(--so-text-product);color:var(--ds-color-text)}
.so-more{display:inline-flex;align-items:center;min-height:44px;font-size:var(--so-text-list);color:var(--ds-color-primary)}
.so-row{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:24px;padding:20px 0;border-top:1px solid var(--ds-color-border)}
.so-row:last-child{border-bottom:1px solid var(--ds-color-border)}
.so-num{font-family:var(--ds-font-mono);font-size:var(--so-text-label);color:var(--ds-color-text-muted);padding-top:3px}
.so-term{margin:0;font-size:var(--so-text-body);font-weight:600;line-height:var(--ds-line-normal);color:var(--ds-color-text)}
.so-body{margin:0;font-size:var(--so-text-list);line-height:var(--so-line-body);color:var(--ds-color-text-muted)}
.so-lede{margin:0;max-width:var(--so-measure);font-size:var(--so-text-lede);line-height:var(--so-line-body);color:var(--ds-color-text)}
.so-p{margin:0;max-width:var(--so-measure);font-size:var(--so-text-body);line-height:var(--so-line-body);color:var(--ds-color-text)}
.so-p--muted{color:var(--ds-color-text-muted)}
.so-em{color:var(--ds-color-text)}
.so-eyebrow{font-family:var(--ds-font-mono);font-size:var(--so-text-mark);letter-spacing:0.16em;text-transform:uppercase;color:var(--ds-color-text-muted)}
.so-title{margin:0;font-family:var(--ds-font-display);line-height:var(--ds-line-tight);color:var(--ds-color-text)}
.so-title--h1{font-size:var(--ds-headline-1);line-height:var(--so-line-display)}
.so-title--h2{font-size:var(--ds-headline-2)}
.so-title--h3{font-size:var(--ds-headline-3)}
.so-actions{display:flex;flex-wrap:wrap;gap:12px}
.so-panel{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-lg);background:var(--ds-color-surface);padding:24px}

.so-aside{display:grid;grid-template-columns:minmax(0,var(--so-aside-col)) minmax(0,1fr);gap:var(--so-aside-gap);align-items:start}
.so-aside-head{position:sticky;top:var(--so-pin-top)}
.so-aside .so-row{grid-template-columns:1fr;gap:8px;padding:20px 0}
.so-aside .so-row--num{grid-template-columns:44px minmax(0,1fr);gap:20px}
.so-aside .so-row .so-body,.so-aside .so-row .so-term{max-width:none}

.so-gap{height:var(--so-dwell,44vh)}
.so-pin{position:sticky;top:var(--so-pin-top)}
.so-plate{background:var(--ds-color-bg);border-top:1px solid var(--ds-color-border);padding-top:32px}
.so-tail{display:none}

@media(max-width:820px){
 .so-wrap{padding-left:var(--so-container-pad-sm);padding-right:var(--so-container-pad-sm)}
 .so-row{grid-template-columns:1fr;gap:8px}
 .so-aside{grid-template-columns:1fr;gap:20px}
 .so-aside-head{position:static}
 .so-gap{height:0}
 .so-pin{position:static}
 .so-tail{display:block;height:96px}
 .so-actions > a,.so-actions > a > *,.so-actions > button{width:100%}
}
@media(prefers-reduced-motion:reduce){
 .so-gap{height:0}
 .so-pin,.so-aside-head{position:static}
}
@media(max-width:820px){
 .so-wrap,.so-wrap * { min-width:0!important }
 .ds-headline,.ds-button,.so-col,.so-p,.so-lede,.so-quote { overflow-wrap:break-word }
}
:root{--so-portrait-sm:220px}
@media(max-width:820px){
 .so-portrait{max-width:var(--so-portrait-sm)}
}
.so-ask-short{display:none}
@media(max-width:820px){
 .so-ask-long{display:none}
 .so-ask-short{display:inline}
}
@media(max-width:820px){
 .socf-root{border:1px solid var(--ds-color-border-strong);border-radius:var(--ds-radius-lg);background:var(--ds-color-surface);padding:var(--ds-space-4)}
}
:root{--so-gold-deep:#B8873D}
.so-cat{display:block;margin:0;padding:0;font-family:var(--ds-font-mono);font-size:var(--so-text-label);line-height:1.5;letter-spacing:0.16em;text-transform:uppercase;color:var(--so-gold-deep);background:none;border:0;box-shadow:none;text-decoration:none}
.so-cat::before,.so-cat::after{content:none}
.so-cat-sub{margin:0;font-size:var(--so-text-minor);line-height:var(--so-line-body);color:var(--so-gold-deep)}
.so-dur{margin:0;font-family:var(--ds-font-mono);font-size:var(--so-text-minor);line-height:var(--so-line-body);color:var(--so-gold-deep)}
.so-cat-head{display:grid;gap:6px;margin-top:-8px}
.so-cat--tight{margin-top:-8px}
.so-inc-lede{margin:0;max-width:var(--so-measure);font-size:var(--so-text-lede);line-height:var(--so-line-body);color:var(--ds-color-text)}
.so-inc-close{margin:0;max-width:var(--so-measure);font-size:var(--so-text-body);line-height:var(--so-line-body);color:var(--ds-color-text)}
