*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --paper:#faf6f1;
  --paper-2:#f4ede3;
  --paper-3:#ece3d8;
  --paper-4:#e4d8cc;
  --ink:#2a1f1a;
  --ink-2:#5a4a3e;
  --ink-3:#8a7a6e;
  --ink-4:#b0a498;
  --rose:#c4868e;
  --rose-deep:#a86870;
  --rose-light:#e8c4c8;
  --rose-pale:#f5e8ea;
  --gold:#c09060;
  --gold-light:#dbb888;
  --gold-pale:#f2e8d8;
  --sage:#7d9e8c;
  --sage-light:#a8c4b4;
  --sage-pale:#e8f2ec;
  --mauve:#9e8098;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Mulish',system-ui,sans-serif;
  --radius:16px;
  --radius-sm:10px;
  --shadow:0 2px 24px rgba(42,31,26,.07);
  --shadow-lg:0 8px 48px rgba(42,31,26,.1);
}

html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}

/* ── Typography ── */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
h1{font-size:clamp(3rem,7vw,5.5rem)}
h2{font-size:clamp(2rem,4vw,3.2rem)}
h3{font-size:clamp(1.4rem,2.5vw,2rem)}
h4{font-size:1.2rem}
p{color:var(--ink-2);font-weight:300;line-height:1.8}

.eyebrow{font-family:var(--sans);font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--rose-deep);display:block;margin-bottom:.65rem}
.display-serif{font-family:var(--serif);font-style:italic}
.serif-italic{font-family:var(--serif);font-style:italic;font-weight:300}

/* ── Layout ── */
.container{max-width:1200px;margin:0 auto;}
section{padding:clamp(5rem,9vw,8rem) 0}

/* ── Divider ── */
.divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0}
.divider::before,.divider::after{content:'';flex:1;height:.5px;background:var(--rose-light)}
.divider-dot{width:5px;height:5px;border-radius:50%;background:var(--rose);flex-shrink:0}

/* ── Buttons ── */
.btn-primary{display:inline-flex;align-items:center;gap:.6rem;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:.9rem 2.2rem;border-radius:100px;border:none;cursor:pointer;transition:background .2s,transform .2s;text-decoration:none}
.btn-primary:hover{background:var(--rose-deep);transform:translateY(-2px)}

.btn-rose {
    background: var(--rose-deep);
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-family: var(--sans);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: .9rem 2.2rem;
    border-radius: 100px;
    border: none;
    cursor: pointer;
    transition: background .2s, transform .2s, box-shadow .2s;
    text-decoration: none;
    box-shadow: 0 4px 20px rgba(168, 104, 112, .25);
}

.btn-rose:hover{background:var(--rose);transform:translateY(-2px);box-shadow:0 8px 30px rgba(168,104,112,.35)}
.btn-outline{display:inline-flex;align-items:center;gap:.6rem;background:transparent;color:var(--ink-2);font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.85rem 2rem;border-radius:100px;border:1.5px solid var(--paper-4);cursor:pointer;transition:border-color .2s,background .2s;text-decoration:none}
.btn-outline:hover{border-color:var(--rose);background:var(--rose-pale)}


section.tonematch-upload-form.landing-section {
    padding: 0;
}

section#upgrade {
    text-align: center;
}

/* ── Fade animations ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.a1{opacity:0;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) .1s forwards}
.a2{opacity:0;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) .25s forwards}
.a3{opacity:0;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) .4s forwards}
.a4{opacity:0;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) .55s forwards}
.a5{opacity:0;animation:scaleIn .9s cubic-bezier(.16,1,.3,1) .2s forwards}

/* Scroll reveal */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
[data-reveal].revealed{opacity:1;transform:none}
[data-reveal-scale]{opacity:0;transform:scale(.97);transition:opacity .7s ease,transform .7s ease}
[data-reveal-scale].revealed{opacity:1;transform:none}

/* ══════════════════════════════════════════
   HERO
══════════════════════════════════════════ */
.hero{background:var(--paper);position:relative;overflow:hidden;padding:0}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;min-height:100svh}
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;min-height:auto}
}

/* Photo side */
.hero-visual{position:relative;overflow:hidden;background:var(--paper-2)}
.hero-photo-wrap{position:relative;width:100%;height:100%;min-height:60svh}
.hero-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
/* Organic shape overlay at the edge */
.hero-visual::after{content:'';position:absolute;top:0;right:-1px;bottom:0;width:80px;background:var(--paper);clip-path:ellipse(80px 55% at 100% 50%)}
@media(max-width:900px){
  .hero-visual::after{display:none}
  .hero-photo-wrap{min-height:55vw;max-height:360px}
}

/* Season badge top-left of photo */
.photo-badge{position:absolute;top:1.75rem;left:1.75rem;z-index:10;background:rgba(250,246,241,.92);backdrop-filter:blur(12px);border:1px solid rgba(196,134,142,.25);border-radius:100px;padding:.45rem 1rem;display:flex;align-items:center;gap:.5rem}
.photo-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--rose)}
.photo-badge-text{font-size:.6rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--rose-deep)}

/* Content side */
.hero-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,6vw,5rem) clamp(2rem,5vw,4rem) clamp(3rem,6vw,5rem) clamp(1.5rem,4vw,3rem);position:relative;z-index:2}

.hero-tagline{font-family:var(--serif);font-style:italic;font-size:clamp(1rem,2vw,1.15rem);font-weight:300;color:var(--ink-3);margin-bottom:1.2rem}

.hero-title{margin:.3rem 0 .5rem}
.hero-title-line1{display:block;font-size:clamp(1.05rem,2vw,1.3rem);font-weight:400;color:var(--ink-3);font-family:var(--serif);font-style:italic}
.hero-title-line2{display:block;font-family:var(--serif);font-size:clamp(3.5rem,8vw,6.5rem);font-weight:300;line-height:1;letter-spacing:-.03em;color:var(--ink)}
.hero-title-line3{display:block;font-family:var(--serif);font-style:italic;font-size:clamp(3.5rem,8vw,6.5rem);font-weight:300;line-height:1;letter-spacing:-.03em;color:var(--rose-deep)}

.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:.1rem;margin:2rem 0;background:var(--paper-2);border-radius:var(--radius);padding:1.25rem;border:1px solid var(--paper-3)}
.hero-meta-item{padding:.5rem .75rem;border-right:1px solid var(--paper-3)}
.hero-meta-item:last-child{border-right:none}
.hero-meta-label{font-size:.55rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-4);display:block;margin-bottom:.3rem}
.hero-meta-value{font-family:var(--serif);font-size:1.15rem;font-weight:400;color:var(--ink);display:block}

/* Confidence line */
.confidence-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.35rem}
.confidence-label{font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);min-width:70px}
.confidence-track{flex:1;height:2px;background:var(--paper-3);border-radius:2px;overflow:hidden}
.confidence-fill{height:100%;border-radius:2px;background:var(--rose);transition:width 1.4s cubic-bezier(.16,1,.3,1)}
.confidence-pct{font-size:.7rem;font-weight:600;color:var(--rose-deep);min-width:32px;text-align:right}

.hero-cta{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:2rem}
.hero-scroll{font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-4);display:flex;align-items:center;gap:.5rem;margin-top:1.5rem;text-decoration:none}
.hero-scroll svg{width:16px;height:16px;animation:bounce 2s infinite}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* ══════════════════════════════════════════
   ABOUT YOUR SEASON — full bleed warm section
══════════════════════════════════════════ */
.season-intro{background:var(--paper-2);position:relative}
.season-intro::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,var(--rose-light),var(--gold-light),var(--rose-light))}

.season-intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:start}
@media(max-width:900px){.season-intro-grid{grid-template-columns:1fr;gap:3rem}}

.season-quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:300;line-height:1.5;color:var(--ink);position:relative;padding-left:1.75rem}
.season-quote::before{content:'\201C';font-family:var(--serif);font-size:5rem;color:var(--rose-light);position:absolute;left:-.5rem;top:-1.5rem;line-height:1;font-style:normal}

.profile-table{width:100%;border-collapse:collapse;margin-top:.5rem}
.profile-table tr{border-bottom:1px solid var(--paper-3)}
.profile-table tr:last-child{border-bottom:none}
.profile-table td{padding:.8rem .5rem;font-size:.85rem}
.profile-table td:first-child{color:var(--ink-3);font-weight:400;width:45%}
.profile-table td:last-child{font-family:var(--serif);font-size:1rem;color:var(--ink);font-weight:400}
.profile-highlight{color:var(--rose-deep) !important}

.undertone-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.chip{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;border-radius:100px;font-size:.72rem;font-weight:500;background:white;border:1px solid var(--paper-3);color:var(--ink-2)}
.chip-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}

/* ══════════════════════════════════════════
   PROBABILITY STRIP
══════════════════════════════════════════ */
.prob-strip{background:var(--paper-3);padding:2.5rem 0}
.prob-strip-inner{display:flex;align-items:center;gap:3rem;flex-wrap:wrap}
.prob-strip-title{font-family:var(--serif);font-size:1.35rem;font-weight:300;color:var(--ink);white-space:nowrap}
.prob-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;flex:1}
@media(max-width:700px){.prob-bars{grid-template-columns:repeat(2,1fr)}}
.prob-item{}
.prob-item-name{font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.4rem}
.prob-bar{height:3px;background:rgba(42,31,26,.1);border-radius:3px;overflow:hidden;margin-bottom:.3rem}
.prob-fill{height:100%;border-radius:3px;background:var(--rose)}
.prob-pct{font-family:var(--serif);font-size:1.2rem;color:var(--ink)}
.prob-fill-top{background:var(--rose-deep)}

/* ══════════════════════════════════════════
   COLOR PALETTE
══════════════════════════════════════════ */
.palette-section{background:var(--paper)}

.palette-header{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;margin-bottom:3.5rem}
@media(max-width:600px){.palette-header{grid-template-columns:1fr}}

.palette-count{font-size:.78rem;color:var(--ink-3);padding:.6rem 1.2rem;background:var(--paper-2);border-radius:100px;border:1px solid var(--paper-3);white-space:nowrap}

/* Category header */
.cat-label{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem}
.cat-num{font-family:var(--serif);font-size:2.2rem;font-weight:300;color:var(--paper-4);line-height:1}
.cat-info{}
.cat-name{font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);display:block}
.cat-desc{font-size:.78rem;color:var(--ink-4);display:block;margin-top:.15rem}
.cat-line{flex:1;height:.5px;background:var(--paper-3)}

/* Swatch grid */
.swatch-row{display:flex;flex-wrap:wrap;gap:1.25rem 1.5rem;margin-bottom:3.5rem}
.swatch-item{display:flex;flex-direction:column;align-items:center;gap:.65rem;cursor:pointer;text-decoration:none}
.swatch-circle{border-radius:50%;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;box-shadow:0 2px 12px rgba(42,31,26,.1)}
.swatch-circle.lg{width:72px;height:72px}
.swatch-circle.md{width:56px;height:56px}
.swatch-item:hover .swatch-circle{transform:translateY(-5px) scale(1.08);box-shadow:0 10px 28px rgba(42,31,26,.18)}
.swatch-name{font-size:.58rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);text-align:center;max-width:68px;line-height:1.4}

/* Locked section */
.palette-locked {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    margin-top: 1rem;
    padding: 8rem;
}
.locked-blur{display:flex;flex-wrap:wrap;gap:1.25rem;opacity:.25;pointer-events:none;filter:blur(3px)}
.locked-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:rgba(250,246,241,.82);backdrop-filter:blur(6px);border-radius:var(--radius);border:1.5px dashed var(--rose-light)}
.lock-ring{width:52px;height:52px;border-radius:50%;background:var(--rose-pale);border:1.5px solid var(--rose-light);display:flex;align-items:center;justify-content:center}
.lock-ring svg{width:18px;height:18px;stroke:var(--rose-deep);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.locked-label {
    font-family: var(--serif);
    font-size: 1.25rem;
    color: var(--ink);
   margin-bottom: .2rem !important;
}
.locked-sub{font-size:.75rem;color:var(--ink-3);text-align:center;max-width:260px;margin-bottom: .2rem !important;}

/* ══════════════════════════════════════════
   CONTRAST + STYLE DNA — 2-column
══════════════════════════════════════════ */
.style-section{background:var(--paper-2)}
.style-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
@media(max-width:900px){.style-grid{grid-template-columns:1fr;gap:2.5rem}}

.style-card{background:white;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}
.style-card-title{font-family:var(--serif);font-size:1.5rem;margin-bottom:.35rem}
.style-card-sub{font-size:.8rem;color:var(--ink-3);margin-bottom:1.5rem}

.rule-list{display:flex;flex-direction:column;gap:0}
.rule-item{display:flex;gap:.85rem;padding:1rem 0;border-bottom:.5px solid var(--paper-2)}
.rule-item:last-child{border-bottom:none}
.rule-icon{width:28px;height:28px;border-radius:50%;background:var(--rose-pale);border:1px solid var(--rose-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}
.rule-icon span{font-size:11px}
.rule-body{}
.rule-title{font-weight:600;font-size:.82rem;color:var(--ink);display:block;margin-bottom:.2rem}
.rule-text{font-size:.8rem;color:var(--ink-3);line-height:1.6}

.tag-group{display:flex;flex-wrap:wrap;gap:.5rem}
.tag{font-size:.68rem;font-weight:500;padding:.35rem .85rem;border-radius:100px;border:1px solid var(--paper-3);background:var(--paper);color:var(--ink-2);transition:border-color .2s,background .2s}
.tag:hover{border-color:var(--rose);background:var(--rose-pale);color:var(--rose-deep)}
.tag-section{margin-top:1.5rem}
.tag-section-label{font-size:.6rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--rose-deep);margin-bottom:.6rem;display:block}

/* ══════════════════════════════════════════
   OUTFITS
══════════════════════════════════════════ */
.outfit-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media(max-width:700px){.outfit-grid{grid-template-columns:1fr}}

.outfit-card{
    overflow:hidden;
    background:var(--bg-surface);
      border-radius:12px;
      border:1px solid #EDE5D8;
      box-shadow:0 2px 12px rgba(61,43,31,.08);
      padding:20px;
      min-height:120px;
    transition:transform .2s,box-shadow .2s;;
}

.outfit-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-lg)
}

.outfit-header{padding:1.5rem 1.75rem 1rem;border-bottom:.5px solid var(--paper-2)}
.outfit-type{font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-deep);display:block;margin-bottom:.3rem}
.outfit-name{font-family:var(--serif);font-size:1.4rem}
.outfit-body{padding:1.25rem 1.75rem 1.75rem}
.outfit-piece{display:flex;align-items:center;gap:.85rem;padding:.55rem 0;border-bottom:.5px solid var(--paper-2)}
.outfit-piece:last-child{border-bottom:none}
.outfit-swatch{width:28px;height:28px;border-radius:50%;flex-shrink:0;border:.5px solid rgba(0,0,0,.06);box-shadow:0 1px 4px rgba(0,0,0,.06)}
.outfit-role{font-size:.58rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);min-width:50px}
.outfit-piece-name{font-size:.82rem;color:var(--ink-2)}
.outfit-score{display:flex;align-items:center;gap:.6rem;margin-top:1.25rem;padding-top:1.25rem;border-top:.5px solid var(--paper-2)}
.outfit-score-label{font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}
.outfit-score-track{flex:1;height:2px;background:var(--paper-2);border-radius:2px;overflow:hidden}
.outfit-score-fill{height:100%;border-radius:2px}
.outfit-score-num{font-family:var(--serif);font-size:1.2rem;color:var(--ink)}

/* ══════════════════════════════════════════
   PRODUCTS
══════════════════════════════════════════ */
.products-section{background:var(--paper-2)}
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.25rem}

.product-card{background:white;border-radius:var(--radius);border:.5px solid var(--paper-3);overflow:hidden;transition:transform .2s,box-shadow .2s;cursor:pointer}
.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.product-visual{height:130px;background:var(--paper-2);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.product-orb{width:64px;height:64px;border-radius:50%}
.product-body{padding:1rem 1.15rem 1.25rem}
.product-type-tag{display:inline-block;font-size:.55rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rose-deep);background:var(--rose-pale);border-radius:4px;padding:.2rem .55rem;margin-bottom:.5rem}
.product-brand{font-size:.65rem;color:var(--ink-3);display:block;margin-bottom:.2rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500}
.product-name{font-family:var(--serif);font-size:1rem;color:var(--ink);line-height:1.3;margin-bottom:.5rem}
.product-shade{font-size:.72rem;color:var(--ink-3)}
.product-swatches{display:flex;gap:.35rem;margin-top:.7rem}
.product-swatch{width:16px;height:16px;border-radius:50%;border:.5px solid rgba(0,0,0,.08);transition:transform .15s}
.product-swatch:hover{transform:scale(1.4)}

/* ══════════════════════════════════════════
   CELEBRITIES
══════════════════════════════════════════ */
.celeb-section{background:var(--paper)}
.celeb-intro{max-width:540px;margin-bottom:3rem}
.celeb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:700px){.celeb-grid{grid-template-columns:1fr;gap:1rem}}

.celeb-card{background:white;border:.5px solid var(--paper-3);border-radius:var(--radius);padding:2rem 1.5rem;text-align:center;position:relative;transition:transform .2s,box-shadow .2s}
.celeb-adjacent{border-style:dashed;border-color:#c9c9c9}
.celeb-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.match-tag{position:absolute;top:1rem;right:1rem;font-size:.6rem;font-weight:700;letter-spacing:.08em;color:var(--rose-deep);background:var(--rose-pale);border:1px solid var(--rose-light);border-radius:100px;padding:.2rem .6rem}
.celeb-initials{width:68px;height:68px;border-radius:50%;margin:0 auto 1.1rem;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.5rem;font-weight:300;border:1.5px solid var(--paper-3)}
.celeb-name{font-family:var(--serif);font-size:1.15rem;margin-bottom:.2rem}
.celeb-season{font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-deep);margin-bottom:.85rem;display:block}
.celeb-tags{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap}
.celeb-tag{font-size:.62rem;padding:.25rem .65rem;background:var(--paper);border:1px solid var(--paper-3);border-radius:100px;color:var(--ink-3)}

/* ══════════════════════════════════════════
   WHY IT WORKS
══════════════════════════════════════════ */
.science-section{background:var(--paper-2)}
.science-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
@media(max-width:900px){.science-grid{grid-template-columns:1fr;gap:1.5rem}}
.science-card{border-left:2px solid var(--rose-light);padding-left:1.5rem}
.science-num{font-family:var(--serif);font-size:3rem;font-weight:300;color:var(--paper-3);line-height:1;display:block}
.science-title{font-family:var(--serif);font-size:1.15rem;margin:.2rem 0 .75rem}
.science-body{font-size:.82rem;color:var(--ink-3);line-height:1.75}

/* ══════════════════════════════════════════
   UPGRADE CTA — the conversion moment
══════════════════════════════════════════ */
.cta-section{background:var(--paper);position:relative;overflow:hidden}
/* Subtle decorative rose accent */
.cta-section::before{content:'';position:absolute;top:-120px;right:-120px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,var(--rose-pale) 0%,transparent 70%);pointer-events:none}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:1}
@media(max-width:900px){.cta-grid{grid-template-columns:1fr;gap:3rem}}

.cta-feature{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:.85rem}
.cta-tick{width:22px;height:22px;border-radius:50%;background:var(--rose-pale);border:1px solid var(--rose-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}
.cta-tick svg{width:9px;height:9px;stroke:var(--rose-deep);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.cta-feature-text{font-size:.88rem;color:var(--ink-2)}
.cta-feature-text strong{color:var(--ink);font-weight:600}

.plan-box{background:white;border-radius:var(--radius);padding:2.25rem;box-shadow:var(--shadow-lg);border:.5px solid var(--paper-3);position:relative}
.plan-ribbon{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--rose-deep);color:white;font-size:.58rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:.35rem 1.2rem;border-radius:0 0 10px 10px}
.plan-name{font-family:var(--serif);font-size:1.75rem;margin:1.75rem 0 .4rem;text-align:center}
.plan-price-row{text-align:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:.5px solid var(--paper-2)}
.plan-price-old{font-size:.85rem;color:var(--ink-4);text-decoration:line-through;display:block;margin-bottom:.15rem}
.plan-price-amount{font-family:var(--serif);font-size:3.5rem;font-weight:300;line-height:1;color:var(--ink)}
.plan-price-period{font-size:.72rem;color:var(--ink-3);display:block;margin-top:.2rem}
.plan-features{margin-bottom:1.75rem}
.plan-feature-item{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;font-size:.82rem;color:var(--ink-2);border-bottom:.5px solid var(--paper-2)}
.plan-feature-item:last-child{border-bottom:none}
.plan-feature-item::before{content:'✦';color:var(--rose-light);font-size:.65rem;flex-shrink:0}
.plan-guarantee{text-align:center;font-size:.7rem;color:var(--ink-4);margin-top:.85rem}

/* ══════════════════════════════════════════
   STICKY BAR
══════════════════════════════════════════ */
.sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:200;background:rgba(250,246,241,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--paper-3);padding:.65rem 1rem;box-shadow:0 -4px 30px rgba(42,31,26,.08);transform:translateY(110%);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.sticky-bar.show,.sticky-bar.visible{transform:none}
.sca-sticky-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;width:100%;max-width:1200px;margin:0 auto}
.sca-sticky-brand{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.sca-sticky-label{font-size:.55rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4)}
.sca-sticky-season{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}
.sca-results-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;justify-content:center;flex:1}
.sca-results-nav a{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);text-decoration:none;padding:.35rem .5rem;border-radius:999px;transition:background .2s,color .2s}
.sca-results-nav a:hover,.sca-results-nav a:focus-visible{background:var(--rose-pale);color:var(--rose-deep);outline:none}
.sca-sticky-actions{flex-shrink:0}
@media(max-width:640px){
  .sca-sticky-inner{flex-direction:column;align-items:stretch}
  .sca-results-nav{justify-content:flex-start}
  .sca-sticky-actions .btn-rose{width:100%;justify-content:center}
}
.sticky-bar-left{display:flex;flex-direction:column}
.sticky-bar-label{font-size:.6rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-4)}
.sticky-bar-season{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--ink)}
.sticky-bar-right{display:flex;align-items:center;gap:.75rem}
.sticky-bar-note{font-size:.7rem;color:var(--ink-3);white-space:nowrap}
@media(max-width:600px){.sticky-bar-note{display:none}}

/* ══════════════════════════════════════════
   FOOTER
══════════════════════════════════════════ */
.page-footer{background:var(--paper-2);padding:2rem 0;border-top:.5px solid var(--paper-3)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.footer-brand{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--ink-3)}
.footer-links{display:flex;gap:.75rem;flex-wrap:wrap}

/* ══════════════════════════════════════════
   RESULTS UX — hero, pro strip, anchors, contrast
══════════════════════════════════════════ */
#results-hero,#palette,#celebs,#draping,#wardrobe,#makeup,#season-story,#style-dna,#upgrade,#see-science{scroll-margin-top:88px}
.sca-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(1.5rem,4vw,3rem);align-items:center;text-align:left}
@media(max-width:900px){
  .sca-hero-grid{grid-template-columns:1fr;text-align:center}
  .sca-hero-grid .sca-hero-main{order:1}
  .sca-hero-grid .sca-hero-photo{order:2}
}
#skin-analysis-results .hero .sca-hero-grid .hero-content,
.sca-hero-main{text-align:inherit}
@media(max-width:900px){
  #skin-analysis-results .hero .sca-hero-grid .hero-content,
  .sca-hero-main{text-align:center}
}
.sca-hero-tagline{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,2.2vw,1.35rem);color:var(--ink-2);margin:.5rem 0 1rem;line-height:1.45}
.sca-hero-deeper{font-size:.82rem;color:var(--ink-3);margin:0 0 1rem}
.sca-hero-palette{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-start;margin:.25rem 0 1.25rem}
@media(max-width:900px){.sca-hero-palette{justify-content:center}}
.sca-hero-swatch{width:36px;height:36px;border-radius:50%;border:2px solid rgba(42,31,26,.12);box-shadow:0 2px 8px rgba(42,31,26,.12);cursor:default}
.sca-hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:.25rem}
@media(max-width:900px){.sca-hero-actions{justify-content:center}}
.sca-pro-strip{background:var(--paper-2);border-top:1px solid var(--paper-3);border-bottom:1px solid var(--paper-3);padding:clamp(1.25rem,3vw,2rem) 0}
.sca-pro-strip-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem 2rem}
.sca-pro-strip-copy{flex:1;min-width:min(100%,280px);max-width:640px}
.sca-pro-strip-lead{font-size:.92rem;color:var(--ink-2);line-height:1.65;margin:.35rem 0 .65rem}
.sca-pro-strip-list{margin:.5rem 0 0;padding-left:1.15rem;color:var(--ink-2);font-size:.85rem;line-height:1.65}
.sca-pro-strip-list li{margin:.25rem 0}
.sca-pro-strip-cta{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
@media(max-width:640px){.sca-pro-strip-cta{align-items:stretch;width:100%}.sca-pro-strip-cta .btn-rose{text-align:center;justify-content:center}}
.sca-pro-strip-note{font-size:.72rem;color:var(--ink-4)}
.sca-palette-cta{margin-top:2rem;padding:1.5rem;text-align:center;}
.sca-palette-cta-text{margin:0 0 1rem;font-size:.95rem;color:var(--ink-2);line-height:1.6;max-width:520px;margin-left:auto;margin-right:auto}
.sca-palette-cta .btn-rose{display:inline-flex}
.sca-pro-reminder{background:var(--paper-2);padding:1.25rem 0;border-top:1px solid var(--paper-3);border-bottom:1px solid var(--paper-3)}
.sca-pro-reminder-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;max-width:900px;margin:0 auto}
.sca-pro-reminder-inner p{margin:0;font-size:.88rem;color:var(--ink-2);flex:1;min-width:200px;line-height:1.55}
.sca-season-details{margin-top:.75rem;border:1px solid var(--paper-3);border-radius:var(--radius-sm);padding:.25rem .85rem;background:#fff}
.sca-season-summary{cursor:pointer;font-size:.9rem;color:var(--ink);list-style:none;font-weight:600}
.sca-season-summary::-webkit-details-marker{display:none}
.sca-season-summary-hint{font-weight:400;color:var(--ink-3);font-size:.8rem}
.sca-season-details-body{padding:.5rem 0 .75rem}
.sca-estimated-note{font-size:.75em;color:var(--ink-3)}
.sca-profile-table td:first-child{color:var(--ink-2);font-size:.82rem}
.sca-profile-table td:last-child{color:var(--ink);font-weight:500;font-size:.88rem}
.sca-metals-line strong{color:var(--ink)}
.sca-style-grid-wardrobe{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem)}
@media(max-width:720px){
  .sca-style-grid-wardrobe{grid-template-columns:1fr}
}

/* ── Results v2: hero, toolbar, hierarchy ── */
.sca-results-top-bar{
  position:fixed;top:0;left:0;right:0;z-index:250;
  background:rgba(250,246,241,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--paper-3);
  padding:.45rem clamp(1rem,4vw,2rem);
  transform:translateY(-110%);
  transition:transform .35s cubic-bezier(.16,1,.3,1);
  box-shadow:0 4px 20px rgba(42,31,26,.06);
}
.sca-results-top-bar.visible{transform:translateY(0)}
.sca-results-top-bar-inner{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem 1rem;max-width:1200px;margin:0 auto;justify-content:center}
.sca-results-top-season{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--ink);white-space:nowrap}
.sca-results-top-sep{color:var(--ink-4);padding:0 .15rem}
.sca-results-top-btn{
  font-family:var(--sans);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  padding:.45rem .85rem;border-radius:999px;border:1px solid var(--paper-4);background:#fff;color:var(--ink-2);cursor:pointer;text-decoration:none;
}
.sca-results-top-btn:hover{background:var(--rose-pale);border-color:var(--rose-light);color:var(--rose-deep)}
.sca-results-top-pro{background:var(--rose-deep);color:#fff;border-color:transparent}
.sca-results-top-pro:hover{background:var(--rose);color:#fff}
.sca-results-top-nav{display:flex;flex-wrap:wrap;gap:.35rem .8rem;margin-left:.5rem;padding-left:.95rem;border-left:1px solid var(--paper-3)}
.sca-results-top-nav a{font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-decoration:none;padding:.24rem .5rem;border-radius:8px}
.sca-results-top-nav a:hover{color:var(--rose-deep);background:var(--rose-pale)}
.sca-results-top-nav a.is-active{color:var(--ink);background:var(--gold-pale);border:1px solid var(--gold-light)}
.sca-results-top-nav-pro{
  color:#fff !important;
  font-weight:700 !important;
  background:var(--rose-deep) !important;
  border:1px solid var(--rose-deep) !important;
  border-radius:999px !important;
  padding:.33rem .9rem !important;
  box-shadow:0 6px 16px rgba(139,34,70,.26);
  animation:scaUnlockPulse 1.9s ease-in-out infinite;
}
@keyframes scaUnlockPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(139,34,70,.18)}
  50%{box-shadow:0 0 0 8px rgba(139,34,70,.08)}
}

.sca-result-hero.hero{
    display:flex;
    margin-top:0;
    align-items:center;
    padding:clamp(2.5rem,8vw,5rem) 0 clamp(2rem,5vw,3rem)
}

.sca-result-hero-inner{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:clamp(1.5rem,5vw,3.5rem);
  align-items:center;
  width:100%;
  max-width:960px;
  margin:0 auto;
}

@media(max-width:780px){
  .sca-result-hero-inner{grid-template-columns:1fr;text-align:center;justify-items:center}
}
.sca-result-hero-photo-col{display:flex;justify-content:center}
.sca-hero-face-circle{
  width:clamp(170px,24vw,220px);height:clamp(170px,24vw,220px);border-radius:50%;overflow:hidden;border:4px solid rgba(255,255,255,.72);
  box-shadow:0 12px 40px rgba(42,31,26,.12);background:var(--paper-2);position:relative;
}
.sca-hero-face-circle--glow::before{
  content:'';
  position:absolute;
  inset:-10px;
  border-radius:50%;
  border:2px solid color-mix(in srgb, var(--sca-season-glow, #c09060) 72%, #fff 28%);
  box-shadow:0 0 0 6px color-mix(in srgb, var(--sca-season-glow, #c09060) 24%, transparent),0 0 26px color-mix(in srgb, var(--sca-season-glow, #c09060) 46%, transparent);
  pointer-events:none;
}
.sca-hero-face-img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.sca-hero-face-placeholder{display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--ink-3)}
.sca-result-hero-kicker{font-weight:700;text-transform:uppercase;margin:0 0 .5rem;font-size:12px;letter-spacing:.19em;color:var(--rose-deep)}

.sca-result-hero-season{
  font-family:var(--serif);font-weight:300;font-size:clamp(2.75rem,9vw,4.75rem);line-height:1.05;margin:0 0 .75rem;color:var(--ink);letter-spacing:-.03em;
}
.sca-result-hero-quote{
  font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1rem,2.4vw,1.2rem);line-height:1.55;color:var(--ink-2);margin:0 0 1rem;border:none;padding:0;
}
.sca-hero-six-chips .sca-hero-chip-item .swatch-circle.sca-hero-chip-circle{
  width:80px;height:80px;max-width:18vw;max-height:18vw;
}
.sca-result-hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:1.25rem}
@media(max-width:780px){.sca-result-hero-actions{justify-content:center}}

.sca-primary-section .section-header h2{font-size:clamp(1.85rem,4vw,2.75rem)}
.sca-section-secondary h2{font-size:clamp(1.45rem,3vw,2rem)}
.sca-section-secondary .style-card-title{font-size:1.05rem}

.sca-see-science-details{border:1px solid var(--paper-3);border-radius:var(--radius);padding:.5rem 1rem;background:#fff}
.sca-see-science-summary{cursor:pointer;font-size:.95rem;color:var(--ink);list-style:none;font-weight:600}
.sca-see-science-summary::-webkit-details-marker{display:none}
.sca-see-science-hint{font-weight:400;color:var(--ink-3);font-size:.78rem;margin-left:.35rem}
.sca-see-science-body{color:var(--ink-2)}
.sca-correction-controls{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.sca-correction-select{
  padding:.75rem .9rem;
  border-radius:12px;
  border:1px solid var(--paper-3);
  background:var(--bg-surface);
  color:var(--ink);
  flex:1;
  min-width:220px;
  font-size:.9rem;
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);
  background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 13px) calc(50% - 2px);
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.sca-correction-btn{
  margin-top:1rem !important;
  padding:.75rem 2rem !important;
  border-radius:30px !important;
  cursor:pointer;
}

.sca-outfit-card{
    position:relative;
    padding:1.75rem
}

.sca-outfit-pill{
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:.28rem .65rem;
  border-radius:999px;
  background:#E8DFD0;
  border:1px solid #D8C7B3;
  color:var(--ink-2);
  font-size:11px;  
}

.sca-free-makeup-block{background:#fff;border:1px solid var(--paper-3);border-radius:var(--radius);padding:1.25rem 1.35rem;box-shadow:var(--shadow)}
.sca-free-makeup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}
@media(max-width:640px){.sca-free-makeup-grid{grid-template-columns:1fr}}
.sca-pro-makeup-divider{
  height:1px;margin:1.75rem 0 1rem;background:linear-gradient(90deg,transparent,var(--rose-light),transparent);position:relative;
}
.sca-pro-makeup-divider::after{
  content:'Pro';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-size:.58rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:var(--paper);padding:0 .65rem;color:var(--rose-deep);
}

.sca-muted-price-line{font-size:.82rem;color:var(--ink-2);font-weight:500}
.sca-pro-lock-price{margin:.5rem 0 0;text-align:center}

.palette-locked .locked-overlay .sca-pro-lock-price{text-align:center}

.sca-primary-strip,.sca-trust-signal{box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}

/* Keep mid-page cards on the same neutral surface system */
.quick-win-section{background:var(--paper) !important;border-top:1px solid var(--paper-3);border-bottom:1px solid var(--paper-3)}
.palette-locked .locked-overlay{background:rgba(250,246,241,.9);border:1px solid var(--paper-3)}

/* Unify lower funnel surfaces (wallet -> reminder -> final CTA) */
.wallet-section{background:var(--paper) !important;border-top:1px solid var(--paper-3);border-bottom:1px solid var(--paper-3)}
.sca-pro-reminder{background:var(--paper) !important;border-top:1px solid var(--paper-3);border-bottom:1px solid var(--paper-3)}
.cta-section{background:var(--paper) !important}
.cta-section::before{display:none}

/* Reminder strip: centered copy and branded CTA (not browser-default link) */
.sca-pro-reminder-inner{
  justify-content:center;
  text-align:center;
  gap:.75rem 1rem;
}
.sca-pro-reminder-inner p{
  flex:0 1 760px;
  text-align:center;
}
.sca-pro-reminder-inner .sca-button,
.sca-pro-reminder-inner .sca-button:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.62rem 1.1rem;
  border-radius:999px;
  border:1px solid var(--rose-light);
  background:var(--rose-pale);
  color:var(--rose-deep);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  line-height:1;
}
.sca-pro-reminder-inner .sca-button:hover{
  background:var(--rose-deep);
  border-color:var(--rose-deep);
  color:#fff;
}

/* Design system audit implementation */
:root{
  --bg-base:#F7F2EB;
  --bg-surface:#FFFFFF;
  --bg-deep:#EDE5D8;
  --ink:#2e2118;
  --ink-2:#45362c;
  --ink-3:#5c4a3e;
  --ink-4:#B8A898;
  --rose:#8B2246;
  --rose-deep:#8B2246;
  --paper:var(--bg-base);
  --paper-2:var(--bg-deep);
  --paper-3:#E8DFD0;
  --paper-4:#DDCEBA;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
}

body,#skin-analysis-results{background:var(--bg-base);color:var(--ink);font-family:var(--sans)}
section{padding:48px 0}

.hero,.palette-section,.outfit-section,.celeb-section,.cta-section,.wallet-section{background:var(--bg-base) !important}
.style-section,.products-section,.season-intro,.draping-section,.quick-win-section,.sca-trust-signal,.sca-see-science-wrap{background:var(--bg-deep) !important}

.section-header{text-align:left}
.section-subtitle,.eyebrow{
  display:block;
  font-size:10px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-4);
  margin-bottom:4px;
}
.section-header h2{
  font-family:var(--serif);
  font-size:28px;
  font-weight:600;
  color:var(--ink);
  line-height:1.2;
}

.sca-result-hero-season{
  font-family:var(--serif);
  font-size:clamp(4rem,7vw,4.5rem);
  font-style:italic;
  font-weight:500;
}

.btn-rose,.sca-upgrade-link.btn-rose{
  background:#8B2246 !important;
  color:#fff !important;
  border-radius:24px !important;
  padding:11px 26px !important;
  font:500 13px/1 var(--sans) !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  border:none !important;
  box-shadow:none !important;
  text-decoration: none !important;
}

.btn-rose:hover,
.sca-upgrade-link.btn-rose:hover{
    background:#74203c;
    color:#fff;
    transform:none
}

.btn-primary,
.btn-outline,
#skin-analysis-results .sca-results-top-btn,
#skin-analysis-results .sca-button,
#skin-analysis-results .sca-button-primary,
#skin-analysis-results .sca-button-secondary{
  background:#8B2246 !important;
  color:#fff !important;
  border-radius:24px !important;
  padding:11px 26px !important;
  font:500 13px/1 var(--sans) !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  border:none !important;
  box-shadow:none !important;
  text-decoration:none;
}

.btn-primary:hover,
.btn-outline:hover,
#skin-analysis-results .sca-results-top-btn:hover,
#skin-analysis-results .sca-button:hover,
#skin-analysis-results .sca-button-primary:hover,
#skin-analysis-results .sca-button-secondary:hover{
  background:#74203c !important;
  color:#fff !important;
}

.sca-palette-cta,.sca-outfit-cta,.cta-content{text-align:center}
.sca-outfit-cta{margin-top:24px}

.palette-category h3{
  font-family:var(--serif);
  font-size:15px;
  font-style:italic;
  font-weight:500;
  margin:0 0 12px;
  color:var(--ink);
}



.swatch-circle{
  box-shadow:inset 0 1px 2px rgba(0,0,0,.12);
  border:1px solid rgba(0,0,0,.08);
}
.swatch-circle.lg{width:56px;height:56px}
.swatch-circle.md{width:48px;height:48px}
.swatch-name{font-size:12px;font-weight:500;text-transform:none;letter-spacing:.01em;max-width:88px}

/* Palette: card rows (Colors to wear / avoid) */
#skin-analysis-results .palette-swatches .sca-palette-duo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem 2.5rem;
  align-items:start;
  margin-bottom:2rem;
}
#skin-analysis-results .palette-swatches .sca-palette-duo--wear-only{
  grid-template-columns:1fr;
}
@media(max-width:900px){
  #skin-analysis-results .palette-swatches .sca-palette-duo{grid-template-columns:1fr}
}
#skin-analysis-results .palette-swatches .sca-palette-heading{
  margin:0 0 1rem;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-family:var(--sans);
}
#skin-analysis-results .palette-swatches .sca-palette-heading--wear{color:#4a4528}
#skin-analysis-results .palette-swatches .sca-palette-heading--avoid{color:#8b3a2a}
#skin-analysis-results .palette-swatches .sca-palette-subheading{
  margin:1.75rem 0 .85rem;
  font-family:var(--serif);
  font-size:1rem;
  font-weight:600;
  font-style:italic;
  color:var(--ink);
}
#skin-analysis-results .palette-swatches .sca-palette-card-grid{
  display:flex;
  flex-direction:column;
  gap:.65rem;
}
#skin-analysis-results .palette-swatches .sca-palette-card-grid--pro{margin-top:0}
#skin-analysis-results .palette-swatches .swatch-item.sca-palette-swatch-card{
  display:block;
  width:100%;
  max-width:100%;
  cursor:pointer;
  text-align:left;
  transition:transform .2s ease,box-shadow .2s ease;
}
#skin-analysis-results .palette-swatches .swatch-item.sca-palette-swatch-card:hover{
  transform:translateY(-2px);
}
#skin-analysis-results .palette-swatches .swatch-item.sca-palette-swatch-card:hover .swatch-circle{
  transform:none;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 2px 8px rgba(42,31,26,.14);
}
#skin-analysis-results .palette-swatches .sca-palette-swatch-card-inner{
  display:flex;
  align-items:center;
  gap:.85rem 1rem;
  min-height:4.25rem;
  padding:.75rem .95rem;
  background:#f3ebe0;
  border:1px solid #e5dcc8;
  border-radius:12px;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset;
}
#skin-analysis-results .palette-swatches .sca-palette-swatch-card--avoid .sca-palette-swatch-card-inner{
  background:#f7f1ea;
}
#skin-analysis-results .palette-swatches .sca-palette-swatch-dot{
  flex-shrink:0;
  width:48px;
  height:48px;
  margin:0;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 3px rgba(42,31,26,.12);
}
#skin-analysis-results .palette-swatches .swatch-circle.lg.sca-palette-swatch-dot,
#skin-analysis-results .palette-swatches .swatch-circle.md.sca-palette-swatch-dot{
  width:48px;
  height:48px;
}
#skin-analysis-results .palette-swatches .sca-palette-swatch-text{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:.2rem;
}
#skin-analysis-results .palette-swatches .swatch-palette-card-name{
  display:block;
  font-size:.9rem;
  font-weight:700;
  color:var(--ink);
  line-height:1.25;
  font-family:var(--sans);
}
#skin-analysis-results .palette-swatches .swatch-palette-card-sub{
  display:block;
  font-size:.72rem;
  line-height:1.45;
  color:var(--ink-3);
  font-family:var(--sans);
}
#skin-analysis-results .palette-swatches .swatch-palette-hex-pill{
  flex-shrink:0;
  padding:.35rem .5rem;
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--ink-3);
  background:#ebe4d9;
  border:1px solid #ddd4c4;
  border-radius:6px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
#skin-analysis-results .palette-swatches .swatch-palette-card-x{
  flex-shrink:0;
  width:2rem;
  height:2rem;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.15rem;
  line-height:1;
  font-weight:300;
  color:#a94442;
  border:1px solid #e8d0ce;
  border-radius:8px;
  background:#faf5f4;
}

.outfit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}


.sca-outfit-card h3 {
    margin-top: .6rem;
    margin-bottom: .6rem;
    font-size: 1.3rem;
}

.outfit-items-line{
  margin:0 !important;
  color:var(--ink-2);
  font:400 14px/1.8 var(--sans);
}
.outfit-item-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.outfit-item-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.12);
  background:var(--paper-3);
  box-shadow:inset 0 1px 1px rgba(0,0,0,.08);
}
.outfit-separator{
  display:inline-block;
  margin:0 8px;
  color:var(--ink-3);
}

.style-card,.celeb-card,.product-card,.sca-free-makeup-block{
  background:var(--bg-surface);
  border:1px solid #EDE5D8;
  box-shadow:0 2px 12px rgba(61,43,31,.08);
}
.locked-note{margin:.6rem 0;color:var(--ink-3);font-size:.9rem}
.locked-note em{font-family:var(--serif);font-style:italic}

.palette-locked{
  background:transparent !important;
  border:1px dashed #D8C7B3 !important;
  box-shadow:none !important;
}
.palette-locked .locked-blur{
  opacity:.22;
  filter:blur(2px);
}
.outfit-section .palette-locked .locked-blur > div{
  min-height:180px;
  background:var(--bg-deep) !important;
  border:1px dashed #D8C7B3 !important;
  box-shadow:none !important;
}
.palette-locked .locked-overlay{
  background:rgba(237,229,216,.9) !important;
  border:1px dashed #D8C7B3 !important;
}

.draping-intro{font-size:.95rem;color:var(--ink-2);margin-bottom:1.5rem}
.draping-comparison-grid{display:flex;gap:1.25rem;flex-wrap:wrap;align-items:flex-start}
.drape-pair{text-align:center}
.drape-chip-pair{display:flex;border-radius:50px;overflow:hidden;width:110px;height:44px;border:1px solid #E8DFD0}
.drape-chip-pair-caution{border:1px dashed #b05b62;opacity:.85}
.drape-chip-label{font-size:11px;margin-top:6px}
.drape-chip-label-good{color:#3f7d62}
.drape-chip-label-caution{color:#a14a52}
.drape-divider{width:1px;background:#E8DFD0;align-self:stretch}

.draping-section{background:#EDE5D8 !important}
.quick-win-section h3{
  color:var(--ink) !important;
}

.style-section,.products-section,.season-intro,.draping-section,.cta-section,.celeb-section,.outfit-section,.palette-section{
  border-top:1px solid #E8DFD0;
}

@media (max-width:900px){
  .outfit-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  section{padding:36px 0}
  section + section{margin-top:56px}
  .container{padding:0 1rem}
  .btn-rose,.btn-outline{width:100%;justify-content:center}
}

/* Final surface pass: strict Base/Deep/Surface + intentional dark breaks */
.hero,
.palette-section,
.season-intro{
  background:var(--bg-base) !important;
}

.outfit-section,
.products-section,
.style-section,
.celeb-section,
.wallet-section,
.draping-section,
.sca-see-science-wrap,
.sca-trust-signal{
  background:var(--bg-deep) !important;
}

/* White cards only live on deep surfaces */
.style-card,
.product-card,
.celeb-card,
.sca-free-makeup-block,
.makeup-free-guide,
.sca-see-science-details,
.sca-season-details{
  background:var(--bg-surface) !important;
}

/* Locked states must read as gated, not broken white cards */
.palette-locked{
  background:transparent !important;
  border:1px dashed #D8C7B3 !important;
  box-shadow:none !important;
}
.palette-locked .locked-overlay{
  background:rgba(237,229,216,.92) !important;
  border:1px dashed #D8C7B3 !important;
}
.palette-locked .locked-blur > div,
.palette-locked .locked-blur .swatch-circle{
  background:var(--bg-deep) !important;
  border:1px dashed #D8C7B3 !important;
  box-shadow:none !important;
}

/* Mid-funnel soft gate + cream final CTA (no dark “different site” break) */
.sca-early-pro-gate{
  background:linear-gradient(180deg,var(--gold-pale) 0%,var(--paper) 100%) !important;
  border-top:1px solid var(--gold-light);
  border-bottom:1px solid var(--paper-3);
  padding:clamp(2rem,5vw,3rem) 0 !important;
}
.sca-early-pro-gate-inner{max-width:640px;margin:0 auto;text-align:center;padding:0 1rem}
.sca-early-pro-gate-kicker{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rose-deep);margin:0 0 .5rem}
.sca-early-pro-gate-title{font-family:var(--serif);font-size:clamp(1.35rem,3vw,1.85rem);color:var(--ink);line-height:1.2;margin:0 0 .75rem}
.sca-early-pro-gate-copy{font-size:.95rem;color:var(--ink-2);line-height:1.65;margin:0 0 .65rem}
.sca-early-proof{font-size:.88rem;color:var(--ink-2);margin:0 0 1.25rem}
.sca-early-pro-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;align-items:center}

.sca-cta-cream{
  background:linear-gradient(180deg,var(--paper) 0%,var(--gold-pale) 55%,#f0e4d2 100%) !important;
  border-top:1px solid var(--gold-light) !important;
  padding:clamp(3rem,7vw,4.5rem) 0 !important;
}
.sca-cta-cream-inner{max-width:560px;margin:0 auto}
.sca-cta-cream-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rose-deep);margin:0 0 .5rem}
.sca-cta-cream-title{color:var(--ink) !important;font-size:clamp(1.75rem,4vw,2.35rem);margin:0 0 .65rem}
.sca-cta-cream-lead{color:var(--ink-2) !important;font-size:1rem;line-height:1.65;margin:0 0 .75rem}
.sca-cta-cream-proof{color:var(--ink-2) !important;font-size:.9rem;margin:0 0 1rem}
.sca-cta-cream-price{color:var(--ink) !important}
.sca-cta-cream-price-note{color:var(--ink-3) !important}

.sca-result-confidence{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:.35rem 0 1rem;padding:.5rem .75rem;background:var(--bg-surface);border:1px solid var(--paper-3);border-radius:10px;max-width:420px}
.sca-result-confidence-label{font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.sca-result-confidence-track{flex:1;min-width:120px;height:6px;background:var(--paper-3);border-radius:6px;overflow:hidden}
.sca-result-confidence-fill{display:block;height:100%;background:linear-gradient(90deg,var(--sage),var(--rose-deep));border-radius:6px}
.sca-result-confidence-text{font-size:.78rem;color:var(--ink-2)}

.sca-season-snapshot-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}
.sca-season-snapshot-list li{
  font-size:1rem;line-height:1.45;color:var(--ink-2);
  padding:.85rem 1rem;border-left:3px solid var(--rose-deep);background:var(--bg-surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;border:1px solid var(--paper-3);border-left-width:3px;
}

.sca-avoid-teaser-lead{font-size:.85rem;line-height:1.55;color:var(--ink-2);margin:0 0 1rem}
.sca-avoid-teaser-grid{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1rem}
.sca-avoid-teaser-card{
  display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;background:#f3ebe0;border:1px solid #e5dcc8;border-radius:12px;
  filter:saturate(.75) contrast(.92);opacity:.88;position:relative;overflow:hidden;
}
.sca-avoid-teaser-card::after{
  content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.35) 100%);pointer-events:none;
}
.sca-avoid-teaser-swatch{width:40px;height:40px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.12)}
.sca-avoid-teaser-name{flex:1;font-weight:700;font-size:.88rem;color:var(--ink)}
.sca-avoid-teaser-badge{font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7c1f1f;background:#ffe2e2;border:1px solid #e69b9b;border-radius:999px;padding:.25rem .5rem}
.sca-avoid-teaser-cta{margin-top:.25rem;display:inline-flex}
.sca-palette-column--avoid{
  border-left:3px solid rgba(183,87,73,.45);
  padding-left:1rem;
}

.palette-locked.sca-gate-strong{
  border:2px dashed var(--rose-deep) !important;
  box-shadow:0 0 0 1px rgba(139,34,70,.12) inset !important;
}
.palette-locked.sca-gate-strong .locked-overlay{
  background:rgba(250,246,241,.94) !important;
  border:2px dashed var(--rose-deep) !important;
}
.palette-locked.sca-gate-strong .locked-label{font-size:1.05rem;color:var(--rose-deep)}

.draping-pro-gate{
    position:relative;
    margin-top:2rem;
    padding:1.5rem;
    border-radius:var(--radius);
    border:2px dashed var(--rose-light);
    background:var(--bg-surface);
    min-height: 350px;
}

.draping-pro-gate-blur{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;filter:blur(7px);opacity:.45;user-select:none;pointer-events:none}
.draping-pro-gate-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.65rem;padding:1.5rem;
  background:linear-gradient(180deg,rgba(247,242,235,.2) 0%,rgba(247,242,235,.94) 45%,rgba(247,242,235,.98) 100%);
}
.draping-pro-gate-kicker{font-size:.58rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rose-deep)}
.draping-pro-gate-lead{max-width:420px;font-size:.92rem;color:var(--ink-2);line-height:1.55;margin:0}
.draping-pro-gate-price{max-width:420px;font-size:.92rem;color:var(--ink);margin:0}
.draping-pro-gate-proof{max-width:400px;font-size:.82rem;color:var(--ink-3);margin:0}
.drape-chip-pair-ghost{border-style:dashed !important;opacity:.9}

#skin-analysis-results .palette-intro p,
#skin-analysis-results .section-header p{color:var(--ink-2) !important}

.sca-soft-pro-note{
  margin:1rem 0 0;
  padding:.8rem 1rem;
  border-radius:10px;
  border:1px solid var(--paper-3);
  background:var(--gold-pale);
  color:var(--ink-2);
  font-size:.86rem;
  line-height:1.5;
}
.sca-soft-pro-note--makeup{margin-top:1.25rem}

.sca-grand-reveal-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.55rem;
  margin:.7rem auto 1rem;
  max-width:420px;
}
.sca-grand-reveal-chip{
  display:block;
  height:46px;
  border-radius:10px;
  background:linear-gradient(135deg,var(--paper-3),var(--paper-2));
  border:1px solid var(--paper-3);
  filter:blur(.4px) saturate(.85);
}
.sca-grand-reveal-list{
  margin:.15rem auto .9rem;
  padding:0;
  list-style:none;
  text-align:left;
  max-width:430px;
  display:grid;
  gap:.45rem;
}
.sca-grand-reveal-list li{
  font-size:.9rem;
  color:var(--ink-2);
  line-height:1.45;
  padding-left:1.1rem;
  position:relative;
}
.sca-grand-reveal-list li::before{
  content:'•';
  position:absolute;
  left:.2rem;
  color:var(--rose-deep);
}

.lock-ring svg{stroke:#7c2641 !important}

.sca-expiry-countdown{
  margin:.75rem 0 .65rem;
  display:inline-flex;
  padding:.42rem .85rem;
  border-radius:999px;
  background:#ffe9d6;
  border:1px solid #f0be8f;
  color:#7a3c13;
  font-weight:700;
  font-size:.84rem;
}
.sca-makeup-sample-label{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--sage);
}
.celeb-initials--teaser{
  position:relative;
  filter:blur(1.2px) saturate(.82);
  opacity:.9;
}
.celeb-initials--teaser::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.8),rgba(255,255,255,.15) 52%,rgba(0,0,0,.08));
}
.sca-trust-stars{
  margin:0 0 .65rem;
  color:#d78b2f;
  font-size:1.05rem;
  letter-spacing:.14em;
}
.sca-trust-quote-grid{
  display:grid;
  gap:.5rem;
}
.sca-trust-quote-grid p{
  margin:0;
  font-size:.9rem;
  color:var(--ink-2);
  line-height:1.55;
  font-style:italic;
}
.sca-trust-quote-grid span{
  font-style:normal;
  color:var(--ink-3);
}

@media(max-width:900px){
  .sca-palette-column--avoid{
    border-left:none;
    border-top:3px solid rgba(183,87,73,.45);
    padding-left:0;
    padding-top:.9rem;
  }
}

.sca-result-profile-line{
    margin:.35rem 0 .85rem;
    color:var(--ink-2);
    font-size:.95rem;
    line-height:1.5;
}

.sca-hero-six-chips.swatch-row {
    justify-content:center;
    margin:1.25rem auto 0;
    max-width:720px;
    gap:1.25rem 1.5rem;
}