/* FM Massage & Wellness - Complete Stylesheet (Redesign 2026) */
*{margin:0;padding:0;box-sizing:border-box}

:root{
/* ── Woodsy Warmth + Slate Ocean Palette ── */
--fern:#B2C9A0;
--slate-ocean:#4E7C8A;
--charcoal:#2C3E35;
--moss:#7A9E6E;
--honey:#E8B86D;
--amber:#D4914A;
--ocean-mist:#D0E8E8;
--sunlight:#FDF6E9;
--warm-linen:#EEE0C9;
--forest:#2E4A35;
--ocean-light:#B8D4DA;
--ocean-deep:#2E5C6A;
--ocean-dark:#1A3D4A;
--pure-white:#FFF;
--medium-gray:#534B47;

/* ── Gradients ── */
--gradient-hero:linear-gradient(160deg,#2E4A35 0%,#2E5C6A 40%,#1A3D4A 100%);
--gradient-primary:linear-gradient(135deg,#D4914A 0%,#E8B86D 100%);
--gradient-gold:linear-gradient(135deg,#E8B86D 0%,#D4914A 100%);

/* ── Typography ── */
--font-heading:'Cormorant Garamond',serif;
--font-body:'Jost',sans-serif;

/* ── Spacing ── */
--section-padding:100px 0;

/* ── Shadows (layered brand-color system per Gemini review) ── */
--shadow-soft:0 2px 6px rgba(26,61,74,.06),0 4px 16px rgba(26,61,74,.07);
--shadow-medium:0 4px 8px rgba(26,61,74,.07),0 8px 24px rgba(26,61,74,.09);
--shadow-card:0 1px 3px rgba(26,61,74,.05),0 4px 12px rgba(26,61,74,.07);
--shadow-gold:0 4px 20px rgba(212,145,74,.22);
--shadow-large:0 6px 16px rgba(26,61,74,.09),0 16px 36px rgba(26,61,74,.11);

/* ── Radii ── */
--radius-small:14px;
--radius-medium:20px;
--radius-large:32px;
}

/* ── Base ── */
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--charcoal);background:var(--warm-linen);line-height:1.7;font-size:16px;opacity:0;animation:bodyFadeIn .5s .05s ease forwards}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:all .3s ease}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.3;color:var(--charcoal)}
h1{font-size:3.75rem;margin-bottom:1rem;font-weight:300;letter-spacing:.03em}
h2{font-size:2.5rem;margin-bottom:1.5rem;font-weight:400;letter-spacing:.02em}
h3{font-size:1.75rem;margin-bottom:1rem;font-weight:500;letter-spacing:.01em}
h4{font-size:1.2rem;margin-bottom:.75rem;font-weight:500;letter-spacing:.04em}
p{margin-bottom:1.2rem;color:var(--charcoal);font-size:1rem;line-height:1.8}
.lead-text{font-size:1.25rem;font-weight:400;color:var(--charcoal);line-height:1.8;margin-bottom:1.5rem}

/* ── Buttons ── */
.btn{display:inline-block;padding:14px 32px;border-radius:var(--radius-medium);font-weight:600;font-size:1rem;letter-spacing:.04em;text-align:center;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,background-color .2s ease,color .2s ease;border:2px solid transparent;font-family:var(--font-body);will-change:transform}
.btn-primary{background:linear-gradient(135deg,#8B6420 0%,#967024 100%);color:var(--pure-white);box-shadow:var(--shadow-soft)}
.btn-primary:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 8px 28px rgba(212,145,74,.32),0 3px 10px rgba(212,145,74,.18)}
.btn-primary:active{transform:translateY(0) scale(.99);transition-duration:.1s}
.btn-secondary{background:var(--sunlight);color:var(--charcoal);border:2px solid var(--ocean-light);display:inline-flex;align-items:center;gap:10px}
.btn-secondary:hover{background:var(--charcoal);color:var(--pure-white);transform:translateY(-2px);box-shadow:0 6px 20px rgba(44,62,53,.20)}
.btn-outline{background:transparent;color:var(--slate-ocean);border:2px solid var(--slate-ocean)}
.btn-outline:hover{background:var(--slate-ocean);color:var(--pure-white)}
.btn-book{background:#8B6420;color:var(--pure-white);padding:10px 24px;border-radius:var(--radius-small);font-weight:700;white-space:nowrap;flex-shrink:0}
.btn-book:hover{background:#7A5818;transform:translateY(-2px);box-shadow:0 4px 15px rgba(139,100,32,.30);color:var(--pure-white)}
.btn-small{padding:8px 20px;font-size:.9rem}
.btn-large{padding:16px 40px;font-size:1.1rem}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none!important}
.btn-link{color:var(--slate-ocean);font-weight:600;font-size:.95rem;display:inline-block;margin-top:10px}
.btn-link:hover{color:var(--amber)}

/* ── Section Headers ── */
.section-header{text-align:center;margin-bottom:64px}
.section-header h2{color:var(--ocean-deep);margin-bottom:16px}
.divider{width:48px;height:1.5px;background:var(--gradient-gold);margin:0 auto 28px;border-radius:2px;position:relative;opacity:.85}
.divider::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:5px;height:5px;background:var(--amber);border-radius:50%;box-shadow:0 0 0 2px rgba(212,145,74,.20)}

/* ── Navigation ── */
.navbar{background:var(--ocean-dark);box-shadow:0 2px 20px rgba(26,61,74,.15);position:sticky;top:0;z-index:1000;padding:12px 0;transition:box-shadow .4s ease,backdrop-filter .4s ease}
.nav-wrapper{display:flex;justify-content:space-between;align-items:center;gap:16px}
.logo{flex-shrink:0}
.logo img{height:70px;width:auto;filter:invert(1);mix-blend-mode:screen}
.nav-menu{display:flex;list-style:none;align-items:center;gap:30px}
.nav-menu a{color:rgba(255,255,255,.85);font-weight:500;font-size:1rem;position:relative}
.nav-menu a:not(.btn-book):hover{color:var(--pure-white)}
.nav-menu a:not(.btn-book):not(.btn-gift)::after{content:'';position:absolute;bottom:-4px;left:50%;width:0;height:2px;background:var(--honey);transition:width .3s cubic-bezier(.22,1,.36,1),left .3s cubic-bezier(.22,1,.36,1);border-radius:2px}
.nav-menu a:not(.btn-book):not(.btn-gift):hover::after{width:100%;left:0}
.nav-menu a.active{color:var(--pure-white);font-weight:600}
.nav-menu a:focus-visible{outline:2px solid var(--honey);outline-offset:4px;border-radius:4px}

/* Navbar scrolled — subtle gloss depth only */
.navbar.scrolled{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 20px rgba(26,61,74,.25)}

/* ── Dropdown Menu ── */
.dropdown{position:relative}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;background:var(--pure-white);box-shadow:var(--shadow-medium);border-radius:var(--radius-small);min-width:220px;padding:10px 0;margin-top:10px;list-style:none}
.dropdown-menu li{padding:0}
.dropdown-menu a{display:block;padding:12px 20px;color:var(--charcoal);font-weight:500;transition:all .3s}
.dropdown-menu a:hover{background:var(--warm-linen);color:var(--slate-ocean);padding-left:25px}
.dropdown-menu a::after{display:none}
.dropdown:hover .dropdown-menu{display:block}

/* ── Mobile Menu ── */
.mobile-menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px}
.mobile-menu-toggle span{width:28px;height:3px;background:var(--pure-white);border-radius:2px;transition:all .3s}

/* ── Hero Section ── */
.hero{position:relative;min-height:90vh;display:flex;align-items:center;background:var(--gradient-hero);color:var(--pure-white);overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.45' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E");opacity:.3;z-index:1}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 50% 40%,rgba(232,184,109,.08) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 80% 70%,rgba(78,124,138,.06) 0%,transparent 50%);z-index:1}
.hero::after{content:'';position:absolute;right:-150px;top:50%;transform:translateY(-50%);width:700px;height:700px;border-radius:50%;border:1px solid rgba(184,212,218,.10);box-shadow:0 0 0 80px rgba(184,212,218,.04),0 0 0 160px rgba(184,212,218,.025),0 0 0 260px rgba(184,212,218,.012);z-index:1;pointer-events:none;animation:float 10s ease-in-out infinite}
.hero-content{position:relative;z-index:2;text-align:center;max-width:750px;margin:0 auto;padding:40px 0}
.hero-content::before{content:'';display:block;width:40px;height:1px;background:var(--gradient-gold);margin:0 auto 30px;border-radius:2px;opacity:.7}
.hero h1{font-size:4rem;color:var(--pure-white);text-shadow:0 2px 30px rgba(0,0,0,.3);margin-bottom:24px;font-weight:300;letter-spacing:.02em;line-height:1.15;animation:fadeUp .9s .1s cubic-bezier(.22,1,.36,1) both}
.hero-subtitle{font-size:.85rem;margin-bottom:20px;color:rgba(232,184,109,.70);font-weight:400;letter-spacing:.18em;text-transform:uppercase;animation:fadeUp .8s .25s cubic-bezier(.22,1,.36,1) both}
.hero-description{color:rgba(253,246,233,.80);font-size:1.1rem;max-width:560px;margin:0 auto 48px;line-height:1.9;font-weight:300;animation:fadeUp .8s .35s cubic-bezier(.22,1,.36,1) both}
.hero-cta{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;animation:fadeUp .7s .5s cubic-bezier(.22,1,.36,1) both}
.hero-locations{margin-top:40px;font-size:.85rem;letter-spacing:.12em;color:rgba(253,246,233,.50);animation:fadeIn .8s .7s ease both}
.hero-locations strong{color:rgba(232,184,109,.75);font-weight:600}

/* ── Therapist Hero ── */
.therapist-hero{min-height:60vh}
.hero-logo-large{max-width:500px;margin:0 auto 30px;display:block}

/* ── Sections ── */
.welcome-section,.about-section,.featured-services,.featured-therapist,.reviews-section,.quick-contact,.about-business,.team-section,.services-offered,.booking-cta{padding:var(--section-padding)}
.welcome-section,.team-section{background:var(--pure-white)}
.booking-cta{background:var(--gradient-hero)}
.featured-services,.reviews-section,.services-offered{background:linear-gradient(to bottom,var(--warm-linen) 0%,var(--pure-white) 100%)}
.featured-therapist,.about-business{background:var(--warm-linen)}
.quick-contact{background:var(--gradient-primary);color:var(--pure-white)}

/* ── TL;DR / AEO Block ── */
.tldr-section{padding:20px 0;background:var(--warm-linen)}
.tldr-block{background:var(--pure-white);border-left:4px solid var(--amber);padding:16px 24px;border-radius:0 var(--radius-small) var(--radius-small) 0;font-size:.95rem;color:var(--charcoal);max-width:860px;margin:0 auto;box-shadow:var(--shadow-soft)}
.tldr-block strong{color:var(--ocean-deep);font-weight:700;margin-right:6px}
.tldr-block a{color:var(--slate-ocean);font-weight:600}
.tldr-block a:hover{color:var(--amber)}

/* ── Content ── */
.welcome-content,.business-intro{max-width:900px;margin:0 auto;text-align:center}
.welcome-content p,.business-intro p{text-align:left;margin-bottom:1.5rem}
.cta-row{display:flex;gap:20px;justify-content:center;margin-top:40px;flex-wrap:wrap}

/* ── Services Grid ── */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-bottom:50px}
.service-card{background:var(--sunlight);padding:40px 30px;border-radius:var(--radius-large);text-align:center;transition:transform .35s cubic-bezier(.34,1.2,.64,1),box-shadow .35s ease,border-top-color .35s ease;box-shadow:var(--shadow-card);border:1px solid rgba(208,232,232,.3);border-top:3px solid transparent}
.service-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:var(--shadow-medium);border-top-color:var(--amber)}
.service-icon{font-size:3.5rem;margin-bottom:20px}
.service-card h3{color:var(--ocean-deep);margin-bottom:15px}
.service-card p{color:var(--medium-gray);font-size:1rem}
.services-cta{text-align:center;margin-top:40px;display:flex;gap:20px;justify-content:center;flex-wrap:wrap}

/* ── Featured Business ── */
.featured-business{background:linear-gradient(135deg,var(--warm-linen) 0%,var(--ocean-mist) 100%);padding:50px;border-radius:var(--radius-large);box-shadow:var(--shadow-medium)}
.featured-logo-container{text-align:center;margin-bottom:30px}
.featured-logo{max-width:400px;margin:0 auto}
.featured-content{max-width:800px;margin:0 auto;text-align:center}
.featured-content h3{font-size:2.5rem;color:var(--slate-ocean);margin-bottom:10px}
.business-tagline{font-size:1.3rem;font-style:italic;color:var(--moss);margin-bottom:25px}
.mission-vision-box{background:var(--pure-white);padding:40px;border-radius:var(--radius-large);margin:40px auto;max-width:900px;border-left:4px solid var(--amber)}
.mission-placeholder{font-style:italic;color:var(--medium-gray);padding:20px;background:var(--warm-linen);border-radius:var(--radius-medium)}

/* ── Team Section ── */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:50px}
.therapist-profile{background:var(--sunlight);border-radius:var(--radius-large);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease,border-top-color .3s ease;border-top:3px solid transparent}
.therapist-profile:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium);border-top-color:var(--amber)}
.profile-image{width:100%;height:400px;overflow:hidden}
.profile-image img{width:100%;height:100%;object-fit:cover}
.profile-content{padding:40px}
.profile-content h3{color:var(--slate-ocean);margin-bottom:8px;font-size:2rem}
.profile-title{font-weight:600;color:var(--medium-gray);margin-bottom:10px}
.profile-specialty{color:var(--moss);font-size:.95rem;margin-bottom:20px;font-weight:500}
.profile-bio{margin-bottom:30px}
.profile-cta{display:flex;gap:15px;flex-wrap:wrap}

/* ── Contact CTA ── */
.contact-cta-box,.cta-box-large{background:rgba(253,246,233,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:60px 40px;border-radius:var(--radius-large);text-align:center;max-width:800px;margin:0 auto;border:1px solid rgba(253,246,233,.25)}
.contact-cta-box h2,.cta-box-large h2{color:var(--pure-white);margin-bottom:15px}
.contact-cta-box p,.cta-box-large p{color:var(--warm-linen);font-size:1.2rem;margin-bottom:30px}
.cta-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}
.cta-note{font-size:.95rem;margin-top:20px;color:var(--ocean-light)}

/* ── Footer ── */
.footer{background:var(--ocean-dark);color:var(--ocean-light);padding:60px 0 30px}
.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-brand{max-width:350px}
.footer-logo{max-width:180px;margin-bottom:20px;filter:invert(1);mix-blend-mode:screen}
.footer-address{margin-top:20px;font-size:.9rem;line-height:1.6}
.footer h4{color:var(--pure-white);margin-bottom:20px;font-size:1.2rem}
.footer-links ul,.footer-therapists ul{list-style:none}
.footer-links li,.footer-therapists li{margin-bottom:10px}
.footer-links a,.footer-therapists a{color:var(--ocean-light);font-size:.95rem}
.footer-links a:hover,.footer-therapists a:hover{color:var(--honey)}
.footer-contact p{margin-bottom:10px;font-size:.95rem;color:var(--ocean-light)}
.footer-contact a{color:var(--honey)}
.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid rgba(255,255,255,.1)}
.footer-bottom p{color:var(--ocean-light);font-size:.9rem;margin:0;opacity:.6}
.footer-credit{color:var(--ocean-light);font-size:.85rem;margin-top:8px;opacity:.5}
.footer-credit a{color:var(--ocean-light)}
.footer-credit a:hover{color:var(--honey)}
.footer-tagline{color:var(--ocean-light);opacity:.7}
.footer-note{color:var(--ocean-light);opacity:.6;font-size:.9rem}

/* ── Responsive — Core ── */

/* Tablet nav: tighten gaps before hamburger kicks in */
@media (max-width:1200px){
.nav-menu{gap:20px}
.nav-menu a{font-size:.9rem}
.btn-gift,.btn-book{padding:8px 14px}
}

@media (max-width:1024px){
h1{font-size:3rem}
h2{font-size:2.25rem}
.hero h1{font-size:3.5rem}
.footer-content{grid-template-columns:1fr 1fr}
.team-grid{grid-template-columns:1fr}
.nav-menu{gap:14px}
.nav-menu a{font-size:.85rem}
}

/* Mobile nav: hamburger at 1280px — ensures 9 nav items + 2 CTA buttons never overlap */
@media (max-width:1280px){
.nav-menu{position:fixed;left:-100%;top:94px;flex-direction:column;background:var(--ocean-dark);width:100%;transition:left .3s;box-shadow:var(--shadow-medium);padding:30px 0;gap:20px}
.nav-menu.active{left:0}
.mobile-menu-toggle{display:flex}
.dropdown-menu{position:static;box-shadow:none;background:var(--warm-linen);margin:10px 20px}
.nav-menu a{font-size:1rem}
}

@media (max-width:768px){
h1{font-size:2.5rem}
h2{font-size:2rem}
.hero h1{font-size:2.75rem}
.hero-subtitle{font-size:.85rem}
.hero-cta,.cta-buttons,.cta-row,.services-cta{flex-direction:column}
.services-grid,.team-grid{grid-template-columns:1fr}
.featured-business,.contact-cta-box,.cta-box-large{padding:30px 20px}
.footer-content{grid-template-columns:1fr;gap:30px}
.hero-logo-large{max-width:300px}
}
@media (max-width:480px){
h1{font-size:2rem}
h2{font-size:1.75rem}
.hero h1{font-size:2.25rem}
.logo img{height:55px}
.btn{padding:12px 24px;font-size:.95rem}
}

/* ── Page Hero (inner pages) ── */
.page-hero{min-height:40vh;display:flex;align-items:center;background:var(--gradient-hero);color:var(--pure-white);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 100% at 20% 50%,rgba(232,184,109,.08),transparent);z-index:1}
.page-hero::after{content:'';position:absolute;right:-80px;top:50%;transform:translateY(-50%);width:400px;height:400px;border-radius:50%;border:1px solid rgba(184,212,218,.08);box-shadow:0 0 0 40px rgba(184,212,218,.04),0 0 0 80px rgba(184,212,218,.02);z-index:1;pointer-events:none}
.page-hero .hero-content{position:relative;z-index:2}
.page-hero h1{color:var(--pure-white);text-shadow:0 2px 20px rgba(0,0,0,.3)}
.page-hero .hero-subtitle{color:rgba(232,184,109,.85);letter-spacing:.2em}
.page-intro{padding:80px 0;background:var(--pure-white)}
.intro-content{max-width:800px;margin:0 auto;text-align:center}
.intro-content .lead-text{font-size:1.35rem;color:var(--slate-ocean);line-height:1.9;margin-bottom:2rem;font-weight:400}
.intro-content p{text-align:center;margin-bottom:1.5rem;color:var(--medium-gray);font-size:1.05rem;line-height:1.9}

/* ── Add-Ons Page ── */
.add-ons-section{padding:var(--section-padding);background:var(--warm-linen)}
.add-ons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:40px}
.addon-card{background:var(--sunlight);padding:40px;border-radius:var(--radius-large);box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease,border-top-color .3s ease;border-top:3px solid transparent}
.addon-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium);border-top-color:var(--amber)}
.addon-card.featured{border:3px solid var(--honey);background:linear-gradient(to bottom,var(--pure-white),var(--sunlight))}
.addon-icon{font-size:3.5rem;margin-bottom:20px;text-align:center}
.addon-card h3{color:var(--slate-ocean);margin-bottom:10px;text-align:center}
.addon-tagline{font-style:italic;color:var(--moss);text-align:center;margin-bottom:20px;font-size:1.1rem}
.addon-benefits{margin:25px 0;padding-left:20px}
.addon-benefits li{margin-bottom:12px;line-height:1.6;color:var(--charcoal)}

/* ── How To Section ── */
.how-to-section{padding:60px 0;background:var(--pure-white)}
.how-to-content{max-width:1000px;margin:0 auto;text-align:center}
.how-to-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin:40px 0}
.how-to-step{text-align:center}
.step-number{width:60px;height:60px;background:var(--gradient-primary);color:var(--pure-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;margin:0 auto 20px;font-family:var(--font-heading)}
.how-to-note{background:var(--sunlight);padding:25px;border-radius:var(--radius-medium);margin-top:40px;border-left:4px solid var(--amber)}

/* ── Wellness Products Page ── */
.wellness-products-section{padding:var(--section-padding)}
.product-feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:80px;background:var(--sunlight);padding:50px;border-radius:var(--radius-large);box-shadow:var(--shadow-medium)}
.product-feature:nth-child(even){background:linear-gradient(135deg,var(--warm-linen),var(--ocean-mist))}
.product-badge{display:inline-block;background:var(--ocean-mist);color:var(--ocean-deep);padding:8px 20px;border-radius:20px;font-size:.85rem;font-weight:600;margin-bottom:15px}
.product-content h2{color:var(--slate-ocean);margin-bottom:10px;font-size:2.5rem}
.product-tagline{font-size:1.3rem;font-style:italic;color:var(--moss);margin-bottom:25px}
.product-description{margin-bottom:30px}
.product-benefits,.product-tools,.product-uses{margin:30px 0}
.product-benefits h3,.product-tools h3,.product-uses h3{color:var(--ocean-deep);margin-bottom:20px;font-size:1.5rem}
.product-benefits ul{padding-left:20px}
.product-benefits li{margin-bottom:12px;line-height:1.7}
.product-cta{margin-top:35px}
.cta-note{font-size:.9rem;color:var(--medium-gray);margin-top:10px;text-align:center}

/* Product images (real) */
.product-image{border-radius:var(--radius-large);overflow:hidden;min-height:400px}
.product-image img{width:100%;height:100%;object-fit:cover}

/* Product image placeholders (fallback) */
.product-image-placeholder{background:var(--gradient-primary);border-radius:var(--radius-large);min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--pure-white);text-align:center}
.placeholder-icon{font-size:6rem;margin-bottom:20px}
.product-image-placeholder p{font-size:1.3rem;font-weight:600}

/* ── Tools and Uses Grids ── */
.tools-grid,.uses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:20px}
.tool-item,.use-item{background:var(--sunlight);padding:20px;border-radius:var(--radius-medium);text-align:center}
.tool-item h4,.use-item h4{color:var(--slate-ocean);margin-bottom:10px;font-size:1.1rem}
.tool-item p,.use-item p{font-size:.95rem;margin:0}
.use-icon{font-size:2.5rem;margin-bottom:10px}

/* ── Why Us Section ── */
.why-us-section{padding:60px 0;background:var(--warm-linen)}
.why-us-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px}
.why-card{background:var(--sunlight);padding:36px 28px;border-radius:var(--radius-large);box-shadow:var(--shadow-card);text-align:center;transition:transform .2s ease,box-shadow .2s ease}
.why-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}
.why-icon{width:60px;height:60px;background:var(--gradient-primary);color:var(--pure-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;margin:0 auto 20px}
.why-card h3{color:var(--slate-ocean);margin-bottom:15px}

/* ── Responsive for product/addon pages ── */
@media (max-width:768px){
.product-feature{grid-template-columns:1fr;padding:30px 20px}
.product-feature.fasciablaster{grid-template-columns:1fr}
.product-feature.fasciablaster .product-image-placeholder,.product-feature.fasciablaster .product-image{order:-1}
.add-ons-grid{grid-template-columns:1fr}
.how-to-grid,.tools-grid,.uses-grid,.why-us-grid{grid-template-columns:1fr}
.product-image-placeholder,.product-image{min-height:300px}
}

/* ── Therapists Page ── */
.therapists-full-section{padding:80px 0;background:var(--pure-white)}
.therapist-full-profile{background:var(--sunlight);padding:50px;border-radius:var(--radius-large);margin-bottom:60px;box-shadow:var(--shadow-card)}
.founder-profile{border:3px solid var(--honey);background:linear-gradient(to bottom,var(--pure-white),var(--sunlight))}
.therapist-full-header{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start;margin-bottom:30px}
.therapist-full-image{width:100%;border-radius:var(--radius-medium);overflow:hidden;box-shadow:var(--shadow-medium)}
.therapist-full-image img{width:100%;height:auto;display:block}
.therapist-full-intro h2{color:var(--slate-ocean);margin-bottom:10px;font-size:2.5rem}
.therapist-specialty{color:var(--medium-gray);font-weight:600;margin-bottom:10px}
.therapist-focus{color:var(--moss);font-size:1.05rem;margin-bottom:20px}
.founder-badge{background:var(--gradient-gold);color:var(--charcoal);padding:6px 16px;border-radius:20px;font-size:.9rem;font-weight:700;display:inline-block;margin-bottom:15px}
.therapist-specialty-badge{background:#456A38;color:var(--pure-white);padding:6px 16px;border-radius:20px;font-size:.9rem;font-weight:600;display:inline-block;margin-bottom:15px}
.therapist-cta-buttons{display:flex;gap:15px;margin-top:25px;flex-wrap:wrap}
.therapist-full-bio{line-height:1.8}
.therapist-full-bio p{margin-bottom:1.5rem;color:var(--charcoal)}

/* ── Heavenly Kneads Callout ── */
.heavenly-kneads-callout{padding:80px 0;background:var(--gradient-hero)}
.callout-content{text-align:center;max-width:800px;margin:0 auto;color:var(--pure-white)}
.callout-logo{max-width:400px;margin:0 auto 30px;display:block}
.callout-content h2{color:var(--pure-white);margin-bottom:20px;font-size:2.5rem}
.callout-content p{font-size:1.2rem;line-height:1.8;margin-bottom:20px;color:var(--pure-white)}
.callout-content em{font-size:1.4rem;font-style:italic;display:block;margin:20px 0}

/* ── Therapists Home Grid ── */
.therapists-grid-home{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:30px}
.therapist-card-home{background:var(--sunlight);border-radius:var(--radius-large);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .35s cubic-bezier(.34,1.2,.64,1),box-shadow .35s ease,border-top-color .35s ease;text-align:center;border-top:3px solid transparent}
.therapist-card-home:hover{transform:translateY(-8px);box-shadow:var(--shadow-large);border-top-color:var(--amber)}
.therapist-card-home.featured{border:3px solid var(--honey)}
.therapist-image-home{width:100%;height:350px;overflow:hidden}
.therapist-image-home img{width:100%;height:100%;object-fit:cover}
.therapist-info-home{padding:30px}
.therapist-info-home h3{color:var(--slate-ocean);margin:10px 0;font-size:1.6rem}
.therapist-info-home p{color:var(--medium-gray);margin-bottom:20px}

/* ── Info Banner ── */
.info-banner{background:var(--ocean-mist);padding:20px 0;border-bottom:2px solid var(--ocean-light)}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;text-align:center}
.info-item{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:500}
.info-icon{font-size:1.5rem}
.info-item a{color:var(--slate-ocean);font-weight:600}

/* ── Benefits Grid ── */
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-bottom:40px}
.benefit-item{text-align:center;padding:30px;background:var(--sunlight);border-radius:var(--radius-large);box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease}
.benefit-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}
.benefit-icon{font-size:3rem;margin-bottom:15px}
.benefit-item h3{color:var(--slate-ocean);font-size:1.2rem}
.services-note{text-align:center;color:var(--medium-gray);font-size:1.1rem;margin:40px 0}
.addons-callout{background:var(--sunlight);padding:40px;border-radius:var(--radius-large);text-align:center;margin-top:40px;border:1px solid rgba(208,232,232,.3)}
.addons-callout p{margin-bottom:25px}

/* ── Reviews Section ── */
.reviews-section{padding:80px 0;background:var(--warm-linen)}
.reviews-cta{display:flex;gap:20px;justify-content:center;margin-top:40px;flex-wrap:wrap}

/* ── Google Reviews Strip ── */
.gr-strip-wrapper{width:100%;overflow:hidden;margin-top:32px}

/* Summary bar */
.gr-summary-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:28px;padding:0 4px}
.gr-overall{display:flex;align-items:center;gap:12px}
.gr-glogo{flex-shrink:0;margin-right:2px}
.gr-big-score{font-family:var(--font-heading);font-size:2.8rem;font-weight:600;color:var(--ocean-deep);line-height:1}
.gr-overall-right{display:flex;flex-direction:column;gap:2px}
.gr-stars--lg .gr-star{font-size:1.2rem}
.gr-total{font-size:.85rem;color:var(--medium-gray);margin-top:2px}

/* Scrolling track */
.gr-track-outer{overflow:hidden;width:100%;-webkit-mask:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%);mask:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%)}
.gr-track{display:flex;gap:20px;width:max-content;animation:gr-scroll 40s linear infinite}
@keyframes gr-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.gr-track{animation:none;flex-wrap:wrap;width:100%}.gr-track-outer{-webkit-mask:none;mask:none}}

/* Review card */
.gr-card{flex-shrink:0;width:300px;background:var(--pure-white);border-radius:var(--radius-medium);padding:24px 22px;box-shadow:var(--shadow-card);border:1px solid rgba(208,232,232,.3);display:flex;flex-direction:column;gap:10px}
.gr-card-top{display:flex;align-items:flex-start;gap:10px}
.gr-avatar{flex-shrink:0}
.gr-avatar-img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.gr-avatar-initial{width:40px;height:40px;border-radius:50%;background:var(--ocean-mist);color:var(--ocean-deep);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;font-family:var(--font-heading)}
.gr-meta{flex:1;min-width:0}
.gr-name{display:block;font-weight:600;font-size:.9rem;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gr-date{font-size:.78rem;color:var(--medium-gray);margin-top:1px}
.gr-badge{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}
.gr-badge span{font-size:.72rem;color:var(--medium-gray);font-weight:500}

/* Stars */
.gr-stars{display:flex;gap:1px;line-height:1}
.gr-star{font-size:1rem;color:var(--ocean-light)}
.gr-star--on{color:#FBBC05}

/* Review text */
.gr-text{font-size:.88rem;line-height:1.6;color:var(--medium-gray);margin:0;flex:1}

/* Skeleton */
.gr-skeleton-row{display:flex;gap:20px;overflow:hidden;padding:4px 0}
.gr-skel-card{flex-shrink:0;width:300px;background:var(--pure-white);border-radius:var(--radius-medium);padding:24px 22px;box-shadow:var(--shadow-card)}
.gr-skel-row{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.gr-skel-circle{width:40px;height:40px;border-radius:50%;background:var(--ocean-mist);animation:gr-pulse 1.4s ease-in-out infinite;flex-shrink:0}
.gr-skel-lines{flex:1;display:flex;flex-direction:column;gap:6px}
.gr-skel-line{height:10px;border-radius:6px;background:var(--ocean-mist);animation:gr-pulse 1.4s ease-in-out infinite}
.gr-skel-line.mt8{margin-top:8px}.gr-skel-line.mt6{margin-top:6px}.gr-skel-line.mt4{margin-top:4px}
.gr-skel-line.w90{width:90%}.gr-skel-line.w75{width:75%}.gr-skel-line.w55{width:55%}.gr-skel-line.w45{width:45%}.gr-skel-line.w35{width:35%}
@keyframes gr-pulse{0%,100%{opacity:.4}50%{opacity:.9}}

/* Error */
.gr-error{text-align:center;color:var(--medium-gray);font-size:.9rem;padding:20px 0}
.gr-error a{color:var(--slate-ocean);font-weight:600}
.gr-error a:hover{color:var(--amber)}

/* ── Services Overview ── */
.services-overview{padding:80px 0;background:var(--pure-white)}

/* ── Therapists Home Section ── */
.therapists-home{padding:80px 0;background:var(--warm-linen)}

/* ── Gift Cards Section (homepage) ── */
.gift-cards-section{padding:80px 0;background:var(--gradient-hero)}
.gift-card-content{text-align:center;max-width:700px;margin:0 auto;color:var(--pure-white)}
.gift-card-content h2{color:var(--pure-white);font-size:2.75rem;margin-bottom:20px}
.gift-card-content .lead-text{color:var(--pure-white)}
.gift-card-info{margin-top:30px}
.gift-card-info p{font-size:1.05rem;margin-bottom:10px;color:var(--pure-white)}

/* ── Location Section (homepage) ── */
.location-section{padding:80px 0;background:var(--pure-white)}
.location-cta{display:flex;gap:20px;justify-content:center;margin-top:40px;flex-wrap:wrap}

/* ── Redirect Page ── */
.redirect-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary)}
.redirect-content{text-align:center;color:var(--pure-white);padding:60px}
.redirect-content h1{color:var(--pure-white);margin-bottom:20px}
.redirect-content p{font-size:1.2rem;margin-bottom:15px}
.redirect-content a{color:var(--pure-white);text-decoration:underline;font-weight:600}

/* ── Button Variations ── */
.btn-gift{background:var(--honey);color:var(--charcoal);padding:10px 20px;border-radius:var(--radius-small);font-weight:600;white-space:nowrap;flex-shrink:0;transition:background-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
.btn-gift:hover{background:#8B6420;color:var(--pure-white);transform:translateY(-2px)}

/* ── Product Image Placeholder Colors ── */
.lifevantage-img{background:linear-gradient(135deg,#4A7C59 0%,#6B9B7C 100%)}
.fasciablaster-img{background:linear-gradient(135deg,#4E7C8A 0%,#6B9BAE 100%)}
.youngliving-img{background:linear-gradient(135deg,#7A9E6E 0%,#B2C9A0 100%)}

/* ── Responsive — Therapists/Info ── */
@media (max-width:768px){
.therapist-full-header{grid-template-columns:1fr;gap:30px}
.therapist-full-image{max-width:300px;margin:0 auto}
.therapists-grid-home{grid-template-columns:1fr}
.info-grid{grid-template-columns:1fr}
.benefits-grid{grid-template-columns:1fr}
.callout-logo{max-width:280px}
}

/* ── Location Page ── */
.contact-info-section{padding:80px 0;background:var(--pure-white)}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px}
.contact-card{background:var(--sunlight);padding:40px;border-radius:var(--radius-large);text-align:center;box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease}
.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}
.contact-icon{font-size:3.5rem;margin-bottom:20px}
.contact-card h3{color:var(--slate-ocean);margin-bottom:15px}
.phone-large{font-size:2rem;font-weight:700;margin:20px 0}
.phone-large a{color:var(--slate-ocean)}
.map-section{padding:80px 0;background:var(--warm-linen)}
.map-container{margin-top:40px;border-radius:var(--radius-large);overflow:hidden;box-shadow:var(--shadow-medium)}
.map-placeholder{background:var(--ocean-mist);padding:60px 40px;text-align:center;min-height:450px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.map-placeholder ol{text-align:left;max-width:400px;margin:20px auto}
.service-areas{padding:80px 0;background:var(--pure-white)}
.areas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px}
.area-card{background:var(--sunlight);padding:30px;border-radius:var(--radius-medium);text-align:center}
.area-card h3{color:var(--slate-ocean);margin-bottom:10px}
.access-info{padding:80px 0;background:var(--warm-linen)}
.info-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}
.info-box{background:var(--sunlight);padding:40px;border-radius:var(--radius-large);text-align:center;box-shadow:var(--shadow-card)}
.info-box-icon{font-size:3rem;margin-bottom:15px}
.info-box h3{color:var(--slate-ocean);margin-bottom:15px}
.reviews-note{text-align:center;margin-top:30px}
.reviews-note a{color:var(--slate-ocean);font-weight:600}

/* ── Services Page ── */
.services-full-section{padding:80px 0;background:linear-gradient(to bottom,var(--warm-linen) 0%,var(--pure-white) 100%)}
.services-grid-full{display:grid;gap:40px}
.service-card-full{background:var(--sunlight);padding:50px;border-radius:var(--radius-large);box-shadow:var(--shadow-card);border:1px solid rgba(208,232,232,.15);transition:box-shadow .3s ease,border-top-color .3s ease;border-top:3px solid transparent}
.service-card-full:hover{box-shadow:var(--shadow-medium);border-top-color:var(--amber)}
.service-icon-large{font-size:3.5rem;margin-bottom:20px}
.service-duration{color:var(--slate-ocean);font-weight:600;margin-bottom:15px;font-size:.95rem;letter-spacing:.05em;text-transform:uppercase}
.service-card-full h3{color:var(--ocean-deep);font-size:2rem;margin-bottom:15px}
.service-card-full>p{font-size:1.05rem;line-height:1.85;margin-bottom:25px;color:var(--medium-gray)}
.service-benefits-list{background:var(--ocean-mist);padding:30px;border-radius:var(--radius-medium);margin:25px 0;border-left:3px solid var(--amber)}
.service-benefits-list h4{color:var(--ocean-deep);margin-bottom:15px;font-size:1.1rem}
.service-benefits-list ul{padding-left:25px}
.service-benefits-list li{margin-bottom:10px;line-height:1.7;color:var(--charcoal)}
.service-cta{display:flex;gap:15px;margin-top:25px;flex-wrap:wrap}
.addons-callout-section{padding:80px 0;background:var(--pure-white)}
.callout-box{background:var(--gradient-hero);color:var(--pure-white);padding:60px 40px;border-radius:var(--radius-large);text-align:center;max-width:800px;margin:0 auto}
.callout-box h2{color:var(--pure-white);font-size:2.5rem;margin-bottom:20px}
.callout-box p{font-size:1.2rem;margin-bottom:30px;color:var(--pure-white)}

/* ── Gift Cards Page ── */
.gift-card-hero{min-height:60vh;display:flex;align-items:center;background:var(--gradient-hero);position:relative;overflow:hidden}
.gift-card-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 15% 50%,rgba(232,184,109,.12) 0%,transparent 60%);z-index:1}
.gift-card-hero .hero-content{position:relative;z-index:2}
.gift-card-intro{padding:80px 0;background:var(--pure-white)}
.gift-card-features{padding:80px 0;background:var(--warm-linen)}
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}
.feature-card{background:var(--sunlight);padding:40px;border-radius:var(--radius-large);text-align:center;box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease}
.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}
.feature-icon{font-size:3.5rem;margin-bottom:20px}
.feature-card h3{color:var(--slate-ocean);margin-bottom:15px}
.gift-card-purchase{padding:80px 0;background:var(--pure-white)}
.purchase-box{background:var(--gradient-hero);color:var(--pure-white);padding:60px 40px;border-radius:var(--radius-large);text-align:center;max-width:700px;margin:0 auto}
.purchase-box h2{color:var(--pure-white);font-size:2.75rem;margin-bottom:20px}
.purchase-description{font-size:1.15rem;line-height:1.8;margin-bottom:35px;color:var(--pure-white)}
.btn-xl{padding:20px 50px;font-size:1.3rem;display:inline-flex;align-items:center;gap:15px}
.purchase-note{font-size:.95rem;margin-top:20px;color:var(--ocean-light)}
.gift-ideas{padding:80px 0;background:var(--warm-linen)}
.ideas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px}
.idea-card{background:var(--sunlight);padding:40px;border-radius:var(--radius-large);text-align:center;box-shadow:var(--shadow-card);position:relative;transition:transform .3s ease,box-shadow .3s ease}
.idea-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}
.featured-idea{border:3px solid var(--honey)}
.idea-price{font-size:3rem;font-weight:700;color:var(--slate-ocean);margin-bottom:15px;font-family:var(--font-heading)}
.idea-card h3{margin-bottom:15px}
.popular-badge{position:absolute;top:-15px;right:-15px;background:#8B6420;color:var(--pure-white);padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:700}
.how-it-works{padding:80px 0;background:var(--pure-white)}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px}
.step-card{text-align:center}
.occasions-section{padding:80px 0;background:var(--warm-linen)}
.occasions-content{text-align:center}
.occasions-content h2{margin-bottom:50px}
.occasions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;max-width:900px;margin:0 auto}
.occasion-item{background:var(--sunlight);padding:25px;border-radius:var(--radius-medium);box-shadow:var(--shadow-card);display:flex;flex-direction:column;align-items:center;gap:10px;transition:transform .3s ease}
.occasion-item:hover{transform:translateY(-3px)}
.occasion-icon{font-size:2.5rem}
.occasion-item span:last-child{font-weight:600;color:var(--slate-ocean)}
.gift-card-final-cta{padding:80px 0;background:var(--gradient-hero)}
.final-cta-box{text-align:center;color:var(--pure-white);max-width:700px;margin:0 auto}
.final-cta-box h2{color:var(--pure-white);font-size:2.75rem;margin-bottom:20px}
.final-cta-box p{font-size:1.15rem;margin-bottom:30px}
.final-cta-box .cta-note{font-size:1rem;margin-top:25px}
.final-cta-box .cta-note a{color:var(--pure-white);font-weight:700;text-decoration:underline}

/* ── Responsive — Batch 2 ── */
@media (max-width:768px){
.contact-grid,.features-grid,.ideas-grid,.steps-grid{grid-template-columns:1fr}
.occasions-grid{grid-template-columns:repeat(2,1fr)}
.service-cta{flex-direction:column}
}

/* ── Individual Therapist Pages ── */
.therapist-hero-individual,.therapist-profile-hero{min-height:70vh;display:flex;align-items:center;background:var(--gradient-hero);position:relative;overflow:hidden}
.therapist-hero-content{display:grid;grid-template-columns:350px 1fr;gap:50px;align-items:center}
.therapist-hero-image{border-radius:var(--radius-large);overflow:hidden;box-shadow:var(--shadow-large)}
.therapist-hero-image img{width:100%;height:auto;display:block}
.therapist-hero-info{color:var(--pure-white)}
.founder-badge-large{background:var(--gradient-gold);color:var(--charcoal);padding:10px 24px;border-radius:30px;font-size:1rem;font-weight:700;display:inline-block;margin-bottom:20px}
.specialty-badge-large{background:#456A38;color:var(--pure-white);padding:10px 24px;border-radius:30px;font-size:1rem;font-weight:700;display:inline-block;margin-bottom:20px}
.therapist-hero-info h1{color:var(--pure-white);font-size:3.5rem;margin-bottom:10px}
.therapist-title,.therapist-credentials{font-size:1.3rem;font-weight:600;margin-bottom:10px;color:var(--ocean-light)}
.therapist-specialty-text{font-size:1.15rem;margin-bottom:30px;color:var(--ocean-light)}
.hero-cta-buttons{display:flex;gap:15px;flex-wrap:wrap}

/* ── Therapist About ── */
.therapist-about{padding:80px 0;background:var(--pure-white)}
.about-content{max-width:900px;margin:0 auto}
.bio-content{line-height:1.9}
.bio-content .lead-text{font-size:1.25rem;color:var(--slate-ocean);margin-bottom:30px}
.bio-content p{margin-bottom:25px}

/* ── Therapist About Section (Mona page) ── */
.therapist-about-section{padding:80px 0;background:var(--pure-white)}
.about-content-detailed{max-width:900px;margin:0 auto;line-height:1.9}
.about-content-detailed .lead-text{font-size:1.25rem;color:var(--slate-ocean);margin-bottom:30px}
.about-text p{margin-bottom:25px}

/* ── Philosophy Section (Mona page) ── */
.philosophy-section{padding:80px 0;background:var(--warm-linen)}
.philosophy-box{max-width:1000px;margin:0 auto}
.philosophy-box h2{text-align:center;color:var(--ocean-deep);margin-bottom:40px}
.philosophy-box .philosophy-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px}
.philosophy-point{background:var(--sunlight);padding:35px;border-radius:var(--radius-large);text-align:center;box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease}
.philosophy-point:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}
.point-icon{font-size:3rem;margin-bottom:15px}
.philosophy-point h3{color:var(--slate-ocean);margin-bottom:10px;font-size:1.3rem}
.philosophy-point p{color:var(--medium-gray);font-size:.95rem;margin:0}

/* ── Therapist Services Section (Mona page) ── */
.therapist-services-section{padding:80px 0;background:var(--pure-white)}
.services-offered-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}
.service-offered-card{background:var(--sunlight);padding:35px;border-radius:var(--radius-large);box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease,border-top-color .3s ease;border-top:3px solid transparent}
.service-offered-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium);border-top-color:var(--amber)}
.service-offered-card h3{color:var(--slate-ocean);margin-bottom:10px;font-size:1.3rem}
.service-offered-card p{color:var(--medium-gray);font-size:.95rem;line-height:1.7;margin:0}

/* ── Therapist Products Section (Mona page) ── */
.therapist-products-section{padding:80px 0;background:var(--warm-linen)}
.therapist-products-section .products-callout{background:var(--gradient-hero);color:var(--pure-white);padding:60px;border-radius:var(--radius-large);text-align:center;max-width:900px;margin:0 auto}
.therapist-products-section .products-callout h2{color:var(--pure-white);margin-bottom:15px}
.products-callout-content{max-width:700px;margin:0 auto}
.products-features{display:flex;flex-direction:column;gap:12px;margin:30px auto;max-width:400px;text-align:left}
.product-feature-item{display:flex;align-items:center;gap:12px;font-size:1.05rem}
.feature-check{color:var(--honey);font-weight:700;font-size:1.2rem}

/* ── Testimonials Section (Mona page) ── */
.testimonials-section{padding:80px 0;background:var(--warm-linen)}
.testimonials-note{text-align:center;max-width:600px;margin:0 auto}
.testimonials-note p{font-size:1.1rem;color:var(--medium-gray)}
.testimonials-note a{color:var(--slate-ocean);font-weight:600}

/* ── Specialties Grid ── */
section.therapist-specialties{padding:80px 0;background:var(--warm-linen)}
.therapist-hero-info .therapist-specialties{padding:0;background:none;color:var(--ocean-light);font-size:1.15rem;margin-bottom:30px}
.specialties-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}
.specialty-card{background:var(--sunlight);padding:40px;border-radius:var(--radius-large);text-align:center;box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease}
.specialty-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}
.specialty-icon{font-size:3.5rem;margin-bottom:20px}
.specialty-card h3{color:var(--slate-ocean);margin-bottom:15px}

/* ── Therapist Philosophy ── */
.therapist-philosophy{padding:80px 0;background:var(--pure-white)}
.philosophy-content{max-width:900px;margin:0 auto;text-align:center}
.philosophy-content h2{margin-bottom:15px}
.philosophy-content .divider{margin:20px auto 40px}
.philosophy-text{text-align:left;line-height:1.9}
.philosophy-text p{margin-bottom:25px}

/* ── Products Callout (Wendy page) ── */
.therapist-products{padding:80px 0;background:var(--warm-linen)}
.products-callout{background:var(--gradient-hero);color:var(--pure-white);padding:60px;border-radius:var(--radius-large);text-align:center;max-width:900px;margin:0 auto}
.products-callout h2{color:var(--pure-white);margin-bottom:15px}
.products-callout .divider{margin:20px auto;background:var(--pure-white)}
.products-callout p{font-size:1.15rem;line-height:1.8;margin-bottom:30px;color:var(--pure-white)}
.products-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}

/* ── What to Expect ── */
.what-to-expect{padding:80px 0;background:var(--pure-white)}
.expect-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px}
.expect-item{text-align:center}
.expect-number{width:70px;height:70px;border-radius:50%;background:var(--slate-ocean);color:var(--pure-white);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 20px;font-family:var(--font-heading)}
.expect-item h3{color:var(--slate-ocean);margin-bottom:15px}

/* ── Heavenly Kneads Specific ── */
.heavenly-kneads-hero{min-height:60vh;display:flex;align-items:center;background:var(--gradient-hero);position:relative;text-align:center;overflow:hidden}
.heavenly-kneads-hero::after{content:'';position:absolute;right:-100px;top:50%;transform:translateY(-50%);width:500px;height:500px;border-radius:50%;border:1px solid rgba(184,212,218,.08);box-shadow:0 0 0 60px rgba(184,212,218,.03),0 0 0 120px rgba(184,212,218,.015);pointer-events:none}
.hk-hero-content{max-width:800px;margin:0 auto;position:relative;z-index:2}
.hk-logo-large{max-width:500px;margin:0 auto 30px;display:block}
.hk-hero-content h1{color:var(--pure-white);font-size:3.5rem;margin-bottom:15px}
.hk-tagline{color:var(--ocean-light);font-size:1.4rem;margin-bottom:10px;font-weight:600}
.hk-subtitle{color:var(--pure-white);font-size:1.2rem;font-style:italic}
.hk-about{padding:80px 0;background:var(--pure-white)}
.hk-about-content{max-width:900px;margin:0 auto;line-height:1.9}
.hk-about-content .lead-text{font-size:1.25rem;color:var(--slate-ocean);margin-bottom:30px}
.hk-about-content p{margin-bottom:25px}

/* ── Heavenly Kneads — Meet the Team ── */
.hk-meet-team{padding:60px 0;background:var(--warm-linen)}
.hk-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:900px;margin:0 auto}
.hk-team-card{display:block;text-decoration:none;border-radius:var(--radius-large);overflow:hidden;box-shadow:var(--shadow-medium);background:var(--pure-white);transition:transform .25s ease,box-shadow .25s ease}
.hk-team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-large)}
.hk-team-photo{aspect-ratio:1/1;overflow:hidden}
.hk-team-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.hk-team-card:hover .hk-team-photo img{transform:scale(1.04)}
.hk-team-label{padding:24px;text-align:center}
.hk-team-label h2{color:var(--slate-ocean);font-size:1.6rem;margin-bottom:6px}
.hk-team-label p{color:var(--slate-ocean);opacity:.75;font-size:.95rem;margin-bottom:12px}
.hk-team-cta{display:inline-block;color:var(--amber);font-weight:600;font-size:.95rem;letter-spacing:.02em}

/* ── Individual Therapist Sections ── */
.therapist-individual-section{padding:80px 0;background:var(--pure-white);scroll-margin-top:110px}
.therapist-individual-section.alternate-bg{background:var(--warm-linen)}
.therapist-profile-detailed{max-width:1000px;margin:0 auto}
.therapist-header-detailed{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start;margin-bottom:40px}
.therapist-image-detailed{border-radius:var(--radius-large);overflow:hidden;box-shadow:var(--shadow-medium)}
.therapist-image-detailed img{width:100%;height:auto;display:block}
.hk-badge{background:#456A38;color:var(--pure-white);padding:6px 16px;border-radius:20px;font-size:.9rem;font-weight:600;display:inline-block;margin-bottom:15px}
.therapist-info-detailed h2{color:var(--slate-ocean);margin-bottom:10px;font-size:2.5rem}
.therapist-info-detailed .therapist-title{font-weight:600;color:var(--medium-gray);margin-bottom:10px}
.therapist-info-detailed .therapist-specialty-text{color:var(--moss);font-size:1.05rem;margin-bottom:25px}
.therapist-bio-detailed h3{color:var(--slate-ocean);margin-bottom:20px;font-size:1.8rem}
.therapist-bio-detailed p{line-height:1.8;margin-bottom:20px}
.therapist-services-offered{background:var(--sunlight);padding:30px;border-radius:var(--radius-medium);margin-top:30px;border-left:3px solid var(--amber)}
.therapist-services-offered h3{color:var(--ocean-deep);margin-bottom:20px}
.therapist-services-offered ul{padding-left:25px}
.therapist-services-offered li{margin-bottom:12px;line-height:1.6}

/* ── Why HK Section ── */
.why-hk-section{padding:80px 0;background:var(--warm-linen)}
.why-hk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}
.why-hk-card{background:var(--sunlight);padding:40px;border-radius:var(--radius-large);text-align:center;box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease}
.why-hk-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}
.why-hk-icon{font-size:3.5rem;margin-bottom:20px}
.why-hk-card h3{color:var(--slate-ocean);margin-bottom:15px}

/* ── Combined Services ── */
.hk-services-combined{padding:80px 0;background:var(--pure-white)}
.combined-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}
.combined-service-card{background:var(--sunlight);padding:35px;border-radius:var(--radius-large);box-shadow:var(--shadow-card);transition:transform .3s ease,box-shadow .3s ease,border-top-color .3s ease;border-top:3px solid transparent}
.combined-service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium);border-top-color:var(--amber)}
.combined-service-card h3{color:var(--slate-ocean);margin-bottom:10px}
.service-provider{color:var(--ocean-deep);font-weight:700;font-size:.95rem;margin-bottom:15px}
.combined-service-card p{line-height:1.7}

/* ── Responsive — Batch 3 ── */
@media (max-width:768px){
.therapist-hero-content{grid-template-columns:1fr;text-align:center}
.therapist-hero-image{max-width:300px;margin:0 auto}
.therapist-hero-info h1{font-size:2.5rem}
.hero-cta-buttons{justify-content:center}
.hk-logo-large{max-width:300px}
.hk-hero-content h1{font-size:2.5rem}
.hk-team-grid{grid-template-columns:1fr;gap:24px;max-width:420px}
.hk-team-label h2{font-size:1.4rem}
.therapist-header-detailed{grid-template-columns:1fr;text-align:center}
.therapist-image-detailed{max-width:280px;margin:0 auto}
.specialties-grid,.why-hk-grid,.combined-services-grid,.expect-grid{grid-template-columns:1fr}
.philosophy-box .philosophy-content{grid-template-columns:1fr}
.services-offered-grid{grid-template-columns:1fr}
.products-features{max-width:100%}
}

/* ============================================
   ANIMATION SYSTEM
   ============================================ */

@media (prefers-reduced-motion:reduce){
*,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
.reveal,.reveal-left,.reveal-scale{opacity:1 !important;transform:none !important}
body{opacity:1 !important;animation:none !important}
}

@keyframes bodyFadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideRight{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:translateX(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes float{0%,100%{transform:translateY(-50%) rotate(0deg)}50%{transform:translateY(calc(-50% - 12px)) rotate(.5deg)}}

/* Reveal classes */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}
.reveal-left{opacity:0;transform:translateX(-28px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}
.reveal-scale{opacity:0;transform:scale(.95);transition:opacity .5s ease-out,transform .5s ease-out}
.reveal.is-visible,.reveal-left.is-visible,.reveal-scale.is-visible{opacity:1;transform:none}

/* Stagger children */
.stagger>.reveal:nth-child(1){transition-delay:0ms}
.stagger>.reveal:nth-child(2){transition-delay:80ms}
.stagger>.reveal:nth-child(3){transition-delay:160ms}
.stagger>.reveal:nth-child(4){transition-delay:240ms}
.stagger>.reveal:nth-child(5){transition-delay:320ms}
.stagger>.reveal:nth-child(6){transition-delay:400ms}
.stagger>.reveal:nth-child(7){transition-delay:480ms}
.stagger>.reveal:nth-child(8){transition-delay:560ms}
.stagger>.reveal:nth-child(9){transition-delay:640ms}
.stagger>.reveal:nth-child(10){transition-delay:720ms}
.stagger>.reveal:nth-child(11){transition-delay:800ms}

/* ============================================
   BLOG & FAQ SYSTEM
   ============================================ */

/* ── Blog Breadcrumb ── */
.blog-nav-breadcrumb{padding:15px 0;font-size:.9rem;color:var(--medium-gray)}
.blog-nav-breadcrumb a{color:var(--slate-ocean);font-weight:500}
.blog-nav-breadcrumb a:hover{color:var(--amber)}
.blog-nav-breadcrumb span{margin:0 8px;color:var(--ocean-light)}

/* ── Blog Listing Page ── */
.blog-listing{padding:80px 0;background:var(--warm-linen)}
.blog-filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:50px}
.blog-filter-btn{padding:10px 24px;border-radius:30px;border:2px solid var(--ocean-light);background:transparent;color:var(--slate-ocean);font-family:var(--font-body);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease}
.blog-filter-btn:hover{border-color:var(--amber);color:var(--amber)}
.blog-filter-btn.active{background:var(--slate-ocean);color:var(--pure-white);border-color:var(--slate-ocean)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}

/* ── Blog Card ── */
.blog-card{background:var(--sunlight);border-radius:var(--radius-large);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .35s cubic-bezier(.34,1.2,.64,1),box-shadow .35s ease,border-top-color .35s ease;border-top:3px solid transparent;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-medium);border-top-color:var(--amber)}
.blog-card-body{padding:30px;display:flex;flex-direction:column;flex:1}
.blog-card-category{display:inline-block;background:var(--ocean-mist);color:var(--ocean-deep);padding:5px 14px;border-radius:20px;font-size:.8rem;font-weight:600;margin-bottom:12px;width:fit-content}
.blog-card h3{color:var(--ocean-deep);font-size:1.3rem;margin-bottom:10px;line-height:1.4}
.blog-card h3 a{color:inherit}
.blog-card h3 a:hover{color:var(--amber)}
.blog-card-excerpt{color:var(--medium-gray);font-size:.95rem;line-height:1.7;margin-bottom:15px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid rgba(208,232,232,.3)}
.blog-card-meta{font-size:.85rem;color:var(--ocean-light);font-weight:500}
.blog-card-link{color:var(--slate-ocean);font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:5px}
.blog-card-link:hover{color:var(--amber)}
.blog-card-link::after{content:'→';transition:transform .3s ease}
.blog-card-link:hover::after{transform:translateX(4px)}

/* ── Blog Post Layout ── */
.blog-post-wrapper{display:grid;grid-template-columns:1fr 260px;gap:50px;max-width:1100px;margin:0 auto;padding:0 20px;align-items:start}
.blog-post{max-width:800px}

/* ── Blog Hero ── */
.blog-hero{min-height:40vh;display:flex;align-items:center;background:var(--gradient-hero);color:var(--pure-white);position:relative;overflow:hidden}
.blog-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 100% at 20% 50%,rgba(232,184,109,.08),transparent);z-index:1}
.blog-hero::after{content:'';position:absolute;right:-80px;top:50%;transform:translateY(-50%);width:400px;height:400px;border-radius:50%;border:1px solid rgba(184,212,218,.08);box-shadow:0 0 0 40px rgba(184,212,218,.04),0 0 0 80px rgba(184,212,218,.02);z-index:1;pointer-events:none}
.blog-hero .container{position:relative;z-index:2}
.blog-hero-inner{max-width:800px}
.blog-hero .blog-card-category{background:rgba(208,232,232,.2);color:var(--ocean-light);font-size:.85rem;margin-bottom:16px}
.blog-hero h1{color:var(--pure-white);font-size:3rem;text-shadow:0 2px 20px rgba(0,0,0,.3);margin-bottom:16px;line-height:1.2}
.blog-meta{display:flex;gap:20px;align-items:center;color:var(--ocean-light);font-size:.9rem;font-weight:500;flex-wrap:wrap}
.blog-meta span{display:inline-flex;align-items:center;gap:6px}

/* ── TL;DR Block ── */
.blog-tldr{background:var(--ocean-mist);border-left:4px solid var(--amber);padding:25px 30px;border-radius:0 var(--radius-medium) var(--radius-medium) 0;margin:40px 0 35px;position:relative}
.blog-tldr::before{content:'TL;DR';position:absolute;top:-12px;left:20px;background:#8B6420;color:var(--pure-white);padding:3px 14px;border-radius:12px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.blog-tldr p{color:var(--ocean-deep);font-size:1.05rem;line-height:1.8;margin:0;font-weight:400}

/* ── Blog Content Body ── */
.blog-content{padding:50px 0;background:var(--pure-white)}
.blog-content-body{font-family:var(--font-body);line-height:1.85;font-size:1.05rem}
.blog-content-body h2{color:var(--ocean-deep);font-size:1.9rem;margin:45px 0 20px;padding-top:20px;border-top:1px solid rgba(208,232,232,.3)}
.blog-content-body h2:first-child{border-top:none;margin-top:0;padding-top:0}
.blog-content-body h3{color:var(--slate-ocean);font-size:1.4rem;margin:30px 0 15px}
.blog-content-body p{margin-bottom:1.5rem;color:var(--charcoal)}
.blog-content-body ul,.blog-content-body ol{margin:0 0 1.5rem 1.5rem;color:var(--charcoal)}
.blog-content-body li{margin-bottom:10px;line-height:1.75}
.blog-content-body strong{color:var(--ocean-deep)}
.blog-content-body a{color:var(--slate-ocean);font-weight:600;text-decoration:underline;text-decoration-color:var(--ocean-light);text-underline-offset:3px}
.blog-content-body a:hover{color:var(--amber);text-decoration-color:var(--amber)}

/* Blog comparison table */
.blog-comparison-table{width:100%;border-collapse:collapse;margin:25px 0 35px;border-radius:var(--radius-medium);overflow:hidden;box-shadow:var(--shadow-card)}
.blog-comparison-table th{background:var(--slate-ocean);color:var(--pure-white);padding:14px 20px;text-align:left;font-weight:600;font-size:.95rem}
.blog-comparison-table td{padding:14px 20px;border-bottom:1px solid rgba(208,232,232,.3);font-size:.95rem}
.blog-comparison-table tr:nth-child(even){background:var(--sunlight)}
.blog-comparison-table tr:hover{background:var(--ocean-mist)}

/* ── Product Callout Box ── */
.blog-product-callout{background:var(--sunlight);border:1px solid rgba(208,232,232,.3);border-radius:var(--radius-medium);padding:25px 30px;margin:30px 0;position:relative}
.blog-product-callout::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-gold);border-radius:var(--radius-medium) var(--radius-medium) 0 0}
.blog-product-callout h4{color:var(--slate-ocean);font-size:1.1rem;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.blog-product-callout p{color:var(--medium-gray);font-size:.95rem;line-height:1.7;margin-bottom:10px}
.blog-product-callout .btn-link{font-size:.9rem}

/* ── Blog FAQ Section ── */
.blog-faq{background:var(--sunlight);padding:40px;border-radius:var(--radius-large);margin:50px 0 40px;border:1px solid rgba(208,232,232,.2)}
.blog-faq h2{color:var(--ocean-deep);font-size:1.8rem;margin-bottom:25px;text-align:center}
.blog-faq-item{border-bottom:1px solid rgba(208,232,232,.3);overflow:hidden}
.blog-faq-item:last-child{border-bottom:none}
.blog-faq-question{display:flex;justify-content:space-between;align-items:center;padding:18px 5px;cursor:pointer;font-weight:600;color:var(--ocean-deep);font-size:1.05rem;font-family:var(--font-heading);background:none;border:none;width:100%;text-align:left;gap:15px;transition:color .3s ease}
.blog-faq-question:hover{color:var(--amber)}
.blog-faq-question::after{content:'+';font-size:1.4rem;font-weight:300;color:var(--slate-ocean);transition:transform .3s ease;flex-shrink:0}
.blog-faq-item.active .blog-faq-question::after{transform:rotate(45deg);color:var(--amber)}
.blog-faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease}
.blog-faq-item.active .blog-faq-answer{max-height:500px;padding:0 5px 18px}
.blog-faq-answer p{color:var(--medium-gray);font-size:.95rem;line-height:1.75;margin:0}
.blog-faq-answer a{color:var(--slate-ocean);font-weight:600}

/* ── Blog CTA Box ── */
.blog-cta-box{background:var(--gradient-hero);color:var(--pure-white);padding:45px 40px;border-radius:var(--radius-large);text-align:center;margin:40px 0}
.blog-cta-box h3{color:var(--pure-white);font-size:1.8rem;margin-bottom:12px}
.blog-cta-box p{color:var(--ocean-light);font-size:1.05rem;margin-bottom:25px}
.blog-cta-box .cta-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}

/* ── Blog Author Card ── */
.blog-author{display:flex;gap:25px;align-items:start;background:var(--sunlight);padding:30px;border-radius:var(--radius-large);margin:40px 0;border:1px solid rgba(208,232,232,.2)}
.blog-author-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:var(--shadow-soft)}
.blog-author-avatar img{width:100%;height:100%;object-fit:cover}
.blog-author-info h4{color:var(--slate-ocean);margin-bottom:4px;font-size:1.15rem}
.blog-author-info .author-title{color:var(--moss);font-weight:600;font-size:.9rem;margin-bottom:10px}
.blog-author-info p{color:var(--medium-gray);font-size:.9rem;line-height:1.7;margin:0}

/* ── Blog Related Posts ── */
.blog-related{padding:60px 0;background:var(--warm-linen)}
.blog-related h2{text-align:center;color:var(--ocean-deep);margin-bottom:40px}
.blog-related .blog-grid{grid-template-columns:repeat(3,1fr)}

/* ── Blog Sidebar TOC ── */
.blog-sidebar-toc{position:sticky;top:100px;background:var(--sunlight);padding:25px;border-radius:var(--radius-medium);box-shadow:var(--shadow-card);border-left:3px solid var(--amber);max-height:calc(100vh - 120px);overflow-y:auto}
.blog-sidebar-toc h4{color:var(--ocean-deep);font-size:1rem;margin-bottom:15px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-body)}
.blog-sidebar-toc ul{list-style:none;padding:0;margin:0}
.blog-sidebar-toc li{margin-bottom:0}
.blog-sidebar-toc a{display:block;padding:8px 12px;color:var(--medium-gray);font-size:.88rem;font-weight:500;border-radius:var(--radius-small);transition:all .2s ease;line-height:1.4}
.blog-sidebar-toc a:hover{color:var(--slate-ocean);background:var(--ocean-mist)}
.blog-sidebar-toc a.active{color:var(--amber);font-weight:600;background:rgba(212,145,74,.08)}
.blog-sidebar-toc .toc-h3{padding-left:24px;font-size:.82rem}

/* ── Standalone FAQ Page ── */
.faq-section{padding:80px 0;background:var(--warm-linen)}
.faq-categories{max-width:900px;margin:0 auto}
.faq-category{margin-bottom:50px}
.faq-category h2{color:var(--ocean-deep);font-size:1.8rem;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid var(--ocean-light);display:flex;align-items:center;gap:12px}
.faq-category h2 span{font-size:1.8rem}
.faq-item{background:var(--sunlight);border-radius:var(--radius-medium);margin-bottom:12px;box-shadow:var(--shadow-card);overflow:hidden;transition:box-shadow .3s ease}
.faq-item:hover{box-shadow:var(--shadow-medium)}
.faq-question{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;cursor:pointer;font-weight:600;color:var(--ocean-deep);font-size:1.05rem;font-family:var(--font-heading);background:none;border:none;width:100%;text-align:left;gap:15px;transition:color .3s ease}
.faq-question:hover{color:var(--amber)}
.faq-question::after{content:'+';font-size:1.5rem;font-weight:300;color:var(--slate-ocean);transition:transform .3s ease;flex-shrink:0;width:24px;text-align:center}
.faq-item.active .faq-question::after{transform:rotate(45deg);color:var(--amber)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease}
.faq-item.active .faq-answer{max-height:600px;padding:0 25px 20px}
.faq-answer p{color:var(--medium-gray);font-size:.95rem;line-height:1.8;margin-bottom:8px}
.faq-answer a{color:var(--slate-ocean);font-weight:600}
.faq-answer a:hover{color:var(--amber)}

/* FDA Disclaimer */
.fda-disclaimer{background:var(--sunlight);border-left:3px solid var(--ocean-light);padding:15px 20px;margin:20px 0;border-radius:0 var(--radius-small) var(--radius-small) 0;font-size:.85rem;color:var(--medium-gray);line-height:1.6;font-style:italic}

/* ── Blog Responsive ── */
@media (max-width:1024px){
.blog-post-wrapper{grid-template-columns:1fr;gap:0}
.blog-sidebar-toc{display:none}
}
@media (max-width:768px){
.blog-grid,.blog-related .blog-grid{grid-template-columns:1fr}
.blog-hero h1{font-size:2.25rem}
.blog-faq{padding:25px 20px}
.blog-cta-box{padding:30px 20px}
.blog-cta-box .cta-buttons{flex-direction:column}
.blog-author{flex-direction:column;align-items:center;text-align:center}
.blog-filters{gap:8px}
.blog-filter-btn{padding:8px 18px;font-size:.85rem}
.blog-comparison-table{font-size:.85rem}
.blog-comparison-table th,.blog-comparison-table td{padding:10px 12px}
.faq-question{padding:16px 20px;font-size:1rem}
.faq-answer{padding:0 20px 16px}
}
@media (max-width:480px){
.blog-hero h1{font-size:1.85rem}
.blog-meta{flex-direction:column;gap:8px}
}

/* ── Accessibility: Skip Link ── */
.skip-link{position:absolute;top:-100%;left:0;background:var(--slate-ocean);color:#fff;padding:12px 20px;font-weight:600;z-index:9999;border-radius:0 0 var(--radius-small) 0;transition:top .2s ease;text-decoration:none;font-family:var(--font-body)}
.skip-link:focus{top:0}

/* ── Accessibility: Focus Visible ── */
:focus-visible{outline:3px solid var(--slate-ocean);outline-offset:3px;border-radius:var(--radius-small)}
.btn:focus-visible,.btn-book:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible{outline:3px solid var(--honey);outline-offset:3px}
.blog-faq-question:focus-visible,.faq-question:focus-visible{outline:3px solid var(--slate-ocean);outline-offset:2px}
.logo:focus-visible{outline:3px solid var(--slate-ocean);outline-offset:4px;border-radius:var(--radius-small)}
