  :root{
    --navy:#101D2D;
    --navy-soft:#182A40;
    --blue:#385AC6;
    --blue-deep:#1957A2;
    --orange:#E08A29;
    --orange-text:#C97324;
    --green:#2FDC87;
    --green-muted:#5BBE7E;
    --teal:#40C2C4;
    --purple:#B85DA7;
    --red:#E11F27;
    --blush:#F5EBEC;
    --white:#FFFFFF;
    --ink:#101D2D;
    --gray-600:#5C656F;
    --gray-300:#C3C4C6;
    --gray-100:#F4F5F6;
    --font-display:'Sofia Sans Semi Condensed','Sofia Sans',system-ui,sans-serif;
    --font-body:'Sofia Sans',system-ui,-apple-system,sans-serif;
    --maxw:1180px;
    --fs-h1:64px; --fs-h2:46px; --fs-h3:27px; --fs-body:18px; --fs-label:18px; --fs-fine:15px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;overflow-x:hidden;}
  body{margin:0;overflow-x:hidden;font-family:var(--font-body);font-size:var(--fs-body);color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  .skiplink{position:absolute;left:-9999px;top:0;z-index:999;background:var(--orange);color:#fff;
    padding:12px 20px;border-radius:0 0 8px 0;font-weight:700;}
  .skiplink:focus{left:0;}
  .eyebrow{font-size:var(--fs-label);font-weight:800;letter-spacing:.10em;text-transform:uppercase;}
  h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.08;letter-spacing:-.015em;font-weight:800;}
  .btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:700;font-size:var(--fs-body);padding:15px 28px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease;}
  .btn:hover{transform:translateY(-2px);}
  .btn:focus-visible{outline:3px solid var(--green);outline-offset:2px;}
  .btn-orange{background:var(--orange);color:var(--white);}
  .btn-orange:hover{box-shadow:0 10px 24px rgba(224,138,41,.35);}
  .btn-outline{background:transparent;border-color:rgba(255,255,255,.55);color:var(--white);}
  .btn-outline:hover{border-color:var(--white);}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .btn:hover{transform:none;}
    *{animation-duration:.001ms !important; transition-duration:.001ms !important;}
  }

  /* ===== bar signature strip ===== */
  .barstrip{height:5px;display:flex;}
  .barstrip span{flex:1;}
  .barstrip span:nth-child(1){background:var(--green-muted);}
  .barstrip span:nth-child(2){background:var(--purple);}
  .barstrip span:nth-child(3){background:var(--orange);}
  .barstrip span:nth-child(4){background:var(--red);}
  .barstrip span:nth-child(5){background:var(--blue);}

  /* ===== header ===== */
  header{background:var(--navy);}
  .headerbar{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:24px;}
  .logo{display:flex;align-items:center;flex-shrink:0;}
  .logo-mark{height:46px;width:auto;}
  .logo-mark-sm{height:38px;width:auto;}
  nav.mainnav{display:flex;gap:24px;}
  nav.mainnav a{color:#D7DEE8;font-size:var(--fs-body);font-weight:600;white-space:nowrap;}
  nav.mainnav a:hover{color:var(--white);}
  .headeractions{display:flex;align-items:center;gap:14px;flex-shrink:0;}
  .searchbtn{background:none;border:0;padding:8px;margin-right:8px;cursor:pointer;color:var(--green);
    display:flex;align-items:center;border-radius:8px;transition:background .2s ease,transform .2s ease;}
  .searchbtn:hover{background:rgba(255,255,255,.08);transform:scale(1.06);}
  .searchpanel{max-height:0;overflow:hidden;background:#0C1826;border-bottom:1px solid rgba(255,255,255,0);
    transition:max-height .32s cubic-bezier(.4,0,.2,1),border-color .32s ease;}
  .searchpanel.is-open{max-height:120px;border-bottom-color:rgba(255,255,255,.10);}
  .searchpanel-inner{display:flex;align-items:center;gap:12px;padding-top:18px;padding-bottom:18px;}
  .sp-icon{width:20px;height:20px;color:var(--green);flex-shrink:0;}
  .searchpanel input{flex:1;min-width:0;background:transparent;border:0;outline:none;
    font-family:var(--font-body);font-size:17px;color:#fff;padding:8px 0;}
  .searchpanel input::placeholder{color:#6E7C8F;}
  .sp-go{background:var(--orange);color:#fff;border:0;border-radius:8px;padding:11px 22px;
    font-family:var(--font-body);font-weight:700;font-size:15px;cursor:pointer;flex-shrink:0;}
  .sp-go:hover{filter:brightness(1.06);}
  .sp-close{background:none;border:0;color:#8E9BAD;cursor:pointer;padding:6px;flex-shrink:0;display:flex;}
  .sp-close svg{width:18px;height:18px;}
  .sp-close:hover{color:#fff;}
  .searchicon{width:20px;height:20px;color:var(--green);flex-shrink:0;}
  .navsignin{border:1.5px solid rgba(255,255,255,.5);color:var(--white);font-size:var(--fs-label);font-weight:600;padding:10px 19px;border-radius:7px;}
  .navsignup{border:1.5px solid var(--orange);background:var(--orange);color:var(--white);font-size:var(--fs-label);font-weight:600;padding:10px 19px;border-radius:7px;}
  
    
  .burger{display:none;background:none;border:0;padding:6px;cursor:pointer;color:var(--white);
    align-items:center;justify-content:center;border-radius:8px;transition:background .2s ease;}
  .burger:hover{background:rgba(255,255,255,.08);}
  .burger .burger-close{display:none;}
  .burger[aria-expanded="true"] .burger-open{display:none;}
  .burger[aria-expanded="true"] .burger-close{display:block;}

  /* ---- mobile menu panel ---- */
  .mobmenu{max-height:0;overflow:hidden;background:#0C1826;
    border-bottom:1px solid rgba(255,255,255,0);
    transition:max-height .34s cubic-bezier(.4,0,.2,1), border-color .34s ease;}
  .mobmenu.is-open{max-height:calc(100vh - 96px);overflow-y:auto;
  -webkit-overflow-scrolling:touch;border-bottom-color:rgba(255,255,255,.10);}

  /* padding-top/bottom only — a `padding:8px 0 26px` shorthand would
    cancel the horizontal gutter inherited from .wrap and the links
    would sit flush against the screen edge */
  .mobmenu-inner{display:flex;flex-direction:column;padding-top:8px;padding-bottom:26px;}
  .mobmenu-inner > a{padding:16px 2px;color:#D7DEE8;font-size:var(--fs-body);font-weight:600;
    border-bottom:1px solid rgba(255,255,255,.07);transition:color .18s ease;}
  .mobmenu-inner > a:hover{color:#fff;}
  .mobmenu-cta{display:flex;gap:12px;margin-top:24px;}
  .mobmenu-cta a{flex:1;text-align:center;padding:14px 18px;}
  @media (min-width:1241px){.mobmenu{display:none;}}

  /* the full nav needs ~1240px of viewport; below that it collapses to the burger */
  @media (max-width:1240px){
    nav.mainnav{display:none;}
    .headeractions .navsignin, .headeractions .navsignup{display:none;}
    .burger{display:flex;}
  }

  /* ===== footer ===== */
  footer{background:var(--navy);color:#AEB8C4;padding:64px 0 28px;}
  .footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:32px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.08);}
  @media (max-width:880px){.footer-top{grid-template-columns:1fr 1fr;}}
  @media (max-width:520px){.footer-top{grid-template-columns:1fr;}}
  .footer-top h4{color:var(--white);font-family:var(--font-body);font-size:var(--fs-label);font-weight:700;letter-spacing:.02em;text-transform:uppercase;margin:0 0 16px;}
  .footer-top ul{list-style:none;margin:0;padding:0;}
  .footer-top li{margin-bottom:12px;font-size:var(--fs-body);}
  .footer-top a:hover{color:var(--white);}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;flex-wrap:wrap;gap:16px;font-size:var(--fs-fine);}
  .footer-legal{font-size:var(--fs-fine);display:flex;gap:16px;flex-wrap:wrap;}
  .footer-social{display:flex;gap:14px;}
  .footer-social a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;}
  .footer-cta{color:var(--orange-text);font-weight:700;font-size:var(--fs-fine);letter-spacing:.03em;}


  
  @media (max-width:860px){
    /* auto-marquees become native swipeable scrollers */
    .hero-bleed, .testi-bleed{
      overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
      scroll-snap-type:x proximity;
      -webkit-mask-image:none;mask-image:none;
      scrollbar-width:none;padding-bottom:4px;}
    .hero-bleed::-webkit-scrollbar,.testi-bleed::-webkit-scrollbar{display:none;}
    .testi-row{animation:none !important;transform:none !important;}
    .marquee-track{padding:6px 20px 26px 20px;}
    .spine{scroll-snap-align:center;width:150px;height:225px;transform:none !important;}
    .testi-row{padding:10px 18px;}
    .testi-row.row2{display:none;}
    .quote-card{scroll-snap-align:center;width:80vw;max-width:320px;min-height:0;margin-right:16px;}
    .swipe-hint{display:flex;}

    /* header breathing room so the logo clears the colour strip */
    .headerbar{padding-top:16px;padding-bottom:26px;}
    .logo-mark{height:40px;}

    /* author carousel */
    .au-nav{width:42px;height:42px;}
    .au-stage{gap:8px;}
    .au-panels{min-height:520px;margin-top:34px;}
    .au-panel{flex-direction:column;gap:28px;text-align:center;}
    .au-text{max-width:none;}
    .au-bk{width:112px;height:168px;}
    .au-bk:not(:first-child){margin-left:-48px;}
  }

  @media (max-width:720px){
    /* journey timeline */
    .wj-row{padding-left:52px;padding-bottom:50px;}
    .wj-row h3{font-size:23px;}
    .wj-cols{gap:12px;}
    .wj-col{padding:17px 18px;}
    .wj-dot{width:38px;height:38px;margin-left:-19px;top:2px;}
    .wj-marker{width:26px;height:26px;margin-left:-13px;}
    .wj-marker svg{width:13px;height:13px;}
    .wj-phase{font-size:11px;}
  }

  @media (max-width:980px){
    /* pipeline wraps to a grid on small screens: give the rows room to breathe */
    .process-row{gap:38px 20px;}
    .process-item{padding:0 6px;}
  }
  @media (max-width:560px){
    .process-row{gap:34px 14px;}
    .process-item{width:44%;padding:0 4px;}
    .process-icon{margin-bottom:12px;}
  }

  @media (max-width:600px){
    section{padding:66px 0;}
    .wrap{padding-left:20px;padding-right:20px;}
    .finale{padding:96px 0 90px;}
  }


  /* ===== cookie notice ===== */
.cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:120;
  background:#0C1826;border-top:1px solid rgba(255,255,255,.12);
  box-shadow:0 -12px 40px rgba(0,0,0,.34);
  transform:translateY(110%);transition:transform .42s cubic-bezier(.22,.61,.36,1);}
.cookiebar.is-shown{transform:translateY(0);}
.cookiebar-inner{display:flex;align-items:center;gap:28px;padding-top:20px;padding-bottom:20px;}
.cookiebar-text{margin:0;font-size:var(--fs-fine);color:#B7C0CD;line-height:1.6;}
.cookiebar-text strong{color:#fff;font-weight:800;}
.cookiebar-text a{color:var(--orange-text);font-weight:700;text-decoration:underline;}
.cookiebar-actions{display:flex;gap:12px;flex-shrink:0;}
.ck-btn{cursor:pointer;border-radius:9px;padding:12px 26px;white-space:nowrap;
  font-family:var(--font-body);font-weight:700;font-size:var(--fs-fine);
  transition:background .2s ease,border-color .2s ease,transform .18s ease;}
.ck-btn:hover{transform:translateY(-2px);}
.ck-reject{background:transparent;color:#D7DEE8;border:1.5px solid rgba(255,255,255,.28);}
.ck-reject:hover{border-color:#fff;color:#fff;}
.ck-allow{background:var(--orange);color:#fff;border:1.5px solid var(--orange);}
.ck-allow:hover{filter:brightness(1.06);}
@media (max-width:760px){
  .cookiebar-inner{flex-direction:column;align-items:stretch;gap:16px;}
  .cookiebar-actions{width:100%;}
  .ck-btn{flex:1;text-align:center;padding:13px 18px;}
}



.auth-user {
    display: flex;
    align-items: center;
    gap: 10px;
}
body.is-signed-in .auth-guest,
body.is-signed-in .auth-user,
body.is-signed-in .mobmenu-account {
    display: flex !important;
    align-items: center;
    gap: 10px;
}

.hdr-icon{position:relative;width:38px;height:38px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:#D7DEE8;
  transition:background .2s ease,color .2s ease;}
.hdr-icon:hover{background:rgba(255,255,255,.09);color:#fff;}
.hdr-badge{position:absolute;top:-2px;right:-3px;min-width:18px;height:18px;padding:0 5px;
  border-radius:999px;background:var(--orange);color:#fff;border:2px solid var(--navy);
  font-size:11px;font-weight:800;line-height:14px;text-align:center;font-variant-numeric:tabular-nums;}
.hdr-badge.is-zero{background:#4A5666;}

/* account menu */
.usermenu{position:relative;flex-shrink:0;}
.usermenu-btn{padding:0;border:0;background:none;cursor:pointer;display:block;border-radius:50%;
  line-height:0;transition:box-shadow .2s ease;}
.usermenu-btn:hover,.usermenu-btn[aria-expanded="true"]{box-shadow:0 0 0 3px rgba(224,138,41,.45);}
.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;display:block;
  border:2px solid rgba(255,255,255,.35);}
.usermenu-panel{position:absolute;top:calc(100% + 14px);right:0;width:238px;z-index:60;
  background:#0C1826;border:1px solid rgba(255,255,255,.12);border-radius:14px;
  box-shadow:0 24px 60px rgba(0,0,0,.5);padding:8px;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s;}
/* invisible bridge so the pointer can cross the gap without closing the menu */
.usermenu-panel:before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px;}
.usermenu.is-open .usermenu-panel{opacity:1;visibility:visible;transform:translateY(0);}
@media (hover:hover) and (pointer:fine){
  .usermenu:hover .usermenu-panel{opacity:1;visibility:visible;transform:translateY(0);}
}
.um-head{display:flex;align-items:center;gap:11px;padding:11px 12px 13px;
  border-bottom:1px solid rgba(255,255,255,.10);margin-bottom:6px;}
.um-head img{width:42px;height:42px;border-radius:50%;}
.um-head span{display:flex;flex-direction:column;min-width:0;}
.um-head strong{font-size:15px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.um-head em{font-style:normal;font-size:12.5px;color:#8B97A8;margin-top:2px;}
.usermenu-panel a{display:block;padding:10px 12px;border-radius:8px;
  font-size:15.5px;font-weight:600;color:#D7DEE8;transition:background .15s ease,color .15s ease;}
.usermenu-panel a:hover{background:rgba(255,255,255,.08);color:#fff;}
.um-sep{height:1px;background:rgba(255,255,255,.10);margin:6px 4px;}
.um-out{color:var(--orange-text) !important;font-weight:800 !important;}

/* mobile account block */
.mob-acc-head{display:flex;align-items:center;gap:12px;padding:16px 2px;
  border-bottom:1px solid rgba(255,255,255,.10);}
.mob-acc-head img{width:36px;height:36px;border-radius:50%;}
.mob-acc-head span{display:flex;flex-direction:column;}
.mob-acc-head strong{font-size:16px;font-weight:800;color:#fff;}
.mob-acc-head em{font-style:normal;font-size:13px;color:#8B97A8;margin-top:2px;}
.mobmenu-account > a{display:block;padding:16px 2px;color:#D7DEE8;
  font-size:var(--fs-body);font-weight:600;border-bottom:1px solid rgba(255,255,255,.07);}
.mobmenu-account > a:hover{color:#fff;}


@media (max-width:860px){
  /* …existing rules… */
  .headeractions{gap:6px;}
  .auth-user{gap:4px;}
  .searchbtn{margin-right:2px;}
  .hdr-icon{width:34px;height:34px;}
  .avatar{width:34px;height:34px;}
  .usermenu-panel{width:224px;}
}

@media (max-width:400px){
  /* very small phones: the bell moves into the account menu */
  .auth-user .hdr-icon:first-child{display:none;}
  .logo-mark{height:32px;}
  .headerbar{gap:10px;}
  .headeractions{gap:3px;}
  .auth-user{gap:2px;}
  .searchbtn{padding:6px;margin-right:0;}
  .burger{padding:4px;}
  .hdr-icon{width:30px;height:30px;}
  .avatar{width:30px;height:30px;}
}