/* CULT UI refresh (2026-10-28).
   One type scale, one button, one card, one rhythm. Loaded after every other sheet,
   so it only restates what changes; markup and copy stay as they are. */

:root{
  --paper:#f0f1f5;--paper-2:#e8e9ed;--card:#ffffff;--ink:#101011;
  --text:#27282c;--text-2:#57585d;--line:#dcdee2;--line-2:#ccced3;
  --lime:#6878f8;--lime-2:#5668ee;--lime-ink:#0f143b;
  --r-sm:12px;--r-md:16px;--r-lg:24px;--r-xl:32px;
  --e1:0 1px 2px rgba(16,16,17,.05),0 12px 32px -20px rgba(16,16,17,.28);
  --e2:0 2px 6px rgba(16,16,17,.06),0 34px 70px -34px rgba(16,16,17,.38);
  --ease:cubic-bezier(.2,.7,.2,1);
}
html{scroll-behavior:smooth}
body{font-size:16px;line-height:1.6;background:var(--paper);text-rendering:optimizeLegibility}
::selection{background:var(--lime);color:var(--ink)}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px}

/* ---------- Type ---------- */
h2{font-size:clamp(38px,4.2vw,60px);line-height:1.05;letter-spacing:-.035em}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;line-height:1.4;color:var(--text-2)}
.eyebrow::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(104,120,248,.28)}
.hero-copy .eyebrow,.culture-copy .eyebrow,.final-cta .eyebrow,.label-copy .eyebrow,.product-copy .eyebrow{font-size:13px;letter-spacing:0}
.section-intro{max-width:360px;font-size:17px;line-height:1.65;color:var(--text-2)}
.muted{color:#83858d}
.section{padding-top:128px;padding-bottom:128px}
.section-heading{margin-bottom:56px}
.section-heading h2{margin-top:18px}

/* ---------- Buttons & links ---------- */
.button{min-height:54px;padding:0 26px;gap:12px;justify-content:center;border-radius:14px;font-size:15px;font-weight:700;letter-spacing:-.01em;transition:transform .2s var(--ease),background .2s,box-shadow .2s,color .2s}
.button:hover{transform:translateY(-2px)}
.button span{font-size:18px}
.button-dark{background:var(--ink);color:var(--paper);box-shadow:0 10px 24px -14px rgba(16,16,17,.6)}
.button-dark:hover{background:#26272b}
.button-lime{box-shadow:0 12px 28px -16px rgba(36,56,204,.9)}
.button-outline{border:1.5px solid var(--ink)}
.button-small{min-height:44px;padding:0 18px;font-size:14px;border-radius:12px}
.text-link{gap:10px;padding:4px 0;font-size:15px;font-weight:700;border-bottom:2px solid currentColor}
.text-link span{font-size:18px}

/* ---------- Announcement & header ---------- */
.announcement-offer p{font-size:13.5px}
.announcement-badge{font-size:11px;letter-spacing:.02em;text-transform:none;padding:6px 12px 6px 10px}
.announcement-cta{font-size:13px;padding:9px 18px}
.header{background:rgba(240,241,245,.82);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);border-bottom-color:var(--line)}
.nav-shell{height:76px}
.desktop-nav{gap:34px;font-size:14.5px;font-weight:600}
.desktop-nav a{position:relative}
.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;border-radius:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.desktop-nav a:hover{color:var(--ink)}
.desktop-nav a:hover::after{transform:scaleX(1)}
.nav-actions .login{font-size:14.5px;font-weight:600}
.language summary{font-size:14px}

/* ---------- Hero ---------- */
.hero-v3-description{max-width:440px;font-size:18px;line-height:1.65;color:#bbbec5}
.hero-v3-free{font-size:13px;letter-spacing:0;text-transform:none;padding:9px 16px 9px 13px}
.hero-v3-actions{gap:26px}
.hero-v3-actions .button{min-height:56px;font-size:16px;padding:0 28px;border-radius:14px}
.hero-v3-discover{font-size:15px;font-weight:700;border-bottom-width:2px}
.hero-v3-rights{font-size:13px;color:#999ca6;margin-top:22px}
.hero-v3-bottom>span:first-child{font-size:12px;letter-spacing:0;text-transform:none;max-width:none;color:#999ca6}
.hero-v3-bottom strong{font-size:16px}
.hero-v3-bottom>a>span{font-size:13px}
.hero-v3-signoff{font-size:11px;letter-spacing:.2em}
.hero-v3-label>span{font-size:10px;letter-spacing:.02em;text-transform:none}
.hero-v3-portrait figcaption>span{font-size:11px;letter-spacing:.02em;text-transform:none}

/* ---------- Stores strip & tape ---------- */
.stores{padding-block:40px 46px}
.stores h2{font-size:14px;font-weight:600;letter-spacing:0;color:var(--text-2);margin-bottom:28px}
.creative-tape{padding:20px 0}

/* ---------- Services ---------- */
.svc{border-color:var(--line);border-radius:var(--r-lg);box-shadow:var(--e1);transition:box-shadow .3s var(--ease),transform .3s var(--ease)}
.svc:hover{box-shadow:var(--e2);transform:translateY(-3px)}
.svc-label{font-size:14px}
.svc>p,.svc-copy>p{font-size:16.5px;line-height:1.65;color:var(--text-2)}
.svc-link{font-size:15px}

/* ---------- Pricing ---------- */
.pricing-section{background:var(--paper-2)}
.pricing-heading h2{margin:18px 0}
.audience-tabs{padding:5px;border-radius:14px;background:#dadce1;gap:4px}
.audience-tabs button{min-height:46px;padding:0 22px;border-radius:10px;font-size:14.5px;font-weight:700;color:#5c5e63}
.audience-tabs button.active{background:var(--card);box-shadow:0 1px 2px rgba(16,16,17,.08),0 6px 14px -8px rgba(16,16,17,.25)}
.pricing-heading>p:not(.eyebrow){font-size:17px;line-height:1.6;color:var(--text-2);max-width:520px;margin-inline:auto}
.pricing-heading>p.plan-reason{font-size:16px;font-weight:600;color:var(--text);min-height:0;margin-top:20px}
.currency-choice{margin:30px auto 40px}
.currency-choice label{font-size:14px}
.currency-choice select{border-radius:10px;border-color:var(--line-2);padding:10px 12px;font-size:14px}
.currency-choice p{font-size:13px;color:var(--text-2)}
.plans{gap:22px}
.plan{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:40px 34px 34px;box-shadow:var(--e1);transition:box-shadow .3s var(--ease),transform .3s var(--ease)}
.plan:hover{box-shadow:var(--e2);transform:translateY(-3px)}
.plan.featured{background:var(--lime);border-color:#5464e2;box-shadow:0 2px 6px rgba(18,29,112,.12),0 40px 80px -40px rgba(27,43,163,.75)}
.plan-ribbon{top:-14px;padding:7px 14px;border-radius:999px;font-size:12px;letter-spacing:0;text-transform:none}
.plan h3{font-size:26px;letter-spacing:-.025em}
.plan-description{font-size:15.5px;line-height:1.55;color:var(--text-2);min-height:0}
.plan.featured .plan-description{color:#1c214b}
.price{margin:30px 0 26px}
.price b{font-size:68px;letter-spacing:-.06em}
.price>sup{font-size:26px}
.price>span{font-size:24px}
.price small{font-size:14px;color:var(--text-2)}
.price-base-note{font-size:13px!important}
.plan .button{width:100%;min-height:56px;font-size:16px;justify-content:center;border-radius:14px}
.plan ul{gap:14px;margin-top:28px;padding-top:26px}
.plan li{font-size:15.5px;line-height:1.45;gap:12px;align-items:flex-start}
.plan li>span{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:12px;margin-top:-1px}
.plan.featured li>span{background:var(--ink);color:var(--lime)}
.pricing-after>p{font-size:14px;line-height:1.6}
.pricing-after .text-link{font-size:15px}
.pricing-help{font-size:16px;margin-top:40px;padding-top:28px;border-top-color:var(--line-2)}

/* ---------- Culture ---------- */
.culture-section{padding-block:120px}
.culture-copy .eyebrow{color:#a9aebd}
.culture-copy>p:not(.eyebrow){font-size:18px;line-height:1.65;color:#aeb2be;max-width:440px}
.culture-copy>strong{font-size:15px;letter-spacing:0}
.culture-photo>img{border-radius:var(--r-lg)}
.culture-photo figcaption{font-size:12px;letter-spacing:.02em;text-transform:none;border-radius:6px}

/* ---------- How it works ---------- */
.steps{gap:48px}
.step-no{font-size:72px;font-weight:700;letter-spacing:-.05em;color:#c0c3ca;border-bottom-color:var(--line-2)}
.step h3{font-size:23px;letter-spacing:-.02em;margin-bottom:10px}
.step p{font-size:16.5px;line-height:1.65;color:var(--text-2);max-width:340px}
.prep-grid{margin-top:96px;padding-top:96px;border-top-color:var(--line)}
.prep-intro>p:not(.eyebrow){font-size:17px;line-height:1.65;color:var(--text-2)}
.prep-checklist{background:var(--card);border-color:var(--line);border-radius:var(--r-xl);padding:34px;box-shadow:var(--e1)}
.prep-counter>span{font-size:12px;letter-spacing:.06em}
.prep-item b{font-size:16.5px}
.prep-item small{font-size:14px;line-height:1.55}
.prep-box{width:26px;height:26px;border-radius:8px}
.prep-feedback{font-size:14.5px}
.prep-checklist .button{font-size:16px;min-height:56px}
.prep-checklist .prep-note{font-size:13px}

/* ---------- Product ---------- */
.product-section{padding-block:128px}
.product-copy h2{font-size:clamp(36px,3.3vw,48px)}
.product-copy>p:not(.eyebrow){font-size:17.5px;line-height:1.65;max-width:440px;color:#abadb3}
.check-list{font-size:16px;gap:14px}
.product-tabs button{font-size:14px;padding:11px 16px;border-radius:10px}
.product-sales-link{font-size:15px}

/* ---------- Languages ---------- */
.path-grid{gap:20px}
.path-grid>a,.path-grid>a:nth-child(2),.path-grid>a:nth-child(3){background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:34px;box-shadow:var(--e1);transition:background .3s var(--ease),color .3s,transform .3s var(--ease),box-shadow .3s}
.path-grid>a:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px);box-shadow:var(--e2)}
.path-grid>a:hover b{color:var(--lime)}
.path-grid span{font-size:13px;letter-spacing:.04em;color:var(--text-2)}
.path-grid>a:hover span{color:#a2a4aa}
.path-grid h3{font-size:30px;letter-spacing:-.03em}
.path-grid b{font-size:15px}

/* ---------- FAQ ---------- */
.faq{gap:96px}
.faq-item summary{font-size:18px;font-weight:700;line-height:1.4;letter-spacing:-.01em;padding:26px 0}
.faq-item summary>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line-2);font-size:20px;transition:transform .25s var(--ease),background .2s,border-color .2s}
.faq-item summary:hover>span{background:var(--lime);border-color:var(--lime)}
.faq-item[open] summary>span{background:var(--ink);border-color:var(--ink);color:var(--lime)}
.faq-item p{font-size:16.5px;line-height:1.7;color:var(--text-2);max-width:600px;padding-bottom:28px}

/* ---------- Final CTA ---------- */
.final-cta{padding-block:120px}
.final-cta p:not(.eyebrow){font-size:18px;color:#1e2456}
.final-cta .final-offer{font-size:14px!important;opacity:.85}
.final-cta .eyebrow{color:#1b214d}
.final-cta .eyebrow::before{background:var(--ink);box-shadow:none}
.final-cta .button{min-height:58px;font-size:16px;padding:0 30px}

/* ---------- Footer ---------- */
.footer{padding-top:80px}
.footer-top>div>p{font-size:15px;color:#9b9ea5}
.footer-links{gap:96px}
.footer-links h3{font-size:13px;color:#80838d;letter-spacing:.02em}
.footer-links a{font-size:15px}
.footer-bottom{font-size:13px;color:#838791;padding-top:26px}
.footer-bottom>div{gap:26px}
.footer-bottom a,.footer-bottom .privacy-settings{font-size:13px}

/* ---------- Small pages (purchase, privacy, terms) ---------- */
.market-header nav{font-size:14.5px}
.market-footer{font-size:14px}
.editorial p{font-size:17px;line-height:1.75}

/* ---------- Consent ---------- */
.consent-card{border-radius:var(--r-lg);box-shadow:var(--e2);border-color:var(--line-2)}
.consent-card p{font-size:14.5px}
.consent-card button{border-radius:12px;font-size:14px;padding:13px}

/* ---------- Tablet ---------- */
@media (max-width:1100px){
  .section{padding-top:104px;padding-bottom:104px}
  .faq{gap:56px}
  .footer-links{gap:56px}
  .price b{font-size:58px}
}

/* ---------- Phone ---------- */
@media (max-width:640px){
  body{font-size:15.5px}
  h2{font-size:clamp(34px,9.4vw,42px);letter-spacing:-.03em}
  .section{padding-top:80px;padding-bottom:80px}
  .section-heading{margin-bottom:36px}
  .section-intro{font-size:16px;max-width:none}
  .eyebrow,.hero-copy .eyebrow,.culture-copy .eyebrow,.final-cta .eyebrow,.label-copy .eyebrow,.product-copy .eyebrow{font-size:12.5px}
  .pricing-heading>p:not(.eyebrow){font-size:15.5px;max-width:none}
  .pricing-heading>p.plan-reason{font-size:15px;text-align:start}
  .button{min-height:52px;font-size:15px}
  .announcement-offer p{font-size:12.5px}
  .hero-v3-description{font-size:16.5px;max-width:none}
  .hero-v3-actions .button{min-height:54px;font-size:15.5px}
  .hero-v3-discover{font-size:14.5px}
  .hero-v3-rights{font-size:12.5px}
  .stores h2{font-size:13px}
  .svc>p,.svc-copy>p{font-size:15.5px}
  .audience-tabs button{font-size:13px;padding:0 10px}
  .plan{padding:34px 24px 28px;border-radius:var(--r-lg)}
  .plan h3{font-size:24px}
  .plan-description{font-size:15px}
  .price b{font-size:60px}
  .plan li{font-size:15px}
  .plan .button{font-size:15.5px}
  .pricing-after>p{font-size:13.5px}
  .culture-section{padding-block:80px}
  .culture-copy>p:not(.eyebrow){font-size:16.5px}
  .step-no{font-size:48px}
  .step h3{font-size:20px}
  .step p{font-size:15.5px}
  .prep-grid{margin-top:64px;padding-top:64px}
  .prep-intro>p:not(.eyebrow){font-size:16px}
  .prep-checklist{padding:26px 22px}
  .prep-item b{font-size:15.5px}
  .prep-item small{font-size:13.5px}
  .product-section{padding-block:80px}
  .product-copy>p:not(.eyebrow){font-size:16px}
  .check-list{font-size:15px}
  .path-grid>a,.path-grid>a:nth-child(2),.path-grid>a:nth-child(3){padding:28px;border-radius:var(--r-lg)}
  .path-grid h3{font-size:26px}
  .faq-item summary{font-size:16.5px;padding:22px 0}
  .faq-item p{font-size:15.5px}
  .final-cta{padding-block:80px}
  .final-cta p:not(.eyebrow){font-size:16.5px}
  .footer{padding-top:56px}
  .footer-top>div>p{font-size:14.5px}
  .footer-links a{font-size:15px}
  .footer-links h3{font-size:12.5px}
  .footer-bottom,.footer-bottom a,.footer-bottom .privacy-settings{font-size:12.5px}
}

/* ---------- RTL ---------- */
/* A price reads left to right in every language; in RTL the flex row otherwise put .99 before 79. */
[dir=rtl] .price{direction:ltr;justify-content:flex-end}
[dir=rtl] .eyebrow::before{order:0}
