/* CULT 2.0 — Kobalt (2026-10-28). Loaded after refresh.css.
   The old sheets were recoloured by palette.py (lime → cobalt family, olive greys → cool greys);
   this file sets the brand moments, the display type and the new layout. */
@import url('/assets/fonts/unbounded.css');

:root{
  --paper:#F4F5F7;--paper-2:#ECEEF2;--card:#fff;--ink:#0B0D12;
  --text:#2A2E38;--text-2:#5A6070;--line:#E3E6EC;--line-2:#D3D8E1;
  --cobalt:#3346FF;--cobalt-2:#2536E8;--cobalt-soft:#E6E9FF;--cobalt-lt:#8E9BFF;--coral:#FF7A59;
  --display:'Unbounded',Manrope,sans-serif;
}
[dir=rtl]{--display:'Cairo',Manrope,sans-serif}
body{background:var(--paper);color:var(--ink)}
::selection{background:var(--cobalt);color:#fff}
:focus-visible{outline-color:var(--cobalt)}

/* ---------- Display type ---------- */
h2,.hero.hero-v3 h1,.svc h3,.plan h3,.step h3,.path-grid h3,.final-cta h2,.price b,.step-no,.prep-counter b{font-family:var(--display)}
h2{font-weight:600;font-size:clamp(32px,3.5vw,50px);line-height:1.08;letter-spacing:-.04em}
[dir=rtl] h2{letter-spacing:0;font-weight:800}
.eyebrow::before{background:var(--cobalt);box-shadow:0 0 0 4px rgba(51,70,255,.16)}

/* ---------- Buttons ---------- */
.button{border-radius:999px}
.button-lime,.hero-v3-actions .button,.nav-start{background:var(--cobalt)!important;color:#fff!important;border-color:var(--cobalt)!important;box-shadow:0 14px 30px -14px rgba(51,70,255,.75)}
.button-lime:hover,.hero-v3-actions .button:hover,.nav-start:hover{background:var(--cobalt-2)!important}
.button-dark{background:var(--ink);color:#fff}
.button-outline{border-color:var(--ink)}
.text-link:hover{color:var(--cobalt);opacity:1}

/* ---------- Header: floating glass pill ---------- */
.announcement,.creative-tape{display:none!important}
.header{position:fixed;inset:14px 0 auto;background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;z-index:40}
.header .nav-shell{pointer-events:auto;max-width:1312px;margin:0 auto;height:66px;padding:0 10px 0 26px;border-radius:999px;background:rgba(12,14,22,.72);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border:1px solid rgba(255,255,255,.12);color:#F4F5F7;box-shadow:0 20px 50px -30px rgba(0,0,0,.6)}
.header .logo img{filter:invert(1) brightness(2);height:24px;width:auto}
.desktop-nav a{color:#C3C9D6}
.desktop-nav a:hover{color:#fff}
.desktop-nav a::after{background:var(--cobalt-lt)}
.nav-actions .login,.language summary{color:#C3C9D6}
.nav-actions .login:hover{color:#fff}
.nav-start{min-height:46px;padding:0 22px}
.menu-toggle span{background:#fff}
@media (max-width:1300px){.header .nav-shell{margin-inline:16px}}

/* ---------- Hero ---------- */
.hero.hero-v3{background:var(--ink);border-radius:0 0 44px 44px;padding-top:96px}
.hero-v3:before{background:radial-gradient(ellipse at 82% 12%,rgba(51,70,255,.42),transparent 58%)}
.hero.hero-v3 h1{font-weight:600;font-size:clamp(56px,6.2vw,90px);line-height:1.02;letter-spacing:-.05em;margin:22px 0 24px}
.hero-v3 h1>span{color:var(--cobalt)}
[dir=rtl] .hero.hero-v3 h1{letter-spacing:0;font-weight:800;line-height:1.2}
.hx-kicker{display:inline-flex;align-items:center;gap:10px;margin:0;padding:8px 16px 8px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);color:#B8BFCF;font-size:14px;font-weight:600}
.hx-kicker i{width:8px;height:8px;border-radius:50%;background:var(--cobalt);box-shadow:0 0 0 4px rgba(51,70,255,.25)}
.hx-kicker b{color:#fff}
.hero-v3-description{color:#A7ADBD;font-size:19px;max-width:520px}
.hero-v3-free,.hero-v3-rights,.hero-v3-bottom,.hero-v3-record,.hero-v3-label,.hero-v3-side,.hero-v3-portrait figcaption{display:none!important}
.hero-v3-actions{gap:14px;margin-top:34px}
.hero-v3-actions .button{min-height:56px;padding:0 30px}
.hero-v3-discover{display:inline-flex;align-items:center;min-height:56px;padding:0 28px;border:1.5px solid rgba(255,255,255,.28);border-radius:999px;color:#fff}
.hero-v3-discover:hover{border-color:#fff;color:#fff}
.hx-proof{display:flex;gap:34px;margin-top:40px}
.hx-proof strong{display:block;font-family:var(--display);font-weight:600;font-size:24px;letter-spacing:-.03em;color:#fff}
.hx-proof span{font-size:14px;color:#A7ADBD}

.hero-v3-art{position:relative;min-height:600px}
.hero-v3-portrait{position:absolute!important;inset:0 4% 30px auto;width:min(440px,78%)!important;height:auto!important;aspect-ratio:4/5;margin:0!important;transform:none!important;border:0!important;border-radius:36px!important;background:var(--cobalt)!important;box-shadow:0 40px 90px -40px rgba(51,70,255,.7)!important;overflow:hidden}
.hero-v3-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1) contrast(1.05);mix-blend-mode:multiply}
.hx-card{position:absolute;z-index:3;background:#fff;color:var(--ink);border-radius:20px;padding:16px 18px;box-shadow:0 30px 60px -28px rgba(0,0,0,.6);font-size:14px}
.hx-card small{display:block;color:var(--text-2);font-size:12.5px;margin-top:2px}
.hx-release{inset:70px auto auto 0;width:272px}
.hx-release b{font-size:15px}
.hx-row{display:flex;justify-content:space-between;align-items:center;margin-top:11px;font-weight:700}
.hx-row em{font-style:normal;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--cobalt-soft);color:#1F2CB8}
.hx-row em.hx-going{background:#FFF0E8;color:#B5471F}
.hx-row em.hx-wait{background:#F0F1F5;color:#6A7080}
.hx-stats{inset:auto auto 40px 6%;width:252px}
.hx-stats strong{display:block;font-family:var(--display);font-weight:600;font-size:30px;letter-spacing:-.04em;margin-top:6px}
.hx-stats em{font-style:normal;color:var(--coral);font-weight:800;font-size:13px}
.hx-bars{display:flex;gap:6px;align-items:flex-end;height:40px;margin-top:10px}
.hx-bars i{flex:1;height:var(--h);border-radius:4px;background:var(--cobalt)}
.hx-cid{inset:auto 0 150px auto;width:200px;background:var(--cobalt);color:#fff}
.hx-cid small{color:rgba(255,255,255,.8)}
.hx-cid strong{display:block;font-family:var(--display);font-weight:600;font-size:20px;margin-top:4px}
[dir=rtl] .hx-release{inset:70px 0 auto auto}
[dir=rtl] .hx-stats{inset:auto 6% 40px auto}
[dir=rtl] .hx-cid{inset:auto auto 150px 0}
[dir=rtl] .hero-v3-portrait{inset:0 auto 30px 4%}

/* ---------- Stores ---------- */
.stores{border:0;padding-block:44px}
.store-names{color:#4A5060}

/* ---------- Services: bento ---------- */
@media (min-width:901px){
  .svc-grid{display:grid!important;grid-template-columns:1.15fr 1fr;gap:20px}
  .svc-a{grid-column:1!important;grid-row:1}
  .svc-b{grid-column:2!important;grid-row:1}
  .svc-wide{grid-column:1 / -1!important}
}
.svc{border-radius:32px;border-color:var(--line)}
.svc-a{background:var(--ink);border:0;color:#F4F5F7}
.svc-a .svc-label,.svc-a>p,.svc-a .svc-copy>p{color:#A7ADBD}
.svc-a h3,.svc-a .svc-link{color:#fff}
.svc-a .svc-shot{border-color:#262A36;background:#141722}
.svc-b{background:var(--cobalt);border:0;color:#fff}
.svc-b .svc-label,.svc-b>p,.svc-b .svc-copy>p{color:rgba(255,255,255,.86)}
.svc-b .svc-label i{background:#fff}
.svc-b h3,.svc-b .svc-link{color:#fff}
.svc-b .svc-shot{border-color:rgba(255,255,255,.18)}
.svc h3{font-weight:600;letter-spacing:-.035em}
.svc-label i{background:var(--cobalt)}
.svc-live{background:rgba(142,155,255,.16);color:#AEB8FF}

/* ---------- Pricing ---------- */
.pricing-section{background:var(--paper)}
.plan{border-radius:32px}
.plan h3{font-weight:600;letter-spacing:-.035em}
.price b{font-weight:600;letter-spacing:-.06em}
.plan.featured{background:var(--cobalt);border-color:var(--cobalt);color:#fff;box-shadow:0 40px 80px -40px rgba(51,70,255,.8)}
.plan.featured .plan-description,.plan.featured .price small,.plan.featured .price-base-note{color:rgba(255,255,255,.82)!important}
.plan.featured ul{border-color:rgba(255,255,255,.22)}
.plan.featured .button-dark{background:#fff;color:var(--cobalt);box-shadow:none}
.plan.featured .button-dark:hover{background:#EEF0FF}
.plan.featured li>span{background:#fff;color:var(--cobalt)}
.plan li>span{background:var(--cobalt-soft);color:var(--cobalt)}
.plan-ribbon{background:var(--ink);color:#fff}
.audience-tabs{background:#E4E7ED}

/* ---------- Dark panels ---------- */
.culture-section,.product-section{margin-inline:16px;border-radius:44px;background:var(--ink)}
.culture-copy h2>span{color:var(--cobalt-lt)}
.culture-copy .eyebrow,.product-copy .eyebrow{color:#AEB8FF}
.culture-photo>img{border-radius:28px}
.culture-photo figcaption{background:var(--cobalt);color:#fff}
.product-tabs button[aria-selected=true]{background:var(--cobalt);border-color:var(--cobalt);color:#fff}
.check-list span{color:var(--cobalt-lt)}
.product-sales-link{color:var(--cobalt-lt)}
.product-copy h2{font-size:clamp(30px,2.9vw,44px)}
.muted{color:#9AA0AE}

/* ---------- How it works ---------- */
.step-no{color:#C9CEDA;font-weight:600}
.prep-item input:checked+.prep-box{background:var(--cobalt);border-color:var(--cobalt);color:#fff}
.prep-progress span{background:var(--cobalt)}
.prep-checklist{border-radius:32px}

/* ---------- Languages ---------- */
.path-grid>a:hover{background:var(--cobalt);color:#fff}
.path-grid>a:hover span{color:rgba(255,255,255,.8)}
.path-grid>a:hover b{color:#fff}

/* ---------- FAQ ---------- */
.faq-item summary:hover>span{background:var(--cobalt-soft);border-color:var(--cobalt-soft)}
.faq-item[open] summary>span{background:var(--cobalt);border-color:var(--cobalt);color:#fff}

/* ---------- Final CTA: cobalt panel ---------- */
.final-cta{margin:0 16px 16px;border-radius:44px;background:var(--cobalt);color:#fff}
.final-cta h2{color:#fff;font-weight:600}
.final-cta p:not(.eyebrow),.final-cta .final-offer{color:rgba(255,255,255,.85)!important}
.final-cta .eyebrow{color:#fff}
.final-cta .eyebrow::before{background:#fff}
.final-cta .button-dark{background:#fff;color:var(--ink)}
.final-cta .button-dark:hover{background:#EEF0FF}
.cta-orbit,.cta-orbit *{border-color:rgba(255,255,255,.35)!important;color:#fff!important}

/* ---------- Footer ---------- */
.footer{background:var(--ink)}
.footer-links a:hover,.footer-bottom a:hover{color:var(--cobalt-lt)}

/* ---------- Mobile start block ---------- */
/* Colours of the phone start block live in mobile-start.css (design 2). */

/* ---------- Tablet / phone ---------- */
@media (max-width:900px){
  .header{inset:10px 0 auto}
  .header .nav-shell{height:58px;padding:0 8px 0 18px;margin-inline:12px}
  .hero.hero-v3{padding-top:84px;border-radius:0 0 32px 32px}
  .hero-v3-art{min-height:520px;margin-top:20px}
  .hero-v3-portrait{inset:0 0 30px auto;width:82%!important}
  .hx-release{width:230px;top:40px}
  .hx-stats{width:220px;left:0;bottom:10px}
  .hx-cid{width:170px;bottom:120px}
  .hx-proof{gap:22px;flex-wrap:wrap}
  .culture-section,.product-section{margin-inline:10px;border-radius:32px}
  .final-cta{margin:0 10px 10px;border-radius:32px}
}
@media (max-width:640px){
  .hero.hero-v3 h1{font-size:clamp(42px,12vw,56px)}
  .hero-v3-description{font-size:16.5px}
  .hx-proof strong{font-size:20px}
  .hero-v3-actions{flex-direction:column;align-items:stretch}
  .hero-v3-discover{justify-content:center}
  .hero-v3-art{min-height:470px}
  .hx-release{width:210px;padding:13px 14px}
  .hx-stats{width:190px}
  .hx-cid{width:150px}
  h2{font-size:clamp(30px,8.4vw,38px)}
}

/* The floating nav sits over the phone's first block (stories), so that block starts below it. */
@media (max-width:900px){.m-start{margin-top:78px}}

/* ---------- Free-start tape above the nav (replaces the hero kicker) ---------- */
.hx-kicker{display:none}
.hx-ticker{position:relative;z-index:41;display:block;height:40px;overflow:hidden;background:var(--cobalt);color:#fff;text-decoration:none;direction:ltr}
.hx-ticker:hover{color:#fff}
.hx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hx-track{display:flex;width:max-content;height:100%;animation:hx-tape 48s linear infinite}
.hx-group{display:flex;align-items:center;flex:none}
.hx-group>span{padding:0 22px;font-size:14px;font-weight:600;line-height:1;white-space:nowrap}
.hx-group b{font-weight:800}
.hx-group i{flex:none;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5)}
.hx-t-cta{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.hx-ticker:hover .hx-track,.hx-ticker:focus-visible .hx-track{animation-play-state:paused}
[dir=rtl] .hx-track{animation-direction:reverse}
[dir=rtl] .hx-group>span{direction:rtl;font-size:15px}
@keyframes hx-tape{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.hx-track{animation:none}}
.header{top:calc(14px + var(--tk,40px))}
@media (max-width:900px){
  .hx-ticker{height:36px}
  .hx-group>span{font-size:13px;padding:0 16px}
  .header{top:calc(10px + var(--tk,36px))}
}

/* ---------- Mobile menu: a dark panel under the pill (the header itself is transparent) ---------- */
@media (max-width:900px){
  .header .mobile-nav{pointer-events:auto;box-sizing:border-box;width:auto;max-width:none;max-height:calc(100vh - 150px);overflow:auto;margin:8px 12px 0;padding:8px 18px 14px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(11,13,18,.97);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 30px 60px -24px rgba(0,0,0,.65)}
  .header .mobile-nav[hidden]{display:none}
  .header .mobile-nav>a{display:block;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.08);color:#F4F5F7;font-size:17px;font-weight:700}
  .header .mobile-nav>a:last-child{border-bottom:0}
  .header .mobile-nav>a[aria-current]{color:var(--cobalt-lt)}
  .header .mobile-nav .m-langs{display:flex;flex-wrap:wrap;gap:6px;padding:10px 0 14px;border-bottom:1px solid rgba(255,255,255,.08)}
  .header .mobile-nav .m-langs a{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#fff;font-size:13px;font-weight:800}
  .header .mobile-nav .m-langs a[aria-current]{border-color:var(--cobalt);background:var(--cobalt)}
}
