    /* ============================================================
       DESIGN TOKENS — HOT CORAL / BLUSH / CREAM
    ============================================================ */
    :root {
      /* ── Brand ──────────────────────────────────── */
      --clr-primary:       #e8365d;
      --clr-primary-dark:  #b81f42;
      --clr-primary-light: #ff6b8a;
      --clr-accent:        #ff9eb5;
      --clr-accent-pale:   #fff0f3;
      --clr-gold:          #f5a623;
      --clr-glow:          rgba(232,54,93,0.45);
      --clr-glow-soft:     rgba(232,54,93,0.11);

      /* ── Surfaces ───────────────────────────────── */
      --clr-bg:        #0d0508;
      --clr-surface:   #160810;
      --clr-card:      #200c18;
      --clr-card-alt:  #2a1020;

      /* ── Text ───────────────────────────────────── */
      --clr-text:        #fff0f3;
      --clr-text-sec:    #d4a0b0;
      --clr-text-muted:  #6a3048;
      --clr-text-on-pri: #ffffff;

      /* ── Borders ────────────────────────────────── */
      --clr-border:        rgba(255,255,255,0.06);
      --clr-border-brand:  rgba(232,54,93,0.28);
      --clr-border-accent: rgba(255,158,181,0.3);
      --clr-border-glow:   rgba(232,54,93,0.52);

      /* ── Type ───────────────────────────────────── */
      --font-display: Georgia, 'Times New Roman', serif;
      --font-body:    'Trebuchet MS', 'Segoe UI', Verdana, sans-serif;

      --sz-xs:   0.7rem;    --sz-sm:   0.875rem;  --sz-base: 1rem;
      --sz-md:   1.125rem;  --sz-lg:   1.375rem;  --sz-2xl:  2.25rem;
      --sz-3xl:  3rem;      --sz-4xl:  4.25rem;   --sz-5xl:  5.75rem;

      --w-normal:400; --w-medium:500; --w-semi:600; --w-bold:700; --w-black:900;
      --lh-tight:1.0; --lh-snug:1.25; --lh-normal:1.65; --lh-relaxed:1.8;

      /* ── Space ──────────────────────────────────── */
      --sp-xs:0.375rem; --sp-sm:0.75rem; --sp-md:1.25rem; --sp-lg:2rem;
      --sp-xl:3.25rem;  --sp-2xl:5rem;   --sp-3xl:8rem;

      /* ── Container ──────────────────────────────── */
      --ctr-max:1180px; --ctr-pad:1.25rem; --ctr-pad-lg:2.5rem;

      /* ── Header ─────────────────────────────────── */
      --hdr-h:68px; --hdr-bg:rgba(13,5,8,0.96); --hdr-blur:14px;
      --hdr-border:rgba(232,54,93,0.18); --hdr-px:1.5rem;

      /* ── Logo ───────────────────────────────────── */
      --logo-sm:128px; --logo-md:150px; --logo-lg:168px;

      /* ── Buttons ────────────────────────────────── */
      --btn-py:0.8rem; --btn-px:2rem; --btn-py-lg:1.05rem; --btn-px-lg:2.75rem;
      --btn-r:3px; --btn-sz:0.875rem; --btn-sz-lg:1rem; --btn-w:700; --btn-track:0.08em;

      /* ── Cards ──────────────────────────────────── */
      --card-r:8px; --card-sh:0 4px 28px rgba(0,0,0,0.55);
      --card-shh:0 8px 44px rgba(232,54,93,0.22); --card-pad:1.75rem;

      /* ── Sections ───────────────────────────────── */
      --sec-sm:4rem; --sec-lg:7rem;

      /* ── Motion ─────────────────────────────────── */
      --ease:240ms ease; --ease-f:140ms ease;

      /* ── Badge ──────────────────────────────────── */
      --badge-r:3px; --badge-pad:0.28rem 0.8rem; --badge-sz:0.66rem;

      /* ── Stats ──────────────────────────────────── */
      --stat-sm:2rem; --stat-lg:2.75rem;

      /* ── Breakpoints (reference) ────────────────── */
      --bp-sm:480px; --bp-md:768px; --bp-lg:1024px;
    }

    /* ── RESET ──────────────────────────────────────── */
    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; font-size:16px; }
    body { background:var(--clr-bg); color:var(--clr-text); font-family:var(--font-body); font-size:var(--sz-base); line-height:var(--lh-normal); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
    img { display:block; max-width:100%; height:auto; }
    a   { color:inherit; text-decoration:none; }
    ul  { list-style:none; }

    /* ── UTILITY ──────────────────────────────────── */
    .container { width:100%; max-width:var(--ctr-max); margin-inline:auto; padding-inline:var(--ctr-pad); }

    .text-coral { color:var(--clr-primary-light); }
    .text-gradient {
      background:linear-gradient(115deg,var(--clr-primary-light),var(--clr-accent));
      -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
    }

    /* Blossom divider */
    .blossom-rule {
      border:none; height:1px;
      background:linear-gradient(90deg,transparent,var(--clr-primary-light),var(--clr-accent),var(--clr-primary-light),transparent);
      opacity:0.45; margin-block:var(--sp-xl); position:relative;
    }
    .blossom-rule::after {
      content:'✿'; position:absolute; top:50%; left:50%;
      transform:translate(-50%,-50%);
      background:var(--clr-bg); padding:0 var(--sp-sm);
      color:var(--clr-accent); font-size:0.9rem;
    }

    /* ── ANIMATIONS ───────────────────────────────── */
    @keyframes fadeUp { from{opacity:0;transform:translateY(28px);} to{opacity:1;transform:translateY(0);} }
    @keyframes pulseCoral {
      0%,100%{box-shadow:0 0 14px var(--clr-glow),0 0 36px var(--clr-glow-soft);}
      50%{box-shadow:0 0 30px var(--clr-glow),0 0 70px var(--clr-glow-soft);}
    }
    @keyframes shimmer { 0%{background-position:-400px 0;} 100%{background-position:400px 0;} }
    @keyframes marquee { from{transform:translateX(0);} to{transform:translateX(-50%);} }
    @keyframes pop { from{opacity:0;transform:scale(0.78);} to{opacity:1;transform:scale(1);} }
    @keyframes blushFloat {
      0%,100%{opacity:0.18;transform:translateY(0) scale(1);}
      50%{opacity:0.28;transform:translateY(-18px) scale(1.04);}
    }

    .u0{animation:fadeUp 0.65s 0.00s ease both;}
    .u1{animation:fadeUp 0.65s 0.15s ease both;}
    .u2{animation:fadeUp 0.65s 0.30s ease both;}
    .u3{animation:fadeUp 0.65s 0.45s ease both;}
    .bp{animation:pop 0.5s 0.55s ease both;}

    /* ── BUTTONS ──────────────────────────────────── */
    .btn { display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-xs); padding:var(--btn-py) var(--btn-px); border-radius:var(--btn-r); font-family:var(--font-body); font-size:var(--btn-sz); font-weight:var(--btn-w); letter-spacing:var(--btn-track); text-transform:uppercase; white-space:nowrap; border:none; cursor:pointer; position:relative; overflow:hidden; transition:transform var(--ease),box-shadow var(--ease); }
    .btn:focus-visible { outline:2px solid var(--clr-primary-light); outline-offset:3px; }

    .btn-primary {
      background:linear-gradient(135deg,var(--clr-primary-dark),var(--clr-primary),var(--clr-primary-light));
      color:var(--clr-text-on-pri);
      animation:pulseCoral 3s ease-in-out infinite;
    }
    .btn-primary::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.18),transparent); background-size:400px 100%; animation:shimmer 2.8s ease-in-out infinite; opacity:0.55; }
    .btn-primary:hover { transform:translateY(-2px); }

    .btn-outline { background:transparent; color:var(--clr-primary-light); border:2px solid var(--clr-primary-light); }
    .btn-outline:hover { background:var(--clr-glow-soft); transform:translateY(-2px); }

    .btn-ghost { background:transparent; color:var(--clr-text-sec); border:1px solid var(--clr-border); }
    .btn-ghost:hover { border-color:var(--clr-primary-light); color:var(--clr-primary-light); }

    .btn-lg { padding:var(--btn-py-lg) var(--btn-px-lg); font-size:var(--btn-sz-lg); }

    /* ── BADGES ───────────────────────────────────── */
    .badge { display:inline-block; padding:var(--badge-pad); border-radius:var(--badge-r); font-size:var(--badge-sz); font-weight:var(--w-bold); letter-spacing:0.12em; text-transform:uppercase; }
    .badge-coral  { background:var(--clr-glow-soft); color:var(--clr-primary-light); border:1px solid var(--clr-border-brand); }
    .badge-blush  { background:rgba(255,158,181,0.12); color:var(--clr-accent); border:1px solid var(--clr-border-accent); }
    .badge-gold   { background:rgba(245,166,35,0.12); color:var(--clr-gold); border:1px solid rgba(245,166,35,0.32); }
    /* CTA band badge — margin moved to CSS rule */
    .cta-band .badge { margin-bottom:1.5rem; }

    /* ── HEADER ───────────────────────────────────── */
    .site-header { position:fixed; top:0; left:0; right:0; z-index:100; height:var(--hdr-h); background:var(--hdr-bg); backdrop-filter:blur(var(--hdr-blur)); -webkit-backdrop-filter:blur(var(--hdr-blur)); border-bottom:1px solid var(--hdr-border); }
    .site-header .container { height:100%; display:flex; align-items:center; justify-content:space-between; gap:var(--sp-md); padding-inline:var(--hdr-px); }
    .site-logo { width:var(--logo-sm); height:auto; display:block; }
    .header-nav { display:none; align-items:center; gap:var(--sp-lg); }
    .header-nav a { font-size:var(--sz-sm); font-weight:var(--w-medium); color:var(--clr-text-sec); letter-spacing:0.05em; text-transform:uppercase; transition:color var(--ease-f); }
    .header-nav a:hover { color:var(--clr-primary-light); }
    .header-actions { display:flex; align-items:center; gap:var(--sp-sm); }
    .login-link { font-size:var(--sz-sm); font-weight:var(--w-medium); color:var(--clr-text-sec); transition:color var(--ease-f); letter-spacing:0.04em; }
    .login-link:hover { color:var(--clr-text); }

    /* ── MARQUEE ──────────────────────────────────── */
    .marquee-bar { position:fixed; top:var(--hdr-h); left:0; right:0; z-index:99; overflow:hidden; background:linear-gradient(90deg,var(--clr-primary-dark),var(--clr-primary),var(--clr-primary-dark)); padding-block:7px; border-bottom:1px solid var(--clr-border-accent); }
    .marquee-track { display:flex; width:max-content; animation:marquee 32s linear infinite; }
    .marquee-item { display:flex; align-items:center; gap:var(--sp-lg); padding-inline:var(--sp-xl); font-size:var(--sz-xs); font-weight:var(--w-bold); letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,240,243,0.9); white-space:nowrap; }
    .marquee-sep { width:4px; height:4px; border-radius:50%; background:rgba(255,255,255,0.35); }

    /* ── HERO ─────────────────────────────────────── */
    .hero { padding-top:calc(var(--hdr-h) + 36px); min-height:100svh; display:flex; flex-direction:column; position:relative; overflow:hidden; }
    .hero-bg { position:absolute; inset:0; z-index:0; }
    .hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center 25%; }
    .hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom,rgba(13,5,8,0.25) 0%,rgba(13,5,8,0.40) 45%,rgba(13,5,8,0.97) 100%); }
    /* Diagonal blush texture */
    .hero-bg::before { content:''; position:absolute; inset:0; z-index:1; background-image:repeating-linear-gradient(-45deg,transparent,transparent 6px,rgba(232,54,93,0.03) 6px,rgba(232,54,93,0.03) 7px); pointer-events:none; }
    /* Floating orbs */
    .hero-orb { position:absolute; border-radius:50%; pointer-events:none; z-index:1; }
    .hero-orb-a { width:500px; height:500px; top:-60px; right:-40px; background:radial-gradient(circle,rgba(232,54,93,0.22) 0%,transparent 68%); animation:blushFloat 8s ease-in-out infinite; }
    .hero-orb-b { width:280px; height:280px; bottom:18%; left:-60px; background:radial-gradient(circle,rgba(255,158,181,0.14) 0%,transparent 68%); animation:blushFloat 11s ease-in-out 2.5s infinite; }

    .hero-content { position:relative; z-index:2; flex:1; display:flex; flex-direction:column; justify-content:center; padding-block:var(--sec-sm); }
    .hero-eyebrow { display:flex; align-items:center; gap:var(--sp-sm); margin-bottom:var(--sp-md); }
    .hero h1 { font-family:var(--font-display); font-size:var(--sz-3xl); font-weight:var(--w-black); line-height:var(--lh-tight); font-style:italic; max-width:17ch; margin-bottom:var(--sp-md); }
    .hero-sub { font-size:var(--sz-md); color:var(--clr-text-sec); max-width:50ch; line-height:var(--lh-relaxed); margin-bottom:var(--sp-xl); }
    .hero-cta-group { display:flex; flex-direction:column; gap:var(--sp-sm); max-width:340px; }
    .hero-trust { display:flex; flex-wrap:wrap; gap:var(--sp-md); margin-top:var(--sp-md); }
    .trust-item { display:flex; align-items:center; gap:6px; font-size:var(--sz-xs); font-weight:var(--w-bold); letter-spacing:0.06em; text-transform:uppercase; color:var(--clr-text-muted); }
    .trust-icon { color:var(--clr-accent); font-size:0.85rem; }

    /* Stats band */
    .hero-stats { position:relative; z-index:2; background:rgba(13,5,8,0.86); backdrop-filter:blur(12px); border-top:1px solid var(--clr-border-brand); }
    .stats-inner { display:grid; grid-template-columns:repeat(3,1fr); }
    .stat-cell { padding:var(--sp-lg) var(--sp-md); text-align:center; border-right:1px solid var(--clr-border); }
    .stat-cell:last-child { border-right:none; }
    .stat-n { font-family:var(--font-display); font-size:var(--stat-sm); font-weight:var(--w-black); line-height:1; margin-bottom:4px; font-style:italic; }
    .stat-l { font-size:var(--sz-xs); color:var(--clr-text-muted); text-transform:uppercase; letter-spacing:0.1em; }

    /* ── SECTION COMMONS ──────────────────────────── */
    .section { padding-block:var(--sec-sm); }
    .sec-hdr { margin-bottom:var(--sp-xl); }
    .sec-hdr.center { text-align:center; }
    .sec-label { display:inline-block; font-size:var(--sz-xs); font-weight:var(--w-bold); letter-spacing:0.18em; text-transform:uppercase; color:var(--clr-primary-light); margin-bottom:var(--sp-sm); }
    .sec-title { font-family:var(--font-display); font-size:var(--sz-2xl); font-weight:var(--w-black); font-style:italic; line-height:var(--lh-snug); margin-bottom:var(--sp-sm); }
    .sec-body { font-size:var(--sz-base); color:var(--clr-text-sec); max-width:60ch; line-height:var(--lh-relaxed); }
    .sec-hdr.center .sec-body { margin-inline:auto; }

    /* ── INTEREST TAGS ────────────────────────────── */
    .tags-section { background:var(--clr-surface); padding-block:var(--sp-xl); text-align:center; }
    .tags-label { font-size:var(--sz-xs); font-weight:var(--w-bold); letter-spacing:0.16em; text-transform:uppercase; color:var(--clr-text-muted); margin-bottom:var(--sp-md); }
    .tags-wrap { display:flex; flex-wrap:wrap; gap:var(--sp-sm); justify-content:center; max-width:820px; margin-inline:auto; }
    .tag { display:inline-block; padding:0.45rem 1rem; border-radius:100px; border:1px solid var(--clr-border); font-size:var(--sz-xs); font-weight:600; letter-spacing:0.05em; color:var(--clr-text-sec); text-transform:uppercase; transition:all var(--ease-f); }
    .tag.hot { background:var(--clr-glow-soft); border-color:var(--clr-primary); color:var(--clr-primary-light); }

    /* ── HOW IT WORKS (4 image cards) ────────────── */
    .hiw-section { background:var(--clr-bg); }
    .hiw-grid { display:grid; grid-template-columns:1fr; gap:var(--sp-md); }
    .hiw-card { background:var(--clr-card); border:1px solid var(--clr-border); border-top:2px solid var(--clr-primary-light); border-radius:var(--card-r); overflow:hidden; display:flex; flex-direction:column; transition:border-color var(--ease),box-shadow var(--ease); position:relative; }
    .hiw-card:hover { border-color:var(--clr-border-brand); box-shadow:var(--card-shh); }
    .hiw-card::before { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--clr-primary),var(--clr-accent)); opacity:0; transition:opacity var(--ease); }
    .hiw-card:hover::before { opacity:1; }
    .hiw-img { width:100%; height:200px; object-fit:cover; }
    .hiw-body { padding:var(--card-pad); flex:1; display:flex; flex-direction:column; gap:var(--sp-sm); }
    .hiw-step { font-family:var(--font-display); font-size:var(--sz-xs); font-weight:var(--w-black); letter-spacing:0.18em; text-transform:uppercase; color:var(--clr-accent); font-style:italic; }
    .hiw-body h3 { font-family:var(--font-display); font-size:var(--sz-md); font-weight:var(--w-bold); font-style:italic; }
    .hiw-body p { font-size:var(--sz-sm); color:var(--clr-text-sec); line-height:var(--lh-relaxed); flex:1; }

    /* ── LIFESTYLE SPLIT ──────────────────────────── */
    .split-section { background:var(--clr-surface); overflow:hidden; }
    .split-block { display:flex; flex-direction:column; gap:var(--sp-xl); }
    .split-visual { border-radius:var(--card-r); overflow:hidden; position:relative; flex-shrink:0; }
    .split-visual img { width:100%; height:300px; object-fit:cover; }
    .split-bar { position:absolute; bottom:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--clr-primary),var(--clr-accent)); }
    .split-text { display:flex; flex-direction:column; gap:var(--sp-md); }
    .split-text h2 { font-family:var(--font-display); font-size:var(--sz-2xl); font-weight:var(--w-black); font-style:italic; line-height:var(--lh-snug); }
    .split-text p { color:var(--clr-text-sec); line-height:var(--lh-relaxed); }
    .check-list { display:flex; flex-direction:column; gap:var(--sp-sm); }
    .check-item { display:flex; align-items:flex-start; gap:var(--sp-sm); font-size:var(--sz-sm); color:var(--clr-text-sec); }
    .check-tick { flex-shrink:0; width:22px; height:22px; border-radius:50%; background:linear-gradient(135deg,var(--clr-primary-dark),var(--clr-primary)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:var(--w-black); margin-top:2px; }

    /* ── FEATURES ─────────────────────────────────── */
    .features-section { background:var(--clr-bg); }
    .feat-grid { display:grid; grid-template-columns:1fr; gap:var(--sp-md); }
    .feat-card { background:var(--clr-card); border:1px solid var(--clr-border); border-radius:var(--card-r); padding:var(--card-pad); transition:all var(--ease); position:relative; overflow:hidden; }
    .feat-card::after { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--clr-primary-light),var(--clr-accent)); transform:scaleX(0); transform-origin:left; transition:transform var(--ease); }
    .feat-card:hover { border-color:var(--clr-border-brand); box-shadow:var(--card-shh); transform:translateY(-3px); }
    .feat-card:hover::after { transform:scaleX(1); }
    .feat-icon { font-size:2.5rem; margin-bottom:var(--sp-md); display:block; }
    .feat-card h3 { font-family:var(--font-display); font-size:var(--sz-md); font-weight:var(--w-bold); font-style:italic; margin-bottom:var(--sp-xs); }
    .feat-card p { font-size:var(--sz-sm); color:var(--clr-text-sec); line-height:var(--lh-relaxed); }

    /* ── TESTIMONIALS ─────────────────────────────── */
    .t-section { background:var(--clr-surface); position:relative; overflow:hidden; }
    .t-section::before { content:''; position:absolute; top:-100px; left:-100px; width:460px; height:460px; border-radius:50%; background:radial-gradient(circle,var(--clr-glow-soft) 0%,transparent 70%); pointer-events:none; }
    .t-grid { display:grid; grid-template-columns:1fr; gap:var(--sp-md); }
    .t-card { background:var(--clr-card); border:1px solid var(--clr-border); border-radius:var(--card-r); padding:var(--card-pad); position:relative; transition:all var(--ease); }
    .t-card::after { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--clr-primary-light),transparent); opacity:0; transition:opacity var(--ease); }
    .t-card:hover { border-color:var(--clr-border-brand); box-shadow:var(--card-shh); }
    .t-card:hover::after { opacity:1; }
    .t-stars { display:flex; gap:3px; margin-bottom:var(--sp-md); }
    .star { width:14px; height:14px; color:var(--clr-primary-light); fill:var(--clr-primary-light); }
    .t-tag { position:absolute; top:var(--card-pad); right:var(--card-pad); }
    .t-quote { font-size:var(--sz-sm); color:var(--clr-text-sec); line-height:var(--lh-relaxed); margin-bottom:var(--sp-md); font-style:italic; }
    .t-author { display:flex; align-items:center; gap:var(--sp-sm); }
    .t-avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; border:2px solid var(--clr-border-accent); }
    .t-name { font-weight:var(--w-semi); font-size:var(--sz-sm); font-style:italic; }
    .t-meta { font-size:var(--sz-xs); color:var(--clr-text-muted); }

    /* ── SEO SECTION ──────────────────────────────── */
    .seo-section { background:var(--clr-bg); }
    .seo-lead { max-width:820px; margin-inline:auto; text-align:center; margin-bottom:var(--sp-xl); }
    .seo-lead p { color:var(--clr-text-sec); line-height:var(--lh-relaxed); margin-bottom:var(--sp-md); }
    .seo-cols { display:grid; grid-template-columns:1fr; gap:var(--sp-xl); }
    .seo-col h3 { font-family:var(--font-display); font-size:var(--sz-lg); font-weight:var(--w-black); font-style:italic; color:var(--clr-text); margin-bottom:var(--sp-sm); }
    .seo-col p { font-size:var(--sz-sm); color:var(--clr-text-sec); line-height:var(--lh-relaxed); }

    /* ── FAQ ──────────────────────────────────────── */
    .faq-section { background:var(--clr-surface); }
    .faq-list { display:flex; flex-direction:column; gap:var(--sp-sm); max-width:800px; margin-inline:auto; }
    .faq-item { background:var(--clr-card); border:1px solid var(--clr-border); border-left:3px solid var(--clr-primary-light); border-radius:var(--card-r); padding:var(--card-pad); }
    .faq-q { font-family:var(--font-display); font-weight:var(--w-bold); font-style:italic; font-size:var(--sz-base); margin-bottom:var(--sp-sm); }
    .faq-a { font-size:var(--sz-sm); color:var(--clr-text-sec); line-height:var(--lh-relaxed); }

    /* ── CTA BAND ─────────────────────────────────── */
    .cta-band { background:linear-gradient(135deg,#1a0510,var(--clr-bg) 45%,#1a0510); border-top:1px solid var(--clr-border-glow); border-bottom:1px solid var(--clr-border-glow); padding-block:var(--sp-3xl); text-align:center; position:relative; overflow:hidden; }
    .cta-band::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:720px; height:420px; background:radial-gradient(ellipse,rgba(232,54,93,0.11) 0%,transparent 70%); pointer-events:none; }
    .cta-band::after { content:'✿'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:20rem; color:rgba(232,54,93,0.04); pointer-events:none; line-height:1; }
    .cta-inner { position:relative; z-index:1; }
    .cta-band h2 { font-family:var(--font-display); font-size:var(--sz-3xl); font-weight:var(--w-black); font-style:italic; line-height:var(--lh-snug); margin-bottom:var(--sp-md); }
    .cta-band p { font-size:var(--sz-md); color:var(--clr-text-sec); max-width:50ch; margin-inline:auto; margin-bottom:var(--sp-xl); line-height:var(--lh-relaxed); }
    .cta-actions { display:flex; flex-direction:column; align-items:center; gap:var(--sp-sm); }
    .cta-fine { font-size:var(--sz-xs); color:var(--clr-text-muted); margin-top:var(--sp-md); }

    /* ── FOOTER ───────────────────────────────────── */
    .site-footer { background:var(--clr-surface); border-top:1px solid var(--clr-border); padding-block:var(--sp-2xl); }
    .footer-top { display:flex; flex-direction:column; gap:var(--sp-xl); margin-bottom:var(--sp-xl); }
    .footer-brand p { font-size:var(--sz-sm); color:var(--clr-text-muted); line-height:var(--lh-relaxed); max-width:34ch; margin-top:var(--sp-sm); }
    .footer-cols { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--sp-lg); }
    .footer-col h4 { font-family:var(--font-display); font-size:var(--sz-sm); font-weight:var(--w-bold); font-style:italic; letter-spacing:0.06em; color:var(--clr-primary-light); margin-bottom:var(--sp-md); }
    .footer-col ul { display:flex; flex-direction:column; gap:var(--sp-sm); }
    .footer-col li a { font-size:var(--sz-sm); color:var(--clr-text-muted); transition:color var(--ease-f); }
    .footer-col li a:hover { color:var(--clr-primary-light); }
    .footer-bottom { border-top:1px solid var(--clr-border); padding-top:var(--sp-lg); display:flex; flex-direction:column; gap:var(--sp-md); margin-top:var(--sp-xl); }
    .footer-legal { display:flex; flex-wrap:wrap; gap:var(--sp-md); }
    .footer-legal a { font-size:var(--sz-xs); color:var(--clr-text-muted); transition:color var(--ease-f); }
    .footer-legal a:hover { color:var(--clr-text-sec); }
    .footer-copy { font-size:var(--sz-xs); color:var(--clr-text-muted); }

    /* ── RESPONSIVE ───────────────────────────────── */
    @media (min-width: 768px) {
      .container { padding-inline:var(--ctr-pad-lg); }
      .site-logo  { width:var(--logo-md); }
      .header-nav { display:flex; }
      .hero h1 { font-size:var(--sz-4xl); }
      .hero-cta-group { flex-direction:row; max-width:none; }
      .hiw-grid  { grid-template-columns:repeat(2,1fr); }
      .feat-grid { grid-template-columns:repeat(2,1fr); }
      .t-grid    { grid-template-columns:repeat(2,1fr); }
      .seo-cols  { grid-template-columns:repeat(2,1fr); }
      .split-block { flex-direction:row; align-items:center; gap:var(--sp-2xl); }
      .split-block.rev { flex-direction:row-reverse; }
      .split-visual { flex:1; }
      .split-visual img { height:420px; }
      .split-text { flex:1; }
      .split-text h2 { font-size:var(--sz-3xl); }
      .footer-top { flex-direction:row; justify-content:space-between; }
      .footer-cols { grid-template-columns:repeat(4,1fr); }
      .footer-bottom { flex-direction:row; justify-content:space-between; align-items:center; }
      .stat-n { font-size:var(--stat-lg); }
      .cta-band h2 { font-size:var(--sz-4xl); }
      .cta-actions { flex-direction:row; justify-content:center; }
      .section { padding-block:var(--sec-lg); }
    }
    @media (min-width: 1024px) {
      .site-logo { width:var(--logo-lg); }
      .hero h1   { font-size:var(--sz-5xl); }
      .hiw-grid  { grid-template-columns:repeat(4,1fr); }
      .feat-grid { grid-template-columns:repeat(3,1fr); }
      .t-grid    { grid-template-columns:repeat(3,1fr); }
      .seo-cols  { grid-template-columns:repeat(3,1fr); }
    }
    :focus-visible { outline:2px solid var(--clr-primary-light); outline-offset:3px; }
  

/* ============================================================
   CITY PAGES
   ============================================================ */
.cp-slot { position: relative; display: grid; place-items: center; text-align: center; background: linear-gradient(135deg, var(--clr-card-alt), var(--clr-card)); border: 1px dashed var(--clr-border-brand); border-radius: var(--card-r); color: var(--clr-text-sec); min-height: 11rem; }
.cp-slot p { font-size: var(--sz-sm); letter-spacing: 0.1em; text-transform: uppercase; margin: 0; }
.cp-slot span { display: block; font-size: var(--sz-xs); opacity: 0.75; margin-top: 0.25rem; letter-spacing: 0.06em; }
.cp-fill { position: absolute; inset: 0; border-radius: 0; border: 0; min-height: 0; place-items: end end; padding: var(--sp-sm) var(--sp-md); background: linear-gradient(120deg, #2a1020 0%, #160810 60%, #0d0508 100%); z-index: 0; }
.cp-tall { aspect-ratio: 4 / 5; max-height: 34rem; width: 100%; }
.cp-wide { aspect-ratio: 4 / 3; min-height: 0; }
.cp-portrait { aspect-ratio: 3 / 4; min-height: 0; width: 100%; }
.cp-banner { aspect-ratio: 21 / 9; min-height: 9rem; width: 100%; margin-top: var(--sp-lg); }
.cp-sticky { aspect-ratio: 3 / 4; width: 100%; max-height: 36rem; }
.cp-hero { position: relative; overflow: hidden; background: var(--clr-bg); }
.cp-hero-text { position: relative; z-index: 1; }
.cp-hero h1 { font-family: var(--font-display); font-size: clamp(2rem, 5.4vw, 3.6rem); font-weight: var(--w-black); line-height: 1.08; letter-spacing: -0.01em; margin-bottom: var(--sp-sm); }
.cp-lead { font-size: var(--sz-md); color: var(--clr-text-sec); line-height: var(--lh-relaxed); max-width: 46ch; margin-bottom: var(--sp-md); }
.cp-actions { display: flex; flex-wrap: wrap; gap: var(--sp-sm); }
/* overlay and center and card: slot sits behind the words */
.cp-hero-overlay, .cp-hero-center, .cp-hero-card { padding: var(--sp-xl) 0; min-height: 30rem; display: flex; align-items: center; }
.cp-hero-overlay .container, .cp-hero-center .container, .cp-hero-card .container { position: relative; z-index: 1; width: 100%; }
.cp-hero-overlay .cp-hero-text { max-width: 36rem; }
.cp-hero-center { text-align: center; }
.cp-hero-center .cp-hero-text { max-width: 44rem; margin-inline: auto; }
.cp-hero-center .hero-eyebrow, .cp-hero-center .cp-actions { justify-content: center; }
.cp-hero-center .cp-lead { margin-inline: auto; }
.cp-card-hero { max-width: 34rem; margin-left: auto; background: rgba(13,5,8,0.9); border: 1px solid var(--clr-border-brand); border-radius: var(--card-r); padding: var(--sp-lg); box-shadow: var(--card-sh); }
/* split */
.cp-hero-split, .cp-hero-tall, .cp-hero-strip, .cp-hero-magazine, .cp-hero-textfirst, .cp-hero-mosaic { padding: var(--sp-xl) 0; }
.cp-split, .cp-tallgrid, .cp-mag { display: grid; gap: var(--sp-lg); align-items: center; }
.cp-split .cp-hero-text, .cp-tallgrid .cp-hero-text, .cp-mag .cp-hero-text { order: -1; }
.cp-strip-slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-sm); margin-top: var(--sp-lg); }
.cp-mosaic { display: grid; gap: var(--sp-sm); grid-template-columns: 1fr 1fr; margin-top: var(--sp-lg); }
.cp-m1 { grid-column: 1 / -1; aspect-ratio: 16 / 7; min-height: 0; }
.cp-m2, .cp-m3 { aspect-ratio: 4 / 3; min-height: 0; }
.cp-hero-magazine { border-top: 3px solid var(--clr-primary); }
.cp-hero-magazine h1 { font-size: clamp(2.2rem, 6vw, 4.2rem); font-style: italic; }
.cp-hero-textfirst h1 { font-size: clamp(2.2rem, 6vw, 4rem); max-width: 18ch; }
/* intro */
.cp-intro { background: var(--clr-surface); }
.cp-intro .sec-title { margin-bottom: var(--sp-sm); }
.cp-intro p { color: var(--clr-text-sec); line-height: var(--lh-relaxed); margin-bottom: var(--sp-sm); max-width: 68ch; }
.cp-intro-grid.has-quote { display: grid; gap: var(--sp-lg); align-items: start; }
.cp-quote { border-left: 3px solid var(--clr-primary); padding: var(--sp-md) var(--sp-md) var(--sp-md) var(--sp-lg); background: var(--clr-card); border-radius: 0 var(--card-r) var(--card-r) 0; }
.cp-quote p { font-family: var(--font-display); font-size: var(--sz-lg); font-style: italic; color: var(--clr-text); margin: 0; line-height: var(--lh-snug); }
/* local */
.cp-note { max-width: 46rem; border-left: 3px solid var(--clr-gold); padding-left: var(--sp-md); }
.cp-note p { color: var(--clr-text-sec); line-height: var(--lh-relaxed); }
.cp-minigrid { display: grid; gap: var(--sp-sm); grid-template-columns: 1fr; margin-top: var(--sp-md); }
.cp-minicard, .cp-take, .cp-tip { background: var(--clr-card); border: 1px solid var(--clr-border-brand); border-radius: var(--card-r); padding: var(--sp-md); }
.cp-minicard h3, .cp-take h3, .cp-tip h3 { font-family: var(--font-display); font-size: var(--sz-md); margin-bottom: var(--sp-xs); }
.cp-minicard p, .cp-take p, .cp-tip p { color: var(--clr-text-sec); line-height: var(--lh-relaxed); font-size: var(--sz-sm); }
/* middles */
.cp-mid .sec-title { margin-bottom: var(--sp-md); }
.cp-steps { list-style: none; counter-reset: s; display: grid; gap: var(--sp-sm); max-width: 48rem; }
.cp-steps li { counter-increment: s; position: relative; background: var(--clr-card); border: 1px solid var(--clr-border-brand); border-radius: var(--card-r); padding: var(--sp-md) var(--sp-md) var(--sp-md) 4rem; }
.cp-steps li::before { content: counter(s); position: absolute; left: var(--sp-md); top: var(--sp-md); width: 2rem; height: 2rem; border-radius: 50%; background: var(--clr-primary); color: var(--clr-text-on-pri); display: grid; place-items: center; font-weight: var(--w-bold); }
.cp-steps h3, .cp-timeline h3 { font-family: var(--font-display); font-size: var(--sz-md); margin-bottom: var(--sp-xs); }
.cp-steps p, .cp-timeline p, .cp-qa p { color: var(--clr-text-sec); line-height: var(--lh-relaxed); }
.cp-faq { display: grid; gap: var(--sp-xs); max-width: 48rem; }
.cp-detail { background: var(--clr-card); border: 1px solid var(--clr-border-brand); border-radius: var(--card-r); }
.cp-detail summary { cursor: pointer; padding: var(--sp-sm) var(--sp-md); font-weight: var(--w-semi); list-style: none; display: flex; justify-content: space-between; gap: var(--sp-sm); }
.cp-detail summary::-webkit-details-marker { display: none; }
.cp-detail summary::after { content: "+"; color: var(--clr-primary-light); font-size: 1.25rem; line-height: 1; }
.cp-detail[open] summary::after { content: "\2212"; }
.cp-detail p { padding: 0 var(--sp-md) var(--sp-md); color: var(--clr-text-sec); line-height: var(--lh-relaxed); }
.cp-check { list-style: none; display: grid; gap: var(--sp-xs); max-width: 48rem; }
.cp-check li { position: relative; padding: var(--sp-sm) var(--sp-sm) var(--sp-sm) 2.5rem; background: var(--clr-card); border-radius: var(--card-r); color: var(--clr-text-sec); }
.cp-check li::before { content: "\2713"; position: absolute; left: var(--sp-sm); color: var(--clr-primary-light); font-weight: var(--w-bold); }
.cp-tablewrap { overflow-x: auto; }
.cp-compare { width: 100%; border-collapse: collapse; min-width: 34rem; }
.cp-compare th, .cp-compare td { text-align: left; padding: var(--sp-sm) var(--sp-md); border-bottom: 1px solid var(--clr-border-brand); color: var(--clr-text-sec); vertical-align: top; line-height: var(--lh-normal); }
.cp-compare thead th { color: var(--clr-primary-light); font-size: var(--sz-sm); letter-spacing: 0.08em; text-transform: uppercase; }
.cp-compare tbody th { color: var(--clr-text); font-family: var(--font-display); }
.cp-compare td:last-child { color: var(--clr-text); }
.cp-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.cp-timeline { list-style: none; position: relative; padding-left: 2rem; display: grid; gap: var(--sp-md); max-width: 48rem; }
.cp-timeline::before { content: ""; position: absolute; left: 0.45rem; top: 0.4rem; bottom: 0.4rem; width: 2px; background: var(--clr-border-brand); }
.cp-timeline li { position: relative; }
.cp-timeline li::before { content: ""; position: absolute; left: -2rem; top: 0.35rem; width: 0.9rem; height: 0.9rem; border-radius: 50%; background: var(--clr-primary); box-shadow: 0 0 0 4px var(--clr-glow-soft); }
.cp-num { list-style: none; counter-reset: n; display: grid; gap: var(--sp-sm); max-width: 48rem; }
.cp-num li { counter-increment: n; display: grid; grid-template-columns: 3.5rem 1fr; align-items: center; gap: var(--sp-sm); padding: var(--sp-sm) 0; border-bottom: 1px solid var(--clr-border); color: var(--clr-text-sec); line-height: var(--lh-normal); }
.cp-num li::before { content: counter(n); font-family: var(--font-display); font-size: 2.5rem; font-weight: var(--w-black); color: var(--clr-primary); line-height: 1; }
.cp-takegrid, .cp-tipgrid { display: grid; gap: var(--sp-sm); grid-template-columns: 1fr; }
.cp-take { border-top: 3px solid var(--clr-primary); }
.cp-qalist { display: grid; gap: var(--sp-md); max-width: 48rem; }
.cp-qa { border-left: 3px solid var(--clr-gold); padding-left: var(--sp-md); }
.cp-qa h3 { font-family: var(--font-display); font-size: var(--sz-md); margin-bottom: var(--sp-xs); }
/* cities */
.cp-cities { background: var(--clr-surface); }
.cp-citylist { list-style: none; display: grid; gap: var(--sp-xs); grid-template-columns: 1fr 1fr; }
.cp-citylist a { display: block; padding: var(--sp-sm) var(--sp-md); background: var(--clr-card); border: 1px solid var(--clr-border-brand); border-radius: var(--card-r); color: var(--clr-accent); font-weight: var(--w-semi); transition: border-color var(--ease-f), color var(--ease-f); }
.cp-citylist a:hover { border-color: var(--clr-primary); color: var(--clr-text); }
@media (min-width: 768px) {
  .cp-split { grid-template-columns: 1fr 1fr; gap: var(--sp-xl); }
  .cp-split.rev .cp-slot { order: 2; }
  .cp-tallgrid { grid-template-columns: 0.8fr 1.2fr; gap: var(--sp-xl); align-items: start; }
  .cp-sticky { position: sticky; top: calc(var(--hdr-h) + var(--sp-md)); }
  .cp-mag { grid-template-columns: 1.5fr 0.7fr; gap: var(--sp-xl); }
  .cp-mosaic { grid-template-columns: 2fr 1fr; grid-template-rows: auto auto; }
  .cp-m1 { grid-column: 1; grid-row: 1 / span 2; aspect-ratio: auto; min-height: 20rem; }
  .cp-minigrid, .cp-takegrid { grid-template-columns: repeat(3, 1fr); }
  .cp-tipgrid { grid-template-columns: repeat(2, 1fr); }
  .cp-intro-grid.has-quote { grid-template-columns: 1.6fr 1fr; gap: var(--sp-xl); }
  .cp-citylist { grid-template-columns: repeat(3, 1fr); }
}
