/* ═══ Pearlux — Aever-Style Design System ═══ */
:root{
  --brand:#825546;
  --brand-dark:#3c2819;
  --brand-deep:#92654d;
  --cream:#fdfdfb;
  --cream-2:#f5f0e6;
  --cream-3:#faf8f3;
  --cream-4:#fcfbf7;
  --cream-5:#f6f1e7;
  --stone:#beb4af;
  --stone-2:#a39690;
  --stone-3:#e7e3e1;
  --stone-4:#8b7e77;
  --olive:#96916e;
  --olive-2:#7a7656;
  --gold:#c8a582;
  --ink:#171717;
  --ink-2:#3c2819;
  --ink-3:#404040;
  --muted:#9ca3af;
  --green:#4ba43b;
  --red:#e85852;
  --border:#e7e3e1;
  --r-sm:4px;
  --r-md:6px;
  --r-lg:8px;
  --r-xl:8px;
  --ease:cubic-bezier(.16,1.2,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:'Montserrat','Helvetica Neue',Arial,sans-serif;
  color:var(--ink-2);background:var(--cream-3);
  line-height:1.55;font-size:16px;font-weight:400;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}

/* Typography */
h1,h2,h3,h4{font-family:inherit;color:var(--brand-dark);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0}
h1{font-size:clamp(40px,6vw,72px);font-weight:500;letter-spacing:-.03em}
h2{font-size:clamp(32px,4.5vw,52px);font-weight:500;letter-spacing:-.025em;line-height:1.12}
h3{font-size:clamp(22px,2.5vw,28px);font-weight:600}
h4{font-size:18px;font-weight:600}
p{margin:0 0 12px;color:var(--ink-3);line-height:1.65}
.lead{font-size:clamp(16px,1.5vw,19px);color:var(--ink-3);max-width:640px;line-height:1.6}
.eyebrow{display:inline-block;font-size:12px;font-weight:600;color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}

/* Layout */
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.container-wide{max-width:1200px;margin:0 auto;padding:0 24px}
.container-narrow{max-width:860px;margin:0 auto;padding:0 24px}
section{padding:80px 0}
@media(min-width:768px){section{padding:110px 0}}

/* ═══ Navigation ═══ */
.nav{
  position:sticky;top:0;z-index:100;background:rgba(253,253,251,.88);
  -webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);
  border-bottom:1px solid rgba(130,85,70,.08);
  transition:padding .3s ease;
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:80px;gap:32px}
.nav-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-logo img{height:32px;width:auto;display:block}
.nav-logo-text{font-weight:600;color:var(--brand-dark);font-size:18px;letter-spacing:-.01em}
.nav-links{display:none;align-items:center;gap:34px;list-style:none;margin:0;padding:0}
@media(min-width:1024px){.nav-links{display:flex}}
.nav-links a{font-size:14px;font-weight:500;color:var(--ink-2);transition:color .2s ease;position:relative}
.nav-links a:hover{color:var(--brand)}
/* Dropdown */
.nav-dropdown{position:relative}
.nav-dropdown > a,.nav-dropdown > button{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:500;color:var(--ink-2);background:none;border:none;font-family:inherit;cursor:pointer;padding:0}
.nav-dropdown > a svg,.nav-dropdown > button svg{width:12px;height:12px;transition:transform .2s ease}
.nav-dropdown:hover > a,.nav-dropdown:hover > button,.nav-dropdown.open > a,.nav-dropdown.open > button{color:var(--brand)}
.nav-dropdown:hover > a svg,.nav-dropdown:hover > button svg,.nav-dropdown.open > a svg,.nav-dropdown.open > button svg{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:260px;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 20px 48px -16px rgba(60,40,25,.2);padding:10px;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s;list-style:none;margin:0;z-index:120}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(4px)}
.nav-dropdown-menu a{display:flex;gap:12px;padding:12px 14px;border-radius:4px;transition:background .15s ease}
.nav-dropdown-menu a:hover{background:var(--cream-2);color:var(--brand-dark)}
.nav-dropdown-menu .ndm-icon{flex-shrink:0;width:36px;height:36px;border-radius:6px;background:rgba(130,85,70,.08);color:var(--brand);display:flex;align-items:center;justify-content:center}
.nav-dropdown-menu .ndm-icon svg{width:18px;height:18px}
.nav-dropdown-menu .ndm-title{font-size:14px;font-weight:600;color:var(--brand-dark);letter-spacing:-.005em}
.nav-dropdown-menu .ndm-sub{font-size:12px;color:var(--ink-3);margin-top:2px}
.nav-cta{display:none;align-items:center;gap:8px;padding:12px 22px;border-radius:6px;background:var(--brand);color:#fff;font-size:14px;font-weight:600;transition:background .2s,transform .2s;white-space:nowrap}
@media(min-width:1024px){.nav-cta{display:inline-flex}}
.nav-cta:hover{background:var(--brand-deep);transform:translateY(-1px)}
.nav-cta svg{width:14px;height:14px}
.nav-mobile-toggle{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;width:40px;height:40px;color:var(--brand-dark);position:relative;z-index:101;cursor:pointer;flex-shrink:0}
@media(min-width:1024px){.nav-mobile-toggle{display:none}}
.nav-mobile-toggle svg{position:absolute;top:50%;left:50%;width:22px;height:22px;transform:translate(-50%,-50%);transition:opacity .2s ease,transform .35s var(--ease)}
.nav-mobile-toggle .ico-close{opacity:0;transform:translate(-50%,-50%) rotate(-45deg)}
body.nav-open .nav-mobile-toggle .ico-open{opacity:0;transform:translate(-50%,-50%) rotate(45deg)}
body.nav-open .nav-mobile-toggle .ico-close{opacity:1;transform:translate(-50%,-50%) rotate(0)}

.nav-mobile{
  position:fixed;top:80px;left:0;right:0;bottom:0;z-index:99;
  background:linear-gradient(180deg,var(--cream-3) 0%,var(--cream-2) 100%);
  padding:24px 28px 48px;
  display:flex;flex-direction:column;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  opacity:0;transform:translateY(-14px);visibility:hidden;
  transition:opacity .32s ease,transform .48s cubic-bezier(.16,1.2,.3,1),visibility 0s .48s;
}
.nav-mobile.open{
  opacity:1;transform:translateY(0);visibility:visible;
  transition:opacity .3s ease,transform .48s cubic-bezier(.16,1.2,.3,1),visibility 0s 0s;
}
.nav-mobile a,.nav-mobile .nm-group-title{
  opacity:0;transform:translateY(10px);
  transition:opacity .4s ease,transform .45s var(--ease);
}
.nav-mobile.open a,.nav-mobile.open .nm-group-title{opacity:1;transform:translateY(0)}
.nav-mobile.open > *:nth-child(1){transition-delay:.06s}
.nav-mobile.open > *:nth-child(2){transition-delay:.09s}
.nav-mobile.open > *:nth-child(3){transition-delay:.12s}
.nav-mobile.open > *:nth-child(4){transition-delay:.15s}
.nav-mobile.open > *:nth-child(5){transition-delay:.18s}
.nav-mobile.open > *:nth-child(6){transition-delay:.21s}
.nav-mobile.open > *:nth-child(7){transition-delay:.24s}
.nav-mobile.open > *:nth-child(8){transition-delay:.27s}
.nav-mobile.open > *:nth-child(9){transition-delay:.3s}
.nav-mobile.open > *:nth-child(10){transition-delay:.33s}
.nav-mobile.open > *:nth-child(n+11){transition-delay:.36s}
/* Bulletproof SVG sizing inside mobile nav — forces all icons to fixed compact size */
.nav-mobile svg{width:16px;height:16px;flex-shrink:0}
.nav-mobile a{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-size:17px;font-weight:500;color:var(--brand-dark);
  padding:13px 0;border-bottom:1px solid rgba(130,85,70,.08);
  letter-spacing:-.005em;text-decoration:none;
}
.nav-mobile a:hover{color:var(--brand)}
.nav-mobile a svg.nm-arrow{width:12px;height:12px;color:var(--stone-2);opacity:.55;transition:transform .25s ease,opacity .2s ease;flex-shrink:0}
.nav-mobile a:hover svg.nm-arrow{transform:translateX(4px);color:var(--brand);opacity:1}
.nav-mobile .nm-group-title{
  font-size:11px;font-weight:600;color:var(--stone-2);letter-spacing:.14em;text-transform:uppercase;
  margin:22px 0 6px;padding:0;border:none;display:block;
}
.nav-mobile .nm-sub{
  padding-left:14px;font-size:16px;font-weight:400;color:var(--ink-3);
}
.nav-mobile .nm-sub .nm-sub-sub{font-size:12px;color:var(--stone-2);letter-spacing:.01em;font-weight:400;display:block;margin-top:2px}
.nav-mobile .nm-cta{
  margin-top:24px;padding:14px 26px;font-size:15px;width:100%;justify-content:center;
  border-radius:6px;background:var(--brand);color:#fff;font-weight:600;
  display:flex;align-items:center;gap:10px;border-bottom:none;
}
.nav-mobile .nm-cta svg{width:14px;height:14px}
.nav-mobile .nm-cta:hover{background:var(--brand-deep);color:#fff}
.nav-mobile .nm-social{display:flex;gap:10px;justify-content:center;margin-top:24px;padding:0;border:none}
.nav-mobile .nm-social a{
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(130,85,70,.15);
  background:#fff;color:var(--brand);
  display:flex;align-items:center;justify-content:center;padding:0;
  flex-shrink:0;
}
.nav-mobile .nm-social a:hover{background:var(--brand);color:#fff}
.nav-mobile .nm-social svg{width:15px;height:15px;flex-shrink:0}
.nav-mobile .nm-legal{
  display:flex;gap:18px;justify-content:center;flex-wrap:wrap;
  font-size:12px;color:var(--stone-2);margin-top:22px;padding:0;border:none;
}
.nav-mobile .nm-legal a{
  font-size:12px;color:var(--stone-2);font-weight:500;padding:0;border:none;display:inline;
}
.nav-mobile .nm-legal a:hover{color:var(--brand)}
body.nav-open{overflow:hidden}

/* Announcement bar */
.announcement{background:var(--brand-dark);color:#fff;font-size:13px;text-align:center;padding:10px 16px;font-weight:500;letter-spacing:.01em}
.announcement strong{font-weight:600}

/* ═══ Buttons ═══ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:6px;font-size:15px;font-weight:600;transition:all .25s var(--ease);border:none;cursor:pointer;text-align:center}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 8px 24px rgba(130,85,70,.22)}
.btn-primary:hover{background:var(--brand-deep);transform:translateY(-2px);box-shadow:0 12px 32px rgba(130,85,70,.3)}
.btn-outline{background:transparent;color:var(--brand-dark);border:1.5px solid var(--brand-dark)}
.btn-outline:hover{background:var(--brand-dark);color:#fff}
.btn-ghost{background:transparent;color:var(--brand);padding:10px 16px}
.btn-ghost:hover{color:var(--brand-deep)}
.btn-lg{padding:17px 34px;font-size:16px}
.btn-sm{padding:10px 18px;font-size:13px}
.btn svg{width:14px;height:14px;flex-shrink:0}

/* ═══ Hero ═══ */
.hero{position:relative;padding:60px 0 80px;overflow:hidden;background:linear-gradient(180deg,var(--cream-3) 0%,var(--cream-2) 100%)}
/* Home: fully seamless beige BG from hero to footer — gradient lives on body, every section transparent */
body.home-beige{
  background:
    radial-gradient(ellipse 80% 45% at 90% 8%,rgba(200,165,130,.22) 0%,transparent 55%),
    radial-gradient(ellipse 70% 50% at 10% 30%,rgba(130,85,70,.08) 0%,transparent 60%),
    radial-gradient(ellipse 70% 40% at 85% 60%,rgba(150,145,110,.10) 0%,transparent 55%),
    radial-gradient(ellipse 60% 40% at 15% 85%,rgba(200,165,130,.14) 0%,transparent 60%),
    linear-gradient(180deg,var(--cream-3) 0%,var(--cream-4) 35%,var(--cream-2) 70%,var(--cream-5) 100%);
  background-attachment:fixed;
}
body.home-beige .hero{background:transparent}
body.home-beige .hero-bg{background:none}
body.home-beige .sensation-section{background:transparent}
body.home-beige section{background:transparent!important}
.hero-bg{position:absolute;inset:0;background:
  radial-gradient(ellipse 60% 40% at 85% 15%,rgba(200,165,130,.18) 0%,transparent 55%),
  radial-gradient(ellipse 60% 50% at 15% 85%,rgba(130,85,70,.1) 0%,transparent 60%);z-index:0;pointer-events:none}
.hero > .container{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media(min-width:960px){.hero-grid{grid-template-columns:1.1fr 1fr;gap:72px}}
.hero-title{margin-bottom:22px}
.hero-title em{font-style:italic;color:var(--brand);font-weight:400}
.hero-sub{font-size:clamp(16px,1.4vw,19px);color:var(--ink-3);margin-bottom:32px;max-width:540px;line-height:1.6}
.hero-meta{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}
.hero-meta-item{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-3);font-weight:500}
.hero-meta-item svg{width:16px;height:16px;color:var(--brand);flex-shrink:0}
.hero-cta-row{display:flex;flex-wrap:wrap;gap:12px}
.hero-image{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;background:var(--cream-2);box-shadow:0 40px 80px -30px rgba(60,40,25,.3)}
.hero-image img{width:100%;height:100%;object-fit:cover}
.hero-image-badge{position:absolute;bottom:24px;left:24px;right:24px;padding:18px 22px;background:rgba(253,253,251,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--r-md);display:flex;align-items:center;gap:14px;box-shadow:0 8px 28px rgba(60,40,25,.15)}
.hero-image-badge-icon{width:42px;height:42px;border-radius:8px;background:var(--brand);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.hero-image-badge-title{font-weight:600;color:var(--brand-dark);font-size:14px;letter-spacing:-.005em}
.hero-image-badge-sub{font-size:12px;color:var(--ink-3);margin-top:2px}

/* ═══ Section header ═══ */
.section-header{text-align:center;max-width:720px;margin:0 auto 56px}
.section-header.left{text-align:left;margin-left:0}
.section-header p{font-size:17px;color:var(--ink-3);margin-top:18px}

/* ═══ Treatment cards ═══ */
.tr-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:680px){.tr-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.tr-grid{grid-template-columns:repeat(3,1fr)}}
.tr-card{position:relative;display:flex;flex-direction:column;background:var(--cream-3);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s ease}
.tr-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -25px rgba(60,40,25,.25)}
.tr-card-img{aspect-ratio:4/3;overflow:hidden;background:var(--cream-2)}
.tr-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tr-card:hover .tr-card-img img{transform:scale(1.05)}
.tr-card-body{padding:28px 26px 30px;display:flex;flex-direction:column;flex:1}
.tr-card-title{font-size:22px;font-weight:600;color:var(--brand-dark);margin-bottom:10px;letter-spacing:-.015em}
.tr-card-desc{font-size:14.5px;color:var(--ink-3);line-height:1.6;margin-bottom:20px;flex:1}
.tr-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.tr-card-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;background:rgba(130,85,70,.08);font-size:12px;font-weight:500;color:var(--brand)}
.tr-card-price{display:flex;align-items:baseline;gap:10px;margin-bottom:18px}
.tr-card-price-now{font-size:28px;font-weight:600;color:var(--brand-dark);letter-spacing:-.02em}
.tr-card-price-was{font-size:15px;color:var(--stone-2);text-decoration:line-through}
.tr-card-price-from{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-right:2px}
.tr-card-cta{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-size:14px;font-weight:600;margin-top:auto}
.tr-card-cta:hover{color:var(--brand-deep)}
.tr-card-cta svg{transition:transform .3s ease;width:14px;height:14px}
.tr-card-cta:hover svg{transform:translateX(4px)}

/* ═══ Features (checklist) ═══ */
.feat-grid{display:grid;grid-template-columns:1fr;gap:28px}
@media(min-width:720px){.feat-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.feat-grid{grid-template-columns:repeat(3,1fr)}}
.feat-item{display:flex;gap:16px;align-items:flex-start}
.feat-item-icon{width:44px;height:44px;border-radius:8px;background:rgba(130,85,70,.08);color:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.feat-item-icon svg{width:22px;height:22px}
.feat-item-title{font-size:17px;font-weight:600;color:var(--brand-dark);margin-bottom:6px;letter-spacing:-.01em}
.feat-item-desc{font-size:14.5px;color:var(--ink-3);line-height:1.6}

/* ═══ Process steps ═══ */
.steps{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:720px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{padding:28px 24px;background:var(--cream-3);border:1px solid var(--border);border-radius:var(--r-md);position:relative}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;font-size:14px;font-weight:600;margin-bottom:16px}
.step h4{font-size:17px;font-weight:600;margin-bottom:8px;color:var(--brand-dark)}
.step p{font-size:14px;color:var(--ink-3);margin:0;line-height:1.55}

/* ═══ Split section (image + text) ═══ */
.split{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:72px}}
.split.reverse .split-text{order:2}
@media(max-width:899px){.split.reverse .split-text{order:0}}
.split-image{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;background:var(--cream-2)}
.split-image img{width:100%;height:100%;object-fit:cover}
.split h2{margin-bottom:20px}
.split p{font-size:16.5px;color:var(--ink-3);line-height:1.7;margin-bottom:14px}

/* ═══ Pricing table ═══ */
.price-table-wrap{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--border);background:#fff}
.price-table{width:100%;border-collapse:collapse;min-width:560px}
.price-table th{text-align:left;padding:18px 22px;font-size:12px;font-weight:600;color:var(--stone-2);text-transform:uppercase;letter-spacing:.08em;background:var(--cream-4);border-bottom:1px solid var(--border)}
.price-table td{padding:20px 22px;font-size:15px;color:var(--ink-2);border-bottom:1px solid var(--border)}
.price-table tr:last-child td{border-bottom:none}
.price-table .price-was{color:var(--stone-2);text-decoration:line-through;margin-right:10px;font-size:13px}
.price-table .price-now{color:var(--brand-dark);font-weight:600;font-size:17px}

/* ═══ FAQ ═══ */
.faq-list{max-width:820px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;background:none;border:none;text-align:left;font-size:17px;font-weight:500;color:var(--brand-dark);letter-spacing:-.01em;line-height:1.4;font-family:inherit}
.faq-q svg{width:20px;height:20px;color:var(--brand);flex-shrink:0;transition:transform .3s ease}
.faq-item.open .faq-q svg{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;color:var(--ink-3);font-size:15.5px;line-height:1.7}
.faq-a-inner{padding:0 0 22px;max-width:680px}
.faq-item.open .faq-a{max-height:600px}

/* ═══ CTA banner ═══ */
.cta-banner{position:relative;padding:72px 40px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--brand-dark) 0%,var(--brand) 55%,var(--brand-deep) 100%);color:#fff;text-align:center;overflow:hidden}
.cta-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(200,165,130,.2) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(150,145,110,.15) 0%,transparent 50%)}
.cta-banner > *{position:relative;z-index:1}
.cta-banner h2{color:#fff;margin-bottom:16px}
.cta-banner p{color:rgba(255,255,255,.8);font-size:17px;margin-bottom:32px}
.cta-banner .btn-primary{background:#fff;color:var(--brand-dark);box-shadow:0 12px 32px rgba(0,0,0,.2)}
.cta-banner .btn-primary:hover{background:var(--cream-2);color:var(--brand-dark)}

/* ═══ Trust row ═══ */
.trust-row{display:flex;flex-wrap:wrap;gap:14px 36px;justify-content:center;align-items:center;padding-top:28px;margin-top:28px;border-top:1px solid var(--border)}
.trust-item{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-3);font-weight:500}
.trust-item svg{width:18px;height:18px;color:var(--green)}

/* ═══ Locations ═══ */
.loc-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:720px){.loc-grid{grid-template-columns:repeat(2,1fr)}}
.loc-card{padding:32px 28px;background:var(--cream-3);border:1px solid var(--border);border-radius:var(--r-md)}
.loc-card h3{font-size:22px;margin-bottom:10px}
.loc-card-addr{font-size:15.5px;color:var(--ink-3);line-height:1.6;margin-bottom:20px}
.loc-card-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:6px;background:rgba(75,164,59,.12);color:var(--green);font-size:12px;font-weight:600;margin-bottom:14px}

/* Location page specific */
.loc-hours{list-style:none;margin:0;padding:0}
.loc-hours li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:15px}
.loc-hours li:last-child{border-bottom:none}
.loc-hours .day{color:var(--ink-3);font-weight:500}
.loc-hours .hrs{color:var(--brand-dark);font-weight:600}
.loc-hours .closed{color:var(--red);font-weight:500}
.map-embed{border-radius:8px;overflow:hidden;border:1px solid var(--border);aspect-ratio:16/10;background:var(--cream-2)}
.map-embed iframe{width:100%;height:100%;border:0;display:block}
.info-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:720px){.info-grid{grid-template-columns:repeat(3,1fr)}}
.info-card{padding:26px 24px;background:#fff;border:1px solid var(--border);border-radius:8px}
.info-card-icon{width:40px;height:40px;border-radius:8px;background:rgba(130,85,70,.08);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.info-card-icon svg{width:20px;height:20px}
.info-card h4{font-size:16px;font-weight:600;color:var(--brand-dark);margin-bottom:6px}
.info-card p{font-size:14px;color:var(--ink-3);line-height:1.55;margin:0}

/* ═══ Team ═══ */
.team-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:720px){.team-grid{grid-template-columns:repeat(3,1fr)}}
.team-card{background:var(--cream-3);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}
.team-card-img{aspect-ratio:1/1;overflow:hidden;background:var(--cream-2)}
.team-card-img img{width:100%;height:100%;object-fit:cover}
.team-card-body{padding:22px 24px 26px}
.team-card-name{font-size:19px;font-weight:600;color:var(--brand-dark);margin-bottom:4px}
.team-card-role{font-size:13px;color:var(--brand);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}
.team-card-bio{font-size:14px;color:var(--ink-3);line-height:1.6}

/* ═══ Footer ═══ */
.footer{background:var(--brand-dark);color:rgba(255,255,255,.75);padding:72px 0 32px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1)}
@media(min-width:720px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr}}
.footer h4{color:#fff;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.footer-brand img{height:28px}
.footer-brand-name{font-weight:600;color:#fff;font-size:19px}
.footer-about{font-size:14px;line-height:1.6;margin-bottom:20px;max-width:300px;color:rgba(255,255,255,.7)}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:12px}
.footer-links a{font-size:14px;color:rgba(255,255,255,.65);transition:color .2s}
.footer-links a:hover{color:#fff}
.footer-bottom{display:flex;flex-direction:column;gap:12px;padding-top:32px;align-items:center;text-align:center;font-size:13px;color:rgba(255,255,255,.55)}
@media(min-width:720px){.footer-bottom{flex-direction:row;justify-content:space-between;text-align:left}}
.footer-socials{display:flex;gap:14px}
.footer-socials a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:background .2s}
.footer-socials a:hover{background:rgba(255,255,255,.15)}
.footer-socials svg{width:16px;height:16px;color:#fff}

/* ═══ Breadcrumb ═══ */
.breadcrumb{font-size:13px;color:var(--stone-2);padding-top:24px}
.breadcrumb a{color:var(--stone-2);transition:color .2s}
.breadcrumb a:hover{color:var(--brand)}
.breadcrumb span{margin:0 8px;color:var(--stone)}

/* ═══ News / Article ═══ */
.news-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:720px){.news-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.news-grid{grid-template-columns:repeat(3,1fr)}}
.news-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s ease;text-decoration:none;color:inherit}
.news-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -25px rgba(60,40,25,.2)}
.news-card-img{aspect-ratio:16/10;overflow:hidden;background:var(--cream-2)}
.news-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.news-card:hover .news-card-img img{transform:scale(1.04)}
.news-card-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.news-card-meta{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--stone-2);letter-spacing:.04em;text-transform:uppercase;font-weight:600;margin-bottom:10px}
.news-card-meta .sep{color:var(--stone)}
.news-card-title{font-size:18px;font-weight:600;color:var(--brand-dark);margin-bottom:10px;letter-spacing:-.015em;line-height:1.3}
.news-card-excerpt{font-size:14.5px;color:var(--ink-3);line-height:1.6;margin-bottom:16px;flex:1}
.news-card-more{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-size:13px;font-weight:600;margin-top:auto}

/* Article page */
.article-header{padding-top:48px;padding-bottom:32px}
.article-meta{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;font-size:13px;color:var(--stone-2);margin-bottom:18px}
.article-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--stone);display:inline-block}
.article-meta time,.article-meta address{font-style:normal}
.article-meta .badge{display:inline-flex;padding:4px 10px;border-radius:6px;background:rgba(130,85,70,.08);color:var(--brand);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.article h1{font-size:clamp(32px,5vw,50px);font-weight:500;letter-spacing:-.025em;line-height:1.1;color:var(--brand-dark);margin-bottom:16px}
.article .lead-sub{font-size:clamp(17px,1.7vw,20px);color:var(--ink-3);max-width:720px;line-height:1.55;margin-bottom:28px}
.article-hero-img{border-radius:8px;overflow:hidden;aspect-ratio:16/9;background:var(--cream-2);margin-bottom:40px;max-height:520px}
.article-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:768px){.article-header{padding-top:28px;padding-bottom:20px}.article-hero-img{margin-left:-24px;margin-right:-24px;border-radius:0;aspect-ratio:4/3;margin-bottom:28px}}
.prose{max-width:780px;margin:0 auto;font-size:17px;line-height:1.75;color:var(--ink-3)}
.prose h2{font-size:clamp(22px,2.6vw,30px);color:var(--brand-dark);margin:56px 0 18px;letter-spacing:-.02em;font-weight:600}
.prose h3{font-size:19px;color:var(--brand-dark);margin:36px 0 12px;font-weight:600;letter-spacing:-.01em}
.prose p{margin:0 0 18px}
.prose p strong{color:var(--brand-dark);font-weight:600}
.prose ul,.prose ol{margin:0 0 22px;padding-left:20px}
.prose li{margin-bottom:8px}
.prose blockquote{margin:28px 0;padding:18px 24px;border-left:3px solid var(--brand);background:var(--cream-3);font-style:italic;color:var(--brand-dark);border-radius:0 8px 8px 0}
.prose a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.prose a:hover{color:var(--brand-deep)}
.article-cta{max-width:780px;margin:48px auto 0;padding:36px 32px;background:var(--cream-2);border-radius:8px;text-align:center}
.article-cta h3{font-size:22px;color:var(--brand-dark);margin-bottom:10px;letter-spacing:-.015em;font-weight:600}
.article-cta p{font-size:15px;color:var(--ink-3);margin-bottom:20px}
.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;padding-top:28px;border-top:1px solid var(--border);max-width:780px;margin-left:auto;margin-right:auto}
.article-tag{padding:5px 12px;border-radius:6px;background:var(--cream-3);font-size:12px;color:var(--ink-3);font-weight:500}

/* ═══ Reveal animations ═══ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ═══ Special Offer (Pfingsten / Sensation) ═══ */
.offer-hero{
  position:relative;padding:80px 0 96px;color:#fff;overflow:hidden;isolation:isolate;
  background:linear-gradient(130deg,#2d1d10 0%,#3c2819 25%,#825546 55%,#92654d 85%,#6b4536 100%);
  background-size:280% 100%;
  animation:sensationBg 22s ease-in-out infinite;
}
.offer-hero::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 40% at 85% 15%,rgba(243,217,183,.18),transparent 55%),
             radial-gradient(ellipse 60% 50% at 15% 85%,rgba(253,253,251,.06),transparent 60%);
}
.offer-hero > .container{position:relative;z-index:2}
.offer-hero > .oh-blob{z-index:0}
.offer-hero h1{color:#fff;font-weight:500}
.offer-hero h1 em{color:#f3d9b7;font-style:italic;font-weight:400}
.offer-hero .lead{color:rgba(255,255,255,.82);max-width:640px}
.offer-hero .eyebrow{color:#f3d9b7}
.offer-badge-big{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;border-radius:8px;background:#fff;color:var(--brand-dark);font-size:14px;font-weight:700;margin-bottom:28px;letter-spacing:.02em}
.offer-badge-big .dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(232,88,82,.5);animation:offerPulse 1.6s ease-out infinite}
@keyframes offerPulse{0%{box-shadow:0 0 0 0 rgba(232,88,82,.6)}70%{box-shadow:0 0 0 10px rgba(232,88,82,0)}100%{box-shadow:0 0 0 0 rgba(232,88,82,0)}}

/* Countdown */
.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:480px;margin-top:28px}
.cd-cell{background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:14px 8px;text-align:center}
.cd-num{font-size:clamp(28px,4vw,38px);font-weight:600;color:#fff;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.cd-lbl{font-size:10px;font-weight:600;color:rgba(255,255,255,.65);letter-spacing:.14em;text-transform:uppercase;margin-top:6px}

/* Offer cards */
.offer-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:760px){.offer-grid{grid-template-columns:repeat(3,1fr)}}
.offer-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;position:relative;transition:transform .4s var(--ease),box-shadow .4s ease}
.offer-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -25px rgba(60,40,25,.2)}
.offer-card.popular{border-color:var(--brand);border-width:2px}
.offer-card-top{padding:22px 24px 0;position:relative}
.offer-card-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:6px;background:var(--red);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.offer-card-tag.brand{background:var(--brand)}
.offer-card-tag.olive{background:var(--olive-2)}
.offer-card-body{padding:16px 24px 24px;display:flex;flex-direction:column;flex:1}
.offer-card h3{font-size:24px;font-weight:600;color:var(--brand-dark);margin-bottom:4px;letter-spacing:-.018em}
.offer-card-sub{font-size:13px;color:var(--stone-2);font-weight:500;margin-bottom:14px}
.offer-card-price{display:flex;align-items:baseline;gap:10px;padding:14px 0;margin-bottom:14px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.offer-card-now{font-size:34px;font-weight:600;color:var(--brand-dark);letter-spacing:-.02em}
.offer-card-was{font-size:15px;color:var(--stone-2);text-decoration:line-through}
.offer-card-save{margin-left:auto;padding:4px 9px;border-radius:6px;background:rgba(75,164,59,.12);color:var(--green);font-size:12px;font-weight:700}
.offer-card-list{list-style:none;padding:0;margin:0 0 20px}
.offer-card-list li{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-size:14px;color:var(--ink-3);line-height:1.5}
.offer-card-list li svg{width:16px;height:16px;color:var(--green);flex-shrink:0;margin-top:3px}
.offer-card-avail{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:8px;background:var(--cream-3);font-size:12.5px;color:var(--ink-3);margin-bottom:14px}
.offer-card-avail .bar{flex:1;height:6px;background:var(--cream-2);border-radius:3px;overflow:hidden;margin:0 4px}
.offer-card-avail .bar-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--olive-2));border-radius:3px}
.offer-card-avail.warn .bar-fill{background:linear-gradient(90deg,#f59e0b,var(--red))}
.offer-card-avail.warn{background:rgba(232,88,82,.06);color:var(--red)}
.offer-card-cta{margin-top:auto}

/* ── Hero dentist endorsement (compact, inline) ── */
.hero-endorsement{
  display:inline-flex;align-items:center;gap:12px;
  margin-top:24px;padding:10px 16px 10px 10px;
  background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(130,85,70,.15);border-radius:8px;
  max-width:100%;
}
.hero-endorsement .he-portrait{flex-shrink:0;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--cream-2);border:1.5px solid #fff;box-shadow:0 2px 8px rgba(60,40,25,.1)}
.hero-endorsement .he-portrait img{width:100%;height:100%;object-fit:cover;display:block}
.hero-endorsement .he-title{font-size:13px;font-weight:600;color:var(--brand-dark);line-height:1.2;letter-spacing:-.005em}
.hero-endorsement .he-sub{font-size:11.5px;color:var(--ink-3);margin-top:2px;letter-spacing:.01em}
.hero-endorsement .he-sub a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
.hero-endorsement .he-check{width:14px;height:14px;color:var(--green);margin-right:2px}

/* ── Dentist recommendation claim ── */
.dentist-claim{
  position:relative;padding:26px 30px;border:1px solid var(--border);border-radius:8px;
  background:var(--cream-4);
  display:flex;gap:22px;align-items:center;max-width:880px;margin:0 auto;
}
.dentist-claim .dc-portrait{flex-shrink:0;width:68px;height:68px;border-radius:50%;overflow:hidden;background:var(--cream-2);border:2px solid #fff;box-shadow:0 4px 14px rgba(60,40,25,.12)}
.dentist-claim .dc-portrait img{width:100%;height:100%;object-fit:cover;display:block}
.dentist-claim .dc-body p{font-size:clamp(15px,1.6vw,17px);color:var(--brand-dark);line-height:1.5;margin:0 0 4px;font-weight:500;font-style:italic;letter-spacing:-.01em}
.dentist-claim .dc-body p strong{font-weight:700;font-style:normal}
.dentist-claim .dc-meta{font-size:12px;color:var(--stone-2);letter-spacing:.06em;text-transform:uppercase;font-weight:600}
@media(max-width:680px){
  .dentist-claim{flex-direction:column;text-align:center;padding:28px 24px}
}

/* ── Sensation Section — inherits hero beige, no white gap ── */
.sensation-section{
  padding:40px 0 56px;
  background:linear-gradient(180deg,var(--cream-2) 0%,var(--cream-2) 100%);
}
/* ── Sensation Strip — contained, rounded, tilted as a whole ── */
.sensation-strip{
  display:block;position:relative;overflow:hidden;padding:44px 40px;color:#fff;text-decoration:none;
  border-radius:8px;
  transform:rotate(-1.4deg);
  background:linear-gradient(120deg,#2d1d10 0%,#3c2819 22%,#825546 48%,#92654d 72%,#6b4536 100%);
  background-size:320% 100%;
  animation:sensationBg 11s ease-in-out infinite;
  isolation:isolate;
  box-shadow:0 20px 50px -20px rgba(60,40,25,.45);
}
.sensation-strip::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 60% at 20% 30%,rgba(243,217,183,.15),transparent 65%),
             radial-gradient(ellipse 60% 50% at 85% 75%,rgba(200,165,130,.12),transparent 65%);
}
.sensation-strip .ss-content{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;
  position:relative;z-index:2;
}
.sensation-strip .ss-text{max-width:640px}
.sensation-strip .ss-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:6px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.sensation-strip h3{font-size:clamp(22px,3.2vw,30px);color:#fff;margin:0 0 8px;font-weight:500;letter-spacing:-.02em;line-height:1.18}
.sensation-strip p{color:rgba(255,255,255,.8);margin:0;font-size:15px;line-height:1.55}
.sensation-strip .ss-cta{flex-shrink:0}
.sensation-strip .ss-cta .btn-primary{background:#fff;color:var(--brand-dark);box-shadow:0 12px 32px rgba(0,0,0,.3)}
@media(max-width:679px){
  .sensation-strip{padding:32px 24px;transform:rotate(-1.2deg)}
  .sensation-strip h3{font-size:22px}
}

/* Wabbling blobs — shared by sensation-strip and offer-hero, strong motion */
.ss-blob,.oh-blob{
  position:absolute;border-radius:50%;
  filter:blur(60px);pointer-events:none;mix-blend-mode:screen;
  will-change:transform;z-index:0;
}
.ss-blob-1,.oh-blob-1{
  width:min(520px,85vw);aspect-ratio:1/1;height:auto;
  background:radial-gradient(circle,rgba(243,217,183,.95),transparent 68%);
  top:-40%;left:5%;
  animation:waber 7s ease-in-out infinite;
}
.ss-blob-2,.oh-blob-2{
  width:min(600px,90vw);aspect-ratio:1/1;height:auto;
  background:radial-gradient(circle,rgba(200,165,130,.8),transparent 68%);
  bottom:-55%;right:-5%;
  animation:waber2 9s ease-in-out infinite -3s;
}
.ss-blob-3,.oh-blob-3{
  width:min(460px,82vw);aspect-ratio:1/1;height:auto;
  background:radial-gradient(circle,rgba(232,88,82,.55),transparent 68%);
  top:10%;left:55%;
  animation:waber3 8s ease-in-out infinite -4s;
}
.oh-blob-1{top:-30%;left:-10%}
.oh-blob-2{bottom:-40%;right:-10%}
.oh-blob-3{top:30%;left:45%;background:radial-gradient(circle,rgba(130,85,70,.65),transparent 68%)}

@keyframes sensationBg{
  0%,100%{background-position:0% 50%}
  25%{background-position:60% 30%}
  50%{background-position:100% 70%}
  75%{background-position:40% 40%}
}
@keyframes waber{
  0%,100%{transform:translate(0,0) scale(1) rotate(0deg)}
  20%{transform:translate(180px,-120px) scale(1.4) rotate(18deg)}
  40%{transform:translate(-140px,90px) scale(.7) rotate(-12deg)}
  60%{transform:translate(100px,160px) scale(1.25) rotate(22deg)}
  80%{transform:translate(-90px,-50px) scale(.95) rotate(-8deg)}
}
@keyframes waber2{
  0%,100%{transform:translate(0,0) scale(1) rotate(0deg)}
  25%{transform:translate(-160px,110px) scale(1.3) rotate(-16deg)}
  50%{transform:translate(140px,-130px) scale(.75) rotate(14deg)}
  75%{transform:translate(-70px,80px) scale(1.15) rotate(-6deg)}
}
@keyframes waber3{
  0%,100%{transform:translate(0,0) scale(1) rotate(0deg)}
  33%{transform:translate(130px,70px) scale(1.35) rotate(20deg)}
  66%{transform:translate(-120px,-100px) scale(.8) rotate(-14deg)}
}
@media(prefers-reduced-motion:reduce){
  .sensation-strip,.ss-blob,.oh-blob{animation:none!important}
}

/* ═══ Utilities ═══ */
.bg-cream-2{background:var(--cream-2)}
.bg-cream-3{background:var(--cream-3)}
.mt-0{margin-top:0}
.mt-8{margin-top:8px}
.mt-16{margin-top:16px}
.mt-24{margin-top:24px}
.mt-40{margin-top:40px}
.center{text-align:center}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:0s!important;transition-duration:0s!important}
}

/* ═══ Universal hover zoom for photos inside overflow:hidden containers ═══ */
.hero-image,.split-image,.team-card-img,.article-hero-img,.tr-card-img,.news-card-img,.loc-card-img,.hero-endorsement .he-portrait,.dentist-claim .dc-portrait{overflow:hidden}
.hero-image img,.split-image img,.team-card-img img,.article-hero-img img,.tr-card-img img,.news-card-img img{
  transition:transform .7s var(--ease);will-change:transform;
}
.hero-image:hover img,.split-image:hover img,.team-card:hover .team-card-img img,.article-hero-img:hover img,.tr-card:hover .tr-card-img img,.news-card:hover .news-card-img img{
  transform:scale(1.05);
}
/* Also apply hover zoom to .split image when hovering the split block (wrapper hover) */
.split:hover .split-image img{transform:scale(1.05)}
/* Location card image support */
.loc-card-img img{transition:transform .7s var(--ease)}
.loc-card:hover .loc-card-img img{transform:scale(1.04)}

/* ═══ Footer payment methods + social ═══ */
.footer-pay{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.footer-pay .pay-badge{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;border-radius:6px;background:#fff;color:#3c2819;font-size:10px;font-weight:700;letter-spacing:.04em;line-height:1;letter-spacing:.02em;min-width:44px}
.footer-pay .pay-badge svg{height:16px;width:auto;display:block}
.footer-pay .pay-badge.visa{background:#1a1f71;color:#fff;padding:0 11px}
.footer-pay .pay-badge.mc{background:#fff;padding:0 8px}
.footer-pay .pay-badge.amex{background:#006fcf;color:#fff;padding:0 10px}
.footer-pay .pay-badge.pp{background:#fff;padding:0 10px}
.footer-pay .pay-badge.apple{background:#000;color:#fff;padding:0 10px}
.footer-pay .pay-badge.gpay{background:#fff;padding:0 10px}
.footer-legal-links{display:flex;flex-wrap:wrap;gap:14px 22px;font-size:13px;color:rgba(255,255,255,.55)}
.footer-legal-links a{color:rgba(255,255,255,.65);transition:color .2s}
.footer-legal-links a:hover{color:#fff}

/* Legal pages layout */
.legal{padding:48px 0 80px}
.legal .legal-inner{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:8px;padding:48px 44px;box-shadow:0 10px 30px -18px rgba(60,40,25,.12)}
.legal h1{font-size:clamp(28px,3.6vw,40px);font-weight:500;letter-spacing:-.02em;margin:0 0 8px;color:var(--brand-dark)}
.legal .last-updated{font-size:13px;color:var(--stone-2);margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border)}
.legal h2{font-size:20px;font-weight:600;color:var(--brand-dark);margin:32px 0 14px;letter-spacing:-.01em}
.legal h3{font-size:17px;font-weight:600;color:var(--brand-dark);margin:24px 0 10px}
.legal p{font-size:15px;color:var(--ink-3);line-height:1.7;margin:0 0 12px}
.legal strong{color:var(--brand-dark);font-weight:600}
.legal ul,.legal ol{padding-left:22px;font-size:15px;color:var(--ink-3);line-height:1.7}
.legal li{margin-bottom:6px}
.legal a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}

/* ═══ Mobile horizontal swipe — applies to package, feature, steps, offer, loc, ba, team grids ═══ */
@media(max-width:679px){
  .tr-grid,.feat-grid,.steps,.offer-grid,.loc-grid,.ba-grid,.team-grid,.info-grid{
    grid-template-columns:none!important;
    display:flex!important;
    gap:14px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scroll-padding:24px;
    padding:8px 24px 20px;
    margin:0 -24px;
    scrollbar-width:none;
  }
  .tr-grid::-webkit-scrollbar,.feat-grid::-webkit-scrollbar,.steps::-webkit-scrollbar,.offer-grid::-webkit-scrollbar,.loc-grid::-webkit-scrollbar,.ba-grid::-webkit-scrollbar,.team-grid::-webkit-scrollbar,.info-grid::-webkit-scrollbar{display:none}
  .tr-grid > *,.offer-grid > *,.loc-grid > *,.team-grid > *,.info-grid > *{
    flex:0 0 85%;
    min-width:0;
    max-width:85%;
    scroll-snap-align:start;
  }
  .feat-grid > *,.steps > *{
    flex:0 0 78%;
    min-width:0;
    max-width:78%;
    scroll-snap-align:start;
  }
  .ba-grid > *{
    flex:0 0 72%;
    min-width:0;
    max-width:72%;
    scroll-snap-align:center;
  }
  /* Subtle swipe hint on scrollable grids */
  .tr-grid::after,.feat-grid::after,.steps::after,.offer-grid::after,.loc-grid::after,.team-grid::after,.info-grid::after{content:"";flex:0 0 10%}
}
.swipe-hint{display:none;text-align:center;font-size:12px;color:var(--stone-2);letter-spacing:.06em;margin-top:-12px;margin-bottom:18px;text-transform:uppercase}
@media(max-width:679px){.swipe-hint{display:block}}
