:root{
  --cream:#efece4; --cream2:#f6f4ee; --paper:#fbfaf6;
  --ink:#2c2924; --dark:#2e2a24; --mut:#8c8578; --line:rgba(28,26,23,.14);
  --greige:#c3bab3; --pad:clamp(20px,5vw,90px);
  /* one radius scale — used everywhere */
  --r-btn:3px; --r-sm:8px; --r-md:14px;
  /* sanctioned glass surfaces (header · testimonials · gift card · contact card) */
  --glass:rgba(251,250,246,.55); --glass-brd:rgba(255,255,255,.55);
  --glass-d:rgba(239,236,228,.07); --glass-d-brd:rgba(239,236,228,.20);
}
*{margin:0;padding:0;box-sizing:border-box}
button,input,textarea,select{font-family:inherit}
html{scroll-behavior:smooth}
body{font-family:'Assistant',sans-serif;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.wrap{max-width:1300px;margin:0 auto}
.logo svg{display:block;width:100%;height:auto}
.logo path,.logo circle,.logo use,.bglogo path,.bglogo circle{fill:currentColor}
.eyebrow{font-size:13px;letter-spacing:.34em;color:var(--mut);font-weight:600}
.sec-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.sec-eyebrow.c{justify-content:center}
.sec-eyebrow .ln{width:42px;height:1px;background:var(--line)}
h1,h2,h3{font-weight:300;line-height:1.06;letter-spacing:-.005em}
.big{font-size:clamp(30px,3.4vw,48px)}
h1.big{font-size:clamp(40px,5.4vw,76px)}
.em{font-weight:800;color:var(--ink)}
.lead{font-size:clamp(17px,1.2vw,19px);color:#5a544a;line-height:1.85}
.pill,.btn-rect{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:var(--r-btn);
  font-size:14px;font-weight:600;letter-spacing:.05em;padding:15px 30px;min-height:48px;cursor:pointer;border:1px solid transparent;
  transition:background .3s,color .3s,border-color .3s}
.pill.dark,.btn-rect.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.pill.dark:hover,.btn-rect.dark:hover{background:#000;border-color:#000}
.pill.ghost,.btn-rect{background:transparent;color:var(--ink);border-color:var(--ink)}
.pill.ghost:hover,.btn-rect:hover{background:var(--ink);color:#fff}
.spark{width:28px;height:28px;color:var(--greige)}.spark path{fill:currentColor}

/* header */
header{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  padding:0 var(--pad);height:74px;transition:background .35s,box-shadow .35s}
header.solid{background:rgba(239,236,228,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
header .logo{width:104px;color:var(--ink)}
header nav{display:flex;gap:42px;font-size:14px;font-weight:600;align-items:center}
header nav a{opacity:.8}header nav a:hover,header nav a.on{opacity:1;font-weight:600}
header .right{display:flex;align-items:center;gap:14px}
.burger{display:none;font-size:24px;background:none;border:0;cursor:pointer;color:var(--ink);width:44px;height:44px;line-height:1}
.mnav{position:fixed;inset:0;z-index:70;background:var(--cream);display:none;flex-direction:column;align-items:center;justify-content:center;gap:22px}
.mnav.open{display:flex}.mnav a{font-size:22px;font-weight:600}.mnav .x{position:absolute;top:22px;left:26px;font-size:30px;background:none;border:0;cursor:pointer}

/* page hero (emergence band style, compact) */
.phero{position:relative;overflow:hidden;padding:132px var(--pad) clamp(40px,5vh,64px);text-align:right;
  background:var(--cream)}
.phero>*{position:relative;z-index:1}
.phero .eyebrow{margin-bottom:14px}
.phero .sec-eyebrow.c{justify-content:flex-start}
.phero .sec-eyebrow.c .ln:last-child{display:none}
.phero p{max-width:56ch;margin:18px 0 0}

/* full hero (home-like, with figure) */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;text-align:center;padding:94px 0 0;overflow:hidden;
  background:var(--cream)}
.hero .bglogo{position:absolute;top:33%;left:50%;transform:translate(-50%,-50%);width:min(86vw,1040px);height:auto;aspect-ratio:365/101.93;color:#d8cfc1;z-index:0}
.hero .organic{position:absolute;left:50%;bottom:10%;transform:translateX(-50%);width:min(86vw,720px);z-index:1;opacity:.9;pointer-events:none}
.hero .organic path{fill:none;stroke:#fffefb;stroke-width:3.2;stroke-linecap:round}
.hero .htop{position:relative;z-index:4;padding:8px var(--pad) 0}
.hero .figure{margin-top:auto;position:relative;z-index:2}
.hero .figure img{width:auto;height:auto;max-height:54svh;filter:drop-shadow(0 26px 40px rgba(60,52,42,.18))}
.hero .herostrip{position:relative;z-index:3;width:100%;display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(251,250,246,.55);backdrop-filter:blur(4px)}
.hero .herostrip a{flex:1;text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center;padding:clamp(15px,2vh,20px) 6px;font-size:clamp(13px,1.1vw,16px);font-weight:600;letter-spacing:.03em;transition:background .25s,color .25s}
.hero .herostrip a+a{border-inline-start:1px solid var(--line)}
.hero .herostrip a:hover{background:var(--ink);color:#fff}

/* sections */
section.block{padding:clamp(64px,9vh,120px) var(--pad)}
section.block.cream2{background:var(--cream2)}
.motif-sec{position:relative;overflow:hidden}
.motif-sec>*:not(.motif):not(.spark){position:relative;z-index:1}
.motif{position:absolute;color:#e3dfd4;opacity:.28;z-index:0;pointer-events:none;display:block;height:auto;aspect-ratio:365/101.93}
.motif path,.motif circle{fill:currentColor}
.spark.abs{position:absolute;z-index:1;opacity:.95}

/* card grid (treatments/products listing) */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(18px,2vw,28px)}
.tcard{background:var(--paper);border-radius:var(--r-md);overflow:hidden;box-shadow:0 16px 40px rgba(60,52,42,.08);transition:transform .35s,box-shadow .35s;display:flex;flex-direction:column}
.tcard:hover{transform:translateY(-5px);box-shadow:0 26px 56px rgba(60,52,42,.13)}
.tcard .im{aspect-ratio:4/3;overflow:hidden}.tcard .im img{width:100%;height:100%;object-fit:cover}
.tcard .body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.tcard h3{font-size:21px;font-weight:600}
.tcard p{font-size:14px;color:#5a544a;line-height:1.6;flex:1}
.tcard .go{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink);margin-top:6px}

/* tabs */
.tabs .tabnav{display:flex;gap:clamp(16px,2vw,30px);border-bottom:1px solid var(--line);margin-bottom:4px;flex-wrap:wrap}
.tabs .tb{background:none;border:0;font-family:inherit;font-size:clamp(15px,1.3vw,19px);font-weight:600;color:var(--mut);padding:12px 2px 14px;cursor:pointer;position:relative}
.tabs .tb.active{color:var(--ink)}
.tabs .tb.active::after{content:"";position:absolute;bottom:-1px;right:0;left:0;height:2px;background:var(--ink)}
.tabs .tp{list-style:none;display:none}.tabs .tp.active{display:block}
.tabs .tp li a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 4px;border-bottom:1px solid var(--line);font-size:clamp(14px,1vw,17px);font-weight:600;transition:color .25s}
.tabs .tp li a:hover{color:var(--greige)}.tabs .tp li i{color:var(--mut);font-style:normal;font-size:18px}

/* treatments index (elevated tab system) */
.treatx .tabnav{justify-content:center;gap:clamp(6px,3vw,42px);margin-bottom:clamp(28px,5vw,58px);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.treatx .tabnav::-webkit-scrollbar{display:none}
.treatx .tb{font-size:clamp(14px,1.5vw,20px);font-weight:400;color:var(--mut);padding:0 6px 18px;display:flex;align-items:baseline;gap:8px;white-space:nowrap;transition:color .3s}
.treatx .tb .c{font-size:13px;font-weight:600;letter-spacing:.05em;color:var(--greige);transition:color .3s}
.treatx .tb.active{color:var(--ink);font-weight:600}
.treatx .tb.active .c{color:var(--ink)}
.treatx .tb.active::after{content:"";position:absolute;bottom:-1px;right:0;left:0;height:2px;background:var(--ink)}
.treatx .tp{border-top:1px solid var(--line)}
.treatx .tp.active{animation:fade .45s ease}
.trow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:clamp(16px,3vw,36px);
  padding:clamp(20px,2.8vw,30px) 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);position:relative;transition:padding .4s,background .4s}
.trow .eb{font-size:13px;letter-spacing:.18em;font-weight:600;color:var(--greige);margin-bottom:9px;display:flex;gap:9px;align-items:center;transition:color .4s}
.trow .eb .dot{width:3px;height:3px;border-radius:50%;background:currentColor}
.trow .tname{font-size:clamp(23px,3.2vw,38px);font-weight:300;line-height:1.05;letter-spacing:-.012em}
.trow .tdesc{font-size:clamp(13px,1vw,15px);color:#5a544a;line-height:1.6;font-weight:300;margin-top:10px;max-width:58ch}
.trow .arrow{width:clamp(42px,4vw,50px);height:clamp(42px,4vw,50px);border-radius:50%;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--mut);flex:none;
  transition:background .4s,color .4s,border-color .4s,transform .4s}
.trow:hover{padding-right:16px;background:rgba(195,186,179,.10)}
.trow:hover .eb{color:var(--ink)}
.trow:hover .arrow{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateX(-4px)}
@media(max-width:720px){.treatx .tabnav{justify-content:flex-start}.trow{padding:20px 4px}.trow:hover{padding-right:6px}}

/* 3 main treatments (clean centered columns) */
.feat3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,5vw,72px);text-align:center;max-width:1000px;margin:0 auto}
.feat3 .f{display:block;text-decoration:none;color:inherit}
.feat3 .f .dot{width:11px;height:11px;border-radius:50%;background:var(--ink);margin:0 auto clamp(18px,2.4vw,30px);transition:transform .4s,background .4s}
.feat3 .f .n{font-size:clamp(20px,2vw,27px);font-weight:300;line-height:1.15;letter-spacing:-.01em;transition:color .3s}
.feat3 .f .d{font-size:clamp(13px,1vw,15px);color:#6d665b;line-height:1.75;font-weight:300;margin:clamp(12px,1.4vw,18px) auto 0;max-width:34ch}
.feat3 .f:hover .dot{transform:scale(1.35);background:var(--greige)}
@media(max-width:760px){.feat3{grid-template-columns:1fr;gap:36px;max-width:420px}}

/* before & after — dark glass band (like testimonials) */
.baf-band{position:relative;background:var(--dark);color:#efece4;padding:clamp(72px,11vh,140px) var(--pad);overflow:hidden}
.baf-band .ghost{position:absolute;top:5%;left:0;right:0;text-align:center;font-size:clamp(64px,15vw,190px);
  font-weight:800;color:rgba(239,236,228,.05);letter-spacing:.04em;pointer-events:none;line-height:1;user-select:none}
.baf-band>.wrap{position:relative;z-index:1}
.baf-band .eyebrow{color:rgba(239,236,228,.7)}
.baf-band .sec-eyebrow .ln{background:rgba(239,236,228,.22)}
.baf-band .big{color:#efece4}.baf-band .big .em{color:#fff}
.baf{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px)}
.baf .p{border-radius:var(--r-md);overflow:hidden;background:rgba(251,250,246,.06);border:1px solid rgba(239,236,228,.14);
  backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.baf .p .pair{display:grid;grid-template-columns:1fr 1fr}
.baf .p .pair figure{position:relative;margin:0;aspect-ratio:3/4;overflow:hidden}
.baf .p .pair figure img{width:100%;height:100%;object-fit:cover}
.baf .p .pair figure+figure{border-right:1px solid rgba(239,236,228,.18)}
.baf .p .pair figcaption{position:absolute;top:10px;right:10px;background:rgba(20,18,15,.68);color:#f4f1ea;
  font-size:10px;letter-spacing:.14em;font-weight:600;padding:4px 11px;border-radius:var(--r-md);backdrop-filter:blur(4px)}
.baf .p .pair figure:last-child figcaption{right:auto;left:10px;background:rgba(244,241,234,.92);color:var(--ink)}
.baf .p .lbl{padding:17px 20px;font-size:14px;font-weight:600;color:#efece4}
.baf .p .lbl span{display:block;font-size:13px;color:rgba(239,236,228,.6);font-weight:300;margin-top:3px}
@media(max-width:760px){.baf{grid-template-columns:1fr;max-width:400px;margin:0 auto}}

/* two-col layout (single treatment / about) */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,70px);align-items:center}
.two.wide-l{grid-template-columns:1.1fr .9fr}
.frame{border-radius:var(--r-md);overflow:hidden;box-shadow:0 24px 56px rgba(60,52,42,.14);aspect-ratio:4/5}
.frame img{width:100%;height:100%;object-fit:cover}
.checklist{list-style:none;display:flex;flex-direction:column;gap:12px;margin:18px 0 26px}
.checklist li{display:flex;gap:12px;font-size:14px;color:#4c463d;line-height:1.5}
.checklist li::before{content:"✳";color:var(--greige);font-size:14px;line-height:1.6}
.stats{display:flex;gap:34px;flex-wrap:wrap;margin-top:8px}
.stats .n{font-size:clamp(28px,3vw,42px);font-weight:800;line-height:1}
.stats .l{font-size:13px;letter-spacing:.1em;color:var(--mut);margin-top:6px}

/* ---------- glass surfaces (sanctioned only: header · testimonials · gift card · contact card) ---------- */
.glass{background:var(--glass);backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);
  border:1px solid var(--glass-brd);border-radius:var(--r-md);box-shadow:0 18px 44px rgba(60,52,42,.10)}

/* dark testimonials */
.tst{position:relative;background:var(--dark);color:#efece4;padding:clamp(80px,12vh,150px) var(--pad);overflow:hidden}
.tst .ghosttitle{position:absolute;top:6%;left:0;right:0;text-align:center;font-size:clamp(60px,15vw,200px);font-weight:800;color:rgba(239,236,228,.06);line-height:1;pointer-events:none}
.tst .cards{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;max-width:1300px;margin:0 auto}
.tst .tc{background:var(--glass-d);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid var(--glass-d-brd);border-radius:var(--r-md);padding:26px}
.tst .tc .top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.tst .tc .av{width:46px;height:46px;border-radius:50%;background:rgba(239,236,228,.16);display:flex;align-items:center;justify-content:center;font-weight:600;color:#efece4;flex:none}
.tst .tc .nm{font-weight:600;font-size:14px}.tst .tc .st{color:var(--greige);letter-spacing:2px;font-size:13px}
.tst .tc p{font-size:14px;line-height:1.75;color:rgba(239,236,228,.82)}

/* contact / form / gift */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px)}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label{font-size:13px;font-weight:600;color:var(--mut)}
.field input,.field textarea{font-family:inherit;font-size:17px;padding:13px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);color:var(--ink)}
.field textarea{min-height:110px;resize:vertical}
.info-row{display:flex;gap:12px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.info-row .k{font-weight:600;min-width:96px}
.giftcard{max-width:420px;margin:0 auto;background:var(--ink);color:var(--cream);border-radius:var(--r-md);padding:40px 34px;text-align:center;box-shadow:0 30px 70px rgba(60,52,42,.24);position:relative;overflow:hidden}
.giftcard .lg2{width:120px;margin:0 auto 18px;color:var(--greige)}
.giftcard .lg2 svg{width:100%;height:auto}
.giftcard h3{font-weight:300;font-size:26px}

/* cta band */
.cta-band{text-align:center;padding:clamp(70px,11vh,140px) var(--pad)}
.cta-band .sub{color:#5a544a;margin:12px auto 26px;max-width:44ch}

/* ---------- footer (balanced columns) ---------- */
footer{background:var(--dark);color:#cfc9bf;padding:clamp(48px,7vh,74px) var(--pad) 26px}
footer .fgrid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr 1fr;gap:clamp(24px,3vw,44px)}
footer .logo{width:130px;color:#efece4;display:block;margin-bottom:16px}
footer .fbrand p{font-size:13px;line-height:1.8;color:rgba(239,236,228,.55);max-width:30ch}
footer h3{font-size:13px;letter-spacing:.2em;font-weight:600;color:#efece4;margin-bottom:16px}
footer ul{list-style:none;display:flex;flex-direction:column;gap:11px}
footer ul li{font-size:14px;color:rgba(239,236,228,.66);line-height:1.5}
footer ul li a{transition:color .25s}
footer ul li a:hover{color:#fff}
footer .hours span{display:block;font-size:13px;color:rgba(239,236,228,.58);margin-top:2px}
footer .credit{border-top:1px solid rgba(239,236,228,.12);margin:clamp(34px,5vh,52px) auto 0;padding-top:20px;max-width:1300px;
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;letter-spacing:.06em;color:rgba(239,236,228,.58)}
@media(max-width:980px){footer .fgrid{grid-template-columns:1fr 1fr;gap:32px}footer .fbrand{grid-column:1/-1}}
@media(max-width:560px){footer .fgrid{grid-template-columns:1fr;gap:30px}footer .credit{flex-direction:column;gap:6px;text-align:center;justify-content:center}}

/* ---------- carousel (products / before-after) ---------- */
.car{position:relative}
.car__vp{overflow:hidden}
.car__track{display:flex;will-change:transform;transition:transform .65s cubic-bezier(.4,0,.2,1)}
.car__slide{flex:0 0 50%;min-width:0;box-sizing:border-box;padding-inline:clamp(8px,1vw,16px)}
.car--4 .car__slide{flex-basis:25%}
.car__dots{display:flex;justify-content:center;align-items:center;gap:0;margin-top:clamp(4px,1vh,12px)}
.car__dot{width:8px;height:8px;padding:18px;border:0;border-radius:50%;background:var(--line);background-clip:content-box;
  box-sizing:content-box;cursor:pointer;transition:background .25s,transform .25s}
.car__dot[aria-selected="true"]{background:var(--ink);transform:scale(1.35)}
@media(max-width:1000px){.car--4 .car__slide{flex-basis:33.3333%}}
@media(max-width:760px){.car__slide,.car--4 .car__slide{flex-basis:100%}}
@media (prefers-reduced-motion:reduce){.car__track{transition:none}}
.ba{aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:var(--cream2)}
.ba img{width:100%;height:100%;object-fit:contain;display:block}
.pcard{display:flex;flex-direction:column;align-items:center;gap:10px;background:none;border:0;padding:14px 8px;height:100%}
.pcard .pim{width:100%;height:clamp(150px,16vw,190px);display:flex;align-items:center;justify-content:center}
.pcard img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .4s}
.pcard:hover img{transform:translateY(-6px)}
.pcard .pn{font-size:14px;font-weight:600;text-align:center;line-height:1.4;min-height:2.8em;display:flex;align-items:center;justify-content:center}
.pcard .pv{font-size:13px;color:var(--mut);letter-spacing:.08em}

.logostrip{background:var(--dark);overflow:hidden;padding:30px 0}
.logostrip .ltrack{display:flex;align-items:center;width:max-content;animation:slide 38s linear infinite}
.logostrip .lgrp{display:flex;align-items:center;gap:var(--lgap);padding-inline-end:var(--lgap);flex:none}
.logostrip{--lgap:clamp(44px,6vw,84px)}
.logostrip:hover .ltrack{animation-play-state:paused}
.logostrip img{height:32px;width:auto;opacity:.92;flex:none}
/* RTL: the track starts at the right edge — +50% slides the duplicate group into the identical position */
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(50%)}}

@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.up{animation:up .8s both}.fade{animation:fade 1.1s both}

/* ---------- ✓ benefits list ---------- */
.check{list-style:none;display:flex;flex-direction:column;gap:11px;margin:18px 0 24px}
.check li{display:flex;gap:11px;align-items:flex-start;font-size:clamp(14px,1vw,16px);color:#4c463d;line-height:1.65}
.check li::before{content:"✓";color:var(--ink);font-weight:600;font-size:13px;line-height:1.7;flex:none}

/* ---------- FAQ accordion ---------- */
.faq{border-top:1px solid var(--line);max-width:900px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:20px 2px;font-size:clamp(15px,1.2vw,18px);font-weight:600;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:400;font-size:22px;color:var(--mut);line-height:1;flex:none;transition:transform .3s}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 2px 22px;font-size:14px;line-height:1.85;color:#5a544a;max-width:78ch}
.faq.center{margin:0 auto;text-align:right}

/* ---------- treatment blocks (treatments.html / treatment.html) ---------- */
.tblock{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(26px,4vw,64px);align-items:start;
  padding:clamp(44px,6vh,74px) 0;border-top:1px solid var(--line)}
.tblock:first-of-type{border-top:0}
.tblock .pic{border-radius:var(--r-md);overflow:hidden;aspect-ratio:4/5;position:sticky;top:100px}
.tblock .pic img{width:100%;height:100%;object-fit:cover}
.tblock h3{font-size:clamp(26px,3.2vw,42px);font-weight:300;letter-spacing:-.01em;line-height:1.12}
.tblock h3 .em{font-weight:800}
.tblock .sum{font-size:clamp(14px,1vw,16px);color:#5a544a;line-height:1.85;margin-top:14px;max-width:62ch}
.tblock h3{font-size:13px;letter-spacing:.2em;font-weight:600;color:var(--mut);margin:26px 0 10px}
.tblock .proc{font-size:14px;line-height:1.9;color:#5a544a;max-width:66ch}
.tblock .faq{margin-top:8px}
.tblock .pill{margin-top:26px}
@media(max-width:860px){
  .tblock{grid-template-columns:1fr;gap:24px;padding:38px 0}
  .tblock .pic{position:static;aspect-ratio:3/2;max-height:340px}
}

/* ---------- gift card ---------- */
.giftcard{max-width:460px;width:100%;margin:0 auto;color:var(--cream);border-radius:var(--r-md);
  background:rgba(44,41,36,.80);
  backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
  border:1px solid rgba(255,255,255,.24);box-shadow:0 30px 70px rgba(60,52,42,.24),inset 0 1px 0 rgba(255,255,255,.18);
  padding:clamp(26px,3.4vw,38px);position:relative;overflow:hidden;min-height:290px;display:flex;flex-direction:column;justify-content:space-between;gap:26px}
.giftcard .gcmark{position:absolute;left:-14%;bottom:-38%;width:78%;aspect-ratio:1;border:1px solid rgba(239,236,228,.14);border-radius:50%}
.giftcard .lg2{width:118px;color:#efece4;position:relative}
.giftcard .lg2 svg{width:100%;height:auto}
.giftcard .gcbig{font-size:clamp(26px,3vw,36px);font-weight:300;letter-spacing:.02em;position:relative}
.giftcard .gcsub{font-size:13px;color:rgba(239,236,228,.78);margin-top:8px;position:relative;letter-spacing:.04em}
.giftcard .gcfoot{display:flex;justify-content:space-between;align-items:flex-end;font-size:13px;letter-spacing:.18em;
  color:rgba(239,236,228,.78);position:relative;border-top:1px solid rgba(239,236,228,.16);padding-top:14px}
.formbox{max-width:620px;margin:0 auto;background:var(--glass);backdrop-filter:blur(16px) saturate(1.15);
  -webkit-backdrop-filter:blur(16px) saturate(1.15);border:1px solid var(--glass-brd);border-radius:var(--r-md);
  box-shadow:0 18px 44px rgba(60,52,42,.10);padding:clamp(24px,3vw,38px)}
.formbox .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.formbox .row2{grid-template-columns:1fr}}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink)}

/* ---------- about page ---------- */
.ahero{max-width:1260px;margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,5vw,80px);
  padding:110px var(--pad) clamp(50px,7vh,90px);background:var(--cream)}
.ahero .apic{aspect-ratio:4/5;max-height:560px;overflow:hidden;border-radius:var(--r-sm)}
.ahero .apic img{width:100%;height:100%;object-fit:cover}
.ahero .atxt{text-align:center;max-width:520px;margin:0 auto}
.ahero .aname{font-size:clamp(32px,4.4vw,58px);font-weight:400;letter-spacing:.06em;line-height:1.1;margin-top:10px}
.ahero .asub{font-size:clamp(20px,2.4vw,30px);font-weight:300;color:var(--ink);letter-spacing:.14em;margin-top:4px}
.ahero .lead{margin:22px 0 26px}
.credstrip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream2);padding:16px var(--pad);overflow:hidden}
.credstrip .crow{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;max-width:1260px;margin:0 auto}
.credstrip .crow span{font-size:13px;color:#5a544a;display:flex;align-items:center;gap:26px}
.credstrip .crow span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--greige);flex:none}
.statsband{background:#e5e1d7;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(44px,7vh,80px) var(--pad)}
.statsband .shead{text-align:center;margin-bottom:clamp(30px,4vh,50px)}
.statsband .sgrid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);text-align:center}
.statsband .sgrid>div+div{border-inline-start:1px solid var(--line)}
.statsband .n{font-size:clamp(40px,5vw,66px);font-weight:300;line-height:1}
.statsband .l{font-size:13px;letter-spacing:.14em;color:var(--mut);margin-top:8px}
@media(max-width:640px){.statsband .sgrid{grid-template-columns:1fr;gap:26px}.statsband .sgrid>div+div{border-inline-start:0;border-top:1px solid var(--line);padding-top:26px}}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,4vw,70px)}
.split .im{aspect-ratio:4/3;overflow:hidden;border-radius:var(--r-sm)}
.split .im img{width:100%;height:100%;object-fit:cover}
.split .tx{max-width:52ch}
@media(max-width:880px){.ahero{grid-template-columns:1fr;padding-top:100px;gap:30px}.ahero .apic{max-height:420px;aspect-ratio:4/3;order:-1}.split{grid-template-columns:1fr}.split .im{order:-1}.split.rev>*:first-child{order:2}}

/* ---------- Let's do it. (contact block) ---------- */
.letsdo .rule{display:block;width:100%;max-width:640px;height:1px;background:var(--line);margin:0 auto clamp(28px,4vh,44px)}
.lets-t{font-size:clamp(34px,4.4vw,58px);font-weight:300;letter-spacing:.01em;direction:ltr}
.uform{text-align:right}
.uform .urow{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,30px)}
.ufield{display:flex;flex-direction:column;gap:6px;margin-bottom:22px}
.ufield label{font-size:13px;letter-spacing:.14em;color:var(--mut);font-weight:600}
.ufield input,.ufield textarea{font-family:inherit;font-size:17px;color:var(--ink);background:transparent;border:0;
  border-bottom:1px solid var(--line);padding:10px 2px;transition:border-color .25s}
.ufield textarea{min-height:80px;resize:vertical}
.ufield input:focus,.ufield textarea:focus{outline:none;border-bottom-color:var(--ink)}
.uform .consent{display:flex;align-items:center;gap:9px;font-size:13px;color:#5a544a;margin:6px 0 24px}
.uform .consent input{width:15px;height:15px;accent-color:var(--ink)}
@media(max-width:700px){.uform .urow{grid-template-columns:1fr}}

@media (max-width:880px){
  header nav,header .right .pill{display:none}.burger{display:block}
  .two,.cgrid{grid-template-columns:1fr;gap:32px}
  .two.rev-m>*:first-child{order:2}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}

/* ================= shared: nav dropdown · search · mobile menu · shop ================= */
header nav .hasdrop{position:relative}
header nav .hasdrop>a{display:inline-block}
header nav .drop{position:absolute;top:100%;right:50%;transform:translateX(50%);margin-top:10px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 0;min-width:220px;
  display:none;flex-direction:column;z-index:80}
header nav .hasdrop:hover .drop,header nav .hasdrop:focus-within .drop{display:flex}
header nav .drop a{padding:9px 20px;font-size:14px;white-space:nowrap;opacity:.85}
header nav .drop a:hover{background:var(--cream);opacity:1}
.sbtn{background:none;border:0;cursor:pointer;color:var(--ink);width:44px;height:44px;padding:11px;display:flex;align-items:center;justify-content:center}
.sbtn svg{width:22px;height:22px}

/* search bar */
.sbar{position:fixed;top:74px;left:0;right:0;z-index:59;background:var(--paper);border-bottom:1px solid var(--line);
  padding:14px var(--pad) 16px;display:none}
.sbar.open{display:block}
.sbin{max-width:720px;margin:0 auto;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:8px}
.sbin .si{width:20px;height:20px;color:var(--mut);flex:none}
.sbin .si svg{width:100%;height:100%}
.sbin input{flex:1;border:0;background:transparent;font-family:inherit;font-size:16px;color:var(--ink);padding:6px 0}
.sbin input:focus{outline:none}
.sx{background:none;border:0;font-size:22px;color:var(--mut);cursor:pointer;line-height:1}
.sres{max-width:720px;margin:0 auto}
.sres.on{margin-top:10px;max-height:52vh;overflow:auto}
.sitem{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line)}
.sitem:hover{background:var(--cream)}
.sitem img,.sitem .ph{width:42px;height:42px;object-fit:contain;background:var(--cream2);border-radius:var(--r-sm);flex:none}
.sitem .st{display:flex;flex-direction:column;gap:2px;min-width:0}
.sitem .st b{font-size:14px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sitem .st i{font-style:normal;font-size:13px;letter-spacing:.12em;color:var(--mut)}
.sempty{padding:16px 4px;font-size:14px;color:var(--mut);text-align:center}

/* mobile menu (full-screen overlay) */
.mnav{position:fixed;inset:0;z-index:70;background:var(--paper);display:none;flex-direction:column;
  align-items:center;padding:18px 22px 26px;overflow:auto;text-align:center}
.mnav.open{display:flex;animation:fade .25s ease}
.mnav .mtop{width:100%;display:flex;direction:ltr;align-items:center;justify-content:space-between;margin-bottom:clamp(28px,6vh,54px)}
.mnav .mtop .x{position:static;font-size:30px;background:none;border:0;color:var(--ink);cursor:pointer;line-height:1;width:30px;text-align:start}
.mnav .mlogo{width:96px;color:var(--ink)}
.mnav .mlogo svg{width:100%;height:auto}
.mnav .mlogo path{fill:currentColor}
.mnav .mi{background:none;border:0;color:var(--ink);width:22px;height:22px;padding:0;cursor:pointer}
.mnav .mi svg{width:100%;height:100%}
.mnav .mlinks{display:flex;flex-direction:column;align-items:center;gap:clamp(18px,3.4vh,28px)}
.mnav .mlinks a{font-size:17px;font-weight:600;letter-spacing:.22em;color:var(--ink);padding:12px 0;display:block}
.mnav .msec{display:flex;flex-direction:column;align-items:center;gap:12px;margin:clamp(28px,5vh,44px) 0 0}
.mnav .msec a{font-size:13px;color:var(--mut);letter-spacing:.06em}
.mnav .msocial{display:flex;gap:22px;margin:clamp(26px,4vh,38px) 0 0}
.mnav .msocial a{width:22px;height:22px;color:var(--mut)}
.mnav .msocial svg{width:100%;height:100%;fill:currentColor}
.mnav .msearch{width:100%;max-width:420px;margin-top:auto;padding-top:clamp(26px,4vh,40px);position:relative}
.mnav .msearch .si{position:absolute;top:calc(clamp(26px,4vh,40px) + 15px);inset-inline-start:16px;width:18px;height:18px;color:var(--mut)}
.mnav .msearch .si svg{width:100%;height:100%}
.mnav .msearch input{width:100%;background:var(--cream);border:1px solid var(--line);border-radius:var(--r-sm);
  font-family:inherit;font-size:15px;color:var(--ink);padding:14px 44px 14px 16px}
.mnav .msearch input:focus{outline:none;border-color:var(--ink)}
.mnav .sres.on{margin-top:12px;text-align:start;max-height:38vh;overflow:auto}

/* ---------------- shop ---------------- */
.btabs{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:clamp(34px,5vh,58px)}
.bpill{background:transparent;border:1px solid var(--line);color:var(--ink);font-family:inherit;font-size:14px;
  font-weight:600;letter-spacing:.04em;padding:12px 22px;min-height:44px;border-radius:var(--r-btn);cursor:pointer;white-space:nowrap;
  transition:background .25s,color .25s,border-color .25s}
.bpill i{font-style:normal;font-size:13px;color:var(--mut);margin-inline-start:4px}
.bpill:hover{border-color:var(--ink)}
.bpill.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.bpill.active i{color:rgba(255,255,255,.6)}
.bpanel{display:none}
.bpanel.active{display:block;animation:fade .4s ease}
.scat{margin-bottom:clamp(50px,8vh,90px);text-align:center}
.scat-t{font-size:clamp(24px,3vw,38px);font-weight:300;letter-spacing:-.01em}
.scat-b{font-size:13px;letter-spacing:.2em;font-weight:600;color:var(--mut);margin-top:10px}
.scat-r{display:block;height:1px;background:var(--line);margin:22px 0 clamp(28px,4vh,44px)}
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,30px)}
.scard{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 6px 16px;
  border:0;background:none;text-align:center;height:100%}
.scard .sim{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:none;overflow:visible}
.scard .sim img{max-width:88%;max-height:88%;width:auto;height:auto;object-fit:contain;transition:transform .4s}
.scard:hover .sim img{transform:translateY(-6px) scale(1.02)}
.scard .snm{font-size:14px;font-weight:600;line-height:1.45;color:var(--ink);min-height:2.9em}
.scard .prc{font-size:13px;color:var(--mut)}
.scard .sgo{margin-top:auto;font-size:13px;font-weight:600;letter-spacing:.06em;border:1px solid var(--ink);
  border-radius:var(--r-btn);padding:9px 18px;min-height:40px;display:inline-flex;align-items:center;color:var(--ink);transition:background .25s,color .25s}
.scard:hover .sgo{background:var(--ink);color:#fff}
.soon{text-align:center;color:var(--mut);font-size:14px;padding:40px 0}
@media(max-width:760px){.sgrid{grid-template-columns:repeat(2,1fr);gap:12px}
  .btabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:6px;scrollbar-width:none;margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad)}
  .btabs::-webkit-scrollbar{display:none}
  .scard{padding:14px 10px 16px}.scard .snm{font-size:13px}
  .sbar{top:64px}}


/* ================= header: brand-first shop mega dropdown ================= */
header nav .hasdrop{position:relative}
header nav .hasdrop>a{display:inline-flex;align-items:center;gap:6px;padding:26px 0}
header nav .hasdrop>a .cv{font-size:13px;color:var(--mut);transition:transform .25s}
header nav .hasdrop.open>a .cv{transform:rotate(-90deg)}
/* the panel sits flush under the trigger (no gap) — the pointer can travel into it */
header nav .drop{position:absolute;top:100%;right:50%;transform:translateX(50%);margin:0;padding-top:8px;
  background:none;border:0;border-radius:0;min-width:250px;display:none;flex-direction:column;z-index:80}
header nav .hasdrop:hover .drop,header nav .hasdrop:focus-within .drop,header nav .hasdrop.open .drop{display:flex}
header nav .drop .dinner{background:var(--glass);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
  border:1px solid var(--glass-brd);border-radius:var(--r-md);box-shadow:0 22px 54px rgba(60,52,42,.14);padding:8px;overflow:hidden}
header nav .dbrand+.dbrand{border-top:1px solid var(--line)}
header nav .dbtn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:0;
  cursor:pointer;color:var(--ink);font-size:14px;font-weight:600;letter-spacing:.02em;padding:13px 14px;border-radius:var(--r-sm);
  text-align:start;transition:background .2s}
header nav .dbtn:hover,header nav .dbrand.open .dbtn{background:rgba(255,255,255,.55)}
header nav .dbtn .chev{font-style:normal;font-size:15px;color:var(--mut);transition:transform .3s;flex:none}
header nav .dbrand.open .dbtn .chev{transform:rotate(-90deg)}
header nav .dsub{display:none;flex-direction:column;padding:2px 0 10px}
header nav .dbrand.open .dsub{display:flex}
header nav .dsub a{padding:9px 26px 9px 14px;font-size:13.5px;color:#5a544a;white-space:nowrap;border-radius:var(--r-sm);opacity:1}
header nav .dsub a:hover{background:rgba(255,255,255,.6);color:var(--ink)}

/* mobile: brand accordion inside the burger menu */
.mnav .mshop{width:100%;max-width:420px;text-align:start}
.mnav .mshop .dbtn{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:0;
  color:var(--ink);font-size:14px;font-weight:600;padding:14px 4px;min-height:48px;cursor:pointer;border-bottom:1px solid var(--line)}
.mnav .mshop .dbtn .chev{font-style:normal;color:var(--mut);transition:transform .3s}
.mnav .mshop .dbrand.open .dbtn .chev{transform:rotate(-90deg)}
.mnav .mshop .dsub{display:none;flex-direction:column;padding:6px 14px 10px}
.mnav .mshop .dbrand.open .dsub{display:flex}
.mnav .mshop .dsub a{font-size:14px;color:#5a544a;padding:11px 0;min-height:44px;display:flex;align-items:center;letter-spacing:0}


header nav .dinner{display:block}
header nav .dbrand{display:block}
header nav .dsub a{display:block}
.mnav .mshop{width:100%;max-width:420px;text-align:start}
.mnav .mshop-t{width:100%}
.mnav .mshop-b{display:none;padding:2px 0 6px}
.mnav .mshop.open .mshop-b{display:block}
.mnav .mshop .mall{display:flex;align-items:center;min-height:44px;padding:11px 4px;font-size:14px;
  color:var(--mut);letter-spacing:0;font-weight:600;border-bottom:1px solid var(--line)}
.mnav .mshop .dbrand{display:block}
.mnav .mshop .dsub a{display:flex}
@media(max-width:880px){header nav .drop{display:none!important}}

/* ================= anchors under the fixed header ================= */
section[id]{scroll-margin-top:92px}

/* ================= images: never crop a face, never crop a product ================= */
.frame img,.split .im img,.tcard .im img,.timg img,.hi .im img,.ahero .apic img,.tblock .pic img{object-position:50% 28%}
@media(max-width:760px){
  .frame,.tblock .pic{aspect-ratio:4/5}
  .split .im{aspect-ratio:4/5}
  .tcard .im{aspect-ratio:1}
  .ahero .apic{aspect-ratio:4/5;max-height:none}
}

/* ================= footer — deliberately designed on mobile ================= */
@media(max-width:560px){
  footer{padding:44px var(--pad) 20px}
  footer .fgrid{grid-template-columns:1fr;gap:0}
  footer .fbrand{margin-bottom:28px}
  footer .fbrand p{max-width:none}
  footer .fgrid>div:not(.fbrand){border-top:1px solid rgba(239,236,228,.12);padding:18px 0}
  footer h3{margin-bottom:10px}
  footer ul{gap:0}
  footer ul li{line-height:1.4}
  footer ul li a{display:block;padding:11px 0;min-height:44px}
  footer .hours li{padding:9px 0}
  footer .credit{margin-top:22px;line-height:1.8}
}

/* contact — frosted glass card */
.ccard{background:var(--glass);backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);
  border:1px solid var(--glass-brd);border-radius:var(--r-md);box-shadow:0 18px 44px rgba(60,52,42,.10);
  padding:clamp(24px,3vw,38px)}
.ccard .field input,.ccard .field textarea{background:rgba(255,255,255,.55);border-color:rgba(255,255,255,.7)}
.ccard .field input:focus,.ccard .field textarea:focus{background:rgba(255,255,255,.8)}

/* gift card sits on a quiet stage so the glass has something to refract */
.gcstage{position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(18px,3vw,40px) 0}
.gcstage::before{content:"";position:absolute;inset:4% 2%;background:rgba(255,255,255,.35);border-radius:var(--r-md);
  box-shadow:inset 0 0 0 1px var(--line)}
.gcstage .giftcard{position:relative}

/* treatments index rows */
.treatx .tb{background:none;border:0;font-family:inherit;cursor:pointer;position:relative}
.trow .arrow{font-size:22px;line-height:1}
.feat3 .f .dot{cursor:pointer}
@media(max-width:760px){.treatx .tabnav{justify-content:flex-start;gap:22px}}

/* shop: close the dead space under the page hero */
#shop{padding-top:clamp(20px,3vh,36px)}
.btabs{margin-bottom:clamp(28px,4vh,44px)}

/* ---- header: solid at the top, frosted glass once you scroll ---- */
header{background:var(--cream)}
header.solid{background:rgba(239,236,228,.72);backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 1px 0 var(--line)}

/* ---- carousel dots: 8px dot inside a 44px transparent hit area ---- */
.car__dot{width:44px;height:44px;padding:0;border:0;background:transparent;background-clip:border-box;
  box-sizing:border-box;border-radius:0;display:flex;align-items:center;justify-content:center;cursor:pointer}
.car__dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line);
  transition:background .25s,transform .25s}
.car__dot[aria-selected="true"]{background:transparent;transform:none}
.car__dot[aria-selected="true"]::before{background:var(--ink);transform:scale(1.35)}
.tst .car__dot::before{background:rgba(239,236,228,.28)}
.tst .car__dot[aria-selected="true"]::before{background:#efece4}

/* ---- shop: right-hand type axis, and the CTA stays put ---- */
.scat{text-align:right}
.btabs{justify-content:flex-start}
.scard{justify-content:flex-start}
.scard .sgo{align-self:center}

/* watermark: a whisper, never a graphic */
.motif{color:#e3dfd4;opacity:.14}
.scat{scroll-margin-top:104px}

/* dots: the button itself is never painted — only the 8px core */
.car__dot,.car__dot[aria-selected="true"],.tst .car__dot,.tst .car__dot[aria-selected="true"]{background:transparent;transform:none}

/* header — final word: opaque at rest, frosted (but never see-through) once scrolled */
header{background:var(--cream);box-shadow:none}
header.solid{background:rgba(243,241,235,.86);backdrop-filter:blur(20px) saturate(1.25);
  -webkit-backdrop-filter:blur(20px) saturate(1.25);box-shadow:0 1px 0 var(--line)}

/* ================= before / after — one glass card, one size, nothing cropped ================= */
.car--3 .car__slide{flex-basis:33.3333%}
@media(max-width:1000px){.car--3 .car__slide{flex-basis:50%}}
@media(max-width:700px){.car--3 .car__slide{flex-basis:100%}}
.bacard{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit;
  background:var(--glass);backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);
  border:1px solid var(--glass-brd);border-radius:var(--r-md);box-shadow:0 18px 44px rgba(60,52,42,.10);
  padding:14px 14px 0;transition:transform .35s,box-shadow .35s}
.bacard:hover{transform:translateY(-4px);box-shadow:0 26px 60px rgba(60,52,42,.14)}
/* every frame is the same box; every photo is contained inside it — never cut */
.bacard .bafr{width:100%;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;
  border-radius:var(--r-sm);overflow:hidden;background:rgba(255,255,255,.34)}
.bacard .bafr img{width:100%;height:100%;object-fit:contain;display:block}
.bacard .bameta{display:flex;flex-direction:column;gap:3px;padding:15px 4px 17px;border-top:1px solid var(--line);
  margin-top:14px}
.bacard .bat{font-size:14px;font-weight:600;color:var(--ink)}
.bacard .bas{font-size:13px;letter-spacing:.12em;color:var(--mut)}

/* ================= no photo is ever cropped =================
   fit.js writes each container's aspect-ratio from the photo's own pixels, so `cover`
   has nothing to cut. These are only the fallbacks before the script runs. */
.fitted img{object-fit:cover!important;object-position:center!important}
@media(max-width:760px){
  .frame,.tblock .pic,.split .im,.tcard .im,.ahero .apic{aspect-ratio:auto}
}

/* ================= featured treatments as cards ================= */
.feat3.cards3{max-width:1120px}
.feat3.cards3 .f{background:var(--cream2);border:1px solid var(--line);border-radius:var(--r-md);
  padding:clamp(30px,3vw,44px) clamp(22px,2vw,30px);transition:transform .35s,box-shadow .35s,border-color .35s}
.feat3.cards3 .f:hover{transform:translateY(-5px);box-shadow:0 26px 56px rgba(60,52,42,.12);border-color:var(--greige)}
.feat3.cards3 .f .d{margin-inline:auto}

/* ================= before/after — dark, like testimonials ================= */
.resdark{position:relative;background:var(--dark);color:#efece4;overflow:hidden;
  padding:clamp(72px,10vh,132px) var(--pad)}
.resdark .ghosttitle{position:absolute;top:5%;left:0;right:0;text-align:center;
  font-size:clamp(60px,15vw,200px);font-weight:800;color:rgba(239,236,228,.06);line-height:1;pointer-events:none}
.resdark>.wrap{position:relative;z-index:1}
.resdark .eyebrow{color:var(--greige)}
.resdark .sec-eyebrow .ln{background:rgba(239,236,228,.28)}
.resdark .big{color:#efece4}
.resdark .em{color:#efece4}
.resdark .lead{color:rgba(239,236,228,.78)}
.resdark .bacard{background:var(--glass-d);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid var(--glass-d-brd);box-shadow:none;color:#efece4}
.resdark .bacard:hover{box-shadow:0 26px 60px rgba(0,0,0,.28)}
.resdark .bacard .bafr{background:rgba(239,236,228,.05)}
.resdark .bacard .bameta{border-top:1px solid rgba(239,236,228,.16)}
.resdark .bacard .bat{color:#efece4}
.resdark .bacard .bas{color:var(--greige)}
.resdark .car__dot::before{background:rgba(239,236,228,.28)}
.resdark .car__dot[aria-selected="true"]::before{background:#efece4}
.resdark .car__arrow{color:#efece4;border-color:rgba(239,236,228,.4)}

/* --- גריד אחיד: תוכן כל סקשן מיושר ל-1260 (הירו של דף הבית נשאר 1088 בכוונה) --- */
.phero > *{max-width:1260px;margin-inline:auto}
.cta-band > *{max-width:1300px;margin-inline:auto}

/* ============================================================
   נגישות מקלדת — טבעת פוקוס גלויה
   נמדד: 0 כללי focus-visible מול 23-31 כללי hover, ו-6 כללים
   שמסירים outline לחלוטין. גולש מקלדת לא רואה איפה הוא.
   :focus-visible חל רק על ניווט מקלדת — לחיצת עכבר לא מציגה טבעת.
   ============================================================ */
a:focus-visible,button:focus-visible,summary:focus-visible,
select:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}

/* מבטל את ה-outline:none על שדות הטופס — רק עבור מקלדת */
.field input:focus-visible,.field textarea:focus-visible,
.ufield input:focus-visible,.ufield textarea:focus-visible,
.sbin input:focus-visible,.mnav .msearch input:focus-visible{
  outline:2px solid var(--ink);outline-offset:2px}

/* בסקשנים כהים הטבעת חייבת להיות בהירה כדי להיראות */
.resdark a:focus-visible,.resdark button:focus-visible,
.resdark [tabindex]:focus-visible{outline-color:var(--cream)}

/* ============================================================
   תיקון: שדות טופס יצירת הקשר היו בלתי נראים
   נמדד: border-color:rgba(255,255,255,.7) — מסגרת לבנה על
   מילוי לבן שקוף. זה מנגנון ההמרה היחיד בעמוד.
   ============================================================ */
.ccard .field input,.ccard .field textarea{
  background:rgba(255,255,255,.72);
  border-color:rgba(28,26,23,.30)}
.ccard .field input:focus,.ccard .field textarea:focus{
  background:rgba(255,255,255,.88);
  border-color:var(--ink)}

/* ============================================================
   יעדי לחיצה בפוטר
   נמדד: קישורי הפוטר בגובה 18px בטווח 561-980 — מסכים
   מגע (אייפד לאורך). התקן הוא 44px מינימום.
   ============================================================ */
@media(max-width:980px){
  footer ul{gap:0}
  footer ul li a{display:inline-flex;align-items:center;min-height:44px}
}
