.ftf-hero{padding:clamp(9rem,15vw,12rem) 0 clamp(4rem,8vh,6rem);min-height:auto}.ftf-hero__layout{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(2.5rem,7vw,7rem);align-items:center}.ftf-hero__title{font-size:clamp(3rem,6.5vw,5.6rem);line-height:1.03}.ftf-hero .hero__sub{max-width:36rem;margin:1.5rem 0 1.75rem}.ftf-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.ftf-hero__actions .hero__cta{margin:0}.ftf-hero__byline{margin-top:1.4rem;font-size:var(--text-sm);color:var(--muted-on-dark)}.pcard__tag--dark{color:var(--teal-light)}.h3--on-dark{color:var(--paper-warm)}.ftf-example{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}.ftf-example__card.vproof{padding:clamp(1.4rem,3vw,2rem);min-width:0}.ftf-example__card .h3{color:var(--paper-warm);margin-bottom:.8rem}.ftf-dl{margin:1.2rem 0 1.5rem;font-size:var(--text-sm);color:var(--body-on-dark)}.ftf-dl>div{display:grid;grid-template-columns:4.5rem 1fr;gap:.5rem;padding:.7rem 0;border-top:1px solid var(--line-on-dark)}.ftf-dl dt{font-weight:600;color:var(--teal-light)}.ftf-dl dd{margin:0}.ftf-example__fine{margin:1rem 0 0;font-size:var(--text-xs);color:var(--muted-on-dark)}.ftf-example__aside p{color:var(--body-on-dark)}.ftf-example__aside .h3{margin-bottom:.8rem}.ftf-journey{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2.4vw,1.8rem)}.ftf-journey .vproof{min-width:0}.ftf-journey .h3{color:var(--title-on-light);margin-bottom:.6rem}.ftf-journey p:last-child{margin:0;color:var(--body-on-light)}.ftf-journey__learning .pcard__tag{color:var(--gold-on-light)}.ftf-note{margin:clamp(1.75rem,3.5vw,2.5rem) 0 0;max-width:72ch;color:var(--body-on-light)}.ftf-form__intro{margin-top:.8rem;color:var(--body-on-light)}.con-aside .btn{margin-top:.2rem}.ftf-page .con-aside .con-aside__links+.h3,.ftf-page .con-aside .plist+.h3{margin-top:2.4rem}.ftf-download{display:inline-flex;align-items:center;gap:.6rem}.ftf-download svg{flex:none}.ftf-run{margin:1.4rem 0 0}.ftf-run__steps{list-style:none;margin:0;padding:0;position:relative}.ftf-run__step{position:relative;padding:.15rem 0 1.35rem 2.1rem;margin:0;border-left:1px solid var(--line-on-dark);margin-left:.55rem;transition:opacity .35s ease,border-color .35s ease}.ftf-run__step:last-child{padding-bottom:0;border-left-color:transparent}.ftf-run__step:before{content:"";position:absolute;left:-.5rem;top:.3rem;width:.95rem;height:.95rem;box-sizing:border-box;border-radius:50%;border:1.5px solid var(--teal-light);background:var(--ink, #0a1a28);transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}.ftf-run__step--gate:before{border-radius:3px;border-color:var(--gold)}.ftf-run__kicker{margin:0 0 .2rem;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--teal-light)}.ftf-run__step--gate .ftf-run__kicker{color:var(--gold)}.ftf-run__text{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--paper-warm)}.ftf-run__chip{display:inline-block;margin:.5rem 0 0;padding:.2rem .6rem;border:1px solid var(--line-on-dark);border-radius:999px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--body-on-dark)}.ftf-run del,.ftf-run ins,.ftf-run mark{background:none;color:inherit;text-decoration:none;padding:0 .15em;border-radius:3px}.ftf-run .ftf-run__old{text-decoration:line-through;text-decoration-color:var(--gold);color:var(--muted-on-dark)}.ftf-run .ftf-run__new,.ftf-run .ftf-run__mark{background:#b0915638}.ftf-run.js .ftf-run__step{opacity:.32}.ftf-run.js .ftf-run__step.is-on{opacity:1}.ftf-run.js .ftf-run__step.is-on:before{background:var(--teal);border-color:var(--teal-light);box-shadow:0 0 10px #0f8cb2b3}.ftf-run.js .ftf-run__step--gate.is-on:before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 10px #b0915699}.ftf-run.js .ftf-run__step.is-done{border-left-color:var(--teal)}.ftf-run.js .ftf-run__old{text-decoration-color:transparent;color:inherit;transition:color .4s ease,text-decoration-color .4s ease}.ftf-run.js .ftf-run__new{opacity:0;transition:opacity .4s ease}.ftf-run.js .ftf-run__mark{background:transparent;transition:background .5s ease}.ftf-run.js.is-edited .ftf-run__old{text-decoration-color:var(--gold);color:var(--muted-on-dark)}.ftf-run.js.is-edited .ftf-run__new{opacity:1}.ftf-run.js.is-planned .ftf-run__mark{background:#b091564d}@media(max-width:850px){.ftf-hero{padding-top:8rem;padding-bottom:3rem}.ftf-hero__layout{grid-template-columns:1fr;gap:2rem}.ftf-example,.ftf-journey{grid-template-columns:1fr}}@media(max-width:600px){.ftf-hero__title{font-size:clamp(2.35rem,12vw,3rem)}}@media(max-width:360px){.ftf-page .site-header__demo{display:none}.ftf-page .site-header .nav-burger{margin-left:auto}}.ftf-how{background:var(--paper)}.fdiagram{width:min(560px,100%,72vh);height:auto;margin-inline:auto}.fdiagram text{font-family:var(--font-mono)}.f-rail{stroke:#0a1a2838;stroke-width:1.4}.f-rail--hot{stroke:var(--teal);stroke-width:2}.f-ring{stroke:#0a1a2873;stroke-width:1.6;fill:var(--paper-warm);transition:stroke .25s ease,fill .25s ease}.f-ic{stroke:#0a1a2899;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none;transition:stroke .25s ease}.f-label{font-size:13px;letter-spacing:.14em;font-weight:600;fill:var(--muted-on-light);transition:fill .25s ease}.f-sub{font-size:12px;letter-spacing:.02em;fill:var(--muted-on-light);font-family:var(--font-body)}.f-st.is-on .f-ring{stroke:var(--teal)}.f-st.is-on .f-ic{stroke:var(--teal-text)}.f-st.is-on .f-label{fill:var(--title-on-light)}.f-st--gate .f-ring{stroke:var(--gold);fill:#b0915614}.f-st--gate.is-on .f-ring{stroke:var(--gold);fill:#b091562e}.f-st--gate.is-on .f-ic{stroke:var(--gold-on-light)}.f-pulse{fill:var(--teal-2);opacity:0;filter:drop-shadow(0 0 6px rgba(15,140,178,.9))}.fscene:not(.js) .f-st .f-ring{stroke:var(--teal)}.fscene:not(.js) .f-st--gate .f-ring{stroke:var(--gold)}.fscene:not(.js) .f-rail--hot{display:none}.fscene .scene__steps{gap:26vh}.ftf-journey{grid-template-columns:repeat(3,1fr)}@media(max-width:1100px){.ftf-journey{grid-template-columns:1fr}}@media(max-width:899px){.fscene{grid-template-columns:1fr}.fscene .scene__sticky{position:static;height:auto}.fscene .scene__steps{gap:2rem;padding-block:2rem 1rem}.fscene.js .step{opacity:1}}
