@font-face{font-family:'Rubik';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/rubik-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Rubik';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/rubik-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Rubik';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/rubik-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Rubik';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/rubik-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/manrope-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/manrope-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/manrope-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/manrope-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/manrope-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/manrope-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/manrope-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/manrope-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html{scroll-behavior:smooth}
body{margin:0;background:#001845;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
a{color:#0050FF}
[id]{scroll-margin-top:88px}
:focus-visible{outline:2px solid #0CAEFF;outline-offset:3px}
.btn-primary:hover{background:#0043D6 !important;border-color:#0043D6 !important}
.btn-white:hover{background:#F5F8FF !important}
.btn-ghost:hover{border-color:#26262C !important}
.field:focus{outline:none;border-color:#0050FF !important;box-shadow:0 0 0 3px rgba(0,80,255,0.16)}
@media (min-width: 960px){.sticky-lg{position:sticky;top:104px}}
@media (max-width: 880px){.hide-sm{display:none !important}}
@media (max-width: 760px){
  .flow{flex-direction:column !important;gap:16px !important}
  .arrow-h{display:none !important}
  .arrow-v{display:block !important}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:28px 20px !important}
}
@media (max-width: 560px){
  .hide-xs{display:none !important}
  .only-xs{display:inline !important}
  .brand-logo{height:28px !important}
  .h1{font-size:34px !important;line-height:1.08 !important}
  .h2{font-size:28px !important}
  .stat-num{font-size:34px !important}
  .cta-row{width:100%}.cta-row > a{flex:1 1 100% !important}
  .logos{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:24px 16px !important}
  .logos .client.hide-xs{display:none !important}
}
/* ---- production additions (form steps, errors, consent banner, simple pages) ---- */
[hidden]{display:none !important}
html{background:#FFFFFF}
body{margin:0;background:#FFFFFF;color:#26262C;font-family:'Manrope',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.5}
.page{min-height:100vh;display:flex;flex-direction:column}
.page > main{flex:1 0 auto}
img{max-width:100%}

/* form */
[data-step]:focus{outline:none}
.form-meta{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:15px;line-height:1.5;color:#4F4F55}
.form-meta b{font-weight:700;color:#26262C}
.progress{height:4px;border-radius:999px;background:#E3E8F2;overflow:hidden}
.progress > span{display:block;height:100%;width:50%;border-radius:999px;background:linear-gradient(90deg,#0050FF,#0CAEFF);transition:width .35s ease}
.err{margin:0;font-size:14px;line-height:1.4;font-weight:600;color:#C4320A}
.field[aria-invalid="true"]{border-color:#C4320A !important}
.field[aria-invalid="true"]:focus{box-shadow:0 0 0 3px rgba(196,50,10,0.16) !important}
.form-error{margin:0;padding:12px 14px;border-radius:12px;background:#FEF3F2;color:#B42318;font-size:15px;font-weight:600;line-height:1.5}
.link-btn{align-self:center;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:0;background:none;
  font-family:inherit;font-size:15px;font-weight:600;color:#4F4F55;cursor:pointer;border-radius:999px}
.link-btn:hover{color:#26262C;background:#F5F8FF}
.hp{position:absolute !important;left:-10000px !important;top:auto;width:1px;height:1px;overflow:hidden}
.btn[disabled]{opacity:.75;cursor:progress}
.btn.is-busy svg{display:none}
.btn.is-busy::after{content:"";width:18px;height:18px;border-radius:50%;border:2.2px solid rgba(255,255,255,.45);border-top-color:#FFFFFF;
  animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* consent banner (only when a Meta Pixel ID is configured) */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:620px;margin:0 auto;padding:16px 18px;
  display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;background:#FFFFFF;border:1px solid #E3E8F2;border-radius:16px;
  box-shadow:0 18px 40px -18px rgba(0,24,69,.45)}
.consent-text{flex:1 1 260px;margin:0;font-size:15px;line-height:1.5;color:#3F3F46}
.consent-text a{color:#26262C;font-weight:600}
.consent-actions{display:flex;gap:10px;flex:0 0 auto}
.consent-btn{min-height:44px;padding:10px 20px;border-radius:999px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer}
.consent-primary{background:#0050FF;border:1.5px solid #0050FF;color:#FFFFFF}
.consent-ghost{background:#FFFFFF;border:1.5px solid #C9D5EE;color:#26262C}
@media (max-width:560px){.consent-actions{width:100%}.consent-btn{flex:1 1 0}}

/* thank-you + privacy */
.done-mark{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#0050FF,#0CAEFF)}
.note-test{margin:0;padding:12px 14px;border-radius:12px;background:#FFF4E5;color:#9A3412;font-size:15px;font-weight:600;line-height:1.5;max-width:620px}
.todo{background:#FFE8CC;color:#9A3412;font-weight:700;padding:0 4px;border-radius:4px}
.prose{max-width:720px}
.prose h2{margin:40px 0 12px;font-family:'Rubik',ui-sans-serif,system-ui,sans-serif;font-weight:500;font-size:22px;line-height:1.3;color:#26262C}
.prose p,.prose li{font-size:17px;line-height:1.65;color:#3F3F46}
.prose p{margin:0 0 14px}
.prose ul{margin:0 0 14px;padding-left:22px}
.prose li{margin:0 0 6px}
.prose a{color:#0050FF}

/* booking calendar on the thank-you page (Google Calendar appointment schedule) */
.booking{width:100%;margin-top:6px;border:1px solid #E3E8F2;border-radius:16px;overflow:hidden;background:#FFFFFF;
  box-shadow:0 18px 40px -28px rgba(0,24,69,.35)}
.booking-frame{display:block;width:100%;height:760px;border:0}
@media (max-width:640px){.booking-frame{height:1180px}}   /* Google stacks calendar + slots on phones */
