:root{
  --ink:#173326;--ink-2:#244b3a;--brand:#356b55;--brand-2:#2a5946;--gold:#c8a05a;--gold-soft:#eadcc1;--ivory:#f2e9df;--paper:#fffdfa;--soft:#f8f3ed;--line:#ded4c9;--muted:#6f6a64;--white:#fff;
  --blue-d:var(--ink);--blue-ink:var(--ink-2);--blue:var(--gold);--blue-soft:#edf2ef;--body:#26342e;--bg:#faf7f2;--lume-ink:var(--ink);--lume-gold:var(--gold);
  --f:'Montserrat',Arial,sans-serif;--r:18px;--shadow:0 22px 60px rgba(39,31,24,.08);--ease:cubic-bezier(.2,.8,.2,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--body);font-family:var(--f);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}button{color:inherit}.container{width:min(1180px,calc(100% - 42px));margin-inline:auto}main{min-height:65vh}h1,h2,h3,h4{color:var(--ink);line-height:1.08;margin-top:0}h1{font-size:clamp(3rem,6.5vw,6rem);letter-spacing:-.055em}h2{font-size:clamp(2rem,4.3vw,3.7rem);letter-spacing:-.045em}h3{font-size:1.35rem}.muted{color:var(--muted)}.mt1{margin-top:1rem}.center{text-align:center}.section{padding:clamp(4rem,8vw,7rem) 0}.soft{background:var(--ivory)}.eyebrow{display:inline-block;color:#946b24;font-size:.74rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.9rem}

.btn{display:inline-flex;justify-content:center;align-items:center;gap:.55rem;border:1px solid var(--ink);background:var(--brand);color:#fff;border-radius:999px;padding:.9rem 1.35rem;font-weight:700;font-size:.84rem;cursor:pointer;transition:.2s transform,.2s background,.2s border-color}.btn:hover{background:var(--brand-2);border-color:var(--brand-2);transform:translateY(-1px)}.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.btn--brand{background:var(--brand);border-color:var(--brand);color:#fff}.btn--ghost{background:transparent;color:var(--ink)}

/* Header */
.hdr{position:sticky;top:0;z-index:1000;background:rgba(242,233,223,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(112,95,78,.12);transition:box-shadow .2s}.hdr.scrolled{box-shadow:0 8px 28px rgba(44,35,26,.08)}.hdr>.container{height:80px;display:flex;align-items:center;gap:1.35rem}.logo{margin-right:auto;display:flex;align-items:center}.logo__img{width:auto;height:var(--logo-h,58px);max-width:150px;object-fit:contain}.brand-word{display:grid}.brand-name{font-size:1.4rem;font-weight:800;letter-spacing:.08em}.brand-sub{font-size:.5rem;letter-spacing:.25em}#nav{display:flex;align-items:center;gap:1.45rem;font-size:.78rem;font-weight:700}#nav>a,#nav .nav-group__btn{padding:.45rem 0;border:0;background:none;cursor:pointer;white-space:nowrap}#nav>a.on,#nav>a:hover,.nav-group__btn.on,.nav-group__btn:hover{color:var(--ink-2);box-shadow:inset 0 -2px var(--ink-2)}.nav-group{position:relative}.nav-group__menu{display:none;position:absolute;top:100%;left:0;min-width:200px;padding:.6rem;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.nav-group:hover .nav-group__menu,.nav-group.open .nav-group__menu{display:grid}.nav-group__menu a{padding:.65rem .8rem;border-radius:8px}.nav-group__menu a:hover{background:var(--soft)}.hdr__right{display:flex;align-items:center;gap:.55rem}.hdr-icon{width:34px;height:34px;display:grid;place-items:center;color:#708077}.hdr-icon svg{width:17px;height:17px}.hdr-langs,.nav-extras__langs{display:flex;gap:2px;padding:3px;background:#eef1ec;border:1px solid #d8ddd7;border-radius:6px}.hdr-langs a,.nav-extras__langs a{display:grid;place-items:center;padding:.24rem .38rem;border-radius:4px}.hdr-langs a.on,.nav-extras__langs a.on{background:#d8e9df}.lang-flag{width:23px;height:15px;object-fit:cover}.burger{display:none;border:0;background:none;font-size:1.5rem}.nav-extras{display:none}

/* Hero */
.hero-editorial{position:relative;overflow:hidden;background:linear-gradient(120deg,#f7efe5 0%,#f4eadf 60%,#efe3d5 100%);padding:clamp(5rem,9vw,8rem) 0}.hero-editorial__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);gap:clamp(3rem,6vw,7rem);align-items:center}.hero-editorial__lead{font-size:clamp(1rem,1.6vw,1.25rem);max-width:58ch;color:#506158}.hero-editorial__actions{display:flex;align-items:center;gap:1.2rem;margin-top:2rem}.hero-editorial__secondary{font-size:.85rem;font-weight:750;border-bottom:1px solid currentColor}.hero-editorial__note{display:flex;gap:.55rem;align-items:center;margin-top:1.2rem;color:#617168;font-size:.84rem}.hero-editorial__visual{min-height:500px;position:relative}.hero-editorial__frame{position:absolute;inset:30px 24px 0 30px;border-radius:34px;background:#decfbe;box-shadow:var(--shadow);overflow:hidden}.hero-editorial__frame img{width:100%;height:100%;object-fit:cover}.hero-editorial__badge{position:absolute;right:0;bottom:35px;background:#fff;padding:.7rem 1rem;border-radius:999px;font-size:.73rem;font-weight:700;box-shadow:var(--shadow)}.hero-editorial__orb{position:absolute;border-radius:50%;background:rgba(217,193,146,.4)}.hero-editorial__orb--a{width:170px;height:170px;right:-35px;top:-25px}.hero-editorial__orb--b{width:75px;height:75px;left:0;top:80px}

/* Services and text */
.svc__head{max-width:740px;margin:0 auto 2.5rem}.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.svc-card{display:flex;flex-direction:column;min-height:230px;border:1px solid var(--line);background:var(--paper);border-radius:24px;overflow:hidden;transition:.25s transform,.25s box-shadow}.svc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.svc-card__body{padding:1.7rem}.svc-card__body p{color:var(--muted)}.svc-card__link{font-size:.8rem;font-weight:700;color:#8b6523}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:center}.collage{min-height:340px;border-radius:28px;background:linear-gradient(145deg,#e5d7c8,#f6ede2);position:relative}.collage:empty:after{content:'LUMÉ';position:absolute;inset:0;display:grid;place-items:center;font-weight:800;letter-spacing:.18em;color:#b69a74;font-size:2rem}.phead{padding:4rem 0 3rem;background:var(--ivory)}.phead__lead{max-width:62ch;color:var(--muted);margin:-.2rem 0 1rem}.phead h1{font-size:clamp(2.5rem,5vw,4.4rem);margin-bottom:.8rem}.crumb{font-size:.78rem;color:var(--muted)}.crumb a{text-decoration:underline}.table-wrap{overflow-x:auto;margin-top:1.6rem;border:1px solid var(--line);border-radius:18px;background:#fff}.dtable{width:100%;border-collapse:collapse;min-width:520px}.dtable th{background:var(--ink);color:#fff;text-align:left;padding:.9rem 1.1rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.dtable td{padding:.85rem 1.1rem;border-bottom:1px solid var(--line)}.dtable tr:last-child td{border-bottom:0}.dtable tr:nth-child(even){background:#fcfaf7}.cta-strip{padding:3.2rem 0;background:var(--ink);color:#fff}.cta-strip>.container{display:flex;align-items:center;justify-content:space-between;gap:2rem}.cta-strip h2{color:#fff;margin:0;font-size:clamp(1.7rem,3vw,2.6rem)}.cta-strip .btn{background:var(--gold);border-color:var(--gold);color:#241b10}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.cinfo .row{display:grid;grid-template-columns:40px 1fr;gap:1rem;margin:1rem 0}.cinfo .ic{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ivory);color:var(--ink)}.cinfo .ic svg{width:17px;height:17px}.cinfo .k{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.field{display:grid;gap:.35rem;margin-bottom:1rem}.field label{font-size:.82rem;font-weight:700}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:.8rem .95rem}.field textarea{min-height:130px;resize:vertical}.map{display:block;width:min(1180px,calc(100% - 42px));height:360px;border:0;border-radius:24px;margin:0 auto 5rem}.alert{margin-top:1rem;padding:.8rem 1rem;border-radius:10px}.alert--ok{background:#edf5ef}.alert--err{background:#fff0ef}

/* Booking: separate-step flow */
.booking-studio{background:linear-gradient(180deg,#f6eee5,#fff)}.booking-studio__grid{display:grid;grid-template-columns:minmax(235px,.58fr) minmax(0,1.42fr);gap:clamp(2rem,5vw,5rem);align-items:start}.booking-studio__intro{position:sticky;top:110px}.booking-studio__intro h2{font-size:clamp(2.1rem,4vw,3.6rem);margin:.35rem 0 1rem}.booking-studio__intro p{color:var(--muted)}.booking-studio__note{margin-top:1rem;padding:1rem 1.1rem;border-left:3px solid var(--gold);background:rgba(255,255,255,.72);display:grid;gap:.12rem}.booking-studio__note span{font-size:.88rem;color:var(--muted)}.booking-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:clamp(1.1rem,3vw,2rem);box-shadow:var(--shadow);min-height:590px}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1.7rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}.booking-progress__item{display:flex;align-items:center;gap:.55rem;opacity:.45}.booking-progress__item span{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:800}.booking-progress__item small{font-size:.7rem;font-weight:700}.booking-progress__item.is-active,.booking-progress__item.is-done{opacity:1}.booking-progress__item.is-active span{background:var(--brand);color:#fff;border-color:var(--brand)}.booking-progress__item.is-done span{background:var(--gold-soft);border-color:var(--gold)}.booking-panel{animation:bookingIn .25s ease}.booking-panel[hidden]{display:none!important}@keyframes bookingIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}.booking-panel__head{margin-bottom:1.25rem}.booking-panel__head h3{font-size:1.55rem;margin:.3rem 0}.booking-panel__head p{margin:0;color:var(--muted);font-size:.9rem}.booking-back{border:0;background:none;padding:0;color:#7b6a55;font-weight:700;font-size:.76rem;cursor:pointer}.booking-service-group{margin:1.3rem 0}.booking-service-group h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#8b6523;margin-bottom:.65rem}.booking-services{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.booking-service{cursor:pointer}.booking-service input{position:absolute;opacity:0;pointer-events:none}.booking-service span{height:100%;display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;border:1px solid var(--line);border-radius:15px;padding:.9rem 1rem;background:#fff;transition:.18s}.booking-service strong{font-size:.83rem}.booking-service small{grid-column:1;font-size:.72rem;color:var(--muted)}.booking-service b{grid-row:1/3;grid-column:2;align-self:center;color:var(--gold);font-size:1.2rem}.booking-service:hover span,.booking-service input:focus-visible+span{border-color:var(--gold);background:#fffaf4;transform:translateY(-1px)}.booking-selected{padding:.75rem 1rem;background:var(--ivory);border-radius:12px;margin-bottom:1rem;font-size:.84rem;font-weight:700}.booking-date-row{display:grid;grid-template-columns:46px 1fr 46px;gap:.6rem}.booking-date-row input{border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem;background:#fff}.booking-arrow{border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.booking-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin-top:1rem}.booking-slot{border:1px solid var(--line);border-radius:12px;padding:.68rem .5rem;background:#fff;font-weight:700;cursor:pointer}.booking-slot:hover{border-color:var(--gold)}.booking-slot.is-selected{background:var(--brand);color:#fff;border-color:var(--brand)}.booking-slot.is-unavailable{opacity:.3;text-decoration:line-through;cursor:not-allowed}.booking-no-slots{grid-column:1/-1;color:var(--muted)}.booking-panel__actions{display:flex;justify-content:flex-end;margin-top:1.4rem}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.booking-fields label{font-size:.8rem;font-weight:700;display:grid;gap:.35rem}.booking-fields input,.booking-fields textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.82rem .95rem;background:#fff}.booking-fields label:last-child{grid-column:1/-1}.booking-fields textarea{resize:vertical}.booking-payment-options{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.booking-pay{cursor:pointer}.booking-pay input{position:absolute;opacity:0}.booking-pay span{display:block;border:1px solid var(--line);border-radius:16px;padding:1.05rem;min-height:105px}.booking-pay strong{display:block;font-size:.9rem}.booking-pay small{display:block;color:var(--muted);font-size:.72rem;margin-top:.4rem}.booking-pay input:checked+span{border-color:var(--gold);background:#fff9ef;box-shadow:0 0 0 2px rgba(200,160,90,.16)}.booking-summary{margin:1.2rem 0;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.booking-summary>strong{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#8b6523;margin-bottom:.35rem}.booking-submit{width:100%}.booking-message{padding:.9rem 1rem;border-radius:12px;background:#f4eee7;margin-top:1rem}.hp{position:absolute!important;left:-10000px!important}

/* Footer */
.foot{background:#15271f;color:#d9e0dc}.foot__simple{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;font-size:.78rem}.foot__legal{display:flex;align-items:center;gap:.7rem}.foot__legal a:hover{text-decoration:underline}.foot__dot{width:3px;height:3px;border-radius:50%;background:#91a199}

/* Consent */
#-consent{position:fixed;z-index:2000;left:20px;right:20px;bottom:20px;max-width:800px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.16);padding:1rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.-consent__msg{font-size:.8rem;color:var(--muted)}.-consent__msg a{text-decoration:underline;margin-left:.3rem}.-consent__btns{display:flex;gap:.5rem;flex-shrink:0}.-consent__btn{border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem;background:#fff;font-weight:700;font-size:.72rem;cursor:pointer}.-consent__btn--ok{background:var(--brand);border-color:var(--brand);color:#fff}
.reveal{opacity:0;transform:translateY(12px);transition:.5s opacity,.5s transform}.reveal.in{opacity:1;transform:none}

@media(max-width:900px){
  .hdr>.container{height:72px}.burger{display:block}.hdr__right{display:none}#nav{display:none;position:fixed;inset:72px 0 auto 0;background:#fff;padding:1rem 22px 1.5rem;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:.2rem;max-height:calc(100vh - 72px);overflow:auto}#nav.open{display:flex}#nav>a,#nav .nav-group__btn{padding:.8rem .3rem;text-align:left}.nav-group__menu{position:static;box-shadow:none;margin:.2rem 0 .5rem}.nav-extras{display:grid;gap:.8rem;margin-top:.6rem;padding-top:1rem;border-top:1px solid var(--line)}.nav-extras__contact{display:flex;align-items:center;gap:.5rem;font-size:.77rem}.nav-extras__contact svg{width:16px;height:16px}.nav-extras__langs{width:max-content}
  .hero-editorial__grid,.intro,.contact,.booking-studio__grid{grid-template-columns:1fr}.hero-editorial__visual{min-height:360px}.booking-studio__intro{position:static}.svc-cards{grid-template-columns:1fr}.cta-strip>.container{align-items:flex-start;flex-direction:column}.booking-services{grid-template-columns:1fr}.booking-payment-options{grid-template-columns:1fr}.booking-progress__item small{display:none}
}
@media(max-width:560px){.container{width:min(100% - 28px,1180px)}h1{font-size:clamp(2.7rem,15vw,4rem)}.hero-editorial{padding:4rem 0}.hero-editorial__actions{align-items:flex-start;flex-direction:column}.hero-editorial__visual{min-height:290px}.hero-editorial__frame{inset:20px 10px 0}.booking-card{border-radius:20px;padding:1rem}.booking-slots{grid-template-columns:repeat(3,1fr)}.booking-fields{grid-template-columns:1fr}.booking-fields label:last-child{grid-column:auto}.foot__simple{padding:1.3rem 0;align-items:flex-start;flex-direction:column;min-height:0}#-consent{flex-direction:column;align-items:stretch}.-consent__btns{justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.booking-panel{animation:none}}

.booking-return{margin:0 0 1rem;padding:.9rem 1rem;border-radius:14px;font-weight:700;line-height:1.45}
.booking-return.is-success{background:#e8f3ec;color:#24543f;border:1px solid #bdd9c8}
.booking-return.is-pending{background:#f7eedb;color:#765719;border:1px solid #e7d29e}

/* ==========================================================
   LUMÉ booking v3 — compact 3-step appointment flow
   ========================================================== */
.booking-page{background:linear-gradient(180deg,#f5ece2 0%,#faf7f2 100%);padding:26px 0 36px;min-height:calc(100vh - 80px)}
.booking-page__container{width:min(1460px,calc(100% - 42px))}
.booking-card--wide{min-height:0;width:100%;padding:22px 26px 26px;border-radius:24px;overflow:visible}
.booking-card__top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:12px}
.booking-card__top .eyebrow{margin-bottom:3px}.booking-card__top h1{font-size:clamp(1.85rem,3vw,3rem);margin:0;letter-spacing:-.045em}
.booking-hours{display:flex;align-items:flex-end;gap:18px;font-size:.78rem;color:var(--muted)}.booking-hours strong{color:var(--ink);font-size:.94rem}
.booking-card--wide .booking-progress{grid-template-columns:repeat(3,1fr);margin:0 0 14px;padding:0 0 12px}
.booking-card--wide .booking-progress__item{justify-content:center}.booking-card--wide .booking-progress__item span{width:28px;height:28px}
.booking-panel__head--compact{margin-bottom:8px}.booking-panel__head--compact h3{margin-bottom:2px}.booking-panel__head--compact p{font-size:.78rem}
.booking-service-groups{display:grid;gap:10px}.booking-service-group{margin:0}.booking-service-group h4{margin:0 0 6px;font-size:.7rem}
.booking-services--dense{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.booking-services--dense .booking-service span{min-height:57px;border-radius:12px;padding:8px 10px;gap:1px 7px;align-content:center}
.booking-services--dense .booking-service strong{font-size:.72rem;line-height:1.18}.booking-services--dense .booking-service small{font-size:.64rem;line-height:1.2}
.booking-services--dense .booking-service b{font-size:1rem}.booking-services--dense .booking-service:hover span{transform:none}
.booking-card--wide .booking-panel__head{margin-bottom:12px}.booking-card--wide .booking-panel__head h3{font-size:1.35rem;margin:.15rem 0}.booking-card--wide .booking-panel__head p{font-size:.8rem}
.booking-card--wide .booking-selected{margin-bottom:10px;padding:.65rem .85rem}
.booking-card--wide .booking-date-row{max-width:560px;margin:0 auto}.booking-slots--wide{grid-template-columns:repeat(8,1fr);gap:7px;margin-top:12px}
.booking-slots--wide .booking-slot{padding:.62rem .35rem;border-radius:10px;font-size:.78rem}.booking-card--wide .booking-panel__actions{margin-top:14px}
.booking-step3-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px;align-items:start}
.booking-card--wide .booking-fields{gap:10px}.booking-card--wide .booking-fields input,.booking-card--wide .booking-fields textarea{padding:.7rem .82rem;border-radius:10px}
.booking-card--wide .booking-fields textarea{min-height:72px}.booking-checkout{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:15px}.booking-checkout h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;color:#8b6523}
.booking-card--wide .booking-payment-options{gap:7px}.booking-card--wide .booking-pay span{min-height:auto;padding:.85rem;border-radius:12px;text-align:center}.booking-pay.is-disabled{opacity:.38;cursor:not-allowed}
.booking-card--wide .booking-summary{margin:10px 0;padding:.8rem}.booking-card--wide .booking-submit{min-height:44px}
.booking-card--wide .booking-message{margin:8px 0 0;font-size:.8rem}
@media(max-width:1080px){.booking-services--dense{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-slots--wide{grid-template-columns:repeat(6,1fr)}}
@media(max-width:760px){.booking-page{padding:16px 0 26px}.booking-card__top{align-items:flex-start;flex-direction:column}.booking-hours{align-items:flex-start}.booking-services--dense{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-slots--wide{grid-template-columns:repeat(4,1fr)}.booking-step3-grid{grid-template-columns:1fr}.booking-card--wide .booking-progress__item small{display:block;font-size:.61rem}}
@media(max-width:480px){.booking-page__container{width:min(100% - 18px,1460px)}.booking-card--wide{padding:15px}.booking-services--dense{grid-template-columns:1fr}.booking-slots--wide{grid-template-columns:repeat(3,1fr)}}
