:root {
    --font-display: 'Cormorant Garamond', Georgia, serif;
    --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --bg-color: #0a0a08;
    --text-primary: #f0ebe3;
    --text-secondary: #8a8578;
    --accent-gold: #c9a84c;
    --accent-gold-light: #e4cc7a;
    --accent-cream: #f0ebe3;
    --accent-rose: #b85c5c;
    --neon-glow: rgba(201,168,76,0.45);
    --neon-glow-alt: rgba(184,92,92,0.45);
    --glass-bg: rgba(18,17,14,0.78);
    --glass-border: rgba(201,168,76,0.12);
    --glass-shadow: 0 8px 32px 0 rgba(0,0,0,0.8);
    --overlay: rgba(10,10,8,0.84);
    --success: #7fb069;
    --error: #c44040;
    --apple-ease: cubic-bezier(0.25,0.46,0.45,0.94);
    --spring: cubic-bezier(0.175,0.885,0.32,1.275);
    --nav-bg: rgba(10,10,8,0.92);
    --card-hover: rgba(201,168,76,0.04);
    --marble-light: #f5f0e8;
    --safe-bottom: env(safe-area-inset-bottom, 0px);
}
[data-theme="light"] {
    --bg-color: #f5f0e8;
    --text-primary: #1a1814;
    --text-secondary: #6b6560;
    --glass-bg: rgba(245,240,232,0.92);
    --glass-border: rgba(201,168,76,0.18);
    --glass-shadow: 0 8px 32px rgba(0,0,0,0.08);
    --overlay: rgba(245,240,232,0.82);
    --nav-bg: rgba(245,240,232,0.94);
    --card-hover: rgba(201,168,76,0.06);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body,html{width:100%;min-height:100vh;font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-color);overflow-x:clip;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent;}
a{color:inherit;text-decoration:none;}

/* BACKGROUND */
.bg-container{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-3;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(201,168,76,0.03) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(184,92,92,0.02) 0%, transparent 50%),
        var(--bg-color);
}
.bg-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-2;pointer-events:none;}

.bg-greek{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-1;pointer-events:none;overflow:hidden;}
.greek-char{position:absolute;font-family:var(--font-display);color:var(--accent-gold);opacity:0.03;font-weight:300;user-select:none;}
.greek-char-1{font-size:28vw;top:-8%;right:-5%;transform:rotate(-12deg);}
.greek-char-2{font-size:18vw;bottom:-4%;left:-3%;transform:rotate(8deg);}
.greek-char-3{font-size:12vw;top:35%;left:50%;transform:rotate(-5deg);}
.greek-char-4{font-size:8vw;top:15%;left:15%;transform:rotate(15deg);opacity:0.025;}
.greek-char-5{font-size:6vw;bottom:20%;right:10%;transform:rotate(-20deg);opacity:0.02;}
[data-theme="light"] .greek-char{color:#1a1814;}

.bg-grid{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;
    background-image:linear-gradient(rgba(201,168,76,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,0.02) 1px,transparent 1px);
    background-size:80px 80px;
}
[data-theme="light"] .bg-grid{background-image:linear-gradient(rgba(0,0,0,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,0.025) 1px,transparent 1px);}

.gold-line{position:fixed;background:linear-gradient(180deg,transparent,var(--accent-gold),transparent);opacity:0.04;z-index:-1;pointer-events:none;}
.gold-line-1{width:1px;height:100vh;top:0;left:20%;}
.gold-line-2{width:1px;height:100vh;top:0;right:20%;}

#particles{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:0;pointer-events:none;}
.particle{position:absolute;border-radius:50%;background:var(--accent-gold);box-shadow:0 0 6px var(--accent-gold);opacity:0;animation:floatUp 14s infinite linear;}
@keyframes floatUp{0%{transform:translateY(100vh) scale(0);opacity:0;}10%{opacity:0.15;}90%{opacity:0.15;}100%{transform:translateY(-100px) scale(1.5);opacity:0;}}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 0.8s var(--apple-ease),transform 0.8s var(--apple-ease);will-change:transform,opacity;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:0.1s;}.reveal-delay-2{transition-delay:0.2s;}.reveal-delay-3{transition-delay:0.35s;}.reveal-delay-4{transition-delay:0.5s;}

/* TYPOGRAPHY */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-0.02em;}
h1{font-size:clamp(3rem,6vw,5.5rem);line-height:1.05;margin-bottom:1.2rem;}
h2{font-size:clamp(2rem,3.2vw,3rem);margin-bottom:1.5rem;}
p{font-size:0.95rem;line-height:1.7;color:var(--text-secondary);}
.animated-word{display:inline-block;opacity:0;transform:translateY(20px) rotateX(15deg);animation:wordReveal 0.7s var(--apple-ease) forwards;}
@keyframes wordReveal{to{opacity:1;transform:translateY(0) rotateX(0deg);}}

/* NAV */
nav{display:flex;justify-content:space-between;align-items:center;padding:0 5%;height:64px;position:fixed;top:0;width:100%;z-index:999;background:var(--nav-bg);border-bottom:1px solid var(--glass-border);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transition:top 0.4s var(--apple-ease);}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nav-wm{font-family:var(--font-display);font-size:1.55rem;font-weight:700;color:var(--accent-gold);letter-spacing:-0.04em;text-shadow:0 0 18px var(--neon-glow);}
.nav-wm em{font-weight:300;opacity:0.6;font-style:normal;}
.nav-sep{width:1px;height:20px;background:var(--glass-border);}
.nav-badge{display:flex;align-items:center;gap:5px;font-size:0.63rem;font-weight:700;font-family:var(--font-body);background:rgba(201,168,76,0.08);border:1px solid rgba(201,168,76,0.25);padding:3px 10px;border-radius:20px;color:var(--accent-gold);letter-spacing:0.08em;text-transform:uppercase;}
.nav-dot{width:6px;height:6px;background:var(--accent-gold);border-radius:50%;box-shadow:0 0 8px var(--accent-gold);animation:blink 2s infinite;}
.nav-r{display:flex;align-items:center;gap:5px;}
.np{padding:5px 11px;border-radius:20px;font-size:0.7rem;font-weight:600;cursor:pointer;transition:all 0.25s var(--apple-ease);border:1px solid var(--glass-border);background:transparent;color:var(--text-secondary);letter-spacing:0.02em;font-family:var(--font-body);text-decoration:none;white-space:nowrap;}
.np:hover{background:var(--glass-bg);color:var(--accent-gold);border-color:var(--accent-gold);}
.np-gold{border-color:rgba(201,168,76,0.3);color:var(--accent-gold);}
.np-gold:hover{background:rgba(201,168,76,0.1);}
.np-rose{border-color:rgba(184,92,92,0.26);color:var(--accent-rose);}
.np-rose:hover{background:rgba(184,92,92,0.08);border-color:var(--accent-rose);}
.np-active{border-color:var(--accent-gold);color:var(--accent-gold);background:rgba(201,168,76,0.08);}
.tbtn{background:none;border:1px solid var(--glass-border);color:var(--text-primary);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.9rem;transition:transform 0.3s ease,border-color 0.3s;}
.tbtn:hover{transform:scale(1.15) rotate(15deg);border-color:var(--accent-gold);}
.nav-auth-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 5px;border-radius:20px;font-size:0.7rem;font-weight:600;cursor:pointer;transition:all 0.25s var(--apple-ease);border:1px solid rgba(201,168,76,0.3);background:transparent;color:var(--accent-gold);letter-spacing:0.02em;font-family:var(--font-body);white-space:nowrap;}
.nav-auth-pill:hover{background:rgba(201,168,76,0.1);border-color:var(--accent-gold);}
.nav-auth-avatar{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--accent-gold);object-fit:cover;display:none;}
@keyframes blink{from{opacity:0.5;}to{opacity:1;}}

/* HAMBURGER — hidden on desktop */
.hamburger{display:none;background:none;border:1px solid var(--glass-border);color:var(--text-primary);width:40px;height:40px;border-radius:12px;cursor:pointer;align-items:center;justify-content:center;font-size:1.1rem;transition:all 0.3s;}
@media(hover:hover){.hamburger:hover{border-color:var(--accent-gold);color:var(--accent-gold);}}
.nav-mobile-avatar{display:none;background:none;border:none;padding:0;cursor:pointer;}
.nav-mobile-signin{display:none;}
.nav-mobile-group{display:none;}

/* Mobile drawer — hidden on desktop */
.mobile-drawer{display:none;}
.drawer-backdrop{display:none;}

/* LAYOUT */
.container{max-width:1400px;margin:0 auto;padding:0 5%;}
.glass-panel{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;box-shadow:var(--glass-shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:2.5rem;transition:box-shadow 0.5s,border-color 0.3s;}
.glass-panel:hover{box-shadow:0 16px 48px rgba(0,0,0,0.7),0 0 30px rgba(201,168,76,0.06);}

/* STATS */
.stats-row{display:flex;gap:2rem;margin-bottom:2.5rem;flex-wrap:wrap;}
.stat-item{display:flex;flex-direction:column;}
.stat-number{font-size:2.2rem;font-weight:700;letter-spacing:-0.04em;color:var(--accent-gold);font-variant-numeric:tabular-nums;font-family:var(--font-display);}
.stat-label{font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-secondary);}

.waitlist-bar{display:inline-flex;align-items:center;gap:10px;background:rgba(201,168,76,0.06);border:1px solid rgba(201,168,76,0.2);padding:10px 20px;border-radius:50px;margin-bottom:2rem;box-shadow:0 0 20px rgba(201,168,76,0.1);}
.live-dot{width:10px;height:10px;background:var(--accent-gold);border-radius:50%;box-shadow:0 0 10px var(--accent-gold);animation:blink 1s infinite alternate;}
.waitlist-text{font-family:'Courier New',monospace;font-size:1rem;font-weight:bold;color:var(--accent-gold);text-shadow:0 0 8px var(--neon-glow);}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0.9rem 2rem;border-radius:50px;font-weight:600;font-size:0.95rem;cursor:pointer;transition:all 0.35s var(--spring);border:none;background:var(--accent-gold);color:#0a0a08;box-shadow:0 0 20px var(--neon-glow);letter-spacing:0.01em;font-family:var(--font-body);}
.btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 8px 30px var(--neon-glow),0 0 0 1px var(--accent-gold);}
.btn:active{transform:translateY(-1px) scale(0.97);}
.btn:disabled{opacity:0.4;cursor:not-allowed;transform:none;box-shadow:none;}
.btn-outline{background:transparent;border:1.5px solid rgba(201,168,76,0.2);color:var(--text-primary);box-shadow:none;}
.btn-outline:hover{background:rgba(201,168,76,0.06);box-shadow:none;border-color:var(--accent-gold);}
.btn-success{background:#7fb069;color:#fff;box-shadow:0 0 20px rgba(127,176,105,0.35);}
.btn-success:hover{box-shadow:0 8px 30px rgba(127,176,105,0.45);}

/* CONFIGURATOR */
.configurator-section{padding:7rem 0 4rem;min-height:100vh;display:flex;align-items:center;}
.grid-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start;}

.hero-statue{position:relative;margin-bottom:2rem;}
.hero-statue img{width:180px;height:auto;filter:drop-shadow(0 0 40px rgba(201,168,76,0.15));opacity:0.7;transition:opacity 0.5s;}
.hero-statue img:hover{opacity:0.9;}
[data-theme="light"] .hero-statue img{filter:drop-shadow(0 0 30px rgba(0,0,0,0.1));opacity:0.8;}

/* Progress */
.progress-container{position:relative;margin-bottom:2rem;width:100%;height:20px;}
.progress-line{position:absolute;top:50%;left:0;width:100%;height:2px;background:rgba(201,168,76,0.08);transform:translateY(-50%);z-index:1;}
.progress-fill{position:absolute;top:50%;left:0;width:0%;height:2px;background:linear-gradient(90deg,var(--accent-gold),var(--accent-rose));transform:translateY(-50%);z-index:2;transition:width 0.6s var(--apple-ease);box-shadow:0 0 12px var(--accent-gold);}
.step-indicator{display:flex;justify-content:space-between;position:relative;z-index:3;}
.step-dot{width:16px;height:16px;border-radius:50%;background:#1a1814;border:2px solid var(--text-secondary);transition:all 0.4s var(--spring);cursor:default;}
.step-dot.active{background:var(--accent-gold);border-color:var(--accent-gold);transform:scale(1.2);box-shadow:0 0 15px var(--neon-glow);}
[data-theme="light"] .step-dot{background:#ddd;}
.step-labels{display:flex;justify-content:space-between;margin-top:0.5rem;}
.step-label{font-size:0.65rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--text-secondary);transition:color 0.3s,opacity 0.3s;text-align:center;flex:1;opacity:0.5;}
.step-label.active{color:var(--accent-gold);opacity:1;}

/* Service Type Cards */
.service-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.7rem;margin-top:0.8rem;}
.service-type-card{border:1px solid var(--glass-border);border-radius:12px;padding:0.9rem 0.6rem;cursor:pointer;text-align:center;background:rgba(201,168,76,0.02);transition:all 0.3s var(--spring);}
.service-type-card:hover{border-color:var(--accent-gold);transform:translateY(-2px);background:var(--card-hover);}
.service-type-card.selected{border-color:var(--accent-gold);background:rgba(201,168,76,0.08);box-shadow:0 0 14px var(--neon-glow);}
.service-type-icon{display:block;font-size:1.4rem;margin-bottom:0.3rem;}
.service-type-label{font-size:0.78rem;font-weight:600;line-height:1.3;display:block;}

/* Character count */
.char-count{font-size:0.72rem;color:var(--text-secondary);text-align:right;margin-top:0.35rem;opacity:0.6;transition:opacity 0.3s,color 0.3s;}
.char-count.near-limit{opacity:1;color:var(--accent-gold);}
.char-count.at-limit{opacity:1;color:var(--error);}

.config-step{display:none;}
.config-step.active{display:block;animation:stepIn 0.45s var(--apple-ease) forwards;}
@keyframes stepIn{from{opacity:0;transform:translateX(30px);}to{opacity:1;transform:translateX(0);}}

/* Selection cards */
.selection-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;}
.select-card{border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem;cursor:pointer;text-align:center;background:rgba(201,168,76,0.02);transition:all 0.35s var(--spring);}
.select-card:hover{transform:translateY(-4px);border-color:var(--accent-gold);background:var(--card-hover);box-shadow:0 8px 24px rgba(0,0,0,0.4);}
.select-card.selected{border-color:var(--accent-gold);background:rgba(201,168,76,0.08);box-shadow:0 0 20px var(--neon-glow);}
.select-card h3{font-family:var(--font-display);font-size:1.3rem;}

/* Agent cards */
.agent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.8rem;margin-top:1.2rem;}
.agent-card{border:1px solid var(--glass-border);border-radius:14px;padding:1.1rem 0.8rem;cursor:pointer;text-align:center;background:rgba(201,168,76,0.02);transition:all 0.35s var(--spring);}
.agent-card:hover{border-color:var(--accent-rose);transform:translateY(-3px);background:var(--card-hover);}
.agent-card.selected{border-color:var(--accent-rose);background:rgba(184,92,92,0.1);box-shadow:0 0 18px var(--neon-glow-alt);}
.agent-emoji{font-size:2rem;margin-bottom:0.5rem;display:block;}
.agent-name{font-weight:700;font-size:1rem;letter-spacing:-0.02em;margin-bottom:0.3rem;font-family:var(--font-display);}
.agent-tag{font-size:0.7rem;color:var(--text-secondary);letter-spacing:0.08em;text-transform:uppercase;}

/* Location grid */
.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;margin-top:1rem;}
.location-card{border:1px solid var(--glass-border);border-radius:12px;padding:0.9rem 0.6rem;cursor:pointer;text-align:center;background:rgba(201,168,76,0.02);transition:all 0.3s var(--spring);font-weight:600;font-size:0.88rem;}
.location-card:hover{border-color:var(--accent-gold);transform:translateY(-2px);background:var(--card-hover);}
.location-card.selected{border-color:var(--accent-gold);background:rgba(201,168,76,0.08);box-shadow:0 0 14px var(--neon-glow);}
.location-card span{display:block;font-size:1.2rem;margin-bottom:0.3rem;}

/* Duration Slider */
.slider-section{margin-top:1.5rem;}
.slider-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.8rem;}
.slider-value-display{font-size:2.2rem;font-weight:700;letter-spacing:-0.04em;color:var(--accent-gold);text-shadow:0 0 12px var(--neon-glow);font-variant-numeric:tabular-nums;font-family:var(--font-display);}
.slider-price-hint{font-size:0.82rem;color:var(--text-secondary);}
input[type="range"]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;background:rgba(201,168,76,0.1);outline:none;cursor:pointer;}
[data-theme="light"] input[type="range"]{background:rgba(0,0,0,0.1);}
input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--accent-gold);cursor:pointer;box-shadow:0 0 14px var(--neon-glow);transition:transform 0.2s var(--spring);}
input[type="range"]::-webkit-slider-thumb:hover{transform:scale(1.25);}
.slider-ticks{display:flex;justify-content:space-between;margin-top:0.5rem;padding:0 2px;}
.slider-tick{font-size:0.72rem;color:var(--text-secondary);transition:color 0.2s;}
.slider-tick.active{color:var(--accent-gold);font-weight:700;}

/* Purchase Slider */
.purchase-slider-section{margin-top:2rem;padding:1.2rem;background:rgba(201,168,76,0.04);border:1px solid rgba(201,168,76,0.12);border-radius:16px;}
.purchase-slider-label{font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent-gold);margin-bottom:0.8rem;display:flex;align-items:center;gap:6px;}
.purchase-amount{font-size:2.6rem;font-weight:700;color:var(--accent-gold);font-family:var(--font-display);text-shadow:0 0 15px var(--neon-glow);font-variant-numeric:tabular-nums;text-align:center;margin:0.5rem 0;}
.purchase-note{font-size:0.78rem;color:var(--text-secondary);text-align:center;margin-top:0.3rem;}

/* Add-ons */
.addon-list{display:flex;flex-direction:column;gap:10px;margin-top:1rem;}
.addon-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:rgba(201,168,76,0.02);border:1px solid var(--glass-border);border-radius:12px;cursor:pointer;transition:0.3s;}
.addon-item:hover{border-color:var(--accent-rose);background:var(--card-hover);}
.addon-item.selected{border-color:var(--accent-rose);background:rgba(184,92,92,0.08);}

/* Form */
.form-group{margin-bottom:1.5rem;}
.form-group label{display:block;margin-bottom:0.5rem;font-weight:600;font-size:0.8rem;color:var(--text-secondary);letter-spacing:0.06em;text-transform:uppercase;}
.form-control{width:100%;padding:1rem;border-radius:12px;border:1px solid var(--glass-border);background:rgba(0,0,0,0.35);color:var(--text-primary);font-family:var(--font-body);font-size:0.95rem;transition:all 0.3s;}
[data-theme="light"] .form-control{background:rgba(255,255,255,0.7);}
.form-control::placeholder{color:rgba(138,133,120,0.5);}
.form-control:focus{outline:none;border-color:var(--accent-gold);box-shadow:0 0 15px rgba(201,168,76,0.15);}
.form-control.error{border-color:var(--error);box-shadow:0 0 10px rgba(196,64,64,0.2);}
textarea.form-control{resize:vertical;min-height:100px;}
::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer;}
[data-theme="light"] ::-webkit-calendar-picker-indicator{filter:none;}
.field-error{font-size:0.78rem;color:var(--error);margin-top:0.4rem;display:none;}
.field-error.show{display:block;animation:fadeIn 0.3s;}

/* ORDER SUMMARY */
.order-summary{background:rgba(201,168,76,0.04);border:1px solid rgba(201,168,76,0.12);border-radius:16px;padding:1rem 1.2rem;margin-bottom:1.5rem;display:none;}
.order-summary.visible{display:block;animation:fadeIn 0.4s var(--apple-ease);}
.summary-title{font-size:0.7rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-gold);margin-bottom:0.8rem;}
.summary-row{display:flex;justify-content:space-between;font-size:0.85rem;padding:0.3rem 0;border-bottom:1px solid rgba(201,168,76,0.05);}
.summary-row:last-child{border-bottom:none;}
.summary-row span:first-child{color:var(--text-secondary);}
.summary-row span:last-child{color:var(--text-primary);font-weight:600;}
.summary-row.tax-row span:last-child{color:var(--text-secondary);font-weight:400;}
.summary-row.total-row{margin-top:0.5rem;border-top:1px solid var(--glass-border);padding-top:0.5rem;}
.summary-row.total-row span:last-child{color:var(--accent-gold);font-size:1rem;font-weight:800;}

/* Config footer */
.config-footer{display:flex;justify-content:space-between;margin-top:2rem;align-items:center;border-top:1px solid var(--glass-border);padding-top:1.5rem;}
.price-display{font-size:2rem;font-weight:700;color:var(--accent-gold);text-shadow:0 0 15px var(--neon-glow);font-variant-numeric:tabular-nums;letter-spacing:-0.04em;transition:all 0.3s var(--apple-ease);font-family:var(--font-display);}
.price-tax-note{font-size:0.7rem;color:var(--text-secondary);margin-top:2px;}

.waitlist-badge{display:inline-flex;align-items:center;gap:4px;font-size:0.65rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;background:rgba(201,168,76,0.15);padding:2px 8px;border-radius:10px;margin-left:6px;color:var(--accent-gold);}

/* REVIEWS */
.reviews-section{padding:4rem 0;}
.reviews-wrapper{display:flex;gap:2rem;overflow-x:auto;padding:2rem 0;scroll-snap-type:x mandatory;scrollbar-width:none;}
.reviews-wrapper::-webkit-scrollbar{display:none;}
.review-card{min-width:300px;max-width:330px;scroll-snap-align:center;flex-shrink:0;display:flex;flex-direction:column;justify-content:space-between;}
.stars{color:var(--accent-gold);font-size:1rem;margin-bottom:0.8rem;}
.review-text{font-style:italic;margin-bottom:1.5rem;flex-grow:1;line-height:1.65;font-family:var(--font-display);font-size:1.05rem;}
.review-author{font-weight:700;font-size:0.8rem;text-transform:uppercase;color:var(--accent-rose);letter-spacing:0.06em;}
.review-location{font-size:0.72rem;color:var(--text-secondary);margin-top:2px;}

/* FAQ */
.faq-section{padding:4rem 0 8rem;}
.faq-search-wrap{position:relative;max-width:800px;margin-bottom:1.5rem;}
.faq-search{width:100%;padding:0.9rem 1.2rem 0.9rem 3rem;border-radius:50px;border:1px solid var(--glass-border);background:rgba(0,0,0,0.3);color:var(--text-primary);font-size:0.95rem;transition:0.3s;font-family:var(--font-body);}
[data-theme="light"] .faq-search{background:rgba(255,255,255,0.7);}
.faq-search:focus{outline:none;border-color:var(--accent-gold);box-shadow:0 0 15px rgba(201,168,76,0.12);}
.faq-search-icon{position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);opacity:0.4;pointer-events:none;color:var(--text-primary);}
details{background:rgba(201,168,76,0.02);border:1px solid var(--glass-border);border-radius:12px;margin-bottom:0.8rem;padding:1rem 1.5rem;transition:0.3s;}
[data-theme="light"] details{background:rgba(255,255,255,0.6);}
details:hover{border-color:rgba(201,168,76,0.3);}
summary{font-weight:600;cursor:pointer;outline:none;list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:1.1rem;}
summary::-webkit-details-marker{display:none;}
summary::after{content:'+';color:var(--accent-gold);font-size:1.5rem;transition:transform 0.3s;}
details[open] summary::after{content:'−';}
.faq-content{padding-top:1rem;color:var(--text-secondary);line-height:1.7;border-top:1px solid rgba(201,168,76,0.06);margin-top:1rem;}
.faq-no-results{display:none;padding:1.5rem;text-align:center;color:var(--text-secondary);}

/* FOOTER */
footer{padding:3rem 5%;text-align:center;border-top:1px solid var(--glass-border);background:rgba(10,10,8,0.85);backdrop-filter:blur(10px);}
[data-theme="light"] footer{background:rgba(245,240,232,0.85);}
.footer-greek{font-family:var(--font-display);font-size:1.8rem;color:var(--accent-gold);opacity:0.15;letter-spacing:0.5em;margin-bottom:1rem;}
.academic-clause{max-width:800px;margin:0 auto;font-size:0.78rem;opacity:0.5;line-height:1.6;}
.admin-trigger{cursor:default;opacity:0.06;transition:opacity 0.3s;display:inline-block;margin-top:1rem;font-family:monospace;font-size:0.72rem;}
.admin-trigger:hover{opacity:0.8;color:var(--accent-gold);}

/* TOASTS */
.toast-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;}
.toast{background:rgba(10,10,8,0.94);border-left:4px solid var(--accent-gold);color:var(--accent-cream);padding:14px 18px;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,0.6);font-size:0.86rem;transform:translateX(120%);transition:transform 0.45s var(--spring);backdrop-filter:blur(12px);max-width:290px;line-height:1.45;}
[data-theme="light"] .toast{background:rgba(255,255,255,0.95);color:#1a1814;box-shadow:0 4px 20px rgba(0,0,0,0.15);}
.toast.show{transform:translateX(0);}

/* MOBILE STICKY */
.mobile-sticky-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:998;background:rgba(10,10,8,0.96);border-top:1px solid rgba(201,168,76,0.2);padding:1rem 1.5rem;padding-bottom:calc(1rem + var(--safe-bottom));flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;}
[data-theme="light"] .mobile-sticky-bar{background:rgba(245,240,232,0.96);}
.mobile-sticky-price{font-size:1.4rem;font-weight:700;color:var(--accent-gold);letter-spacing:-0.04em;font-family:var(--font-display);}
.mobile-sticky-label{font-size:0.68rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.08em;}
/* Mobile sticky progress dots */
.mobile-sticky-dots{display:flex;gap:4px;margin-top:4px;}
.mobile-sticky-dots .m-dot{width:6px;height:6px;border-radius:50%;background:rgba(201,168,76,0.15);transition:all 0.3s;}
.mobile-sticky-dots .m-dot.active{background:var(--accent-gold);box-shadow:0 0 6px var(--neon-glow);}

.save-indicator{font-size:0.72rem;color:var(--success);letter-spacing:0.08em;text-transform:uppercase;opacity:0;transition:opacity 0.4s;position:absolute;top:1.2rem;right:1.5rem;}
.save-indicator.show{opacity:1;}

/* MODALS */
.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.88);z-index:2000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.4s ease,visibility 0s 0.4s;}
.modal-overlay.active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 0.4s ease,visibility 0s 0s;}
.modal-content{max-width:520px;width:92%;position:relative;transform:scale(0.92) translateY(20px);transition:transform 0.4s var(--spring),opacity 0.4s;opacity:0;max-height:90vh;overflow-y:auto;}
.modal-overlay.active .modal-content{transform:scale(1) translateY(0);opacity:1;}
.modal-close{position:absolute;top:1.2rem;right:1.5rem;font-size:1.8rem;cursor:pointer;background:none;border:none;color:var(--text-primary);transition:color 0.3s,transform 0.3s;z-index:1;}
.modal-close:hover{color:var(--error);transform:rotate(90deg);}
.modal-section-title{font-size:0.72rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-gold);margin:1.5rem 0 0.5rem;}
.modal-section-title:first-of-type{margin-top:0.5rem;}
.modal-body-text{font-size:0.9rem;color:var(--text-secondary);line-height:1.7;margin-bottom:0.5rem;}
.policy-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:0.72rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:1.2rem;background:rgba(201,168,76,0.1);border:1px solid rgba(201,168,76,0.25);color:var(--accent-gold);}
.policy-divider{height:1px;background:var(--glass-border);margin:1.2rem 0;}

/* BOOKING CONFIRMED OVERLAY */
#booking-confirmed-overlay{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.96);backdrop-filter:blur(20px) saturate(0.4);opacity:0;pointer-events:none;transition:opacity 0.5s ease;padding:1rem;overflow-y:auto;}
#booking-confirmed-overlay.show{opacity:1;pointer-events:all;}
.bc-card{background:var(--glass-bg);border:1px solid rgba(201,168,76,0.15);border-radius:28px;padding:2.5rem 2rem 2rem;max-width:460px;width:100%;text-align:center;box-shadow:0 40px 80px rgba(0,0,0,0.8),0 0 60px rgba(127,176,105,0.08);position:relative;transform:scale(0.88) translateY(30px);opacity:0;transition:transform 0.6s var(--spring),opacity 0.6s ease;max-height:calc(100vh - 2rem);overflow-y:auto;}
#booking-confirmed-overlay.show .bc-card{transform:scale(1) translateY(0);opacity:1;}
.bc-icon-wrap{width:80px;height:80px;margin:0 auto 1.2rem;position:relative;}
.bc-checkmark-svg{width:80px;height:80px;}
.bc-circle{fill:none;stroke:var(--success);stroke-width:4;stroke-dasharray:283;stroke-dashoffset:283;stroke-linecap:round;transform-origin:center;}
.bc-circle.animate{animation:drawCircle 0.8s cubic-bezier(0.65,0,0.45,1) 0.3s forwards;}
@keyframes drawCircle{to{stroke-dashoffset:0;}}
.bc-check{fill:none;stroke:var(--success);stroke-width:4.5;stroke-dasharray:70;stroke-dashoffset:70;stroke-linecap:round;stroke-linejoin:round;}
.bc-check.animate{animation:drawCheck 0.4s cubic-bezier(0.65,0,0.45,1) 1s forwards;}
@keyframes drawCheck{to{stroke-dashoffset:0;}}
.bc-icon-glow{position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,rgba(127,176,105,0.25) 0%,transparent 70%);opacity:0;}
.bc-icon-glow.animate{animation:glowPulse 1.5s ease 1.2s forwards;}
@keyframes glowPulse{0%{opacity:0;transform:scale(0.9);}50%{opacity:1;}100%{opacity:0.4;transform:scale(1.1);}}
.bc-title{font-size:1.8rem;font-weight:700;letter-spacing:-0.03em;color:var(--text-primary);opacity:0;transform:translateY(16px);transition:opacity 0.5s ease,transform 0.5s var(--apple-ease);font-family:var(--font-display);}
.bc-title.show{opacity:1;transform:translateY(0);}
.bc-title span{color:var(--success);}
.bc-subtitle{font-size:0.9rem;color:var(--text-secondary);margin-top:0.3rem;margin-bottom:1.2rem;opacity:0;transition:opacity 0.5s ease 0.1s;}
.bc-subtitle.show{opacity:1;}
.bc-details{background:rgba(127,176,105,0.05);border:1px solid rgba(127,176,105,0.15);border-radius:16px;padding:1rem;margin:0.8rem 0 1.2rem;text-align:left;opacity:0;transform:translateY(12px);transition:opacity 0.5s ease,transform 0.5s var(--apple-ease);}
.bc-details.show{opacity:1;transform:translateY(0);}
.bc-detail-row{display:flex;justify-content:space-between;padding:0.3rem 0;font-size:0.84rem;border-bottom:1px solid rgba(201,168,76,0.04);}
.bc-detail-row:last-child{border-bottom:none;}
.bc-detail-row span:first-child{color:var(--text-secondary);}
.bc-detail-row span:last-child{font-weight:700;color:var(--text-primary);}
.bc-total-row{margin-top:0.5rem;border-top:1px solid rgba(127,176,105,0.2);padding-top:0.5rem;}
.bc-total-row span:last-child{color:var(--success);font-size:1rem;}
.bc-id-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(201,168,76,0.06);border:1px solid rgba(201,168,76,0.2);padding:6px 14px;border-radius:20px;font-size:0.76rem;font-family:'Courier New',monospace;font-weight:700;color:var(--accent-gold);margin-bottom:1.2rem;opacity:0;transition:opacity 0.4s ease;}
.bc-id-badge.show{opacity:1;}
.bc-id-dot{width:6px;height:6px;background:var(--accent-gold);border-radius:50%;animation:blink 1.5s infinite;}
.bc-payment-box{background:rgba(201,168,76,0.04);border:1px solid rgba(201,168,76,0.12);border-radius:12px;padding:0.8rem;margin-bottom:1.2rem;opacity:0;transform:translateY(8px);transition:opacity 0.5s ease,transform 0.5s var(--apple-ease);}
.bc-payment-box.show{opacity:1;transform:translateY(0);}
.bc-payment-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-secondary);margin-bottom:0.3rem;}
.bc-etransfer{font-family:'Courier New',monospace;font-size:1rem;font-weight:700;color:var(--accent-gold);}
.bc-actions{display:flex;gap:10px;opacity:0;transform:translateY(8px);transition:opacity 0.5s ease,transform 0.5s var(--apple-ease);}
.bc-actions.show{opacity:1;transform:translateY(0);}
.bc-steps{display:flex;justify-content:center;gap:6px;margin-bottom:1.5rem;opacity:0;transition:opacity 0.4s ease;}
.bc-steps.show{opacity:1;}
.bc-step-dot{width:8px;height:8px;border-radius:50%;background:rgba(201,168,76,0.15);transition:all 0.4s;}
.bc-step-dot.done{background:var(--success);box-shadow:0 0 8px rgba(127,176,105,0.6);}
.bc-step-dot.active{background:var(--success);transform:scale(1.4);}
.bc-waitlist-note{background:rgba(201,168,76,0.06);border:1px solid rgba(201,168,76,0.15);border-radius:10px;padding:0.6rem 0.8rem;font-size:0.8rem;color:var(--accent-gold);margin-bottom:1rem;opacity:0;transition:opacity 0.5s ease;}
.bc-waitlist-note.show{opacity:1;}

#confetti-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9998;pointer-events:none;display:none;}

@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

.meander-border{height:3px;background:repeating-linear-gradient(90deg,var(--accent-gold) 0px,var(--accent-gold) 8px,transparent 8px,transparent 12px,var(--accent-gold) 12px,var(--accent-gold) 14px,transparent 14px,transparent 18px);opacity:0.15;margin:2rem 0;}
.section-divider{text-align:center;padding:1rem 0;font-family:var(--font-display);font-size:1.4rem;color:var(--accent-gold);opacity:0.12;letter-spacing:0.8em;}

/* =============================================
   MOBILE ENHANCEMENTS — ACTIVE ONLY ≤992px
   ============================================= */
@media(max-width:992px){
    html,body{max-width:100%;overflow-x:clip;}
    main,.container,section,.grid-layout,.glass-panel{max-width:100%;min-width:0;}
    p,.review-text,.academic-clause,.faq-content{overflow-wrap:anywhere;word-break:break-word;}

    .grid-layout{grid-template-columns:1fr;gap:2rem;}
    .configurator-section{padding-top:5.5rem;min-height:auto;align-items:flex-start;}

    /* ---- NAV: Hamburger + Drawer ---- */
    #main-nav{max-width:100vw;}
    nav{padding:0 3%;}
    .logo{min-width:0;max-width:calc(100% - 52px);overflow:hidden;}
    .logo-mark{white-space:nowrap;line-height:1;}
    .nav-r{display:none;}
    .nav-mobile-group{display:flex;align-items:center;gap:8px;}
    .hamburger{display:flex;}
    .nav-mobile-avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;border:1.5px solid var(--accent-gold);flex-shrink:0;align-items:center;justify-content:center;}
    .nav-mobile-avatar.visible{display:flex;}
    .nav-mobile-avatar img{width:100%;height:100%;object-fit:cover;}
    .nav-mobile-signin{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;border:1px solid rgba(201,168,76,.3);background:transparent;color:var(--accent-gold);font-size:.72rem;font-weight:600;font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:all .25s;}
    .nav-mobile-signin.hidden{display:none;}
    .nav-mobile-signin svg{width:14px;height:14px;flex-shrink:0;}

    .mobile-drawer{
        display:block;
        position:fixed;top:0;right:0;width:min(86vw,320px);height:100vh;height:100dvh;z-index:1001;
        background:var(--glass-bg);border-left:1px solid var(--glass-border);
        transform:translateX(100%);transition:transform 0.4s var(--apple-ease);
        padding:5rem 1.5rem 2rem;
        display:flex;flex-direction:column;gap:0.6rem;
    }
    .mobile-drawer.open{transform:translateX(0);}
    .mobile-drawer .drawer-pill{
        display:flex;align-items:center;gap:10px;
        padding:14px 18px;border-radius:14px;font-size:0.88rem;font-weight:600;
        cursor:pointer;border:1px solid var(--glass-border);background:transparent;
        color:var(--text-primary);font-family:var(--font-body);transition:all 0.25s;
        min-height:48px;/* ≥44px touch target */
    }
    .mobile-drawer .drawer-pill:active{background:rgba(201,168,76,0.06);border-color:var(--accent-gold);color:var(--accent-gold);}
    .mobile-drawer .drawer-pill.drawer-active{border-color:var(--accent-gold);color:var(--accent-gold);background:rgba(201,168,76,0.08);}
    .mobile-drawer .drawer-pill i{width:18px;text-align:center;color:var(--accent-gold);font-size:1rem;}
    .drawer-close{
        position:absolute;top:1rem;right:1rem;
        width:40px;height:40px;border-radius:50%;border:1px solid var(--glass-border);
        background:transparent;color:var(--text-primary);font-size:1.2rem;
        cursor:pointer;display:flex;align-items:center;justify-content:center;transition:0.3s;
    }
    .drawer-close:active{border-color:var(--error);color:var(--error);}
    .drawer-backdrop{
        display:none;position:fixed;inset:0;z-index:1000;
        background:rgba(0,0,0,0.6);
        opacity:0;transition:opacity 0.35s;
    }
    .drawer-backdrop.open{display:block;opacity:1;}

    /* ---- HERO: tighter on mobile ---- */
    h1{font-size:clamp(2.2rem,8vw,3.2rem);margin-bottom:0.8rem;}
    .waitlist-bar{padding:8px 14px;margin-bottom:1.5rem;}
    .waitlist-text{font-size:0.85rem;}
    .hero-statue{display:none;} /* hide statue on mobile for cleaner layout */

    /* ---- STATS: horizontal scroll chips ---- */
    .stats-row{display:flex;gap:0;margin-bottom:1.5rem;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px;}
    .stats-row::-webkit-scrollbar{display:none;}
    .stat-item{
        flex:0 0 auto;scroll-snap-align:start;
        background:rgba(201,168,76,0.04);border:1px solid rgba(201,168,76,0.1);
        border-radius:14px;padding:10px 18px;margin-right:10px;text-align:center;min-width:100px;
    }
    .stat-number{font-size:1.8rem;}

    /* ---- CONFIGURATOR PANEL ---- */
    .glass-panel{padding:1.5rem 1.2rem;border-radius:20px;}
    .glass-panel:hover{box-shadow:var(--glass-shadow);} /* no hover effect on mobile */

    /* Swipe hint on configurator */
    .config-step.active{animation:mobileStepIn 0.35s var(--apple-ease) forwards;}
    @keyframes mobileStepIn{from{opacity:0;transform:translateX(20px);}to{opacity:1;transform:translateX(0);}}

    .selection-grid{grid-template-columns:1fr 1fr;gap:0.8rem;}
    .select-card{padding:1.2rem 0.8rem;border-radius:14px;min-height:110px;display:flex;flex-direction:column;justify-content:center;-webkit-tap-highlight-color:transparent;}
    .select-card:active{transform:scale(0.96);transition-duration:0.1s;}

    /* Bigger touch targets for agents */
    .agent-grid{grid-template-columns:repeat(3,1fr);gap:0.6rem;}
    .agent-card{padding:1rem 0.6rem;min-height:100px;-webkit-tap-highlight-color:transparent;}
    .agent-card:active{transform:scale(0.95);transition-duration:0.1s;}

    /* Location grid: 2-col on mobile */
    .location-grid{grid-template-columns:repeat(2,1fr);gap:0.7rem;}
    .location-card{padding:1rem 0.5rem;min-height:60px;-webkit-tap-highlight-color:transparent;}
    .location-card:active{transform:scale(0.96);transition-duration:0.1s;}

    /* Service type grid: 2-col on mobile */
    .service-type-grid{grid-template-columns:repeat(2,1fr);gap:0.6rem;}
    .service-type-card{padding:0.8rem 0.5rem;min-height:60px;-webkit-tap-highlight-color:transparent;}
    .service-type-card:active{transform:scale(0.96);transition-duration:0.1s;}

    /* Step labels: smaller on mobile */
    .step-labels{margin-top:0.35rem;}
    .step-label{font-size:0.58rem;letter-spacing:0.02em;}

    /* Addon items: bigger touch */
    .addon-item{padding:1.1rem 1rem;min-height:52px;-webkit-tap-highlight-color:transparent;}
    .addon-item:active{transform:scale(0.98);transition-duration:0.1s;}

    /* Duration slider: fatter thumb on mobile */
    input[type="range"]{height:6px;}
    input[type="range"]::-webkit-slider-thumb{width:28px;height:28px;}
    .slider-ticks{margin-top:0.8rem;}
    .slider-tick{font-size:0.78rem;padding:4px 0;min-width:30px;text-align:center;}

    /* Form inputs: larger on mobile */
    .form-control{padding:1.1rem 1rem;font-size:1rem;border-radius:14px;}
    textarea.form-control{min-height:90px;}

    /* ---- MOBILE STICKY BAR: enhanced ---- */
    .mobile-sticky-bar{display:flex;padding:0.8rem 1.2rem;padding-bottom:calc(0.8rem + var(--safe-bottom));gap:0.8rem;}
    .mobile-sticky-bar > div{min-width:0;}
    .mobile-sticky-bar .btn{padding:0.85rem 1.6rem;font-size:0.9rem;flex-shrink:0;}
    .config-footer .btn{display:none;}

    /* ---- REVIEWS: better snap scroll ---- */
    .reviews-wrapper{gap:1rem;padding:1.5rem 0;}
    .review-card{min-width:260px;max-width:280px;}
    .review-card .glass-panel,.reviews-section .glass-panel{padding:1.2rem;}

    /* ---- FAQ: bigger touch ---- */
    details{padding:1.1rem 1.2rem;}
    summary{font-size:1rem;min-height:44px;align-items:center;}

    /* ---- FOOTER: more bottom padding for sticky bar ---- */
    footer{padding-bottom:calc(5rem + var(--safe-bottom));}
    .faq-section{padding-bottom:calc(5rem + var(--safe-bottom));}

    /* ---- MODALS: bottom-sheet on mobile ---- */
    .modal-overlay{align-items:flex-end;}
    .modal-content{
        max-width:100%;width:100%;
        border-radius:24px 24px 0 0;
        max-height:85vh;
        transform:translateY(100%);
        transition:transform 0.45s var(--apple-ease),opacity 0.35s;
    }
    .modal-overlay.active .modal-content{transform:translateY(0);opacity:1;}
    /* Drag handle */
    .modal-content::before{
        content:'';display:block;width:36px;height:4px;
        background:var(--text-secondary);opacity:0.3;border-radius:2px;
        margin:0 auto 1rem;
    }

    /* ---- BOOKING CONFIRMED: bottom-sheet style ---- */
    #booking-confirmed-overlay{align-items:flex-end;padding:0;}
    .bc-card{
        border-radius:28px 28px 0 0;max-width:100%;
        max-height:92vh;
        padding:2rem 1.5rem calc(1.5rem + var(--safe-bottom));
        transform:translateY(100%);
    }
    #booking-confirmed-overlay.show .bc-card{transform:translateY(0);opacity:1;}
    .bc-title{font-size:1.5rem;}
    .bc-actions{flex-direction:column;gap:8px;}
    .bc-actions .btn{width:100%;justify-content:center;}

    /* ---- TOAST: above sticky bar ---- */
    .toast-container{bottom:calc(80px + var(--safe-bottom));right:12px;left:12px;}
    .toast{max-width:100%;}

    .section-divider,.footer-greek{letter-spacing:clamp(.32em,2.6vw,.7em);}

    /* Perf: limit blur to single nav layer on mobile — multiple backdrop-filter stacks freeze mobile GPUs */
    nav{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
    .glass-panel{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(12,11,9,0.97);}
    [data-theme="light"] .glass-panel{background:rgba(245,240,232,0.99);}
    .mobile-sticky-bar{backdrop-filter:none;-webkit-backdrop-filter:none;}

    /* Cap particles on mobile */
    .particle:nth-child(n+7){display:none;}

    /* Touch feedback */
    .btn:active{transform:scale(.96);transition:transform .08s;}
    .select-card:active,.location-card:active,.service-type-card:active{transform:scale(.96);transition:transform .08s;}
}

@media(max-width:600px){
    nav{padding:0 3%;height:64px;}
    .nav-wm{font-size:1.2rem;}
    .nav-sep{display:none;}
    .nav-badge{display:none;}

    h1{font-size:clamp(1.9rem,7.5vw,2.6rem);}
    h2{font-size:clamp(1.5rem,5vw,2rem);margin-bottom:1rem;}

    .glass-panel{padding:1.2rem 1rem;border-radius:18px;}
    .stat-item{padding:8px 14px;min-width:90px;}
    .stat-number{font-size:1.5rem;}
    .stat-label{font-size:0.65rem;}

    .select-card h3{font-size:1.1rem;}
    .agent-emoji{font-size:1.6rem;}
    .agent-name{font-size:0.9rem;}

    .price-display{font-size:1.6rem;}
    .slider-value-display{font-size:1.8rem;}
    .purchase-amount{font-size:2rem;}

    .bc-card{padding:1.5rem 1rem calc(1.2rem + var(--safe-bottom));}
    .bc-icon-wrap{width:64px;height:64px;}
    .bc-checkmark-svg{width:64px;height:64px;}
    .bc-title{font-size:1.3rem;}
    .bc-detail-row{font-size:0.78rem;}

    .mobile-sticky-bar{padding:0.7rem 1rem;padding-bottom:calc(0.7rem + var(--safe-bottom));}
    .mobile-sticky-price{font-size:1.2rem;}
}

@media(max-width:374px){
    .container{padding:0 3.5%;}
    nav{padding:0 2.5%;}
    .nav-wm{font-size:1.05rem;}
    h1{font-size:clamp(1.6rem,8vw,2.2rem);}
    h2{font-size:clamp(1.3rem,5vw,1.6rem);}
    .glass-panel{padding:1rem .8rem;border-radius:16px;}
    .stat-item{padding:6px 10px;min-width:80px;}
    .stat-number{font-size:1.3rem;}
    .service-type-grid{grid-template-columns:1fr;}
    .location-grid{grid-template-columns:1fr;}
    .agent-grid{grid-template-columns:repeat(2,1fr);}
    .selection-grid{grid-template-columns:1fr;}
    .mobile-sticky-bar{padding:0.6rem 0.8rem;padding-bottom:calc(0.6rem + var(--safe-bottom));}
}

@media(prefers-reduced-motion:reduce){
    .reveal{transition:none!important;opacity:1!important;transform:none!important;}
    .animated-word{animation:none!important;opacity:1!important;transform:none!important;}
    .particle{display:none!important;}
    .nav-dot,.live-dot{animation:none!important;opacity:.7;}
    .config-step.active{animation:none!important;}
}

/* Landscape phone */
@media(max-width:992px) and (max-height:500px){
    .configurator-section{padding-top:4.5rem;}
    .bc-card{max-height:95vh;padding:1rem;}
    .bc-icon-wrap{width:48px;height:48px;margin-bottom:0.5rem;}
    .bc-checkmark-svg{width:48px;height:48px;}
}

/* ==========================================
   3D UI REFRESH — AIRBNB-STYLE MOBILE UX
   ========================================== */

/* 3D Icon Containers — depth pillow effect */
.service-type-icon,
.location-card > span:first-child {
    display:inline-flex;align-items:center;justify-content:center;
    width:44px;height:44px;border-radius:14px;
    background:linear-gradient(145deg,rgba(201,168,76,0.1),rgba(201,168,76,0.03));
    box-shadow:0 6px 16px rgba(0,0,0,0.25),0 2px 4px rgba(0,0,0,0.15),inset 0 1px 1px rgba(255,255,255,0.06);
    transition:transform 0.4s var(--spring),box-shadow 0.4s var(--spring);
    margin-left:auto;margin-right:auto;
}
.agent-emoji {
    display:inline-flex;align-items:center;justify-content:center;
    width:52px;height:52px;border-radius:16px;
    background:linear-gradient(145deg,rgba(184,92,92,0.1),rgba(184,92,92,0.03));
    box-shadow:0 6px 16px rgba(0,0,0,0.25),0 2px 4px rgba(0,0,0,0.15),inset 0 1px 1px rgba(255,255,255,0.06);
    transition:transform 0.4s var(--spring),box-shadow 0.4s var(--spring);
    margin-left:auto;margin-right:auto;
}
.select-card > div:first-child {
    display:inline-flex;align-items:center;justify-content:center;
    width:56px;height:56px;border-radius:18px;
    background:linear-gradient(145deg,rgba(201,168,76,0.1),rgba(201,168,76,0.03));
    box-shadow:0 8px 20px rgba(0,0,0,0.3),0 3px 6px rgba(0,0,0,0.2),inset 0 1px 1px rgba(255,255,255,0.06);
    transition:transform 0.4s var(--spring),box-shadow 0.4s var(--spring);
    margin-left:auto;margin-right:auto;
}

/* Icon lift on hover/select */
.service-type-card:hover .service-type-icon,.service-type-card.selected .service-type-icon,
.location-card:hover > span:first-child,.location-card.selected > span:first-child,
.select-card:hover > div:first-child,.select-card.selected > div:first-child {
    transform:translateY(-3px) scale(1.1);
    box-shadow:0 12px 28px rgba(201,168,76,0.2),0 4px 8px rgba(0,0,0,0.2),inset 0 1px 1px rgba(255,255,255,0.08);
}
.agent-card:hover .agent-emoji,.agent-card.selected .agent-emoji {
    transform:translateY(-3px) scale(1.1);
    box-shadow:0 12px 28px rgba(184,92,92,0.2),0 4px 8px rgba(0,0,0,0.2),inset 0 1px 1px rgba(255,255,255,0.08);
}

/* Card 3D base */
.select-card,.agent-card,.location-card,.service-type-card {
    position:relative;overflow:hidden;transform-style:preserve-3d;will-change:transform;
}

/* Ripple on tap */
.card-ripple {
    position:absolute;border-radius:50%;
    background:radial-gradient(circle,rgba(201,168,76,0.2) 0%,transparent 70%);
    transform:scale(0);animation:rippleExpand 0.6s ease-out forwards;
    pointer-events:none;z-index:0;
}
@keyframes rippleExpand{to{transform:scale(4);opacity:0;}}

/* Staggered 3D card entrance */
@keyframes card3DEnter {
    from{opacity:0;transform:translateY(20px) scale(0.95);}
    to{opacity:1;transform:translateY(0) scale(1);}
}
.card-stagger{animation:card3DEnter 0.5s var(--spring) both;}

/* Selection pop */
@keyframes selectPop {
    0%{transform:scale(1);}25%{transform:scale(0.93);} 
    55%{transform:scale(1.06);}80%{transform:scale(0.98);}100%{transform:scale(1);} 
}
.card-pop{animation:selectPop 0.4s var(--spring);} 

/* Enhanced selected glow */
.select-card.selected,.service-type-card.selected,.location-card.selected {
    background:linear-gradient(135deg,rgba(201,168,76,0.1),rgba(201,168,76,0.04));
    box-shadow:0 0 0 1.5px rgba(201,168,76,0.5),0 4px 24px rgba(201,168,76,0.12),0 8px 32px rgba(0,0,0,0.3);
}
.agent-card.selected {
    background:linear-gradient(135deg,rgba(184,92,92,0.12),rgba(184,92,92,0.04));
    box-shadow:0 0 0 1.5px rgba(184,92,92,0.5),0 4px 24px rgba(184,92,92,0.12),0 8px 32px rgba(0,0,0,0.3);
}
.addon-item.selected {
    background:linear-gradient(135deg,rgba(184,92,92,0.08),rgba(184,92,92,0.03));
    box-shadow:0 0 0 1.5px rgba(184,92,92,0.35),0 4px 16px rgba(0,0,0,0.2);
}

/* Progress bar glow pulse */
.progress-fill{animation:progressGlow 2.5s ease-in-out infinite alternate;}
@keyframes progressGlow {
    from{box-shadow:0 0 8px var(--accent-gold);} 
    to{box-shadow:0 0 20px var(--accent-gold),0 0 40px rgba(201,168,76,0.2);} 
}

/* Step dot activation pulse */
@keyframes dotPulse {
    0%{transform:scale(1);box-shadow:0 0 0 0 rgba(201,168,76,0.5);} 
    50%{transform:scale(1.35);box-shadow:0 0 0 8px rgba(201,168,76,0);} 
    100%{transform:scale(1.2);box-shadow:0 0 15px var(--neon-glow);} 
}
.step-dot.dot-pulse{animation:dotPulse 0.55s var(--spring);} 

/* 3D step transition */
.config-step.active{animation:step3DSlide 0.5s var(--spring) forwards;}
@keyframes step3DSlide {
    from{opacity:0;transform:perspective(600px) rotateY(-3deg) translateX(30px);filter:blur(2px);} 
    to{opacity:1;transform:perspective(600px) rotateY(0) translateX(0);filter:blur(0);} 
}

/* Slider thumb enhanced glow */
input[type="range"]::-webkit-slider-thumb{box-shadow:0 0 14px var(--neon-glow),0 0 4px rgba(201,168,76,0.8);} 

/* Mobile sticky slide-up */
@keyframes stickyUp{from{transform:translateY(100%);opacity:0;}to{transform:translateY(0);opacity:1;}}

/* Glass configurator depth */
.glass-panel#configurator{transition:box-shadow 0.5s,border-color 0.5s,transform 0.5s var(--spring);} 

/* ---- Mobile 3D enhancements ---- */
@media(max-width:992px){
    /* Dampen particles on mobile */
    .particle{box-shadow:none !important;}
    #particles{opacity:0.25;}
    /* Reduce floating background noise */
    .greek-char{opacity:0.015 !important;}
    .bg-grid{opacity:0.5;}

    /* Mobile step 3D transition */
    .config-step.active{animation:mobileStep3D 0.4s var(--spring) forwards;}
    @keyframes mobileStep3D {
        from{opacity:0;transform:perspective(600px) rotateY(-2deg) translateX(20px) scale(0.97);filter:blur(1.5px);} 
        to{opacity:1;transform:perspective(600px) rotateY(0) translateX(0) scale(1);filter:blur(0);} 
    }

    /* Spring touch feedback */
    .select-card:active,.agent-card:active,.location-card:active,
    .service-type-card:active,.addon-item:active {
        transform:scale(0.94) translateY(1px) !important;
        transition-duration:0.06s !important;
    }

    /* Mobile sticky entrance */
    .mobile-sticky-bar{animation:stickyUp 0.5s var(--spring) both 0.6s;}

    /* 3D icons tighter on mobile */
    .service-type-icon,.location-card > span:first-child{width:40px;height:40px;border-radius:12px;font-size:1.2rem;}
    .agent-emoji{width:46px;height:46px;border-radius:14px;}
    .select-card > div:first-child{width:50px;height:50px;border-radius:16px;}

    /* Configurator elevated depth */
    .glass-panel#configurator{box-shadow:0 12px 40px rgba(0,0,0,0.5),0 0 0 1px rgba(201,168,76,0.06);} 
}

/* Light theme 3D icon adjustments */
[data-theme="light"] .service-type-icon,
[data-theme="light"] .location-card > span:first-child,
[data-theme="light"] .agent-emoji,
[data-theme="light"] .select-card > div:first-child {
    background:linear-gradient(145deg,rgba(201,168,76,0.08),rgba(255,255,255,0.7));
    box-shadow:0 6px 16px rgba(0,0,0,0.06),0 2px 4px rgba(0,0,0,0.04),inset 0 1px 1px rgba(255,255,255,0.95);
}
