/* MarisHair v2 — editorial luxury */
@font-face{font-family:"Cormorant";src:url(fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Manrope";src:url(fonts/manrope.woff2) format("woff2");font-weight:200 800;font-display:swap}

:root{
  --paper:#F6F1EA; --bone:#EFE7DC; --sand:#E2D6C6; --taupe:#8A7766; --mute:#6B5E53;
  --ink:#15110E; --espresso:#2B1E17; --espresso-2:#3A2A20;
  --line:rgba(21,17,14,.14); --line-l:rgba(246,241,234,.18);
  --serif:"Cormorant","Cormorant Garamond",Georgia,serif; --sans:"Manrope","Inter",system-ui,sans-serif;
  --pad:clamp(20px,4.2vw,64px); --maxw:1440px; --ease:cubic-bezier(.22,.7,.1,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
::selection{background:var(--espresso);color:var(--paper)}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:500}
.idx{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--taupe)}
.h-display{font-family:var(--serif);font-weight:300;letter-spacing:-.015em;line-height:.95}
.h-sec{font-family:var(--serif);font-weight:300;font-size:clamp(44px,6vw,92px);line-height:.98;letter-spacing:-.02em}
.h-sec em,.h-display em{font-style:italic;font-weight:300}
.lead{font-size:16px;line-height:1.7;color:var(--mute);max-width:44ch}

.btn{--bg:var(--ink);--fg:var(--paper);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;height:54px;padding:0 30px;background:var(--bg);color:var(--fg);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;overflow:hidden;isolation:isolate;transition:color .5s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:var(--espresso-2);transform:translateY(101%);transition:transform .55s var(--ease);z-index:-1}
.btn:hover::before{transform:none}
.btn .arr{display:inline-block;transition:transform .5s var(--ease)}
.btn:hover .arr{transform:translateX(5px)}
.btn--light{--bg:var(--paper);--fg:var(--ink)}
.btn--light::before{background:var(--sand)}
.btn--ghost{--bg:transparent;--fg:currentColor;border:1px solid currentColor}
.btn--ghost::before{background:currentColor;opacity:.08}
.link-u{position:relative;display:inline-flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;padding-bottom:6px}
.link-u::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .6s var(--ease)}
.link-u:hover::after{transform:scaleX(0)}
.link-u .arr{transition:transform .5s var(--ease)}
.link-u:hover .arr{transform:translateX(5px)}

#promoBar{position:relative;z-index:60;background:var(--ink);color:var(--sand);text-align:center;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;height:36px;display:flex;align-items:center;justify-content:center;padding:0 44px}
#promoBar.hidden{display:none}
#promoCloseBtn{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:18px;opacity:.6;color:var(--sand)}
#headerNav{position:absolute;top:36px;left:0;right:0;z-index:50;color:var(--paper);transition:background .5s var(--ease),color .5s var(--ease),transform .5s var(--ease)}
#headerNav.is-fixed{position:fixed;top:0;background:rgba(246,241,234,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);border-bottom:1px solid var(--line)}
#headerNav.is-hidden{transform:translateY(-100%)}
.hdr{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:84px;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.is-fixed .hdr{height:68px}
.nav{display:flex;gap:30px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.nav a{position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.nav a:hover::after{transform:scaleX(1)}
.logo{font-family:var(--serif);font-weight:400;font-size:34px;letter-spacing:.01em;line-height:1;text-align:center}
.logo small{display:block;font-family:var(--sans);font-size:8.5px;letter-spacing:.42em;text-transform:uppercase;font-weight:500;margin-top:6px;opacity:.8}
.hdr-r{display:flex;justify-content:flex-end;align-items:center;gap:26px;font-size:11px;letter-spacing:.16em;font-weight:500}
.langs{display:flex;gap:12px}
.lang-btn{font-size:11px;letter-spacing:.16em;opacity:.55;padding:4px 0;border-bottom:1px solid transparent}
.lang-btn.active{opacity:1;border-color:currentColor}
.hdr-r .btn{height:44px;padding:0 22px;--bg:var(--paper);--fg:var(--ink)}
.is-fixed .hdr-r .btn{--bg:var(--ink);--fg:var(--paper)}
.burger-btn{display:none;width:44px;height:44px;position:relative}
.burger-btn span{position:absolute;left:10px;right:10px;height:1px;background:currentColor}
.burger-btn span:nth-child(1){top:18px}.burger-btn span:nth-child(2){top:26px}

#drawerBackdrop{position:fixed;inset:0;background:rgba(21,17,14,.45);z-index:80;opacity:0;pointer-events:none;transition:opacity .5s}
#drawerPanel{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--paper);z-index:90;transform:translateX(100%);transition:transform .7s var(--ease);padding:28px 28px 40px;display:flex;flex-direction:column}
body.drawer-open #drawerBackdrop{opacity:1;pointer-events:auto}
body.drawer-open #drawerPanel{transform:none}
.drawer-top{display:flex;justify-content:space-between;align-items:center}
.drawer-nav{list-style:none;margin:48px 0 auto}
.drawer-nav a{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--serif);font-size:40px;font-weight:300;line-height:1.25;border-bottom:1px solid var(--line);padding:8px 0}
.drawer-nav a span{font-size:15px}

#hero{position:relative;height:100svh;min-height:720px;max-height:1000px;color:var(--paper);overflow:hidden;background:var(--espresso)}
.hero-media{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1.05fr 1fr}
.hero-media figure{position:relative;overflow:hidden}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:heroZoom 2.4s var(--ease) forwards}
.hero-media figure:nth-child(1) img{object-position:50% 70%}
.hero-media figure:nth-child(2) video,.hero-media figure:nth-child(2) img{object-position:center}
.hero-media figure:nth-child(3) img{object-position:45% 22%}
.hero-media figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,17,14,.4) 0%,rgba(21,17,14,.18) 38%,rgba(21,17,14,.62) 100%)}
.hero-media figure:nth-child(1)::after{background:linear-gradient(90deg,rgba(21,17,14,.72) 0%,rgba(21,17,14,.35) 70%,rgba(21,17,14,.2) 100%),linear-gradient(180deg,rgba(21,17,14,.25) 0%,rgba(21,17,14,.55) 100%)}
@keyframes heroZoom{to{transform:scale(1)}}
.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--pad) 72px;max-width:var(--maxw);margin:0 auto}
.hero-kicker{display:flex;align-items:center;gap:18px;margin-bottom:28px;opacity:0;animation:up .9s .2s var(--ease) forwards}
.hero-kicker .line{width:48px;height:1px;background:currentColor;opacity:.6}
.hero-title{font-size:clamp(64px,9.2vw,148px);max-width:12ch;opacity:0;animation:up 1s .35s var(--ease) forwards}
.hero-row{display:flex;flex-direction:column;align-items:flex-start;gap:28px;margin-top:36px;max-width:min(560px,52vw)}
.hero-copy{max-width:42ch;color:rgba(246,241,234,.82);opacity:0;animation:up .9s .55s var(--ease) forwards}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:up .9s .7s var(--ease) forwards}
.hero-scroll{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);writing-mode:horizontal-tb;font-size:10px;letter-spacing:.32em;text-transform:uppercase;opacity:.65;display:flex;align-items:center;gap:10px}
.hero-scroll::before,.hero-scroll::after{content:"";width:28px;height:1px;background:currentColor;opacity:.5}
@keyframes up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

.marquee{background:var(--bone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:18px 0}
.marquee-track{display:flex;gap:0;width:max-content;animation:marq 38s linear infinite}
.marquee-track span{font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:.04em;padding:0 28px;white-space:nowrap;color:var(--ink)}
.marquee-track span i{font-style:italic;color:var(--taupe);margin:0 8px}
@keyframes marq{to{transform:translateX(-50%)}}

.sec{padding:clamp(80px,12vw,160px) 0}
.sec-head{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:end;margin-bottom:clamp(40px,6vw,80px)}
.sec-head .lead{margin-top:18px}
.sec-meta{display:flex;flex-direction:column;gap:18px}

#showcase .svc-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.svc{position:relative;grid-column:span 4;min-height:320px;background:var(--espresso);overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;color:var(--paper)}
.svc:nth-child(1),.svc:nth-child(2){grid-column:span 6;min-height:440px}
.svc-media{position:absolute;inset:0;z-index:-2}
.svc-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);filter:brightness(.92)}
.svc::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,17,14,.15) 10%,rgba(21,17,14,.78) 100%);z-index:-1;transition:background .6s}
.svc:hover .svc-media img{transform:scale(1.06)}
.svc:hover::before{background:linear-gradient(180deg,rgba(21,17,14,.25) 0%,rgba(21,17,14,.88) 100%)}
.svc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.svc h3{font-family:var(--serif);font-weight:300;font-size:clamp(28px,2.6vw,40px);line-height:1.05;margin:16px 0 12px}
.svc p{font-size:14px;line-height:1.55;max-width:34ch;opacity:.85;margin-bottom:18px}
.svc .pillar-cta{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;display:inline-flex;gap:10px;border-bottom:1px solid currentColor;padding-bottom:4px}

#palette{background:var(--espresso);color:var(--paper);padding:clamp(80px,12vw,160px) 0;overflow:hidden}
#palette .sec-head{color:var(--paper)}
#palette .lead{color:rgba(246,241,234,.7)}
.palette-stage{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.palette-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:#1a120e}
.palette-photo img{width:100%;height:100%;object-fit:cover;transition:opacity .7s var(--ease),transform 1.2s var(--ease)}
.palette-photo img.is-out{opacity:0;transform:scale(1.04)}
.swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.swatch{text-align:left;padding:0;border:1px solid transparent;transition:border-color .4s,transform .4s}
.swatch.active{border-color:rgba(246,241,234,.55)}
.swatch:hover{transform:translateY(-2px)}
.swatch-dot{aspect-ratio:1;border-radius:50%;margin-bottom:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.swatch-name{font-family:var(--serif);font-size:22px;font-weight:400;line-height:1}
.swatch-hex{font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.55;margin-top:6px}
.palette-note{margin-top:28px;font-size:14px;color:rgba(246,241,234,.65);max-width:36ch}

#ba{padding:clamp(80px,12vw,160px) 0}
.ba-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.ba-slider{position:relative;aspect-ratio:1;overflow:hidden;cursor:ew-resize;user-select:none;touch-action:none;background:var(--bone)}
.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-slider .ba-after{clip-path:inset(0 0 0 var(--pos,50%))}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:var(--paper);transform:translateX(-50%);z-index:2}
.ba-handle::before{content:"";position:absolute;top:50%;left:50%;width:48px;height:48px;border:1px solid var(--paper);border-radius:50%;transform:translate(-50%,-50%);background:rgba(21,17,14,.35);backdrop-filter:blur(6px)}
.ba-handle::after{content:"← →";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;letter-spacing:.08em;color:var(--paper)}
.ba-labels{position:absolute;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;z-index:3;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--paper);text-shadow:0 1px 8px rgba(0,0,0,.4)}
.ba-copy .h-sec{margin:14px 0 22px}
.ba-copy .btn{margin-top:28px}

#calculator{background:var(--bone);padding:clamp(80px,12vw,140px) 0}
.calc-shell{display:grid;grid-template-columns:1fr 1fr;gap:48px;background:var(--paper);border:1px solid var(--line)}
.calc-form,.calc-result{padding:clamp(28px,4vw,56px)}
.calc-result{background:var(--espresso);color:var(--paper);display:flex;flex-direction:column}
.field{margin-bottom:28px}
.field label{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px;font-weight:500}
.field label span{font-family:var(--serif);font-style:italic;font-size:20px;letter-spacing:0;text-transform:none;font-weight:400}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg-btn,.calc-len-btn{min-width:64px;height:44px;padding:0 14px;border:1px solid var(--line);font-size:12px;letter-spacing:.08em;transition:background .3s,color .3s,border-color .3s}
.seg-btn.active,.calc-len-btn.active,.seg-btn:hover,.calc-len-btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.calc-range{width:100%;accent-color:var(--ink);height:2px}
select{width:100%;height:52px;padding:0 16px;border:1px solid var(--line);background:var(--paper);appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.calc-total{font-family:var(--serif);font-weight:300;font-size:clamp(48px,6vw,80px);line-height:.9;margin:18px 0 8px}
.calc-eur{opacity:.65;margin-bottom:28px}
.calc-breakdown{display:grid;gap:12px;border-top:1px solid var(--line-l);padding-top:22px;margin-top:auto;font-size:13px}
.calc-breakdown div{display:flex;justify-content:space-between;opacity:.85}
.calc-actions{display:grid;gap:12px;margin-top:32px}

#catalog .tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.tab-chip{height:42px;padding:0 18px;border:1px solid var(--line);font-size:11px;letter-spacing:.16em;text-transform:uppercase;transition:background .3s,color .3s}
.tab-chip.active,.tab-chip:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.catalog-card{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--paper);min-height:280px;padding:28px;transition:background .4s,color .4s,border-color .4s}
.catalog-card:hover{background:var(--espresso);color:var(--paper);border-color:var(--espresso)}
.catalog-card .price{font-family:var(--serif);font-size:28px;font-weight:400;margin-bottom:18px}
.catalog-card h3{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15;margin-bottom:12px}
.catalog-card p{font-size:13.5px;line-height:1.55;opacity:.75;margin-bottom:auto;padding-bottom:24px}
.catalog-card button{align-self:flex-start;margin-top:18px}

#gallery{padding-bottom:0}
.gal-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--pad) 40px;scrollbar-width:none}
.gal-rail::-webkit-scrollbar{display:none}
.gal-item{flex:0 0 min(72vw,420px);scroll-snap-align:start;position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--bone)}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.gal-item:hover img{transform:scale(1.05)}
.gal-item figcaption{position:absolute;left:18px;bottom:18px;right:18px;color:var(--paper);font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.gal-cta{display:flex;justify-content:center;padding:0 var(--pad) 80px}

#quality{background:var(--bone)}
.q-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.q-card{background:var(--bone);padding:36px 28px;min-height:260px}
.q-card .n{font-family:var(--serif);font-style:italic;font-size:28px;color:var(--taupe);margin-bottom:40px}
.q-card h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1;margin-bottom:14px}
.q-card p{font-size:14px;color:var(--mute);line-height:1.6}

#contact{padding-bottom:calc(clamp(80px,12vw,160px) + 70px)}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:28px;align-items:stretch}
.contact-card{border:1px solid var(--line);padding:36px;display:grid;gap:28px}
.contact-row{display:grid;gap:6px}
.contact-row .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe)}
.contact-row .v{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.2}
.contact-form{display:grid;gap:14px}
.contact-form input,.contact-form select{height:54px;padding:0 18px;border:1px solid var(--line);background:var(--paper)}
.contact-form .btn{width:100%}
.gmaps-panel{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);background:var(--paper);min-height:520px;overflow:hidden}
.gmaps-card{display:grid;gap:14px;padding:22px 24px;border-bottom:1px solid var(--line);background:var(--bone)}
.gmaps-card .gmaps-name{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.1}
.gmaps-card .gmaps-meta{font-size:13.5px;color:var(--mute);line-height:1.55}
.gmaps-card .gmaps-meta strong{color:var(--ink);font-weight:600}
.gmaps-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.gmaps-actions .btn{height:44px;padding:0 18px;font-size:10px}
.map-wrap{position:relative;min-height:380px;height:100%;overflow:hidden;background:var(--bone)}
.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.2) contrast(1.04) saturate(.92)}

.site-footer{background:var(--ink);color:var(--sand);padding:64px 0 40px}
.ft-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--line-l)}
.ft-brand .logo{text-align:left;color:var(--paper);font-size:42px}
.ft-brand p{margin-top:18px;max-width:32ch;opacity:.7;font-size:14px}
.ft-col h4{font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:18px;opacity:.55}
.ft-col a{display:block;padding:6px 0;font-size:14px;opacity:.85}
.ft-col a:hover{opacity:1}
.ft-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:28px;font-size:12px;opacity:.55}

#mobileBottomBar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(246,241,234,.92);backdrop-filter:blur(12px);border-top:1px solid var(--line);height:64px;padding:0 8px env(safe-area-inset-bottom);grid-template-columns:1fr 1fr 1fr}
#mobileBottomBar a,#mobileBottomBar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
#mobileBottomBar .ico{font-size:16px}

#bookingModal,#lightboxModal{position:fixed;inset:0;z-index:100;background:rgba(21,17,14,.55);display:none;align-items:center;justify-content:center;padding:24px}
#bookingModal.open,#lightboxModal.open{display:flex}
.modal{background:var(--paper);width:min(480px,100%);padding:36px;position:relative}
.modal-close{position:absolute;right:18px;top:14px;font-size:28px;opacity:.6}
.modal h3{font-family:var(--serif);font-weight:300;font-size:36px;margin-bottom:8px}
.modal p{color:var(--mute);margin-bottom:24px}
.modal form{display:grid;gap:12px}
.modal input,.modal select{height:52px;padding:0 16px;border:1px solid var(--line)}
#lightboxImg{max-width:min(90vw,900px);max-height:85vh;object-fit:contain}
#toastMsg{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--paper);padding:14px 22px;font-size:13px;opacity:0;pointer-events:none;z-index:120;transition:opacity .4s,transform .4s}
#toastMsg.show{opacity:1;transform:translateX(-50%) translateY(0)}

.reveal{opacity:0;transform:translateY(36px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in,.force-reveal .reveal{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}

@media (max-width:1100px){
  .catalog-grid{grid-template-columns:repeat(2,1fr)}
  .q-grid{grid-template-columns:1fr 1fr}
  .svc:nth-child(n){grid-column:span 6}
  .hero-media{grid-template-columns:1fr 1fr; }
  .hero-media figure:nth-child(3){display:none}
}
@media (max-width:860px){
  .nav,.hdr-r .nav-phone,.hdr-r .langs,.hdr-r .nav-cta-btn{display:none}
  .burger-btn{display:block}
  .hdr{grid-template-columns:1fr auto;height:72px}
  .logo{text-align:left;font-size:28px}
  .logo small{letter-spacing:.28em}
  #hero{min-height:640px;max-height:none;height:100svh}
  .hero-media{grid-template-columns:1fr}
  .hero-media figure:nth-child(1),.hero-media figure:nth-child(3){display:none}
  .hero-content{padding-bottom:110px}
  .hero-title{font-size:clamp(56px,14vw,84px)}
  .hero-scroll{display:none}
  .sec-head,.palette-stage,.ba-grid,.calc-shell,.contact-grid,.ft-top{grid-template-columns:1fr}
  .gmaps-panel{min-height:460px}
  .map-wrap{min-height:300px}
  .hero-row{max-width:100%}
  .hero-scroll{display:none}
  .svc:nth-child(n){grid-column:span 12;min-height:300px}
  .catalog-grid,.q-grid{grid-template-columns:1fr}
  #mobileBottomBar{display:grid}
  #contact{padding-bottom:calc(clamp(80px,12vw,160px) + 90px)}
  .swatches{grid-template-columns:repeat(3,1fr)}
}


/* --- v2.1 calculator / prices / ba --- */
.ba-carousel{display:flex;flex-direction:column;gap:14px}
.ba-slider{aspect-ratio:4/5;width:100%;max-width:520px}
.ba-nav{display:flex;gap:8px}
.ba-dot{width:8px;height:8px;border-radius:50%;background:var(--sand)}
.ba-dot.active{background:var(--ink)}
.ba-note{font-size:12px;color:var(--mute);max-width:42ch;line-height:1.5}
.calc-hint{font-size:12.5px;color:var(--mute);margin-top:10px;line-height:1.5}
.calc-rate{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--taupe);opacity:.9}
.calc-check{display:flex!important;align-items:center;gap:10px;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:500!important}
.calc-check input{width:16px;height:16px;accent-color:var(--ink)}
.calc-mix{display:grid;gap:10px;margin-top:12px}
.calc-mix-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.calc-mix-row select{flex:1}
.price-block{margin-bottom:48px}
.price-block-head{margin-bottom:18px}
.price-block-head h3{font-family:var(--serif);font-weight:400;font-size:32px;margin-bottom:8px}
.price-table-wrap{overflow-x:auto;border:1px solid var(--line)}
.price-table{width:100%;border-collapse:collapse;min-width:560px;background:var(--paper)}
.price-table th,.price-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.price-table thead th{font-size:11px;letter-spacing:.16em;text-transform:uppercase;background:var(--bone)}
.price-table tbody th{font-family:var(--serif);font-size:18px;font-weight:400}
.price-table td strong{display:block;font-family:var(--serif);font-size:20px;font-weight:400}
.price-table td small{display:block;margin-top:4px;font-size:11px;color:var(--mute)}
.price-table td.na{color:var(--sand)}
.price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:1100px){.price-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){
  .price-cards{grid-template-columns:1fr}
  .ba-slider{max-width:100%}
}

/* i18n fix: respect [hidden] on keratin controls */
#calcKeratinControls[hidden]{display:none !important}

/* Rich Google Maps place card (v2) */
.gmaps-card.gm-rich{display:grid;grid-template-columns:minmax(150px,34%) 1fr;gap:0;padding:0;background:var(--bone)}
.gm-photo{position:relative;display:block;min-height:100%;overflow:hidden;background:var(--sand)}
.gm-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;transition:transform 1.2s var(--ease)}
.gm-photo:hover img{transform:scale(1.04)}
.gm-photo-tag{position:absolute;left:12px;bottom:12px;background:rgba(21,17,14,.72);color:var(--paper);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;padding:6px 10px;backdrop-filter:blur(6px)}
.gm-body{display:grid;gap:14px;padding:22px 24px;align-content:start}
.gm-head{display:grid;gap:4px}
.gm-cat{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe)}
.gm-rating{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;width:max-content;max-width:100%;color:var(--ink)}
.gm-num{font-family:var(--serif);font-size:30px;line-height:1}
.gm-stars{position:relative;display:inline-block;font-size:17px;letter-spacing:2px;color:rgba(21,17,14,.18);line-height:1}
.gm-stars::before{content:"★★★★★";position:absolute;left:0;top:0;width:var(--pct,100%);overflow:hidden;white-space:nowrap;color:#C39A4E}
.gm-count{font-size:13px;color:var(--mute);border-bottom:1px solid var(--line);padding-bottom:1px;transition:color .3s,border-color .3s}
.gm-rating:hover .gm-count{color:var(--ink);border-color:var(--ink)}
.gm-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:13.5px;line-height:1.5;color:var(--mute)}
.gm-list li{display:grid;grid-template-columns:20px auto 1fr;gap:6px;align-items:baseline}
.gm-list a{color:var(--ink)}
.gm-ico{color:var(--taupe);font-size:14px;text-align:center}
.gm-k{color:var(--ink);font-weight:600}
.gm-open{font-weight:600}
.gm-open.is-open{color:#2F7D4F}
.gm-open.is-closed{color:#A2462F}
.gm-review{color:var(--ink)}
@media (max-width:1180px){.gmaps-card.gm-rich{grid-template-columns:1fr}.gm-photo{min-height:0;aspect-ratio:16/9}.gm-photo img{object-position:50% 40%}}
@media (max-width:860px){.gm-body{padding:20px 18px}.gm-list li{grid-template-columns:20px 1fr}.gm-list .gm-k{display:none}.gmaps-actions .btn{flex:1 1 auto}}

/* Swatches: modern round selected state (no rectangular outline) */
.swatch,.swatch:focus,.swatch.active{border:0 !important;outline:none !important;-webkit-tap-highlight-color:transparent;background:none}
.swatch{cursor:pointer;-webkit-appearance:none;appearance:none;transform:none}
.swatch:hover{transform:none}
.swatch-dot{transition:box-shadow .45s var(--ease),transform .45s var(--ease)}
.swatch-name,.swatch-hex{transition:opacity .4s var(--ease),color .4s var(--ease)}
.swatch-name{opacity:.78}
.swatch:hover .swatch-dot{transform:scale(1.02)}
.swatch.active .swatch-dot,.swatch:focus-visible .swatch-dot{transform:scale(1.03);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),0 0 0 4px var(--espresso),0 0 0 5px rgba(246,241,234,.72)}
.swatch.active .swatch-name{opacity:1;color:var(--paper)}
.swatch.active .swatch-hex{opacity:.8}
.swatch:focus:not(:focus-visible) .swatch-dot{outline:none}

/* new studio photo (replaces martini shot) */
.img-tresses{object-position:52% 22%}

/* ===== Footer v2 (premium) ===== */
.ft2{--gold:#C39A4E;background:var(--espresso);color:var(--sand);padding:clamp(64px,8vw,110px) 0 36px;position:relative;overflow:hidden}
.ft2::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(195,154,78,.55),transparent)}
.ft2 a{color:inherit}
.ft2-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,5vw,80px);align-items:end;padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid var(--line-l)}
.ft2-word{display:inline-block;font-family:var(--serif);font-weight:300;font-size:clamp(64px,9vw,136px);line-height:.9;letter-spacing:-.02em;color:var(--paper)}
.ft2-tag{margin-top:18px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.ft2-desc{margin-top:14px;max-width:44ch;font-size:15px;line-height:1.65;color:rgba(239,231,220,.72)}
.ft2-social{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ft2-svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto}
.ft2-ico{--brand:var(--paper);position:relative;display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid rgba(246,241,234,.28);color:var(--paper);isolation:isolate;overflow:hidden;transition:border-color .45s var(--ease),color .45s var(--ease),transform .45s var(--ease)}
.ft2-ico .ft2-svg{width:20px;height:20px}
.ft2-ico::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--brand);transform:scale(0);transition:transform .5s var(--ease);z-index:-1}
.ft2-ico:hover,.ft2-ico:focus-visible{transform:translateY(-2px);border-color:transparent;color:#fff;outline:none}
.ft2-ico:hover::before,.ft2-ico:focus-visible::before{transform:scale(1)}
.ft2-ico--wa{--brand:#25D366}
.ft2-ico--ig{--brand:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.ft2-ico--gm{--brand:#4285F4}
.ft2-ico--tel{--brand:var(--gold)}
.ft2-ico--mail{--brand:var(--gold)}
.ft2-cta{background:rgba(246,241,234,.04);border:1px solid var(--line-l);padding:clamp(24px,3vw,36px)}
.ft2-eyebrow{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.ft2-cta-title{margin-top:12px;font-family:var(--serif);font-weight:300;font-size:clamp(28px,2.6vw,38px);line-height:1.08;color:var(--paper)}
.ft2-cta-text{margin-top:10px;font-size:14px;color:rgba(239,231,220,.7)}
.ft2-cta-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ft2-cta-btns .btn{height:50px;padding:0 22px;font-size:10.5px}
.ft2-btn-wa{--bg:transparent;--fg:var(--paper);border:1px solid rgba(246,241,234,.4);gap:10px}
.ft2-btn-wa::before{background:#25D366}
.ft2-btn-wa:hover{--fg:#fff;border-color:#25D366}
.ft2-rating{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line-l)}
.ft2-rating-main{display:inline-flex;align-items:center;gap:10px;color:var(--paper)}
.ft2-g{width:18px;height:18px;opacity:.9}
.ft2-rnum{font-family:var(--serif);font-size:26px;line-height:1}
.ft2-stars{color:rgba(246,241,234,.2);font-size:15px}
.ft2-rcount{font-size:13px;color:rgba(239,231,220,.7);border-bottom:1px solid rgba(246,241,234,.25)}
.ft2-rating-main:hover .ft2-rcount{color:var(--paper);border-color:var(--paper)}
.ft2-review{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold);border-bottom:1px solid rgba(195,154,78,.5);padding-bottom:3px}
.ft2-review:hover{color:var(--paper);border-color:var(--paper)}
.ft2-cols{display:grid;grid-template-columns:1fr 1.2fr 1.5fr;gap:clamp(24px,4vw,64px);padding:clamp(40px,5vw,60px) 0}
.ft2-col summary{list-style:none;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:rgba(239,231,220,.55);margin-bottom:18px;cursor:default}
.ft2-col summary::-webkit-details-marker{display:none}
.ft2-links{display:grid;gap:2px}
.ft2-links a,.ft2-line{display:flex;align-items:center;gap:12px;padding:7px 0;font-size:14.5px;color:rgba(239,231,220,.86);transition:color .3s,transform .3s var(--ease)}
.ft2-links a:hover{color:var(--paper);transform:translateX(3px)}
.ft2-line .ft2-svg{width:16px;height:16px;color:var(--gold);opacity:.9}
.ft2-hours{align-items:flex-start}.ft2-hours .ft2-svg{margin-top:3px}
.ft2 .gm-open.is-open{color:#7BD199}.ft2 .gm-open.is-closed{color:#E59A82}
.ft2-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px 28px;flex-wrap:wrap;padding-top:26px;border-top:1px solid var(--line-l)}
.ft2-copy{font-size:12px;line-height:1.6;color:rgba(239,231,220,.55);max-width:80ch}
.ft2-bottom-r{display:flex;align-items:center;gap:18px}
.ft2-langs .lang-btn{color:rgba(239,231,220,.6);min-width:36px;min-height:36px}
.ft2-langs .lang-btn.active{color:var(--paper)}
.ft2-top{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(246,241,234,.3);color:var(--paper);transition:background .4s,color .4s,transform .4s var(--ease)}
.ft2-top:hover,.ft2-top:focus-visible{background:var(--paper);color:var(--ink);transform:translateY(-3px);outline:none}
@media (max-width:1000px){.ft2-hero{grid-template-columns:1fr;align-items:start}.ft2-cols{grid-template-columns:1fr 1fr}.ft2-col--contact{grid-column:1/-1}}
@media (max-width:860px){
  .ft2{padding:64px 0 calc(64px + env(safe-area-inset-bottom) + 28px)}
  .ft2-cols{grid-template-columns:1fr;gap:0;padding:24px 0}
  .ft2-col{border-bottom:1px solid var(--line-l)}
  .ft2-col summary{display:flex;justify-content:space-between;align-items:center;margin:0;padding:18px 0;min-height:56px;cursor:pointer;font-size:12px;color:var(--paper)}
  .ft2-col summary::after{content:"+";font-family:var(--serif);font-size:24px;font-weight:300;transition:transform .35s var(--ease);color:var(--gold)}
  .ft2-col[open] summary::after{transform:rotate(45deg)}
  .ft2-links{padding-bottom:16px}
  .ft2-links a,.ft2-line{min-height:44px;padding:10px 0}
  .ft2-col--contact{grid-column:auto}
  .ft2-cta-btns .btn{flex:1 1 140px}
  .ft2-bottom{flex-direction:column-reverse;align-items:flex-start}
  .ft2-bottom-r{width:100%;justify-content:space-between}
}
@media (hover:none){.ft2-ico:hover{transform:none}}

/* EUR headline + MDL secondary */
.catalog-card .price{display:grid;gap:4px}
.catalog-card .price .p-eur{font-family:var(--serif);font-size:30px;line-height:1.05}
.catalog-card .price .p-mdl{font-family:var(--sans);font-size:12px;letter-spacing:.04em;color:var(--mute);opacity:.85}
.calc-breakdown div{align-items:flex-start;gap:16px}
.calc-breakdown span em{display:block;font-style:normal;opacity:.6;font-size:11.5px;margin-top:2px}
.calc-breakdown strong{text-align:right;white-space:nowrap}
.calc-breakdown strong small{display:block;font-weight:400;opacity:.6;font-size:11.5px;margin-top:2px}
.calc-eur{font-size:15px;letter-spacing:.02em}
