/* ═══════════════════════════════════════════════════════════════
   THISDOMAINDONTEXIST123 — LUXURY DESIGN SYSTEM
   style.css
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;600;700&family=Montserrat:wght@300;400;500;600;700&display=swap');

/* ── 1. VARIABLES ─────────────────────────────────────────────── */
:root {
    --lux-black:      #0d0b0a;
    --lux-dark:       #151210;
    --lux-dark2:      #1e1a17;
    --lux-gold:       #c9a96e;
    --lux-gold-light: #e8d5a3;
    --lux-gold-dark:  #9a7a4a;
    --lux-cream:      #f5f0e8;
    --lux-white:      #ffffff;
    --lux-gray:       #7a7068;
    --lux-border:     rgba(201, 169, 110, 0.25);
}

/* ── 2. RESET & BASE ──────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html  { scroll-behavior: smooth; overflow-x: hidden; }
body  { font-family: 'Montserrat', sans-serif; background: var(--lux-cream); color: #2a2218; overflow-x: hidden; }
a     { text-decoration: none; transition: color 0.3s; }
img   { max-width: 100%; display: block; }

/* ── 3. HEADER & NAV ──────────────────────────────────────────── */
.lux-header {
    background: var(--lux-dark);
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid var(--lux-border);
}
.lux-header-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 2em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80px;
}
.lux-logo {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.7em;
    font-weight: 600;
    color: var(--lux-gold);
    letter-spacing: 1px;
    text-decoration: none;
}
.lux-logo span { color: var(--lux-white); font-weight: 300; }
.lux-nav ul { list-style: none; display: flex; gap: 2.5em; }
.lux-nav ul li a {
    font-size: 0.82em;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    transition: color 0.3s;
    position: relative;
    padding-bottom: 4px;
}
.lux-nav ul li a::after {
    content: '';
    position: absolute;
    left: 0; bottom: 0;
    width: 0; height: 1px;
    background: var(--lux-gold);
    transition: width 0.3s;
}
.lux-nav ul li a:hover            { color: var(--lux-gold); }
.lux-nav ul li a:hover::after     { width: 100%; }
.nav-toggle {
    display: none;
    background: none;
    border: none;
    color: var(--lux-gold);
    font-size: 1.6em;
    cursor: pointer;
}

/* ── 4. BUTTONS ───────────────────────────────────────────────── */
.lux-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.8em;
    padding: 1em 2.4em;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.78em;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.3s;
}
.lux-btn-gold {
    background: var(--lux-gold);
    color: var(--lux-black);
}
.lux-btn-gold:hover {
    background: var(--lux-gold-light);
    color: var(--lux-black);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(201, 169, 110, 0.3);
}
.lux-btn-outline {
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: var(--lux-white);
    margin-left: 1em;
}
.lux-btn-outline:hover {
    border-color: var(--lux-gold);
    color: var(--lux-gold);
}
.lux-btn-dark {
    background: var(--lux-dark);
    color: var(--lux-gold);
    border: 1px solid var(--lux-border);
}
.lux-btn-dark:hover { background: var(--lux-dark2); color: var(--lux-gold); }

/* ── 5. HERO — shared structure ───────────────────────────────── */
.lux-hero {
    position: relative;
    background: var(--lux-black);
    display: flex;
    align-items: center;
    overflow: hidden;
}
.lux-hero-bg {
    position: absolute; inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.15;
}
.lux-hero-overlay {
    position: absolute; inset: 0;
    background: radial-gradient(ellipse at 55% 55%, rgba(201, 169, 110, 0.11) 0%, transparent 68%);
}
.lux-hero-inner {
    position: relative; z-index: 2;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 2em;
    width: 100%;
}
.lux-hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.7em;
    border: 1px solid var(--lux-border);
    padding: 0.5em 1.4em;
    border-radius: 50px;
    font-size: 0.75em;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--lux-gold);
    margin-bottom: 2em;
}
.lux-hero h1 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(3em, 6vw, 5.5em);
    font-weight: 300;
    color: var(--lux-white);
    line-height: 1.1;
    margin-bottom: 0.7em;
    letter-spacing: -0.5px;
}
.lux-hero h1 em       { font-style: italic; color: var(--lux-gold); }
.lux-hero-sub {
    font-size: 1em;
    color: rgba(255, 255, 255, 0.58);
    max-width: 550px;
    line-height: 1.9;
    margin-bottom: 2.5em;
    font-weight: 300;
}

/* Hero height & image per page */
.page-home     .lux-hero { min-height: 100vh; }
.page-plans    .lux-hero,
.page-progress .lux-hero,
.page-about    .lux-hero { min-height: 75vh; }
.page-contact  .lux-hero { min-height: 65vh; }

.page-home     .lux-hero-bg { background-image: url('../images_20260523_122154/img1.webp'); opacity: 0.18; }
.page-plans    .lux-hero-bg { background-image: url('../images_20260523_122154/img3.webp'); }
.page-progress .lux-hero-bg { background-image: url('../images_20260523_122154/img4.webp'); }
.page-about    .lux-hero-bg { background-image: url('../images_20260523_122154/img1.webp'); }
.page-contact  .lux-hero-bg { background-image: url('../images_20260523_122154/img3.webp'); opacity: 0.12; }

/* Centred hero text (About & Contact) */
.page-about   .lux-hero-inner,
.page-contact .lux-hero-inner { text-align: center; }
.page-about   .lux-hero-sub,
.page-contact .lux-hero-sub   { margin-left: auto; margin-right: auto; max-width: 600px; }

/* Home hero extras */
.lux-hero-scroll {
    position: absolute;
    bottom: 2.5em; left: 2em;
    display: flex;
    align-items: center;
    gap: 1em;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.72em;
    letter-spacing: 3px;
    text-transform: uppercase;
}
.lux-hero-scroll::before {
    content: '';
    display: block;
    width: 40px; height: 1px;
    background: var(--lux-gold);
}
.lux-hero-number {
    position: absolute;
    right: 2em; bottom: 2.5em;
    font-family: 'Cormorant Garamond', serif;
    font-size: 12em;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.03);
    line-height: 1;
    user-select: none;
}

/* ── 6. LAYOUT WRAPPER ────────────────────────────────────────── */
.lux-main { max-width: 1280px; margin: 0 auto; padding: 0 2em; }

/* ── 7. SECTION LABELS & TITLES ───────────────────────────────── */
.lux-label {
    font-size: 0.72em;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--lux-gold);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.8em;
    margin-bottom: 1.5em;
}
.lux-label::before {
    content: '';
    display: inline-block;
    width: 30px; height: 1px;
    background: var(--lux-gold);
}
.section-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2.2em, 4vw, 3.5em);
    font-weight: 400;
    color: var(--lux-black);
    line-height: 1.2;
    margin-bottom: 0.6em;
}
.section-title em { font-style: italic; color: var(--lux-gold-dark); }

/* ── 8. CTA DARK SECTION ──────────────────────────────────────── */
.lux-cta {
    background: var(--lux-black);
    padding: 8em 2em;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.lux-cta::before {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(201, 169, 110, 0.1) 0%, transparent 70%);
    pointer-events: none;
}
.lux-cta-inner { position: relative; z-index: 2; }
.lux-cta h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2.5em, 5vw, 4.5em);
    font-weight: 300;
    color: var(--lux-white);
    margin-bottom: 0.5em;
    line-height: 1.1;
}
.lux-cta h2 em { font-style: italic; color: var(--lux-gold); }
.lux-cta p {
    color: rgba(255, 255, 255, 0.5);
    font-size: 1em;
    font-weight: 300;
    max-width: 500px;
    margin: 0 auto 3em;
    line-height: 1.9;
}

/* ── 9. FOOTER ────────────────────────────────────────────────── */
.lux-footer {
    background: var(--lux-dark);
    border-top: 1px solid var(--lux-border);
    padding: 3em 2em;
}
.lux-footer-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.5em;
}
.lux-footer-copy  { font-size: 0.8em; color: rgba(255, 255, 255, 0.35); letter-spacing: 1px; }
.lux-footer-links { display: flex; gap: 2em; flex-wrap: wrap; }
.lux-footer-links a {
    font-size: 0.75em;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
    text-decoration: none;
    transition: color 0.3s;
}
.lux-footer-links a:hover { color: var(--lux-gold); }

/* ── 10. PRIVACY POPUP ────────────────────────────────────────── */
.privacy-popup {
    display: none;
    position: fixed;
    bottom: 0; left: 0;
    width: 100%;
    background: var(--lux-dark);
    border-top: 1px solid var(--lux-border);
    padding: 2em;
    z-index: 10000;
    text-align: center;
}
.popup-content {
    max-width: 750px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
}
.popup-content h2 {
    font-family: 'Cormorant Garamond', serif;
    color: var(--lux-white);
    font-size: 1.5em;
    font-weight: 400;
}
.popup-content p  { font-size: 0.85em; color: rgba(255, 255, 255, 0.55); line-height: 1.7; }
.popup-content a  { color: var(--lux-gold); }

/* ══════════════════════════════════════════════════════════════
   HOME PAGE
   ══════════════════════════════════════════════════════════════ */

/* Stats bar */
.lux-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: var(--lux-dark);
    border: 1px solid var(--lux-border);
}
.lux-stat {
    padding: 3.5em 2.5em;
    text-align: center;
    border-right: 1px solid var(--lux-border);
    transition: background 0.3s;
}
.lux-stat:last-child { border-right: none; }
.lux-stat:hover      { background: var(--lux-dark2); }
.lux-stat-icon  { font-size: 2em; color: var(--lux-gold); margin-bottom: 0.8em; }
.lux-stat-num {
    font-family: 'Cormorant Garamond', serif;
    font-size: 3.5em;
    font-weight: 600;
    color: var(--lux-white);
    line-height: 1;
    margin-bottom: 0.3em;
}
.lux-stat-label { font-size: 0.72em; letter-spacing: 3px; text-transform: uppercase; color: rgba(255,255,255,0.45); font-weight: 500; }

/* Intro split section */
.lux-intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6em;
    align-items: center;
    padding: 8em 0;
}
.lux-intro-left h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2.5em, 4vw, 4em);
    font-weight: 400;
    color: var(--lux-black);
    line-height: 1.2;
    margin-bottom: 1em;
}
.lux-intro-left h2 em { font-style: italic; color: var(--lux-gold-dark); }
.lux-intro-left p { color: var(--lux-gray); line-height: 1.9; margin-bottom: 1.5em; font-size: 1em; font-weight: 300; }
.lux-intro-right { position: relative; }
.lux-intro-img   { width: 100%; height: 520px; object-fit: cover; display: block; }
.lux-intro-img-frame {
    position: absolute;
    top: -20px; right: -20px;
    width: 100%; height: 100%;
    border: 2px solid var(--lux-gold);
    z-index: -1;
}
.lux-intro-badge {
    position: absolute;
    bottom: -2em; left: -2em;
    background: var(--lux-gold);
    color: var(--lux-black);
    padding: 2em;
    width: 160px;
    text-align: center;
}
.lux-intro-badge-num  { font-family: 'Cormorant Garamond', serif; font-size: 3em; font-weight: 700; line-height: 1; }
.lux-intro-badge-text { font-size: 0.65em; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; margin-top: 0.4em; }

/* Benefits grid */
.lux-benefits { padding: 8em 0; }
.lux-benefits-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4em;
    align-items: end;
    margin-bottom: 5em;
}
.lux-benefits-header h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.5em, 4vw, 3.8em); font-weight: 400; color: var(--lux-black); line-height: 1.2; }
.lux-benefits-header p  { color: var(--lux-gray); line-height: 1.9; font-weight: 300; }
.lux-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    background: var(--lux-border);
}
.lux-benefit-card {
    background: var(--lux-white);
    padding: 3em 2.5em;
    transition: background 0.3s;
    position: relative;
    overflow: hidden;
}
.lux-benefit-card::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 3px; background: var(--lux-gold); transition: width 0.4s; }
.lux-benefit-card:hover { background: #fdfaf5; }
.lux-benefit-card:hover::after { width: 100%; }
.lux-benefit-icon {
    width: 56px; height: 56px;
    border: 1px solid var(--lux-border);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4em;
    color: var(--lux-gold);
    margin-bottom: 1.8em;
    transition: all 0.3s;
}
.lux-benefit-card:hover .lux-benefit-icon { background: var(--lux-gold); color: var(--lux-white); border-color: var(--lux-gold); }
.lux-benefit-card h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.5em; font-weight: 600; color: var(--lux-black); margin-bottom: 0.8em; }
.lux-benefit-card p  { color: var(--lux-gray); line-height: 1.8; font-size: 0.92em; font-weight: 300; }

/* Process (dark) */
.lux-process {
    background: var(--lux-dark);
    padding: 8em 0;
    position: relative;
    overflow: hidden;
}
.lux-process::before {
    content: 'JOURNEY';
    position: absolute;
    font-family: 'Cormorant Garamond', serif;
    font-size: 15em;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.02);
    left: -0.1em; top: 0.1em;
    white-space: nowrap;
    pointer-events: none;
}
.lux-process-inner  { max-width: 1280px; margin: 0 auto; padding: 0 2em; }
.lux-process-header { text-align: center; margin-bottom: 5em; }
.lux-process-header h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.5em, 4vw, 4em); font-weight: 300; color: var(--lux-white); margin-bottom: 0.5em; }
.lux-process-header p  { color: rgba(255, 255, 255, 0.5); font-weight: 300; max-width: 550px; margin: 0 auto; line-height: 1.9; }
.lux-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    position: relative; z-index: 2;
}
.lux-step {
    padding: 3em 2em;
    border-right: 1px solid var(--lux-border);
    text-align: center;
    transition: background 0.3s;
}
.lux-step:last-child { border-right: none; }
.lux-step:hover { background: rgba(201, 169, 110, 0.05); }
.lux-step-num  { font-family: 'Cormorant Garamond', serif; font-size: 5em; font-weight: 700; color: rgba(201,169,110,0.15); line-height: 1; margin-bottom: 0.5em; }
.lux-step-icon { font-size: 2em; color: var(--lux-gold); margin-bottom: 1em; }
.lux-step h4   { font-family: 'Cormorant Garamond', serif; font-size: 1.4em; font-weight: 600; color: var(--lux-white); margin-bottom: 0.8em; }
.lux-step p    { font-size: 0.85em; color: rgba(255, 255, 255, 0.45); line-height: 1.8; font-weight: 300; }

/* Testimonials */
.lux-testimonials { padding: 8em 0; }
.lux-testimonials-header { text-align: center; margin-bottom: 4em; }
.lux-testimonials-header h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.5em, 4vw, 3.8em); font-weight: 400; color: var(--lux-black); margin-bottom: 0.4em; }
.lux-testimonials-header p  { color: var(--lux-gray); font-weight: 300; }
.lux-testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2em;
}
.lux-testimonial-card {
    border: 1px solid var(--lux-border);
    padding: 3em;
    background: var(--lux-white);
    position: relative;
    transition: box-shadow 0.3s;
}
.lux-testimonial-card:hover { box-shadow: 0 20px 60px rgba(0,0,0,0.08); }
.lux-testimonial-quote  { font-family: 'Cormorant Garamond', serif; font-size: 5em; color: var(--lux-gold); line-height: 0.5; margin-bottom: 0.5em; opacity: 0.4; }
.lux-testimonial-stars  { color: var(--lux-gold); font-size: 0.85em; margin-bottom: 1.5em; }
.lux-testimonial-text   { font-size: 0.95em; color: var(--lux-gray); line-height: 1.9; font-style: italic; margin-bottom: 2em; font-weight: 300; }
.lux-testimonial-author { display: flex; align-items: center; gap: 1em; }
.lux-testimonial-avatar {
    width: 46px; height: 46px;
    border-radius: 50%;
    background: var(--lux-gold);
    display: flex; align-items: center; justify-content: center;
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.3em;
    font-weight: 600;
    color: var(--lux-black);
    flex-shrink: 0;
}
.lux-testimonial-name { font-weight: 600; font-size: 0.9em; color: var(--lux-black); }
.lux-testimonial-loc  { font-size: 0.78em; color: var(--lux-gray); margin-top: 0.2em; }

/* ══════════════════════════════════════════════════════════════
   WALKING PLANS PAGE
   ══════════════════════════════════════════════════════════════ */

/* Why choose us */
.lux-why        { padding: 7em 0; }
.lux-why-header { text-align: center; margin-bottom: 4em; }
.lux-why-header .lux-label { justify-content: center; }
.lux-why-header p { color: var(--lux-gray); font-weight: 300; max-width: 650px; margin: 0 auto; line-height: 1.9; }
.lux-why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    background: var(--lux-border);
}
.lux-why-card {
    background: var(--lux-white);
    padding: 3.5em 2.5em;
    text-align: center;
    transition: background 0.3s;
    position: relative;
    overflow: hidden;
}
.lux-why-card::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 3px; background: var(--lux-gold); transition: width 0.4s; }
.lux-why-card:hover { background: #fdfaf5; }
.lux-why-card:hover::after { width: 100%; }
.lux-why-icon {
    width: 72px; height: 72px;
    background: var(--lux-dark);
    border: 1px solid var(--lux-border);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.6em;
    color: var(--lux-gold);
    margin: 0 auto 1.8em;
    transition: all 0.3s;
}
.lux-why-card:hover .lux-why-icon { background: var(--lux-gold); color: var(--lux-black); border-color: var(--lux-gold); }
.lux-why-card h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.6em; font-weight: 600; color: var(--lux-black); margin-bottom: 0.8em; }
.lux-why-card p  { color: var(--lux-gray); line-height: 1.8; font-size: 0.92em; font-weight: 300; }

/* Pricing */
.lux-pricing-section        { padding: 7em 0; }
.lux-pricing-header         { text-align: center; margin-bottom: 5em; }
.lux-pricing-header .lux-label { justify-content: center; }
.lux-pricing-header p       { color: var(--lux-gray); font-weight: 300; max-width: 600px; margin: 0 auto; line-height: 1.9; }
.lux-pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2em; }
.lux-plan-card {
    background: var(--lux-white);
    border: 1px solid var(--lux-border);
    overflow: hidden;
    position: relative;
    transition: transform 0.3s, box-shadow 0.3s;
}
.lux-plan-card:hover                     { transform: translateY(-8px); box-shadow: 0 30px 70px rgba(0,0,0,0.12); }
.lux-plan-card.featured                  { border-color: var(--lux-gold); transform: translateY(-12px); box-shadow: 0 30px 70px rgba(201,169,110,0.2); }
.lux-plan-card.featured:hover            { transform: translateY(-18px); }
.lux-plan-header                         { padding: 3em 2.5em; background: var(--lux-dark); position: relative; }
.lux-plan-card.featured .lux-plan-header { background: var(--lux-gold); }
.lux-plan-badge {
    position: absolute;
    top: 1.2em; right: 1.2em;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    padding: 0.4em 1em;
    font-size: 0.7em;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--lux-white);
}
.lux-plan-card.featured .lux-plan-badge { background: rgba(0,0,0,0.15); color: var(--lux-black); }
.lux-plan-icon { font-size: 2.5em; color: var(--lux-gold); margin-bottom: 0.6em; }
.lux-plan-card.featured .lux-plan-icon  { color: var(--lux-black); }
.lux-plan-header h3                     { font-family: 'Cormorant Garamond', serif; font-size: 2em; font-weight: 600; color: var(--lux-white); margin-bottom: 0.8em; }
.lux-plan-card.featured .lux-plan-header h3 { color: var(--lux-black); }
.lux-plan-price { font-family: 'Cormorant Garamond', serif; font-size: 4em; font-weight: 700; color: var(--lux-gold); line-height: 1; }
.lux-plan-card.featured .lux-plan-price { color: var(--lux-black); }
.lux-plan-period { font-size: 0.85em; color: rgba(255,255,255,0.6); margin-top: 0.3em; font-weight: 300; }
.lux-plan-card.featured .lux-plan-period { color: rgba(0,0,0,0.55); }
.lux-plan-body  { padding: 2.5em; }
.lux-plan-desc  { font-size: 0.9em; color: var(--lux-gray); line-height: 1.8; margin-bottom: 2em; font-weight: 300; }
.lux-plan-features { list-style: none; margin-bottom: 2.5em; }
.lux-plan-features li { display: flex; align-items: center; gap: 0.9em; padding: 0.8em 0; border-bottom: 1px solid rgba(201,169,110,0.1); font-size: 0.9em; color: #3a3028; }
.lux-plan-features li:last-child { border-bottom: none; }
.lux-plan-features li i { color: var(--lux-gold); font-size: 0.9em; flex-shrink: 0; }
.lux-plan-cta {
    display: block;
    text-align: center;
    padding: 1.1em;
    font-size: 0.78em;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-decoration: none;
    background: var(--lux-dark);
    color: var(--lux-gold);
    border: 1px solid var(--lux-border);
    transition: all 0.3s;
}
.lux-plan-cta:hover                    { background: var(--lux-gold); color: var(--lux-black); border-color: var(--lux-gold); }
.lux-plan-card.featured .lux-plan-cta { background: var(--lux-gold); color: var(--lux-black); border-color: var(--lux-gold); }
.lux-plan-card.featured .lux-plan-cta:hover { background: var(--lux-dark); color: var(--lux-gold); }

/* Comparison table */
.lux-compare        { background: var(--lux-dark); padding: 7em 0; }
.lux-compare-inner  { max-width: 1280px; margin: 0 auto; padding: 0 2em; }
.lux-compare-header { text-align: center; margin-bottom: 4em; }
.lux-compare-header p { color: rgba(255,255,255,0.5); font-weight: 300; }
.lux-table-wrap { overflow-x: auto; }
.lux-table { width: 100%; border-collapse: collapse; background: var(--lux-dark2); }
.lux-table thead th { background: var(--lux-gold); color: var(--lux-black); padding: 1.2em 1.5em; text-align: left; font-size: 0.8em; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; }
.lux-table thead th:first-child { background: var(--lux-dark); color: var(--lux-gold); }
.lux-table tbody td { padding: 1.2em 1.5em; border-bottom: 1px solid var(--lux-border); font-size: 0.9em; color: rgba(255,255,255,0.7); text-align: center; }
.lux-table tbody td:first-child { text-align: left; font-weight: 600; color: rgba(255,255,255,0.9); }
.lux-table tbody tr:hover td { background: rgba(201,169,110,0.04); }
.lux-check { color: var(--lux-gold); }
.lux-cross { color: rgba(255,255,255,0.2); }

/* ══════════════════════════════════════════════════════════════
   PROGRESS PAGE
   ══════════════════════════════════════════════════════════════ */

/* Metrics dashboard */
.lux-metrics        { padding: 7em 0; }
.lux-metrics-header { text-align: center; margin-bottom: 4em; }
.lux-metrics-header .lux-label { justify-content: center; }
.lux-metrics-header p { color: var(--lux-gray); font-weight: 300; max-width: 600px; margin: 0 auto; line-height: 1.9; }
.lux-metrics-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2px;
    background: var(--lux-border);
}
.lux-metric-card {
    background: var(--lux-white);
    padding: 3em 2em;
    text-align: center;
    transition: background 0.3s;
    position: relative;
    overflow: hidden;
}
.lux-metric-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 3px;
    background: linear-gradient(90deg, var(--lux-gold-dark), var(--lux-gold-light));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s;
}
.lux-metric-card:hover::before { transform: scaleX(1); }
.lux-metric-card:hover { background: #fdfaf5; }
.lux-metric-icon {
    width: 60px; height: 60px;
    border: 1px solid var(--lux-border);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4em;
    color: var(--lux-gold);
    margin: 0 auto 1.5em;
    transition: all 0.3s;
}
.lux-metric-card:hover .lux-metric-icon { background: var(--lux-gold); color: var(--lux-black); border-color: var(--lux-gold); }
.lux-metric-value { font-family: 'Cormorant Garamond', serif; font-size: 3.2em; font-weight: 700; color: var(--lux-black); line-height: 1; margin-bottom: 0.3em; }
.lux-metric-label { font-size: 0.72em; letter-spacing: 3px; text-transform: uppercase; color: var(--lux-gray); font-weight: 600; margin-bottom: 0.8em; }
.lux-metric-change { font-size: 0.8em; font-weight: 600; display: flex; align-items: center; justify-content: center; gap: 0.4em; }
.lux-metric-change.up     { color: #4CAF50; }
.lux-metric-change.streak { color: var(--lux-gold); }

/* Goals / progress bars (dark) */
.lux-goals       { background: var(--lux-dark); padding: 7em 0; }
.lux-goals-inner { max-width: 1280px; margin: 0 auto; padding: 0 2em; }
.lux-goals-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6em;
    align-items: start;
}
.lux-goals-left h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(2em, 3.5vw, 3em);
    font-weight: 300;
    color: var(--lux-white);
    margin-bottom: 0.5em;
    line-height: 1.2;
}
.lux-goals-left h2 em { font-style: italic; color: var(--lux-gold); }
.lux-goals-left p     { color: rgba(255,255,255,0.5); font-weight: 300; line-height: 1.9; margin-bottom: 2em; }
.lux-bar-item   { margin-bottom: 2.5em; }
.lux-bar-top    { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.8em; }
.lux-bar-name   { font-size: 0.85em; font-weight: 600; color: rgba(255,255,255,0.8); display: flex; align-items: center; gap: 0.6em; }
.lux-bar-name i { color: var(--lux-gold); }
.lux-bar-val    { font-family: 'Cormorant Garamond', serif; font-size: 1.1em; font-weight: 600; color: var(--lux-gold); }
.lux-bar-track  { height: 6px; background: rgba(255,255,255,0.08); border-radius: 3px; overflow: hidden; }
.lux-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--lux-gold-dark), var(--lux-gold-light));
    border-radius: 3px;
    position: relative;
    transition: width 1.5s ease;
}
.lux-bar-fill::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    animation: shimmer 2s infinite;
}
.lux-bar-hint { display: flex; justify-content: space-between; margin-top: 0.5em; font-size: 0.75em; color: rgba(255,255,255,0.3); }
@keyframes shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }

/* Achievements */
.lux-achievements        { padding: 7em 0; }
.lux-achievements-header { text-align: center; margin-bottom: 4em; }
.lux-achievements-header .lux-label { justify-content: center; }
.lux-achievements-header p { color: var(--lux-gray); font-weight: 300; }
.lux-badges-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1.5em; }
.lux-badge {
    background: var(--lux-white);
    border: 1px solid var(--lux-border);
    padding: 2.5em 1em;
    text-align: center;
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
}
.lux-badge::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: var(--lux-gold); transition: width 0.4s; }
.lux-badge:hover  { transform: translateY(-6px); box-shadow: 0 15px 40px rgba(0,0,0,0.1); border-color: var(--lux-gold); }
.lux-badge:hover::after { width: 100%; }
.lux-badge-icon        { font-size: 2.5em; margin-bottom: 0.7em; }
.lux-badge-icon.gold   { color: #d4af37; }
.lux-badge-icon.silver { color: #a8a9ad; }
.lux-badge-icon.bronze { color: #cd7f32; }
.lux-badge-name { font-size: 0.75em; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--lux-gray); }

/* Milestone timeline (progress page) */
.lux-timeline-section { background: var(--lux-dark); padding: 7em 0; }
.lux-timeline-inner   { max-width: 1280px; margin: 0 auto; padding: 0 2em; }
.lux-timeline-header  { text-align: center; margin-bottom: 5em; }
.lux-timeline-header p { color: rgba(255,255,255,0.5); font-weight: 300; }
.lux-timeline { position: relative; max-width: 900px; margin: 0 auto; }
.lux-timeline::before { content: ''; position: absolute; left: 29px; top: 0; bottom: 0; width: 1px; background: var(--lux-border); }
.lux-tl-item  { display: flex; gap: 2.5em; margin-bottom: 3em; position: relative; }
.lux-tl-item:last-child { margin-bottom: 0; }
.lux-tl-dot {
    width: 60px; height: 60px;
    border-radius: 50%;
    background: var(--lux-gold);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.3em;
    color: var(--lux-black);
    flex-shrink: 0;
    position: relative; z-index: 2;
    box-shadow: 0 0 0 6px rgba(201,169,110,0.1);
}
.lux-tl-content {
    background: var(--lux-dark2);
    border: 1px solid var(--lux-border);
    padding: 2em 2.5em;
    flex: 1;
    transition: border-color 0.3s;
}
.lux-tl-content:hover { border-color: var(--lux-gold); }
.lux-tl-date  { font-size: 0.72em; letter-spacing: 3px; text-transform: uppercase; color: var(--lux-gold); font-weight: 600; margin-bottom: 0.6em; }
.lux-tl-title { font-family: 'Cormorant Garamond', serif; font-size: 1.5em; font-weight: 600; color: var(--lux-white); margin-bottom: 0.5em; }
.lux-tl-desc  { font-size: 0.88em; color: rgba(255,255,255,0.5); line-height: 1.8; font-weight: 300; }

/* Mentor insight box */
.lux-insight     { padding: 7em 0; }
.lux-insight-box {
    background: var(--lux-white);
    border: 1px solid var(--lux-border);
    padding: 5em;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
}
.lux-insight-box::before { content: ''; position: absolute; top: -1px; left: 50%; transform: translateX(-50%); width: 80px; height: 3px; background: var(--lux-gold); }
.lux-insight-box .lux-label { justify-content: center; }
.lux-insight-box h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2em, 3vw, 2.8em); font-weight: 400; color: var(--lux-black); margin-bottom: 0.8em; }
.lux-insight-box p  { color: var(--lux-gray); line-height: 1.9; font-weight: 300; max-width: 600px; margin: 0 auto 2.5em; }

/* ══════════════════════════════════════════════════════════════
   ABOUT PAGE
   ══════════════════════════════════════════════════════════════ */

/* Story section */
.lux-story        { padding: 8em 0; }
.lux-story-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 7em; align-items: center; }
.lux-story-text p { color: var(--lux-gray); line-height: 1.9; font-size: 0.95em; font-weight: 300; margin-bottom: 1.5em; }
.lux-story-img-wrap { position: relative; }
.lux-story-img { width: 100%; height: 520px; object-fit: cover; display: block; }
.lux-story-img-border { position: absolute; top: 20px; right: -20px; width: 100%; height: 100%; border: 2px solid var(--lux-gold); z-index: -1; }
.lux-story-stat { position: absolute; bottom: -2em; left: -2em; background: var(--lux-gold); color: var(--lux-black); padding: 2em; text-align: center; min-width: 140px; }
.lux-story-stat-num  { font-family: 'Cormorant Garamond', serif; font-size: 3em; font-weight: 700; line-height: 1; }
.lux-story-stat-text { font-size: 0.65em; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; margin-top: 0.4em; }

/* Values (dark) */
.lux-values-section { background: var(--lux-dark); padding: 8em 0; }
.lux-values-inner   { max-width: 1280px; margin: 0 auto; padding: 0 2em; }
.lux-values-header  { text-align: center; margin-bottom: 5em; }
.lux-values-header p { color: rgba(255,255,255,0.5); font-weight: 300; max-width: 600px; margin: 0 auto; line-height: 1.9; }
.lux-values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    background: var(--lux-border);
}
.lux-value-card {
    background: var(--lux-dark2);
    padding: 3.5em 2.5em;
    text-align: center;
    transition: background 0.3s;
    position: relative;
}
.lux-value-card::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: var(--lux-gold); transition: width 0.4s; }
.lux-value-card:hover { background: rgba(201,169,110,0.04); }
.lux-value-card:hover::after { width: 100%; }
.lux-value-icon {
    width: 70px; height: 70px;
    border: 1px solid var(--lux-border);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.6em;
    color: var(--lux-gold);
    margin: 0 auto 1.8em;
    transition: all 0.3s;
}
.lux-value-card:hover .lux-value-icon { background: var(--lux-gold); color: var(--lux-black); border-color: var(--lux-gold); }
.lux-value-card h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.6em; font-weight: 600; color: var(--lux-white); margin-bottom: 0.8em; }
.lux-value-card p  { color: rgba(255,255,255,0.45); line-height: 1.8; font-size: 0.88em; font-weight: 300; }

/* Team */
.lux-team        { padding: 8em 0; }
.lux-team-header { text-align: center; margin-bottom: 5em; }
.lux-team-header .lux-label { justify-content: center; }
.lux-team-header p { color: var(--lux-gray); font-weight: 300; max-width: 650px; margin: 0 auto; line-height: 1.9; }
.lux-team-grid   { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5em; }
.lux-team-card {
    background: var(--lux-white);
    border: 1px solid var(--lux-border);
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
}
.lux-team-card:hover { transform: translateY(-8px); box-shadow: 0 30px 70px rgba(0,0,0,0.12); }
.lux-team-avatar {
    height: 240px;
    background: var(--lux-dark);
    display: flex; align-items: center; justify-content: center;
    font-size: 7em;
    color: var(--lux-gold);
    opacity: 0.6;
    position: relative;
    overflow: hidden;
}
.lux-team-avatar::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, var(--lux-gold-dark), var(--lux-gold-light)); }
.lux-team-body    { padding: 2.5em; }
.lux-team-name    { font-family: 'Cormorant Garamond', serif; font-size: 1.8em; font-weight: 600; color: var(--lux-black); margin-bottom: 0.2em; }
.lux-team-role    { font-size: 0.72em; letter-spacing: 2px; text-transform: uppercase; color: var(--lux-gold); font-weight: 600; margin-bottom: 1.2em; }
.lux-team-bio     { color: var(--lux-gray); line-height: 1.8; font-size: 0.88em; font-weight: 300; margin-bottom: 1.5em; }
.lux-team-creds   { border-top: 1px solid var(--lux-border); padding-top: 1.5em; display: flex; flex-direction: column; gap: 0.7em; }
.lux-team-cred    { display: flex; align-items: center; gap: 0.8em; font-size: 0.82em; color: var(--lux-gray); }
.lux-team-cred i  { color: var(--lux-gold); font-size: 0.9em; flex-shrink: 0; }

/* History / company timeline */
.lux-history        { background: var(--lux-dark); padding: 8em 0; }
.lux-history-inner  { max-width: 1280px; margin: 0 auto; padding: 0 2em; }
.lux-history-header { text-align: center; margin-bottom: 5em; }
.lux-history-header p { color: rgba(255,255,255,0.5); font-weight: 300; }
.lux-tl { position: relative; max-width: 900px; margin: 0 auto; }
.lux-tl::before { content: ''; position: absolute; left: 50%; transform: translateX(-50%); top: 0; bottom: 0; width: 1px; background: var(--lux-border); }
.lux-tl-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5em; position: relative; }
.lux-tl-row:nth-child(even) { flex-direction: row-reverse; }
.lux-tl-box {
    width: 44%;
    background: var(--lux-dark2);
    border: 1px solid var(--lux-border);
    padding: 2.5em;
    transition: border-color 0.3s;
}
.lux-tl-box:hover  { border-color: var(--lux-gold); }
.lux-tl-year { font-family: 'Cormorant Garamond', serif; font-size: 3em; font-weight: 700; color: var(--lux-gold); line-height: 1; margin-bottom: 0.3em; }
.lux-tl-box h4 { font-family: 'Cormorant Garamond', serif; font-size: 1.4em; font-weight: 600; color: var(--lux-white); margin-bottom: 0.6em; }
.lux-tl-box p  { font-size: 0.88em; color: rgba(255,255,255,0.5); line-height: 1.8; font-weight: 300; }
.lux-tl-dot {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 20px; height: 20px;
    border-radius: 50%;
    background: var(--lux-gold);
    border: 4px solid var(--lux-dark);
    box-shadow: 0 0 0 4px rgba(201,169,110,0.2);
}

/* ══════════════════════════════════════════════════════════════
   CONTACT PAGE
   ══════════════════════════════════════════════════════════════ */

.lux-contact        { padding: 7em 0; }
.lux-contact-header { text-align: center; margin-bottom: 5em; }
.lux-contact-header .lux-label { justify-content: center; }
.lux-contact-header p { color: var(--lux-gray); font-weight: 300; max-width: 600px; margin: 0 auto; line-height: 1.9; }
.lux-contact-layout {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 4em;
    align-items: start;
}

/* Contact form */
.lux-form-wrap {
    background: var(--lux-white);
    border: 1px solid var(--lux-border);
    padding: 4em;
    position: relative;
}
.lux-form-wrap::before { content: ''; position: absolute; top: -1px; left: 0; width: 60px; height: 3px; background: var(--lux-gold); }
.lux-form-title    { font-family: 'Cormorant Garamond', serif; font-size: 2.2em; font-weight: 400; color: var(--lux-black); margin-bottom: 0.3em; }
.lux-form-subtitle { color: var(--lux-gray); font-size: 0.9em; font-weight: 300; line-height: 1.7; margin-bottom: 2.5em; }
.lux-field         { margin-bottom: 2em; }
.lux-field-label {
    display: flex;
    align-items: center;
    gap: 0.6em;
    font-size: 0.78em;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #3a3028;
    margin-bottom: 0.8em;
}
.lux-field-label i { color: var(--lux-gold); font-size: 0.95em; }
.lux-field input,
.lux-field textarea {
    width: 100%;
    padding: 1.1em 1.3em;
    border: 1px solid var(--lux-border);
    background: var(--lux-cream);
    font-family: 'Montserrat', sans-serif;
    font-size: 0.95em;
    color: #2a2218;
    transition: border-color 0.3s, background 0.3s, box-shadow 0.3s;
    outline: none;
    appearance: none;
}
.lux-field input:focus,
.lux-field textarea:focus {
    border-color: var(--lux-gold);
    background: var(--lux-white);
    box-shadow: 0 0 0 3px rgba(201,169,110,0.12);
}
.lux-field input::placeholder,
.lux-field textarea::placeholder { color: rgba(122,112,104,0.55); font-weight: 300; }
.lux-field textarea { min-height: 160px; resize: vertical; }
.lux-submit { width: 100%; justify-content: center; font-size: 0.82em; padding: 1.2em; margin-top: 0.5em; }

/* Contact info sidebar */
.lux-info-wrap       { display: flex; flex-direction: column; gap: 2em; }
.lux-info-panel      { background: var(--lux-dark); border: 1px solid var(--lux-border); padding: 3em; }
.lux-info-panel-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.8em;
    font-weight: 400;
    color: var(--lux-white);
    margin-bottom: 2em;
    display: flex;
    align-items: center;
    gap: 0.6em;
}
.lux-info-panel-title i { color: var(--lux-gold); font-size: 0.8em; }
.lux-info-item {
    display: flex;
    gap: 1.5em;
    padding-bottom: 2em;
    margin-bottom: 2em;
    border-bottom: 1px solid var(--lux-border);
}
.lux-info-item:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
.lux-info-icon {
    width: 46px; height: 46px;
    border: 1px solid var(--lux-border);
    display: flex; align-items: center; justify-content: center;
    color: var(--lux-gold);
    font-size: 1.1em;
    flex-shrink: 0;
}
.lux-info-text h4  { font-size: 0.72em; letter-spacing: 2px; text-transform: uppercase; color: var(--lux-gold); font-weight: 600; margin-bottom: 0.5em; }
.lux-info-text p,
.lux-info-text a   { font-size: 0.9em; color: rgba(255,255,255,0.65); line-height: 1.7; font-weight: 300; text-decoration: none; }
.lux-info-text a:hover { color: var(--lux-gold); }

/* Map panel */
.lux-map-panel   { background: var(--lux-white); border: 1px solid var(--lux-border); overflow: hidden; }
.lux-map-label   { padding: 1.2em 2em; border-bottom: 1px solid var(--lux-border); display: flex; align-items: center; gap: 0.7em; font-size: 0.75em; letter-spacing: 2px; text-transform: uppercase; color: var(--lux-gray); font-weight: 600; }
.lux-map-label i { color: var(--lux-gold); }
.lux-map-panel iframe { width: 100%; height: 260px; border: none; display: block; }

/* FAQ */
.lux-faq        { background: var(--lux-dark); padding: 7em 0; }
.lux-faq-inner  { max-width: 1280px; margin: 0 auto; padding: 0 2em; }
.lux-faq-header { text-align: center; margin-bottom: 4em; }
.lux-faq-header p { color: rgba(255,255,255,0.5); font-weight: 300; }
.lux-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
    background: var(--lux-border);
}
.lux-faq-item {
    background: var(--lux-dark2);
    padding: 2.5em;
    transition: background 0.3s;
    border-left: 3px solid transparent;
}
.lux-faq-item:hover { background: rgba(201,169,110,0.04); border-left-color: var(--lux-gold); }
.lux-faq-q {
    display: flex;
    align-items: center;
    gap: 0.8em;
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25em;
    font-weight: 600;
    color: var(--lux-white);
    margin-bottom: 0.8em;
}
.lux-faq-q i { color: var(--lux-gold); font-size: 0.75em; flex-shrink: 0; }
.lux-faq-a   { font-size: 0.88em; color: rgba(255,255,255,0.5); line-height: 1.8; font-weight: 300; }

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
    /* Stats */
    .lux-stats { grid-template-columns: repeat(2, 1fr); }
    .lux-stat  { border-bottom: 1px solid var(--lux-border); }

    /* Home */
    .lux-intro          { grid-template-columns: 1fr; gap: 3em; }
    .lux-intro-img-frame { display: none; }
    .lux-benefits-header { grid-template-columns: 1fr; }
    .lux-benefits-grid  { grid-template-columns: repeat(2, 1fr); }
    .lux-steps          { grid-template-columns: repeat(2, 1fr); }
    .lux-step           { border-bottom: 1px solid var(--lux-border); }
    .lux-testimonials-grid { grid-template-columns: 1fr; }

    /* Plans */
    .lux-why-grid        { grid-template-columns: 1fr 1fr; }
    .lux-pricing-grid    { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
    .lux-plan-card.featured { transform: none; }

    /* Progress */
    .lux-metrics-grid  { grid-template-columns: repeat(2, 1fr); }
    .lux-goals-layout  { grid-template-columns: 1fr; gap: 3em; }
    .lux-badges-grid   { grid-template-columns: repeat(3, 1fr); }

    /* About */
    .lux-story-layout  { grid-template-columns: 1fr; gap: 3em; }
    .lux-story-img-border { display: none; }
    .lux-values-grid   { grid-template-columns: repeat(2, 1fr); }
    .lux-team-grid     { grid-template-columns: 1fr 1fr; }

    /* Contact */
    .lux-contact-layout { grid-template-columns: 1fr; }
    .lux-faq-grid       { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    /* Mobile nav */
    .lux-nav ul {
        display: none;
        flex-direction: column;
        position: fixed;
        top: 0; right: 0;
        width: 280px;
        height: 100vh;
        background: var(--lux-dark);
        padding: 5em 2em 2em;
        gap: 1.5em;
        z-index: 999;
        transform: translateX(100%);
        transition: transform 0.3s;
    }
    .lux-nav ul.active { display: flex; transform: translateX(0); }
    .nav-toggle        { display: block; }

    /* Hero */
    .lux-hero h1     { font-size: clamp(2.2em, 8vw, 3.5em); }
    .lux-hero-sub    { font-size: 0.92em; }

    /* Grids → single column */
    .lux-benefits-grid,
    .lux-why-grid,
    .lux-values-grid,
    .lux-team-grid,
    .lux-testimonials-grid { grid-template-columns: 1fr; }

    /* Steps */
    .lux-steps { grid-template-columns: 1fr; }
    .lux-step  { border-right: none; }

    /* Badges */
    .lux-badges-grid { grid-template-columns: repeat(2, 1fr); }

    /* Metrics */
    .lux-metrics-grid { grid-template-columns: 1fr 1fr; }

    /* Insight box */
    .lux-insight-box { padding: 3em 2em; }

    /* Form */
    .lux-form-wrap { padding: 2.5em 1.8em; }

    /* About timeline */
    .lux-tl::before { left: 20px; }
    .lux-tl-row     { flex-direction: column !important; gap: 1.5em; }
    .lux-tl-box     { width: 100%; margin-left: 3em; }
    .lux-tl-dot     { left: 20px; }

    /* Story */
    .lux-story-img { height: 350px; }

    /* Footer */
    .lux-footer-inner { flex-direction: column; align-items: flex-start; }
    .lux-footer-links { gap: 1.2em; }
}

@media (max-width: 480px) {
    .lux-stats        { grid-template-columns: 1fr; }
    .lux-badges-grid  { grid-template-columns: repeat(2, 1fr); }
    .lux-metrics-grid { grid-template-columns: 1fr; }
    .lux-hero-scroll  { display: none; }
    .lux-hero-number  { display: none; }
    .lux-btn-outline  { display: none; }
}

/* ══════════════════════════════════════════════════════════════
   THANK YOU PAGE
   ══════════════════════════════════════════════════════════════ */

.page-thankyou .lux-hero     { min-height: 100vh; align-items: center; justify-content: center; }
.page-thankyou .lux-hero-bg  { background-image: url('../images_20260523_122154/img2.webp'); opacity: 0.1; }
.page-thankyou .lux-hero-inner { text-align: center; display: flex; flex-direction: column; align-items: center; }

.ty-check {
    width: 110px; height: 110px;
    border-radius: 50%;
    background: var(--lux-gold);
    display: flex; align-items: center; justify-content: center;
    font-size: 3em;
    color: var(--lux-black);
    margin: 0 auto 1.5em;
    animation: ty-pop 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
    box-shadow: 0 0 0 20px rgba(201,169,110,0.08), 0 0 0 40px rgba(201,169,110,0.04);
}
@keyframes ty-pop {
    from { transform: scale(0) rotate(-15deg); opacity: 0; }
    to   { transform: scale(1) rotate(0deg);  opacity: 1; }
}
.ty-label {
    font-size: 0.74em;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--lux-gold);
    margin-bottom: 1em;
    display: flex;
    align-items: center;
    gap: 0.8em;
}
.ty-label::before, .ty-label::after {
    content: '';
    display: block;
    width: 30px; height: 1px;
    background: var(--lux-gold);
    opacity: 0.4;
}
.ty-heading {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(3em, 7vw, 6em);
    font-weight: 300;
    color: var(--lux-white);
    line-height: 1.05;
    margin-bottom: 0.5em;
    letter-spacing: -1px;
}
.ty-heading em { font-style: italic; color: var(--lux-gold); }
.ty-sub {
    font-size: 1em;
    color: rgba(255,255,255,0.55);
    max-width: 520px;
    line-height: 1.9;
    font-weight: 300;
    margin-bottom: 2.5em;
}
.ty-actions { display: flex; gap: 1em; flex-wrap: wrap; justify-content: center; margin-bottom: 3em; }
.ty-meta {
    display: flex;
    align-items: center;
    gap: 2.5em;
    font-size: 0.78em;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.3);
    padding-top: 2.5em;
    border-top: 1px solid var(--lux-border);
    flex-wrap: wrap;
    justify-content: center;
}
.ty-meta span { display: flex; align-items: center; gap: 0.6em; }
.ty-meta i    { color: var(--lux-gold); }

/* What's next cards */
.ty-next { padding: 7em 0; }
.ty-next-header { text-align: center; margin-bottom: 4em; }
.ty-next-header h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.2em, 4vw, 3.5em); font-weight: 400; color: var(--lux-black); margin-bottom: 0.4em; }
.ty-next-header p  { color: var(--lux-gray); font-weight: 300; }
.ty-next-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--lux-border); }
.ty-next-card {
    background: var(--lux-white);
    padding: 3em 2.5em;
    position: relative;
    overflow: hidden;
    transition: background 0.3s;
}
.ty-next-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--lux-gold-dark), var(--lux-gold-light)); transform: scaleX(0); transform-origin: left; transition: transform 0.4s; }
.ty-next-card:hover { background: #fdfaf5; }
.ty-next-card:hover::before { transform: scaleX(1); }
.ty-next-num  { font-family: 'Cormorant Garamond', serif; font-size: 5em; font-weight: 700; color: rgba(201,169,110,0.12); line-height: 1; margin-bottom: 0.5em; }
.ty-next-icon { font-size: 2em; color: var(--lux-gold); margin-bottom: 1em; }
.ty-next-card h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.5em; font-weight: 600; color: var(--lux-black); margin-bottom: 0.8em; }
.ty-next-card p  { color: var(--lux-gray); line-height: 1.8; font-size: 0.92em; font-weight: 300; }

/* Resources strip (dark) */
.ty-resources { background: var(--lux-dark); padding: 6em 0; }
.ty-resources-inner { max-width: 1280px; margin: 0 auto; padding: 0 2em; }
.ty-resources-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2em; }
.ty-resource-card {
    border: 1px solid var(--lux-border);
    padding: 2.5em;
    transition: border-color 0.3s;
    text-decoration: none;
    display: block;
}
.ty-resource-card:hover { border-color: var(--lux-gold); }
.ty-resource-card i    { font-size: 2em; color: var(--lux-gold); margin-bottom: 1em; display: block; }
.ty-resource-card h4   { font-family: 'Cormorant Garamond', serif; font-size: 1.4em; font-weight: 600; color: var(--lux-white); margin-bottom: 0.6em; }
.ty-resource-card p    { font-size: 0.88em; color: rgba(255,255,255,0.45); line-height: 1.7; font-weight: 300; }

/* ══════════════════════════════════════════════════════════════
   POLICY PAGES (Privacy, Terms, Cookies, Return)
   ══════════════════════════════════════════════════════════════ */

.page-policy .lux-hero      { min-height: 55vh; }
.page-policy .lux-hero-bg   { background-image: url('../images_20260523_122154/img4.webp'); opacity: 0.1; }
.page-policy .lux-hero-inner { text-align: center; }
.page-policy .lux-hero-sub  { margin-left: auto; margin-right: auto; max-width: 600px; }

/* Policy wrapper */
.lux-policy { padding: 6em 0; }
.lux-policy-wrap { max-width: 920px; margin: 0 auto; }

/* Meta bar */
.lux-policy-meta {
    display: flex;
    align-items: center;
    gap: 2em;
    padding: 1.4em 2em;
    background: var(--lux-dark);
    border: 1px solid var(--lux-border);
    margin-bottom: 4em;
    flex-wrap: wrap;
}
.lux-policy-meta-item {
    display: flex;
    align-items: center;
    gap: 0.7em;
    font-size: 0.76em;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
}
.lux-policy-meta-item i      { color: var(--lux-gold); }
.lux-policy-meta-item strong { color: rgba(255,255,255,0.75); }

/* Table of contents */
.policy-toc {
    background: var(--lux-white);
    border: 1px solid var(--lux-border);
    padding: 2.5em;
    margin-bottom: 4em;
    position: relative;
}
.policy-toc::before { content: ''; position: absolute; top: -1px; left: 0; width: 50px; height: 3px; background: var(--lux-gold); }
.policy-toc-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4em;
    font-weight: 600;
    color: var(--lux-black);
    margin-bottom: 1.5em;
    display: flex;
    align-items: center;
    gap: 0.7em;
}
.policy-toc-title i { color: var(--lux-gold); }
.policy-toc ol { list-style: none; columns: 2; gap: 2em; }
.policy-toc ol li { margin-bottom: 0.8em; break-inside: avoid; }
.policy-toc ol li a {
    font-size: 0.88em;
    color: var(--lux-gray);
    text-decoration: none;
    display: flex;
    align-items: baseline;
    gap: 0.8em;
    padding: 0.3em 0;
    border-bottom: 1px solid transparent;
    transition: color 0.3s, border-color 0.3s;
}
.policy-toc ol li a:hover { color: var(--lux-gold); border-bottom-color: rgba(201,169,110,0.3); }
.toc-num {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.1em;
    font-weight: 700;
    color: var(--lux-gold);
    min-width: 1.8em;
    flex-shrink: 0;
}

/* Policy sections */
.policy-section {
    margin-bottom: 4.5em;
    scroll-margin-top: 100px;
}
.policy-section-head {
    display: flex;
    align-items: flex-start;
    gap: 1.5em;
    margin-bottom: 2em;
    padding-bottom: 1.5em;
    border-bottom: 1px solid var(--lux-border);
}
.policy-section-num {
    font-family: 'Cormorant Garamond', serif;
    font-size: 4.5em;
    font-weight: 700;
    color: rgba(201,169,110,0.18);
    line-height: 0.85;
    flex-shrink: 0;
    min-width: 1.4em;
}
.policy-section-meta {}
.policy-section-icon {
    width: 42px; height: 42px;
    border: 1px solid var(--lux-border);
    display: flex; align-items: center; justify-content: center;
    color: var(--lux-gold);
    font-size: 1em;
    margin-bottom: 0.8em;
    flex-shrink: 0;
}
.policy-section h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.9em;
    font-weight: 600;
    color: var(--lux-black);
    line-height: 1.2;
}

/* Policy body text */
.policy-body { color: var(--lux-gray); line-height: 1.9; font-size: 0.95em; font-weight: 300; }
.policy-body p             { margin-bottom: 1.3em; }
.policy-body p:last-child  { margin-bottom: 0; }
.policy-body ul, .policy-body ol { margin: 1em 0 1.3em 1.5em; display: flex; flex-direction: column; gap: 0.5em; }
.policy-body li            { line-height: 1.8; }
.policy-body strong        { color: #3a3028; font-weight: 600; }
.policy-body a             { color: var(--lux-gold-dark); }
.policy-body a:hover       { color: var(--lux-gold); }

/* Callout box */
.policy-callout {
    background: var(--lux-dark);
    border-left: 3px solid var(--lux-gold);
    padding: 2em 2.5em;
    margin: 2em 0;
    position: relative;
}
.policy-callout-icon {
    display: inline-flex;
    align-items: center;
    gap: 0.6em;
    font-size: 0.75em;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--lux-gold);
    margin-bottom: 0.8em;
}
.policy-callout p      { color: rgba(255,255,255,0.65); font-size: 0.92em; line-height: 1.8; font-weight: 300; margin: 0; }
.policy-callout strong { color: rgba(255,255,255,0.88); }

/* Highlight panel */
.policy-highlight {
    background: rgba(201,169,110,0.05);
    border: 1px solid var(--lux-border);
    padding: 2em 2.5em;
    margin: 2em 0;
}
.policy-highlight p { color: var(--lux-gray); font-size: 0.93em; line-height: 1.9; margin: 0; font-style: italic; }

/* Info cards grid (2-col) */
.policy-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5em; margin: 2em 0; }
.policy-grid-card {
    background: var(--lux-white);
    border: 1px solid var(--lux-border);
    padding: 2em;
    position: relative;
    overflow: hidden;
    transition: border-color 0.3s;
}
.policy-grid-card::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: var(--lux-gold); transition: width 0.4s; }
.policy-grid-card:hover  { border-color: var(--lux-gold); }
.policy-grid-card:hover::after { width: 100%; }
.policy-grid-card h4 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.3em;
    font-weight: 600;
    color: var(--lux-black);
    margin-bottom: 0.8em;
    display: flex;
    align-items: center;
    gap: 0.7em;
}
.policy-grid-card h4 i { color: var(--lux-gold); font-size: 0.85em; }
.policy-grid-card p { color: var(--lux-gray); font-size: 0.88em; line-height: 1.8; font-weight: 300; margin: 0; }

/* Section divider */
.policy-divider { display: flex; align-items: center; gap: 2em; margin: 4em 0; }
.policy-divider-line { flex: 1; height: 1px; background: var(--lux-border); }
.policy-divider i { color: var(--lux-gold); font-size: 0.85em; }

/* Policy table */
.policy-table-wrap { overflow-x: auto; margin: 2em 0; }
.policy-table { width: 100%; border-collapse: collapse; }
.policy-table th {
    background: var(--lux-dark);
    color: var(--lux-gold);
    padding: 1em 1.5em;
    text-align: left;
    font-size: 0.74em;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 600;
    border-bottom: 1px solid var(--lux-border);
}
.policy-table td {
    padding: 1.1em 1.5em;
    border-bottom: 1px solid rgba(201,169,110,0.12);
    font-size: 0.9em;
    color: var(--lux-gray);
    vertical-align: top;
    line-height: 1.7;
}
.policy-table tr:hover td { background: rgba(201,169,110,0.03); }
.policy-table td:first-child { font-weight: 600; color: #3a3028; }

/* Cookie type cards */
.cookie-types { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5em; margin: 2em 0; }
.cookie-type-card {
    background: var(--lux-white);
    border: 1px solid var(--lux-border);
    padding: 2.5em;
    position: relative;
    transition: border-color 0.3s, transform 0.3s;
}
.cookie-type-card::before { content: ''; position: absolute; top: -1px; left: 0; width: 40px; height: 3px; background: var(--lux-gold); }
.cookie-type-card:hover   { border-color: var(--lux-gold); transform: translateY(-4px); }
.cookie-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.35em 1em;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 1.2em;
}
.cookie-badge.essential   { background: rgba(201,169,110,0.12); color: var(--lux-gold-dark); }
.cookie-badge.analytics   { background: rgba(74,144,226,0.1);  color: #4a90e2; }
.cookie-badge.preference  { background: rgba(80,200,120,0.1);  color: #3aab6b; }
.cookie-badge.marketing   { background: rgba(231,76,60,0.1);   color: #e74c3c; }
.cookie-type-card h4 { font-family: 'Cormorant Garamond', serif; font-size: 1.35em; font-weight: 600; color: var(--lux-black); margin-bottom: 0.7em; }
.cookie-type-card p  { color: var(--lux-gray); font-size: 0.88em; line-height: 1.8; font-weight: 300; margin: 0; }

/* Return steps */
.return-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; background: var(--lux-border); margin: 2em 0; }
.return-step { background: var(--lux-white); padding: 3em 2em; text-align: center; transition: background 0.3s; }
.return-step:hover { background: #fdfaf5; }
.return-step-num  { font-family: 'Cormorant Garamond', serif; font-size: 4em; font-weight: 700; color: rgba(201,169,110,0.15); line-height: 1; margin-bottom: 0.5em; }
.return-step-icon { font-size: 2em; color: var(--lux-gold); margin-bottom: 1em; }
.return-step h4   { font-family: 'Cormorant Garamond', serif; font-size: 1.3em; font-weight: 600; color: var(--lux-black); margin-bottom: 0.7em; }
.return-step p    { color: var(--lux-gray); font-size: 0.88em; line-height: 1.8; font-weight: 300; }

/* policy-meta-item (alias without lux- prefix) */
.policy-meta-item {
    display: flex;
    align-items: center;
    gap: 0.7em;
    font-size: 0.76em;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
}
.policy-meta-item i      { color: var(--lux-gold); }
.policy-meta-item strong { color: rgba(255,255,255,0.75); }

/* Policy section subtitle */
.policy-section-sub {
    font-size: 0.8em;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--lux-gray);
    margin: 0.2em 0 0;
}

/* Policy TOC header */
.policy-toc-header { margin-bottom: 1.5em; }
.policy-toc-header h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.6em;
    font-weight: 600;
    color: var(--lux-black);
    margin: 0.3em 0 0;
}

/* Bulleted list inside policy body */
.policy-list {
    list-style: none;
    margin: 1.2em 0 1.5em;
    display: flex;
    flex-direction: column;
    gap: 0.7em;
    padding: 0;
}
.policy-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.8em;
    font-size: 0.93em;
    color: var(--lux-gray);
    line-height: 1.8;
    padding-left: 1.2em;
    position: relative;
}
.policy-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 5px;
    height: 5px;
    background: var(--lux-gold);
    transform: rotate(45deg);
    flex-shrink: 0;
}
.policy-list li strong { color: #3a3028; font-weight: 600; }

/* Highlight panel grid (4-up) */
.policy-highlight-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5em;
}
.policy-highlight-item {
    display: flex;
    align-items: flex-start;
    gap: 1.2em;
}
.policy-highlight-item > i {
    font-size: 1.5em;
    color: var(--lux-gold);
    flex-shrink: 0;
    margin-top: 0.1em;
}
.policy-highlight-item strong {
    display: block;
    font-size: 0.9em;
    font-weight: 600;
    color: var(--lux-black);
    margin-bottom: 0.4em;
}
.policy-highlight-item p {
    font-size: 0.85em;
    color: var(--lux-gray);
    line-height: 1.8;
    margin: 0;
    font-style: normal;
}

/* FAQ accordion-style */
.policy-faq { display: flex; flex-direction: column; gap: 0; }
.policy-faq-item {
    border: 1px solid var(--lux-border);
    border-bottom: none;
    padding: 1.8em 2em;
    transition: background 0.3s;
}
.policy-faq-item:last-child { border-bottom: 1px solid var(--lux-border); }
.policy-faq-item:hover { background: rgba(201,169,110,0.03); }
.policy-faq-q {
    font-size: 0.92em;
    font-weight: 600;
    color: var(--lux-black);
    margin-bottom: 0.9em;
    display: flex;
    align-items: flex-start;
    gap: 0.7em;
}
.policy-faq-q i { color: var(--lux-gold); flex-shrink: 0; margin-top: 0.2em; }
.policy-faq-item > p {
    font-size: 0.88em;
    color: var(--lux-gray);
    line-height: 1.85;
    font-weight: 300;
    margin: 0;
    padding-left: 1.5em;
}

/* Return step card (full variant with detail line) */
.return-step-card {
    background: var(--lux-white);
    padding: 3em 2em;
    text-align: center;
    transition: background 0.3s;
    position: relative;
}
.return-step-card:hover { background: #fdfaf5; }
.return-step-card .return-step-num  {
    font-family: 'Cormorant Garamond', serif;
    font-size: 4em;
    font-weight: 700;
    color: rgba(201,169,110,0.15);
    line-height: 1;
    margin-bottom: 0.5em;
}
.return-step-card .return-step-icon { font-size: 2em; color: var(--lux-gold); margin-bottom: 1em; }
.return-step-card h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4em;
    font-weight: 600;
    color: var(--lux-black);
    margin-bottom: 0.8em;
}
.return-step-card p   { color: var(--lux-gray); font-size: 0.87em; line-height: 1.8; font-weight: 300; margin-bottom: 1.2em; }
.return-step-card a   { color: var(--lux-gold-dark); }
.return-step-detail {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--lux-gold);
    background: rgba(201,169,110,0.08);
    padding: 0.4em 1em;
    margin-top: 0.5em;
}

/* Policy responsive */
@media (max-width: 768px) {
    .policy-toc ol          { columns: 1; }
    .policy-grid            { grid-template-columns: 1fr; }
    .policy-highlight-grid  { grid-template-columns: 1fr; }
    .policy-section-num     { font-size: 3em; }
    .ty-next-grid           { grid-template-columns: 1fr; }
    .ty-resources-grid      { grid-template-columns: 1fr; }
    .cookie-types           { grid-template-columns: 1fr; }
    .return-steps           { grid-template-columns: 1fr; }
    .lux-policy-meta        { gap: 1em; }
}
