html{-webkit-text-size-adjust:100%}
/* The zero-height transition sits between panels, so arrows overlap both colors
   without escaping a panel's clipping or adding horizontal overflow. */
.flow-transition{height:0;position:relative;z-index:3}
.flow-circle{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;color:var(--ink);background:var(--gold);box-shadow:0 5px 0 #bd842b,0 9px 20px #002e4533;pointer-events:none}
.flow-circle svg{width:43px;height:43px}
.flow-link{width:104px;height:104px;text-decoration:none;pointer-events:auto;transition:box-shadow .18s,background .18s}
.flow-link svg{width:60px;height:60px}
.flow-link:hover{background:#ffd266;box-shadow:0 6px 0 #bd842b,0 12px 25px #002e4540}
.flow-link:focus-visible{outline:4px solid white;outline-offset:5px}
.hero{padding-bottom:85px}
.flow-transition+.scene{padding-top:92px}
.scene h1,.scene h2{text-wrap:balance}
.form-card{min-width:0}
.form-card input,.form-card select,.form-card textarea{max-width:100%}
@media(max-width:800px){
  .form-layout{gap:24px}
  .flow-circle{width:64px;height:64px}
  .flow-circle svg{width:36px;height:36px}
  .flow-link{width:84px;height:84px}
  .flow-link svg{width:48px;height:48px}
  .hero{padding-bottom:72px}
  .flow-transition+.scene{padding-top:78px}
}
@media(max-width:540px){
  .topbar{padding:0 16px;gap:12px}
  .topbar>a:last-child{font-size:9px;letter-spacing:.3px}
  .hero h1{font-size:clamp(30px,10vw,54px);line-height:1.03;letter-spacing:-1px}
  .scene h2{font-size:clamp(30px,9.3vw,48px);line-height:1.05;letter-spacing:-1px}
  .scene .deck{font-size:15px;line-height:1.55}
  .hero-art{width:calc(100% + 24px);max-width:none;margin-left:-12px;margin-right:-12px}
  .scene:not(.form-scene) .scene-art{width:calc(100% + 20px);max-width:none;margin-left:-10px;margin-right:-10px;max-height:none}
  .form-visual{margin:0;width:100%;max-width:440px}
  .form-visual .scene-art{width:100%;max-width:100%;margin-left:0;margin-right:0;max-height:none}
  .speech{font-size:18px;padding:16px 26px}
  .visual-caption{font-size:9px;letter-spacing:.8px}
  .form-card{padding:24px 18px}
  .form-card label{font-size:13px;margin-bottom:16px}
  .form-card input,.form-card select,.form-card textarea{min-height:48px;font-size:16px}
  .form-card .button{min-height:54px}
  .form-note{font-size:11px}
  .preview-note{font-size:10px}
  .button{max-width:100%;font-size:12px;letter-spacing:.35px;gap:12px;white-space:normal;text-align:center;line-height:1.35}
  .step{font-size:16px;gap:10px}
  .step span{font-size:9px;letter-spacing:1.5px}
  .offer-price strong{font-size:clamp(76px,25vw,128px)}
  .offer-price span{font-size:clamp(17px,5.8vw,27px)}
  .included{column-gap:12px}
  .included li{font-size:12px;line-height:1.5}
  .time-slots button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.flow-link{transition:none}}
