/* Maison 1900 · Centered original-salon campaign · September 2026
   Layer order: content 0, sticky navigation 20, skip 50, native dialogs top layer. */
@font-face{font-family:MaisonSans;src:url('../assets/fonts/dm-sans.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:MaisonDisplay;src:url('../assets/fonts/libre-caslon-display.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#faf9f7;--white:#fff;--ink:#292523;--muted:#6d635e;--line:#ded9d5;--stone:#f0ece9;--rose:#d8bdb4;--blush:#eee5e1;--focus:#805b51;--error:#9a332d;--light-line:rgba(255,255,255,.3);--scrim-heavy:rgba(39,24,20,.67);--scrim-soft:rgba(39,24,20,.28);--scrim-clear:rgba(39,24,20,0);--backdrop:rgba(39,24,20,.6);--shadow:rgba(39,24,20,.12);--ease:cubic-bezier(.22,1,.36,1);--font:MaisonSans,Helvetica,sans-serif;--display:MaisonDisplay,Georgia,serif;--gutter:clamp(22px,4.5vw,78px);--section:clamp(70px,8vw,120px);--radius:0}
*{box-sizing:border-box}
html{scroll-behavior:auto;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 var(--font);overflow-x:clip}
body:has(dialog[open]){overflow:hidden}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{text-wrap:balance}
h1,h2{font-family:var(--display);font-weight:400;line-height:1.04;letter-spacing:-.025em}
h2{font-size:clamp(40px,4.8vw,70px)}
h3{font-size:17px;font-weight:500;line-height:1.4}
p{max-width:62ch}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
button,a{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%;height:auto}
address{font-style:normal}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
:focus-visible{outline:2px solid var(--focus);outline-offset:5px}
.visit :focus-visible,.footer :focus-visible{outline-color:var(--paper)}
[hidden]{display:none!important}
.js-only{display:none!important}
.js .js-only{display:flex!important}
.muted{color:var(--muted)}
.skip-link{position:fixed;top:-90px;left:20px;padding:12px 20px;background:var(--white);z-index:50}
.skip-link:focus{top:10px}
[id]{scroll-margin-top:175px}
.site-header{position:sticky;top:0;z-index:20;background:var(--white)}
.practical-bar{min-height:28px;display:flex;justify-content:center;align-items:center;gap:45px;background:var(--stone);font-size:11px;letter-spacing:.025em;font-variant-numeric:tabular-nums}
.brand-row{height:82px;padding:0 var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.wordmark{display:inline-flex;flex-direction:column;align-items:center;line-height:1;text-align:center;width:fit-content}
.wordmark>span{font-size:30px;font-weight:400;letter-spacing:.115em;white-space:nowrap}
.wordmark small{font-size:8px;letter-spacing:.23em;margin-top:10px}
.brand-row>.wordmark{grid-column:2;grid-row:1}
.header-location{font-size:12px;justify-self:start}
.header-actions{justify-self:end;grid-column:3;grid-row:1;display:flex;align-items:center;gap:10px}
.search-trigger{display:flex;align-items:center;gap:9px;font-size:12px;min-height:44px;padding:8px}
.icon-button{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:29px;line-height:1}
.menu-toggle,.mobile-phone,.js .menu-toggle{display:none!important}
.category-nav{height:47px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:0 var(--gutter);gap:46px}
.nav-categories{display:flex;align-items:center;gap:clamp(24px,3vw,44px);font-size:12px}
.nav-categories>a,.nav-disclosure>summary{padding:13px 0;white-space:nowrap}
.nav-disclosure>summary{list-style:none;cursor:pointer}
.nav-disclosure>summary::-webkit-details-marker{display:none}
.nav-disclosure>summary::after{content:'⌄';font-size:13px;margin-left:8px}
.nav-disclosure[open]>summary{box-shadow:inset 0 -1px var(--ink)}
.nav-appointment{font-size:11px;letter-spacing:.025em;padding:9px 0;border-bottom:1px solid var(--ink);white-space:nowrap;line-height:1}
.mega-menu{position:absolute;top:100%;left:0;right:0;padding:34px var(--gutter);background:var(--white);box-shadow:0 12px 20px var(--shadow);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}
.mega-menu>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.mega-menu p{font-size:16px;margin-bottom:8px}
.mega-menu a{font-size:13px}
.menu-feature{display:flex;align-items:center;gap:24px}
.menu-feature img{width:110px;height:130px;object-fit:cover}
.menu-feature span{font-size:16px;max-width:140px;line-height:1.5}

/* The original French work is a photographic atmosphere, not a fabricated salon. */
.hero{position:relative;isolation:isolate;height:calc(100svh - 157px);min-height:620px;max-height:940px;background:var(--stone);color:var(--ink);overflow:hidden;display:grid;place-items:center;text-align:center}
.hero-image{position:absolute;inset:-1px;z-index:-3;will-change:transform}
.hero-image video{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;filter:saturate(.8);transform-origin:50% 50%;display:block}
.hero-shade{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 46% 64% at 50% 50%,rgba(250,249,247,.42),rgba(250,249,247,.16) 72%,rgba(250,249,247,.04))}
.hero-copy{width:100%;padding:36px 24px 52px;display:flex;align-items:center;flex-direction:column}
.hero-logo{line-height:0}.hero-logo img{width:clamp(200px,17vw,270px);height:auto}
.hero-points{list-style:none;margin:30px 0 34px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 0;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.hero-points li+li::before{content:"·";margin:0 16px;color:var(--focus)}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:26px}
.hero-phone{font-size:12px;border-bottom:1px solid currentColor;padding:8px 0;line-height:1.3}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;max-width:100%;padding:14px 30px;border:1px solid var(--ink);background:var(--ink);color:var(--white);font-size:12px;font-weight:500;letter-spacing:.025em;line-height:1.4;white-space:nowrap;transition:background 180ms var(--ease),color 180ms var(--ease),transform 160ms var(--ease)}
.button-light{background:var(--white);border-color:var(--white);color:var(--ink)}
.button-outline{background:transparent;color:var(--ink)}
.text-link{font-size:12px;display:inline-block;position:relative;padding:4px 0 7px}
.text-link::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform 230ms var(--ease)}
.section{padding:var(--section) var(--gutter)}
.section-heading{text-align:center;margin:0 auto 58px}
.section-heading p{font-size:14px;color:var(--muted);margin:23px auto 0;max-width:48ch}

/* Centered original-film stage; no forced scrolling or generated room imagery. */
.film-section{text-align:center;padding-top:88px;padding-bottom:92px}
.film-heading{margin:0 auto 47px}
.film-heading h2{font-size:clamp(40px,4.3vw,63px)}
.film-heading p{font-size:14px;color:var(--muted);margin:22px auto 0}
.film-figure{width:min(100%,900px);margin:auto}
.film-zoom{transform-origin:50% 50%;will-change:transform}
.film-window{position:relative;aspect-ratio:720/406;overflow:hidden;background:var(--stone)}
.film-window video{width:100%;height:100%;display:block;object-fit:cover}
.film-figure figcaption{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);margin-top:17px}
.film-figure figcaption a{border-bottom:1px solid var(--line)}
.film-copy{margin:45px auto 0;max-width:560px}
.film-copy p{font-size:16px;line-height:1.9}
.film-copy .text-link{margin-top:22px}
.film-error{margin:20px auto;font-size:13px}
.film-error a{text-decoration:underline}
.media-curtain{position:absolute;inset:0;z-index:3;background:var(--paper);pointer-events:none}

/* One centered treatment family, not four boxed sales cards. */
.services{background:var(--stone);padding-top:83px;padding-bottom:68px}
.service-content{max-width:1320px;margin:auto}
.service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;text-align:center;align-items:start}
.treatment{position:relative}
.treatment summary{list-style:none;cursor:pointer;padding:18px 0 20px}
.treatment summary::-webkit-details-marker{display:none}
.treatment-name{display:block;font-family:var(--display);font-size:clamp(37px,3.6vw,52px);line-height:1.1;margin-bottom:19px}
.treatment h3{font-size:13px;font-weight:500;line-height:1.5}
.treatment summary>p{font-size:12px;color:var(--muted);line-height:1.65;margin:14px auto 22px}
.detail-link{font-size:11px;display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:6px}
.detail-link>span{font-size:18px;line-height:1;font-weight:300;transition:transform 180ms var(--ease)}
.treatment[open] .detail-link>span{transform:rotate(45deg)}
.treatment-body{padding:5px 10px 24px}
.treatment-body p{font-size:13px;line-height:1.8;margin:0 auto 13px}
.service-note{font-size:11px;margin:42px auto 0;text-align:center;color:var(--muted)}

/* A quiet lookbook with the work above its caption, as a campaign collection. */
.looks{padding-top:103px;padding-bottom:110px;max-width:1550px;margin:auto}
.filters{display:flex;justify-content:center;gap:34px;margin-bottom:42px}
.filters button{font-size:12px;padding:12px 0 8px;border-bottom:1px solid transparent}
.filters button[aria-pressed=true]{border-color:var(--ink)}
.look-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 34px;align-items:start;max-width:1240px;margin:auto}
.look-image{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--stone)}
.look-card-featured{grid-column:span 2}.look-card-featured .look-image{aspect-ratio:4/5}.look-card.square .look-image{aspect-ratio:1/1}.look-card.floral .look-image{aspect-ratio:5/6}.look-card.portrait .look-image{aspect-ratio:9/16}
.look-image img{height:100%;width:100%;object-fit:cover;object-position:50% 54%;transition:transform 650ms var(--ease)}
.look-caption{display:flex;justify-content:center;align-items:center;gap:17px;padding-top:25px;text-align:center}
.look-caption h3{font:400 clamp(26px,2.5vw,35px)/1.2 var(--display)}
.look-caption p{font-size:11px;color:var(--muted);margin-top:7px}
.look-plus{width:27px;height:27px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);font-size:18px;transition:background 160ms var(--ease),color 160ms var(--ease)}
.look-bottom{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:12px;margin-top:44px}
.look-bottom p{font-size:11px;color:var(--muted)}

/* User-supplied design study. Static and playable until scroll enhancement is ready. */
.design-story{background:#1b1716;color:var(--paper);padding:80px 0}
.design-stage{margin:auto;padding-inline:max(var(--gutter),calc((100% - 1160px)/2));display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:#1b1716}
.design-copy h2{font-size:clamp(54px,6.4vw,92px);line-height:.98}
.design-copy p{max-width:32ch;margin:27px 0 24px;font-size:15px;color:var(--stone)}
.design-fruits{display:flex;align-items:center;gap:10px;margin-top:25px;width:245px;max-width:90%;pointer-events:none}
.design-fruits img{width:48%;height:auto;aspect-ratio:1;object-fit:contain;mix-blend-mode:screen}
.motif-papaya{transform:rotate(-12deg)}.motif-dragonfruit{transform:rotate(11deg)}
.design-story :focus-visible{outline-color:var(--paper)}
.design-visual{position:relative;width:min(100%,500px);justify-self:center}
.design-video-frame{position:relative;z-index:1;aspect-ratio:3/4;background:var(--ink)}
.design-video-frame video{display:block;width:100%;height:100%;object-fit:contain}
.design-blossom{position:absolute;width:52%;height:auto;aspect-ratio:1;object-fit:contain;mix-blend-mode:screen;pointer-events:none;z-index:2}
.design-blossom-pink{left:-30%;top:0;transform:rotate(-15deg)}
.design-blossom-yellow{right:-27%;bottom:1%;width:46%;transform:rotate(12deg)}
.design-visual figcaption{text-align:center;font-size:10px;letter-spacing:.05em;color:var(--rose);padding-top:16px}
.design-motion-toggle{position:absolute;bottom:12px;left:12px;right:12px;min-height:42px;background:var(--paper);color:var(--ink);font-size:11px;padding:10px 12px;z-index:3}
.design-motion-toggle:focus-visible{outline-color:var(--ink)}
@media(hover:hover) and (pointer:fine){.design-motion-toggle:hover{background:var(--rose)}}
@media(prefers-reduced-motion:no-preference){
  .design-story.is-scroll-ready{height:200svh;padding-block:0}
  .is-scroll-ready .design-stage{position:sticky;top:157px;min-height:calc(100svh - 157px);padding-block:40px}
  .is-scroll-ready .design-visual{width:min(100%,500px,calc((100svh - 230px)*.75))}
}
@media(max-width:700px){
  .design-story{padding:58px 0 52px}
  .design-stage{grid-template-columns:1fr;gap:24px;text-align:center;padding-inline:34px}
  .design-copy h2{font-size:45px;line-height:1}.design-copy h2 br{display:none}
  .design-copy p{font-size:12px;line-height:1.65;max-width:31ch;margin:14px auto 9px}
  .design-copy .text-link{font-size:11px}
  .design-copy{position:relative}.design-fruits{position:absolute;left:-20px;top:-14px;justify-content:space-between;width:calc(100% + 40px);max-width:none;margin:0;gap:0}
  .design-fruits img{width:48px}.design-copy h2{padding-inline:9px}
  .design-visual{width:min(86%,350px)}
  .design-blossom-pink{width:44%;left:-23%;top:-3%}.design-blossom-yellow{width:40%;right:-22%;bottom:4%}
  .design-visual figcaption{font-size:9px;padding-top:12px}
  .design-motion-toggle{font-size:10px;left:8px;right:8px;bottom:8px;min-height:36px;padding:8px}
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
  .design-story.is-scroll-ready{height:175svh}
  .is-scroll-ready .design-stage{top:142px;min-height:calc(100svh - 203px);padding-block:22px;gap:18px}
  .is-scroll-ready .design-visual{width:min(86%,350px,calc((100svh - 400px)*.75))}
}
@media(max-height:650px){.design-story.is-scroll-ready{height:auto;padding-block:55px}.is-scroll-ready .design-stage{position:static;min-height:0;padding-block:0}.is-scroll-ready .design-visual{width:min(74%,290px)}}

/* One keyed hand, pinned while scroll progress drives the frame sequence; labels point to each nail. */
.nail-scene{--fig-h:min(calc(100svh - 250px),760px);padding:var(--section) var(--gutter) 90px}
.nail-scene-heading{margin-bottom:40px}
.nail-scene-stage{display:flex;align-items:center;justify-content:center;padding-block:30px}
.nail-scene-figure{position:relative;height:var(--fig-h);aspect-ratio:660/1120}
.nail-scene-figure img,.nail-scene-figure canvas{position:absolute;inset:0;width:100%;height:100%;-webkit-mask-image:linear-gradient(180deg,#000 84%,transparent);mask-image:linear-gradient(180deg,#000 84%,transparent)}
.nail-scene-figure canvas{display:none}
.nail-scene.is-scrubbing .nail-scene-figure canvas{display:block}
.nail-scene.is-scrubbing .nail-scene-figure img{visibility:hidden}
.nail-scene-lines{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:1}
.nail-scene-lines path{fill:none;stroke:var(--focus);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .8s var(--ease)}
.nail-scene-lines circle{fill:var(--paper);stroke:var(--focus);stroke-width:1;transition:opacity .4s var(--ease) .45s}
.nail-labels{list-style:none;margin:0;padding:0}
.nail-label{position:absolute;z-index:2;width:max-content;max-width:210px;line-height:1.15}
.nail-label span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--focus);margin-bottom:6px}
.nail-label strong{display:block;text-wrap:balance;font:400 clamp(19px,1.7vw,24px)/1.15 var(--display);letter-spacing:-.01em}
.nl-pinky,.nl-ring{right:calc(100% + 48px);text-align:right}
.nl-middle,.nl-index,.nl-thumb{left:calc(100% + 48px)}
.nl-ring{top:5%}.nl-pinky{top:25%}.nl-middle{top:-4%}.nl-index{top:12%}.nl-thumb{top:38%}
@media(prefers-reduced-motion:no-preference){
  .nail-scene.is-scrubbing .nail-scene-track{height:300svh}
  .nail-scene.is-scrubbing .nail-scene-stage{position:sticky;top:157px;height:calc(100svh - 157px);padding-block:0}
  .nail-scene.is-scrubbing .nail-label{opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .8s var(--ease)}
  .nail-scene.is-scrubbing .nail-label.is-on{opacity:1;transform:none}
  .nail-scene.is-scrubbing .nail-scene-lines g:not(.is-on) path{stroke-dashoffset:1}
  .nail-scene.is-scrubbing .nail-scene-lines g:not(.is-on) circle{opacity:0;transition-delay:0s}
}
.nail-hands-bottom{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:40px;text-align:center}
.nail-hands-bottom p{font-size:10px;letter-spacing:.05em;color:var(--muted)}
@media(max-width:700px){
  .nail-scene{--fig-h:min(calc(100svh - 330px),calc(58vw*1120/660));padding-bottom:64px}
  .nail-scene-heading{margin-bottom:24px}
  .nail-scene-stage{padding-top:96px}
  .nail-label{max-width:none}
  .nail-label span{font-size:8px;letter-spacing:.1em;margin-bottom:3px}
  .nail-label strong{font-size:15px}
  .nl-pinky,.nl-thumb{top:auto;width:calc((100vw - 58vw)/2 - 14px);max-width:120px}
  .nl-pinky{right:calc(100% + 8px);top:29%}
  .nl-thumb{left:calc(100% + 8px);right:auto;top:45%}
  .nl-ring{top:auto;bottom:calc(100% + 8px);right:62%;left:auto}
  .nl-index{top:auto;bottom:calc(100% + 8px);left:58%;right:auto}
  .nl-middle{top:auto;bottom:calc(100% + 58px);left:0;right:0;margin-inline:auto;text-align:center}
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
  .nail-scene.is-scrubbing .nail-scene-track{height:280svh}
  .nail-scene.is-scrubbing .nail-scene-stage{top:142px;height:calc(100svh - 203px);padding-top:70px}
}
@media(max-height:560px){.nail-scene.is-scrubbing .nail-scene-track{height:auto}.nail-scene.is-scrubbing .nail-scene-stage{position:static;height:auto}}

/* Verified Google summary and verbatim review excerpts only. */
.voices{background:var(--blush);padding-top:96px;padding-bottom:102px}
.voices .section-heading{margin-bottom:42px}.section-kicker{font-size:10px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--focus)!important;margin-bottom:16px!important}
.rating-overview{max-width:690px;margin:0 auto 66px;display:flex;align-items:center;justify-content:center;gap:23px;border-block:1px solid var(--line);padding:27px 12px;text-align:left}
.rating-number{font:400 clamp(53px,6vw,78px)/.9 var(--display);letter-spacing:-.06em}.rating-number span{font:400 20px/1 var(--font);letter-spacing:0;margin-left:4px;color:var(--muted)}
.rating-stars,.review-stars{color:var(--focus);font-size:15px;letter-spacing:.12em;line-height:1}.rating-overview p{font-size:11px;color:var(--muted);margin-top:7px}.rating-overview .text-link{margin-left:auto;font-size:11px}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;max-width:1060px;margin:auto}.review-quote{border-top:1px solid var(--ink);padding:24px 4px 0;display:flex;min-height:270px;flex-direction:column}.review-quote blockquote{font:400 clamp(29px,3.2vw,46px)/1.11 var(--display);letter-spacing:-.025em;margin:31px 0}.review-quote figcaption{display:flex;flex-direction:column;gap:3px;margin-top:auto;font-size:11px;color:var(--muted)}.review-quote figcaption strong{font-size:12px;font-weight:500;color:var(--ink)}

.maison{background:var(--blush);text-align:center;padding-block:95px}
.maison-intro{max-width:780px;margin:auto}
.maison-intro h2{font-size:clamp(46px,5.6vw,80px);line-height:1.07}
.maison-intro>p{font-size:15px;line-height:1.85;margin:27px auto 0;max-width:47ch}
.maison-intro>.guarantee{font-size:11px;margin:28px auto}
.questions{max-width:700px;margin:67px auto 0;text-align:left}
.questions>h3{text-align:center;font-size:15px;font-weight:500;margin-bottom:15px}
.questions details{border-bottom:1px solid var(--line)}
.questions summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:14px;padding:21px 0}
.questions summary::-webkit-details-marker{display:none}
.questions summary>span{font-size:20px;line-height:1.2}
.questions details p{font-size:13px;padding:0 25px 23px 0;max-width:none}
.questions details a{text-decoration:underline;text-underline-offset:3px}
.visit{background:var(--ink);color:var(--paper);text-align:center;padding-top:100px;padding-bottom:77px}
.visit-title h2{font-size:clamp(65px,7.6vw,110px);line-height:.96}
.visit-title{position:relative;max-width:1120px;margin-inline:auto;background:var(--ink)}
.visit-motif{position:absolute;width:clamp(100px,16vw,205px);height:auto;aspect-ratio:1;object-fit:contain;mix-blend-mode:screen;pointer-events:none}
.visit-shell{left:0;top:15%;transform:rotate(-12deg)}.visit-starfish{right:0;top:24%;transform:rotate(16deg)}
.visit-title .button{margin-top:34px;background:var(--paper);border-color:var(--paper);color:var(--ink)}
.visit-details{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;max-width:1060px;margin:76px auto 0;font-size:13px}
.visit-details h3{font-size:11px;letter-spacing:.04em;font-weight:400;margin-bottom:17px;color:var(--rose)}
.visit-details p{margin:auto}
.visit-details .text-link{margin-top:15px}
.visit-details>div:last-child>a{display:block;width:fit-content;margin:4px auto}
.visit .muted{color:var(--rose);font-size:11px;margin-top:8px}
.footer{background:var(--ink);color:var(--paper);padding:0 var(--gutter) 28px;text-align:center}
.footer-main{display:flex;flex-direction:column;align-items:center;border-top:1px solid var(--light-line);border-bottom:1px solid var(--light-line);padding:37px 0;gap:29px}
.footer .wordmark>span{font-size:31px}
.footer .footer-brand{gap:0}.maison-original-logo{width:178px;height:auto;object-fit:contain;margin-bottom:24px}
.footer nav{display:flex;gap:32px;font-size:11px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:23px;font-size:10px}
.footer-bottom>div{display:flex;gap:28px}
.demo-note{font-size:9px;color:var(--rose);max-width:1100px;margin:23px auto 0;line-height:1.75}

/* Native dialogs: keyboard focus, escape and fallback links stay intact. */
dialog{border:0;color:var(--ink);background:var(--paper);max-height:90svh;max-width:calc(100vw - 40px);padding:35px;border-radius:var(--radius)}
dialog:not([open]){display:none}
dialog::backdrop{background:var(--backdrop)}
.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}
.dialog-top h2{font-size:36px}
.dialog-top button{flex-shrink:0}
.search-dialog,.booking-dialog{width:660px}.booking-dialog{overflow:auto}
.search-dialog label{font-size:12px;display:block;margin-bottom:10px}
.search-dialog input{border:1px solid var(--line);background:var(--white);border-radius:0;font-size:16px;padding:14px;width:100%;color:var(--ink)}
.search-dialog input::placeholder{color:var(--muted)}
#search-results{padding-top:22px;min-height:160px}
#search-results a{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}
#search-results a span{font-size:11px;color:var(--muted);white-space:nowrap}
#search-results>p{font-size:13px;color:var(--muted)}
.search-info{display:flex;flex-wrap:wrap;gap:8px 23px;font-size:11px;border-top:1px solid var(--line);padding-top:18px;margin-top:28px;color:var(--muted)}
.look-dialog{padding:0;width:930px;overflow:auto}
.look-dialog-grid{display:grid;grid-template-columns:1fr 1fr}
.look-dialog-grid>img{width:100%;height:100%;min-height:510px;max-height:680px;object-fit:cover;background:var(--stone)}
.look-dialog-copy{padding:65px 38px 40px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.look-dialog-copy h2{font-size:42px;margin-bottom:22px}
.look-dialog-copy>p{font-size:14px;margin-bottom:20px}
.look-dialog-copy .button{font-size:10px;padding-inline:18px;margin:10px 0 20px;letter-spacing:.02em}
.look-dialog-copy .photo-credit{font-size:10px;color:var(--muted);line-height:1.6;margin:28px 0 0}.photo-source{font-size:10px;margin-top:12px}
.dialog-close{position:absolute;right:12px;top:12px;background:var(--white);z-index:1}
.booking-dialog>p{font-size:14px;color:var(--muted)}
.appointment-form{margin-top:25px}.appointment-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.appointment-grid label{font-size:12px;line-height:1.4;display:flex;flex-direction:column;gap:7px}.appointment-grid input,.appointment-grid select,.appointment-grid textarea{background:var(--white);border:1px solid var(--line);border-radius:0;padding:11px 12px;min-height:44px;resize:vertical}.appointment-grid textarea{min-height:90px}.appointment-grid .field-wide{grid-column:1/-1}.optional{font-size:10px;color:var(--muted);font-weight:400}.appointment-grid :is(input,select,textarea).is-invalid{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-privacy,.form-status{font-size:11px;line-height:1.65;color:var(--muted);margin-top:16px}.form-status{min-height:1.7em;color:var(--focus)}.appointment-form .button{margin-top:9px;white-space:normal;text-align:center}
.booking-channel{display:flex;flex-direction:column;padding:23px 0;border-bottom:1px solid var(--line)}
.booking-channel>span{font-size:11px;letter-spacing:.03em}
.booking-channel strong{font-weight:400;font-size:clamp(19px,2.1vw,25px);margin:5px 0;overflow-wrap:anywhere}
.booking-channel small{color:var(--muted);font-size:12px}
.booking-dialog .booking-note{font-size:12px;margin-top:24px;line-height:1.7}
.booking-phone{margin-top:27px;border-top:1px solid var(--line)}.booking-phone a{width:fit-content}
.mobile-contact-bar{display:none}
.legal-header .brand-row{border-bottom:1px solid var(--line)}
.legal-back{font-size:12px}
.legal-main{max-width:920px;margin:auto;padding:65px var(--gutter) 90px}
.legal-main h1{font-size:clamp(45px,5vw,65px);margin-bottom:25px}
.legal-main h2{font-size:32px;letter-spacing:-.02em;margin:35px 0 12px}
.legal-main h3{margin:25px 0 10px}
.legal-main p,.legal-main ul,.legal-main address{font-size:14px;line-height:1.8;margin-bottom:18px;max-width:70ch}
.legal-main a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-main .legal-notice{font-size:12px;background:var(--stone);padding:18px 20px;margin-bottom:35px}
.legal-main li{margin:8px 0}

@media(prefers-reduced-motion:no-preference){
  .js .hero-image video{animation:campaign-settle 3.8s var(--ease) both}
  .js [data-hero]{animation:campaign-title 1.35s var(--ease) both}
  .js .hero-points{animation-delay:.25s}
  .js .hero-actions{animation-delay:.55s}
  @keyframes campaign-settle{from{transform:scale(1.16)}to{transform:scale(1)}}
  @keyframes campaign-title{from{opacity:0;transform:translateY(42px)}to{opacity:1;transform:translateY(0)}}
}
button:active,.button:active{transform:scale(.97)}
@media(hover:hover) and (pointer:fine){
  .button:hover{background:var(--rose);border-color:var(--rose);color:var(--ink);transform:translateY(-2px)}
  .button-outline:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}
  .look-card a:hover img{transform:scale(1.055)}
  .look-card a:hover .look-plus{background:var(--ink);color:var(--white);border-color:var(--ink)}
  .text-link:hover::after{transform:scaleX(.65)}
  .nav-categories>a:hover,.mega-menu a:hover,.footer a:hover,.visit-details a:hover,.booking-channel:hover strong{text-decoration:underline;text-underline-offset:5px}
  .filters button:hover{border-color:var(--muted)}
  .treatment summary:hover .treatment-name{color:var(--focus)}
  .search-trigger:hover,.icon-button:hover{background:var(--stone)}
}
@media(max-width:1100px){
  .category-nav{gap:30px;padding-inline:25px}.nav-categories{gap:25px}
  .hero{min-height:580px}
  .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.treatment-name{font-size:43px}.treatment h3{font-size:12px}
  .look-grid{gap:24px}
}
@media(max-width:800px){
  .nav-categories{gap:22px;font-size:11px}.nav-appointment{display:none}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 30px}.treatment:last-child{grid-column:1/-1;max-width:310px;justify-self:center}
  .film-section{padding-top:65px}.film-heading{margin-bottom:35px}
  .look-grid{gap:18px}.look-caption{gap:10px}.look-caption h3{font-size:25px}
}
@media(max-width:700px){
  [id]{scroll-margin-top:158px}
  .practical-bar{height:auto;min-height:29px;padding:6px 12px;gap:3px 14px;font-size:10px;line-height:1.4;justify-content:center;flex-wrap:wrap}
  .practical-bar>a:last-child{display:none}
  .brand-row{height:76px;padding:0 13px;grid-template-columns:1fr auto 1fr}
  .wordmark>span{font-size:22px;letter-spacing:.07em}.wordmark small{font-size:6.7px;letter-spacing:.17em;margin-top:8px}
  .header-location{display:none}.js .menu-toggle{display:flex!important;grid-column:1;grid-row:1;justify-self:start;width:34px;min-width:34px}
  .mobile-phone{display:flex!important}.header-actions{gap:0}.header-actions .icon-button{width:30px;min-width:30px}
  .search-trigger{padding:5px;width:32px;justify-content:center}.search-trigger span{display:none}
  .header-actions svg,.menu-toggle svg{width:20px;height:20px}
  .category-nav{height:41px;min-height:41px;display:block;padding:0}
  .nav-categories{gap:25px;padding:0 22px;overflow-x:auto;scrollbar-width:none;font-size:12px;align-items:center}
  .nav-categories>a,.nav-disclosure>summary{padding:11px 0;line-height:1.6}.nav-categories>a{flex-shrink:0}
  .nav-disclosure>summary::after{font-size:11px;margin-left:5px}
  .mega-menu{display:block;padding:22px;max-height:calc(100svh - 150px);overflow:auto}
  .mega-menu>div{margin-bottom:25px;gap:10px}.mega-menu>div:last-of-type{margin-bottom:0}.menu-feature{display:none}
  .category-nav.is-open{height:auto}
  .category-nav.is-open .nav-categories{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px 22px 18px;max-height:calc(100svh - 195px);overflow-y:auto}
  .category-nav.is-open .nav-categories>a{font-size:15px;padding:13px 0;border-bottom:1px solid var(--line)}
  .category-nav.is-open .nav-disclosure>summary{font-size:15px;padding:13px 0}
  .category-nav.is-open .mega-menu{position:static;box-shadow:none;border:0;background:var(--stone);padding:20px;max-height:none}
  .category-nav.is-open .mega-menu p{font-size:13px}
  .category-nav.is-open .nav-appointment{display:block;background:var(--ink);color:var(--white);padding:16px 20px;margin:0 22px 22px;text-align:center;font-size:11px}
  .hero{height:calc(100svh - 146px);min-height:570px;max-height:900px}
  .hero-copy{padding:25px 22px 38px}.hero-logo img{width:clamp(170px,48vw,210px)}
  .hero-points{flex-direction:column;align-items:center;gap:9px;font-size:10px;margin:26px 0 30px}.hero-points li+li::before{content:none}
  .hero-actions{flex-direction:column;gap:14px}.hero-actions .button{font-size:11px;padding:14px 29px;min-height:47px}.hero-phone{font-size:11px}
  .hero-shade{background:radial-gradient(ellipse 95% 62% at 50% 50%,rgba(250,249,247,.42),rgba(250,249,247,.14) 80%,rgba(250,249,247,.04))}
  .section{padding:67px 23px}
  .film-heading{margin-bottom:31px}.film-heading h2{font-size:41px;max-width:330px;margin:auto}
  .film-heading p{font-size:13px;margin-top:19px}
  .film-figure figcaption{font-size:9px;gap:15px;margin-top:13px;text-align:left;align-items:start}
  .film-figure figcaption a{text-align:right;max-width:120px}
  .film-copy{margin-top:31px}.film-copy p{font-size:14px;line-height:1.9}.film-copy .text-link{font-size:11px;margin-top:19px}
  .section-heading{margin-bottom:38px}.section-heading h2{font-size:43px}.section-heading p{font-size:13px;margin-top:20px}
  .services{padding-top:61px;padding-bottom:55px}.service-grid{gap:25px 19px}
  .treatment-name{font-size:39px;margin-bottom:15px}.treatment h3{font-size:12px;min-height:36px;display:flex;align-items:center;justify-content:center}
  .treatment summary>p{font-size:11px;margin-top:9px;margin-bottom:18px}.detail-link{font-size:10px;gap:9px}
  .treatment-body{padding:0 0 20px}.treatment-body p{font-size:12px;line-height:1.75}.treatment-body .text-link{font-size:11px}
  .service-note{font-size:10px;margin-top:23px;max-width:250px}
  .filters{gap:27px;margin-bottom:31px}.filters button{font-size:11px}
  .look-grid{grid-template-columns:1fr 1fr;gap:33px 17px}.look-card:first-child,.look-card-featured{grid-column:1/-1}
  .look-card:first-child .look-image{aspect-ratio:4/4.5}.look-image{aspect-ratio:3/4}
  .look-caption{padding-top:17px;gap:8px}.look-caption h3{font-size:25px}.look-caption p{font-size:10px;line-height:1.5}
  .look-card:first-child h3{font-size:34px}.look-plus{display:none}
  .look-bottom{margin-top:31px;gap:9px}.look-bottom p{font-size:10px}.look-bottom .text-link{font-size:11px}
  .voices{padding-top:68px;padding-bottom:72px}.voices .section-heading{margin-bottom:30px}.rating-overview{align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:42px;padding:22px 0}.rating-overview .text-link{width:100%;margin:0}.review-grid{grid-template-columns:1fr;gap:28px}.review-quote{min-height:230px}.review-quote blockquote{font-size:34px;margin:25px 0}
  .maison-intro h2{font-size:48px}.maison-intro>p{font-size:14px;margin-top:24px}.maison-intro>.guarantee{font-size:11px;max-width:240px;margin-block:27px}
  .questions{margin-top:49px}.questions summary{font-size:13px;padding-block:19px}.questions details p{font-size:13px}
  .visit{padding-top:71px;padding-bottom:60px}.visit-title h2{font-size:70px}.visit-title .button{margin-top:31px}
  .visit-title{padding-top:70px}.visit-motif{width:70px;top:-13px}.visit-shell{left:calc(50% - 93px)}.visit-starfish{right:calc(50% - 93px)}
  .maison-original-logo{width:148px;margin-bottom:22px}
  .visit-details{grid-template-columns:1fr;gap:30px;margin-top:49px;font-size:13px}.visit-details h3{margin-bottom:11px}
  .footer{padding:0 24px 24px}.footer-main{gap:29px;padding:30px 0}.footer .wordmark>span{font-size:27px}
  .footer nav{gap:22px;font-size:11px;flex-wrap:wrap;justify-content:center}
  .footer-bottom{font-size:10px;flex-direction:column;align-items:center;gap:17px}.footer-bottom>div{gap:23px}
  .demo-note{font-size:9px;line-height:1.7;margin-top:23px}
  dialog{padding:25px;max-width:calc(100vw - 24px);max-height:88svh}
  .dialog-top{gap:12px;margin-bottom:23px}.dialog-top h2{font-size:31px;line-height:1.1}.dialog-top .icon-button{min-width:30px;width:30px}
  .search-dialog input{font-size:16px;padding:12px}.search-dialog label{font-size:12px}
  #search-results a{font-size:14px}#search-results a span{font-size:10px}.search-info{font-size:10px;gap:8px 17px}
  .look-dialog{max-width:calc(100vw - 24px);padding:0}.look-dialog-grid{display:block}.look-dialog-grid>img{height:330px;min-height:0;max-height:none;object-position:50% 55%}
  .look-dialog-copy{padding:30px 25px}.look-dialog-copy h2{font-size:37px;margin-bottom:18px}.look-dialog-copy>p{font-size:14px}
  .look-dialog-copy .button{font-size:10px;padding:12px 15px;white-space:normal;text-align:center}
  .appointment-grid{grid-template-columns:1fr;gap:14px}.appointment-grid .field-wide{grid-column:auto}.appointment-form .button{width:100%;padding-inline:16px}.booking-channel{padding:21px 0}.booking-channel strong{font-size:20px}.booking-channel small{font-size:11px}
  body{padding-bottom:61px}.mobile-contact-bar{position:fixed;left:0;right:0;bottom:0;z-index:19;display:grid;grid-template-columns:1fr 1.35fr;background:var(--paper);box-shadow:0 -8px 26px var(--shadow);border-top:1px solid var(--line)}.mobile-contact-bar a{min-height:60px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;letter-spacing:.02em}.mobile-contact-bar a:first-child{border-right:1px solid var(--line)}.mobile-contact-bar a:last-child{background:var(--ink);color:var(--paper)}
  .legal-header .brand-row{height:88px}.legal-header .wordmark>span{font-size:20px}.legal-back{font-size:10px}
  .legal-main{padding:42px 22px 65px}.legal-main p,.legal-main ul,.legal-main address{font-size:13px}.legal-main h2{font-size:29px}.legal-main .legal-notice{font-size:11px;padding:15px}
}
@media(max-width:360px){
  .brand-row{padding-inline:9px}.wordmark>span{font-size:19px;letter-spacing:.055em}.wordmark small{font-size:5.8px}
  .header-actions .icon-button{width:27px;min-width:27px}.search-trigger{width:29px}
  .hero{min-height:540px}.hero-copy{padding-inline:17px}
  .section{padding-inline:20px}.section-heading h2{font-size:39px}.film-heading h2{font-size:38px}
  .treatment-name{font-size:35px}.treatment h3{font-size:11px}.detail-link{font-size:9px;gap:7px}
  .look-caption h3{font-size:23px}.look-caption p{font-size:9px}.maison-intro h2{font-size:43px}
  .booking-channel strong{font-size:18px}.legal-header .wordmark>span{font-size:17px}.legal-back{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-image,.hero-image video,.film-zoom,.look-card a:hover img,button:active,.button:active{transform:none!important}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
