
:root{--paper:#f7f7f5;--paper-alt:#edeeec;--ink:#161a1d;--ink-2:#5b6470;--ink-3:#8a8f98;--line:#d6d9dc;
--accent:#7a3b14;--on-accent:#ffffff;--accent-soft:#f4e7dc;--r:4px;--r-lg:6px;--shadow:none;
--hero-bg:var(--paper);--btn-r:4px;--fd:'Miriam Libre', system-ui, -apple-system, 'Segoe UI', Arial, 'Noto Sans Hebrew', sans-serif;--fb:Assistant, system-ui, -apple-system, 'Segoe UI', Arial, 'Noto Sans Hebrew', sans-serif;--h1m:2rem;--h1d:3rem;--dw:700;--max:1060px;--tap:48px;--wa:#25d366}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--fb);color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased;font-size:1.02rem}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.skip{position:absolute;right:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:100}.skip:focus{right:1rem}
h1,h2,h3{margin:0 0 .4em;line-height:1.15}
h1,h2{font-family:var(--fd);font-weight:var(--dw);text-wrap:balance}
h1{font-size:var(--h1m)}@media(min-width:760px){h1{font-size:var(--h1d)}}
h2{font-size:clamp(1.6rem,4.6vw,2.4rem);margin-bottom:.7em}h3{font-size:1.12rem;font-weight:700}
p{margin:0 0 1em}.lead{font-size:1.14rem;color:var(--ink-2);max-width:44ch}.fine{font-size:.88rem;color:var(--ink-2)}
.num{font-variant-numeric:tabular-nums}.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
.nav{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:60px;padding-top:.4rem;padding-bottom:.4rem}
.logo{font-family:var(--fd);font-weight:var(--dw);font-size:1.3rem;display:flex;align-items:center;gap:.6rem}.logo img{height:38px;width:auto}
.nav nav{display:none;gap:1.3rem;color:var(--ink-2);font-weight:500}.nav nav a.on{color:var(--ink);font-weight:700;border-bottom:2px solid var(--accent)}
@media(min-width:760px){.nav nav{display:flex}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--tap);padding:0 1.4rem;background:var(--accent);color:var(--on-accent);font-weight:700;border-radius:var(--btn-r);border:0;cursor:pointer;transition:opacity .12s,background .12s}
.btn:hover{opacity:.9}.btn-sm{min-height:40px;padding:0 1rem;font-size:.92rem;border-radius:var(--btn-r)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}.btn-wa{background:var(--wa);color:#04321a}
/* hero */
.hero{padding:3.4rem 0 2.6rem;background:var(--hero-bg)}
@media(min-width:760px){.hero{padding:5.5rem 0 4rem}.hero.with-img .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}.hero:not(.with-img) .wrap{max-width:780px}}
.hero.photo-cover{position:relative;color:#fff;background:var(--ink);padding:5rem 0}.hero.photo-cover .bg{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:.45}.hero.photo-cover .wrap{position:relative}.hero.photo-cover .lead{color:#ddd}
.eyebrow{display:block;font-size:.88rem;font-weight:700;color:var(--accent);letter-spacing:.02em;margin-bottom:.7rem}
.hero img.side{border-radius:var(--r-lg);aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:var(--shadow)}
.cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.3rem 0 .8rem}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1.5rem 0 0;padding:0;list-style:none}
.facts li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:.75rem .8rem}.facts strong{display:block;font-size:1.3rem;font-weight:800;font-family:var(--fb)}.facts span{font-size:.85rem;color:var(--ink-2)}
/* sections */
.section{padding:3.4rem 0}.alt{background:var(--paper-alt)}
.cards{list-style:none;padding:0;margin:0;display:grid;gap:1rem}@media(min-width:760px){.cards{grid-template-columns:repeat(3,1fr)}}
.cards li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.25rem;box-shadow:var(--shadow)}.cards p{margin:0;color:var(--ink-2);font-size:.96rem}
.svc{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}
.svc li{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem}
.svc h3{margin:0}.svc p{grid-column:1;margin:0;color:var(--ink-2);font-size:.94rem}.svc .price{grid-column:2;grid-row:1/3;align-self:center;justify-self:end;font-weight:800;font-size:1.1rem;white-space:nowrap;font-family:var(--fb)}
.quotes{list-style:none;padding:0;margin:0;display:grid;gap:1rem}@media(min-width:760px){.quotes{grid-template-columns:repeat(2,1fr)}}
.quotes li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem}.quotes blockquote{margin:0 0 .7rem;font-size:1.04rem}.quotes cite{font-style:normal;color:var(--ink-3);font-size:.9rem}.stars{color:#f5a623;letter-spacing:.08em;margin-bottom:.4rem}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}@media(min-width:760px){.gallery{grid-template-columns:repeat(3,1fr)}}.gallery img{aspect-ratio:1;object-fit:cover;border-radius:var(--r);width:100%}
/* steps = vertical timeline, deliberately not a card grid (rhythm break) */
.steps{list-style:none;padding:0;margin:0;counter-reset:s;position:relative;max-width:34rem}
.steps li{counter-increment:s;position:relative;padding:0 3rem 1.6rem 0;min-height:2.2rem}
.steps li::before{content:counter(s);position:absolute;inset-inline-start:0;top:0;width:2.2rem;height:2.2rem;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:800;font-family:var(--fb);font-size:.95rem}
.steps li::after{content:"";position:absolute;inset-inline-start:1.05rem;top:2.4rem;bottom:0;width:2px;background:var(--line)}
.steps li:last-child{padding-bottom:0}.steps li:last-child::after{display:none}
.steps h3{margin:.15rem 0 .2rem}.steps p{margin:0;color:var(--ink-2);font-size:.95rem}
details{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:.4rem 1.1rem;margin-bottom:.6rem}summary{font-weight:700;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--tap);padding:.4rem 0}summary::-webkit-details-marker{display:none}summary::after{content:"+";color:var(--ink-3)}details[open] summary::after{content:"–"}details p{margin:.7rem 0 0;color:var(--ink-2)}
.band{background:var(--ink);color:#fff;padding:3.4rem 0}.band h2{color:#fff}.band .lead{color:#e9ecef;margin:0 0 1.2rem}
.split{display:grid;gap:2rem}@media(min-width:760px){.split{grid-template-columns:1fr 1fr}}
.info dl{margin:0}.info dt{font-weight:700;margin-top:1rem}.info dd{margin:0;color:var(--ink-2)}
.info dd a,a[href^="tel:"]:not(.btn){display:inline-flex;align-items:center;min-height:44px;font-weight:600}
footer a{display:inline-flex;align-items:center;min-height:32px}
.map{border:0;width:100%;height:320px;border-radius:var(--r)}
.hours{width:100%;border-collapse:collapse}.hours td{padding:.5rem 0;border-bottom:1px solid var(--line)}.hours td:last-child{text-align:left;font-family:var(--fb)}
.form{display:grid;gap:.9rem;max-width:520px}.form label{display:grid;gap:.3rem;font-weight:600;font-size:.95rem}
.form input,.form textarea{font:inherit;min-height:var(--tap);padding:.75rem .9rem;border:1.5px solid var(--line);border-radius:var(--r);width:100%;background:var(--paper)}.form input:focus,.form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.thanks{background:var(--paper-alt);border-radius:var(--r);padding:1.4rem;max-width:520px}
footer{border-top:1px solid var(--line);padding:2rem 0 3rem;color:var(--ink-2);font-size:.94rem}footer .wrap{display:grid;gap:.5rem}footer a.u{text-decoration:underline;text-underline-offset:3px}
.mobile-bar{position:fixed;bottom:0;right:0;left:0;z-index:15;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--paper) 95%,transparent);border-top:1px solid var(--line)}
.mobile-bar .btn{min-height:var(--tap)}
@media(min-width:760px){.mobile-bar{display:none}}body{padding-bottom:4.6rem}@media(min-width:760px){body{padding-bottom:0}}
.facts-band{padding:1.8rem 0;border-block:1px solid var(--line)}
.page-title{padding-bottom:1rem}
.a11y{font-size:.9rem;color:var(--ink-2)}.a11y h2{font-size:1.4rem}

/* ===== signature devices (closed set; design director picks one) ===== */
/* 1 fact-rail: thin horizontal rail of numbered facts, divided by vertical rules */
.sig-fact-rail .facts{grid-template-columns:repeat(3,1fr);gap:0;background:none;border:0}
.sig-fact-rail .facts li{background:none;border:0;border-inline-start:1px solid var(--line);border-radius:0;padding:.2rem 1rem}
.sig-fact-rail .facts li:first-child{border-inline-start:0;padding-inline-start:0}
.sig-fact-rail .facts strong{font-family:var(--fd);font-weight:var(--dw)}
/* 2 price-stamp: price rotated in a stamped box */
.sig-price-stamp .svc .price{display:inline-block;border:2px solid var(--accent);color:var(--accent);padding:.25rem .6rem;transform:rotate(-3deg);border-radius:4px}
/* 3 label-tag: dark label with accent text, like equipment labelling */
.sig-label-tag .svc .price{display:inline-block;background:var(--accent);color:var(--on-accent);padding:.35rem .75rem;font-weight:800;letter-spacing:.02em;border-radius:2px}
.sig-label-tag .btn{border-radius:2px}
/* 4 owner-quote: one first-person line in display type */
.sig-owner-quote .owner-quote{font-family:var(--fd);font-weight:var(--dw);font-size:clamp(1.4rem,4vw,2rem);line-height:1.3;max-width:26ch;margin:0 0 .6rem}
.owner-quote-wrap{padding:2.4rem 0}
.owner-quote-wrap cite{font-style:normal;color:var(--ink-2);font-size:.95rem}
/* 5 rule-number: thin rule + section number above each h2 */
body.sig-rule-number main{counter-reset:sec}
.sig-rule-number .section{counter-increment:sec}
.sig-rule-number .section h2::before{content:"0" counter(sec);display:block;font-family:var(--fd);font-size:.85rem;color:var(--accent);letter-spacing:.1em;border-top:1px solid var(--line);padding-top:.6rem;width:3rem;margin-bottom:.8rem}
/* 6 big-number: one giant number in the hero */
.bignum{font-family:var(--fd);font-weight:var(--dw);font-size:clamp(3.4rem,14vw,7rem);line-height:.9;color:var(--accent);margin:.6rem 0 .1rem}
.bignum-label{font-size:.95rem;color:var(--ink-2);margin-bottom:1rem}
/* 7 sticker: small rotated tag on a card or image */
.sticker{display:inline-block;margin:0 0 .9rem;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:.85rem;padding:.3rem .7rem;transform:rotate(-6deg);border-radius:3px}
/* 8 pro-card: the practitioner card (photo, name, licence, years, two buttons) */
.pro-card{display:grid;grid-template-columns:96px 1fr;gap:1rem;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.1rem;box-shadow:var(--shadow);max-width:520px}
.pro-card img{width:96px;height:96px;object-fit:cover;border-radius:50%}
.pro-card .no-img{width:96px;height:96px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;font-family:var(--fd);font-size:2rem;color:var(--accent)}
.pro-card h3{margin:0 0 .15rem}.pro-card p{margin:0 0 .5rem;color:var(--ink-2);font-size:.92rem}
.pro-card .row{display:flex;gap:.5rem;flex-wrap:wrap}
