/* ─── RESET & ROOT ────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --bg:       #FAF7F2;
      --bg-alt:   #F5F0E8;
      --white:    #FFFFFF;
      --ink:      #1A1A1A;
      --ink-soft: #6B635A;
      --gold:     #C9A96E;
      --gold-lt:  #E2C48A;
      --gold-dk:  #A8863A;
      --border:   rgba(201,169,110,0.22);
      --shadow:   0 4px 32px rgba(0,0,0,0.07);
      --shadow-lg:0 12px 60px rgba(0,0,0,0.11);

      --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
      --font-serif:Georgia, "Times New Roman", serif;
      --font-thin: Georgia, "Times New Roman", serif;

      --max: 1100px;
      --radius: 2px;
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: var(--font-sans);
      background: var(--bg);
      color: var(--ink);
      font-size: 16px;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }



    body.blog-page,
    body.blog-article-page {
      background: var(--bg);
      background-image: none;
    }
    img { display: block; max-width: 100%; }
    a { text-decoration: none; color: inherit; }

    /* ─── SCROLL REVEAL ───────────────────────────────── */
    .reveal {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity 0.75s ease, transform 0.75s ease;
    }
    .reveal.visible {
      opacity: 1;
      transform: none;
    }
    .reveal-delay-1 { transition-delay: 0.1s; }
    .reveal-delay-2 { transition-delay: 0.2s; }
    .reveal-delay-3 { transition-delay: 0.3s; }
    .reveal-delay-4 { transition-delay: 0.4s; }

    /* ─── UTILITY ─────────────────────────────────────── */
    .container {
      width: 100%;
      max-width: var(--max);
      margin: 0 auto;
      padding: 0 24px;
    }

    .eyebrow {
      font-family: var(--font-sans);
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 1rem;
    }

    .section-title {
      font-family: var(--font-serif);
      font-size: clamp(2rem, 5vw, 3rem);
      font-weight: 500;
      line-height: 1.2;
      color: var(--ink);
      margin-bottom: 1rem;
    }

    .section-sub {
      font-size: 1rem;
      color: var(--ink-soft);
      line-height: 1.75;
      max-width: 480px;
    }

    /* ─── BUTTONS ─────────────────────────────────────── */
    .btn {
      display: inline-block;
      padding: 14px 36px;
      font-family: var(--font-sans);
      font-size: 0.82rem;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      border: none;
      cursor: pointer;
      transition: all 0.25s ease;
      border-radius: var(--radius);
      position: relative;
      overflow: hidden;
    }

    .btn::after {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(255,255,255,0.08);
      opacity: 0;
      transition: opacity 0.2s;
    }
    .btn:hover::after { opacity: 1; }

    .btn-primary {
      background: var(--ink);
      color: var(--gold);
    }
    .btn-primary:hover {
      background: #2C2C2C;
      transform: translateY(-1px);
      box-shadow: 0 6px 24px rgba(0,0,0,0.2);
    }

    .btn-gold {
      background: var(--gold);
      color: var(--ink);
    }
    .btn-gold:hover {
      background: var(--gold-lt);
      transform: translateY(-1px);
      box-shadow: 0 6px 24px rgba(201,169,110,0.35);
    }

    .btn-outline {
      background: transparent;
      color: var(--ink);
      border: 1.5px solid var(--border);
    }
    .btn-outline:hover {
      border-color: var(--gold);
      color: var(--gold-dk);
    }

    /* ─── DIVIDER ─────────────────────────────────────── */
    .gold-rule {
      width: 48px;
      height: 1.5px;
      background: linear-gradient(90deg, var(--gold), var(--gold-lt));
      margin: 0 auto 2.5rem;
    }
    .gold-rule.left { margin: 0 0 2.5rem; }

    /* ─── NAV ─────────────────────────────────────────── */
    nav {
      position: fixed;
      top: 0;
      width: 100%;
      z-index: 100;
      padding: 20px 0;
      background: rgba(250,247,242,0.90);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: 0 1px 0 rgba(201,169,110,0.10);
      transition: background 0.3s, box-shadow 0.3s, padding 0.3s;
    }
    nav.scrolled {
      background: rgba(250,247,242,0.95);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      box-shadow: 0 1px 0 var(--border);
      padding: 14px 0;
    }
    .nav-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .nav-logo {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .nav-logo-img {
      width: 32px;
      height: 32px;
      object-fit: contain;
      filter: drop-shadow(0 1px 3px rgba(201,169,110,0.3));
    }
    /* Fallback SVG logo when PNG not uploaded */
    .nav-logo-svg {
      width: 32px;
      height: 32px;
    }
    .nav-logo-name {
      font-family: var(--font-serif);
      font-size: 1.1rem;
      font-weight: 500;
      letter-spacing: 0.04em;
      color: var(--ink);
    }
    .nav-links {
      display: flex;
      gap: 32px;
      list-style: none;
    }
    .nav-links a {
      font-size: 0.78rem;
      font-weight: 500;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--ink-soft);
      transition: color 0.2s;
    }
    .nav-links a:hover { color: var(--gold); }
    .nav-cta { display: flex; align-items: center; }

    @media (max-width: 768px) {
      .nav-links { display: none; }
      .nav-cta .btn { padding: 10px 20px; font-size: 0.72rem; }
    }

    /* ─── HERO ────────────────────────────────────────── */
    #hero {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 140px 24px 100px;
      position: relative;
      overflow: hidden;
    }

    /* Subtle grain texture */
    #hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image:
        radial-gradient(ellipse 80% 60% at 50% -10%, rgba(201,169,110,0.08) 0%, transparent 70%),
        radial-gradient(ellipse 60% 40% at 80% 100%, rgba(201,169,110,0.05) 0%, transparent 60%);
      pointer-events: none;
    }

    .hero-logo-wrap {
      margin-bottom: 2rem;
      position: relative;
      display: inline-block;
    }

    .hero-logo-ring {
      width: 96px;
      height: 96px;
      border-radius: 50%;
      border: 1px solid var(--border);
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto;
      position: relative;
    }
    .hero-logo-ring::before {
      content: '';
      position: absolute;
      inset: -6px;
      border-radius: 50%;
      border: 1px solid rgba(201,169,110,0.1);
    }
    .hero-logo-ring img,
    .hero-logo-ring svg {
      width: 56px;
      height: 56px;
      object-fit: contain;
    }

    .hero-name {
      font-family: var(--font-serif);
      font-size: 0.9rem;
      font-weight: 400;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 2rem;
    }

    .hero-headline {
      font-family: var(--font-serif);
      font-size: clamp(2.8rem, 8vw, 5.5rem);
      font-weight: 500;
      line-height: 1.1;
      letter-spacing: -0.01em;
      color: var(--ink);
      margin-bottom: 1.5rem;
      max-width: 820px;
    }
    .hero-headline em {
      font-style: italic;
      color: var(--gold);
    }

    .hero-sub {
      font-family: var(--font-thin);
      font-size: clamp(1.05rem, 2.5vw, 1.25rem);
      font-weight: 300;
      color: var(--ink-soft);
      max-width: 520px;
      margin: 0 auto 2.5rem;
      line-height: 1.8;
    }

    .hero-cta-group {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      justify-content: center;
    }

    .hero-scroll-hint {
      position: absolute;
      bottom: 36px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      opacity: 0.4;
    }
    .hero-scroll-hint span {
      font-size: 0.65rem;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--ink-soft);
    }
    .scroll-line {
      width: 1px;
      height: 36px;
      background: linear-gradient(to bottom, var(--gold), transparent);
      animation: scrollPulse 2s ease-in-out infinite;
    }
    @keyframes scrollPulse {
      0%, 100% { opacity: 0.4; }
      50% { opacity: 1; }
    }

    /* ─── STATS STRIP ─────────────────────────────────── */
    #stats {
      background: var(--ink);
      padding: 28px 0;
    }
    .stats-inner {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0;
      flex-wrap: wrap;
    }
    .stat-item {
      text-align: center;
      padding: 12px 40px;
      position: relative;
    }
    .stat-item + .stat-item::before {
      content: '';
      position: absolute;
      left: 0;
      top: 20%;
      height: 60%;
      width: 1px;
      background: rgba(255,255,255,0.1);
    }
    .stat-num {
      font-family: var(--font-serif);
      font-size: 1.8rem;
      font-weight: 500;
      color: var(--gold);
      line-height: 1;
      margin-bottom: 4px;
    }
    .stat-label {
      font-size: 0.7rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.45);
    }

    @media (max-width: 500px) {
      .stat-item { padding: 12px 24px; }
      .stat-num { font-size: 1.4rem; }
    }

    /* ─── WHAT VIKKI DOES ─────────────────────────────── */
    #how-it-works {
      padding: 100px 0;
      background: var(--white);
    }
    .section-header {
      text-align: center;
      margin-bottom: 64px;
    }
    .section-header .section-sub {
      margin: 0 auto;
    }

    .cards-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5px;
      background: var(--border);
      border: 1.5px solid var(--border);
    }

    @media (max-width: 768px) {
      .cards-grid {
        grid-template-columns: 1fr;
      }
    }

    .how-card {
      background: var(--white);
      padding: 44px 36px;
      position: relative;
      transition: background 0.3s;
    }
    .how-card:hover {
      background: var(--bg);
    }
    .card-num {
      font-family: var(--font-serif);
      font-size: 3rem;
      font-weight: 400;
      color: var(--border);
      line-height: 1;
      margin-bottom: 20px;
      transition: color 0.3s;
    }
    .how-card:hover .card-num { color: rgba(201,169,110,0.4); }
    .card-title {
      font-family: var(--font-serif);
      font-size: 1.3rem;
      font-weight: 500;
      color: var(--ink);
      margin-bottom: 12px;
    }
    .card-text {
      font-size: 0.9rem;
      color: var(--ink-soft);
      line-height: 1.75;
    }
    .card-accent-line {
      width: 28px;
      height: 1.5px;
      background: var(--gold);
      margin-bottom: 20px;
      transition: width 0.3s;
    }
    .how-card:hover .card-accent-line { width: 48px; }

    /* ─── PRODUCTS ────────────────────────────────────── */
    #products {
      padding: 100px 0;
      background: var(--bg-alt);
    }

    .products-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 28px;
      max-width: 980px;
      margin: 0 auto;
    }

    @media (max-width: 900px) {
      .products-grid { max-width: 100%; }
    }

    .product-card {
      background: var(--white);
      border: 1.5px solid var(--border);
      padding: 44px 36px 36px;
      display: grid;
      grid-template-columns: minmax(220px, 320px) 1fr;
      column-gap: 40px;
      row-gap: 14px;
      align-items: start;
      position: relative;
      transition: box-shadow 0.3s, transform 0.3s;
      overflow: hidden;
    }
    .product-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, var(--gold), var(--gold-lt));
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.4s ease;
    }
    .product-card:hover::before { transform: scaleX(1); }
    .product-card:hover {
      box-shadow: var(--shadow-lg);
      transform: translateY(-3px);
    }

    .product-card.featured {
      background: var(--ink);
      border-color: var(--ink);
    }
    .product-card.featured::before {
      transform: scaleX(1);
    }


    .product-badge,
    .product-title,
    .product-price {
      grid-column: 1;
    }

    .product-desc,
    .product-features,
    .product-card .btn {
      grid-column: 2;
    }

    .product-desc {
      margin-top: 46px;
    }

    .product-card .btn {
      width: fit-content;
      min-width: 240px;
    }

    .product-badge {
      font-size: 0.65rem;
      font-weight: 600;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--gold);
      background: rgba(201,169,110,0.1);
      border: 1px solid var(--border);
      padding: 4px 12px;
      display: inline-block;
      margin-bottom: 20px;
      width: fit-content;
    }
    .product-card.featured .product-badge {
      background: rgba(201,169,110,0.15);
      border-color: rgba(201,169,110,0.3);
    }

    .product-title {
      font-family: var(--font-serif);
      font-size: 1.4rem;
      font-weight: 500;
      color: var(--ink);
      margin-bottom: 8px;
    }
    .product-card.featured .product-title { color: var(--white); }

    .product-price {
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--gold);
      letter-spacing: 0.06em;
      margin-bottom: 16px;
    }

    .product-desc {
      font-size: 0.88rem;
      color: var(--ink-soft);
      line-height: 1.75;
      flex: 1;
      margin-bottom: 28px;
    }
    .product-card.featured .product-desc { color: rgba(255,255,255,0.55); }

    .product-features {
      list-style: none;
      margin-bottom: 28px;
    }
    .product-features li {
      font-size: 0.82rem;
      color: var(--ink-soft);
      padding: 6px 0;
      border-bottom: 1px solid var(--border);
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .product-card.featured .product-features li {
      color: rgba(255,255,255,0.5);
      border-color: rgba(255,255,255,0.08);
    }
    .product-features li::before {
      content: '—';
      color: var(--gold);
      font-size: 0.7rem;
    }

    /* ─── ABOUT ───────────────────────────────────────── */
    #about {
      padding: 100px 0;
      background: var(--white);
    }
    .about-inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: center;
    }
    @media (max-width: 768px) {
      .about-inner {
        grid-template-columns: 1fr;
        gap: 48px;
      }
      .about-secondary-card {
        right: 16px;
        bottom: 88px;
        width: 42%;
        padding: 8px;
      }
    }

    .about-visual {
      position: relative;
    }
    .about-frame {
      aspect-ratio: 4/5;
      background: var(--bg-alt);
      border: 1.5px solid var(--border);
      position: relative;
      overflow: hidden;
      box-shadow: var(--shadow-lg);
    }
    .about-main-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
    }

    .about-secondary-card {
      position: absolute;
      right: -32px;
      bottom: 72px;
      width: min(45%, 240px);
      background: var(--white);
      border: 1.5px solid var(--border);
      box-shadow: var(--shadow);
      padding: 10px;
      z-index: 2;
    }
    .about-secondary-image {
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      object-position: center;
    }

    .about-deco {
      position: absolute;
      bottom: -16px;
      right: -16px;
      width: 60%;
      height: 60%;
      border: 1.5px solid var(--border);
      pointer-events: none;
    }

    .about-quote {
      position: absolute;
      bottom: 24px;
      left: -24px;
      background: var(--white);
      border: 1.5px solid var(--border);
      padding: 20px 24px;
      max-width: 260px;
      box-shadow: var(--shadow);
    }
    .about-quote-text {
      font-family: var(--font-thin);
      font-size: 0.95rem;
      font-style: italic;
      color: var(--ink);
      line-height: 1.6;
    }
    .about-quote-author {
      font-size: 0.65rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--gold);
      margin-top: 8px;
    }

    .about-text .section-sub {
      max-width: 100%;
      margin-bottom: 24px;
    }

    .about-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 28px;
    }
    .tag {
      font-size: 0.72rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--gold-dk);
      border: 1px solid var(--border);
      padding: 6px 14px;
    }

    /* ─── FINAL CTA ───────────────────────────────────── */
    #final-cta {
      padding: 120px 24px;
      background: var(--ink);
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    #final-cta::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(201,169,110,0.08) 0%, transparent 70%);
      pointer-events: none;
    }
    .cta-title {
      font-family: var(--font-serif);
      font-size: clamp(2.2rem, 6vw, 4rem);
      font-weight: 500;
      color: var(--white);
      margin-bottom: 1rem;
      line-height: 1.2;
    }
    .cta-title em { color: var(--gold); font-style: italic; }
    .cta-sub {
      font-family: var(--font-thin);
      font-size: 1.1rem;
      color: rgba(255,255,255,0.45);
      margin-bottom: 2.5rem;
      font-weight: 300;
    }

    /* ─── FOOTER ──────────────────────────────────────── */
    footer {
      background: var(--ink);
      border-top: 1px solid rgba(255,255,255,0.06);
      padding: 48px 0 32px;
    }
    .footer-inner {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 28px;
    }
    .footer-logo {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .footer-logo-name {
      font-family: var(--font-serif);
      font-size: 1rem;
      color: rgba(255,255,255,0.6);
      letter-spacing: 0.06em;
    }

    .footer-socials {
      display: flex;
      gap: 24px;
    }
    .footer-social-link {
      font-size: 0.7rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.35);
      transition: color 0.2s;
      display: flex;
      align-items: center;
      gap: 6px;
    }
    .footer-social-link:hover { color: var(--gold); }

    .footer-disclaimer {
      font-size: 0.72rem;
      color: rgba(255,255,255,0.2);
      text-align: center;
      max-width: 480px;
      line-height: 1.6;
    }

    .footer-copy {
      font-size: 0.7rem;
      color: rgba(255,255,255,0.2);
      letter-spacing: 0.08em;
    }

    /* ─── INLINE LOGO FALLBACK SVG ────────────────────── */
    .logo-svg-gold path { fill: var(--gold); }

    /* ─── MOBILE TWEAKS ───────────────────────────────── */
    @media (max-width: 600px) {
      #hero { padding: 120px 20px 80px; }
      .hero-headline { font-size: 2.4rem; }
      .btn { padding: 12px 28px; }
      .how-card { padding: 32px 24px; }
      .product-card { padding: 32px 24px 28px; }
      #about, #how-it-works, #products { padding: 72px 0; }
      .about-quote { display: none; }
      .about-deco { display: none; }
    }


.footer-legal{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin:14px 0 10px}.footer-legal a{color:#f0e7d8}.footer-legal a:hover{color:#E2C48A}


/* === Shared internal pages additions === */
.page-shell{padding-top:110px;}
.section-page{padding:88px 0;}
.section-page.alt{background:linear-gradient(180deg,#faf7f2 0%,#f6f0e7 100%);}
.page-kicker{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dk);margin-bottom:18px;font-weight:600;}
.page-title{font-family:var(--font-serif);font-size:clamp(2.4rem,6vw,4.8rem);line-height:1.08;color:var(--ink);margin:0 0 18px;}
.page-lead{max-width:760px;font-size:1.08rem;line-height:1.8;color:var(--ink-soft);}
.page-grid-2,.page-grid-3,.page-grid-4{display:grid;gap:24px;margin-top:36px;}
.page-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.page-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.page-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.page-card{background:#fff;border:1px solid var(--border);padding:28px;box-shadow:0 18px 60px rgba(28,24,20,.05);}
.page-card h3{font-family:var(--font-serif);font-size:1.35rem;margin-bottom:10px;color:var(--ink);}
.page-card p,.page-card li{color:var(--ink-soft);line-height:1.75;}
.page-card ul{padding-left:18px;margin-top:12px;}
.page-steps{display:grid;gap:22px;margin-top:34px;}
.page-step{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;}
.page-step-num{width:64px;height:64px;border-radius:50%;border:1px solid rgba(201,169,110,.35);display:grid;place-items:center;font-family:var(--font-serif);font-size:1.4rem;color:var(--gold);background:rgba(201,169,110,.06);}
.page-note{margin-top:22px;font-size:.86rem;color:rgba(28,24,20,.68);}
.cta-panel{margin-top:40px;background:var(--ink);color:#fff;padding:44px;border:1px solid rgba(201,169,110,.2);position:relative;overflow:hidden;}
.cta-panel::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 0%, rgba(201,169,110,.14), transparent 70%);pointer-events:none;}
.cta-panel>*{position:relative;}
.cta-panel .page-title,.cta-panel h2{color:#fff;font-size:clamp(2rem,4vw,3.2rem);}
.cta-panel .page-lead,.cta-panel p{color:rgba(255,255,255,.72);}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px;}
.legal-main{padding:120px 0 80px;background:linear-gradient(180deg,#faf7f2 0%,#f6f0e7 100%);}
.legal-article{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--border);padding:42px 42px 34px;box-shadow:0 18px 60px rgba(28,24,20,.05);}
.legal-article h1{font-family:var(--font-serif);font-size:clamp(2.1rem,5vw,3.3rem);margin-bottom:6px;color:var(--ink);}
.legal-article .meta{font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dk);margin-bottom:28px;}
.legal-article h2{font-family:var(--font-serif);font-size:1.45rem;margin:26px 0 10px;color:var(--ink);}
.legal-article p,.legal-article li{color:var(--ink-soft);line-height:1.8;}
.legal-article ul{padding-left:20px;margin-top:8px;}
.legal-article a{color:var(--gold-dk);text-decoration:none;border-bottom:1px solid rgba(201,169,110,.35);}
.legal-article a:hover{color:var(--gold);}
.footer-socials{flex-wrap:wrap;justify-content:center;}
.footer-legal{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;margin-top:-6px;}
.footer-legal a{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);transition:color .2s;display:flex;align-items:center;gap:6px;}
.footer-legal a:hover{color:var(--gold);}
.footer-logo-img{width:24px;height:24px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(201,169,110,.25));}
.brand-lockup{display:flex;align-items:center;gap:12px;}
.brand-lockup img{width:42px;height:42px;object-fit:contain;}
.brand-lockup .hero-name{margin:0;}
@media (max-width:980px){.page-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}.page-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:700px){.page-shell{padding-top:96px;}.page-grid-2,.page-grid-3,.page-grid-4{grid-template-columns:1fr;}.page-step{grid-template-columns:1fr;}.page-step-num{width:56px;height:56px;}.legal-article{padding:30px 22px;}.cta-panel{padding:30px 24px;}}


/* === 2026 conversion + structure refinements === */
#mainNav{border-bottom:1px solid transparent;}
.nav-links a{font-size:0.8rem;}
.nav-cta .btn{padding:14px 28px;}
.hero-proof-line{font-size:0.9rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-dk);margin:-.2rem auto 1rem;}
.hero-benefits{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:2rem;}
.hero-benefits span{font-size:0.72rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;border:1px solid var(--border);padding:8px 14px;background:rgba(201,169,110,0.06);color:var(--gold-dk);}
.trust-grid .stat-item{min-width:220px;max-width:260px;}
.trust-grid .stat-num{font-size:1.45rem;line-height:1.1;}
.trust-grid .stat-label{text-transform:none;letter-spacing:0;color:rgba(255,255,255,0.58);font-size:0.84rem;line-height:1.5;max-width:180px;margin:0 auto;}
.card-kicker{font-size:0.72rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-dk);margin:-8px 0 16px;}
.cards-grid{gap:18px;background:none;border:none;}
.how-card{border:1.5px solid var(--border);min-height:320px;}
#products .section-header{margin-bottom:32px;}
.product-journey-copy{max-width:760px;}
.journey-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:0 auto 32px;}
.journey-step{border:1.5px solid var(--border);background:rgba(255,255,255,0.65);padding:20px 22px;display:flex;flex-direction:column;gap:6px;}
.journey-step strong{font-family:var(--font-serif);font-size:1.15rem;color:var(--ink);font-weight:500;}
.journey-step span{font-size:0.9rem;line-height:1.65;color:var(--ink-soft);}
.product-card{grid-template-columns:minmax(240px,340px) 1fr;column-gap:48px;padding:42px 40px;}
.product-side,.product-main{display:flex;flex-direction:column;align-items:flex-start;}
.product-main{padding-top:54px;}
.product-desc{margin-top:10px;max-width:360px;}
.product-features{width:100%;}
.product-card .btn{text-align:center;min-width:250px;}
#fit{padding:100px 0;background:var(--white);}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:980px;margin:0 auto;}
.fit-card{background:var(--bg);border:1.5px solid var(--border);padding:38px 34px;box-shadow:var(--shadow);}
.fit-card.muted{background:#f7f2ea;}
.fit-card h3{font-family:var(--font-serif);font-size:1.8rem;font-weight:500;margin-bottom:16px;color:var(--ink);}
.fit-card ul{list-style:none;display:flex;flex-direction:column;gap:14px;}
.fit-card li{position:relative;padding-left:22px;color:var(--ink-soft);line-height:1.75;}
.fit-card li::before{content:'—';position:absolute;left:0;color:var(--gold);}
.about-lead{font-size:1.05rem;}
.about-copy{font-size:0.96rem !important;}
.about-points{display:grid;gap:14px;margin:26px 0 8px;}
.about-point{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--border);}
.about-point:last-child{border-bottom:1px solid var(--border);}
.about-point strong{font-size:0.9rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-dk);}
.about-point span{color:var(--ink-soft);line-height:1.7;}
#faq{padding:100px 0;background:var(--bg-alt);}
.faq-list{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.faq-item{background:var(--white);border:1.5px solid var(--border);padding:0 24px;box-shadow:var(--shadow);}
.faq-item summary{list-style:none;cursor:pointer;padding:24px 38px 24px 0;font-family:var(--font-serif);font-size:1.35rem;line-height:1.35;color:var(--ink);position:relative;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:var(--font-sans);font-size:1.3rem;color:var(--gold-dk);}
.faq-item[open] summary::after{content:'–';}
.faq-item p{padding:0 0 24px;color:var(--ink-soft);line-height:1.8;max-width:760px;}
.footer-tagline{font-family:var(--font-serif);font-size:1.15rem;color:rgba(255,255,255,0.72);}
@media (max-width:980px){.journey-strip,.fit-grid{grid-template-columns:1fr;}.product-card{grid-template-columns:1fr;}.product-badge,.product-title,.product-price,.product-desc,.product-features,.product-card .btn{grid-column:auto;}.product-main{padding-top:0;}}
@media (max-width:768px){nav{padding:14px 0;} .nav-logo-name{font-size:1rem;} .hero-benefits{gap:8px;} .hero-benefits span{font-size:.66rem;padding:7px 11px;} .trust-grid .stat-item{min-width:unset;max-width:none;} .how-card{min-height:auto;} .product-card{padding:28px 22px;} .product-main{padding-top:0;} .product-card .btn{width:100%;min-width:0;} .fit-card{padding:28px 22px;} .fit-card h3{font-size:1.5rem;} .about-point{grid-template-columns:1fr;gap:6px;} .faq-item{padding:0 18px;} .faq-item summary{font-size:1.12rem;padding:20px 32px 20px 0;} .faq-item p{padding-bottom:20px;}}


/* privacy + analytics */
[data-placeholder="true"] { display: none !important; }
#privacy-banner { position: fixed; left: 24px; right: 24px; bottom: 24px; z-index: 9999; }
.privacy-banner__inner { max-width: 960px; margin: 0 auto; background: rgba(250,247,242,0.98); border: 1px solid rgba(201,169,110,0.32); box-shadow: 0 20px 48px rgba(0,0,0,0.14); padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.privacy-banner__inner p { font-size: 0.92rem; color: var(--ink-soft); line-height: 1.55; margin: 0; }
.privacy-banner__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.privacy-btn { appearance: none; border: 1px solid rgba(201,169,110,0.32); background: var(--white); color: var(--ink); padding: 10px 16px; cursor: pointer; font: inherit; }
.privacy-btn--primary { background: var(--ink); color: var(--gold); border-color: var(--ink); }
@media (max-width: 700px) { #privacy-banner { left: 12px; right: 12px; bottom: 12px; } .privacy-banner__inner { flex-direction: column; align-items: stretch; } }


.footer-logo,
.footer-logo:hover,
.footer-logo:focus,
.footer-logo:visited {
  text-decoration: none;
  color: inherit;
}

.footer-logo-name {
  text-decoration: none;
}


/* Accessibility / compliance refinements */
.skip-link{position:absolute;left:16px;top:-80px;background:#1A1A1A;color:#FFFFFF;padding:12px 16px;z-index:1000;transition:top .2s ease}
.skip-link:focus{top:16px}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.footer-logo,.footer-logo:hover,.footer-logo:focus,.footer-logo:visited{text-decoration:none;color:inherit}
.footer-settings-link{appearance:none;background:none;border:0;padding:0;cursor:pointer;font-family:inherit;font-size:.7rem;font-weight:inherit;letter-spacing:.12em;text-transform:uppercase;color:#f0e7d8;line-height:inherit}
.footer-settings-link:hover{color:var(--gold,#e2c48a)}
.site-brand-home-link,.site-brand-home-link:hover,.site-brand-home-link:focus,.site-brand-home-link:visited{text-decoration:none;color:inherit}


/* DailyDrop block: purple / black / white */
#products .products-grid .product-card:last-child{
  background: linear-gradient(180deg, #15131a 0%, #0f0d14 100%);
  border: 1.5px solid rgba(139, 92, 246, 0.34);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

#products .products-grid .product-card:last-child::before{
  transform: scaleX(1);
  background: linear-gradient(90deg, #8b5cf6, #c4b5fd);
}

#products .products-grid .product-card:last-child .product-badge{
  color: #e9ddff;
  background: rgba(139, 92, 246, 0.16);
  border-color: rgba(139, 92, 246, 0.30);
}

#products .products-grid .product-card:last-child .product-title{
  color: #ffffff;
}

#products .products-grid .product-card:last-child .product-price{
  color: #c4b5fd;
}

#products .products-grid .product-card:last-child .product-desc{
  color: rgba(255,255,255,0.78);
}

#products .products-grid .product-card:last-child .product-features li{
  color: rgba(255,255,255,0.74);
  border-color: rgba(255,255,255,0.10);
}

#products .products-grid .product-card:last-child .product-features li::before{
  color: #a78bfa;
}

#products .products-grid .product-card:last-child .btn{
  background: #8b5cf6;
  color: #ffffff;
}

#products .products-grid .product-card:last-child .btn:hover{
  background: #7c3aed;
  box-shadow: 0 10px 28px rgba(139, 92, 246, 0.30);
}
