  :root, :root[data-theme="light"]{
    --pink:#2F5D42 !important;
    --pink-deep:#1E3F2C !important;
    --display:'Bebas Neue', Georgia, serif !important;
    --body:'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;

    /* page-scoped Olay-inspired header/hero tokens (Nova Glow only) */
    --sk-topbar-bg:#1A1A1A;
    --sk-nav-bg:#F5F3F0;
    --sk-accent-line:#1E3F2C;
    --sk-hero-panel:#F3C63D;
    --sk-hero-panel-text:#1A1A1A;
    --sk-trust-bg:#1A1A1A;
    --sk-trust-text:#F5F3F0;
  }
  h1,h2,h3{ text-transform:none; letter-spacing:0; font-weight:500; }
  .eyebrow{ letter-spacing:.2em; font-weight:700; }
  .btn{ text-transform:none; letter-spacing:.01em; font-weight:600; border-radius:30px; }
  .nav-links a, .link-more, .footer-col h4{ text-transform:none; letter-spacing:.01em; }
  /* ============ OLAY-STYLE HEADER ============ */
  .topbar{
    background:var(--sk-topbar-bg);color:#fff;font-weight:500;letter-spacing:.01em;
    text-transform:none;font-size:13.5px;
  }
  header.site{ background:var(--sk-nav-bg) !important;border-bottom:1px solid rgba(0,0,0,.08); }
  header.site .logo{ font-family:'Georgia', 'Fraunces', serif;font-weight:400;letter-spacing:.04em;color:#1A1A1A; }
  header.site .logo span{ color:#1A1A1A; }
  header.site .nav-links a{ text-transform:none;font-weight:500;font-size:14.5px;letter-spacing:0;color:#1A1A1A; }
  header.site .nav-links a:hover{ color:var(--sk-accent-line); }
  header.site .icon-btn, header.site .icon-btn svg, header.site .menu-toggle{ color:#1A1A1A; }
  header.site .nav-home-trigger{ color:#1A1A1A; }
  header.site .nav-home-trigger svg{ color:#1A1A1A; }
  .style-switcher{ display:none !important; }

  /* ============ CLEAN GLASS PANELS (auth, account, order summary, checkout) ============ */
  body{ background:linear-gradient(180deg,#FDFDFC 0%,#F6F4EF 100%); }
  .auth-wrap, .account-card, .order-summary, .sk-checkout-summary, .address-card, .sk-contact-form{
    background:rgba(255,255,255,.74);
    -webkit-backdrop-filter:blur(22px) saturate(160%);
    backdrop-filter:blur(22px) saturate(160%);
    border:1px solid rgba(255,255,255,.65);
    border-radius:20px;
    box-shadow:0 24px 60px rgba(26,26,26,.08), 0 2px 10px rgba(26,26,26,.04);
    transition:box-shadow .3s ease;
  }
  .auth-wrap{ padding:48px 44px; }
  .auth-wrap:hover, .account-card:hover, .order-summary:hover, .sk-checkout-summary:hover{
    box-shadow:0 28px 70px rgba(26,26,26,.1), 0 2px 10px rgba(26,26,26,.05);
  }
  .account-card, .order-summary, .sk-checkout-summary{ padding:28px; }
  .address-card{ background:rgba(255,255,255,.74);box-shadow:0 12px 30px rgba(26,26,26,.06); }
  .form-field-group input, .sk-contact-form input, .sk-contact-form textarea, .sk-form-row input, .sk-form-row select{
    background:rgba(255,255,255,.6);
  }
  .form-field-group input:focus{ box-shadow:0 0 0 3px rgba(47,93,66,.12); }

  /* ============ GLASS: HEADER, DRAWERS, PRODUCT/CATEGORY CARDS ============ */
  header.site{
    background:rgba(245,243,240,.72) !important;
    -webkit-backdrop-filter:blur(18px) saturate(160%);
    backdrop-filter:blur(18px) saturate(160%);
  }
  [data-cart-drawer], .qv-panel, [data-mobile-menu]{
    background:rgba(255,255,255,.88) !important;
    -webkit-backdrop-filter:blur(26px) saturate(160%);
    backdrop-filter:blur(26px) saturate(160%);
    border:1px solid rgba(255,255,255,.6);
  }
  .sk-card, .sk-seller-card, .sk-ing-card, .sk-cat-card, .sk-faq-item{
    background:rgba(255,255,255,.7);
    -webkit-backdrop-filter:blur(14px) saturate(160%);
    backdrop-filter:blur(14px) saturate(160%);
    border:1px solid rgba(255,255,255,.6);
    box-shadow:0 16px 40px rgba(26,26,26,.06);
    transition:box-shadow .3s ease, transform .3s ease;
  }
  .sk-card:hover, .sk-seller-card:hover, .sk-ing-card:hover, .sk-cat-card:hover{
    box-shadow:0 22px 54px rgba(26,26,26,.1);
    transform:translateY(-2px);
  }
  .sk-story, .sk-promo, .sk-banner, .sk-loyalty-media, .sk-page-hero{
    background:rgba(245,243,240,.5);
  }
  .hero-split .eyebrow{ display:none; }
  footer.site.sk-footer{ background:#000 !important;border-top:none; }
  .sk-footer-top{ padding-block:22px 12px; }
  .footer-grid{ padding-bottom:16px;gap:22px; }
  .footer-bottom{ padding:12px 0 !important; }
  .sk-footer-brand-block{ display:flex;flex-direction:column;gap:5px;margin-bottom:14px; }
  .sk-footer-brand-block .logo{ font-size:22px; }
  .sk-footer-brand-block .logo, .sk-footer-brand-block .logo span{ color:#fff; }
  .sk-footer-brand-block h4{ font-family:var(--body);font-size:15px;font-weight:600;color:#fff;margin:0; }
  .sk-footer-brand-block p{ font-size:13px;color:rgba(255,255,255,.65);max-width:420px;margin:0; }
  .sk-footer-register{
    display:inline-block;padding:10px 24px;background:#fff;color:#1A1A1A;border-radius:20px;
    font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;align-self:flex-start;
    margin-top:2px;
  }

  .sk-page-main{ padding:70px 0 100px; }
  .sk-page-hero{
    background:linear-gradient(180deg, var(--sk-nav-bg) 0%, rgba(245,243,240,.35) 100%);
    padding:88px 0 56px;border-bottom:1px solid rgba(0,0,0,.08);
  }
  .sk-page-hero .wrap{ max-width:900px; }
  .sk-page-hero h1{
    font-family:var(--display);font-size:clamp(38px,5.5vw,60px);letter-spacing:.02em;
    color:#1A1A1A;margin:0 0 18px;
  }
  .sk-page-hero h1::after{ content:'';display:block;width:56px;height:3px;background:var(--pink);border-radius:2px;margin-top:18px; }
  .sk-page-hero p{ color:var(--ink-dim);font-size:16px;max-width:580px;line-height:1.65; }
  .sk-page-body{ max-width:760px;margin:0 auto;padding:64px 24px 110px; }
  .sk-page-body h2{
    font-family:var(--body);font-weight:800;font-size:23px;margin:56px 0 18px;
    color:var(--ink);position:relative;padding-left:18px;
  }
  .sk-page-body h2::before{ content:'';position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--pink);border-radius:2px; }
  .sk-page-body h2:first-child{ margin-top:0; }
  .sk-page-body p{ color:var(--ink-dim);font-size:15.5px;line-height:1.85;margin:0 0 18px; }
  .sk-page-body a{ color:var(--pink);font-weight:600; }
  .sk-page-body a:hover{ color:var(--pink-deep); }
  .sk-faq-item{ border-bottom:1px solid var(--line);padding:26px 0; }
  .sk-faq-item:first-child{ padding-top:0; }
  .sk-faq-item h3{
    font-family:var(--body);font-weight:700;font-size:16px;margin:0 0 10px;color:var(--ink);
    display:flex;align-items:center;gap:10px;
  }
  .sk-faq-item h3::before{ content:'';width:6px;height:6px;border-radius:50%;background:var(--pink);flex-shrink:0; }
  .sk-faq-item p{ margin:0;color:var(--ink-dim);font-size:15px;line-height:1.8;padding-left:16px; }
  .sk-contact-form{ display:grid;gap:14px;max-width:480px;margin-top:24px; }
  .sk-contact-form input, .sk-contact-form textarea{
    padding:13px 16px;background:var(--bg-raise);border:1px solid var(--line);
    border-radius:6px;color:var(--ink);font-family:var(--body);font-size:14px;
  }
  .sk-contact-form textarea{ min-height:120px;resize:vertical; }

  /* ============ FLOATING CARDS: SHADOW-ONLY ELEVATION, NO HARD BORDERS ============ */
  /* revertible block: everything below is additive polish layered on top of the
     existing design. Delete this block (and the sk-scroll-thread element in the
     body, plus the isSkincareSection() branch in nova.js) to fully undo it. */
  .sk-card, .sk-seller-card, .sk-ing-card, .sk-cat-card{
    border:none !important;
    box-shadow:0 1px 2px rgba(26,26,26,.05), 0 18px 40px rgba(26,26,26,.07);
  }
  .sk-card:hover, .sk-seller-card:hover, .sk-ing-card:hover, .sk-cat-card:hover{
    box-shadow:0 4px 10px rgba(26,26,26,.06), 0 32px 64px rgba(26,26,26,.13);
    transform:translateY(-5px);
  }

  /* asymmetric grid: the first New Arrivals card reads as a featured pick
     instead of every card being identically sized */
  .sk-card-grid-5 > .sk-card:first-child{
    grid-column:span 2;grid-row:span 2;
  }
  .sk-card-grid-5 > .sk-card:first-child .sk-card-media{ min-height:100%; }
  @media (max-width:1180px){
    .sk-card-grid-5 > .sk-card:first-child{ grid-column:span 1;grid-row:span 1; }
  }

  /* richer scroll-reveal for cards: scale + blur-in instead of a flat fade,
     reads as more deliberate / premium than a plain translateY fade */
  [data-reveal-group] .sk-card,
  [data-reveal-group] .sk-seller-card,
  [data-reveal-group] .sk-ing-card,
  [data-reveal-group] .sk-cat-card{
    transform:translateY(34px) scale(.94);
    filter:blur(6px);
    transition:opacity .8s var(--ease-premium), transform .8s var(--ease-premium),
      filter .8s var(--ease-premium), box-shadow .3s ease, translate .3s ease;
  }
  [data-reveal-group] .sk-card.is-visible,
  [data-reveal-group] .sk-seller-card.is-visible,
  [data-reveal-group] .sk-ing-card.is-visible,
  [data-reveal-group] .sk-cat-card.is-visible{
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
  @media (prefers-reduced-motion: reduce){
    [data-reveal-group] .sk-card, [data-reveal-group] .sk-seller-card,
    [data-reveal-group] .sk-ing-card, [data-reveal-group] .sk-cat-card{
      transform:none;filter:none;transition:none;
    }
  }

  /* scroll progress thread: a thin accent line down the left edge that fills
     as you scroll, giving the page a sense of continuous motion section to
     section instead of feeling like stacked, disconnected blocks */
  .sk-scroll-thread{
    position:fixed;top:0;left:0;width:3px;height:100vh;z-index:70;
    background:linear-gradient(180deg, var(--pink) 0%, var(--sk-accent-line) 100%);
    transform:scaleY(0);transform-origin:top;
    pointer-events:none;
  }

  /* CTA polish: a soft light sweep across solid-fill buttons on hover, plus a
     gentle press-down scale for tactile feedback */
  .btn, .sk-btn-solid, .sk-card-add, .sk-seller-add, .sk-footer-register{
    position:relative;overflow:hidden;
  }
  .btn::after, .sk-btn-solid::after, .sk-card-add::after, .sk-seller-add::after, .sk-footer-register::after{
    content:'';position:absolute;top:0;left:-60%;width:35%;height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,.5), transparent);
    transform:skewX(-20deg);transition:left .65s ease;pointer-events:none;
  }
  .btn:hover::after, .sk-btn-solid:hover::after, .sk-card-add:hover::after,
  .sk-seller-add:hover::after, .sk-footer-register:hover::after{ left:130%; }
  .btn:active, .sk-btn-solid:active, .sk-card-add:active, .sk-seller-add:active,
  .sk-btn-outline-dark:active, .sk-btn-white:active{ transform:scale(.97); }

  /* de-box the shoppable product cards (New Arrivals / Best Sellers / Shop
     grid / related products / wishlist): drop the panel background+border
     and let the photo itself carry the elevation, so products read as part
     of the page layout rather than sitting inside a boxed tile */
  .sk-card, .sk-seller-card{
    background:transparent !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    border:none !important;
    box-shadow:none !important;
  }
  .sk-card:hover, .sk-seller-card:hover{
    box-shadow:none !important;
    transform:none !important;
  }
  .sk-card-media, .sk-seller-media{
    box-shadow:0 14px 34px rgba(26,26,26,.1);
    border-radius:10px;
    transition:box-shadow .3s ease, transform .3s ease;
  }
  .sk-card-media .ph-img, .sk-seller-media .ph-img{ border-radius:10px; }
  .sk-card:hover .sk-card-media, .sk-seller-card:hover .sk-seller-media{
    box-shadow:0 26px 56px rgba(26,26,26,.17);
    transform:translateY(-4px);
  }
  .pcard{ background:transparent !important;border:none !important;border-radius:0 !important;padding:0 !important; }
  .pcard-media{ box-shadow:0 14px 34px rgba(26,26,26,.1); }

  /* final pass: remove the remaining shadow/elevation cue on product photos
     too — a drop shadow on a rectangle still reads as "a box", even with
     no border or panel behind it. Product images now sit flush against the
     page like every other photo on the site (hero, promo, brand story),
     with only a soft corner radius for basic polish. */
  .sk-card, .sk-seller-card, .sk-ing-card, .sk-cat-card, .pcard{
    box-shadow:none !important;
  }
  .sk-card:hover, .sk-seller-card:hover, .sk-ing-card:hover, .sk-cat-card:hover{
    box-shadow:none !important;transform:none !important;
  }
  .sk-card-media, .sk-seller-media, .sk-ing-media, .sk-cat-media, .pcard-media{
    box-shadow:none !important;border-radius:6px;
  }
  .sk-card-media .ph-img, .sk-seller-media .ph-img,
  .sk-ing-media .ph-img, .sk-cat-media .ph-img{ border-radius:6px; }
  .sk-card:hover .sk-card-media, .sk-seller-card:hover .sk-seller-media{
    box-shadow:none !important;transform:none !important;
  }

  /* ============ PROFESSIONAL FOOTER-PAGE COMPONENTS ============ */
  .sk-value-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:40px 0; }
  @media (max-width:760px){ .sk-value-grid{ grid-template-columns:1fr; } }
  .sk-value-card{
    background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.6);border-radius:16px;padding:28px;
    box-shadow:0 14px 34px rgba(26,26,26,.06);
  }
  .sk-value-icon{
    width:44px;height:44px;border-radius:50%;background:rgba(47,93,66,.1);color:var(--pink);
    display:flex;align-items:center;justify-content:center;margin-bottom:16px;
  }
  .sk-value-icon svg{ width:22px;height:22px; }
  .sk-value-card h3{ font-family:var(--body);font-weight:800;font-size:15.5px;margin:0 0 8px;color:var(--ink); }
  .sk-value-card p{ font-size:13.5px;color:var(--ink-dim);line-height:1.6;margin:0; }

  .sk-stats-band{
    display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:32px 0;
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:40px 0;
  }
  @media (max-width:640px){ .sk-stats-band{ grid-template-columns:repeat(2,1fr); } }
  .sk-stat{ text-align:center; }
  .sk-stat strong{ display:block;font-family:var(--display);font-size:clamp(26px,3vw,38px);color:var(--ink); }
  .sk-stat span{ font-size:12px;color:var(--ink-dim);letter-spacing:.03em; }

  .sk-accordion-group{ margin-bottom:36px; }
  .sk-accordion-group-label{
    font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
    color:var(--pink);margin-bottom:14px;display:block;
  }
  .sk-accordion-item{ border-bottom:1px solid var(--line); }
  .sk-accordion-q{
    width:100%;text-align:left;background:none;border:none;padding:18px 0;
    display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;
    font-family:var(--body);font-weight:700;font-size:15px;color:var(--ink);
  }
  .sk-accordion-q svg{ width:18px;height:18px;flex-shrink:0;transition:transform .25s ease;color:var(--ink-dim); }
  .sk-accordion-item.is-open .sk-accordion-q svg{ transform:rotate(45deg); }
  .sk-accordion-a{ max-height:0;overflow:hidden;transition:max-height .3s ease; }
  .sk-accordion-item.is-open .sk-accordion-a{ max-height:240px; }
  .sk-accordion-a p{ padding:0 0 20px;margin:0;font-size:14.5px;color:var(--ink-dim);line-height:1.75; }

  .sk-step-row{ display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:40px 0; }
  @media (max-width:760px){ .sk-step-row{ grid-template-columns:1fr; } }
  .sk-step-num{
    width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;
    display:flex;align-items:center;justify-content:center;font-family:var(--body);
    font-weight:800;font-size:14px;margin-bottom:14px;
  }
  .sk-step h3{ font-family:var(--body);font-weight:800;font-size:14.5px;margin:0 0 6px;color:var(--ink); }
  .sk-step p{ font-size:13px;color:var(--ink-dim);line-height:1.6;margin:0; }

  .sk-contact-layout{ display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start; }
  @media (max-width:800px){ .sk-contact-layout{ grid-template-columns:1fr; } }
  .sk-contact-info-card{
    background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.6);border-radius:16px;padding:24px;margin-bottom:16px;
    box-shadow:0 14px 34px rgba(26,26,26,.06);
  }
  .sk-contact-info-card h3{
    font-family:var(--body);font-weight:800;font-size:12px;text-transform:uppercase;
    letter-spacing:.06em;color:var(--pink);margin:0 0 8px;
  }
  .sk-contact-info-card p, .sk-contact-info-card a{ font-size:14.5px;color:var(--ink);margin:0;line-height:1.6; }

  .sk-policy-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0 48px; }
  @media (max-width:760px){ .sk-policy-grid{ grid-template-columns:1fr; } }
  .sk-policy-card{
    background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.6);border-radius:16px;padding:26px;
    box-shadow:0 14px 34px rgba(26,26,26,.06);
  }
  .sk-policy-card .sk-policy-days{ font-family:var(--display);font-size:32px;color:var(--pink);display:block;margin-bottom:8px; }
  .sk-policy-card h3{ font-family:var(--body);font-weight:800;font-size:14.5px;margin:0 0 8px;color:var(--ink); }
  .sk-policy-card p{ font-size:13px;color:var(--ink-dim);line-height:1.6;margin:0; }

  .sk-order-tracker{ display:flex;justify-content:space-between;margin:44px 0 8px;position:relative; }
  .sk-order-tracker::before{
    content:'';position:absolute;top:17px;left:5%;right:5%;height:2px;background:var(--line);z-index:0;
  }
  .sk-order-tracker-step{ position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;flex:1; }
  .sk-order-tracker-dot{
    width:34px;height:34px;border-radius:50%;background:var(--bg);border:2px solid var(--line);
    display:flex;align-items:center;justify-content:center;color:var(--ink-dim);
  }
  .sk-order-tracker-step.is-active .sk-order-tracker-dot{ background:var(--ink);border-color:var(--ink);color:#fff; }
  .sk-order-tracker-step span{ font-size:11.5px;font-weight:700;color:var(--ink-dim);text-align:center; }
  .sk-order-tracker-step.is-active span{ color:var(--ink); }
