/* ==========================================================================
   headspacespanyc.com — homepage standalone stylesheet
   Section pattern modeled after medspairvine.com structure.
   This file is ONLY linked by index.html. Other pages keep using style.css.
   ========================================================================== */

:root{
    --hs-primary:#6b8e7f;
    --hs-primary-dark:#4f6f63;
    --hs-gold:#c9a96e;
    --hs-gold-dark:#a88955;
    --hs-charcoal:#2c3e3a;
    --hs-ink:#1a2421;
    --hs-text:#3a3a3a;
    --hs-muted:#6b6b6b;
    --hs-cream:#faf7f2;
    --hs-light:#f4f0e8;
    --hs-border:#e6e0d4;
    --hs-white:#ffffff;
    --hs-shadow:0 4px 20px rgba(0,0,0,.08);
    --hs-shadow-lg:0 12px 40px rgba(0,0,0,.14);
    --hs-shadow-card:0 8px 30px rgba(44,62,58,.10);
    --hs-trans:.35s ease;
    --serif:'Playfair Display','Cormorant Garamond','Georgia',serif;
    --sans:'Inter','Helvetica Neue',-apple-system,BlinkMacSystemFont,Arial,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    font-family:var(--sans);
    color:var(--hs-text);
    line-height:1.7;
    background:var(--hs-white);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--hs-primary);text-decoration:none;transition:var(--hs-trans)}
a:hover{color:var(--hs-gold)}
h1,h2,h3,h4,h5,h6{font-family:var(--serif);color:var(--hs-charcoal);font-weight:500;line-height:1.2;letter-spacing:-.01em}
p{margin-bottom:1rem}
ul{list-style:none}

.container{max-width:1240px;margin:0 auto;padding:0 24px}
.text-center{text-align:center}
.mt-4{margin-top:2rem}

/* ===== Buttons ===== */
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
    padding:.95rem 2.2rem;
    border-radius:0;
    border:1px solid transparent;
    font-family:var(--sans);
    font-size:.82rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.18em;
    cursor:pointer;
    transition:var(--hs-trans);
    text-decoration:none;
    line-height:1;
}
.btn i{font-size:.95em}
.btn-gold{background:var(--hs-gold);color:var(--hs-white);border-color:var(--hs-gold)}
.btn-gold:hover{background:var(--hs-gold-dark);border-color:var(--hs-gold-dark);color:var(--hs-white);transform:translateY(-1px);box-shadow:var(--hs-shadow-lg)}
.btn-outline{background:transparent;color:var(--hs-charcoal);border-color:var(--hs-charcoal)}
.btn-outline:hover{background:var(--hs-charcoal);color:var(--hs-white)}
.btn-outline-white{background:transparent;color:var(--hs-white);border-color:rgba(255,255,255,.6)}
.btn-outline-white:hover{background:var(--hs-white);color:var(--hs-charcoal);border-color:var(--hs-white)}
.btn-white{background:var(--hs-white);color:var(--hs-charcoal);border-color:var(--hs-white)}
.btn-white:hover{background:transparent;color:var(--hs-white)}
.btn-link{
    display:inline-flex;align-items:center;gap:.5rem;
    color:var(--hs-gold);font-weight:600;font-size:.82rem;
    text-transform:uppercase;letter-spacing:.18em;
    text-decoration:none;
    transition:var(--hs-trans);
}
.btn-link:hover{color:var(--hs-gold-dark);gap:.85rem}

/* ===== Top Bar ===== */
.top-bar{
    background:var(--hs-ink);
    color:rgba(255,255,255,.85);
    padding:.6rem 0;
    font-size:.82rem;
}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.top-info{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
.top-info a{color:var(--hs-white)}
.top-info a:hover{color:var(--hs-gold)}
.top-info i{margin-right:.4rem;color:var(--hs-gold)}
.top-divider{color:rgba(255,255,255,.3)}

/* ===== Header (sticky) ===== */
.header{
    background:var(--hs-white);
    box-shadow:var(--hs-shadow);
    position:sticky;
    top:0;
    z-index:1000;
    transition:var(--hs-trans);
}
.header.scrolled{box-shadow:var(--hs-shadow-lg)}
.navbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;gap:2rem}
.logo a{display:flex;flex-direction:column;text-decoration:none}
.logo-text{font-family:var(--serif);font-size:1.65rem;font-weight:700;color:var(--hs-primary);letter-spacing:.01em}
.logo-sub{font-size:.7rem;color:var(--hs-muted);letter-spacing:.3em;text-transform:uppercase;margin-top:2px}

.nav-menu{display:flex;gap:2rem;align-items:center}
.nav-menu>li{position:relative}
.nav-menu>li>a{
    color:var(--hs-charcoal);
    font-size:.85rem;
    font-weight:500;
    padding:.6rem 0;
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    text-transform:uppercase;
    letter-spacing:.12em;
}
.nav-menu>li>a::after{
    content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--hs-gold);transition:width .3s ease;
}
.nav-menu>li>a:hover::after,.nav-menu>li.active>a::after{width:100%}
.nav-menu>li>a:hover{color:var(--hs-primary)}

.dropdown-menu{
    position:absolute;
    top:100%;left:0;
    background:var(--hs-white);
    box-shadow:var(--hs-shadow-lg);
    min-width:260px;
    padding:.8rem 0;
    opacity:0;visibility:hidden;
    transform:translateY(10px);
    transition:var(--hs-trans);
    border-top:3px solid var(--hs-gold);
    z-index:1001;
}
.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu li a{
    display:block;
    padding:.7rem 1.4rem;
    font-size:.82rem;
    color:var(--hs-charcoal);
    letter-spacing:.05em;
    text-transform:none;
}
.dropdown-menu li a:hover{background:var(--hs-cream);color:var(--hs-primary)}
.dropdown-menu li a::after{display:none}
.dropdown-all a{color:var(--hs-gold)!important;font-weight:600;border-top:1px solid var(--hs-border);margin-top:.3rem}

.nav-actions{display:flex;align-items:center;gap:1rem}
.nav-cta{
    background:var(--hs-gold);color:var(--hs-white);
    padding:.7rem 1.6rem;
    font-size:.78rem;font-weight:600;
    text-transform:uppercase;letter-spacing:.18em;
    transition:var(--hs-trans);
    text-decoration:none;
}
.nav-cta:hover{background:var(--hs-gold-dark);color:var(--hs-white)}

.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:.4rem;width:40px;height:40px;flex-direction:column;justify-content:center;gap:5px}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--hs-charcoal);transition:var(--hs-trans)}
.menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== Hero ===== */
.hero{
    position:relative;
    height:100vh;
    min-height:640px;
    max-height:900px;
    overflow:hidden;
    color:var(--hs-white);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.hero-bg{
    position:absolute;inset:0;
    background-size:cover;
    background-position:center;
    transform:scale(1.05);
    animation:heroZoom 20s ease-in-out infinite alternate;
}
@keyframes heroZoom{
    from{transform:scale(1.05)}
    to{transform:scale(1.15)}
}
.hero-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(20,30,28,.55) 0%,rgba(20,30,28,.45) 40%,rgba(20,30,28,.75) 100%);
}
.hero-content{
    position:relative;z-index:2;
    max-width:840px;
    padding:0 24px;
}
.hero-badge{
    display:inline-block;
    background:rgba(201,169,110,.15);
    border:1px solid rgba(201,169,110,.5);
    color:#e6d3a8;
    padding:.5rem 1.4rem;
    text-transform:uppercase;
    letter-spacing:.35em;
    font-size:.72rem;
    font-weight:600;
    margin-bottom:2rem;
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
}
.hero-title{
    color:var(--hs-white);
    font-size:clamp(2.4rem,6vw,5rem);
    font-weight:500;
    line-height:1.05;
    margin-bottom:1.4rem;
    letter-spacing:-.015em;
}
.hero-subtitle{
    color:rgba(255,255,255,.9);
    font-family:var(--serif);
    font-style:italic;
    font-size:clamp(1.05rem,1.8vw,1.4rem);
    line-height:1.6;
    margin-bottom:2.4rem;
    font-weight:400;
}
.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem}
.hero-features{
    display:flex;
    gap:2.5rem;
    justify-content:center;
    flex-wrap:wrap;
    font-size:.82rem;
    color:rgba(255,255,255,.85);
    text-transform:uppercase;
    letter-spacing:.2em;
}
.hero-features span{display:inline-flex;align-items:center;gap:.6rem}
.hero-features i{color:var(--hs-gold)}
.hero-scroll{
    position:absolute;
    bottom:2.5rem;left:50%;transform:translateX(-50%);
    z-index:2;
    text-align:center;
    color:rgba(255,255,255,.7);
    font-size:.7rem;
    text-transform:uppercase;
    letter-spacing:.3em;
}
.hero-scroll .scroll-line{
    width:1px;height:46px;
    background:linear-gradient(180deg,rgba(255,255,255,.7),transparent);
    margin:.8rem auto 0;
    animation:scrollPulse 2.4s ease-in-out infinite;
}
@keyframes scrollPulse{
    0%,100%{opacity:.3;transform:scaleY(.6)}
    50%{opacity:1;transform:scaleY(1)}
}

/* ===== Sections (general) ===== */
.section{padding:6rem 0;background:var(--hs-white)}
.section-light{background:var(--hs-cream)}
.section-dark{background:var(--hs-ink);color:rgba(255,255,255,.9)}
.section-dark h2,.section-dark h3,.section-dark h4{color:var(--hs-white)}

.section-header{text-align:center;max-width:780px;margin:0 auto 4rem}
.section-badge{
    display:inline-block;
    color:var(--hs-gold);
    text-transform:uppercase;
    letter-spacing:.4em;
    font-size:.72rem;
    font-weight:600;
    margin-bottom:1rem;
}
.section-badge-gold{color:#e6d3a8}
.section-title{
    font-size:clamp(2rem,3.6vw,3rem);
    margin-bottom:1.2rem;
    font-weight:500;
}
.section-subtitle{
    color:var(--hs-muted);
    font-size:1.05rem;
    line-height:1.8;
    max-width:640px;
    margin:0 auto;
}
.section-header-light .section-subtitle{color:rgba(255,255,255,.75)}

/* ===== Grid Helpers ===== */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}

/* ===== Service Cards (Core Treatments) ===== */
.service-card{
    background:var(--hs-white);
    border:1px solid var(--hs-border);
    overflow:hidden;
    transition:var(--hs-trans);
    text-decoration:none;
    color:inherit;
    display:flex;
    flex-direction:column;
}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--hs-shadow-card)}
.service-card-img{position:relative;overflow:hidden;height:260px}
.service-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.service-card:hover .service-card-img img{transform:scale(1.08)}
.service-card-badge{
    position:absolute;top:1rem;left:1rem;
    background:var(--hs-gold);color:var(--hs-white);
    padding:.4rem .9rem;
    font-size:.7rem;font-weight:600;
    text-transform:uppercase;letter-spacing:.18em;
}
.service-card-body{padding:2rem;flex:1;display:flex;flex-direction:column}
.service-card-body h3{font-size:1.5rem;margin-bottom:.8rem}
.service-card-body p{color:var(--hs-muted);font-size:.95rem;margin-bottom:1.5rem;flex:1}
.service-card-link{
    color:var(--hs-gold);font-weight:600;font-size:.8rem;
    text-transform:uppercase;letter-spacing:.18em;
    display:inline-flex;align-items:center;gap:.5rem;
    transition:var(--hs-trans);
}
.service-card:hover .service-card-link{gap:.85rem}

/* ===== Signature Grid (6 cards w/ icon) ===== */
.signature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem;
}
.signature-card{
    background:var(--hs-white);
    padding:2.5rem 2rem;
    border:1px solid var(--hs-border);
    text-align:center;
    transition:var(--hs-trans);
    position:relative;
    overflow:hidden;
}
.signature-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:var(--hs-gold);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .4s ease;
}
.signature-card:hover{transform:translateY(-4px);box-shadow:var(--hs-shadow-card)}
.signature-card:hover::before{transform:scaleX(1)}
.signature-icon{
    width:72px;height:72px;line-height:72px;
    margin:0 auto 1.5rem;
    border-radius:50%;
    background:var(--hs-cream);
    color:var(--hs-gold);
    font-size:1.7rem;
}
.signature-card h3{font-size:1.3rem;margin-bottom:.8rem}
.signature-card p{color:var(--hs-muted);font-size:.95rem;margin-bottom:1.4rem;line-height:1.7}

/* ===== Ritual Quiz (Find Your Ritual) ===== */
.ritual-quiz{background:var(--hs-cream);padding:6rem 0;position:relative;overflow:hidden}
.ritual-quiz::before,.ritual-quiz::after{
    content:'';position:absolute;
    width:300px;height:300px;border-radius:50%;
    background:radial-gradient(circle,rgba(201,169,110,.15),transparent);
    pointer-events:none;
}
.ritual-quiz::before{top:-100px;left:-100px}
.ritual-quiz::after{bottom:-100px;right:-100px}
.quiz-grid{
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:4rem;
    align-items:center;
    position:relative;z-index:1;
}
.quiz-intro h2{font-size:clamp(2rem,3.2vw,2.8rem);margin-bottom:1.2rem;font-weight:500}
.quiz-intro h2 em{font-style:italic;color:var(--hs-gold)}
.quiz-sub{color:var(--hs-muted);font-size:1.05rem;line-height:1.8;margin-bottom:2rem}
.quiz-features{margin:2rem 0}
.quiz-features li{
    display:flex;align-items:flex-start;gap:.8rem;
    margin-bottom:.9rem;color:var(--hs-text);font-size:.95rem;
}
.quiz-features i{color:var(--hs-gold);margin-top:.3rem}
.quiz-disclaimer{
    font-size:.85rem;color:var(--hs-muted);
    background:var(--hs-white);
    padding:1rem 1.2rem;
    border-left:3px solid var(--hs-gold);
    margin-top:1.2rem;
    line-height:1.6;
}
.quiz-disclaimer i{color:var(--hs-gold);margin-right:.4rem}

.quiz-card{
    background:var(--hs-white);
    padding:2.5rem;
    box-shadow:var(--hs-shadow-card);
    border:1px solid var(--hs-border);
    position:relative;
}
.quiz-progress-wrap{margin-bottom:2rem}
.quiz-progress-info{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.6rem;gap:1rem;flex-wrap:wrap}
.quiz-step-label{font-size:.75rem;color:var(--hs-gold);text-transform:uppercase;letter-spacing:.3em;font-weight:600}
.quiz-step-title{font-family:var(--serif);font-size:1.15rem;color:var(--hs-charcoal);font-weight:500}
.quiz-progress-bar{height:4px;background:var(--hs-light);border-radius:2px;overflow:hidden}
.quiz-progress-fill{height:100%;background:var(--hs-gold);transition:width .4s ease}

.quiz-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;min-height:280px}
.quiz-option{
    background:var(--hs-cream);
    border:1px solid var(--hs-border);
    padding:1rem 1.2rem;
    cursor:pointer;
    display:flex;align-items:center;gap:.8rem;
    transition:var(--hs-trans);
    text-align:left;
    font-family:inherit;
    font-size:.92rem;
    color:var(--hs-charcoal);
}
.quiz-option:hover{border-color:var(--hs-gold);background:var(--hs-white)}
.quiz-option.selected{background:var(--hs-gold);color:var(--hs-white);border-color:var(--hs-gold)}
.quiz-option.selected i{color:var(--hs-white)}
.quiz-option i{color:var(--hs-gold);font-size:1.1rem;width:24px;text-align:center}

.quiz-nav{display:flex;justify-content:space-between;margin-top:2rem;gap:1rem}
.quiz-btn-back,.quiz-btn-next{
    padding:.85rem 1.6rem;
    border:1px solid var(--hs-border);
    background:transparent;
    color:var(--hs-charcoal);
    font-family:inherit;
    font-size:.78rem;font-weight:600;
    text-transform:uppercase;letter-spacing:.18em;
    cursor:pointer;
    transition:var(--hs-trans);
    display:inline-flex;align-items:center;gap:.5rem;
}
.quiz-btn-back:disabled{opacity:.4;cursor:not-allowed}
.quiz-btn-next{background:var(--hs-gold);color:var(--hs-white);border-color:var(--hs-gold)}
.quiz-btn-next:hover{background:var(--hs-gold-dark);border-color:var(--hs-gold-dark)}

.quiz-result{display:none;text-align:center}
.quiz-result.show{display:block}
.quiz-result-badge{
    display:inline-block;
    background:var(--hs-cream);
    color:var(--hs-gold);
    padding:.5rem 1.4rem;
    text-transform:uppercase;letter-spacing:.3em;
    font-size:.72rem;font-weight:600;
    margin-bottom:1rem;
}
.quiz-result h3{font-size:1.8rem;margin-bottom:.8rem;color:var(--hs-charcoal)}
.quiz-result-desc{color:var(--hs-muted);margin-bottom:1.5rem;line-height:1.7}
.quiz-result-services{
    display:flex;flex-direction:column;gap:.8rem;
    margin:1.5rem 0;text-align:left;
}
.quiz-result-service{
    display:flex;justify-content:space-between;align-items:center;
    background:var(--hs-cream);padding:.9rem 1.2rem;
    border-left:3px solid var(--hs-gold);
    font-size:.95rem;
}
.quiz-result-service strong{color:var(--hs-charcoal);font-family:var(--serif);font-size:1.05rem}
.quiz-result-service .price{color:var(--hs-gold);font-weight:600}
.quiz-restart{
    background:transparent;border:none;color:var(--hs-muted);
    font-family:inherit;font-size:.8rem;cursor:pointer;
    margin-top:1rem;text-transform:uppercase;letter-spacing:.18em;
}
.quiz-restart:hover{color:var(--hs-gold)}

/* ===== Why Us Layout ===== */
.why-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:4rem;align-items:start}
.why-image img{width:100%;height:100%;object-fit:cover;min-height:540px}
.why-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.why-item{display:flex;gap:1rem}
.why-icon{
    flex-shrink:0;
    width:48px;height:48px;line-height:48px;
    background:var(--hs-cream);color:var(--hs-gold);
    text-align:center;font-size:1.1rem;
    border-radius:50%;
}
.why-item h3{font-size:1.1rem;margin-bottom:.5rem;font-weight:600}
.why-item p{color:var(--hs-muted);font-size:.9rem;line-height:1.6;margin-bottom:0}

/* ===== Tools/Botanicals Grid (dark section) ===== */
.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.tech-card{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    padding:2rem 1.5rem;
    text-align:center;
    transition:var(--hs-trans);
}
.tech-card:hover{background:rgba(255,255,255,.08);transform:translateY(-4px);border-color:var(--hs-gold)}
.tech-icon{
    width:64px;height:64px;line-height:64px;margin:0 auto 1rem;
    border-radius:50%;
    background:rgba(201,169,110,.15);
    color:var(--hs-gold);
    font-size:1.5rem;
}
.tech-card h4{color:var(--hs-white);font-size:1.05rem;margin-bottom:.5rem}
.tech-card p{color:rgba(255,255,255,.7);font-size:.85rem;line-height:1.6;margin-bottom:0}

/* ===== Testimonials ===== */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.testimonial-card{
    background:var(--hs-white);
    padding:2.5rem 2rem;
    border:1px solid var(--hs-border);
    position:relative;
    transition:var(--hs-trans);
}
.testimonial-card::before{
    content:'\201C';
    position:absolute;top:1rem;right:1.5rem;
    font-family:var(--serif);font-size:5rem;
    color:var(--hs-gold);opacity:.18;line-height:1;
}
.testimonial-card:hover{transform:translateY(-4px);box-shadow:var(--hs-shadow-card)}
.testimonial-stars{color:var(--hs-gold);letter-spacing:.2em;margin-bottom:1rem;font-size:.95rem}
.testimonial-text{
    color:var(--hs-text);
    font-family:var(--serif);
    font-style:italic;
    font-size:1rem;
    line-height:1.8;
    margin-bottom:1.5rem;
}
.testimonial-author{display:flex;flex-direction:column;margin-bottom:.6rem}
.testimonial-author strong{color:var(--hs-charcoal);font-family:var(--serif);font-size:1.05rem;font-weight:600;letter-spacing:.02em}
.testimonial-author span{color:var(--hs-muted);font-size:.85rem;margin-top:.2rem}
.testimonial-source{color:var(--hs-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.18em}
.testimonial-source i{color:var(--hs-gold);margin-right:.3rem}

/* ===== GEO SEO Block ===== */
.geo-content{max-width:920px;margin:0 auto}
.geo-text{font-size:1rem;line-height:1.85;color:var(--hs-text)}
.geo-text p{margin-bottom:1.2rem}
.geo-text strong{color:var(--hs-charcoal);font-weight:600}

/* ===== Membership / Payment Preview ===== */
.membership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.membership-card{
    background:var(--hs-white);
    padding:2.5rem 2rem;
    border:1px solid var(--hs-border);
    text-align:center;
    transition:var(--hs-trans);
    position:relative;
}
.membership-card:hover{transform:translateY(-4px);box-shadow:var(--hs-shadow-card);border-color:var(--hs-gold)}
.membership-card.featured{border-color:var(--hs-gold);border-width:2px}
.membership-card.featured::before{
    content:'Most Popular';
    position:absolute;top:-12px;left:50%;transform:translateX(-50%);
    background:var(--hs-gold);color:var(--hs-white);
    padding:.3rem 1rem;font-size:.7rem;
    text-transform:uppercase;letter-spacing:.2em;font-weight:600;
}
.membership-icon{
    width:72px;height:72px;line-height:72px;
    margin:0 auto 1.5rem;
    border-radius:50%;
    background:var(--hs-cream);
    color:var(--hs-gold);
    font-size:1.7rem;
}
.membership-card h3{font-size:1.4rem;margin-bottom:.8rem}
.membership-card p{color:var(--hs-muted);font-size:.95rem;line-height:1.7;margin-bottom:1.5rem}
.membership-price{font-family:var(--serif);font-size:2rem;color:var(--hs-gold);margin-bottom:.5rem;font-weight:500}
.membership-price small{font-size:.85rem;color:var(--hs-muted);font-family:var(--sans);font-weight:400}
.membership-features{text-align:left;margin:1.5rem 0;font-size:.9rem}
.membership-features li{margin-bottom:.5rem;color:var(--hs-text);padding-left:1.4rem;position:relative}
.membership-features li::before{
    content:'\2713';
    position:absolute;left:0;color:var(--hs-gold);font-weight:bold;
}

/* ===== Journal / Blog Preview ===== */
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.journal-card{
    background:var(--hs-white);
    border:1px solid var(--hs-border);
    overflow:hidden;
    transition:var(--hs-trans);
    text-decoration:none;
    color:inherit;
    display:flex;
    flex-direction:column;
}
.journal-card:hover{transform:translateY(-4px);box-shadow:var(--hs-shadow-card)}
.journal-img{position:relative;height:220px;overflow:hidden}
.journal-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.journal-card:hover .journal-img img{transform:scale(1.08)}
.journal-date{
    position:absolute;top:1rem;right:1rem;
    background:rgba(255,255,255,.95);
    color:var(--hs-charcoal);
    padding:.3rem .8rem;
    font-size:.72rem;font-weight:600;
    text-transform:uppercase;letter-spacing:.15em;
}
.journal-body{padding:1.8rem;flex:1;display:flex;flex-direction:column}
.journal-category{
    color:var(--hs-gold);font-size:.72rem;
    text-transform:uppercase;letter-spacing:.25em;
    font-weight:600;margin-bottom:.6rem;
}
.journal-body h3{font-size:1.15rem;margin-bottom:.8rem;line-height:1.3}
.journal-body p{color:var(--hs-muted);font-size:.92rem;line-height:1.7;margin-bottom:1rem;flex:1}
.journal-link{color:var(--hs-gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;font-weight:600}

/* ===== FAQ Accordion ===== */
.faq-list{max-width:820px;margin:0 auto}
.faq-item{
    background:var(--hs-white);
    border:1px solid var(--hs-border);
    margin-bottom:1rem;
    overflow:hidden;
    transition:var(--hs-trans);
}
.faq-item.open{box-shadow:var(--hs-shadow-card)}
.faq-question{
    padding:1.4rem 1.6rem;
    display:flex;justify-content:space-between;align-items:center;gap:1rem;
    cursor:pointer;
    font-family:var(--serif);
    font-weight:600;
    color:var(--hs-charcoal);
    font-size:1.05rem;
}
.faq-question i{color:var(--hs-gold);transition:var(--hs-trans);flex-shrink:0}
.faq-item.open .faq-question i{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-item.open .faq-answer{max-height:400px}
.faq-answer p{padding:0 1.6rem 1.4rem;color:var(--hs-muted);line-height:1.8;margin-bottom:0;font-size:.95rem}

/* ===== CTA Section ===== */
.cta-section{
    background:linear-gradient(rgba(20,30,28,.78),rgba(20,30,28,.82)),url('/images/blissful-difference-headspa-nyc.jpg') center/cover fixed;
    color:var(--hs-white);
    text-align:center;
    padding:6rem 1rem;
}
.cta-content h2{
    color:var(--hs-white);
    font-size:clamp(2rem,4vw,3.4rem);
    margin-bottom:1.2rem;
    font-weight:500;
}
.cta-content p{
    color:rgba(255,255,255,.85);
    max-width:580px;margin:0 auto 2rem;
    font-size:1.05rem;line-height:1.8;
}
.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ===== Contact + Map ===== */
.contact-map-layout{
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:3rem;
    align-items:stretch;
}
.contact-info-block h2{
    font-size:clamp(1.6rem,2.4vw,2.2rem);
    margin-bottom:2rem;
    font-weight:500;
}
.contact-detail{
    display:flex;gap:1rem;
    padding:1.2rem 0;
    border-bottom:1px solid var(--hs-border);
}
.contact-detail:last-of-type{border-bottom:none}
.contact-detail i{
    width:42px;height:42px;line-height:42px;
    background:var(--hs-cream);color:var(--hs-gold);
    border-radius:50%;text-align:center;
    flex-shrink:0;font-size:1rem;
}
.contact-detail strong{
    display:block;color:var(--hs-gold);
    text-transform:uppercase;letter-spacing:.2em;
    font-size:.72rem;font-weight:600;margin-bottom:.3rem;
}
.contact-detail p{color:var(--hs-charcoal);font-family:var(--serif);font-size:1.05rem;line-height:1.6;margin-bottom:0}
.contact-detail a{color:var(--hs-charcoal)}
.contact-detail a:hover{color:var(--hs-gold)}
.contact-social{
    display:flex;gap:.8rem;
    margin-top:1.5rem;
}
.contact-social a{
    width:42px;height:42px;line-height:42px;
    border:1px solid var(--hs-border);
    border-radius:50%;text-align:center;
    color:var(--hs-charcoal);
    transition:var(--hs-trans);
}
.contact-social a:hover{background:var(--hs-gold);color:var(--hs-white);border-color:var(--hs-gold)}
.map-container iframe{width:100%;height:100%;min-height:540px;border:0;display:block}

/* ===== Footer ===== */
.footer{background:var(--hs-ink);color:rgba(255,255,255,.75);padding:4rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:3rem;margin-bottom:3rem}
.footer-col h3,.footer-col h4{
    color:var(--hs-white);
    font-size:1.1rem;
    margin-bottom:1.2rem;
}
.footer-brand h3{font-family:var(--serif);font-size:1.4rem}
.footer-brand p{color:rgba(255,255,255,.7);line-height:1.8;font-size:.92rem;margin-bottom:1.5rem}
.footer-social{display:flex;gap:.7rem}
.footer-social a{
    width:38px;height:38px;line-height:38px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:50%;text-align:center;
    color:rgba(255,255,255,.7);font-size:.9rem;
    transition:var(--hs-trans);
}
.footer-social a:hover{background:var(--hs-gold);border-color:var(--hs-gold);color:var(--hs-white)}
.footer-col ul li{margin-bottom:.6rem}
.footer-col ul li a{color:rgba(255,255,255,.7);font-size:.92rem;display:inline-block;transition:var(--hs-trans)}
.footer-col ul li a:hover{color:var(--hs-gold);padding-left:.3rem}
.footer-contact li{display:flex;gap:.6rem;align-items:flex-start;color:rgba(255,255,255,.75);font-size:.9rem;line-height:1.6}
.footer-contact i{color:var(--hs-gold);width:18px;margin-top:.25rem;flex-shrink:0}
.footer-contact a{color:rgba(255,255,255,.85)}
.footer-contact a:hover{color:var(--hs-gold)}
.footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:2rem;
    text-align:center;
    color:rgba(255,255,255,.5);
    font-size:.85rem;
}
.footer-bottom p{margin-bottom:.6rem}
.footer-bottom a{color:var(--hs-gold)}

/* ===== Floating CTA + Back to Top ===== */
.floating-cta{
    position:fixed;
    right:20px;bottom:90px;
    display:flex;flex-direction:column;gap:.7rem;
    z-index:998;
}
.floating-btn{
    width:50px;height:50px;line-height:50px;
    background:var(--hs-gold);color:var(--hs-white);
    border-radius:50%;
    text-align:center;
    box-shadow:var(--hs-shadow-lg);
    font-size:1rem;
    position:relative;
    transition:var(--hs-trans);
    display:flex;align-items:center;justify-content:center;
}
.floating-btn:hover{background:var(--hs-gold-dark);color:var(--hs-white);transform:scale(1.08)}
.floating-btn .floating-label{
    position:absolute;right:calc(100% + 10px);
    background:var(--hs-ink);color:var(--hs-white);
    padding:.35rem .8rem;font-size:.78rem;
    white-space:nowrap;border-radius:4px;
    opacity:0;visibility:hidden;
    transition:var(--hs-trans);
    pointer-events:none;
}
.floating-btn:hover .floating-label{opacity:1;visibility:visible;right:calc(100% + 14px)}
.floating-phone{background:#2ecc71}
.floating-phone:hover{background:#27ae60}
.floating-email{background:#3498db}
.floating-email:hover{background:#2980b9}
.floating-appointment{background:var(--hs-gold)}
.floating-facebook{background:#1877f2}
.floating-instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
.floating-yelp{background:#d32323}

.back-to-top{
    position:fixed;
    right:20px;bottom:20px;
    width:50px;height:50px;
    background:var(--hs-charcoal);
    color:var(--hs-white);
    border:none;border-radius:50%;
    cursor:pointer;
    box-shadow:var(--hs-shadow-lg);
    opacity:0;visibility:hidden;
    transition:var(--hs-trans);
    z-index:999;
    font-size:1rem;
}
.back-to-top.show{opacity:1;visibility:visible}
.back-to-top:hover{background:var(--hs-gold);transform:translateY(-3px)}

/* ===== Animations ===== */
.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.animate-on-scroll.in-view{opacity:1;transform:translateY(0)}

/* ===== Responsive ===== */
@media(max-width:1080px){
    .grid-3,.signature-grid,.testimonial-grid,.membership-grid,.journal-grid{grid-template-columns:repeat(2,1fr)}
    .tech-grid{grid-template-columns:repeat(3,1fr)}
    .why-content{grid-template-columns:1fr}
    .why-layout{grid-template-columns:1fr;gap:2rem}
    .why-image img{min-height:380px}
    .quiz-grid{grid-template-columns:1fr;gap:2.5rem}
}
@media(max-width:900px){
    .nav-menu{
        position:fixed;
        top:0;right:-100%;
        flex-direction:column;
        background:var(--hs-white);
        width:300px;height:100vh;
        padding:5rem 2rem 2rem;
        gap:0;
        box-shadow:var(--hs-shadow-lg);
        transition:right .35s ease;
        align-items:flex-start;
        overflow-y:auto;
        z-index:1002;
    }
    .nav-menu.open{right:0}
    .nav-menu>li{width:100%;border-bottom:1px solid var(--hs-border)}
    .nav-menu>li>a{display:flex;justify-content:space-between;padding:1rem 0;width:100%}
    .dropdown-menu{
        position:static;
        opacity:1;visibility:visible;transform:none;
        box-shadow:none;border-top:none;padding:0 0 .5rem 1rem;
        max-height:0;overflow:hidden;
        transition:max-height .35s ease;
    }
    .dropdown.open .dropdown-menu{max-height:600px}
    .menu-toggle{display:flex}
    .nav-actions .nav-lang-btn{display:none}
    .hero{min-height:520px}
    .cta-section{background-attachment:scroll;padding:4rem 1rem}
    .section{padding:4rem 0}
    .contact-map-layout{grid-template-columns:1fr;gap:2rem}
    .map-container iframe{min-height:380px}
    .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
    .floating-cta{right:14px;bottom:80px;gap:.5rem}
    .floating-btn{width:44px;height:44px;font-size:.9rem}
}
@media(max-width:600px){
    .grid-3,.signature-grid,.testimonial-grid,.membership-grid,.journal-grid,.tech-grid{grid-template-columns:1fr}
    .quiz-options{grid-template-columns:1fr}
    .hero-features{gap:1.2rem;font-size:.7rem}
    .hero-cta{flex-direction:column;align-items:stretch}
    .footer-grid{grid-template-columns:1fr}
    .quiz-card{padding:1.5rem}
    .section-header{margin-bottom:2.5rem}
    .top-info{justify-content:center;gap:.8rem;font-size:.75rem}
    .top-divider{display:none}
}
