/* DFM CANADA · V15 — V14 visual foundation with working public tools */

/* ============ NAV ============ */
.nav{position:sticky;top:0;z-index:60;background:rgba(250,251,249,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline)}
.nav__row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px}
.nav__brand{display:flex;align-items:baseline;gap:9px;font-weight:700;font-size:19px;letter-spacing:var(--track-tight)}
.nav__brand small{font-family:var(--mono);font-size:10px;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--blue);font-weight:600}
.nav__links{display:flex;gap:28px}
.nav__links a{font-size:14px;font-weight:500;color:var(--ink-soft)}
.nav__links a:hover{color:var(--ink)}
.nav__cta{padding:11px 22px;font-size:14px}
.nav-toggle{display:none}

/* ============ HERO (spade centered panel + rulers) ============ */
.hero{position:relative;padding:0 clamp(8px,2vw,28px)}
.ruler{position:absolute;top:0;bottom:0;width:24px;background:repeating-linear-gradient(to bottom,#c6d2c9 0 1px,transparent 1px 26px)}
.ruler--l{left:0}.ruler--r{right:0}
.hero__panel{position:relative;background:var(--tint);border-radius:var(--r-lg);text-align:center;padding:clamp(64px,9vw,116px) 24px clamp(48px,7vw,80px)}
.hero__h{font-weight:700;font-size:var(--fs-super);line-height:1.02;letter-spacing:var(--track-tight);margin:18px auto 22px;max-width:16ch}
.hero__h .hl{color:var(--blue)}
.hero__sub{max-width:58ch;margin:0 auto 30px;color:var(--ink-soft);font-size:16.5px;line-height:1.65}
.hero__sub strong{color:var(--ink)}
.hero__ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero__note{margin-top:20px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-3)}

/* ============ PAYMENT GATEWAY STORY ============ */
.gateway-story{padding:0 clamp(8px,2vw,28px);background:var(--bg-alt)}
.gateway-field{position:relative;min-height:clamp(620px,62vw,820px);overflow:hidden;isolation:isolate;background:#17212b;color:#f4f7f8;clip-path:polygon(0 0,98.5% 0,100% 3.5%,100% 96.5%,98.5% 100%,1.5% 100%,0 96.5%,0 3.5%)}
.gateway-grid{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(154,178,198,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(154,178,198,.045) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent)}
.gateway-field::before{content:"";position:absolute;inset:5% 3%;z-index:-1;border:1px solid rgba(196,214,226,.13);clip-path:polygon(0 0,99% 0,100% 3%,100% 97%,99% 100%,0 100%)}
.gateway-copy{position:absolute;z-index:3;left:50%;top:50%;width:min(850px,68vw);transform:translate(-50%,-50%);text-align:center}
.gateway-kicker{display:block;margin-bottom:22px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#97cf62}
.gateway-copy h2{margin:0 auto;font-size:clamp(38px,5.1vw,76px);font-weight:650;line-height:1.03;letter-spacing:var(--track-tight);max-width:18ch}
.gateway-copy h2 span{color:#9ee967}
.gateway-copy p{max-width:65ch;margin:28px auto 0;color:#b6c3cd;font-size:14px;line-height:1.7}
.gateway-node{position:absolute;z-index:1;width:clamp(180px,17vw,270px);min-height:74px;padding:17px 20px;border:1px solid rgba(181,203,218,.2);background:rgba(23,33,43,.82);font-family:var(--mono);clip-path:polygon(0 0,96% 0,100% 14%,100% 100%,4% 100%,0 86%)}
.gateway-node::before{content:"";display:inline-block;width:0;height:0;margin-right:8px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:7px solid #96dc5f}
.gateway-node span{font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8497a6}
.gateway-node b{display:block;margin-top:8px;font-size:12px;font-weight:500;letter-spacing:.04em;color:#c0cdd5}
.gateway-node small{display:block;margin-top:5px;font-size:8px;color:#748793}
.gateway-node--channel{left:8%;top:14%}.gateway-node--terminal{right:9%;top:15%}.gateway-node--request{left:5%;bottom:14%}.gateway-node--processor{right:5%;bottom:13%}.gateway-node--issuer{left:63%;top:6%}.gateway-node--return{display:none}
.gateway-transaction{position:absolute;z-index:4;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;width:clamp(300px,31vw,460px);padding:12px 16px;border:1.5px solid rgba(233,240,244,.88);border-radius:7px;background:#1e2b36;box-shadow:0 16px 38px rgba(2,8,13,.28);font-family:var(--mono)}
.gateway-transaction--in{left:34%;top:10%}.gateway-transaction--out{right:18%;bottom:10%}
.gateway-transaction b{display:block;font-size:12px;letter-spacing:.03em}.gateway-transaction small{display:block;margin-top:3px;font-size:9px;color:#b9c6cf}.gateway-transaction strong{font-size:13px;letter-spacing:0;color:#f4f7f8}
.gateway-card-icon,.gateway-status-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:5px;background:#a4ed69;color:#17212b;font-weight:800}
.gateway-card-icon::before{content:"";width:20px;height:14px;border:2px solid currentColor;border-radius:2px;box-shadow:inset 0 4px 0 currentColor}
.gateway-status-icon{font-family:var(--body);font-size:18px}
.gateway-route{position:absolute;z-index:2;left:50%;bottom:8%;display:flex;align-items:center;gap:11px;transform:translateX(-50%);white-space:nowrap;font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#9aacb8}
.gateway-route i{display:block;width:26px;height:1px;background:#708795;position:relative}.gateway-route i::after{content:"";position:absolute;right:-1px;top:-3px;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;border-left:6px solid #708795}
.gateway-disclosure{position:absolute;left:50%;bottom:3.2%;transform:translateX(-50%);white-space:nowrap;font-family:var(--mono);font-size:8px;letter-spacing:.05em;color:#71838e}

/* Scene movement only starts when the visual is in view. */
.visual-scene .scene-flow{stroke-dasharray:7 11;animation:scene-flow 1.8s linear infinite;animation-play-state:paused}
.visual-scene.is-active .scene-flow{animation-play-state:running}
.visual-scene.is-active .gateway-node--channel{animation:scene-float 4.2s ease-in-out infinite}
.visual-scene.is-active .gateway-node--terminal{animation:scene-float 4.8s ease-in-out .3s infinite}
.visual-scene.is-active .gateway-node--request{animation:scene-float 4.4s ease-in-out .6s infinite}
.visual-scene.is-active .gateway-node--processor{animation:scene-float 5s ease-in-out .9s infinite}
.visual-scene.is-active .gateway-transaction--in{animation:gateway-drift 5.2s ease-in-out infinite}
.visual-scene.is-active .gateway-transaction--out{animation:gateway-drift 5.8s ease-in-out .5s infinite reverse}
@keyframes scene-flow{to{stroke-dashoffset:-36}}
@keyframes scene-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes gateway-drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(8px,-5px,0)}}
@media (prefers-reduced-motion:reduce){.visual-scene *{animation:none!important}}

/* ============ WHO-FOR INDEX ============ */
.who{padding:clamp(48px,7vw,84px) 0}
.who__note{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);margin-bottom:28px}
.who__list{display:flex;flex-wrap:wrap;gap:12px 6px;justify-content:center;align-items:center}
.who__list span{font-weight:600;font-size:clamp(17px,2vw,23px);letter-spacing:var(--track-tight);padding:4px 8px}
.who__list .sep{color:var(--blue);font-size:14px}

/* ============ SCOPE (varied: sticky head + definition list, NOT card grid) ============ */
.scope{padding:0 0 clamp(72px,10vw,120px)}
.scope__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,80px);align-items:start}
.scope__head{position:sticky;top:96px}
.scope__h{font-weight:700;font-size:var(--fs-h2);letter-spacing:var(--track-tight);line-height:1.06;margin:14px 0 0}
.scope__list{border-top:2px solid var(--ink)}
.scope__item{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--hairline)}
.scope__item .ix{font-family:var(--mono);font-size:12px;color:var(--blue);font-weight:600;padding-top:4px}
.scope__item h3{font-size:17px;font-weight:600;margin:0 0 6px}
.scope__item p{font-size:14px;color:var(--ink-soft);line-height:1.6;margin:0}

/* ============ HOW (charcoal band, vertical timeline) ============ */
.how{background:#1d1f23;color:#f3f5f4;padding:clamp(72px,10vw,130px) 0}
.how .eyebrow{color:var(--mint)}.how .eyebrow::before{background:var(--mint)}
.how__h{font-weight:700;font-size:var(--fs-h2);letter-spacing:var(--track-tight);line-height:1.06;margin:14px 0 clamp(40px,6vw,64px);max-width:22ch}
.how__layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(44px,7vw,100px);align-items:center}
.timeline{position:relative;margin-left:8px;border-left:2px solid #3d464b;padding-left:36px;display:flex;flex-direction:column;gap:38px}
.tstep{position:relative}
.tstep::before{content:"";position:absolute;left:-43px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px rgba(61,220,151,.18)}
.tstep .n{font-family:var(--mono);font-size:12px;color:var(--mint);letter-spacing:var(--track-label)}
.tstep h3{font-size:18px;font-weight:600;margin:8px 0 8px}
.tstep p{font-size:14px;color:#a7afb2;line-height:1.6;margin:0;max-width:56ch}
.how__foot{margin-top:44px;font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:#899397}
.terminal-visual{position:relative;min-width:0;aspect-ratio:1/1;border-block:1px solid #3d464b;overflow:hidden;background:radial-gradient(circle at 55% 44%,rgba(74,89,96,.18),transparent 48%)}
.terminal-wiring{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;overflow:visible}
.terminal-wire{fill:none;stroke:#3ddc97;stroke-width:1.65;opacity:.78}
.terminal-wiring circle{fill:#3ddc97}
.terminal-data{position:absolute;z-index:4;width:clamp(132px,19vw,190px);padding:14px 16px;border:1px solid #566268;background:rgba(29,31,35,.9);font-family:var(--mono);clip-path:polygon(0 0,94% 0,100% 14%,100% 100%,6% 100%,0 86%)}
.terminal-data span{display:block;color:#7f8c91;font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.terminal-data strong{display:block;margin-top:7px;color:#eef3f1;font-size:12px;font-weight:600;letter-spacing:.06em}
.terminal-data--method{left:2%;top:18%}.terminal-data--status{right:1%;top:37%}.terminal-data--amount{left:4%;bottom:15%}
.terminal-data--amount strong{font-family:var(--body);font-size:24px;letter-spacing:0;color:var(--mint)}
.terminal3d{position:absolute;z-index:2;left:53%;top:50%;width:43%;height:70%;transform:translate(-50%,-50%);perspective:1300px}
.terminal3d__inner{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(7deg) rotateY(-20deg) rotateZ(-5deg);will-change:transform}
.terminal-layer{position:absolute;inset:0;opacity:.46}
.terminal-layer--face{opacity:1}
.terminal-layer svg{display:block;width:100%;height:100%;overflow:visible}
.terminal-layer svg *{fill:none;stroke:#718086;stroke-width:.78;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.terminal-layer--face svg .terminal-shell{fill:rgba(23,27,30,.72);stroke:#d5dfe0;stroke-width:1.55}
.terminal-layer--face svg .terminal-top{fill:rgba(42,48,51,.46);stroke:#87959a;stroke-width:1}
.terminal-layer--face svg .terminal-speaker{stroke:#9aa7ab;stroke-width:2}.terminal-layer--face svg .terminal-led{fill:var(--mint);stroke:none}
.terminal-layer--face svg .terminal-screen{fill:#151a1d;stroke:#91a3a8;stroke-width:1.25}
.terminal-layer--face svg .terminal-screen-inner{fill:rgba(24,35,34,.5);stroke:var(--mint);stroke-width:1.15}
.terminal-layer--face svg .terminal-dollar-glyph{fill:var(--mint);stroke:none;font:500 112px var(--body)}
.terminal-layer--face svg .terminal-tap-mark,.terminal-layer--face svg .terminal-ok-key{stroke:var(--mint);stroke-width:1.7}
.terminal-layer--face svg .terminal-screen-note{fill:#96a3a7;stroke:none;font:600 9px var(--mono);letter-spacing:.16em}
.terminal-layer--face svg .terminal-scan-line{stroke:var(--mint);stroke-width:6;opacity:.1}
.terminal-layer--face svg .terminal-keypad-frame{fill:rgba(32,38,41,.34);stroke:#67757a}
.terminal-layer--face svg .terminal-key rect{fill:rgba(52,60,64,.34);stroke:#829197;stroke-width:.9}
.terminal-layer--face svg .terminal-ok-key rect{fill:rgba(61,220,151,.1)}
.terminal-layer--face svg .terminal-card-slot{stroke:#9aa7ab;stroke-width:2}
.terminal-visual.is-active .terminal3d{animation:terminal-bob 5.8s ease-in-out infinite alternate}
.terminal-visual.is-active .terminal-layer--face .terminal-scan-line{animation:terminal-scan-line 3s ease-in-out infinite}
.terminal-visual.is-active .terminal-data--method{animation:scene-float 4.4s ease-in-out infinite}.terminal-visual.is-active .terminal-data--status{animation:scene-float 4.9s ease-in-out .4s infinite}.terminal-visual.is-active .terminal-data--amount{animation:scene-float 5.2s ease-in-out .8s infinite}
.terminal-caption{position:absolute;z-index:4;left:50%;bottom:3%;transform:translateX(-50%);margin:0;white-space:nowrap;color:#737f83;font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase}
@keyframes terminal-bob{from{transform:translate(-50%,-51%)}to{transform:translate(-50%,-48.5%)}}
@keyframes terminal-scan-line{0%,100%{transform:translateY(-70px);opacity:0}18%,72%{opacity:.16}78%{transform:translateY(105px);opacity:0}}

/* ============ FEE CHECKER + RECONCILED EXAMPLE ============ */
.fee{padding:clamp(72px,10vw,130px) 0}
.fee__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,80px);align-items:start}
.fee__h{font-weight:700;font-size:var(--fs-h2);letter-spacing:var(--track-tight);line-height:1.06;margin:14px 0 16px}
.fee__p{color:var(--ink-soft);line-height:1.65;margin:0 0 16px}
.fee__p strong{color:var(--ink)}
.fee__disc{font-family:var(--mono);font-size:11px;color:var(--ink-3);line-height:1.6;border-left:2px solid var(--warn);padding-left:12px;margin:0 0 22px}
.fee-calc{margin:26px 0 20px;padding:22px;background:var(--bg-alt);border:1px solid var(--hairline);border-radius:var(--r);box-shadow:var(--shadow-md)}
.fee-calc__fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.calc-field{display:flex;flex-direction:column;gap:7px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.calc-field:last-child{grid-column:1 / -1}
.calc-field input{width:100%;min-width:0;border:1px solid var(--hairline);border-radius:6px;background:#fff;color:var(--ink);font-family:var(--body);font-size:16px;letter-spacing:0;padding:11px 12px;text-transform:none;font-variant-numeric:tabular-nums}
.calc-field input:focus{border-color:var(--blue);outline:2px solid rgba(18,165,119,.16);outline-offset:0}
.money-input{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid var(--hairline);border-radius:6px;background:#fff;padding-left:12px;color:var(--ink);font-family:var(--body);font-size:16px;letter-spacing:0}
.money-input:focus-within{border-color:var(--blue);outline:2px solid rgba(18,165,119,.16)}
.money-input input{border:0;outline:0!important;padding-left:5px}
.fee-calc__result{margin-top:18px;border-top:1px solid var(--hairline);padding-top:10px}
.fee-calc__result div{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--hairline);font-size:13px;color:var(--ink-soft)}
.fee-calc__result output{font-family:var(--mono);font-weight:600;color:var(--ink);font-size:14px}
.fee-calc__result div:first-child output{font-family:var(--body);font-size:28px;color:var(--blue);font-weight:700}
.fee-calc__formula{font-family:var(--mono);font-size:10px;color:var(--ink-3);margin:12px 0 0;line-height:1.5}
.fee-calc__error{min-height:1.5em;margin:8px 0 0;color:var(--warn);font-size:12px}
.statement-visual{position:relative;margin:0 0 22px;background:#eef5f0;clip-path:polygon(0 0,96% 0,100% 8%,100% 100%,4% 100%,0 92%);overflow:hidden}
.statement-visual svg{display:block;width:100%;height:auto}
.statement-paper path{stroke:#cad8cf;stroke-width:1.5}
.statement-paper--back path{fill:#cbded2}
.statement-paper--front path{fill:#fff}
.statement-paper text{font-size:11px;font-weight:600;fill:#0d2b21}
.paper-rule{stroke:#cad8cf;stroke-width:1}
.fee-layer rect{fill:#dcebe2}
.fee-layer text{font-size:8px;fill:#315449;letter-spacing:.06em}
.fee-layer--3 rect{fill:#b8dfcd}.fee-layer--4 rect{fill:#f0cfaa}
.rate-badge path{fill:#0d2b21}
.rate-badge text{font-size:9px;fill:#9db4a8}
.rate-badge .rate-value{font-family:var(--body);font-size:32px;font-weight:700;letter-spacing:0;fill:#3ddc97}
.rate-badge .rate-note{font-size:8px;letter-spacing:.04em}
.statement-link{stroke:#d98a3c;stroke-width:2}
.statement-visual__caption{padding:0 26px 22px;color:#557068;font-family:var(--mono);font-size:9px;line-height:1.6;letter-spacing:.05em;text-transform:uppercase}
.visual-scene.is-active .fee-layer{animation:fee-layer 3.6s var(--ease) infinite;transform-origin:center}
.visual-scene.is-active .fee-layer--2{animation-delay:.18s}.visual-scene.is-active .fee-layer--3{animation-delay:.36s}.visual-scene.is-active .fee-layer--4{animation-delay:.54s}
@keyframes fee-layer{0%,100%{transform:translateX(0)}50%{transform:translateX(9px)}}
.stmt{background:var(--bg-alt);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow:hidden}
.stmt__head{display:flex;justify-content:space-between;gap:16px;padding:15px 24px;border-bottom:1px solid var(--hairline);background:var(--bg);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.stmt__lines{padding:8px 24px}
.sline{display:grid;grid-template-columns:1fr auto;gap:14px;padding:12px 0;border-bottom:1px solid var(--hairline);font-size:14px}
.sline small{display:block;color:var(--ink-3);font-size:11px}
.sline .v{font-weight:600;font-family:var(--mono);font-size:13px}
.sline .v.neg{color:var(--warn)}
.sline--base{background:var(--tint);margin:0 -24px;padding:14px 24px}
.sline--t{border-top:2px solid var(--ink);border-bottom:none;margin-top:4px;padding-top:15px}
.sline--t .v{font-size:16px;color:var(--blue)}
.stmt__foot{padding:13px 24px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-top:1px solid var(--hairline)}

/* ============ TRUST (calm inline row, NOT cards) ============ */
.trust{background:var(--bg-alt);border-block:1px solid var(--hairline);padding:clamp(40px,6vw,64px) 0}
.trust__row{display:flex;flex-wrap:wrap;gap:14px 0;justify-content:space-between}
.titem{flex:1 1 180px;padding:0 22px;border-left:1px solid var(--hairline)}
.titem:first-child{border-left:none}
.titem h4{font-size:14px;font-weight:600;margin:0 0 6px}
.titem h4::before{content:"✓ ";color:var(--blue)}
.titem p{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin:0}

/* ============ FAQ (stacked list, NOT equal cards) ============ */
.faq{padding:clamp(72px,10vw,120px) 0}
.faq__list{border-top:2px solid var(--ink);max-width:860px}
.faq__item{padding:24px 0;border-bottom:1px solid var(--hairline)}
.faq__item h3{font-size:17px;font-weight:600;margin:0 0 8px}
.faq__item p{font-size:14px;color:var(--ink-soft);line-height:1.65;margin:0;max-width:70ch}
.faq__more{margin-top:26px}

/* ============ CTA ============ */
.cta{background:var(--dark-2);color:var(--dark-ink);padding:clamp(72px,10vw,130px) 0;text-align:center;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:auto -20% -70% -20%;height:100%;background:radial-gradient(closest-side,rgba(18,165,119,.22),transparent 70%)}
.cta .wrap{position:relative}
.cta__h{font-weight:700;font-size:var(--fs-h1);letter-spacing:var(--track-tight);line-height:1.05;max-width:18ch;margin:16px auto 20px}
.cta__sub{color:var(--dark-soft);max-width:52ch;margin:0 auto 34px;line-height:1.65}
.cta__row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============ FOOT ============ */
.foot{background:var(--bg-alt);border-top:1px solid var(--hairline);padding:clamp(48px,7vw,80px) 0 32px}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;margin-bottom:40px}
.foot__brand{font-weight:700;font-size:21px;letter-spacing:var(--track-tight)}
.foot__brand span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--blue);margin-top:6px}
.foot h5{font-family:var(--mono);font-size:11px;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);margin:0 0 14px}
.foot__col a{display:block;font-size:14px;color:var(--ink-soft);padding-block:6px}
.foot__col a:hover{color:var(--ink)}
.foot__legal{border-top:1px solid var(--hairline);padding-top:22px;font-size:12px;color:var(--ink-3);line-height:1.7;max-width:92ch}
.foot__legal a{color:inherit}

/* ============ PROSE ============ */
.prose{max-width:70ch;margin-inline:auto;padding:calc(70px + clamp(48px,7vw,88px)) 0 clamp(72px,9vw,120px)}
.prose .eyebrow{margin-bottom:18px}
.prose h1{font-weight:700;font-size:var(--fs-h1);letter-spacing:var(--track-tight);line-height:1.05;margin:0 0 16px}
.prose .lede{font-size:16.5px;color:var(--ink-soft);line-height:1.65;margin:0 0 12px}
.prose .meta{font-family:var(--mono);font-size:11px;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--hairline)}
.prose h2{font-weight:700;font-size:var(--fs-h3);letter-spacing:var(--track-tight);margin:44px 0 14px}
.prose p{margin:0 0 18px;line-height:1.75;color:var(--ink-soft)}
.prose strong{color:var(--ink)}
.prose a{color:var(--blue-deep)}
.prose ul{margin:0 0 20px;padding-left:1.2em;color:var(--ink-soft)}
.prose li{margin-bottom:10px;line-height:1.65}
.prose li::marker{color:var(--blue)}
.prose .callout{border-left:3px solid var(--blue);background:var(--tint);padding:18px 22px;margin:26px 0;border-radius:0 12px 12px 0;color:var(--ink-soft)}
.prose .back{display:inline-block;margin-top:40px;font-weight:600;color:var(--blue-deep)}

/* 404 */
.err{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding-top:70px}
.err .big{font-weight:700;font-size:var(--fs-num);color:var(--blue)}
.err h1{font-weight:700;font-size:var(--fs-h2);margin:10px 0}
.err p{color:var(--ink-soft);max-width:44ch}

/* ============ RESPONSIVE ============ */
@media (max-width:1000px){
  .scope__grid{grid-template-columns:1fr}
  .scope__head{position:static}
  .how__layout{grid-template-columns:1fr}
  .terminal-visual{max-width:720px;margin:12px auto 0;width:100%}
  .fee__grid{grid-template-columns:1fr}
  .titem{border-left:none;flex-basis:46%}
  .foot__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  .nav__links{display:none}
  .nav-toggle{display:inline-flex;width:42px;height:42px;border:1px solid var(--hairline);background:#fff;border-radius:10px;align-items:center;justify-content:center}
  .ruler{display:none}
  .gateway-story{padding-inline:0}
  .gateway-field{min-height:780px;clip-path:none}
  .gateway-field::before{inset:14px}
  .gateway-copy{top:38%;width:calc(100% - 42px)}
  .gateway-copy h2{font-size:clamp(35px,10vw,54px);max-width:15ch}
  .gateway-copy p{font-size:13px;max-width:38ch}
  .gateway-node{display:none}
  .gateway-transaction{grid-template-columns:34px minmax(0,1fr) auto;width:calc(100% - 36px);padding:10px 12px}
  .gateway-transaction--in{left:18px;top:auto;bottom:136px}.gateway-transaction--out{right:18px;bottom:72px}
  .gateway-card-icon,.gateway-status-icon{width:32px;height:32px}.gateway-card-icon::before{width:17px;height:12px}
  .gateway-transaction b{font-size:10px}.gateway-transaction strong{font-size:10px}
  .gateway-route{bottom:30px;gap:7px;font-size:6px}.gateway-route i{width:10px}
  .gateway-disclosure{display:none}
  .terminal-visual{margin-inline:-8px;width:calc(100% + 16px)}
  .statement-visual{margin-top:8px}
  .titem{flex-basis:100%}
  .foot__grid{grid-template-columns:1fr}
  .fee-calc{padding:18px}
  .fee-calc__fields{grid-template-columns:1fr}
  .calc-field:last-child{grid-column:auto}
}
.mnav{position:fixed;inset:70px 0 auto 0;background:var(--bg);border-bottom:1px solid var(--hairline);z-index:59;display:none;flex-direction:column;padding:8px 24px 16px}
.mnav.is-open{display:flex}
.mnav a{padding:14px 0;border-bottom:1px solid var(--hairline);font-size:15px}
.mnav a:last-child{border-bottom:none;color:var(--blue-deep);font-weight:600}
