/* Responsive and accessible behavior shared by public and identity pages. */
html{scroll-padding-top:110px}
body{min-width:0}
img,video,canvas{max-width:100%;height:auto}
svg{flex-shrink:0}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #347c76;outline-offset:4px}
[hidden]{display:none!important}
.shell,.hero>*,.page-hero>*,.grid>*,.form-grid>*,.auth-shell>*,.wf-signup-fields>*{min-width:0}
h1,h2,h3,p,.legal,.notice{overflow-wrap:break-word}
.field input,.field textarea,.field select,.wf-signup-field input{min-width:0}
.skip-link{position:fixed;left:16px;top:-90px;z-index:200;background:#347c76;color:white;padding:12px 18px;border-radius:12px}
.skip-link:focus{top:12px}
.contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)}
.contact-notice.error{background:#fff0ed;color:#8c2b1c;border:1px solid #f0bfb4}
.contact-notice.success{background:#eef6ee;color:#285432;border:1px solid #bad3bd}
.nav-links .mobile-login{display:none}
/* Avoid continuous animation of a full-screen blurred layer. */
body:after,.aurora{animation:none!important}
.wf-reveal{opacity:1;transform:none}
.wf-cursor-glow,.cursor-glow{display:none!important}
@media(max-width:1100px){
  .nav{gap:10px}
  .nav-links a{padding-inline:9px}
  .nav-actions{gap:6px}
}
@media(max-width:980px){
  .nav-links{position:absolute;top:calc(100% + 10px);left:0;right:0;max-height:calc(100dvh - 125px);overflow-y:auto;overscroll-behavior:contain;background:#fff!important;backdrop-filter:none!important}
  .nav-links a{display:flex;align-items:center;min-height:44px;font-size:15px}
  .nav-links .mobile-login{display:flex;border-top:1px solid var(--line);border-radius:0;margin-top:4px}
  .hero{gap:28px}
  .hero-visual{max-width:100%}
}
@media(max-width:650px){
  .nav-wrap{top:0;padding:8px 0}
  .nav{gap:8px}
  .nav .brand{gap:7px;font-size:19px;flex-shrink:0}
  .nav-actions{margin-left:auto}
  .nav-actions .btn.primary{min-height:44px;white-space:nowrap;font-size:13px}
  .menu-btn{flex:0 0 44px;min-width:44px;min-height:44px}
  .shell{width:calc(100% - 28px)}
  .page-hero{padding:45px 0 28px}
  .page-hero h1{font-size:clamp(32px,9.5vw,46px);letter-spacing:-1.5px;line-height:1.12}
  .lead{font-size:16px!important;line-height:1.75}
  .section{padding:42px 0}
  .feature,.price,.form-card,.legal{padding:22px 18px;border-radius:22px}
  .section-head h2,.band h2{font-size:32px;letter-spacing:-1px}
  .metric{padding:16px 8px}
  .metric strong{font-size:clamp(20px,5.7vw,29px)}
  .metric span{font-size:12px;line-height:1.5}
  .field input,.field select,.field textarea,.wf-signup-field input,.wf-login-page .wf-input-shell input{font-size:16px!important}
  .field input,.field select,.btn,.primary-button,.secondary-button{min-height:44px}
  .footer{padding-top:42px}
  .footer-grid{gap:24px 14px}
  .footer a{min-height:32px}
  .footer-bottom{line-height:1.7}
  .auth-card,.form-side{min-width:0}
  .auth-card .intro,.auth-card>.intro{font-size:14px!important;line-height:1.7!important}
  .wf-login-page .auth-card>.intro{font-size:14px!important}
  .wf-login-page .wf-login-trust{font-size:10px!important}
  .auth-links{font-size:13px!important;line-height:1.8}
  .wf-signup-section-head{gap:8px;flex-wrap:wrap}
  .wf-signup-section-head strong{font-size:15px!important}
  .wf-care-copy strong{font-size:13px!important}
  .wf-care-copy small,.wf-password-hint{font-size:11px!important;line-height:1.5}
  .wf-care-option{min-height:60px}
  .wf-signup-actions{gap:10px}
  .wf-terms{font-size:12px!important;line-height:1.7}
  .wf-spatial{min-height:510px!important;transform:none!important;perspective:none}
  .wf-spatial:after,.wf-orbit{display:none}
  .wf-care-console{left:0!important;right:0!important;transform:none!important}
  .wf-console-brand{gap:8px;min-width:0}
  .wf-console-brand strong{font-size:13px!important}
  .wf-secure-link{font-size:8px!important;padding:6px!important}
  .wf-console-grid{grid-template-columns:minmax(0,1fr) 85px!important;gap:8px}
  .wf-focus-card,.wf-readiness{min-width:0}
  .wf-card-cap{flex-wrap:wrap;gap:6px}
  .wf-next-chip{font-size:7px!important}
  .wf-focus-person{gap:7px}
  .wf-focus-meta{flex-wrap:wrap}
  .wf-focus-meta span{font-size:8px!important}
  .wf-person-copy>span{font-size:8px!important}
  .wf-timeline-row>span{min-width:0}
  .wf-floating-signal{max-width:calc(100% - 12px)}
  .wf-floating-signal strong{font-size:11px!important}
  .wf-floating-signal span span{font-size:9px!important}
  /* Glass layers are static on touch devices to keep scrolling smooth. */
  .nav,.glass-card,.feature,.metric,.price,.form-card,.legal,.auth-card,.wf-care-console,.wf-floating-signal{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .wf-care-console:after,.wf-readiness-ring:after,.wf-next-chip i{animation:none!important}
}
@media(max-width:360px){
  .nav .brand{font-size:17px}
  .nav .brand-mark{width:32px;height:32px}
  .nav-actions .btn.primary{padding-inline:9px!important;font-size:12px}
  .wf-console-grid{grid-template-columns:minmax(0,1fr) 72px!important}
  .wf-readiness-ring{width:55px!important;height:55px!important}
  .wf-focus-card{padding:9px}
  .wf-future-hero h1{font-size:39px!important;letter-spacing:-2px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
