/* =====================================================================
   Lysi-Lab · Elementor compatibility layer  (keep this block FIRST)
   ===================================================================== */
/* HTML blocks: the container + widget wrappers disappear on the live site,
   so every section behaves exactly like the original page (sticky header, waves). */
body:not(.elementor-editor-active) .e-con.lys-h,
body:not(.elementor-editor-active) .e-con.lys-h>.elementor-widget-html,
body:not(.elementor-editor-active) .e-con.lys-h>.elementor-widget-html>.elementor-widget-container,
body:not(.elementor-editor-active) .elementor-widget.lys-flat,
body:not(.elementor-editor-active) .elementor-widget.lys-flat>.elementor-widget-container{display:contents}
.e-con.lys-h{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;--row-gap:0px;--column-gap:0px}
/* native blocks (built with Elementor widgets) */
.lys-n{overflow:hidden}
.lys-n--band,.lys-n--ready{background-image:radial-gradient(60% 80% at 90% 0%,rgba(43,103,160,.5),rgba(0,0,0,0) 60%),linear-gradient(180deg,#123F70 0%,#0A2442 100%)!important}
.e-con>.elementor-widget.lys-btn,.e-con>.e-con-inner>.elementor-widget.lys-btn{width:auto;max-width:none}
.lys-n-title .elementor-heading-title{max-width:20ch;margin-inline:auto;text-wrap:balance}
.lys-n-title--wide .elementor-heading-title{max-width:22ch;margin-inline:0}
.lys-n-title em{font-style:italic;color:#E3C9A6}
.lys-n-lead p{margin:0 auto;max-width:56ch}.lys-n-lead--left p{margin:0;max-width:44ch}
.lys-btn .elementor-button{min-height:54px;display:inline-flex;align-items:center;transition:background .25s,color .25s,border-color .25s}
.lys-btn .elementor-button-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:currentColor}
.lys-btn .elementor-button-icon svg,.lys-btn .elementor-button-icon i{fill:#fff;color:#fff;width:12px;height:12px}
.lys-btn.lys-btn--light .elementor-button-icon svg,.lys-btn.lys-btn--light .elementor-button-icon i{fill:#F7F2EA;color:#F7F2EA}
.lys-btn.lys-btn--gold .elementor-button-icon svg,.lys-btn.lys-btn--gold .elementor-button-icon i{fill:#E6CCA4;color:#E6CCA4}
.elementor-widget-text-editor.prose{font-family:var(--body);flex:1 1 0;min-width:0}
.elementor-widget-text-editor.prose p:first-child{margin-top:0}
.lys-n--post .post-aside{position:sticky;top:110px;width:320px;flex:0 0 320px}
@media (max-width:1024px){.lys-n--post .post-aside{position:static;width:100%;flex-basis:auto}}
/* Canvas pages: no theme wrapper, so give the body the site background */
body.elementor-template-canvas{background:var(--ivory,#F7F2EA)}
/* ===================================================================== */
/* Lysi-Lab — shared styles
   Concept: Mediterranean silk. Ivory walls, royal-blue tulle, champagne-gold hairlines.
   Signature shapes: the arch window, the flowing wave line, and the on/off switch. */
:root{
  --royal:#123F70; --royal-deep:#0B2C50; --med:#245B91;
  --ivory:#F8F4EE; --sand:#E8D8C6; --sand-soft:#F1E6D8; --gold:#B3844F; --gold-ink:#86602F; --white:#FBF8F2; --mist:#E9EEF4;
  --ink:#0F2540; --muted:#4C6078; --line:rgba(18,63,112,.14); --line-gold:rgba(179,132,79,.5);
  --on-royal:rgba(248,244,238,.82); --line-light:rgba(248,244,238,.22);
  --lys-display:'Playfair Display','Times New Roman',Georgia,serif;
  --body:'Manrope','Manrope Fallback',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --r:26px; --shadow:0 30px 70px -38px rgba(18,63,112,.5);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.7 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
img{display:block;height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--lys-display);font-weight:500;color:var(--royal);margin:0;letter-spacing:-.012em;line-height:1.1;text-wrap:balance}
p{margin:0}ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:8px}

.skip{position:absolute;left:16px;top:-90px;z-index:200;background:var(--royal);color:var(--ivory);padding:10px 18px;border-radius:99px;text-decoration:none}
.skip:focus{top:calc(10px + env(safe-area-inset-top,0px))}
.wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.narrow{max-width:760px}
.eyebrow{font:700 .72rem/1.4 var(--body);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink)}
.on-dark .eyebrow,.eyebrow.light{color:#E3C9A6}
.h1{font-size:clamp(2.3rem,1rem + 4.6vw,4.5rem);line-height:1.04;letter-spacing:-.02em}
.h2{font-size:clamp(1.9rem,1.1rem + 2.8vw,3.2rem)}
.h3{font-size:clamp(1.25rem,1.05rem + .7vw,1.6rem)}
.h1 em,.h2 em{font-style:italic;color:var(--gold-ink);font-weight:500}
.on-dark .h1,.on-dark .h2,.on-dark .h3,.on-dark h3{color:var(--ivory)}
.on-dark .h1 em,.on-dark .h2 em{color:#E3C9A6}
.lead{font-size:clamp(1.02rem,.96rem + .3vw,1.2rem);color:var(--muted);max-width:60ch}
.on-dark .lead,.on-dark p{color:var(--on-royal)}
.note{font-size:.8rem;color:var(--muted);line-height:1.55}
.on-dark .note{color:rgba(248,244,238,.62)}

/* ---------- sections ---------- */
.sec{position:relative;padding-block:clamp(72px,9vw,128px);background:var(--ivory)}
.sec--sand{background:var(--sand-soft)}
.sec--white{background:var(--mist)}
.sec--royal{background:linear-gradient(180deg,var(--royal) 0%,var(--royal-deep) 100%);color:var(--ivory)}
.sec-head{display:grid;gap:14px;max-width:760px;margin-bottom:clamp(36px,5vw,64px)}
.sec-head.center{margin-inline:auto;text-align:center;justify-items:center}
.wave{display:block;width:100%;height:clamp(28px,4vw,60px);margin:0;position:relative;z-index:1}
.wave--ivory{color:var(--ivory)}.wave--sand{color:var(--sand-soft)}.wave--white{color:var(--mist)}.wave--royal{color:var(--royal)}.wave--royal-deep{color:var(--royal-deep)}
.flip{transform:scaleY(-1)}
.deco-wave{position:absolute;pointer-events:none;opacity:.55}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:14px;min-height:54px;padding:8px 8px 8px 26px;border-radius:99px;border:1.5px solid transparent;font:700 .92rem/1.2 var(--body);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s,box-shadow .25s}
.btn .k{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;flex:none;transition:transform .35s cubic-bezier(.3,.7,.2,1)}
.btn .k svg{width:16px;height:16px}
.btn:hover .k{transform:translateX(4px)}
.btn--primary{background:var(--royal);color:var(--ivory)}.btn--primary .k{background:var(--ivory);color:var(--royal)}
.btn--primary:hover{background:var(--med)}
.btn--gold{background:var(--gold);color:#fff}.btn--gold .k{background:#fff;color:var(--gold-ink)}
.btn--gold:hover{background:#9c7041}
.btn--ghost{padding-right:26px;border-color:var(--royal);color:var(--royal);background:transparent}
.btn--ghost:hover{background:var(--royal);color:var(--ivory)}
.btn--ghost-light{padding-right:26px;border-color:var(--line-light);color:var(--ivory);background:transparent}
.btn--ghost-light:hover{background:rgba(248,244,238,.12);border-color:var(--ivory)}
.btn--light{background:var(--ivory);color:var(--royal)}.btn--light .k{background:var(--royal);color:var(--ivory)}
.btn--light:hover{background:#fff}
.btn--sm{min-height:44px;padding:5px 5px 5px 20px;font-size:.84rem}.btn--sm .k{width:32px;height:32px}
.btn--block{width:100%;justify-content:space-between}
.btn[disabled]{opacity:.6;cursor:wait}
.row-btns{display:flex;flex-wrap:wrap;gap:12px}
.link-arrow{display:inline-flex;align-items:center;gap:10px;font:700 .86rem/1 var(--body);color:var(--royal);text-decoration:none;letter-spacing:.02em}
.link-arrow svg{width:18px;height:18px;transition:transform .3s}.link-arrow:hover svg{transform:translateX(5px)}
.on-dark .link-arrow{color:#E3C9A6}

/* ---------- header ---------- */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:90;background:rgba(248,244,238,.9);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
.brand{display:flex;align-items:center;flex:none}.brand img{height:40px;width:auto}
.nav{display:flex;gap:clamp(18px,2.6vw,38px)}
.nav a{position:relative;font:700 .74rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--royal);padding:10px 0}
.nav a::after{content:"";position:absolute;left:50%;bottom:-2px;width:6px;height:6px;border-radius:50%;background:var(--gold);transform:translateX(-50%) scale(0);transition:transform .3s}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:translateX(-50%) scale(1)}
.hdr-cta{display:flex;align-items:center;gap:12px}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--royal);background:transparent;color:var(--royal);cursor:pointer;align-items:center;justify-content:center}
.burger i{display:block;width:18px;height:2px;background:currentColor;position:relative;border-radius:2px;transition:background .2s}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s,top .25s}
.burger i::before{top:-6px}.burger i::after{top:6px}
.burger[aria-expanded="true"] i{background:transparent}
.burger[aria-expanded="true"] i::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] i::after{top:0;transform:rotate(-45deg)}

/* ---------- hero (home) ---------- */
.hero{position:relative;overflow-x:clip;padding-block:clamp(36px,5vw,72px) clamp(64px,8vw,110px)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(32px,5vw,80px);align-items:center;position:relative}
.hero__copy{display:grid;gap:26px;min-width:0}
.kicker{display:inline-flex;align-items:center;gap:12px}
.kicker::before{content:"";width:40px;height:1.5px;background:var(--gold)}
.hero .lead{max-width:54ch}
.stage{position:relative;width:100%;max-width:560px;margin-inline:auto;padding-bottom:0}
.arch-wrap{position:relative}
.arch{position:relative;aspect-ratio:4/5;border-radius:50% 50% 28px 28px/34% 34% 28px 28px;overflow:hidden;background:linear-gradient(172deg,#F3E6D5 0%,#E6D0B6 52%,#D6BC9C 100%);box-shadow:var(--shadow)}
.arch::after{content:"";position:absolute;inset:14px;border:1px solid var(--line-gold);border-radius:inherit;pointer-events:none;z-index:2}
.arch img.ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.arch .silk{position:absolute;inset:0;width:100%;height:100%}
.machine-card{position:absolute;right:-3%;bottom:70px;width:46%;background:var(--white);border-radius:22px;padding:14px 14px 12px;box-shadow:var(--shadow);border:1px solid var(--line);display:grid;gap:8px;justify-items:center;text-align:center}
.machine-card img{width:78%;height:auto}
.machine-card b{font:700 .62rem/1.3 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--royal)}
.tool{position:relative;width:min(440px,92%);margin:-30px auto 0 -6%;z-index:5}

/* concern -> plan tool (the switch) */
.sw{--bg:var(--white);--fg:var(--royal);--chip:rgba(18,63,112,.07);padding:20px 22px 22px;border-radius:24px;background:var(--bg);color:var(--fg);border:1px solid var(--line);box-shadow:var(--shadow);transition:background .6s,color .6s,border-color .6s;display:grid;gap:14px}
.sw[data-on="true"]{--bg:var(--royal);--fg:var(--ivory);--chip:rgba(248,244,238,.14);border-color:var(--royal)}
.sw__top{display:flex;align-items:center;gap:16px}
.sw__knob{position:relative;flex:none;width:92px;height:48px;border-radius:99px;border:0;padding:0;cursor:pointer;background:var(--sand);box-shadow:inset 0 0 0 1px var(--line-gold);transition:background .6s}
.sw__knob::after{content:"";position:absolute;top:5px;left:5px;width:38px;height:38px;border-radius:50%;background:var(--ivory);box-shadow:0 0 0 2px var(--gold),0 6px 14px -4px rgba(18,63,112,.45);transition:transform .55s cubic-bezier(.5,.1,.2,1.2)}
.sw__knob[aria-checked="true"]{background:var(--royal-deep)}
.sw__knob[aria-checked="true"]::after{transform:translateX(44px)}
.sw__title{position:relative;flex:1;height:2rem;font:500 1.55rem/1.3 var(--lys-display)}
.sw__title span{position:absolute;inset:0;transition:opacity .4s,transform .5s;white-space:nowrap}
.sw__title .on{opacity:0;transform:translateY(8px)}
.sw[data-on="true"] .sw__title .off{opacity:0;transform:translateY(-8px)}
.sw[data-on="true"] .sw__title .on{opacity:1;transform:none}
.sw__q{font:700 .7rem/1.3 var(--body);letter-spacing:.16em;text-transform:uppercase;opacity:.75}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid transparent;background:var(--chip);color:inherit;border-radius:99px;padding:8px 14px;font:600 .8rem/1.2 var(--body);cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.chip[aria-pressed="true"]{background:var(--royal);color:var(--ivory)}
.sw[data-on="true"] .chip[aria-pressed="true"]{background:var(--ivory);color:var(--royal)}
.sw__off,.sw__on{display:grid;gap:12px}
.sw__on{display:none}
.sw[data-on="true"] .sw__off{display:none}
.sw[data-on="true"] .sw__on{display:grid}
.sw__result{display:grid;gap:8px;font-size:.88rem;line-height:1.5}
.sw__result li{display:flex;gap:10px;align-items:flex-start}
.sw__result li::before{content:"";flex:none;width:7px;height:7px;margin-top:.5em;border-radius:50%;background:var(--gold)}
.sw .btn{min-height:46px;font-size:.84rem}
.sw__hint{font-size:.76rem;opacity:.75;line-height:1.5}

/* ---------- trust strip ---------- */
.trust{background:var(--royal);color:var(--ivory)}
.trust ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.trust li{display:flex;gap:14px;align-items:center;padding:24px 20px;border-left:1px solid var(--line-light)}
.trust li:first-child{border-left:0;padding-left:0}
.trust svg{width:28px;height:28px;flex:none;color:#E3C9A6}
.trust b{display:block;font:700 .9rem/1.3 var(--body)}
.trust span{display:block;font-size:.8rem;color:rgba(248,244,238,.72);line-height:1.4}

/* ---------- benefits: staggered arch cards ---------- */
.ben-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);align-items:start}
.ben{position:relative;background:var(--white);border:1px solid var(--line);border-radius:50% 50% 26px 26px/190px 190px 26px 26px;padding:clamp(120px,12vw,160px) clamp(22px,2.4vw,34px) 34px;display:grid;gap:14px;text-align:center;justify-items:center;transition:transform .4s,box-shadow .4s}
.ben:nth-child(2){margin-top:-28px;background:var(--royal);color:var(--ivory);border-color:var(--royal)}
.ben:nth-child(2) h3{color:var(--ivory)}.ben:nth-child(2) p{color:var(--on-royal)}
.ben:nth-child(3){margin-top:28px}
.ben:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.ben .ico{position:absolute;top:44px;left:50%;transform:translateX(-50%);width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--royal)}
.ben:nth-child(2) .ico{background:rgba(248,244,238,.14);color:var(--ivory)}
.ben .ico svg{width:32px;height:32px}
.ben p{color:var(--muted);font-size:.98rem}
.ben .tag{font:700 .66rem/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);border-top:1px solid var(--line-gold);padding-top:14px;margin-top:4px}
.ben:nth-child(2) .tag{color:#E3C9A6;border-color:var(--line-light)}

/* ---------- emotional connection ---------- */
.emo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,96px);align-items:center}
.emo blockquote{margin:0;font:500 clamp(1.7rem,1rem + 2.6vw,3rem)/1.18 var(--lys-display);color:var(--ivory);letter-spacing:-.01em}
.emo blockquote em{color:#E3C9A6;font-style:italic}
.concerns{display:grid;border-top:1px solid var(--line-light)}
.concerns li{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--line-light);color:var(--ivory);font-size:1.02rem}
.concerns svg{width:22px;height:22px;flex:none;color:#E3C9A6;margin-top:2px}

/* ---------- why lysiwave ---------- */
.why{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,80px);align-items:center}
.diagram{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(14px,2vw,26px);box-shadow:var(--shadow)}
.diagram svg{width:100%;height:auto;display:block}
.adv{display:grid;gap:0;margin-top:8px}
.adv li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid var(--line)}
.adv li:last-child{border-bottom:1px solid var(--line)}
.adv .n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--royal)}
.adv .n svg{width:22px;height:22px}
.adv h3{font-size:1.2rem;margin-bottom:4px}
.adv p{color:var(--muted);font-size:.96rem}

/* ---------- treatment areas ---------- */
.areas{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:center}
.bodymap{position:relative;max-width:380px;margin-inline:auto;width:100%;background:var(--white);border:1px solid var(--line);border-radius:50% 50% var(--r) var(--r)/190px 190px var(--r) var(--r);padding:72px 24px 28px;box-shadow:var(--shadow)}
.bodymap svg{width:100%;height:auto;display:block;overflow:visible}
.bodymap .zone{fill:rgba(179,132,79,.0);stroke:rgba(179,132,79,.0);stroke-width:1.5;cursor:pointer;transition:fill .3s,stroke .3s}
.bodymap .zone:hover,.bodymap .zone.is-on{fill:rgba(179,132,79,.28);stroke:var(--gold)}
.bodymap .zone.dash{stroke-dasharray:4 4}
.bodymap .hint{text-align:center;margin-top:10px}
.zone-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.zcard{text-align:left;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:20px 22px;display:grid;gap:6px;cursor:pointer;transition:border-color .25s,box-shadow .25s,transform .25s;color:var(--ink)}
.zcard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.zcard[aria-pressed="true"]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),var(--shadow)}
.zcard b{font:500 1.22rem/1.2 var(--lys-display);color:var(--royal)}
.zcard span{font-size:.9rem;color:var(--muted);line-height:1.55}
.zcard.dark{background:var(--royal);border-color:var(--royal)}
.zcard.dark b{color:var(--ivory)}.zcard.dark span{color:var(--on-royal)}

/* ---------- before / after ---------- */
.ba-wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,4vw,56px);align-items:center}
.ba{--pos:50%;position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--sand);box-shadow:var(--shadow);user-select:none;touch-action:pan-y}
.ba__layer{position:absolute;inset:0;background-size:cover;background-position:center}
.ba__layer--before{background:linear-gradient(135deg,#d9cbb9,#c3b19b)}
.ba__layer--after{background:linear-gradient(135deg,#e9ddcc,#f4ede3);clip-path:inset(0 0 0 var(--pos))}
.ba__label{position:absolute;top:16px;z-index:3;font:700 .68rem/1 var(--body);letter-spacing:.2em;text-transform:uppercase;background:rgba(15,37,64,.78);color:#fff;padding:9px 13px;border-radius:99px}
.ba__label--b{left:16px}.ba__label--a{right:16px}
.ba__ph{position:absolute;inset:0;display:grid;place-items:end center;text-align:center;padding:24px 24px 24px;z-index:1}
.ba__ph span{max-width:28ch;font:600 .82rem/1.5 var(--body);color:var(--royal);background:rgba(255,255,255,.97);border:1px dashed var(--line-gold);padding:12px 16px;border-radius:14px}
.ba__line{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#fff;z-index:4;transform:translateX(-1px);pointer-events:none}
.ba__grip{position:absolute;top:50%;left:var(--pos);z-index:5;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--royal);display:grid;place-items:center;transform:translate(-50%,-50%);box-shadow:0 8px 24px -6px rgba(0,0,0,.4);pointer-events:none}
.ba__grip svg{width:22px;height:22px}
.ba input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:6;margin:0}
.ba input[type=range]:focus-visible + .ba__focus{opacity:1}
.ba__focus{position:absolute;inset:0;border:3px solid var(--gold);border-radius:var(--r);opacity:0;pointer-events:none;z-index:7}
.expect{display:grid;gap:14px}
.expect li{display:flex;gap:12px;align-items:flex-start;color:var(--muted)}
.expect svg{width:20px;height:20px;flex:none;color:var(--gold-ink);margin-top:3px}
.expect b{color:var(--royal)}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,40px);position:relative;counter-reset:s}
.steps::before{content:"";position:absolute;left:8%;right:8%;top:34px;height:1.5px;background:linear-gradient(90deg,var(--gold),rgba(179,132,79,.2))}
.step{position:relative;display:grid;gap:14px;justify-items:center;text-align:center}
.step .num{position:relative;z-index:1;width:68px;height:68px;border-radius:50%;background:var(--royal);color:var(--ivory);display:grid;place-items:center;font:500 1.5rem/1 var(--lys-display);box-shadow:0 0 0 8px var(--ivory)}
.sec--sand .step .num{box-shadow:0 0 0 8px var(--sand-soft)}
.step p{color:var(--muted);max-width:34ch}

/* ---------- carousel ---------- */
.car{position:relative}
.car__track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 4px 20px}
.car__track::-webkit-scrollbar{display:none}
.rev{flex:0 0 min(440px,86%);scroll-snap-align:start;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:32px 30px;display:grid;gap:18px;align-content:space-between}
.rev q{quotes:none;font:500 1.2rem/1.5 var(--lys-display);color:var(--royal)}
.rev q::before{content:"\201E";display:block;font-size:3.4rem;line-height:.6;color:var(--gold);margin-bottom:12px}
.rev .who{display:flex;align-items:center;gap:12px;font-size:.9rem}
.rev .who i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--sand);color:var(--royal);font:500 1.05rem/1 var(--lys-display);font-style:normal}
.rev .who b{display:block;line-height:1.2;color:var(--royal)}.rev .who span{color:var(--muted);font-size:.8rem}
.slot{font:700 .62rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);border:1px dashed var(--line-gold);padding:6px 10px;border-radius:99px;justify-self:start}
.car__ctrl{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:6px}
.car__btns{display:flex;gap:10px}
.rnd{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--royal);background:transparent;color:var(--royal);cursor:pointer;display:grid;place-items:center;transition:background .25s,color .25s}
.rnd:hover{background:var(--royal);color:var(--ivory)}.rnd svg{width:18px;height:18px}
.dots{display:flex;gap:8px}.dots i{width:8px;height:8px;border-radius:50%;background:var(--sand);transition:background .3s,width .3s}.dots i.on{background:var(--gold);width:26px;border-radius:8px}

/* ---------- pricing ---------- */
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.pcard{position:relative;display:grid;align-content:start;gap:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:34px 30px}
.pcard.feat{background:var(--royal);color:var(--ivory);border-color:var(--royal);box-shadow:var(--shadow)}
.pcard.feat h3{color:var(--ivory)}.pcard.feat p,.pcard.feat li{color:var(--on-royal)}
.pcard .badge{position:absolute;top:-13px;left:30px;background:var(--gold);color:#fff;font:700 .64rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;padding:8px 12px;border-radius:99px}
.price-ph{display:inline-flex;align-items:center;gap:8px;font:700 .8rem/1 var(--body);letter-spacing:.04em;color:var(--gold-ink);border:1px dashed var(--line-gold);padding:10px 14px;border-radius:12px;justify-self:start}
.pcard.feat .price-ph{color:#E3C9A6;border-color:var(--line-light)}
.pcard ul{display:grid;gap:10px;font-size:.94rem;color:var(--muted)}
.pcard li{display:flex;gap:10px;align-items:flex-start}
.pcard li::before{content:"";flex:none;width:16px;height:16px;margin-top:.3em;background:currentColor;opacity:.9;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- about ---------- */
.about{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,6vw,96px);align-items:center}
.collage{position:relative;aspect-ratio:1/1.1;width:100%;max-width:560px;margin-inline:auto}
.photo{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--sand),#D8C2A8 60%,#C7AE91)}
.photo::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 260' fill='none' stroke='%23B3844F' stroke-opacity='.55'%3E%3Crect x='40' y='20' width='120' height='220' rx='60'/%3E%3Crect x='55' y='40' width='90' height='180' rx='45'/%3E%3Crect x='70' y='60' width='60' height='140' rx='30'/%3E%3C/svg%3E") center/60% no-repeat}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.photo img.is-missing{display:none}
.collage .photo{position:absolute;box-shadow:var(--shadow)}
.collage .big{inset:0 20% 12% 0;border-radius:999px 999px var(--r) var(--r)/260px 260px var(--r) var(--r)}
.collage .small{right:0;bottom:0;width:48%;aspect-ratio:1/1.1;border-radius:var(--r);border:6px solid var(--ivory)}
.sec--white .collage .small{border-color:var(--white)}
.daisy{position:absolute;left:-10px;bottom:14%;width:92px;height:92px;z-index:3;background:var(--white);border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow);border:1px solid var(--line)}
.daisy svg{width:56px;height:56px}
.honest{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:26px 28px;display:grid;gap:14px;box-shadow:var(--shadow)}
.honest h3{font-size:1.3rem}
.honest li{display:flex;gap:12px;align-items:flex-start;color:var(--muted);font-size:.96rem}
.honest li svg{width:20px;height:20px;flex:none;color:var(--gold-ink);margin-top:3px}
.honest li b{color:var(--royal)}
.addr{display:inline-flex;gap:12px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:99px;padding:10px 20px 10px 12px;font-weight:600;color:var(--royal)}
.addr i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--royal);color:var(--ivory)}
.addr svg{width:16px;height:16px}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,6vw,88px);align-items:start}
.faq{display:grid;gap:12px}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:0 24px;transition:box-shadow .3s}
.faq details[open]{box-shadow:var(--shadow);border-color:var(--line-gold)}
.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;font:500 1.12rem/1.35 var(--lys-display);color:var(--royal)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:46px;height:26px;border-radius:99px;background:var(--sand) radial-gradient(circle at 13px 13px,var(--white) 9px,transparent 10px) no-repeat;box-shadow:inset 0 0 0 1px var(--line-gold);transition:background-color .3s}
.faq details[open] summary::after{background:var(--royal) radial-gradient(circle at 33px 13px,var(--white) 9px,transparent 10px) no-repeat}
.faq details p{padding:0 0 22px;color:var(--muted);max-width:64ch}

/* ---------- final CTA + forms ---------- */
.cta{position:relative;overflow-x:clip}
.cta__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(32px,6vw,96px);align-items:start;position:relative}
.cta__copy{display:grid;gap:24px;min-width:0}
.cta .big{font:500 clamp(2.4rem,1.2rem + 4.8vw,4.6rem)/1.02 var(--lys-display);letter-spacing:-.02em;color:var(--ivory)}
.cta .big em{display:block;color:#E3C9A6;font-style:italic}
.contact-list{display:grid;gap:12px}
.contact-list a,.contact-list div{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:600;overflow-wrap:anywhere;color:var(--ivory)}
.contact-list svg{width:42px;height:42px;padding:11px;border-radius:50%;background:rgba(248,244,238,.12);flex:none}
.form-card{background:var(--white);color:var(--ink);border-radius:30px;padding:clamp(24px,4vw,42px);box-shadow:0 40px 80px -30px rgba(0,0,0,.55)}
.form-card h3{font-size:1.7rem;margin-bottom:4px;color:var(--royal)}
.form-card .sub{color:var(--muted);font-size:.94rem;margin-bottom:22px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:7px;min-width:0}.field.full{grid-column:1/-1}
.field label{font:700 .7rem/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--royal)}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--ivory);font:500 1rem/1.4 var(--body);color:var(--ink);transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:92px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--royal);box-shadow:0 0 0 4px rgba(18,63,112,.12)}
.field .err{font-size:.8rem;color:#A3261F;min-height:1em}
.field.invalid input,.field.invalid select{border-color:#A3261F}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.84rem;color:var(--muted);line-height:1.5;text-transform:none!important;letter-spacing:0!important;font-weight:500!important}
.consent input{width:22px;height:22px;min-height:0;margin:1px 0 0;accent-color:var(--royal);flex:none}
.form-actions{margin-top:20px}
.result{display:grid;gap:16px}
.result textarea{width:100%;min-height:150px;padding:14px;border-radius:14px;border:1.5px solid var(--line);font:500 .92rem/1.5 var(--body);background:var(--ivory);color:var(--ink);resize:vertical}
.status{font-size:.88rem;color:var(--gold-ink);font-weight:600;min-height:1.2em}
.integ{margin-top:14px;font-size:.78rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:12px;line-height:1.5}

/* ---------- inner pages ---------- */
.phead{position:relative;overflow-x:clip;padding-block:clamp(48px,7vw,104px) clamp(48px,6vw,88px)}
.phead__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,80px);align-items:end;position:relative}
.crumbs{font:600 .76rem/1 var(--body);letter-spacing:.08em;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.crumbs a{text-decoration:none;color:var(--gold-ink)}
.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r);background:var(--white);overflow:hidden}
.stat{padding:24px 22px;border-left:1px solid var(--line);display:grid;gap:6px;align-content:start}
.stat:first-child{border-left:0}
.stat small{font:700 .66rem/1.3 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink)}
.stat b{font:500 1.25rem/1.25 var(--lys-display);color:var(--royal)}
.stat .ph{font:600 .82rem/1.4 var(--body);color:var(--muted)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.split.top{align-items:start}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--white)}
table.cmp{width:100%;border-collapse:collapse;min-width:640px;font-size:.94rem}
.cmp th,.cmp td{padding:18px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.cmp thead th{background:var(--royal);color:var(--ivory);font:700 .72rem/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase}
.cmp thead th.hl{background:var(--gold)}
.cmp tbody th{font:500 1.05rem/1.3 var(--lys-display);color:var(--royal);width:22%}
.cmp td.hl{background:rgba(179,132,79,.1)}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}
.cmp td{color:var(--muted)}
.timeline{display:grid;gap:0;position:relative}
.timeline::before{content:"";position:absolute;left:25px;top:12px;bottom:12px;width:1.5px;background:linear-gradient(var(--gold),rgba(179,132,79,.15))}
.tl{display:grid;grid-template-columns:52px minmax(0,1fr);gap:22px;padding:0 0 38px;position:relative}
.tl:last-child{padding-bottom:0}
.tl .dot{width:52px;height:52px;border-radius:50%;background:var(--royal);color:var(--ivory);display:grid;place-items:center;font:500 1.15rem/1 var(--lys-display);position:relative;z-index:1;box-shadow:0 0 0 7px var(--ivory)}
.sec--sand .tl .dot{box-shadow:0 0 0 7px var(--sand-soft)}.sec--white .tl .dot{box-shadow:0 0 0 7px var(--white)}
.tl h3{font-size:1.35rem;margin:4px 0 6px}.tl p{color:var(--muted);max-width:60ch}
.tl small{display:block;font:700 .66rem/1.3 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin-top:8px}
.contra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:28px;display:grid;gap:14px;align-content:start}
.panel h3{font-size:1.3rem}
.panel li{display:flex;gap:12px;align-items:flex-start;color:var(--muted);font-size:.96rem}
.panel li svg{width:20px;height:20px;flex:none;margin-top:3px;color:var(--gold-ink)}
.panel.warn{border-color:var(--line-gold);background:var(--sand-soft)}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.filters .chip{background:var(--white);border:1px solid var(--line);color:var(--royal);padding:10px 18px}
.filters .chip[aria-pressed="true"]{background:var(--royal);color:var(--ivory);border-color:var(--royal)}
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gal figure{margin:0;display:grid;gap:12px}
.gal figcaption{font-size:.88rem;color:var(--muted)}
.gal figcaption b{color:var(--royal);display:block;font:500 1.1rem/1.3 var(--lys-display)}
.gal [hidden]{display:none!important}
.story{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:30px;display:grid;gap:14px}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.mini-nav{display:flex;flex-wrap:wrap;gap:10px}
.mini-nav a{font:700 .74rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--royal);padding:12px 16px;border:1px solid var(--line);border-radius:99px;background:var(--white);transition:background .2s,color .2s}
.mini-nav a:hover{background:var(--royal);color:var(--ivory)}
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:start}
.info{display:grid;gap:0}
.info div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.info div:last-child{border-bottom:1px solid var(--line)}
.info small{font:700 .66rem/1.5 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink)}
.info span,.info a{font-weight:600;color:var(--royal);overflow-wrap:anywhere}
.info .ph{font-weight:500;color:var(--muted)}
.map-card{position:relative;border-radius:var(--r);overflow:hidden;min-height:260px;background:linear-gradient(135deg,#efe3d3,#e0cdb5);border:1px solid var(--line);display:grid;place-items:center;text-align:center;padding:24px}
.map-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-card .pin{width:56px;height:56px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--royal);display:grid;place-items:center;margin:0 auto 16px;box-shadow:var(--shadow)}
.map-card .pin i{width:18px;height:18px;border-radius:50%;background:var(--ivory)}
.pill-list{display:flex;flex-wrap:wrap;gap:10px}
.pill-list li{padding:10px 16px;border:1px solid var(--line-gold);border-radius:99px;font:600 .84rem/1 var(--body);color:var(--gold-ink);background:var(--white)}

/* ---------- footer ---------- */
.ftr{background:var(--royal-deep);color:var(--on-royal);padding-block:clamp(56px,7vw,88px) 36px;font-size:.94rem;position:relative;overflow:hidden}
.ftr__cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-bottom:44px;margin-bottom:44px;border-bottom:1px solid var(--line-light)}
.ftr__cta p{font:500 clamp(1.5rem,1rem + 1.6vw,2.2rem)/1.2 var(--lys-display);color:var(--ivory);max-width:24ch}
.ftr__cols{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1fr;gap:36px}
.ftr img{height:46px;width:auto;margin-bottom:16px}
.ftr h3{font:700 .7rem/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:#E3C9A6;margin-bottom:18px}
.ftr ul{display:grid;gap:11px}
.ftr a{text-decoration:none}.ftr a:hover{color:#fff;text-decoration:underline}
.ftr .legal{margin-top:44px;padding-top:24px;border-top:1px solid var(--line-light);display:grid;gap:10px;font-size:.78rem;color:rgba(248,244,238,.6)}
.ftr .legal a{text-decoration:underline}
.soc{display:flex;gap:10px;margin-top:18px}
.soc a{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-light);display:grid;place-items:center;transition:background .25s}
.soc a:hover{background:rgba(248,244,238,.12);text-decoration:none}
.soc svg{width:20px;height:20px}

/* ---------- mobile bar + toast ---------- */
.mbar{display:none}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,30px);opacity:0;pointer-events:none;background:var(--royal);color:var(--ivory);padding:14px 22px;border-radius:99px;font-weight:600;font-size:.9rem;z-index:300;transition:opacity .3s,transform .3s;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.js-reveal{transform:translateY(18px);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.js-reveal.in{transform:none}

/* ---------- SPA routing ---------- */
[data-spa] .page{display:none}
[data-spa] .page.is-active{display:block}

/* ---------- responsive ---------- */
@media (max-width:1060px){
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--ivory);border-bottom:1px solid var(--line);padding:6px clamp(16px,4vw,40px) 18px;display:none;box-shadow:0 30px 40px -30px rgba(18,63,112,.4)}
  .nav.open{display:flex}
  .nav a{padding:18px 0;border-bottom:1px solid var(--line);font-size:.8rem}
  .nav a::after{left:auto;right:6px;bottom:auto;top:50%;transform:translateY(-50%) scale(0)}
  .nav a:hover::after,.nav a[aria-current="page"]::after{transform:translateY(-50%) scale(1)}
  .burger{display:inline-flex}
  .ftr__cols{grid-template-columns:1fr 1fr}
  .ftr__cols>div:first-child{grid-column:1/-1}
}
@media (max-width:960px){
  .hero__grid,.emo,.why,.areas,.ba-wrap,.about,.faq-grid,.cta__grid,.phead__grid,.split,.contact-grid{grid-template-columns:minmax(0,1fr)}
  .stage{max-width:460px}
  .tool{width:100%;margin:-40px 0 0}
  .machine-card{right:2%;bottom:56px;width:40%}
  .ben-grid,.price-grid,.story-grid,.gal{grid-template-columns:minmax(0,1fr)}
  .ben{max-width:440px;margin-inline:auto;width:100%}
  .ben:nth-child(n){margin-top:0}
  .steps{grid-template-columns:minmax(0,1fr);gap:34px}.steps::before{display:none}
  .trust ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust li:nth-child(odd){border-left:0;padding-left:0}
  .trust li:nth-child(n+3){border-top:1px solid var(--line-light)}
  .stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:nth-child(odd){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}
  .contra{grid-template-columns:minmax(0,1fr)}
  .zone-cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:820px){
  .mbar{display:grid;grid-template-columns:1fr auto;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:95;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(248,244,238,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .mbar .btn{width:100%;justify-content:space-between}
  body{padding-bottom:80px}
}
@media (max-width:640px){
  .hdr-cta .btn{display:none}
  .fields{grid-template-columns:minmax(0,1fr)}
  .zone-cards{grid-template-columns:minmax(0,1fr)}
  .tool{margin-top:-40px}
  .sw__title{font-size:1.3rem}
  .machine-card{bottom:56px;width:42%;right:0}
  .trust li{padding:18px 12px}.trust b{font-size:.82rem}.trust svg{width:24px;height:24px}
  .info div{grid-template-columns:minmax(0,1fr);gap:4px}
  .ftr__cols{grid-template-columns:minmax(0,1fr)}
  .stat-row{grid-template-columns:minmax(0,1fr)}.stat{border-left:0!important;border-top:1px solid var(--line)}.stat:first-child{border-top:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .js-reveal{transform:none}
}

/* ---------- utilities added by build ---------- */
[hidden]{display:none!important}
.wv{line-height:0;overflow:hidden;margin-bottom:-1px}
.bg-ivory{background:var(--ivory)}.bg-sand{background:var(--sand-soft)}.bg-white{background:var(--mist)}.bg-royal{background:var(--royal)}.bg-royal-deep{background:var(--royal-deep)}
.stack{display:grid;gap:22px}
.center{text-align:center}
.silk-note{position:absolute;top:34px;left:0;right:0;text-align:center;z-index:3;font:700 .6rem/1.5 var(--body);letter-spacing:.3em;text-transform:uppercase;color:#fff;text-shadow:0 1px 12px rgba(18,63,112,.5)}
.layers-cap{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;font-size:.78rem;color:var(--muted)}
.layers-cap i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.cta-band{position:relative;overflow:hidden;text-align:center}
.cta-band .wrap{position:relative;display:grid;gap:22px;justify-items:center}
.cta-band .big{font:500 clamp(2rem,1.2rem + 3.6vw,3.8rem)/1.06 var(--lys-display);color:var(--ivory);max-width:20ch;letter-spacing:-.02em}
.cta-band .big em{color:#E3C9A6;font-style:italic}
.mech{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:m}
.mech li{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;display:grid;gap:12px;align-content:start}
.mech .mi{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--royal)}
.mech .mi svg{width:28px;height:28px}
.mech li:nth-child(2){background:var(--royal);border-color:var(--royal)}
.mech li:nth-child(2) h3{color:var(--ivory)}.mech li:nth-child(2) p{color:var(--on-royal)}.mech li:nth-child(2) .mi{background:rgba(248,244,238,.14);color:var(--ivory)}
.mech p{color:var(--muted);font-size:.96rem}
.dl{display:grid;gap:0;border-top:1px solid var(--line)}
.dl div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;padding:18px 4px;border-bottom:1px solid var(--line)}
.dl dt{font:700 .72rem/1.5 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.dl dd{margin:0;color:var(--muted)}
.slotbox{border:1.5px dashed var(--line-gold);border-radius:var(--r);padding:34px;text-align:center;color:var(--muted);background:rgba(255,255,255,.6);display:grid;gap:10px;justify-items:center}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.person{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.person .av{aspect-ratio:1;border-radius:50%;background:linear-gradient(160deg,var(--sand),#D8C2A8);display:grid;place-items:center;color:var(--gold-ink)}
.person .av svg{width:44px;height:44px}
.person b{font:500 1.2rem/1.2 var(--lys-display);color:var(--royal);display:block;margin-bottom:6px}
.person span{display:block;color:var(--muted);font-size:.9rem}
.studio-ph{aspect-ratio:16/10;border-radius:var(--r);display:grid;place-items:center;text-align:center;padding:24px;color:var(--royal);font-weight:600;font-size:.9rem;background:linear-gradient(135deg,var(--sand),#d8c2a8)}
@media (max-width:960px){.mech,.team-grid{grid-template-columns:minmax(0,1fr)}.person{grid-template-columns:84px minmax(0,1fr)}}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:960px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.g4{grid-template-columns:minmax(0,1fr)}}

/* ======================= v2 (audit pass) ======================= */
/* hero: machine stands inside the arch, tool sits under the copy */
.hero{padding-block:clamp(28px,4vw,56px) clamp(80px,9vw,120px)}
.hero__grid{align-items:center}
.hero .h1{font-size:clamp(2.3rem,1rem + 3.9vw,4rem)}
.hero__copy .tool{position:relative;width:100%;max-width:500px;margin:6px 0 0;left:auto;bottom:auto;z-index:2}
.stage{max-width:540px;padding-bottom:0}
.arch{aspect-ratio:4/5.1;background:linear-gradient(175deg,#F6EBDD 0%,#E9D6BE 55%,#D9C0A0 100%)}
.arch .rings{position:absolute;left:0;right:0;bottom:0;width:100%;height:100%;z-index:1}
.arch .mach{position:absolute;left:50%;bottom:11%;transform:translateX(-50%);height:76%;width:auto;max-width:78%;object-fit:contain;z-index:3;filter:drop-shadow(0 22px 22px rgba(18,63,112,.28))}
.arch .floor{position:absolute;left:50%;bottom:8.5%;width:58%;height:7%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(11,44,80,.34),rgba(11,44,80,0) 70%);z-index:2}
.arch .mach-cap{position:absolute;left:0;right:0;bottom:3.4%;z-index:4;display:grid;justify-items:center;gap:2px;text-align:center;color:var(--royal)}
.arch .mach-cap b{font:700 .66rem/1.2 var(--body);letter-spacing:.22em;text-transform:uppercase}
.arch .mach-cap span{font:500 .78rem/1.2 var(--lys-display);font-style:italic;color:var(--gold-ink)}
.arch--sm{aspect-ratio:4/4.8;max-width:360px;margin-inline:auto;width:100%}
.arch--sm .mach-cap{display:none}
.arch--sm .mach{bottom:9%}
.arch--sm .floor{bottom:6.5%}
/* trust strip: floating card instead of a hard blue band */
.trust{background:transparent;color:var(--royal);margin-top:calc(-1 * clamp(40px,5vw,64px));position:relative;z-index:4;padding-bottom:clamp(40px,6vw,72px)}
.trust ul{background:var(--white);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}
.trust li{border-left:1px solid var(--line);padding:24px 26px}
.trust li:first-child{border-left:0;padding-left:26px}
.trust svg{color:var(--gold-ink)}
.trust b{color:var(--royal)}
.trust span{color:var(--muted)}
/* waves on royal sections */
.sec--royal{overflow-x:clip}
.sec--royal::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 360' fill='none' stroke='%23F8F4EE' stroke-opacity='.12' stroke-width='1.2'%3E%3Cpath d='M-20 264C150 154 260 294 420 204S700 84 920 164'/%3E%3Cpath d='M-20 282C150 172 260 312 420 222S700 102 920 182'/%3E%3Cpath d='M-20 300C150 190 260 330 420 240S700 120 920 200'/%3E%3C/svg%3E") center/cover no-repeat}
.sec--royal>.wrap{position:relative;z-index:1}
.on-dark .adv li{border-color:var(--line-light)}
.on-dark .adv .n{background:rgba(248,244,238,.14);color:var(--ivory)}
.on-dark .adv p{color:var(--on-royal)}
.on-dark .layers-cap,.on-dark .layers-cap span{color:var(--muted)}
.on-dark .panel{background:rgba(248,244,238,.08);border-color:var(--line-light)}
.on-dark .panel h3{color:var(--ivory)}.on-dark .panel li,.on-dark .panel p,.on-dark .panel span{color:var(--on-royal)}.on-dark .panel svg{color:#E3C9A6}
/* pricing */
.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.price .now{font:500 2.5rem/1 var(--lys-display);color:var(--royal);letter-spacing:-.02em}
.price s{font-size:1rem;color:var(--muted);opacity:.8}
.price small{flex-basis:100%;font:600 .78rem/1.3 var(--body);color:var(--gold-ink);letter-spacing:.04em}
.pcard.feat .price .now{color:var(--ivory)}.pcard.feat .price s{color:var(--on-royal)}.pcard.feat .price small{color:#E3C9A6}
.pcard .btn{align-self:end;justify-self:start}
.pcard{grid-template-rows:auto auto auto 1fr auto}
.deal-pill{display:inline-flex;align-items:center;gap:12px;background:var(--royal);color:var(--ivory);border-radius:99px;padding:8px 20px 8px 8px;margin:-24px 0 34px;font-weight:700;font-size:.92rem}
.deal-pill b{background:var(--gold);color:#fff;border-radius:99px;padding:8px 14px;font:700 .95rem/1 var(--body)}
.deal__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,5vw,80px);align-items:center}
.deal__badge{justify-self:center;width:min(280px,70vw);aspect-ratio:1;border-radius:50%;border:1.5px solid rgba(227,201,166,.6);display:grid;place-content:center;text-align:center;box-shadow:inset 0 0 0 14px rgba(248,244,238,.06)}
.deal__badge b{font:500 4.6rem/1 var(--lys-display);color:#E3C9A6}.deal__badge span{font:700 .72rem/1.4 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--on-royal)}
.price-table th,.price-table td{white-space:nowrap}
.price-table td s{color:var(--muted);opacity:.75}
.price-table td.hl b{font:500 1.25rem/1 var(--lys-display);color:var(--royal)}
.zone-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.zone-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:14px 18px}
.zone-list span{font:500 1.05rem/1.25 var(--lys-display);color:var(--royal)}
.zone-list b{font:700 .72rem/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);white-space:nowrap}
.rev--empty{flex:1 1 100%;grid-template-columns:minmax(0,1fr);justify-items:start}
.rev--empty .stars{opacity:.9}
.consent-note{margin-top:16px;font-size:.8rem;color:var(--muted);line-height:1.5}
.story .n{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--royal);font:500 1.1rem/1 var(--lys-display)}
.pillars .ben{padding-top:clamp(40px,5vw,56px)}
.pillars .ben:nth-child(n){margin-top:0}
.pillars .ben:nth-child(2){background:var(--white);color:inherit;border-color:var(--line)}
.pillars .ben:nth-child(2) h3{color:var(--royal)}.pillars .ben:nth-child(2) p{color:var(--muted)}.pillars .ben:nth-child(2) .tag{color:var(--gold-ink);border-color:var(--line-gold)}
.pillars .ben{border-radius:var(--r)}
.zcard:not(button){cursor:default}.zcard:not(button):hover{transform:none;box-shadow:none}
.zone-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.ftr{position:relative}
@media (max-width:960px){
  .hero__copy .tool{max-width:none}
  .stage{max-width:440px}
  .trust{margin-top:-36px}
  .trust li:nth-child(odd){border-left:0;padding-left:20px}
  .trust li{padding:18px 16px}
  .trust li:nth-child(n+3){border-top:1px solid var(--line)}
  .deal__grid{grid-template-columns:minmax(0,1fr)}
  .zone-list{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .arch .mach{height:72%}
  .zone-cards{grid-template-columns:minmax(0,1fr)}
  .price .now{font-size:2.1rem}
}
.arch .mach{bottom:15%;height:71%}
.arch .floor{bottom:12.2%}
.arch .mach-cap{bottom:4%;left:50%;right:auto;transform:translateX(-50%);background:rgba(255,255,255,.94);border:1px solid var(--line-gold);border-radius:99px;padding:8px 20px;white-space:nowrap;box-shadow:0 10px 24px -14px rgba(18,63,112,.5)}
.arch--sm .mach{bottom:9%;height:80%}.arch--sm .floor{bottom:6.5%}
.trust{padding-bottom:0}
@media (max-width:640px){.arch .mach{height:68%}}
.form-card .consent-note,.on-dark .form-card .consent-note{color:var(--muted)}
.on-dark .form-card p,.on-dark .form-card .sub,.on-dark .form-card .status{color:var(--muted)}
.on-dark .form-card .status{color:var(--gold-ink)}
.stack>.btn,.stack>a.btn{justify-self:start}
.collage .big{border-radius:50% 50% var(--r) var(--r)/260px 260px var(--r) var(--r)}

.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ================= v3: hero with studio photo, tool band, consult banner, studio gallery ================= */
.hero{padding-block:clamp(28px,4vw,56px) clamp(56px,7vw,96px)}
.hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(28px,4vw,64px)}
.hero__copy{gap:22px}
.hero__pts{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:0;padding:0}
.hero__pts li{display:flex;align-items:center;gap:8px;font:700 .86rem/1.3 var(--body);color:var(--royal)}
.hero__pts svg{width:18px;height:18px;color:var(--gold-ink);flex:none}
.stage2{position:relative;width:100%;max-width:640px;margin-inline:auto;aspect-ratio:1/.98}
.stage2 .room{position:absolute;right:0;top:0;width:78%;height:86%;margin:0;border-radius:200px 28px 28px 28px;overflow:hidden;box-shadow:var(--shadow);background:#E8D8C6}
.stage2 .room img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;display:block}
.stage2 .room::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.55);border-radius:190px 20px 20px 20px;pointer-events:none}
.deal-badge{position:absolute;left:18%;top:20px;z-index:3;background:var(--gold);color:#fff;border-radius:99px;padding:9px 16px;font:800 .7rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 10px 24px -10px rgba(0,0,0,.4)}
.stage2 .arch2{position:absolute;left:0;bottom:6%;width:42%;height:78%;border-radius:999px 999px 24px 24px/46% 46% 24px 24px;overflow:hidden;background:linear-gradient(175deg,#F6EBDD 0%,#E9D6BE 55%,#D9C0A0 100%);border:5px solid var(--ivory);box-shadow:0 30px 60px -28px rgba(18,63,112,.55);z-index:4}
.stage2 .arch2 .silk,.stage2 .arch2 .rings{position:absolute;inset:0;width:100%;height:100%}
.stage2 .arch2 .mach{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);height:80%;width:auto;max-width:86%;object-fit:contain;z-index:3;filter:drop-shadow(0 18px 18px rgba(18,63,112,.3))}
.stage2 .arch2 .floor{position:absolute;left:50%;bottom:6%;width:70%;height:6%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(11,44,80,.34),rgba(11,44,80,0) 70%);z-index:2}
.stage2 .mach-cap{position:absolute;left:0;bottom:0;z-index:5;margin:0;display:grid;gap:2px;justify-items:center;text-align:center;background:#FBF8F2;border:1px solid var(--line-gold);border-radius:99px;padding:8px 18px;box-shadow:0 12px 28px -14px rgba(18,63,112,.5);color:var(--royal);width:42%;min-width:150px}
.stage2 .mach-cap b{font:700 .6rem/1.2 var(--body);letter-spacing:.2em;text-transform:uppercase}
.stage2 .mach-cap span{font:500 .78rem/1.2 var(--lys-display);font-style:italic;color:var(--gold-ink)}
.pinchip{position:absolute;right:4%;bottom:6%;z-index:5;display:flex;align-items:center;gap:12px;background:#FBF8F2;border-radius:99px;padding:8px 20px 8px 8px;box-shadow:0 16px 34px -16px rgba(18,63,112,.55);border:1px solid var(--line);color:var(--royal);text-decoration:none;max-width:62%}
.pinchip i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--royal);color:var(--ivory);flex:none}
.pinchip svg{width:18px;height:18px}
.pinchip b{display:block;font:700 .86rem/1.2 var(--body)}
.pinchip small{display:block;font:500 .74rem/1.3 var(--body);color:var(--muted)}
.pinchip:hover{border-color:var(--gold)}
.pinchip--flat{position:static;max-width:none;width:fit-content;box-shadow:none;background:var(--ivory)}
.stage2.nomach .room{width:100%;height:92%;right:0;border-radius:200px 28px 28px 28px}
.stage2.nomach .room img{object-position:50% 50%}
.stage2.nomach .pinchip{right:5%;bottom:0}
.stage2--sm{max-width:480px}
.tool-sec{padding-block:clamp(48px,6vw,84px)}
.tool-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:center}
.tool-sec .tool{position:static;width:100%;max-width:560px;margin:0;justify-self:end}
.ben-grid{align-items:stretch}
.ben:nth-child(n){margin-top:0}
.emo{align-items:center}
.emo__photo{margin:0;border-radius:200px 200px 28px 28px/200px 200px 28px 28px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.2);aspect-ratio:4/4.6}
.emo__photo img{width:100%;height:100%;object-fit:cover;display:block}
.consult{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(16px,2.4vw,32px);align-items:center;background:var(--white);border:1.5px solid var(--gold);border-radius:28px;padding:clamp(22px,3vw,34px);box-shadow:var(--shadow);margin-bottom:28px}
.consult .free{background:var(--gold);color:#fff;border-radius:99px;padding:10px 18px;font:800 .72rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase}
.consult h3{font:500 1.5rem/1.2 var(--lys-display);color:var(--royal);margin:0 0 6px}
.consult p{margin:0;color:var(--muted)}
.after-consult{font:700 .78rem/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin:8px 0 18px;text-align:center}
.divider{display:flex;justify-content:center;padding-block:8px}.divider svg{width:220px;height:24px}
.portrait{position:relative;width:100%;max-width:440px;margin-inline:auto}
.portrait img{width:100%;aspect-ratio:4/5.2;object-fit:cover;object-position:50% 20%;border-radius:200px 200px 28px 28px;box-shadow:var(--shadow);display:block}
.portrait .daisy{right:-10px;bottom:-10px}
.studio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.studio-grid figure{margin:0;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5}
.studio-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.studio-grid figure:hover img{transform:scale(1.04)}
.studio-grid figure:nth-child(2){margin-top:28px}.studio-grid figure:nth-child(4){margin-top:28px}
.gal{grid-template-columns:repeat(3,minmax(0,1fr))}
.collage .big,.collage .small{object-fit:cover;display:block}
.bodymap svg{max-width:300px;margin-inline:auto;display:block}
@media (max-width:980px){
  .tool-grid{grid-template-columns:minmax(0,1fr)}.tool-sec .tool{justify-self:stretch;max-width:none}
  .stage2{max-width:520px}
  .consult{grid-template-columns:minmax(0,1fr);justify-items:start}
  .studio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-grid figure:nth-child(n){margin-top:0}
  .emo__photo{max-width:420px;margin-inline:auto}
}
@media (max-width:640px){
  .stage2{aspect-ratio:1/1.1}
  .stage2 .room{border-radius:120px 24px 24px 24px}
  .stage2 .room::after{border-radius:110px 16px 16px 16px}
  .pinchip{max-width:none;right:2%;padding:6px 14px 6px 6px}.pinchip small{display:none}.pinchip i{width:32px;height:32px}
  .stage2 .mach-cap{padding:6px 10px;min-width:0;width:44%}.stage2 .mach-cap b{font-size:.52rem}.stage2 .mach-cap span{font-size:.68rem}
  .deal-badge{left:auto;right:12px;font-size:.6rem}
  .hero__pts{gap:8px 16px}
}
.hero__grid{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)}
.stage2{max-width:700px}
.stage2 .room img{object-position:58% 50%}
@media (max-width:980px){.hero__grid{grid-template-columns:minmax(0,1fr)}.stage2{margin-top:8px}}
@media (max-width:640px){.stage2 .mach-cap{width:50%;padding:6px 8px}.stage2 .mach-cap b{letter-spacing:.12em;white-space:nowrap}}

/* ================= v4: royal waves in more places, merged how/areas, mobile price list ================= */
.areas-head{max-width:720px;margin:clamp(56px,7vw,96px) 0 32px;display:grid;gap:14px}
.areas-head .h2{margin:0}
.sec--white .zcard{background:var(--ivory)}
.sec--white .bodymap{background:var(--ivory)}
.on-dark .step .num{background:var(--ivory);color:var(--royal)}
.on-dark .steps::before{background:linear-gradient(90deg,rgba(227,201,166,.8),rgba(227,201,166,.15))}
.on-dark .step h3{color:var(--ivory)}
.on-dark .step p{color:var(--on-royal)}
.on-dark .gal figcaption{color:var(--on-royal)}
.on-dark .studio-grid figure{box-shadow:0 30px 60px -34px rgba(0,0,0,.6)}
.on-dark .panel.warn{background:rgba(248,244,238,.08)}
@media (max-width:640px){
  .table-wrap.price-wrap{overflow:visible;border:0;background:transparent}
  .price-table,.price-table thead,.price-table tbody,.price-table tr,.price-table th,.price-table td{display:block;width:100%;min-width:0;white-space:normal}
  table.cmp.price-table{min-width:0;width:100%}
  .price-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .price-table tbody{display:grid;gap:12px}
  .price-table tr{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:16px 18px;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}
  .price-table tbody th{grid-column:1/-1;width:auto;padding:0 0 6px;border:0;font:500 1.15rem/1.3 var(--lys-display)}
  .price-table td{padding:0;border:0;display:grid;gap:2px;background:transparent!important}
  .price-table td::before{content:attr(data-label);font:700 .62rem/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink)}
  .price-table tbody th{order:-2}.price-table td.hl{grid-column:1/-1;order:-1}
  .price-table td.hl b{font-size:1.6rem}
}
.sec--white .zcard.dark{background:var(--royal);border-color:var(--royal)}

/* body map v2: slimmer silhouette, front/back tabs, all zones clickable */
.bodymap{padding-top:18px}
.bm-tabs{display:flex;justify-content:center;gap:6px;margin:0 auto 6px;background:var(--ivory);border:1px solid var(--line);border-radius:99px;padding:4px;width:fit-content}
.sec--white .bm-tabs{background:var(--white)}
.bm-tab{border:0;background:transparent;color:var(--royal);font:700 .74rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;padding:10px 18px;border-radius:99px;cursor:pointer;min-height:40px}
.bm-tab[aria-pressed="true"]{background:var(--royal);color:var(--ivory)}
.bm-tab:focus-visible,.zone:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.bodymap .zone{fill:rgba(179,132,79,.12);stroke:rgba(179,132,79,.5)}
.bodymap svg{max-width:260px}
.bodymap [hidden]{display:none}

/* ================= v5 ================= */
.bodymap .zone{fill:rgba(179,132,79,0);stroke:rgba(179,132,79,.28);stroke-dasharray:3 4}
.bodymap .zone:hover{fill:rgba(179,132,79,.08);stroke:rgba(179,132,79,.6)}
.bodymap .zone.is-on{fill:rgba(179,132,79,.34);stroke:var(--gold);stroke-dasharray:none;stroke-width:2}
.zcard.dark .btn{margin-top:12px;justify-self:start}
.deal-badge{display:inline-flex;align-items:center;gap:8px;text-decoration:none;transition:transform .25s,background .25s}
.deal-badge svg{width:14px;height:14px}
.deal-badge:hover{transform:translateY(-2px);background:var(--gold-ink)}
.on-dark .crumbs,.on-dark .crumbs a{color:var(--on-royal)}
.offer-hero{padding-block:clamp(48px,7vw,96px) clamp(40px,6vw,72px);position:relative;overflow:hidden}
.offer-hero .wrap{position:relative}
.offer-hero .lead{color:var(--on-royal);max-width:56ch}
.pkg{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:stretch;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,4vw,44px);box-shadow:var(--shadow)}
.pkg__ctl{display:grid;gap:18px;align-content:center}
.pkg__ctl label{font:600 1rem/1.3 var(--body);color:var(--royal)}
.pkg__ctl output{font:500 2.4rem/1 var(--lys-display);color:var(--gold-ink);margin-left:8px}
.pkg input[type=range]{width:100%;accent-color:var(--royal);height:36px;cursor:pointer}
.pkg__ticks{display:flex;justify-content:space-between;gap:6px}
.pkg__tick{flex:1;min-height:44px;border:1px solid var(--line);background:var(--ivory);color:var(--royal);border-radius:12px;font:700 .95rem/1 var(--body);cursor:pointer}
.pkg__tick[aria-pressed="true"]{background:var(--royal);color:var(--ivory);border-color:var(--royal)}
.pkg__tick:focus-visible,.pkg input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.pkg__out{background:var(--royal);color:var(--ivory);border-radius:20px;padding:clamp(22px,3vw,32px);display:grid;gap:12px;align-content:center}
.pkg__lbl{margin:0;font:700 .72rem/1.3 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#E3C9A6}
.pkg__price{margin:0;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.pkg__price b{font:500 clamp(2.6rem,6vw,3.6rem)/1 var(--lys-display)}
.pkg__price s{color:var(--on-royal);font-size:1.1rem}
.pkg__out ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;color:var(--on-royal)}
.pkg__out ul b{color:var(--ivory)}
.pkg__out .btn{justify-self:start;margin-top:8px}
@media (max-width:860px){.pkg{grid-template-columns:minmax(0,1fr)}}
.pinchip .go{width:16px;height:16px;flex:none;margin-left:2px;color:var(--gold-ink);transition:transform .25s}.pinchip:hover .go{transform:translateX(3px)}.pinchip:hover{box-shadow:0 18px 38px -14px rgba(18,63,112,.7)}

/* v6 mannequin body map */
.bodymap{padding:18px 18px 22px}
.bm-stage{position:relative;border-radius:20px;overflow:hidden;background:#555;margin-top:10px;aspect-ratio:634/772}
.bm-stage .zv{position:absolute;inset:0}
.bm-stage .zv[hidden]{display:none}
.bm-stage img,.bm-stage svg{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;display:block}
.bodymap svg{max-width:none}
.bm-ov .zone,.bm-back .zone{fill:rgba(255,255,255,0);stroke:rgba(255,255,255,.5);stroke-width:2;stroke-dasharray:5 6}
.bm-ov .zone:hover,.bm-back .zone:hover{fill:rgba(227,201,166,.18);stroke:#E3C9A6}
.bm-ov .zone.is-on,.bm-back .zone.is-on{fill:rgba(227,184,120,.5);stroke:#F2D9AE;stroke-width:3;stroke-dasharray:none}

/* ================= v6 hero (royal, photo + machine) ================= */
.hero--royal{background:radial-gradient(120% 90% at 78% 30%,#2B67A0 0%,#123F70 42%,#0B2C50 100%);color:var(--ivory);padding-block:clamp(40px,6vw,88px) clamp(56px,7vw,96px)}
.hero--royal .h1{color:var(--ivory);font-size:clamp(2.2rem,1rem + 3.7vw,3.9rem)}
.hero--royal .h1 em{color:#E3C9A6}
.hero--royal .lead{color:var(--on-royal)}
.hero--royal .hero__pts li{color:var(--ivory)}
.hero--royal .hero__pts svg{color:#E3C9A6}
.hero--royal .note{color:rgba(248,244,238,.66)}
.hero--royal .kicker{color:#E3C9A6}
.hs{position:relative;width:100%;max-width:640px;margin-inline:auto;aspect-ratio:640/680}
.hs__photo{position:absolute;margin:0;left:3.1%;top:7.35%;width:45.3%;height:86.8%;border-radius:999px 999px 22px 22px;overflow:hidden;border:1px solid rgba(227,201,166,.7);box-shadow:0 0 0 8px rgba(248,244,238,.06),0 40px 80px -30px rgba(0,0,0,.65)}
.hs__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.hs__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hs__pulse{fill:none;stroke:#F2D9AE;stroke-width:1.4;transform-box:fill-box;transform-origin:center;animation:hsp 2.8s ease-out infinite}
.hs__pulse.p2{animation-delay:1.4s}
@keyframes hsp{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.hs__cable{animation:hsc 1.4s linear infinite}
@keyframes hsc{to{stroke-dashoffset:-14}}
@media (prefers-reduced-motion:reduce){.hs__pulse,.hs__cable{animation:none}}
.hs .deal-badge{left:auto;right:2%;top:2%;z-index:6}
.hs .pinchip{left:0;right:auto;bottom:-3%;max-width:70%;white-space:nowrap}
.ready{padding-block:clamp(28px,4vw,48px);position:relative;overflow:hidden}
.ready__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;position:relative}
.ready .h2{margin:4px 0 0;max-width:22ch}
body[data-route="home"] .ftr__cta{display:none}
@media (max-width:640px){.hs .deal-badge{font-size:.58rem}.hs .pinchip small{display:none}}

.tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tech-card{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:26px 26px 28px;display:grid;gap:10px;align-content:start}
.tech-card .tn{font:500 1.5rem/1 var(--lys-display);color:var(--gold-ink)}
.tech-card .h3{margin:0;font-size:1.2rem}
.tech-card p{margin:0;color:var(--muted);font-size:.96rem}
.tech-card--use{background:var(--royal);border-color:var(--royal);grid-column:span 2}
.tech-card--use .h3{color:var(--ivory)}
.tech-card--use ul{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--on-royal);font-size:.96rem}
.tech-card--use .btn{justify-self:start;margin-top:8px}
@media (max-width:980px){.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.tech-grid{grid-template-columns:minmax(0,1fr)}.tech-card--use{grid-column:auto}}

/* ================= v7: royal page heroes, symmetric hero stage ================= */
.phead--royal{background:radial-gradient(120% 90% at 80% 20%,#2B67A0 0%,#123F70 45%,#0B2C50 100%);color:var(--ivory)}
.phead--royal .h1{color:var(--ivory)}.phead--royal .h1 em{color:#E3C9A6}
.phead--royal .lead{color:var(--on-royal)}
.phead--royal .crumbs,.phead--royal .crumbs a{color:var(--on-royal)}
.phead--royal .row-btns{margin-top:6px}
.hs__photo--l{left:2.2%;top:7.35%;width:46.9%;height:86.8%}
.hs .pinchip{max-width:50%}
@media (max-width:640px){.hs .pinchip{max-width:62%}}
.bm-stage img{object-fit:cover}

/* ================= v8: no stark white; mobile before/after full width ================= */
.sec--white .bodymap,.sec--white .zcard{background:var(--white)}
.sec--white .bm-tabs{background:var(--white)}
@media (max-width:980px){.gal{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .gal{gap:28px;margin-inline:calc(-1 * clamp(16px,4vw,40px))}
  .gal figure{gap:10px}
  .gal .ba{aspect-ratio:4/5;border-radius:0;box-shadow:none}
  .gal figcaption{padding-inline:clamp(16px,4vw,40px)}
}

/* =====================================================================
   Royal silk, editorial — premium layer
   Cormorant display over Manrope; deep royal night, porcelain ivory,
   champagne hairlines. Motion: one cinematic hero entrance, masked
   word rises, clip-path image unveils, a scroll-lit statement.
   ===================================================================== */
:root{
  --royal:#123F70; --royal-deep:#0A2442; --night:#061A31; --med:#1B4E85;
  --ivory:#F7F2EA; --sand:#E6D6C2; --sand-soft:#EFE6D9; --white:#FCFAF6; --mist:#EAEEF2;
  --gold:#B88C55; --gold-ink:#86602F; --champagne:#E6CCA4;
  --ink:#0E2238; --muted:#4A5C72;
  --line:rgba(18,63,112,.13); --line-gold:rgba(184,140,85,.45);
  --lys-display:'Cormorant','Cormorant Fallback','Cormorant Garamond',Georgia,serif;
  --r:14px; --shadow:0 34px 60px -40px rgba(10,36,66,.55);
  --ease-out:cubic-bezier(.16,1,.3,1); --ease-io:cubic-bezier(.77,0,.175,1); --ease-ui:cubic-bezier(.23,1,.32,1);
  interpolate-size:allow-keywords;
}
html{scrollbar-color:var(--gold) var(--ivory)}
body{font-size:16.5px}
::selection{background:var(--royal);color:var(--champagne)}
input,textarea{caret-color:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
a{text-underline-offset:.22em;text-decoration-thickness:1px}

/* type */
h1,h2,h3,h4{font-weight:500;letter-spacing:-.012em;line-height:1}
.h1{font-size:clamp(3rem,1.3rem + 5.6vw,6rem);line-height:.95;letter-spacing:-.025em}
.h2{font-size:clamp(2.4rem,1.4rem + 3.6vw,4.5rem);line-height:.98;letter-spacing:-.02em}
.h3{font-size:clamp(1.5rem,1.25rem + .8vw,2.05rem);line-height:1.08}
.h1 em,.h2 em{font-weight:400;letter-spacing:-.01em}
.lead{font-size:clamp(1.04rem,.98rem + .3vw,1.2rem);line-height:1.65}
.eyebrow{font:600 .68rem/1.4 var(--body);letter-spacing:.32em}
.on-dark .eyebrow,.eyebrow.light{color:var(--champagne)}
.on-dark .h1 em,.on-dark .h2 em{color:var(--champagne)}

/* editorial section heads: label sits in the margin, heading carries the weight */
.sec{padding-block:clamp(88px,11vw,168px)}
@media (min-width:961px){
  .sec>.wrap>.sec-head:not(.center){grid-template-columns:minmax(140px,.24fr) minmax(0,1fr);max-width:none;gap:20px clamp(32px,5vw,88px)}
  .sec>.wrap>.sec-head:not(.center)>*{grid-column:2}
  .sec>.wrap>.sec-head:not(.center)>.eyebrow{grid-column:1;grid-row:1/span 4;align-self:start;margin-top:1.2em;padding-top:14px;border-top:1px solid var(--line-gold)}
  .sec>.wrap>.sec-head:not(.center)>.h2{max-width:18ch}
}
.statement{font:400 clamp(1.75rem,1rem + 2.7vw,3.3rem)/1.16 var(--lys-display);color:var(--royal);max-width:30ch;letter-spacing:-.012em;margin-top:clamp(10px,2vw,28px)}
.statement .sc-w{transition:opacity .3s linear}

/* buttons: quiet press, arrow that travels through its circle */
.btn{font-weight:700;letter-spacing:.04em;transition:background-color .35s var(--ease-ui),color .35s var(--ease-ui),border-color .35s var(--ease-ui),box-shadow .35s var(--ease-ui),transform .16s var(--ease-ui)}
.btn:active{transform:scale(.97)}
.btn .k{overflow:hidden}
.btn:hover .k{transform:none}
@media (hover:hover){.btn:hover .k svg{animation:arrowThrough .55s var(--ease-out)}}
@keyframes arrowThrough{0%{transform:none}44%{transform:translateX(170%)}45%{transform:translateX(-170%)}100%{transform:none}}
.btn--primary:hover{background:var(--royal-deep);box-shadow:0 18px 30px -18px rgba(10,36,66,.7)}
.btn--gold{background:var(--champagne);color:var(--royal-deep)}
.btn--gold .k{background:var(--royal-deep);color:var(--champagne)}
.btn--gold:hover{background:#F1DFC1;box-shadow:0 18px 34px -16px rgba(230,204,164,.45)}
.btn--ghost:hover{background:var(--royal);color:var(--ivory)}
.btn--ghost-light{border-color:rgba(230,204,164,.4)}
.btn--ghost-light:hover{border-color:var(--champagne);background:rgba(230,204,164,.1)}

/* header: hides on the way down, returns on the way up, gold reading line */
.hdr{background:rgba(247,242,234,.84);border-bottom-color:transparent;transition:transform .55s var(--ease-out),border-color .3s,box-shadow .3s;view-transition-name:site-header}
.hdr.is-scrolled{border-bottom-color:var(--line);box-shadow:0 14px 34px -28px rgba(10,36,66,.45)}
.hdr.is-hidden{transform:translateY(calc(-100% - 2px))}
@supports (animation-timeline:scroll()){
  .hdr::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--gold);transform-origin:0 50%;transform:scaleX(0);animation:readLine linear both;animation-timeline:scroll(root)}
}
@keyframes readLine{to{transform:scaleX(1)}}
@media (min-width:1061px){
  .nav a{letter-spacing:.18em;font-weight:600}
  .nav a::after{left:0;bottom:4px;width:100%;height:1px;border-radius:0;transform:scaleX(0);transform-origin:100% 50%;transition:transform .5s var(--ease-out)}
  .nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:0 50%}
}
@media (max-width:1060px){
  .nav.open{animation:navIn .5s var(--ease-out)}
  .nav.open a{animation:fadeUp .6s var(--ease-out) backwards}
  .nav.open a:nth-child(2){animation-delay:.04s}.nav.open a:nth-child(3){animation-delay:.08s}.nav.open a:nth-child(4){animation-delay:.12s}.nav.open a:nth-child(5){animation-delay:.16s}
  .nav a{font:500 1.6rem/1.1 var(--lys-display);letter-spacing:0;text-transform:none;padding:16px 0}
}
@keyframes navIn{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}

/* depth: film grain on royal surfaces */
.hero--royal::after,.sec--royal::after,.phead--royal::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.09;mix-blend-mode:overlay;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(/wp-content/uploads/lysi-lab/assets/%23n)'/%3E%3C/svg%3E")}
.hero--royal>.wrap,.phead--royal>.wrap{position:relative;z-index:1}

/* ---------- hero ---------- */
.hero--royal{background:radial-gradient(70% 80% at 82% 18%,rgba(43,103,160,.75) 0%,transparent 62%),radial-gradient(60% 60% at 0% 100%,rgba(184,140,85,.18) 0%,transparent 60%),linear-gradient(180deg,#0F3663 0%,var(--royal-deep) 100%);padding-block:clamp(48px,6vw,104px) clamp(72px,8vw,128px)}
.hero--royal .h1{font-size:clamp(3rem,1.2rem + 4.4vw,5.4rem);color:var(--ivory)}
.hero--royal .h1 em{display:block;color:var(--champagne)}
.hero__copy{gap:28px}
.hero .lead{max-width:48ch}
.hero .kicker{order:10;font-weight:600;color:var(--champagne)}
.hero .kicker::before{width:56px;height:1px;background:var(--champagne)}
.hero--royal .hero__pts li{font-weight:600;color:rgba(247,242,234,.92)}
.hero--royal .hero__pts svg{color:var(--champagne)}
.hs .deal-badge{background:var(--champagne);color:var(--royal-deep);letter-spacing:.16em}
.hs .deal-badge:hover{background:#F1DFC1}
.hs__photo{border-color:rgba(230,204,164,.6)}

/* ribbon: the three treatments, drifting like tulle */
.ribbon{position:relative;background:var(--royal-deep);color:var(--champagne);overflow:hidden;padding-block:clamp(16px,2vw,24px);border-top:1px solid rgba(230,204,164,.16)}
.ribbon__track{display:flex;align-items:center;width:max-content;animation:ribbon 46s linear infinite}
.ribbon span,.ribbon i{margin-right:clamp(22px,3vw,40px)}
.ribbon span{font:400 clamp(1.35rem,1rem + 1.2vw,2.1rem)/1.1 var(--lys-display);white-space:nowrap}
.ribbon em{font-style:italic;color:#F4E6CE}
.ribbon i{flex:none;width:7px;height:7px;border:1px solid currentColor;transform:rotate(45deg);opacity:.6}
@keyframes ribbon{to{transform:translateX(-50%)}}
@media (hover:hover){.ribbon:hover .ribbon__track{animation-play-state:paused}}

/* ---------- benefits as an editorial index ---------- */
.ben-grid{grid-template-columns:1fr;gap:0;border-bottom:1px solid var(--line)}
.ben-grid>.ben,.ben-grid>.ben:nth-child(n){margin:0;background:transparent;color:var(--ink);border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:clamp(28px,3.6vw,48px) 0;text-align:left;justify-items:start;display:grid;grid-template-columns:72px minmax(0,1.15fr) minmax(0,1fr) auto;gap:clamp(16px,3vw,52px);align-items:center;isolation:isolate}
.ben-grid>.ben::before{content:"";position:absolute;inset:0 calc(-1 * clamp(16px,2.4vw,32px));z-index:-1;background:var(--white);transform:scaleY(0);transform-origin:50% 100%;transition:transform .6s var(--ease-out)}
.ben-grid>.ben .ico,.ben-grid>.ben:nth-child(n) .ico{position:static;transform:none;width:64px;height:64px;background:transparent;border:1px solid var(--line-gold);color:var(--royal);transition:background-color .45s var(--ease-ui),color .45s var(--ease-ui),transform .7s var(--ease-out)}
.ben-grid>.ben .ico svg{width:28px;height:28px}
.ben-grid>.ben h3,.ben-grid>.ben:nth-child(n) h3{color:var(--royal);font-size:clamp(1.9rem,1.2rem + 2vw,3.2rem);line-height:1;transition:transform .7s var(--ease-out)}
.ben-grid>.ben p,.ben-grid>.ben:nth-child(n) p{color:var(--muted);max-width:44ch;font-size:1rem}
.ben-grid>.ben .tag,.ben-grid>.ben:nth-child(n) .tag{border:0;padding:0;margin:0;color:var(--gold-ink);white-space:nowrap}
@media (hover:hover){
  .ben-grid>.ben:hover{transform:none;box-shadow:none}
  .ben-grid>.ben:hover::before{transform:scaleY(1)}
  .ben-grid>.ben:hover h3{transform:translateX(14px)}
  .ben-grid>.ben:hover .ico{background:var(--royal);color:var(--champagne);transform:rotate(-12deg)}
}
@media (max-width:960px){
  .ben-grid>.ben,.ben-grid>.ben:nth-child(n){grid-template-columns:52px minmax(0,1fr);row-gap:10px}
  .ben-grid>.ben .ico,.ben-grid>.ben:nth-child(n) .ico{width:52px;height:52px;grid-row:span 3;align-self:start}
  .ben-grid>.ben p,.ben-grid>.ben .tag{grid-column:2}
}

/* ---------- components, quieter containers ---------- */
.sw{border-radius:20px}
.form-card{border-radius:20px;box-shadow:0 50px 90px -40px rgba(0,0,0,.6)}
.field input,.field select,.field textarea{border-radius:10px;background:var(--white)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(184,140,85,.16)}
.rev q{font-size:1.45rem;line-height:1.4}
.faq{gap:0;border-top:1px solid var(--line)}
.faq details,.faq details[open]{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0;box-shadow:none}
.faq summary{font:500 clamp(1.3rem,1.15rem + .5vw,1.6rem)/1.25 var(--lys-display);padding:26px 0;transition:color .3s var(--ease-ui)}
@media (hover:hover){.faq summary:hover{color:var(--gold-ink)}}
.faq details::details-content{block-size:0;overflow:hidden;transition:block-size .55s var(--ease-out),content-visibility .55s allow-discrete}
.faq details[open]::details-content{block-size:auto}
.cta .big{font-size:clamp(2.9rem,1.3rem + 5.4vw,6rem);line-height:.95}
.cta .big em{color:var(--champagne)}
.sec--royal{background:radial-gradient(60% 80% at 90% 0%,rgba(43,103,160,.5),transparent 60%),linear-gradient(180deg,var(--royal) 0%,var(--royal-deep) 100%)}
.phead--royal{background:radial-gradient(70% 80% at 85% 15%,rgba(43,103,160,.7),transparent 62%),linear-gradient(180deg,#0F3663,var(--royal-deep))}
.ftr{background:var(--night)}
.ftr__cta p{font-size:clamp(1.8rem,1.1rem + 2vw,2.8rem);line-height:1.05}

/* ---------- motion system (only with .js-motion, never under reduced motion) ---------- */
@keyframes fadeUp{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes rvUp{from{opacity:0;translate:0 32px}to{opacity:1;translate:0 0}}
@keyframes rvRise{from{translate:0 112%}to{translate:0 0}}
@keyframes rvClip{from{clip-path:inset(14% 8% 14% 8%)}to{clip-path:inset(0 0 0 0)}}
@keyframes rvScale{from{scale:1.18}to{scale:1}}
@keyframes rvShow{to{opacity:1}}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em .09em .16em;margin:-.1em -.09em -.16em}
.split .wi{display:inline-block}
.h1.split,.h2.split,.big.split{display:block}
.js-motion .h1:not(.split),.js-motion .h2:not(.split){opacity:0;animation:rvShow .01s 2.4s forwards}
.js-motion .split:not(.in) .wi{translate:0 112%}
.js-motion .split.in .wi{animation:rvRise 1.25s var(--ease-out) calc(var(--d,0s) + var(--i,0) * 48ms) backwards}
.js-motion [data-rv="up"]:not(.in){opacity:0}
.js-motion [data-rv="up"].in{animation:rvUp 1.15s var(--ease-out) var(--d,0s) backwards}
.js-motion [data-rv="img"]:not(.in){clip-path:inset(14% 8% 14% 8%)}
.js-motion [data-rv="img"]:not(.in) img{scale:1.18}
.js-motion [data-rv="img"].in{animation:rvClip 1.6s var(--ease-io) var(--d,0s) backwards}
.js-motion [data-rv="img"].in img{animation:rvScale 2.4s var(--ease-out) var(--d,0s) backwards}

/* hero entrance, choreographed once on load */
.js-motion .hero__copy>:not(.h1),.js-motion .phead__grid>div>:not(.h1){animation:fadeUp 1.1s var(--ease-out) var(--hd,.5s) backwards}
.hero__copy>.lead,.phead__grid>div>.lead{--hd:.55s}
.hero__copy>.hero__pts{--hd:.7s}
.hero__copy>.row-btns,.phead__grid>div>.row-btns{--hd:.82s}
.hero__copy>.note{--hd:.95s}
.hero__copy>.kicker{--hd:1.05s}
.js-motion .hs__photo{animation:heroUnveil 1.7s var(--ease-io) .2s backwards}
.js-motion .hs__photo img{animation:rvScale 2.6s var(--ease-out) .2s backwards}
@keyframes heroUnveil{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
.hs__arch{stroke-dasharray:1 1}
.js-motion .hs__arch{animation:drawLine 2.2s var(--ease-out) .45s backwards,fillIn 1.4s ease 1s backwards}
@keyframes drawLine{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fillIn{from{fill-opacity:0}to{fill-opacity:1}}
.js-motion .hs__svg image{transform-box:fill-box;transform-origin:50% 100%;animation:fadeUp 1.4s var(--ease-out) .9s backwards}
.js-motion .hs__svg g[text-anchor]{animation:fade 1s ease 1.3s backwards}
.js-motion .hs__zone{animation:fade 1s ease 1.45s backwards}
.js-motion .hs__cable{animation:hsc 1.4s linear infinite,fade .8s ease 1.6s backwards}
.js-motion .hs__cable+circle{animation:fade .8s ease 1.6s backwards}
.js-motion .hs .deal-badge{animation:badgeIn .8s var(--ease-out) 1.7s backwards}
.js-motion .hs .pinchip{animation:fadeUp 1s var(--ease-out) 1.85s backwards}
@keyframes badgeIn{from{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}
.js-motion .hero .deco-wave path,.js-motion .phead .deco-wave path{stroke-dasharray:1500;animation:drawWave 3s var(--ease-out) backwards}
.deco-wave path:nth-child(2){animation-delay:.12s}.deco-wave path:nth-child(3){animation-delay:.24s}.deco-wave path:nth-child(4){animation-delay:.36s}.deco-wave path:nth-child(5){animation-delay:.48s}
@keyframes drawWave{from{stroke-dashoffset:1500}to{stroke-dashoffset:0}}
.deco-wave g{animation:tulle 18s ease-in-out infinite alternate}
@keyframes tulle{to{transform:translateX(-46px)}}
/* pointer depth on the hero composition (fine pointers only, set from JS) */
.hs__photo{translate:calc(var(--mx,0) * -14px) calc(var(--my,0) * -10px);transition:translate 1.2s var(--ease-out)}
.hs__svg{translate:calc(var(--mx,0) * 10px) calc(var(--my,0) * 8px);transition:translate 1.2s var(--ease-out)}

/* cross-page continuity */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtOut .3s var(--ease-ui) both}
::view-transition-new(root){animation:vtIn .55s var(--ease-out) both}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translateY(12px)}}

@media (prefers-reduced-motion:reduce){
  .ribbon__track{animation:none}
  .hs__photo,.hs__svg{translate:none}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

/* =====================================================================
   v9 (QA pass, Nov 2026): tap targets, results cases, zone planner,
   Google reviews, map card, ready band on inner pages, blog
   ===================================================================== */

/* tap targets (44px) without changing the visual rhythm */
.brand{min-height:44px}
.crumbs a{display:inline-flex;align-items:center;padding-block:16px;margin-block:-16px}
.contact-list a{min-height:44px}
.info a{display:inline-flex;align-items:center;min-height:44px;padding-block:6px;margin-block:-6px}
.hs .deal-badge{min-height:40px}
.bm-tab{min-height:44px}
.ftr ul{gap:2px}
.ftr ul a{display:inline-flex;align-items:center;min-height:40px}
.ftr ul li:not(:has(a)){min-height:40px;display:flex;align-items:center}
.soc a{width:46px;height:46px}

/* six navigation items fit between 1061px and 1240px */
@media (min-width:1061px) and (max-width:1240px){
  .nav{gap:clamp(14px,1.6vw,26px)}
  .nav a{letter-spacing:.12em;font-size:.7rem}
}

/* ---------- results: before / after cases ---------- */
.cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,4vw,64px) clamp(20px,3vw,44px)}
.case{margin:0;display:grid;gap:16px;align-content:start}
.case__pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:var(--r);overflow:hidden;background:var(--white);box-shadow:var(--shadow)}
.case__img{position:relative;margin:0;aspect-ratio:1/2;overflow:hidden;background:var(--sand)}
.case__img img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}
.case__tag{position:absolute;left:12px;top:12px;z-index:1;font:700 .64rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;background:rgba(14,34,56,.78);color:#fff;padding:9px 12px;border-radius:99px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.case__img--after .case__tag{background:var(--champagne);color:var(--royal-deep)}
.case figcaption{display:grid;gap:4px;padding-inline:4px}
.case figcaption b{font:500 1.3rem/1.2 var(--lys-display);color:var(--royal)}
.case figcaption span{font-size:.88rem;color:var(--muted)}
.ba-wrap--case{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
.ba-wrap--case .case{max-width:560px;width:100%;justify-self:center}
.ba-wrap--case .case__img{aspect-ratio:3/5}
.cases-note{margin-top:clamp(28px,4vw,44px);max-width:70ch}
@media (max-width:960px){.ba-wrap--case{grid-template-columns:minmax(0,1fr)}}
@media (max-width:720px){
  .cases{grid-template-columns:minmax(0,1fr)}
  .case__pair{gap:4px}
  .case__tag{left:8px;top:8px;font-size:.58rem;padding:8px 10px;letter-spacing:.12em}
}

/* ---------- zone planner ---------- */
.zcard{position:relative;padding-right:52px}
.zcard::after{content:"";position:absolute;right:18px;top:20px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-gold);background:transparent;transition:background-color .25s var(--ease-ui),border-color .25s var(--ease-ui)}
.zcard[aria-pressed="true"]::after{background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/14px no-repeat;border-color:var(--gold)}
.zcard:active{transform:scale(.98)}
.zplan{grid-column:1/-1;background:var(--royal);color:var(--ivory);border-radius:20px;padding:clamp(22px,3vw,30px);display:grid;gap:14px;box-shadow:var(--shadow)}
.zplan__lbl{font:600 .68rem/1.3 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--champagne)}
.zplan__empty{display:grid;gap:6px}
.zplan__empty b,.zplan__head b{font:500 1.45rem/1.2 var(--lys-display);color:var(--ivory)}
.zplan__empty span{color:var(--on-royal);font-size:.95rem}
.zplan__sel{display:grid;gap:14px}
.zplan__list{display:flex;flex-wrap:wrap;gap:8px}
.zplan__list li{display:inline-flex;align-items:center;gap:8px;background:rgba(247,242,234,.12);border:1px solid rgba(230,204,164,.3);border-radius:99px;padding:4px 6px 4px 14px;font-weight:600;font-size:.9rem}
.zplan__list small{color:var(--champagne);font-weight:600}
.zplan__list button{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:0;background:transparent;color:var(--ivory);cursor:pointer}
.zplan__list button:hover{background:rgba(247,242,234,.16)}
.zplan__list button svg{width:14px;height:14px}
.zplan__sum{font:500 1.2rem/1.3 var(--lys-display);color:var(--ivory)}
.zplan__sum b{font-size:1.6rem;color:var(--champagne);font-weight:500}
.zplan .row-btns{gap:10px}
.zplan__note{font-size:.84rem;color:var(--on-royal)}
.zplan__note a{color:var(--champagne)}
.zplan__clear{justify-self:start;border:0;background:none;color:var(--on-royal);font:600 .84rem/1 var(--body);text-decoration:underline;text-underline-offset:.2em;cursor:pointer;padding:12px 0;margin:-8px 0}
.zplan__clear:hover{color:var(--ivory)}

/* ---------- Google reviews ---------- */
.rev .gstars{display:flex;align-items:center;gap:10px;font:700 .72rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.rev .gstars i{font-style:normal;font-size:1.05rem;letter-spacing:.08em;color:var(--gold)}
.rev .who b{font-weight:700}
.greviews{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:22px}
.greviews p{color:var(--muted);font-size:.9rem;margin-right:auto}
.car__track{scroll-padding-inline:4px}

/* ---------- map card ---------- */
.map-card{min-height:340px;padding:0;background:radial-gradient(80% 90% at 80% 10%,rgba(43,103,160,.55),transparent 60%),linear-gradient(160deg,var(--royal),var(--royal-deep));border:0;color:var(--ivory)}
.map-card iframe{z-index:2;background:transparent}
.map-face{position:relative;z-index:1;display:grid;justify-items:center;gap:8px;text-align:center;padding:32px 24px}
.map-face .pin{margin-bottom:14px;background:var(--champagne)}
.map-face .pin i{background:var(--royal-deep)}
.map-face b{font:500 1.5rem/1.2 var(--lys-display);color:var(--ivory)}
.map-face span{color:var(--on-royal);font-size:.95rem}
.map-face::before{content:"";position:absolute;inset:-40px;z-index:-1;opacity:.5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 360' fill='none' stroke='%23F8F4EE' stroke-opacity='.16' stroke-width='1.2'%3E%3Cpath d='M-20 264C150 154 260 294 420 204S700 84 920 164'/%3E%3Cpath d='M-20 282C150 172 260 312 420 222S700 102 920 182'/%3E%3Cpath d='M-20 300C150 190 260 330 420 240S700 120 920 200'/%3E%3C/svg%3E") center/cover no-repeat}
.map-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.contact-grid>div{min-width:0}

/* ---------- ready band on inner pages ---------- */
.ready .lead{margin-top:10px;max-width:46ch}

/* ---------- blog ---------- */
.blog-hero .phead__grid{align-items:end}
.blog-hero .h1{font-size:clamp(3rem,1.4rem + 4.6vw,5.6rem)}
.blog-topics{display:grid;gap:12px;justify-items:start}
.blog-topics p{font:600 .68rem/1.4 var(--body);letter-spacing:.28em;text-transform:uppercase;color:var(--champagne)}
.blog-sec{padding-top:clamp(40px,5vw,72px)}
.blog-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(28px,4vw,44px)}
.blog-filters .chip{min-height:44px;padding:10px 20px;background:var(--white);border:1px solid var(--line);color:var(--royal);font-size:.84rem}
.blog-filters .chip[aria-pressed="true"]{background:var(--royal);border-color:var(--royal);color:var(--ivory)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,4vw,56px) clamp(20px,2.6vw,36px)}
.bc{position:relative;display:grid;gap:16px;align-content:start}
.bc__img{margin:0;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--sand)}
.bc__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease-out)}
.bc__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font:600 .74rem/1.3 var(--body);color:var(--muted)}
.bc__cat{color:var(--gold-ink);letter-spacing:.16em;text-transform:uppercase;font-size:.66rem;font-weight:700}
.bc__meta i{width:4px;height:4px;border-radius:50%;background:var(--line-gold)}
.bc h3{font:500 clamp(1.45rem,1.2rem + .6vw,1.8rem)/1.12 var(--lys-display);color:var(--royal);margin:0}
.bc h3 a{text-decoration:none;color:inherit}
.bc h3 a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--r)}
.bc p{color:var(--muted);font-size:.96rem}
.bc .link-arrow{margin-top:2px}
@media (hover:hover){
  .bc:hover .bc__img img{transform:scale(1.04)}
  .bc:hover h3{color:var(--gold-ink)}
  .bc:hover .link-arrow svg{transform:translateX(5px)}
}
.bc h3 a:focus-visible{outline:none}
.bc:has(h3 a:focus-visible){outline:2px solid var(--gold);outline-offset:8px;border-radius:var(--r)}
.bc--feat{grid-column:1/-1;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,64px);align-items:center;padding-bottom:clamp(36px,4vw,56px);border-bottom:1px solid var(--line)}
.bc--feat .bc__img{aspect-ratio:16/11;border-radius:220px 220px var(--r) var(--r)/180px 180px var(--r) var(--r)}
.bc--feat h3{font-size:clamp(2rem,1.4rem + 1.8vw,3.2rem);line-height:1.02}
.bc--feat p{font-size:1.06rem;max-width:46ch}
.bc--feat .bc__body{display:grid;gap:16px;align-content:center}
.bc__body{display:grid;gap:12px}
.blog-empty{padding:40px 0;color:var(--muted)}
@media (max-width:960px){
  .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bc--feat{grid-template-columns:minmax(0,1fr)}
  .bc--feat .bc__img{border-radius:160px 160px var(--r) var(--r)/130px 130px var(--r) var(--r)}
}
@media (max-width:620px){
  .blog-grid{grid-template-columns:minmax(0,1fr)}
  .bc--feat .bc__img{aspect-ratio:4/3.4;border-radius:120px 120px var(--r) var(--r)/100px 100px var(--r) var(--r)}
}

/* article */
.post-head{padding-block:clamp(40px,6vw,88px) clamp(28px,4vw,48px)}
.post-head .crumbs{margin-bottom:28px}
.post-head__in{max-width:900px;display:grid;gap:20px}
.post-head .h1{font-size:clamp(2.5rem,1.3rem + 3.8vw,4.6rem);line-height:1}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font:600 .82rem/1.4 var(--body);color:var(--muted)}
.post-meta i{width:4px;height:4px;border-radius:50%;background:var(--line-gold)}
.post-meta .bc__cat{font-size:.68rem}
.post-cover{margin:0 0 clamp(36px,5vw,64px);aspect-ratio:21/9;border-radius:var(--r);overflow:hidden;background:var(--sand);box-shadow:var(--shadow)}
.post-cover img{width:100%;height:100%;object-fit:cover;display:block}
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,6vw,96px);align-items:start;padding-bottom:clamp(72px,9vw,128px)}
.prose{max-width:68ch;font-size:1.08rem;line-height:1.78;color:var(--ink)}
.prose>*+*,.prose>:where(.elementor-widget-container)>*+*{margin-top:1.15em}
.prose>p:first-child,.prose>:where(.elementor-widget-container)>p:first-child{font:400 clamp(1.4rem,1.1rem + 1vw,1.8rem)/1.45 var(--lys-display);color:var(--royal)}
.prose h2{font:500 clamp(1.8rem,1.4rem + 1.2vw,2.4rem)/1.1 var(--lys-display);color:var(--royal);margin-top:1.8em}
.prose ul{display:grid;gap:10px;padding:0}
.prose li{position:relative;padding-left:26px}
.prose li::before{content:"";position:absolute;left:4px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.prose strong{color:var(--royal);font-weight:700}
.prose a{color:var(--royal);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.2em}
.prose blockquote{margin:1.8em 0 0;padding:22px 26px;border-left:2px solid var(--gold);background:var(--white);border-radius:0 var(--r) var(--r) 0;font:400 1.35rem/1.45 var(--lys-display);color:var(--royal)}
.post-aside{position:sticky;top:110px;display:grid;gap:16px;background:var(--royal);color:var(--ivory);border-radius:20px;padding:28px;box-shadow:var(--shadow)}
.post-aside h2{font:500 1.7rem/1.1 var(--lys-display);color:var(--ivory)}
.post-aside p{color:var(--on-royal);font-size:.94rem}
.post-aside .btn{justify-content:space-between;width:100%}
.post-aside .eyebrow{color:var(--champagne)}
.post-more{padding-block:clamp(64px,8vw,112px)}
.post-more .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.post-back{margin-top:clamp(28px,4vw,44px)}
@media (max-width:960px){
  .post-layout{grid-template-columns:minmax(0,1fr)}
  .post-aside{position:static}
  .post-cover{aspect-ratio:16/10}
}
@media (max-width:620px){.post-more .blog-grid{grid-template-columns:minmax(0,1fr)}}
.link-arrow{min-height:44px}
.ftr ul a,.ftr ul li:not(:has(a)){min-height:44px}
/* reviews: quote right under the stars, author at the bottom */
.rev{grid-template-rows:auto 1fr auto;align-content:stretch}
.rev q{align-self:start}
/* blog: two columns until there are enough articles for three */
.blog-sec .blog-grid:not(:has(> .bc:nth-child(4))){grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:620px){.blog-sec .blog-grid:not(:has(> .bc:nth-child(4))){grid-template-columns:minmax(0,1fr)}}
.bc__meta{row-gap:2px}
/* one closing call to action per page: hide the footer band when the page already ends with one */

@media (max-width:620px){.post-meta i,.bc__meta i{display:none}.post-meta,.bc__meta{column-gap:14px}}

/* =====================================================================
   v10 (Nov 2026): Lysi-Lab, blue scrollbar, seamless hero edge, dark
   concern tool, original result photos, Google-style reviews
   ===================================================================== */
html{scrollbar-color:#2B67A0 #E9EEF4}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:#E9EEF4}
::-webkit-scrollbar-thumb{background:#2B67A0;border-radius:99px;border:3px solid #E9EEF4}
::-webkit-scrollbar-thumb:hover{background:var(--royal)}

/* hero flows into the next section: the wave is drawn over the hero itself,
   so the hero's gradient and texture continue right up to the curve */
.lys-main>section:first-child{position:relative}
.lys-main>section:first-child+.wv{position:relative;z-index:3;margin-top:calc(-1 * clamp(28px,4vw,60px));background:transparent!important}
.hero--royal{padding-bottom:clamp(28px,4vw,60px)}
.hero--royal>.ribbon{background:transparent;border-top:1px solid rgba(230,204,164,.12);margin-top:clamp(48px,6vw,96px);position:relative;z-index:1}

/* concern tool on dark blue */
.tool-sec.sec--royal .sw{--bg:var(--white);border-color:transparent;box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.tool-sec.sec--royal .sw[data-on="true"]{--bg:rgba(247,242,234,.07);--fg:var(--ivory);border-color:rgba(230,204,164,.35)}
.tool-sec.sec--royal .lead{color:var(--on-royal)}

/* untouched result photos */
.case__photo{margin:0;aspect-ratio:4/5;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:grid;place-items:center}
.case__photo img{width:100%;height:100%;object-fit:contain;display:block}
.ba-wrap--case .case{max-width:470px}

/* phead fact list */
.phead--royal .hero__pts{margin-top:4px}
.phead--royal .hero__pts li{color:rgba(247,242,234,.92);font-weight:600}
.phead--royal .hero__pts svg{color:var(--champagne)}

/* Google-style review cards */
.greview-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;margin-bottom:22px;padding:16px 18px 16px 22px;background:var(--white);border:1px solid var(--line);border-radius:16px}
.greview-bar__l{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;font:600 1rem/1.2 var(--body);color:#202124}
.grev__g{font:600 .78rem/1 Arial,Helvetica,sans-serif;letter-spacing:0;color:#5f6368}
.grev__g--lg{font-size:1.25rem;font-weight:500;color:#5f6368}
.grev__stars{display:inline-flex;gap:2px}
.grev__stars svg{width:18px;height:18px;fill:#FBBC04}
.grev{flex:0 0 min(440px,86%);scroll-snap-align:start;display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;align-content:start;background:#fff;border:1px solid #dadce0;border-radius:12px;padding:20px 22px;text-decoration:none;color:#202124;font-family:Roboto,Arial,var(--body);box-shadow:0 1px 2px rgba(60,64,67,.15);transition:box-shadow .3s var(--ease-ui),border-color .3s var(--ease-ui),transform .3s var(--ease-ui)}
.grev:hover{box-shadow:0 8px 24px -10px rgba(60,64,67,.4);border-color:#c6c9ce;transform:translateY(-2px)}
.grev:active{transform:scale(.99)}
.grev__head{display:flex;align-items:center;gap:12px}
.grev__av{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#1a73e8;color:#fff;font:500 1.05rem/1 Arial,sans-serif}
.grev__who{display:grid;gap:2px;min-width:0}
.grev__who b{font:500 .95rem/1.25 Arial,var(--body);color:#202124}
.grev__who small{font-size:.8rem;color:#5f6368}
.grev__head .grev__g{margin-left:auto}
.grev__text{font:400 .98rem/1.6 Arial,var(--body);color:#3c4043}
.grev__more{display:inline-flex;align-items:center;gap:6px;font:500 .86rem/1 Arial,var(--body);color:#1a73e8;min-height:24px}
.grev__more svg{width:15px;height:15px}
.grev:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.car__track:has(.grev){padding-bottom:12px}
.sw .chip{min-height:40px}

/* before / after sliders on the original photos (framed with CSS, files untouched) */
.case--ba .ba{aspect-ratio:auto;background:#fff;cursor:ew-resize}
.case--ba .ba__layer--after{clip-path:inset(0 0 0 var(--pos))}
.case--ba .ba__label{top:12px;font-size:.62rem;padding:8px 11px}
.case--ba .ba__label--b{left:12px}.case--ba .ba__label--a{right:12px;background:var(--champagne);color:var(--royal-deep)}
.case--ba .ba__grip{width:42px;height:42px}
.cases--ba{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,3vw,44px) clamp(16px,2vw,28px)}
.ba-wrap--case .case--ba{max-width:380px}
@media (max-width:1100px){.cases--ba{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.cases--ba{grid-template-columns:minmax(0,1fr)}.cases--ba .case--ba,.ba-wrap--case .case--ba{max-width:340px;width:100%;justify-self:center}}
/* "Daisy Beauty Studio" links to the Google Business Profile */
.studio-link{color:inherit;font-weight:inherit;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .25s var(--ease-ui),text-decoration-color .25s var(--ease-ui)}
.studio-link:hover{color:var(--gold-ink);text-decoration-color:currentColor}
.on-dark .studio-link:hover,.ftr .studio-link:hover,.sec--royal .studio-link:hover{color:var(--champagne)}
.ftr ul .studio-link{display:inline-flex;align-items:center;min-height:44px}

/* location map in the blue block (drawn from OpenStreetMap data; the live Google map loads over it on the real site) */
.map-card{min-height:380px}
.map-static{position:absolute;inset:0;display:block;color:inherit;text-decoration:none;z-index:1}
.map-svg{position:absolute;inset:0;width:100%;height:100%;display:block;transition:transform 1.2s var(--ease-out)}
@media (hover:hover){.map-static:hover .map-svg{transform:scale(1.03)}}
.map-chip{position:absolute;left:16px;bottom:16px;display:grid;gap:2px;background:rgba(247,242,234,.96);color:var(--royal);border-radius:12px;padding:10px 16px;box-shadow:0 14px 30px -16px rgba(0,0,0,.6)}
.map-chip b{font:500 1.2rem/1.1 var(--lys-display);color:var(--royal)}
.map-chip small{font:600 .76rem/1.3 var(--body);color:var(--muted)}
.map-osm{position:absolute;right:10px;bottom:8px;font:500 .62rem/1 var(--body);color:rgba(247,242,234,.6)}
.map-static:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}
@media (max-width:620px){.map-card{min-height:300px}}

/* before / after: the earlier slider design, two per row on Резултати */
.case--ba .ba{border-radius:26px}
.case--ba .ba__label{top:16px;font-size:.68rem;padding:9px 13px;letter-spacing:.2em}
.case--ba .ba__label--b{left:16px}
.case--ba .ba__label--a{right:16px;background:rgba(15,37,64,.78);color:#fff}
.case--ba .ba__grip{width:46px;height:46px}
.cases--ba{grid-template-columns:repeat(2,minmax(0,440px));justify-content:center;gap:clamp(36px,4vw,56px) clamp(24px,4vw,64px)}
@media (max-width:620px){.cases--ba{grid-template-columns:minmax(0,1fr)}}
.kicker .studio-link{display:inline-block;padding-block:15px;margin-block:-15px}
/* ===== v11 · Hero photo background (home) ===== */
.hero--photo{background:radial-gradient(55% 70% at 72% 42%,rgba(43,103,160,.38) 0%,transparent 70%),linear-gradient(180deg,#0A2346 0%,#0A2442 100%)}
.hero__bg{position:absolute;right:-3%;bottom:0;width:min(64vw,980px);aspect-ratio:1720/1510;z-index:0;pointer-events:none}
.hero__bg picture,.hero__bg img{display:block;width:100%;height:100%}
.hero__bg img{object-fit:cover;object-position:50% 0}
.hero--photo .hs{aspect-ratio:auto;min-height:clamp(420px,46vw,620px)}
.hero--photo .hs .pinchip{left:auto;right:3%;bottom:1%}
@media (max-width:980px){
  .hero__bg{display:none}
  .hero--photo .hs{max-width:none;width:auto;min-height:0;aspect-ratio:1200/1163;margin:8px calc(-1 * clamp(16px,4vw,40px)) 0}
  .hero--photo .hs::before{content:"";position:absolute;inset:0;z-index:0;background:url(/wp-content/uploads/lysi-lab/assets/hero/hero-photo-m-sm.webp) 50% 0/cover no-repeat;
    background-image:image-set(url(/wp-content/uploads/lysi-lab/assets/hero/hero-photo-m-sm.webp) 1x,url(/wp-content/uploads/lysi-lab/assets/hero/hero-photo-m.webp) 2x);
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%)}
  .hero--photo .hs .deal-badge{top:6%;right:clamp(16px,4vw,40px)}
  .hero--photo .hs .pinchip{left:clamp(16px,4vw,40px);bottom:6%}
}
/* ===== v11 · Before/after side by side (no slider) ===== */
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border-radius:26px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.pair__ph{position:relative;margin:0}
.pair__img{display:block;width:100%}
.pair__lbl{position:absolute;top:14px;left:14px;z-index:1;font:700 .64rem/1 var(--body);letter-spacing:.2em;text-transform:uppercase;padding:8px 12px;border-radius:99px;background:rgba(248,244,238,.94);color:var(--royal-deep);box-shadow:0 6px 16px -10px rgba(10,36,66,.6)}
.pair__ph--a .pair__lbl{left:auto;right:14px;background:rgba(15,37,64,.82);color:#fff}
.cases--pair{grid-template-columns:repeat(2,minmax(0,520px));justify-content:center;gap:clamp(40px,4vw,60px) clamp(24px,3.5vw,56px)}
.ba-wrap--case .case--pair{max-width:520px}
@media (max-width:760px){.cases--pair{grid-template-columns:minmax(0,1fr)}.case--pair{max-width:520px;width:100%;justify-self:center}}
@media (max-width:420px){.pair__lbl{top:10px;left:10px;font-size:.56rem;padding:7px 9px;letter-spacing:.16em}.pair__ph--a .pair__lbl{right:10px}}
.grev__av--p{background:#7B5EA7}
/* ===== v12 · desktop header: logo left, menu + booking grouped right ===== */
@media (min-width:1061px){
  .hdr .wrap{justify-content:flex-start}
  .nav{margin-left:auto}
  .hdr-cta{margin-left:clamp(24px,2.6vw,40px)}
}
/* home results: two cases side by side, CTA below */
.cases--home{margin-top:clamp(8px,2vw,20px)}
.ba-foot{display:flex;flex-direction:column;align-items:center;gap:clamp(20px,2.4vw,28px);margin-top:clamp(36px,4vw,56px);text-align:left}
.ba-foot .expect{display:flex;flex-wrap:wrap;justify-content:center;gap:12px clamp(24px,4vw,48px);margin:0}
.ba-foot .expect li{margin:0}

/* ===== v12 · UI/UX audit fixes ===== */
/* metric-matched fallbacks: no layout shift when web fonts load */
@font-face{font-family:'Cormorant Fallback';font-style:normal;src:local('Times New Roman'),local('TimesNewRomanPSMT'),local('Liberation Serif');size-adjust:101.8%;ascent-override:90.8%;descent-override:28.2%;line-gap-override:0%;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Cormorant Fallback';font-style:normal;src:local('Times New Roman'),local('TimesNewRomanPSMT'),local('Liberation Serif');size-adjust:94.6%;ascent-override:97.7%;descent-override:30.3%;line-gap-override:0%;unicode-range:U+0000-03FF,U+0460-048F,U+0492-04AF,U+04B2-2115,U+2117-FFFF}
@font-face{font-family:'Cormorant Fallback';font-style:italic;src:local('Times New Roman Italic'),local('TimesNewRomanPS-ItalicMT'),local('Liberation Serif Italic');size-adjust:88.7%;ascent-override:104.2%;descent-override:32.4%;line-gap-override:0%;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Cormorant Fallback';font-style:italic;src:local('Times New Roman Italic'),local('TimesNewRomanPS-ItalicMT'),local('Liberation Serif Italic');size-adjust:88.8%;ascent-override:104.1%;descent-override:32.3%;line-gap-override:0%;unicode-range:U+0000-03FF,U+0460-048F,U+0492-04AF,U+04B2-2115,U+2117-FFFF}
@font-face{font-family:'Manrope Fallback';font-style:normal;src:local('Arial'),local('ArialMT'),local('Liberation Sans');size-adjust:109.8%;ascent-override:97.1%;descent-override:27.3%;line-gap-override:0%;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope Fallback';font-style:normal;src:local('Arial'),local('ArialMT'),local('Liberation Sans');size-adjust:103.0%;ascent-override:103.5%;descent-override:29.1%;line-gap-override:0%;unicode-range:U+0000-03FF,U+0460-048F,U+0492-04AF,U+04B2-2115,U+2117-FFFF}
/* keyboard focus never hidden under the sticky header */
html{scroll-padding-top:92px}
/* switch card (white, off state): labels were ivory on white */
.tool-sec.sec--royal .sw[data-on="false"] .sw__off p{color:var(--muted);opacity:1}
/* gold pills: white on gold was 3:1 → navy on gold */
.deal-badge,.pcard .badge{color:var(--royal-deep)}
.deal-badge:hover{color:#fff}
/* touch targets 44px on phones */
.sw .chip{min-height:44px}
/* minimum label size */
.pair__lbl{font-size:.68rem}
@media (max-width:420px){.pair__lbl{font-size:.64rem;padding:7px 10px;letter-spacing:.14em}}
.deal-badge{font-size:max(.6rem,11px)}
@media (max-width:760px){.stage2 .mach-cap b{font-size:.62rem}.price-table td::before{font-size:.68rem}}
/* visible keyboard focus on blog cards and the map */
.bc a:focus-visible,.map-card iframe:focus-visible,.map-static:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
