/* שפרה רביבו — editorial bright system. Bles Software 2026 */
:root{
  --paper:#FCF8F1;
  --paper2:#F5ECDE;
  --blush:#F7DFD3;
  --sage:#E3EAD8;
  --sky:#DCE6EC;
  --ink:#1B1A16;
  --ink2:#5A5449;
  --clay:#DE5430;
  --clay-dk:#BE411F;
  --forest:#1E4A3B;
  --forest-lt:#2F6752;
  --line:#E6DAC7;
  --line2:#D6C6AE;
  --wa:#1FA855;
  --disp:"Rubik","Assistant",system-ui,-apple-system,sans-serif;
  --sans:"Assistant","Heebo",system-ui,-apple-system,sans-serif;
  --r:22px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  font-family:var(--sans);background:var(--paper);color:var(--ink);
  line-height:1.8;font-weight:400;font-size:1.03rem;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
/* paper grain */
body::after{
  content:"";position:fixed;inset:0;z-index:9;pointer-events:none;opacity:.055;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;line-height:1.14;letter-spacing:-.03em}
h2,h3{text-wrap:balance}
.wrap{width:min(1180px,90vw);margin-inline:auto}
.narrow{width:min(730px,90vw);margin-inline:auto}
.clay{color:var(--clay)}

/* ============ ticker ============ */
/* direction:ltr on the BOX, not only on .run: in an rtl box a max-content child
   is pinned to the right edge and overflows left, so translateX(-50%) walks the
   window off the end of the content and the strip goes blank mid-cycle. */
.tickerbar{background:var(--forest);color:#EFE6D6;overflow:hidden;font-size:.78rem;letter-spacing:.06em;direction:ltr}
.tickerbar .run{display:flex;width:max-content;direction:ltr;animation:slide 100s linear infinite}
.tickerbar span{direction:rtl}
.tickerbar span{padding:9px 0;white-space:nowrap}
.tickerbar i{font-style:normal;color:var(--clay);padding:0 16px;opacity:.9}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ============ header ============ */
header{position:sticky;top:0;z-index:50;background:rgba(252,248,241,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0}
.brand{display:flex;align-items:baseline;gap:9px;min-width:0}
.brand .bn{font-family:var(--disp);font-weight:700;font-size:1.32rem;letter-spacing:-.035em;white-space:nowrap}
.brand .dot{width:7px;height:7px;border-radius:50%;background:var(--clay);flex:0 0 7px;align-self:center}
.brand .bs{font-size:.63rem;font-weight:600;letter-spacing:.22em;color:var(--ink2);white-space:nowrap}
.nav-links{display:none;gap:30px;font-size:.95rem;font-weight:500}
.nav-links a{position:relative;padding-bottom:3px}
.nav-links a::after{content:"";position:absolute;inset-inline-start:0;bottom:0;width:0;height:2px;background:var(--clay);transition:width .28s ease}
.nav-links a:hover::after{width:100%}
.nav-cta{display:flex;gap:9px;align-items:center;flex-shrink:0}

/* ============ buttons ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;
  padding:12px 24px;font-weight:600;font-size:.95rem;font-family:var(--sans);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease;
  border:1.5px solid transparent;white-space:nowrap;cursor:pointer;line-height:1}
.btn svg{width:18px;height:18px;flex:0 0 18px}
.btn:hover{transform:translateY(-2px)}
.btn-wa{background:var(--wa);color:#fff;box-shadow:0 8px 20px rgba(31,168,85,.24)}
.btn-wa:hover{background:#18944a;box-shadow:0 12px 26px rgba(31,168,85,.32)}
.btn-clay{background:var(--clay);color:#FFF6F1;box-shadow:0 8px 22px rgba(222,84,48,.26)}
.btn-clay:hover{background:var(--clay-dk);box-shadow:0 13px 28px rgba(222,84,48,.34)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:#000}
.btn-cream{background:var(--paper);color:var(--ink)}
.btn-outline{border-color:var(--line2);color:var(--ink);background:transparent}
.btn-outline:hover{border-color:var(--ink);background:rgba(27,26,22,.04)}
.btn-lg{padding:16px 34px;font-size:1.02rem}
.btn-phone{font-variant-numeric:tabular-nums;direction:ltr}

/* ============ section heads ============ */
section{padding:clamp(60px,8vw,104px) 0;position:relative}
section[id]{scroll-margin-top:84px}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:.72rem;font-weight:700;letter-spacing:.24em;color:var(--clay);margin-bottom:16px}
.kicker::before{content:"";width:26px;height:2px;background:var(--clay)}
.sec-head{max-width:640px;margin-bottom:clamp(34px,4.5vw,56px)}
.sec-head h2{font-size:clamp(2rem,4.9vw,3.3rem);margin-bottom:14px}
.sec-head h2 em{font-style:normal;color:var(--clay)}
.sec-head p{color:var(--ink2);font-size:1.06rem;max-width:56ch}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head.center .kicker::before{display:none}

/* ============ hero ============ */
.hero{padding:clamp(38px,5.5vw,72px) 0 clamp(56px,7vw,92px);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;z-index:0;width:min(760px,88vw);height:min(760px,88vw);
  border-radius:50%;background:radial-gradient(circle,rgba(247,223,211,.85),rgba(252,248,241,0) 68%);
  top:-32%;inset-inline-start:-16%;pointer-events:none}
.hero::after{content:"";position:absolute;z-index:0;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(227,234,216,.9),rgba(252,248,241,0) 70%);bottom:-28%;inset-inline-end:-8%;pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(28px,4vw,58px);align-items:center}
.hero h1{font-size:clamp(2.45rem,6.7vw,4.7rem);font-weight:800;line-height:1.08;letter-spacing:-.035em;margin:0 0 22px}
.hero h1 .u{position:relative;display:inline-block;color:var(--clay)}
.hero h1 .u svg{position:absolute;inset-inline-start:0;bottom:-.14em;width:100%;height:.28em;overflow:visible}
.hero h1 .u path{fill:none;stroke:var(--clay);stroke-width:7;stroke-linecap:round;opacity:.5;
  stroke-dasharray:520;stroke-dashoffset:520;animation:draw 1.1s .5s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.hero .lead{font-size:clamp(1.05rem,2.1vw,1.2rem);color:var(--ink2);max-width:47ch;margin-bottom:30px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;font-size:.9rem;color:var(--ink2)}
.hero-meta div{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:8px 16px}
.hero-meta svg{width:16px;height:16px;flex:0 0 16px;stroke:var(--clay);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fade-up{animation:fadeUp .8s cubic-bezier(.2,.7,.3,1) both}
.d1{animation-delay:.05s}.d2{animation-delay:.16s}.d3{animation-delay:.27s}.d4{animation-delay:.38s}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

.hero-art{position:relative;display:grid;place-items:center;min-height:260px}
.hero-art .backarch{position:absolute;width:min(425px,88%);aspect-ratio:3/4;border:1.5px solid var(--line2);
  border-radius:999px 999px 26px 26px;transform:translate(-16px,16px) rotate(-3deg);z-index:0}
.hero-art .arch{position:relative;z-index:1;width:min(425px,88%);aspect-ratio:3/4;overflow:hidden;
  border-radius:999px 999px 26px 26px;box-shadow:0 26px 60px rgba(60,40,25,.16)}
.hero-art .arch img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.seal-rot{position:absolute;z-index:3;inset-inline-start:-6px;bottom:8%;width:118px;height:118px;
  border-radius:50%;background:var(--forest);display:grid;place-items:center;box-shadow:0 14px 30px rgba(30,74,59,.3)}
.seal-rot svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 24s linear infinite}
.seal-rot svg{direction:ltr}
.seal-rot text{fill:#EFE6D6;font-size:12.5px;font-weight:600;letter-spacing:.6px;font-family:var(--sans);direction:ltr;unicode-bidi:isolate}
.seal-rot b{font-family:var(--disp);font-size:1.62rem;color:#fff;line-height:1;font-weight:700;letter-spacing:-.03em}
@keyframes spin{to{transform:rotate(-360deg)}}

/* ============ marquee ============ */
.marquee{background:var(--clay);color:#FFF3EC;overflow:hidden;transform:rotate(-1.1deg) scale(1.03);margin:0 0 -6px;padding:0;direction:ltr}
.marquee .run{display:flex;width:max-content;direction:ltr;animation:slide 90s linear infinite}
.marquee span{direction:rtl}
.marquee span{font-family:var(--disp);font-weight:600;font-size:clamp(1.15rem,2.5vw,1.75rem);letter-spacing:-.02em;padding:16px 0;white-space:nowrap}
.marquee i{font-style:normal;opacity:.55;padding:0 22px}

/* ============ treatment index ============ */
.index{border-top:1.5px solid var(--ink)}
.trow{display:grid;grid-template-columns:auto 1.05fr 1.35fr auto;gap:clamp(14px,2.6vw,34px);align-items:center;
  padding:clamp(18px,2.4vw,26px) clamp(8px,1.4vw,18px);border-bottom:1px solid var(--line);
  transition:background .3s ease,padding .3s ease;position:relative}
.trow:hover{background:var(--paper2)}
.trow .n{font-family:var(--disp);font-size:clamp(1.05rem,1.9vw,1.32rem);font-weight:600;letter-spacing:-.03em;color:var(--clay);
  min-width:2.4ch;font-variant-numeric:tabular-nums;direction:ltr}
.trow h3{font-size:clamp(1.16rem,2.3vw,1.55rem);font-weight:700}
.trow p{color:var(--ink2);font-size:.98rem;line-height:1.7}
.trow .go{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line2);display:grid;place-items:center;
  flex:0 0 38px;transition:.3s ease}
.trow .go svg{width:15px;height:15px;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:.3s ease}
.trow:hover .go{background:var(--clay);border-color:var(--clay)}
.trow:hover .go svg{stroke:#fff}
.trow .swatch{position:absolute;inset-inline-start:0;top:12%;bottom:12%;width:4px;border-radius:4px;background:var(--blush);opacity:0;transition:.3s ease}
.trow:hover .swatch{opacity:1}
.trow:nth-child(3n+2) .swatch{background:var(--sage)}
.trow:nth-child(3n) .swatch{background:var(--sky)}
.trow:focus-visible{outline:2px solid var(--clay);outline-offset:-3px}

/* ============ stats ============ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--sage);border-radius:var(--r);overflow:hidden}
.stat{padding:clamp(22px,3vw,34px) 18px;text-align:center;border-inline-start:1px dashed rgba(30,74,59,.28)}
.stat:first-child{border:0}
.stat b{display:block;font-family:var(--disp);font-size:clamp(1.6rem,3.4vw,2.5rem);font-weight:700;letter-spacing:-.035em;color:var(--forest);line-height:1.1}
.stat span{font-size:.85rem;color:var(--ink2);letter-spacing:.02em}

/* ============ about ============ */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,4.6vw,64px);align-items:center}
.split h2{font-size:clamp(1.9rem,4.4vw,3rem);margin-bottom:18px}
.split h2 em{font-style:normal;color:var(--clay)}
.split p{color:var(--ink2);margin-bottom:16px}
.checks{list-style:none;margin-top:26px;display:grid;gap:14px}
.checks li{display:flex;gap:12px;align-items:flex-start}
.checks svg{width:22px;height:22px;flex:0 0 22px;margin-top:5px;padding:4px;border-radius:50%;
  background:var(--clay);stroke:#fff;fill:none;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.pullcard{background:var(--blush);border-radius:var(--r);padding:clamp(30px,4vw,46px);position:relative;
  transform:rotate(1.2deg);box-shadow:0 20px 46px rgba(120,70,50,.12)}
.pullcard::before{content:"״";position:absolute;top:.1em;inset-inline-start:.22em;font-family:var(--disp);
  font-size:4.8rem;color:var(--clay);opacity:.2;line-height:.7}
.pullcard .q{font-family:var(--disp);font-size:clamp(1.3rem,2.7vw,1.78rem);font-weight:500;letter-spacing:-.025em;line-height:1.55;position:relative}
.pullcard .sig{margin-top:20px;font-size:.87rem;color:var(--ink2);letter-spacing:.03em}
.pullcard .stars{display:flex;gap:3px;margin-bottom:18px}
.pullcard .stars svg{width:19px;height:19px;fill:var(--clay)}

/* ============ steps ============ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,30px)}
.step{position:relative;padding-top:12px}
.step .num{font-family:var(--disp);font-size:clamp(3.1rem,5.8vw,4.4rem);font-weight:700;letter-spacing:-.045em;line-height:.9;
  color:transparent;-webkit-text-stroke:1.6px var(--clay);display:block;margin-bottom:14px}
.step h3{font-size:1.24rem;margin-bottom:10px}
.step p{color:var(--ink2);font-size:.99rem}
.step::before{content:"";position:absolute;top:22px;inset-inline-end:calc(-1 * clamp(9px,1.3vw,15px));width:0;height:calc(100% - 22px);
  border-inline-end:1.5px dashed var(--line2)}
.step:last-child::before{display:none}

/* ============ moment ============ */
.moment{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(28px,4.4vw,60px);align-items:center}
.moment .ph{position:relative}
.moment .ph::before{content:"";position:absolute;inset:22px -22px -22px 22px;background:var(--sage);border-radius:var(--r)}
.moment>.ph>img:first-of-type{position:relative;border-radius:260px 260px var(--r) var(--r);aspect-ratio:4/5;object-fit:cover;width:100%;
  box-shadow:0 22px 50px rgba(60,40,25,.14)}
.moment .inset{position:absolute;z-index:2;inset-inline-end:-26px;bottom:-30px;width:44%;aspect-ratio:4/5;
  object-fit:cover;border-radius:120px 120px 16px 16px;border:7px solid var(--paper);
  box-shadow:0 18px 40px rgba(60,40,25,.2)}
.moment h2{font-size:clamp(1.9rem,4.4vw,3rem);margin-bottom:16px}
.moment h2 em{font-style:normal;color:var(--clay)}
.moment p{color:var(--ink2);margin-bottom:24px}

/* ============ visit / receipt ============ */
.visitgrid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(24px,3.6vw,44px);align-items:start}
.receipt{background:#fff;border:1px solid var(--line);border-radius:6px;padding:clamp(24px,3vw,34px);
  box-shadow:0 16px 38px rgba(60,40,25,.09);position:relative}
.receipt::before,.receipt::after{content:"";position:absolute;inset-inline:0;height:9px;
  background:radial-gradient(circle at 5px -1px,transparent 5px,#fff 5.5px);background-size:11px 9px}
.receipt::before{top:-8px;transform:rotate(180deg)}
.receipt::after{bottom:-8px}
.receipt h3{font-size:1.3rem;margin-bottom:4px}
.receipt .sub{font-size:.83rem;color:var(--ink2);letter-spacing:.1em;margin-bottom:18px}
.receipt .row{display:flex;align-items:baseline;gap:8px;padding:9px 0;font-size:.98rem}
.receipt .row+.row{border-top:1px dashed var(--line)}
.receipt dt{font-weight:600;white-space:nowrap}
.receipt .dots{flex:1;border-bottom:1px dotted var(--line2);transform:translateY(-4px)}
.receipt dd{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;color:var(--ink2);white-space:nowrap}
.receipt .off dd{color:var(--clay);font-weight:600}
.receipt .note{margin-top:18px;font-size:.85rem;color:var(--ink2);background:var(--paper2);border-radius:12px;padding:12px 14px}

.contact-list{display:grid;gap:10px;margin-bottom:20px}
.contact-list>*{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:15px 18px;transition:.25s ease}
.contact-list a:hover{border-color:var(--clay);transform:translateX(-4px)}
.contact-list svg{width:20px;height:20px;flex:0 0 20px;stroke:var(--clay);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-list span{display:block;font-weight:600;line-height:1.4}
.contact-list small{display:block;font-weight:400;font-size:.83rem;color:var(--ink2)}
.contact-list .num{direction:ltr;unicode-bidi:isolate}
.map{border-radius:var(--r);overflow:hidden;border:1.5px solid var(--line2);height:290px;background:var(--paper2)}
.map iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.85)}

/* ============ band ============ */
.band{background:var(--forest);color:#F3EDE1;border-radius:var(--r);padding:clamp(38px,5.4vw,72px) clamp(24px,4vw,56px);
  text-align:center;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;
  background:rgba(222,84,48,.28);filter:blur(70px);top:-120px;inset-inline-start:-60px}
.band h2{font-size:clamp(1.9rem,4.6vw,3.1rem);margin-bottom:14px;position:relative}
.band h2 em{font-style:normal;color:#F3A183}
.band p{color:rgba(243,237,225,.82);max-width:52ch;margin:0 auto 28px;position:relative}
.band .btn{position:relative}

/* ============ footer ============ */
footer{background:var(--ink);color:#CFC7B8;padding:clamp(46px,6vw,74px) 0 26px;margin-top:0}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot h4{color:var(--paper);font-size:1.12rem;margin-bottom:12px}
.foot a:hover{color:var(--clay)}
.foot .num{direction:ltr;unicode-bidi:isolate;display:inline-block}
.bigmark{font-family:var(--disp);font-weight:700;font-size:clamp(1.75rem,7.1vw,6.4rem);line-height:1.16;
  color:transparent;-webkit-text-stroke:1.4px rgba(252,248,241,.3);padding:34px 0 10px;letter-spacing:-.045em;white-space:nowrap}
.credit{margin-top:6px}
.credit{font-size:.82rem;color:#8E877A;padding-top:8px}
.credit a{color:#CFC7B8;border-bottom:1px solid rgba(255,255,255,.25)}

/* ============ fab ============ */
.fab{position:fixed;inset-inline-start:18px;bottom:18px;z-index:40;width:56px;height:56px;border-radius:50%;
  background:var(--wa);display:grid;place-items:center;box-shadow:0 12px 28px rgba(31,168,85,.4);transition:.25s ease}
.fab:hover{transform:scale(1.07)}
.fab svg{width:29px;height:29px;fill:#fff}

/* ============ blog ============ */
.bhero{padding:clamp(44px,6vw,80px) 0 clamp(24px,3vw,36px);position:relative;overflow:hidden}
.bhero::before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;
  background:radial-gradient(circle,rgba(247,223,211,.8),transparent 68%);top:-46%;inset-inline-end:-14%;pointer-events:none}
.bhero h1{font-size:clamp(2.3rem,6.1vw,4.1rem);font-weight:800;margin-bottom:18px;position:relative}
.bhero h1 em{font-style:normal;color:var(--clay)}
.bhero p{color:var(--ink2);max-width:56ch;font-size:1.08rem;position:relative}
.tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.2em;color:var(--clay);
  border:1.5px solid var(--clay);border-radius:999px;padding:5px 14px;margin-bottom:16px}
.feat{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(22px,3.4vw,44px);align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.3s ease}
.feat:hover{box-shadow:0 24px 54px rgba(60,40,25,.14);transform:translateY(-4px)}
.feat .ph{overflow:hidden;height:100%;min-height:290px}
.feat .ph img{width:100%;height:100%;object-fit:cover;object-position:76% 42%;transition:transform .6s ease}
.feat:hover .ph img{transform:scale(1.05)}
.feat .tx{padding:clamp(24px,3vw,40px) clamp(20px,3vw,40px) clamp(24px,3vw,40px) 0}
.feat h2{font-size:clamp(1.5rem,3.1vw,2.15rem);margin-bottom:14px}
.feat p{color:var(--ink2);font-size:1rem;margin-bottom:18px}
.feat .meta{display:flex;gap:9px;font-size:.85rem;color:var(--ink2);margin-bottom:16px}
.readmore{font-weight:700;color:var(--clay)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.post{background:var(--paper2);border-radius:18px;padding:26px 24px;display:flex;flex-direction:column;gap:12px;
  border:1px solid transparent;transition:.28s ease}
.post:hover{border-color:var(--line2);background:#fff}
.post .cat{font-size:.7rem;font-weight:700;letter-spacing:.18em;color:var(--clay)}
.post h3{font-size:1.14rem;line-height:1.4;flex:1}
.soon{font-size:.78rem;color:var(--ink2);background:var(--paper);border:1px dashed var(--line2);
  border-radius:999px;padding:4px 12px;align-self:flex-start}

/* ============ article ============ */
.acover{height:clamp(210px,32vw,380px);overflow:hidden;position:relative}
.acover img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.ahead{padding:clamp(28px,4vw,48px) 0 clamp(16px,2vw,26px)}
.ahead h1{font-size:clamp(2rem,5.2vw,3.5rem);font-weight:800;margin-bottom:16px}
.ahead h1 em{font-style:normal;color:var(--clay)}
.ahead .meta{display:flex;flex-wrap:wrap;gap:9px;font-size:.87rem;color:var(--ink2)}
.body{padding-bottom:clamp(40px,6vw,80px);font-size:1.09rem;line-height:1.95}
.body p{margin-bottom:20px;color:#2E2A23}
.body .lede{font-size:1.22rem;line-height:1.75;color:var(--ink);font-weight:500;border-inline-start:3px solid var(--clay);
  padding-inline-start:18px;margin-bottom:30px}
.body h2{font-size:clamp(1.5rem,3.2vw,2.1rem);margin:44px 0 16px;scroll-margin-top:90px}
.body h3{font-size:1.24rem;margin:28px 0 10px}
.body ul,.body ol{margin:0 0 22px;padding-inline-start:22px;color:#2E2A23}
.body li{margin-bottom:9px}
.body strong{font-weight:700;color:var(--ink)}
.toc{background:var(--paper2);border-radius:18px;padding:26px 28px;margin-bottom:34px;border:1px solid var(--line)}
.toc h4{font-size:.75rem;letter-spacing:.2em;color:var(--clay);margin-bottom:12px;font-family:var(--sans);font-weight:700}
.toc ol{margin:0;padding-inline-start:20px;font-size:1rem;line-height:1.9}
.toc a:hover{color:var(--clay)}
.pull{font-family:var(--disp);font-size:clamp(1.25rem,2.6vw,1.65rem);font-weight:500;letter-spacing:-.025em;line-height:1.6;color:var(--forest);
  border-block:2px solid var(--line2);padding:26px 0;margin:34px 0;font-weight:500}
.abox{background:var(--blush);border-radius:var(--r);padding:clamp(28px,3.6vw,42px);margin:40px 0;text-align:center}
.abox h3{font-size:clamp(1.35rem,2.8vw,1.85rem);margin-bottom:10px}
.abox h3 em{font-style:normal;color:var(--clay)}
.abox p{margin-bottom:22px;color:var(--ink2)}
.faq{display:grid;gap:10px;margin:22px 0 34px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.25s ease}
.faq details[open]{border-color:var(--clay)}
.faq summary{cursor:pointer;padding:17px 20px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:1.02rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--disp);font-size:1.5rem;color:var(--clay);line-height:1;flex:0 0 auto}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 20px 18px;margin:0;color:var(--ink2);font-size:1rem;line-height:1.8}
.backlink{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--clay);margin-top:8px}
.backlink:hover{gap:12px}

/* ============ responsive ============ */
@media(min-width:960px){.nav-links{display:flex}}
@media(max-width:960px){
  .hero-grid,.split,.moment,.visitgrid,.feat{grid-template-columns:1fr}
  .hero-art{order:-1;margin-bottom:14px}
  .hero-art .arch,.hero-art .backarch{width:min(330px,72%)}
  .moment .ph::before{inset:16px -16px -16px 16px}
  .feat .tx{padding:26px 24px 30px}
  .feat .ph{min-height:230px}
  .steps{grid-template-columns:1fr;gap:24px}
  .step::before{display:none}
  .step{border-bottom:1px dashed var(--line2);padding-bottom:20px}
  .step:last-child{border-bottom:0}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(3){border-inline-start:0}
  .stat:nth-child(n+3){border-top:1px dashed rgba(30,74,59,.28)}
  .posts{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  body{font-size:1rem}
  .trow{grid-template-columns:auto 1fr;gap:8px 14px;padding:20px 10px}
  .trow p{grid-column:2;margin-top:2px}
  .trow .go{display:none}
  .brand .bs{display:none}
  .btn-phone{display:none}
  .posts{grid-template-columns:1fr}
  .seal-rot{width:98px;height:98px}
  .marquee span{padding:13px 0}
  .foot{grid-template-columns:1fr 1fr;gap:24px}
  .foot div:first-child{grid-column:1/-1}
  .receipt::before,.receipt::after{display:none}
}
@media(max-width:420px){
  .hero-meta div{width:100%}
  .stats{grid-template-columns:1fr}
  .stat{border-inline-start:0}
  .stat+.stat{border-top:1px dashed rgba(30,74,59,.28)}
  .foot{grid-template-columns:1fr}
  .nav{gap:8px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
