
.story-progress{position:fixed; left:0; right:0; top:0; z-index:101; height:3px; pointer-events:none; display:none;}
.story-progress i{display:block; height:100%; transform-origin:left; transform:scaleX(0);
  background:linear-gradient(90deg, #B98A32, #D7A544 55%, #F0C66E); box-shadow:0 0 10px rgba(215,165,68,.5);}   
.story-live .story-progress{display:block;}
.story-live .scroll-progress{display:none;}
.story-head{max-width:980px; margin:0 auto; padding:clamp(128px, 17vh, 176px) var(--gut) clamp(40px, 5vw, 64px); text-align:center;}
.story-head .eyebrow{justify-content:center;}
.story-title{font-size:clamp(46px, 7.4vw, 108px);}
.story-head .twin-rules{margin:34px auto 26px;}
.story-meta{font:500 11.5px/1.6 var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--muted);}
.story-lead{max-width:1200px; margin:0 auto; padding:0 var(--gut);}
.story-fig{margin:0;}
.story-fig .frame{position:relative; overflow:hidden; border-radius:var(--r-tile); background:var(--raise); clip-path:inset(0 round var(--r-tile)); isolation:isolate;}
.story-fig img{display:block; width:100%; height:auto;}
.story-fig figcaption{max-width:68ch; margin:16px auto 0; font:300 14px/1.55 var(--sans); color:var(--muted); text-align:center;}
.story-lead .frame{aspect-ratio:16/9;}
.story-lead .frame img{position:absolute; inset:0; height:100%; object-fit:cover;}
@media (max-width:600px){
  .story-fig .frame{border-radius:18px; clip-path:inset(0 round 18px);}
  .story-lead .frame{aspect-ratio:4/3;}
}
.story-layout{max-width:var(--max); margin:clamp(56px, 7vw, 96px) auto 0; padding:0 var(--gut);
  display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 700px) minmax(0, 1fr); gap:clamp(24px, 4vw, 56px); align-items:start;}
.story-toc{grid-column:1; position:sticky; top:112px; justify-self:end; width:100%; max-width:230px;}
.story-toc p{font:500 10.5px/1 var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--faint); margin-bottom:14px;}
.story-toc ol{list-style:none; margin:0; padding:0 0 0 14px; border-left:1px solid var(--line); display:flex; flex-direction:column; gap:2px;}
.story-toc a{position:relative; display:block; padding:7px 0; text-decoration:none; font:400 13.5px/1.4 var(--sans); color:var(--faint); transition:color .3s ease;}
.story-toc a::before{content:""; position:absolute; left:-15px; top:8px; bottom:8px; width:2px; background:var(--brass); transform:scaleY(0); transform-origin:top; transition:transform .35s var(--ease-out);}
.story-toc a:hover{color:var(--head);}
.story-toc a.is-on{color:var(--head);}
.story-toc a.is-on::before{transform:scaleY(1);}
.story-main{grid-column:2; min-width:0;}
@media (max-width:1100px){
  .story-layout{grid-template-columns:minmax(0, 1fr); max-width:780px;}
  .story-toc{display:none;}
  .story-main{grid-column:1;}
}
.brass-tax{position:relative; padding:clamp(24px, 3vw, 34px); border-radius:var(--r-card); background:var(--raise); border:1px solid var(--line);}
.brass-tax::before{content:""; position:absolute; left:0; top:22px; bottom:22px; width:3px; border-radius:0 3px 3px 0; background:var(--mark-rust);}
.brass-tax h2{display:flex; align-items:center; gap:12px; font:500 12px/1 var(--mono); letter-spacing:.18em; text-transform:uppercase; color:var(--brass-ink); margin-bottom:18px;}
.brass-tax h2 svg{width:24px; height:24px; border-radius:6px; flex:none;}
.brass-tax h2 .tack{width:18px; height:18px; border-radius:0; color:var(--brass);}  
.brass-tax ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column;}
.brass-tax li{position:relative; padding:12px 0 12px 26px; border-top:1px solid var(--line); font:300 16px/1.6 var(--sans); color:var(--text);}
.brass-tax li:first-child{border-top:0; padding-top:0;}
.brass-tax li::before{content:"◆"; position:absolute; left:0; top:15px; font-size:9px; color:var(--mark-rust);}
.brass-tax li:first-child::before{top:3px;}
.brass-tax strong{font-weight:500; color:var(--head);}
.brass-tax a{color:var(--head);}
.story-inline-cta{margin-top:18px; padding:22px 24px; border-radius:var(--r-card); border:1px solid color-mix(in srgb, var(--brass) 40%, transparent); background:color-mix(in srgb, var(--brass) 7%, transparent);}
.story-inline-cta p{font:300 16px/1.6 var(--sans); color:var(--text);}
.story-inline-cta strong{font-weight:500; color:var(--head);}
.story-inline-cta .row{display:flex; align-items:center; gap:14px 20px; flex-wrap:wrap; margin-top:16px;}
.story-check{display:inline-flex; align-items:center; gap:8px; font:500 11px/1 var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--muted);}
.story-check::before{content:"✓"; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:color-mix(in srgb, var(--pine-lt) 22%, transparent); color:var(--pine-lt); font-size:11px; letter-spacing:0;}
.story-body{margin-top:clamp(48px, 6vw, 72px);}
.story-body > p{font:300 clamp(17px, 1.35vw, 18.5px)/1.78 var(--sans); color:var(--text); margin-top:1.15em;}
.story-body > p:first-child{margin-top:0;}
.story-body em{font-style:italic;}
.story-body strong{font-weight:500; color:var(--head);}
.story-body a{color:var(--head); text-decoration-color:color-mix(in srgb, var(--brass) 70%, transparent); text-underline-offset:3px;}
.story-body a:hover{text-decoration-color:var(--brass);}
.story-lede{font:300 clamp(21px, 2vw, 25px)/1.55 var(--serif) !important; color:var(--head) !important; letter-spacing:-.005em;}
.story-lede.has-drop::first-letter{float:left; font:300 clamp(66px, 7vw, 92px)/.82 var(--serif); color:var(--brass); margin:.06em .12em 0 0;}
.story-flag{color:var(--rust); font-weight:500;}
.story-body h2,.story-h2{font-family:var(--serif); font-weight:300; font-size:clamp(30px, 3.4vw, 44px); line-height:1.02; letter-spacing:-.02em; color:var(--head); margin:clamp(56px, 7vw, 84px) 0 6px; scroll-margin-top:96px;}
.story-body h2 em{font-style:italic; color:var(--brass);}
.story-body > ul,.story-body > ol{margin:1.2em 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:14px;}
.story-body > ul > li{position:relative; padding-left:26px; font:300 clamp(16.5px, 1.3vw, 18px)/1.7 var(--sans); color:var(--text);}
.story-body > ul > li::before{content:""; position:absolute; left:2px; top:.72em; width:8px; height:8px; border-radius:2px; background:var(--brass); transform:rotate(45deg);}
.story-body > ol{counter-reset:s;}
.story-body > ol > li{counter-increment:s; position:relative; padding-left:46px; font:300 clamp(16.5px, 1.3vw, 18px)/1.7 var(--sans); color:var(--text);}
.story-body > ol > li::before{content:counter(s); position:absolute; left:0; top:.1em; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; border:1px solid color-mix(in srgb, var(--brass) 55%, transparent); font:500 12px/1 var(--mono); color:var(--brass);}
.story-body .story-fig{margin:clamp(40px, 5vw, 64px) 0;}
@media (min-width:1101px){ .story-body .story-fig{margin-left:-4%; margin-right:-4%;} }
.story-pull{margin:clamp(48px, 6vw, 72px) 0; padding:clamp(28px, 4vw, 40px) 0; border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); text-align:center;}
.story-pull p{font:300 clamp(28px, 3.4vw, 42px)/1.15 var(--serif); letter-spacing:-.015em; color:var(--head);}
.story-pull .twin-rules{margin:0 auto 22px; width:72px;}
.story-end{display:block; margin:clamp(48px, 6vw, 72px) auto 0; width:max-content; color:var(--mark-rust); font-size:14px; letter-spacing:.6em; padding-left:.6em;}
.story-banner{margin-top:clamp(48px, 6vw, 72px); padding:clamp(28px, 4vw, 44px); border-radius:var(--r-tile); background:var(--raise); border:1px solid var(--line); text-align:center;}
.story-banner .twin-rules{margin:0 auto 22px; width:72px;}
.story-banner h2{margin:0; font-size:clamp(30px, 3.4vw, 44px);}
.story-banner p{max-width:52ch; margin:16px auto 0; font:300 16.5px/1.6 var(--sans); color:var(--muted);}
.story-banner .story-ctas{display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:26px;}
.story-banner .micro{margin-top:18px;}
.story-more{margin-top:clamp(48px, 6vw, 72px);}
.story-more h2{margin:0 0 22px; font-size:clamp(26px, 2.6vw, 34px);}
.story-more .cols{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:clamp(24px, 4vw, 48px);}
.story-more h3{font:500 11px/1 var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--brass-ink); margin-bottom:10px;}
.story-more ul{list-style:none; margin:0; padding:0;}
.story-more li{padding:14px 0; border-top:1px solid var(--line);}
.story-more li a{font:400 16px/1.4 var(--sans); color:var(--head); text-decoration:none; transition:color .2s ease;}
.story-more li a:hover{color:var(--brass);}
.story-more .note{display:block; margin-top:4px; font:300 14px/1.5 var(--sans); color:var(--muted);}
@media (max-width:640px){ .story-more .cols{grid-template-columns:minmax(0, 1fr);} }
.story-table{margin:clamp(28px, 4vw, 40px) 0 0; border-radius:var(--r-card); border:1px solid var(--line); background:var(--raise); overflow:hidden;}
@media (min-width:1101px){ .story-table{margin-left:-4%; margin-right:-4%;} }
.story-table table{width:100%; border-collapse:collapse;}
.story-table thead th{padding:18px 20px; text-align:left; font:500 11px/1.3 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--muted); border-bottom:1px solid var(--line-2);}
.story-table thead th:nth-child(2){color:var(--brass-ink);}
.story-table tbody th{width:22%; padding:16px 20px; text-align:left; vertical-align:top; font:500 14px/1.45 var(--sans); color:var(--head);}
.story-table td{padding:16px 20px; vertical-align:top; font:300 15px/1.55 var(--sans); color:var(--text); border-left:1px solid var(--line);}
.story-table tbody tr + tr > *{border-top:1px solid var(--line);}
.story-table td.yes::before,.story-table td.no::before{display:inline-grid; place-items:center; width:18px; height:18px; margin:0 8px 0 0; border-radius:50%; font:600 10px/1 var(--sans); vertical-align:1px;}
.story-table td.yes::before{content:"✓"; background:color-mix(in srgb, var(--pine-lt) 22%, transparent); color:var(--pine-lt);}
.story-table td.no::before{content:"–"; background:var(--raise-2); color:var(--faint);}
.story-table td:nth-child(2){background:color-mix(in srgb, var(--brass) 4%, transparent);}
@media (max-width:700px){
  .story-table thead{display:none;}
  .story-table table,.story-table tbody,.story-table tr,.story-table th,.story-table td{display:block; width:auto;}
  .story-table tbody tr + tr > *{border-top:0;}
  .story-table tbody tr + tr{border-top:1px solid var(--line-2);}
  .story-table tbody th{width:auto; padding:18px 18px 6px; font:500 11px/1.3 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--muted);}
  .story-table td{border-left:0; padding:8px 18px;}
  .story-table td:last-child{padding-bottom:18px;}
  .story-table td::after{content:attr(data-label); display:block; margin-top:2px; font:500 10px/1.3 var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--faint);}
  .story-table td:nth-child(2)::after{color:var(--brass-ink);}
}
.story-callout{position:relative; margin-top:clamp(32px, 4vw, 48px); padding:24px 26px; border-radius:var(--r-card); background:color-mix(in srgb, var(--rust) 8%, transparent); border:1px solid color-mix(in srgb, var(--rust) 35%, transparent);}
.story-callout b{display:block; margin-bottom:8px; font:500 12px/1.3 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--rust);}
.story-callout p{font:300 16.5px/1.7 var(--sans); color:var(--text);}
.story-callout a{color:var(--head);}
.story-endcta{margin-top:clamp(40px, 5vw, 56px); padding:clamp(26px, 4vw, 40px); border-radius:var(--r-tile); background:#1E3D2F; color:#F4EFE1; display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:20px 32px; align-items:center;}
.story-endcta h3{font:300 clamp(26px, 2.6vw, 34px)/1.05 var(--serif); letter-spacing:-.015em; color:#F4EFE1;}
.story-endcta p{margin-top:10px; font:300 15.5px/1.6 var(--sans); color:rgba(244,239,225,.76);}
.btn-rust{--bg:#C0552A; --fg:#F4EFE1; --bd:#C0552A;}
.btn-rust:hover{--bg:#A9481F; --bd:#A9481F;}
@media (max-width:640px){ .story-endcta{grid-template-columns:minmax(0, 1fr);} .story-endcta .btn{width:100%;} }
.story-faq{margin-top:clamp(56px, 7vw, 84px);}
.story-faq h2{margin-top:0;}
.story-faq .qa summary{font-size:clamp(19px, 1.8vw, 23px);}
.story-sources{margin-top:clamp(48px, 6vw, 64px); padding-top:28px; border-top:1px solid var(--line-2);}
.story-sources h3{font:500 11px/1 var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:16px;}
.story-sources ol{margin:0; padding-left:20px; display:flex; flex-direction:column; gap:12px;}
.story-sources li{font:300 14.5px/1.6 var(--sans); color:var(--muted);}
.story-sources li::marker{font:500 12px var(--mono); color:var(--brass-ink);}
.story-sources a{color:var(--head);}
.story-disclaimer{margin-top:28px; font:400 12.5px/1.65 var(--mono); color:var(--faint);}
.story-foot-space{height:clamp(72px, 9vw, 128px);}
.js .story-head [data-story-in]{--rise:26px; animation:bw-rise 1.3s var(--ease-out) .25s backwards;}
.js .story-head .story-title{animation-delay:.3s;}
.js .story-head .twin-rules{animation-delay:.34s;}
.js .story-head .twin-rules i{transform-origin:left center; animation:bw-draw 1.2s var(--ease-io) .6s backwards;}
.js .story-head .twin-rules i + i{animation-delay:.74s;}
.js .story-head .story-meta{animation-delay:.43s;}
.js .story-lead{animation:bw-slide 1.3s var(--ease-out) .5s backwards;}
.js .story-lead .frame{animation:story-open 1.8s var(--ease-out) .45s backwards;}
@keyframes story-open{from{clip-path:inset(6% 8% 6% 8% round var(--r-tile));}}
@media (max-width:600px){ @keyframes story-open{from{clip-path:inset(6% 8% 6% 8% round 18px);}} }
