
  :root{
    /* Wellput brand values sampled from the live site */
    --ink:#393D5C;
    --ink-soft:#6B6F8C;
    --lavender:#BCA8E0;
    --peri:#8FA1E5;
    --peri-deep:#5566C0;
    --surface:#EEF0FB;
    --surface-2:#F7F8FD;
    --cream:#FBFCF8;
    --accent:#DE6E53;
    --accent-deep:#C95C41;
    --cta:#7951C1;
    --cta-deep:#63429E;
    --line:#E2E4F1;
    --white:#FFFFFF;

    --font:'Poppins', system-ui, -apple-system, sans-serif;

    --maxw:1140px;
    --pad:clamp(20px, 5vw, 40px);
    --radius:16px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;font-family:var(--font);color:var(--ink);background:var(--white);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}

  .eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--peri-deep);margin:0 0 14px;}

  h1,h2,h3{font-weight:600;line-height:1.14;letter-spacing:-.02em;margin:0;}
  h1{font-size:clamp(2.4rem,5.4vw,3.9rem);font-weight:700;}
  h1 em{font-style:italic;font-weight:700;color:var(--accent);}
  h2{font-size:clamp(1.75rem,3.4vw,2.5rem);}
  h3{font-size:1.2rem;line-height:1.25;}
  p{margin:0 0 1rem;}

  .btn{display:inline-block;font-family:var(--font);font-weight:600;font-size:.98rem;padding:13px 24px;border-radius:999px;transition:transform .15s ease, background .15s ease, border-color .15s ease;cursor:pointer;border:1.5px solid transparent;}
  .btn-primary{background:var(--cta);color:var(--white);}
  .btn-primary:hover{background:var(--cta-deep);transform:translateY(-1px);}
  .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line);}
  .btn-ghost:hover{border-color:var(--ink);transform:translateY(-1px);}
  .btn-purple{background:#7951C1;color:var(--white);}
  .btn-purple:hover{background:#6844AB;transform:translateY(-1px);}
  .btn-ink{background:var(--ink);color:var(--white);}
  .btn-ink:hover{background:#2c2f47;transform:translateY(-1px);}
  .btn-peri{background:var(--peri-deep);color:var(--white);}
  .btn-peri:hover{background:#47549E;transform:translateY(-1px);}

  header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line);}
  .nav{display:flex;align-items:center;justify-content:space-between;height:70px;}
  .brand{display:inline-flex;align-items:center;}
  .brand .logo{height:30px;width:auto;display:block;}
  .brand .dot{color:var(--accent);}
  .nav-links{display:flex;align-items:center;gap:28px;}
  .nav-links a.lnk{font-size:.95rem;color:var(--ink-soft);font-weight:500;}
  .nav-links a.lnk:hover{color:var(--ink);}
  .nav-cta{display:flex;align-items:center;gap:14px;}
  .nav-cta-inline{display:none;}
  .menu-btn{display:none;background:none;border:0;font-size:1.5rem;cursor:pointer;color:var(--ink);line-height:1;}

  .hero{position:relative;padding:clamp(58px,9vw,110px) 0 clamp(40px,6vw,64px);background:linear-gradient(180deg,#E9ECFA 0%, #F2F3FC 46%, var(--white) 100%);}
  .hero .lede{max-width:780px;}
  .hero h1{margin-bottom:22px;}
  .hero .sub{font-size:clamp(1.06rem,1.7vw,1.3rem);color:var(--ink-soft);max-width:600px;margin-bottom:30px;}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px;}

  .paths{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .path{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:rgba(255,255,255,.7);transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;}
  .path:hover{border-color:var(--peri);transform:translateY(-2px);box-shadow:0 10px 30px -18px rgba(57,61,92,.45);}
  .path .tag{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--peri-deep);}
  .path h3{margin:12px 0 8px;}
  .path p{font-size:.97rem;color:var(--ink-soft);margin-bottom:14px;}
  .path a.go{font-weight:600;color:var(--cta);font-size:.95rem;}
  .path a.go:hover{color:var(--cta-deep);}

  .proof{padding:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream);}
  .proof .label{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-align:center;margin-bottom:22px;}
  .logos{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px;align-items:center;}
  .logos span{font-weight:600;font-size:1.06rem;color:#9297AD;letter-spacing:-.01em;}

  section.block{padding:clamp(58px,8vw,96px) 0;}
  .block.alt{background:var(--surface);}
  .section-head{max-width:700px;margin-bottom:44px;}
  .section-head p{color:var(--ink-soft);font-size:1.06rem;margin-top:14px;}

  .define .answer{font-weight:500;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.42;letter-spacing:-.01em;max-width:900px;}
  .define .answer b{color:var(--accent);font-weight:600;font-style:italic;}

  .two{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px;}
  .card h3{margin-bottom:16px;}
  .card ul{list-style:none;padding:0;margin:0 0 24px;}
  .card li{position:relative;padding-left:26px;margin-bottom:13px;color:var(--ink-soft);font-size:.99rem;}
  .card li b{color:var(--ink);font-weight:600;}
  .card li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:3px;background:var(--peri);}
  .two .card{display:flex;flex-direction:column;}
  .two .card .btn{margin-top:auto;align-self:flex-start;}

  .model p.body{max-width:770px;color:var(--ink-soft);font-size:1.06rem;}
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;}
  .stat{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:var(--surface-2);}
  .stat .num{font-weight:700;font-size:2.1rem;letter-spacing:-.03em;color:var(--ink);}
  .stat .num.up{color:var(--accent);}
  .stat .cap{font-size:.93rem;color:var(--ink-soft);margin-top:8px;}

  .faq{max-width:880px;}
  details.qa{border-top:1px solid var(--line);}
  details.qa:last-child{border-bottom:1px solid var(--line);}
  details.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-weight:600;font-size:1.14rem;color:var(--ink);}
  details.qa summary::-webkit-details-marker{display:none;}
  details.qa .mk{color:var(--cta);font-size:1.5rem;line-height:1;transition:transform .2s ease;flex:0 0 auto;font-weight:400;}
  details.qa[open] .mk{transform:rotate(45deg);}
  details.qa .a{padding:0 0 24px;color:var(--ink-soft);max-width:780px;}

  .cta-band{background:var(--ink);color:var(--white);}
  .cta-band .wrap{padding-top:clamp(58px,8vw,90px);padding-bottom:clamp(58px,8vw,90px);}
  .cta-band h2{color:var(--white);max-width:640px;}
  .cta-band h2 em{font-style:italic;color:var(--lavender);font-weight:600;}
  .cta-band p{color:#B7BAD0;max-width:560px;margin-top:16px;margin-bottom:30px;font-size:1.07rem;}
  .cta-band .btn-ghost{color:var(--white);border-color:rgba(255,255,255,.3);}
  .cta-band .btn-ghost:hover{border-color:var(--white);}

  footer.site{background:var(--cream);border-top:1px solid var(--line);padding:56px 0 40px;}
  .foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;margin-bottom:40px;}
  .foot-brand .brand .logo{height:34px;}
  .foot-brand p{color:var(--ink-soft);font-size:.93rem;max-width:320px;margin-top:12px;}
  .foot-col h4{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;margin:0 0 14px;}
  .foot-col a{display:block;color:var(--ink);font-size:.95rem;margin-bottom:10px;font-weight:500;}
  .foot-col a:hover{color:var(--cta);}
  .foot-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--ink-soft);font-size:.87rem;}
  .foot-bottom a:hover{color:var(--cta);}

  .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{opacity:1;transform:none;}

  @media (max-width:820px){
    .nav-links{position:fixed;inset:70px 0 auto 0;background:var(--white);flex-direction:column;align-items:flex-start;gap:0;padding:10px var(--pad) 20px;border-bottom:1px solid var(--line);display:none;}
    .nav-links.open{display:flex;}
    .nav-links a.lnk{padding:12px 0;width:100%;border-bottom:1px solid var(--line);}
    .nav .nav-links .nav-cta-inline{display:flex;gap:12px;padding-top:14px;}
    .menu-btn{display:block;}
    .nav-cta{display:none;}
    .paths,.two,.stats{grid-template-columns:1fr;}
  }
  @media (prefers-reduced-motion:reduce){
    *{scroll-behavior:auto;}
    .reveal{opacity:1;transform:none;transition:none;}
    .btn,.path{transition:none;}
  }


/* ---------- Publisher page ---------- */
.pub-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
.pub-hero-grid .lede{max-width:none;}
@media(max-width:900px){.pub-hero-grid{grid-template-columns:1fr;gap:36px;}}

.portal{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 26px 60px -30px rgba(57,61,92,.5);overflow:hidden;}
.portal-top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--surface-2);}
.portal-top .pt-logo{font-weight:600;color:var(--ink);font-size:1rem;letter-spacing:-.02em;}
.portal-top .pt-logo .dot{color:var(--accent);}
.portal-top .pt-tag{font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--peri-deep);}
.portal-body{padding:18px;}
.portal-body h4{margin:0 0 14px;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);}
.placement{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:12px;}
.placement:last-child{margin-bottom:0;}
.placement .pl-name{font-weight:600;color:var(--ink);font-size:.97rem;margin-bottom:12px;}
.pl-stats{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:14px;}
.pl-stat .k{font-size:.64rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);}
.pl-stat .v{font-weight:600;color:var(--ink);font-size:1.02rem;}
.pl-stat .v.earn{color:var(--accent);}
.pl-reserve{display:inline-block;background:var(--accent);color:#fff;font-weight:600;font-size:.82rem;padding:8px 18px;border-radius:999px;}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:820px){.steps{grid-template-columns:1fr;}}
.step{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
.step .n{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:var(--surface);color:var(--peri-deep);font-weight:700;margin-bottom:18px;}
.step h3{margin-bottom:8px;}
.step p{color:var(--ink-soft);font-size:.97rem;margin:0;}

.values{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media(max-width:820px){.values{grid-template-columns:1fr;}}
.value{padding:24px 24px 24px 26px;border-left:3px solid var(--peri);background:var(--surface-2);border-radius:0 12px 12px 0;}
.value h3{font-size:1.12rem;margin-bottom:8px;}
.value p{color:var(--ink-soft);font-size:.97rem;margin:0;}

.criteria{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(28px,4vw,42px);display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;}
@media(max-width:820px){.criteria{grid-template-columns:1fr;gap:16px;}}
.criteria .big{font-weight:700;font-size:clamp(2.6rem,6vw,3.6rem);color:var(--ink);letter-spacing:-.03em;line-height:1;}
.criteria .big span{color:var(--accent);}
.criteria .ctext h3{margin-bottom:10px;}
.criteria .ctext p{color:var(--ink-soft);margin:0 0 10px;}
.criteria .ctext p:last-child{margin-bottom:0;}

.quote{background:var(--lavender);border-radius:var(--radius);padding:clamp(30px,5vw,54px);}
.quote blockquote{margin:0;font-size:clamp(1.14rem,2vw,1.42rem);line-height:1.5;color:var(--ink);font-weight:500;}
.quote .cite{margin-top:24px;font-size:.96rem;color:var(--ink);}
.quote .cite b{font-weight:600;}
.quote .cite a{text-decoration:underline;}

.hero-note{font-size:.85rem;color:var(--ink-soft);margin:-32px 0 0;max-width:520px;}

/* Merit / rate performance */
.merit{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(26px,4vw,38px);}
.merit-row{display:grid;grid-template-columns:180px 1fr 110px;gap:20px;align-items:center;margin-bottom:18px;}
.merit-k{font-weight:600;color:var(--ink);font-size:.98rem;}
.merit-bar{height:12px;border-radius:999px;background:var(--surface);overflow:hidden;}
.merit-bar .fill{display:block;height:100%;border-radius:999px;}
.merit-bar .fill.up{background:var(--peri);}
.merit-bar .fill.down{background:var(--lavender);}
.merit-v{font-weight:600;font-size:.94rem;text-align:right;}
.merit-v.up{color:var(--peri-deep);}
.merit-v.down{color:var(--ink-soft);}
.merit-note{margin:22px 0 0;padding-top:20px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.98rem;}
@media(max-width:700px){
  .merit-row{grid-template-columns:1fr;gap:8px;margin-bottom:24px;}
  .merit-v{text-align:left;}
}

/* ---------- Brands page ---------- */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:820px){.compare{grid-template-columns:1fr;}}
.col{border:1px solid var(--line);border-radius:var(--radius);padding:30px;}
.col.trad{background:var(--surface-2);}
.col.well{background:var(--ink);border-color:var(--ink);}
.col-tag{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;color:var(--ink-soft);}
.col.well .col-tag{color:var(--lavender);}
.col-num{font-weight:700;font-size:clamp(1.4rem,2.4vw,1.85rem);letter-spacing:-.02em;color:var(--ink);line-height:1.2;}
.col.well .col-num{color:#fff;}
.col-sub{font-size:.95rem;color:var(--ink-soft);margin:8px 0 18px;}
.col.well .col-sub{color:#B7BAD0;}
.col ul{list-style:none;padding:0;margin:0;}
.col li{position:relative;padding-left:24px;margin-bottom:10px;color:var(--ink-soft);font-size:.97rem;}
.col.well li{color:#E4E6F2;}
.col li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:2px;background:var(--ink-soft);opacity:.5;}
.col.well li::before{background:var(--accent);opacity:1;}

.phases{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch;}
@media(max-width:820px){.phases{grid-template-columns:1fr;}}
.phase{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px;}
.phase.arrow{background:none;border:0;padding:0;font-size:1.9rem;color:var(--peri);text-align:center;}
.ph-tag{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--peri-deep);margin:0 0 10px;}
.phase h3{margin-bottom:10px;}
.phase p{color:var(--ink-soft);font-size:.98rem;}
.ph-goal{margin:16px 0 0;padding-top:16px;border-top:1px solid var(--line);}
.ph-goal b{color:var(--ink);font-weight:600;}

.loop-note{margin:26px 0 0;color:var(--ink-soft);font-size:.98rem;padding-left:18px;border-left:3px solid var(--peri);}

.invest{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(28px,4vw,40px);align-items:start;}
@media(max-width:820px){.invest{grid-template-columns:1fr;gap:24px;}}
.invest-num{font-weight:700;font-size:clamp(2.4rem,5vw,3.2rem);letter-spacing:-.03em;color:var(--accent);line-height:1;}
.invest-hero p{margin:12px 0 0;color:var(--ink-soft);font-size:.98rem;}
.invest-list{margin:0;}
.invest-list > div{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line);}
.invest-list > div:first-child{border-top:0;padding-top:0;}
@media(max-width:600px){.invest-list > div{grid-template-columns:1fr;gap:4px;}}
.invest-list dt{font-weight:600;color:var(--ink);font-size:.95rem;}
.invest-list dd{margin:0;color:var(--ink-soft);font-size:.95rem;}

/* ---------- Offerings / Flight ---------- */
.offers{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;}
@media(max-width:900px){.offers{grid-template-columns:1fr;}}
.offer{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(26px,3.4vw,34px);background:var(--white);}
.offer.flight{border-color:var(--accent);box-shadow:0 20px 50px -34px rgba(222,110,83,.75);}
.offer-head{margin-bottom:16px;}
.offer-badge{display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:14px;background:var(--surface);color:var(--peri-deep);}
.offer.flight .offer-badge{background:var(--accent);color:#fff;}
.offer h3{font-size:clamp(1.6rem,2.6vw,2rem);font-weight:700;letter-spacing:-.02em;}
.offer.flight h3::after{content:".";color:var(--accent);}
.offer-line{margin:6px 0 0;font-style:italic;font-weight:500;color:var(--accent);font-size:1.02rem;}
.offer.ongoing h3::after{content:".";color:var(--peri-deep);}
.offer.ongoing .offer-line{color:var(--peri-deep);}
.offer-body{color:var(--ink-soft);font-size:.98rem;}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 22px;}
.pill{font-size:.78rem;font-weight:500;padding:7px 16px;border-radius:999px;border:1px solid var(--line);color:var(--ink);background:var(--surface-2);}
.offer-specs{margin:0 0 24px;}
.offer-specs > div{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:11px 0;border-top:1px solid var(--line);}
@media(max-width:600px){.offer-specs > div{grid-template-columns:1fr;gap:2px;}}
.offer-specs dt{font-size:.7rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);align-self:center;}
.offer-specs dd{margin:0;color:var(--ink);font-weight:600;font-size:.95rem;}
.offer .btn{margin-top:auto;align-self:flex-start;}

/* Proof band, upgraded */
.proof{padding:clamp(48px,6vw,66px) 0;}
.proof-head{text-align:center;max-width:640px;margin:0 auto 30px;}
.proof-title{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:600;letter-spacing:-.02em;color:var(--ink);}
.proof-sub{margin:12px 0 0;color:var(--ink-soft);font-size:1rem;}
.logos{gap:18px 44px;}
.logos span{color:var(--ink);opacity:.62;font-size:1.12rem;transition:opacity .18s ease;}
.logos span:hover{opacity:1;}

/* ================= For Brands: color system ================= */

/* Hero: warmer, with a coral wash */
.page-brands .hero{
  background:
    radial-gradient(900px 420px at 88% -8%, rgba(222,110,83,.16), transparent 60%),
    radial-gradient(760px 400px at 8% 0%, rgba(188,168,224,.34), transparent 62%),
    linear-gradient(180deg,#E9ECFA 0%, #F4F5FC 52%, var(--white) 100%);
}

/* Section eyebrows: pill treatment */
.page-brands .eyebrow{
  display:inline-block;background:var(--surface);color:var(--peri-deep);
  padding:6px 14px;border-radius:999px;letter-spacing:.1em;
}
.page-brands .hero .eyebrow{background:rgba(255,255,255,.75);}

/* Proof band on cream, coral rule */
.page-brands .proof{background:var(--cream);border-top:2px solid var(--accent);}

/* PROBLEM cards: coral-tinted, reads as risk */
.page-brands .problems .step{
  background:linear-gradient(180deg,#FDF1EE 0%, #FFF9F7 100%);
  border-color:#F3CFC4;
}
.page-brands .problems .step .n{background:var(--accent);color:#fff;}
.page-brands .problems .step h3{color:var(--ink);}

/* SOLUTION value tiles: rotating accent + white cards */
.page-brands .values{grid-template-columns:repeat(3,1fr);}
@media(max-width:820px){.page-brands .values{grid-template-columns:1fr;}}
.page-brands .values .value{background:var(--white);border:1px solid var(--line);border-left-width:4px;border-radius:12px;}
.page-brands .values .v1{border-left-color:var(--peri);}
.page-brands .values .v2{border-left-color:var(--accent);background:linear-gradient(180deg,#FDF3F0,#fff);}
.page-brands .values .v3{border-left-color:var(--lavender);}

/* COMPARISON: make the numbers carry the argument */
.page-brands .col.trad{background:var(--surface-2);border-color:var(--line);}
.page-brands .col.trad .col-num{color:var(--ink-soft);}
.page-brands .col.well{
  background:linear-gradient(160deg,#3F4468 0%, var(--ink) 68%);
  border-color:var(--ink);
  box-shadow:0 26px 60px -34px rgba(57,61,92,.85);
}
.page-brands .col-num .fig{color:var(--accent);font-weight:700;}
.page-brands .col.trad .col-num .fig{color:var(--ink);opacity:.55;}
.page-brands .col-num .hl{color:var(--accent);font-weight:700;}

/* PROCESS: Discovery lavender, Optimized periwinkle, coral arrow */
.page-brands .phase.p-discovery{
  background:linear-gradient(180deg,#F3EFFA 0%, #FBFAFE 100%);
  border-color:#DDD2EF;
}
.page-brands .phase.p-discovery .ph-tag{color:#7A5FB0;}
.page-brands .phase.p-optimized{
  background:linear-gradient(180deg,#EDF0FC 0%, #FAFBFE 100%);
  border-color:#CBD4F2;
}
.page-brands .phase.arrow{color:var(--accent);font-weight:700;}

/* PRICING MECHANIC: periwinkle numbered badges */
.page-brands .mechanic .step{background:var(--surface-2);border-color:#D5DCF3;}
.page-brands .mechanic .step .n{background:var(--peri);color:#fff;}

/* Loop note reads as a neutral callout, not a warning */.page-brands .loop-note{
  border-left:0;padding:16px 20px;border-radius:12px;
  background:#EEF1FC;color:var(--ink);border:1px solid #D5DCF3;
}

/* OFFERS: Flight coral, ongoing periwinkle */
.page-brands .offer.flight{
  background:linear-gradient(180deg,#FDF2EF 0%, var(--white) 55%);
  border-color:var(--accent);border-width:2px;
}
.page-brands .offer.flight .pill{background:#fff;border-color:#F0C8BC;color:var(--accent-deep);font-weight:600;}
.page-brands .offer.flight .offer-specs dd{color:var(--ink);}
.page-brands .offer.ongoing{
  background:linear-gradient(180deg,#EEF1FC 0%, var(--white) 55%);
  border-color:var(--peri);border-width:2px;
}
.page-brands .offer.ongoing .offer-badge{background:var(--peri);color:#fff;}
.page-brands .offer.ongoing .pill{background:#fff;border-color:#CBD4F2;color:var(--peri-deep);font-weight:600;}

/* FAQ open state gets a tint */
.page-brands details.qa[open]{background:var(--surface-2);border-radius:12px;padding-left:18px;padding-right:18px;}

/* CTA band: gradient + lavender emphasis */
.page-brands .cta-band{background:linear-gradient(140deg,#42476D 0%, var(--ink) 60%);}

/* Logo wall as chips (interim treatment until real logo files land) */
.logos{gap:12px 14px;}
.logos span{
  opacity:1;padding:13px 24px;border:1px solid var(--line);border-radius:12px;
  background:#fff;color:#6B7086;font-size:1.02rem;font-weight:600;letter-spacing:-.01em;
  transition:color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.logos span:hover{color:var(--ink);border-color:var(--peri);box-shadow:0 10px 24px -16px rgba(57,61,92,.5);transform:translateY(-1px);}

/* ================= Learn hub ================= */
.learn-featured{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;
  border:2px solid var(--accent);border-radius:var(--radius);padding:clamp(28px,4vw,40px);
  background:linear-gradient(180deg,#FDF2EF 0%, var(--white) 60%);margin-bottom:26px;
  transition:transform .18s ease, box-shadow .18s ease;}
.learn-featured:hover{transform:translateY(-2px);box-shadow:0 22px 50px -30px rgba(222,110,83,.6);}
.lf-tag{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;}
.learn-featured h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:10px;}
.lf-text p{color:var(--ink-soft);margin:0 0 16px;max-width:640px;}
.lf-go{font-weight:600;color:var(--cta);}
.lf-mark{width:88px;height:88px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.6rem;font-weight:700;flex:0 0 auto;}
@media(max-width:700px){.learn-featured{grid-template-columns:1fr;}.lf-mark{display:none;}}

.learn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:820px){.learn-grid{grid-template-columns:1fr;}}
.learn-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff;}
.learn-card .lc-tag{font-size:.7rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--peri-deep);margin:0 0 12px;}
.learn-card h3{font-size:1.12rem;margin-bottom:10px;}
.learn-card p{color:var(--ink-soft);font-size:.95rem;margin:0 0 16px;}
.learn-card .lc-go{margin-top:auto;font-weight:600;font-size:.9rem;color:var(--cta);}
.learn-card.soon{opacity:.72;background:var(--surface-2);}
.learn-card.soon .lc-go{color:var(--ink-soft);font-weight:600;}

/* ================= Article ================= */
.article{padding:clamp(40px,6vw,72px) 0 clamp(30px,4vw,48px);}
.article .wrap{max-width:820px;}
.crumbs{font-size:.86rem;color:var(--ink-soft);margin-bottom:20px;}
.crumbs a{color:var(--peri-deep);font-weight:500;}
.crumbs a:hover{color:var(--cta);}
.crumbs span{margin:0 6px;opacity:.6;}
.article h1{font-size:clamp(2.1rem,4.4vw,3.1rem);margin-bottom:22px;}
.article .lead{font-size:clamp(1.16rem,2vw,1.4rem);line-height:1.5;color:var(--ink);font-weight:500;margin-bottom:8px;}
.prose{margin-top:12px;}
.prose h2{font-size:clamp(1.4rem,2.6vw,1.85rem);margin:44px 0 14px;}
.prose p{font-size:1.06rem;line-height:1.7;color:#454A66;margin:0 0 18px;}
.prose a{color:var(--cta);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.prose .faq{margin-top:14px;}

/* Annotated newsletter example */
.example{margin:26px 0 30px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,34px);}
.example-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:start;}
@media(max-width:820px){.example-grid{grid-template-columns:1fr;gap:24px;}}
.nl-mock{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 26px 60px -34px rgba(57,61,92,.55);}
.nl-masthead{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:14px;}
.nl-name{font-weight:700;font-size:1.1rem;letter-spacing:-.02em;color:var(--ink);}
.nl-meta{font-size:.76rem;color:var(--ink-soft);}
.nl-edit{font-size:.9rem;line-height:1.6;color:#6B7086;margin:0 0 14px;}
.nl-sponsored{position:relative;border:1px solid #F0CFC4;background:#FEF8F6;border-radius:12px;padding:16px;margin:0 0 14px;}
.nl-label{position:relative;display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
.nl-img{position:relative;height:96px;border-radius:8px;background:linear-gradient(120deg,#E7EAF9,#D9DEF5);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.nl-img span:first-child{font-size:.8rem;color:#8890AE;font-weight:500;}
.nl-sponsored h4{font-size:1.02rem;margin:0 0 8px;color:var(--ink);}
.nl-copy{position:relative;font-size:.9rem;line-height:1.6;color:#5A5F7C;margin:0 0 14px;}
.nl-cta{position:relative;display:inline-block;font-weight:600;font-size:.9rem;color:var(--cta);}
.mk-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;vertical-align:middle;margin-left:6px;}
.mk-badge.img,.mk-badge.copy,.mk-badge.cta{position:absolute;}
.mk-badge.img{top:8px;right:8px;margin:0;}
.mk-badge.copy{right:-6px;bottom:-4px;margin:0;}
.mk-badge.cta{margin-left:6px;}
.legend{list-style:none;padding:0;margin:0;counter-reset:lg;}
.legend li{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line);}
.legend li:first-child{border-top:0;padding-top:0;}
.lg-n{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;}
.legend b{color:var(--ink);font-weight:600;}
.legend p{margin:4px 0 0;color:var(--ink-soft);font-size:.94rem;line-height:1.55;}

.define-more{margin-top:20px;}
.define-more a{font-weight:600;color:var(--cta);}
.define-more a:hover{color:var(--cta-deep);}

.byline{color:var(--ink-soft);font-size:.94rem;font-weight:500;margin:-6px 0 20px;}
.read-next{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);font-size:.98rem;color:var(--ink-soft);}
.read-next a{color:var(--cta);font-weight:600;}

/* Glossary */
.glossary{margin:0;}
.glossary .term{padding:20px 0;border-top:1px solid var(--line);scroll-margin-top:90px;}
.glossary .term:first-child{border-top:0;padding-top:6px;}
.glossary dt{font-weight:600;color:var(--ink);font-size:1.16rem;letter-spacing:-.01em;margin:0 0 6px;}
.glossary dd{margin:0;color:#454A66;font-size:1.04rem;line-height:1.65;}
.glossary dd a{color:var(--cta);font-weight:600;white-space:nowrap;}

/* Team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:820px){.team{grid-template-columns:1fr;}}
.person{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
.person .avatar{width:60px;height:60px;border-radius:50%;background:var(--surface);color:var(--peri-deep);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;letter-spacing:.02em;margin-bottom:16px;}
.person h3{font-size:1.15rem;margin-bottom:4px;}
.person .role{color:var(--accent);font-weight:600;font-size:.92rem;margin:0 0 10px;}
.person p{color:var(--ink-soft);font-size:.95rem;margin:0;}

.person ul{list-style:none;padding:0;margin:0;}
.person li{position:relative;padding-left:18px;margin-bottom:9px;color:var(--ink-soft);font-size:.95rem;line-height:1.5;}
.person li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--peri);}

/* Team headshots (square, uncropped for square source images) */
.person .headshot{width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;margin-bottom:18px;background:var(--surface);}
.person .headshot img{width:100%;height:100%;object-fit:cover;display:block;}
.person .headshot.initial{display:flex;align-items:center;justify-content:center;color:var(--peri-deep);font-weight:700;font-size:2.6rem;}

/* About: tighten space between hero and the team */
.page-about .hero{padding-bottom:6px;}
.page-about .hero + section.block{padding-top:clamp(26px,3.5vw,40px);}

/* About: smaller hero, since the mission is a full sentence */
.page-about .hero h1{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.25;}

/* Homepage hero: text + illustration two-column */
.home-hero{display:grid;grid-template-columns:1.06fr .94fr;gap:44px;align-items:center;}
.home-hero .lede{max-width:none;}
.hero-art img{width:100%;height:auto;max-width:600px;margin-left:auto;display:block;}
@media(max-width:900px){
  .home-hero{grid-template-columns:1fr;gap:12px;}
  .hero-art img{max-width:440px;margin:0 auto;}
}
@media(max-width:600px){ .hero-art{display:none;} }

/* Advertiser logo wall */
.pub-proof{background:var(--surface-2);}
.logo-wall{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:880px;margin:14px auto 0;}
.logo-chip{background:#fff;border:1px solid #ECEEF6;border-radius:12px;width:156px;height:72px;display:flex;align-items:center;justify-content:center;padding:14px 18px;transition:box-shadow .2s ease,transform .2s ease;}
.logo-chip:hover{box-shadow:0 6px 18px rgba(57,61,92,.08);transform:translateY(-2px);}
.logo-chip img{max-height:30px;max-width:120px;width:auto;object-fit:contain;display:block;}
@media(max-width:900px){.logo-wall{max-width:640px;} .logo-chip{width:30%;min-width:150px;}}
@media(max-width:640px){.logo-chip{width:44%;min-width:0;height:62px;padding:10px 12px;} .logo-chip img{max-height:26px;max-width:96px;}}

/* Optimization intro: text + illustration */
.model-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;margin-bottom:44px;}
.model-intro .section-head{max-width:none;margin-bottom:0;}
.model-art img{width:100%;height:auto;border-radius:16px;display:block;}
@media(max-width:820px){.model-intro{grid-template-columns:1fr;gap:26px;} .model-art{max-width:440px;margin:0 auto;} .model-art img{border-radius:14px;}}

/* Referral page */
.check-list{list-style:none;padding:0;margin:0;}
.check-list li{position:relative;padding-left:36px;margin-bottom:16px;color:var(--ink);font-size:1.03rem;}
.check-list li:last-child{margin-bottom:0;}
.check-list li::before{content:"\2713";position:absolute;left:0;top:0;width:24px;height:24px;border-radius:999px;background:var(--peri-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;}
.thank-card{max-width:620px;margin:0 auto;}
.fine-note{font-size:.85rem;color:var(--ink-soft);text-align:center;max-width:640px;margin:24px auto 0;}
.cta-band .cta-fine{font-size:.85rem;color:#9DA0BC;margin:20px 0 0;}

/* Review video (click to play) */
.video{max-width:840px;margin:0 auto;}
.video-embed{display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:16px;overflow:hidden;cursor:pointer;position:relative;background:#393D5C center/cover no-repeat;}
.video-embed::before{content:"";position:absolute;inset:0;background:rgba(30,33,54,.26);transition:background .2s ease;}
.video-embed:hover::before{background:rgba(30,33,54,.12);}
.video-play{position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:999px;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;z-index:1;transition:transform .18s ease;}
.video-embed:hover .video-play{transform:scale(1.07);}
.video-play::after{content:"";width:0;height:0;margin-left:6px;border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent #393D5C;}
.video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:16px;display:block;}
.video-cap{color:var(--ink-soft);font-size:.97rem;text-align:center;margin:16px auto 0;max-width:640px;}

/* Legal pages */
.legal .hero{padding-bottom:clamp(26px,4vw,40px);}
.legal-body{max-width:760px;margin:0 auto;padding:clamp(30px,5vw,52px) 0;}
.legal-body > h2:first-child{margin-top:0;}
.legal-body h2{font-size:1.4rem;margin:40px 0 12px;scroll-margin-top:90px;}
.legal-body h3{font-size:1rem;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);margin:26px 0 8px;}
.legal-body p{color:var(--ink-soft);line-height:1.72;margin:0 0 16px;}
.legal-body ul{color:var(--ink-soft);line-height:1.72;margin:0 0 16px;padding-left:20px;}
.legal-body li{margin-bottom:8px;}
.legal-body a{color:var(--peri-deep);text-decoration:underline;text-underline-offset:2px;}
.legal-body a:hover{color:var(--ink);}
.legal-ref{list-style:none;padding:0;margin:0 0 8px;}
.legal-ref li{margin-bottom:9px;}
.legal-updated{color:var(--ink-soft);font-size:.92rem;margin:2px 0 0;}
.legal-addr{color:var(--ink-soft);line-height:1.7;margin:0 0 16px;}
.legal-body table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:.94rem;}
.legal-body th,.legal-body td{border:1px solid var(--line);padding:9px 12px;text-align:left;color:var(--ink-soft);}
.legal-body th{background:var(--surface);color:var(--ink);font-weight:600;}

/* Footer newsletter subscribe */
.foot-newsletter{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:0 0 30px;margin-bottom:34px;border-bottom:1px solid var(--line);}
.foot-newsletter .fn-copy{max-width:540px;}
.foot-newsletter strong{display:block;color:var(--ink);font-size:1.06rem;margin-bottom:4px;}
.foot-newsletter span{color:var(--ink-soft);font-size:.95rem;}
.foot-newsletter .btn{flex-shrink:0;}
.foot-newsletter .fn-form{flex:0 0 auto;width:min(420px,100%);}
@media(max-width:600px){.foot-newsletter{padding-bottom:22px;margin-bottom:26px;}}

/* Prose extras (archive + learn posts) */
.prose h3{font-size:clamp(1.15rem,2vw,1.4rem);margin:32px 0 10px;color:var(--ink);}
.prose h4{font-size:1.05rem;margin:24px 0 8px;color:var(--ink);}
.prose strong{color:var(--ink);font-weight:600;}
.prose ul,.prose ol{margin:0 0 18px;padding-left:24px;color:#454A66;}
.prose li{font-size:1.06rem;line-height:1.7;margin-bottom:8px;}
.prose blockquote{margin:24px 0;padding:4px 0 4px 22px;border-left:3px solid var(--peri);color:var(--ink);font-style:italic;}
.prose img{max-width:100%;height:auto;border-radius:12px;margin:22px 0;display:block;}

/* Newsletter archive */
.art-foot{display:flex;gap:14px;flex-wrap:wrap;margin-top:44px;padding-top:28px;border-top:1px solid var(--line);}
.archive-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.archive-item{display:block;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:24px 26px;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;}
.archive-item:hover{box-shadow:0 8px 24px rgba(57,61,92,.08);transform:translateY(-2px);border-color:var(--peri);}
.archive-item time{display:block;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--peri-deep);font-weight:600;margin-bottom:8px;}
.archive-item h2{font-size:1.16rem;line-height:1.35;color:var(--ink);margin:0 0 8px;}
.archive-item p{font-size:.96rem;line-height:1.55;color:var(--ink-soft);margin:0;}
@media(max-width:720px){.archive-list{grid-template-columns:1fr;}}


/* Forms (privacy contact) */
.form-wrap{max-width:640px;margin:0 auto;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-field{margin-bottom:20px;}
.form-field > label{display:block;font-size:.9rem;font-weight:600;color:var(--ink);margin-bottom:7px;}
.form-field input[type=text],.form-field input[type=email],.form-field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:1rem;color:var(--ink);background:var(--white);}
.form-field textarea{min-height:120px;resize:vertical;}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--peri-deep);box-shadow:0 0 0 3px rgba(85,102,192,.15);}
.form-check{display:flex;align-items:flex-start;gap:10px;margin:0 0 10px;font-size:.98rem;font-weight:400;color:var(--ink-soft);cursor:pointer;}
.form-check input{margin-top:3px;flex-shrink:0;}
.form-fine{font-size:.85rem;color:var(--ink-soft);line-height:1.6;margin-top:24px;}
.form-wrap .btn{margin-top:4px;}
.hp{position:absolute;left:-9999px;}
@media(max-width:560px){.form-row{grid-template-columns:1fr;}}

/* Loop note: centered with cycle icon */
.loop-note.loop-cycle{
  display:flex;align-items:center;justify-content:center;gap:14px;
  text-align:center;padding-left:20px;border-left:0;
}
.loop-note.loop-cycle p{margin:0;}
.loop-icon{width:30px;height:30px;flex:0 0 auto;color:var(--peri-deep);}
@media(max-width:560px){
  .loop-note.loop-cycle{flex-direction:column;gap:10px;padding-left:20px;}
}
.loop-note.note-center{text-align:center;padding-left:20px;border-left:0;}

/* Typeform embed wrapper */
.tf-wrap{max-width:840px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.tf-terms{max-width:840px;margin:0 auto 14px;font-size:.9rem;color:var(--ink-soft);text-align:center;}
.tf-terms-after{margin:16px auto 0;}

/* Form pages: tighten space between hero copy and the form */
.page-form .hero{padding-bottom:16px;}
.page-form main .block{padding-top:18px;}
.tf-terms a{color:var(--cta);font-weight:600;text-decoration:underline;text-underline-offset:2px;}

/* Legal pages: tighten space between the page title block and the body copy */
.legal .hero{padding-bottom:12px;}
.legal main .block{padding-top:22px;}
