/* Mobile-first hardening for iOS Safari and Android Chrome */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(88px + env(safe-area-inset-top,0px))}
body{min-width:0;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #7f97ff;outline-offset:3px}.site-header :focus-visible,footer :focus-visible{outline-color:var(--lime)}
.operator-strip{background:#e7eae3;border-bottom:1px solid var(--line)}.operator-strip .shell{min-height:62px;display:flex;align-items:center;gap:18px}.operator-strip small{font-size:9px;font-weight:850;letter-spacing:1.7px;color:#697270}.operator-strip b{font-size:14px;letter-spacing:-.2px}.operator-strip span{margin-left:auto;font-size:12px;color:#697270}.footer-contact{font-size:13px;overflow-wrap:anywhere}
.brand,.button,.nav-cta,.card-copy button,.footer-grid a:not(.brand){min-height:44px}
.story-layout,.story-copy,.story-stage,.exchange-grid>*,.risk-grid>*,.article-card{min-width:0}
.order-visual{translate:0 var(--exchange-shift,0px)}
.site-header{padding-top:env(safe-area-inset-top,0px);-webkit-backdrop-filter:blur(18px)}
footer{padding-bottom:max(25px,env(safe-area-inset-bottom,0px))}
dialog{max-height:86vh;max-height:86dvh}
.close{width:44px;height:44px;display:grid;place-items:center;padding:0}

@media(max-width:620px){
  .shell{width:calc(100% - 28px)}
  .site-header{background:#09100ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .nav{height:64px;gap:14px}.brand{font-size:15px}.brand-mark{width:36px;height:36px}.menu{flex:0 0 44px;border-radius:50%}
  .nav nav{top:calc(64px + env(safe-area-inset-top,0px));max-height:calc(100dvh - 64px - env(safe-area-inset-top,0px));overflow-y:auto;padding:12px max(14px,env(safe-area-inset-right,0px)) max(18px,env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));gap:0;border-top:1px solid #ffffff1c;box-shadow:0 26px 55px #0008}
  .nav nav a{min-height:50px;display:flex;align-items:center;padding:0 14px;border-bottom:1px solid #ffffff14;font-size:15px}
  .scroll-progress{bottom:0}
  .hero{min-height:100svh;min-height:100dvh;padding-top:calc(64px + env(safe-area-inset-top,0px));padding-bottom:max(28px,env(safe-area-inset-bottom,0px));align-items:center}
  .hero-content{padding-top:18px}.hero-art{object-position:64% center;transform:translate3d(0,var(--hero-shift-px,0px),0) scale(1.1)}
  .hero-shade{background:linear-gradient(90deg,#07100ff4 0%,#07100fd0 62%,#07100f70),linear-gradient(0deg,#07100f 0%,transparent 38%)}
  .eyebrow{font-size:10px;letter-spacing:1.7px}.hero h1{font-size:clamp(39px,11.5vw,48px);line-height:.94;margin:18px 0 21px;letter-spacing:-.055em}
  .hero-lead{font-size:16px;line-height:1.48}.hero-actions{margin-top:24px;gap:10px}.button{min-height:52px;padding:13px 19px}.hero-note{font-size:11px;line-height:1.4;margin-top:17px}
  .notice .shell{padding-top:18px;padding-bottom:18px}.notice p{font-size:13px;line-height:1.5}
  .operator-strip .shell{min-height:0;padding:15px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px}.operator-strip small{grid-column:1/-1}.operator-strip b{font-size:13px}.operator-strip span{margin-left:0;font-size:11px;text-align:right}
  .section{padding:72px 0}.section h2,.source h2{font-size:clamp(34px,10.3vw,42px);line-height:1.04}.section-intro{margin-bottom:36px}.section-intro>p:last-child{font-size:17px}.kicker{font-size:10px;letter-spacing:1.8px;margin-bottom:12px}
  .topic{min-height:0;padding:22px}.topic-icon{height:122px}.topic>p{margin:20px 0 5px}.topic h3{font-size:24px}.topic-icon svg{height:118px}
  .scroll-story{height:300svh;height:300dvh}.story-sticky{top:calc(64px + env(safe-area-inset-top,0px));height:calc(100svh - 64px - env(safe-area-inset-top,0px));height:calc(100dvh - 64px - env(safe-area-inset-top,0px));padding:24px 0 max(18px,env(safe-area-inset-bottom,0px));align-items:stretch}
  .story-layout{height:100%;grid-template-rows:auto minmax(220px,1fr);align-content:center;gap:10px}.story-copy h2{font-size:clamp(30px,8.8vw,35px);line-height:1.02;margin-bottom:13px}
  .story-steps{height:124px}.story-steps article{visibility:hidden;transition:opacity .24s,transform .24s}.story-steps article.active{visibility:visible}.story-steps h3{font-size:20px;margin:8px 0 6px}.story-steps p{font-size:13px;line-height:1.45}
  .story-stage{min-height:220px;height:min(36svh,300px);height:min(36dvh,300px);max-height:300px;border-radius:12px;box-shadow:0 24px 60px #0007}
  .story-stage svg{inset:-2% 8% 0;width:84%;height:82%}.stage-label{left:14px;right:14px;bottom:10px;gap:8px;padding-top:9px}.stage-label span{font-size:8px}.stage-label strong{font-size:10px}
  .exchange-grid{gap:38px}.exchange h2{font-size:clamp(35px,10vw,44px)}.exchange-grid>div>p:not(.kicker){font-size:16px}.order-visual{padding:15px;box-shadow:0 24px 60px #0007}.visual-top{gap:10px}.visual-top i{text-align:right}.orders{padding:20px 0}.orders i{height:18px}.match{font-size:8px;letter-spacing:1.3px}
  .featured .card-visual,.card-visual{height:230px}.card-copy{padding:22px}.featured h3,.card-copy h3{font-size:25px}.card-copy button{display:inline-flex;align-items:center;padding:8px 0}
  .risk-orbit{width:100%;min-height:340px;margin:0;overflow:hidden;overflow:clip}.core{width:138px;height:138px}.risk-orbit:before{width:min(84vw,330px);height:min(84vw,330px)}.risk-orbit:after{width:min(56vw,220px);height:min(56vw,220px)}
  .security-grid article{padding:26px}.security-grid h3{font-size:23px}
  .marquee span{font-size:29px;margin-right:42px;gap:12px}.marquee i{font-size:11px}.glossary{padding:52px 0}
  .source{padding:68px 0}.source-grid{gap:24px}dl div{grid-template-columns:1fr;gap:4px;padding:14px 0}
  footer{padding-top:55px}.footer-grid{gap:34px 20px}.footer-grid a:not(.brand){display:flex;align-items:center}.footer-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}
  dialog{width:calc(100% - 20px);max-width:none;max-height:calc(100svh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:58px 20px max(24px,env(safe-area-inset-bottom,0px));margin:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}
  dialog h2{font-size:clamp(30px,9vw,36px);letter-spacing:-1.5px}.close{top:8px;right:8px}dialog aside{padding:17px;margin-top:22px}
  .hero-art,.order-visual{will-change:auto}
}

@media(max-width:620px) and (max-height:740px){
  .story-sticky{padding-top:14px;padding-bottom:12px}.story-layout{grid-template-rows:auto minmax(205px,1fr);gap:6px}.story-copy .kicker{margin-bottom:7px}.story-copy h2{font-size:28px;margin-bottom:8px}.story-steps{height:105px}.story-steps h3{font-size:18px;margin:6px 0 4px}.story-steps p{font-size:12px;line-height:1.35}.story-stage{min-height:205px;height:min(34svh,235px);height:min(34dvh,235px)}
}

@media(max-width:359px){
  .shell{width:calc(100% - 22px)}.brand small{letter-spacing:2.2px}.hero h1{font-size:36px}.hero-lead{font-size:15px}
  .story-copy h2{font-size:28px}.story-steps{height:118px}.story-stage{min-height:210px}.section h2,.source h2{font-size:32px}
  .footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}
}

@media(max-width:900px) and (orientation:landscape) and (max-height:520px){
  .hero{min-height:auto;padding-top:calc(88px + env(safe-area-inset-top,0px));padding-bottom:38px}.hero-content{padding-top:0}.hero h1{font-size:46px;max-width:640px}
  .hero-actions{flex-direction:row;width:auto}.button{width:auto}.scroll-story{height:auto;padding:68px 0}.story-sticky{position:static;height:auto;padding:0;overflow:visible}
  .story-layout{grid-template-columns:.9fr 1.1fr;grid-template-rows:auto;gap:28px}.story-steps{height:auto}.story-steps article{position:static;opacity:1;transform:none;margin:22px 0;pointer-events:auto}
  .story-stage{height:330px;max-height:none;position:sticky;top:calc(76px + env(safe-area-inset-top,0px))}
}

@media(hover:none) and (pointer:coarse){
  .topic:hover{transform:none;background:#e8eae4}.article-card:hover .card-visual:after{transform:translateX(-45%)}.card-copy button:active,.button:active{transform:scale(.985)}
}
