/* Fonts: self-hosted, SIL Open Font License (see assets/fonts) */
@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/onest-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Onest';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/onest-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Onest';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/onest-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/instrument-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/instrument-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/instrument-sans-latin-600-normal.woff2') format('woff2')}

/* GYB prototype v2.1 — Onest headings, Instrument Sans body, light heroes, gradient headline text */
body{margin:0;background:#F4F6F9}
a{color:#1E5B9C}a:hover{color:#16457A}
.pg{font-family:'Instrument Sans','Helvetica Neue',Arial,sans-serif;font-weight:400;color:#0E1B2E;background:#F4F6F9;font-size:17px;line-height:1.6}
.wrap{max-width:1180px;margin:0 auto;padding-left:24px;padding-right:24px}
h1,h2,h3{font-family:'Onest','Helvetica Neue',Arial,sans-serif;font-weight:500;letter-spacing:-0.035em;text-wrap:balance;margin:0}
h1{letter-spacing:-0.045em}
p{margin:0}

/* light hero with a slow Stripe-style ribbon */
.hero{position:relative;overflow:hidden;overflow:clip;background:#FFFFFF;color:#0E1B2E;clip-path:polygon(0 0,100% 0,100% calc(100% - 72px),0 100%)}
.hero::before{content:"";position:absolute;z-index:0;right:-18%;top:-40%;width:78%;height:170%;pointer-events:none;
  background:linear-gradient(118deg,rgba(255,138,61,0) 18%,rgba(255,138,61,.42) 36%,rgba(224,80,126,.40) 50%,rgba(91,79,209,.34) 64%,rgba(30,91,156,.18) 76%,rgba(30,91,156,0) 88%);
  filter:blur(46px);transform:rotate(-14deg);animation:ribbon 22s ease-in-out infinite alternate}
.hero>*{position:relative;z-index:1}
@keyframes ribbon{from{transform:rotate(-14deg) translate3d(0,0,0)}to{transform:rotate(-8deg) translate3d(-4%,3%,0)}}

.navlink{color:#3C4A63;text-decoration:none;font-weight:500;font-size:15px}.navlink:hover{color:#0E1B2E}
.navlink.on{color:#0E1B2E;box-shadow:inset 0 -2px 0 #FF6B35}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-radius:999px;background:#FF6B35;color:#0E1B2E;font-weight:500;font-size:16px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;box-shadow:0 8px 20px rgba(255,107,53,.25);transition:transform .2s,background .2s}
.btn:hover{background:#FF8455;color:#0E1B2E;transform:translateY(-2px)}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;border:1px solid #C9D3E0;background:rgba(255,255,255,.7);color:#0E1B2E;font-weight:500;text-decoration:none;transition:border-color .2s}
.btn-ghost:hover{border-color:#0E1B2E;color:#0E1B2E}
.btn-line{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid #C9D3E0;color:#0E1B2E;font-weight:500;text-decoration:none;background:#FFFFFF;transition:border-color .2s}
.btn-line:hover{border-color:#0E1B2E;color:#0E1B2E}

.card{background:#FFFFFF;border:1px solid #E3E8EE;border-radius:18px;box-shadow:0 1px 2px rgba(14,27,46,.04),0 12px 32px rgba(14,27,46,.06)}
.lift{transition:transform .25s,box-shadow .25s}.lift:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(14,27,46,.05),0 22px 46px rgba(14,27,46,.11)}

.ph{position:relative;border-radius:20px;background-color:#EEF2F7;background-image:repeating-linear-gradient(135deg,rgba(14,27,46,.045) 0 10px,transparent 10px 20px);border:1.5px dashed #AEBCCE;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;color:#3C4A63;box-sizing:border-box}
.ph-dark{background-color:#EEF2F7;border-color:#AEBCCE;color:#3C4A63}
.ph-tag{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:#0E1B2E;color:#FFFFFF;padding:7px 10px;border-radius:999px;line-height:1}
.ph-desc{margin-top:10px;font-size:14px;line-height:1.5;max-width:48ch}

.chip{position:absolute;display:flex;align-items:center;gap:10px;background:#FFFFFF;color:#0E1B2E;border-radius:14px;padding:12px 14px;font-size:14px;font-weight:500;line-height:1.3;border:1px solid #E3E8EE;box-shadow:0 2px 4px rgba(14,27,46,.06),0 18px 40px rgba(14,27,46,.16);animation:floaty 6s ease-in-out infinite}
.chip small{display:block;font-weight:400;color:#5B6880;font-size:12px}
.dot{width:10px;height:10px;border-radius:50%;background:#1E9E6A;flex-shrink:0}

.eyebrow,.eyebrow-l{font-size:14px;font-weight:500;letter-spacing:.01em;color:#5B4FD1}
.h2{font-size:clamp(30px,3.6vw,48px);line-height:1.06;font-weight:500;letter-spacing:-0.04em}
.lead{font-size:19px;color:#3C4A63;max-width:60ch}
.muted{color:#3C4A63}
.num{font-family:'Onest','Helvetica Neue',Arial,sans-serif;font-weight:500;font-size:15px;color:#5B4FD1}
.foot a{color:#C9D5E4;text-decoration:none}.foot a:hover{color:#FFFFFF}

.seg{min-height:46px;padding:0 20px;border-radius:999px;font:inherit;font-weight:500;font-size:15px;cursor:pointer;border:1px solid #C9D3E0;background:#FFFFFF;color:#0E1B2E}
.seg.on{background:#0E1B2E;border-color:#0E1B2E;color:#FFFFFF}

.form-l{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;min-width:0}
.inp{font:inherit;font-size:16px;height:50px;padding:0 14px;border:1.5px solid #D5DEE9;border-radius:12px;background:#FFFFFF;color:#0E1B2E;width:100%;box-sizing:border-box}
.inp:focus{outline:none;border-color:#5B4FD1;box-shadow:0 0 0 3px rgba(91,79,209,.18)}
textarea.inp{height:auto;padding:12px 14px;resize:vertical}
.pick{position:relative;display:inline-flex}
.pick input{position:absolute;opacity:0;width:1px;height:1px}
.pick span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid #C9D3E0;background:#FFFFFF;font-size:15px;font-weight:500;cursor:pointer;color:#0E1B2E}
.pick input:checked + span{background:#0E1B2E;border-color:#0E1B2E;color:#FFFFFF}
.pick input:focus-visible + span{outline:3px solid #FF6B35;outline-offset:2px}
details.faq{border-bottom:1px solid #E3E8EE;padding:20px 0}
details.faq summary{cursor:pointer;font-family:'Onest',sans-serif;font-weight:500;font-size:19px;letter-spacing:-0.02em;list-style:none}
details.faq summary::-webkit-details-marker{display:none}
details.faq p{margin-top:10px;color:#3C4A63}

/* gradient headline text */
.grad{background:linear-gradient(90deg,#1E5B9C 0%,#5B4FD1 30%,#E0507E 62%,#FF8A3D 85%,#5B4FD1 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradpan 12s ease-in-out infinite alternate}
@keyframes gradpan{from{background-position:0% 50%}to{background-position:100% 50%}}

/* text reveal: each headline line slides up out of a mask on load */
.ln{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.ln>span{display:inline-block;animation:lineup 1s cubic-bezier(.16,.84,.3,1) both}
.ln:nth-child(2)>span{animation-delay:.14s}
.ln:nth-child(3)>span{animation-delay:.28s}
@keyframes lineup{from{transform:translateY(105%)}to{transform:none}}

/* supporting text follows the headline */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.r1{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}.r2{animation:rise .7s .1s cubic-bezier(.2,.7,.2,1) both}.r3{animation:rise .8s .35s cubic-bezier(.2,.7,.2,1) both}.r4{animation:rise .9s .45s cubic-bezier(.2,.7,.2,1) both}

/* section headings reveal as they scroll into view (browsers that support it; others show them as-is) */
@supports (animation-timeline: view()){
  .pg section:not(.hero) h2{animation:h2in linear both;animation-timeline:view();animation-range:entry 5% entry 70%}
  @keyframes h2in{from{opacity:0;transform:translateY(28px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 -10% 0)}}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- Production additions ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid #FF6B35;outline-offset:3px;border-radius:4px}
.wrap{padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:#0E1B2E;color:#FFFFFF;padding:10px 16px;border-radius:10px;text-decoration:none}
.skip:focus{top:12px;color:#FFFFFF}

/* forms */
.inp[aria-invalid="true"]{border-color:#B42318}
.field-err{font-size:13px;color:#B42318;font-weight:500}
.field-err:empty{display:none}
.form-msg{font-size:14px;color:#B42318;text-align:center}
.form-msg:empty{display:none}
.btn[disabled]{opacity:.7;cursor:progress;transform:none}
.success-view:focus{outline:none}

/* placeholders become real images: drop an <img class="ph-img"> inside a .ph */
.ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}

/* phones */
@media (max-width:640px){
  .pg{font-size:16px}
  .hero{clip-path:polygon(0 0,100% 0,100% calc(100% - 36px),0 100%)}
  .lead{font-size:17px}
  .chip{position:static!important;margin-top:12px;animation:none;width:max-content;max-width:100%}
  [style*="padding: 56px"],[style*="padding: 48px"],[style*="padding: 44px 48px"],[style*="padding: 44px;"]{padding:28px 22px!important}
  [style*="min-height: 460px"]{min-height:300px!important}
  [style*="min-height: 420px"]{min-height:300px!important}
  [style*="padding: 110px 0"],[style*="padding: 100px 0"]{padding-top:64px!important;padding-bottom:64px!important}
  [style*="border-left: 1px solid #E2E8F0"]{border-left:0!important;border-top:1px solid #E2E8F0}
}


/* ---------- Floating glass header (fixed, always visible) ---------- */
html{scroll-padding-top:104px}
.pg{position:relative}
.hero{padding-top:96px}
.site-top{position:fixed;top:0;left:0;right:0;z-index:50;pointer-events:none;
  padding:calc(12px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}
.site-header{pointer-events:auto;max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:10px 22px;
  padding:9px 9px 9px 20px;border-radius:999px;
  background:rgba(255,255,255,.58);
  -webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 28px rgba(14,27,46,.08);
  transition:background .25s ease,box-shadow .25s ease,border-color .25s ease,border-radius .25s ease}
.site-top.scrolled .site-header{background:rgba(255,255,255,.74);border-color:rgba(214,222,233,.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 14px 40px rgba(14,27,46,.14)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .site-header,.site-top.scrolled .site-header{background:rgba(255,255,255,.95)}
}
.site-header .logo{display:block;flex-shrink:0}
.site-header .logo img{height:34px;width:auto;display:block}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:4px 24px}
.site-nav .navlink{padding:8px 2px}
.top-cta{min-height:44px;padding:0 20px;font-size:15px;white-space:nowrap;flex-shrink:0;box-shadow:0 6px 16px rgba(255,107,53,.28)}
.menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:999px;
  border:1px solid rgba(201,211,224,.9);background:rgba(255,255,255,.7);color:#0E1B2E;cursor:pointer;padding:0}
.menu-btn svg{width:20px;height:20px}
.menu-btn .i-close{display:none}
.site-top.menu-open .menu-btn .i-open{display:none}
.site-top.menu-open .menu-btn .i-close{display:block}

@media (max-width:860px){
  html{scroll-padding-top:92px}
  .hero{padding-top:84px}
  .site-header{flex-wrap:wrap;border-radius:26px;padding:7px 7px 7px 14px;gap:8px}
  .site-header .logo{margin-right:auto}
  .site-header .logo img{height:30px}
  .menu-btn{display:inline-flex}
  .top-cta{min-height:44px;padding:0 16px;font-size:14px;box-shadow:none}
  .site-nav{order:5;flex-basis:100%;margin:0;display:none;flex-direction:column;align-items:stretch;gap:2px;
    padding:6px 0 4px;border-top:1px solid rgba(14,27,46,.08)}
  .site-nav .navlink{padding:13px 10px;border-radius:12px;font-size:17px}
  .site-nav .navlink.on{box-shadow:none;background:rgba(14,27,46,.05)}
  .site-top.menu-open .site-header{background:rgba(255,255,255,.96)}
  .site-top.menu-open .site-nav{display:flex}
}
@media (max-width:360px){
  .site-header .logo img{height:26px}
  .top-cta{padding:0 12px;font-size:13px}
}

/* hCaptcha (Web3Forms) */
.captcha-wrap{max-width:100%;overflow:hidden;min-height:78px}
.h-captcha{width:303px}
@media (max-width:420px){.captcha-wrap{min-height:0;height:67px}.h-captcha{transform:scale(.86);transform-origin:left top}}
@media (max-width:370px){.captcha-wrap{height:63px}.h-captcha{transform:scale(.8)}}

/* ---------- Final visuals (Higgsfield illustrations and loops) ---------- */
.vis{position:relative;overflow:hidden;border-radius:20px;background:#F6EFE6;min-width:0}
.vis picture{display:block;width:100%;height:100%}
.vis img{display:block;width:100%;height:100%;object-fit:cover}
.vis-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease;pointer-events:none}
.vis-vid.on{opacity:1}
.vis-flush{border-radius:0;min-height:380px}
.vis-hero{box-shadow:0 2px 4px rgba(14,27,46,.05),0 22px 50px rgba(14,27,46,.10)}
.vis-wide{aspect-ratio:7 / 3}
.vis-svc{border-radius:14px}
/* founders: initials tiles until real photos are supplied */
.mono{position:relative;overflow:hidden;border-radius:20px;min-height:280px;background:#FFFFFF;border:1px solid #E3E8EE;display:flex;flex-direction:column;justify-content:space-between;padding:22px;min-width:0}
.mono::before{content:"";position:absolute;right:-40%;top:-35%;width:120%;height:90%;background:linear-gradient(118deg,rgba(255,138,61,0) 18%,rgba(255,138,61,.34) 36%,rgba(224,80,126,.30) 50%,rgba(91,79,209,.26) 64%,rgba(30,91,156,0) 88%);filter:blur(36px);transform:rotate(-14deg)}
.mono>*{position:relative}
.mono-i{font-family:'Onest',sans-serif;font-weight:500;font-size:64px;line-height:1;letter-spacing:-0.05em;color:#0E1B2E}
.mono-l{font-size:14px;color:#5B6880;line-height:1.4}
.mono-l b{display:block;font-weight:600;color:#0E1B2E;font-size:16px}
.mono-flush{border-radius:0;border-width:0;min-height:420px;padding:36px}
.mono-flush .mono-i{font-size:96px}
.ava{width:72px;height:72px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#EEEBFC;border:1px solid #D9D3F7;color:#4B3FBF;font-family:'Onest',sans-serif;font-weight:500;font-size:28px}
@media (max-width:860px){
  .vis-flush{min-height:0;aspect-ratio:3 / 2;flex-basis:100%!important}
  .mono-flush{min-height:260px}
  .mono-flush .mono-i{font-size:72px}
}
@media (max-width:640px){
  .vis-wide{aspect-ratio:16 / 10}
  .vis-svc{min-height:0!important;height:auto!important;aspect-ratio:4 / 3}
  .mono{min-height:200px;padding:18px}
  .mono-i{font-size:48px}
}

/* primary CTA: webinar first, call second */
.cta-pair{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.cta-alt{color:#C9D5E4;font-size:15px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.cta-alt:hover{color:#FFFFFF}
.cta-short{display:none}
@media (max-width:860px){.cta-full{display:none}.cta-short{display:inline}}
