:root{
  --visual-gold:#c8a870;
  --visual-espresso:#17130f;
  --visual-paper:#f4f1eb;
  --visual-line:rgba(120,91,55,.25);
}

.hero-photo picture,.maison-photo picture,.treatment-image picture{display:block;width:100%;height:100%}
.hero-photo picture img,.maison-photo picture img,.treatment-image picture img{display:block;width:100%;height:100%;object-fit:cover}
.hero-carousel{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.35s ease;z-index:0}
.hero-slide.is-active{opacity:1;z-index:1}
.hero-photo .hero-slide img{animation:none}
.hero-photo .hero-slide--rose img{object-position:center center}
.hero-photo .hero-slide--regard img{object-position:center 48%}
.hero-photo .photo-shade{z-index:2;pointer-events:none}
.hero-copy,.hero-side,.scroll-link,.hero-index{z-index:3}
.hero{background:#3b291b}
.hero-photo img{filter:brightness(.96) saturate(.94)}
.hero-photo .photo-shade{background:linear-gradient(90deg,rgba(48,29,16,.78) 0%,rgba(66,42,23,.48) 31%,rgba(66,42,23,.08) 67%),linear-gradient(0deg,rgba(47,30,18,.66),transparent 45%,rgba(101,72,40,.2))}
.hero .eyebrow{color:#efd3a8;text-shadow:0 1px 18px rgba(35,20,10,.62)}
.hero h1>span:not(.hero-last),.hero h1 em{color:#fff8ee;text-shadow:0 2px 34px rgba(25,14,7,.52)}
.hero .hero-last{color:#e0b77f;text-shadow:0 2px 28px rgba(25,14,7,.52)}
.hero-copy p{color:#fff3e4;text-shadow:0 1px 20px rgba(25,14,7,.7)}
.signature-strip{background:linear-gradient(105deg,#5b4029 0%,#745438 52%,#4c3423 100%);color:#f2e4cf;border-bottom:1px solid rgba(232,200,151,.38)}
.signature-strip em,.signature-strip a{color:#f2d4a8}

.realisations{background:#eee7dc}
.realisations-head{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:48px}
.realisations-head h2,.expertise-visuals h2{font-size:clamp(58px,6vw,88px);line-height:.96;letter-spacing:-2.4px}
.realisations-head>div:last-child{max-width:430px}
.realisations-head p{color:#65594d;line-height:1.85;margin-bottom:18px}
.realisations-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:220px;gap:16px}
.realisation-card{position:relative;overflow:hidden;border:0;padding:0;background:#211a15;color:#fff;text-align:left;cursor:zoom-in;min-height:0}
.realisation-card:nth-child(1){grid-column:span 5;grid-row:span 2}
.realisation-card:nth-child(2){grid-column:span 3}
.realisation-card:nth-child(3){grid-column:span 4}
.realisation-card:nth-child(4){grid-column:span 4}
.realisation-card:nth-child(5){grid-column:span 3}
.realisation-card picture,.realisation-card img{display:block;width:100%;height:100%}
.realisation-card img{object-fit:cover;filter:saturate(.78) brightness(.9);transition:transform .9s cubic-bezier(.16,1,.3,1),filter .7s}
.realisation-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#130f0cbd,transparent 54%);pointer-events:none}
.realisation-card>span{position:absolute;z-index:1;left:22px;right:22px;bottom:20px;font:29px/1.05 "Cormorant Garamond",serif}
.realisation-card small{display:block;margin-bottom:7px;color:#e5d0ad;font:9px/1.3 Manrope,sans-serif;letter-spacing:1.8px;text-transform:uppercase}
.realisation-card:hover img,.realisation-card:focus-visible img{transform:scale(1.055);filter:saturate(1) brightness(.95)}
.realisation-card:focus-visible{outline:3px solid var(--visual-gold);outline-offset:3px}
.realisations-note{display:flex;justify-content:space-between;gap:40px;margin-top:28px;padding-top:24px;border-top:1px solid var(--visual-line);color:#6d6052;font-size:13px}

.expertise-visuals{background:var(--visual-paper)}
.expertise-visuals>.section-heading{align-items:flex-end}
.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.expertise-card{display:flex;flex-direction:column;min-width:0;border-top:1px solid var(--visual-gold);padding-top:15px}
.expertise-media{height:460px;background:#e4d8c9;overflow:hidden;display:flex;align-items:center;justify-content:center}
.expertise-media img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.expertise-card:hover img{transform:scale(1.02)}
.expertise-number{margin:22px 0 9px;color:#765630;font-size:11px;letter-spacing:1.6px}
.expertise-card h3{font:34px/1.05 "Cormorant Garamond",serif;margin:0 0 12px}
.expertise-card p{color:#706459;line-height:1.75;margin-bottom:16px}
.expertise-card .underlink{margin-top:auto;align-self:flex-start}

.gallery-dialog{width:min(900px,94vw);max-height:94dvh;padding:0;background:#17130f;color:#f5eee4;border:1px solid #c8a87055}
.gallery-dialog::backdrop{background:#100c09e8;backdrop-filter:blur(8px)}
.gallery-dialog .dialog-head{background:#17130f;border-color:#c8a87044}
.gallery-dialog .close{color:#f5eee4;border-color:#c8a87066}
.gallery-dialog figure{margin:0;padding:22px}
.gallery-dialog img{display:block;max-width:100%;max-height:76dvh;margin:auto;object-fit:contain}
.gallery-dialog figcaption{padding:18px 2px 2px;color:#d6c4ae;font-size:13px;letter-spacing:.3px}

.treatment-image.visual-poster{background:#d4b496}
.treatment-image.visual-poster img{object-fit:contain;filter:none}
#site-header>.btn{flex-shrink:0}

.home-catalogue{margin-top:82px;padding:clamp(34px,5vw,68px);background:var(--visual-espresso);color:#f5ede1;box-shadow:0 24px 70px #2a1b0d1a}
.home-catalogue__intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.7fr);align-items:end;gap:70px;padding-bottom:38px;border-bottom:1px solid #d5b7833d}
.home-catalogue__intro .eyebrow{color:#d9bc8c}
.home-catalogue__intro h3{margin-top:17px;font-size:clamp(43px,5vw,69px);line-height:.96;letter-spacing:-1.7px}
.home-catalogue__intro h3 em{color:#d9bc8c}
.home-catalogue__intro p{color:#cbbdab;font-size:15px;line-height:1.8}
.home-catalogue__tools{display:flex;align-items:end;gap:24px;margin:34px 0 12px}
.home-catalogue__tools label{display:grid;gap:9px;flex:1;color:#c9b99f;font:11px/1.4 Manrope,sans-serif;letter-spacing:1.2px;text-transform:uppercase}
.home-catalogue__tools input{width:100%;min-height:51px;padding:13px 2px;border:0;border-bottom:1px solid #d5b78373;border-radius:0;background:transparent;color:#fff;font:17px/1.3 Manrope,sans-serif;text-transform:none;letter-spacing:0}
.home-catalogue__tools input::placeholder{color:#a89b8a}
.home-catalogue__tools input:focus{outline:0;border-bottom-color:#e3c794}
.home-catalogue__expand{min-height:51px;padding:0 4px 0 20px;border:0;border-left:1px solid #d5b78373;background:transparent;color:#f5ede1;font:12px/1 Manrope,sans-serif;letter-spacing:.5px;white-space:nowrap}
.home-catalogue__expand span{display:inline-block;margin-left:17px;color:#d9bc8c;font-size:18px}
.home-catalogue__summary{margin:16px 0 25px;color:#a99b89;font:11px/1.4 Manrope,sans-serif;letter-spacing:1.15px;text-transform:uppercase}
.home-catalogue__list{display:grid;gap:42px;border-top:1px solid #d5b7832e}
.home-catalogue__category{padding-top:31px}
.home-catalogue__category-head{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:end;gap:17px;margin-bottom:13px;padding-bottom:18px;border-bottom:1px solid #d5b78357}
.home-catalogue__category-head>span{color:#d9bc8c;font:10px/1 Manrope,sans-serif;letter-spacing:1.2px}
.home-catalogue__category-head h4{color:#f7efe2;font:400 34px/1 "Cormorant Garamond",serif}
.home-catalogue__category-head p{color:#aa9b88;font:10px/1.4 Manrope,sans-serif;letter-spacing:.8px;text-align:right;text-transform:uppercase}
.home-catalogue__category-families{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}
.home-catalogue__family{border-bottom:1px solid #d5b7832e}
.home-catalogue__family summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:70px;padding:15px 2px;list-style:none;cursor:pointer;color:#f5ede1;font:25px/1.05 "Cormorant Garamond",serif}
.home-catalogue__family summary::-webkit-details-marker{display:none}
.home-catalogue__family summary span{display:flex;align-items:center;gap:13px}
.home-catalogue__family summary small{min-width:24px;color:#b99867;font:10px/1 Manrope,sans-serif;letter-spacing:1px}
.home-catalogue__family summary>b{display:grid;place-items:center;width:29px;height:29px;border:1px solid #c5a7755e;border-radius:50%;color:#cbb18a;font:10px/1 Manrope,sans-serif}
.home-catalogue__family summary:after{content:"+";order:2;color:#cbb18a;font:22px/1 Manrope,sans-serif;font-weight:300}
.home-catalogue__family summary>b{order:3}
.home-catalogue__family[open] summary:after{content:"−"}
.home-catalogue__services{padding:0 0 22px 37px}
.home-catalogue__service{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #fff0df12}
.home-catalogue__service:last-child{border-bottom:0}
.home-catalogue__service>div{display:grid;gap:5px;min-width:0}
.home-catalogue__service strong{font:500 13px/1.45 Manrope,sans-serif;color:#f5ede1}
.home-catalogue__service span,.home-catalogue__service small{color:#a99c8a;font:10px/1.5 Manrope,sans-serif;letter-spacing:.35px}
.home-catalogue__service small{color:#b99867}
.home-catalogue__service>b{flex:0 0 auto;color:#dfc596;font:500 12px/1.45 Manrope,sans-serif;white-space:nowrap}
.home-catalogue__service.is-variant{padding-left:15px;border-left:1px solid #c5a77542}
.home-catalogue__empty{grid-column:1/-1;margin:25px 0;padding:28px;border:1px dashed #d5b7835c;color:#cbbdab;text-align:center}
.home-catalogue__footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:38px;padding-top:30px;border-top:1px solid #d5b7833d}
.home-catalogue__footer p{color:#cbbdab}
.home-catalogue__footer .btn{background:#e5ceb0;border-color:#e5ceb0;color:#231a13;white-space:nowrap}

.maison-gallery{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(150px,.82fr);grid-template-rows:245px 245px;gap:12px;padding-bottom:0}
.maison-gallery__item{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;background:#2a2018}
.maison-gallery__item--main{grid-row:1/3}
.maison-gallery .maison-gallery__item picture{height:100%}
.maison-gallery .maison-gallery__item img{height:100%;filter:saturate(.82) brightness(1.02);transition:transform .8s ease,filter .8s ease}
.maison-gallery__item:hover img{transform:scale(1.025);filter:saturate(.96) brightness(1.04)}
.maison-gallery__item figcaption{position:absolute;right:12px;bottom:12px;max-width:calc(100% - 24px);padding:9px 12px;background:rgba(78,54,35,.88);color:#fff4e3;font:9px/1.35 Manrope,sans-serif;letter-spacing:1px;text-align:right;text-transform:uppercase;backdrop-filter:blur(7px)}

.reviews{background:#ebe3d8;color:#231b15;border-top:1px solid var(--visual-line)}
.reviews__heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:55px;padding-bottom:45px;border-bottom:1px solid var(--visual-line)}
.reviews__heading h2{font-size:clamp(58px,6.5vw,92px);line-height:.93;letter-spacing:-2.3px}
.reviews__heading h2 em{color:#9b7445}
.reviews__rating{display:flex;align-items:flex-end;gap:20px;padding-bottom:8px}
.reviews__rating>strong{font:clamp(76px,8vw,118px)/.72 "Cormorant Garamond",serif;letter-spacing:-5px;color:#2a2017}
.reviews__rating>span{display:grid;gap:8px;min-width:170px;color:#6c5b48;font:12px/1.5 Manrope,sans-serif}
.reviews__rating b{color:#ad8250;font-size:14px;letter-spacing:4px}
.reviews__body{display:grid;grid-template-columns:minmax(230px,.58fr) minmax(0,1.42fr);gap:26px;margin-top:38px}
.reviews__scores{padding:12px 27px;background:#211a15;color:#f3eadd}
.reviews__scores>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #d0b27e30}
.reviews__scores>div:last-child{border-bottom:0}
.reviews__scores span{color:#c9baa6;font:11px/1.45 Manrope,sans-serif;letter-spacing:.5px}
.reviews__scores strong{color:#e2c697;font:28px/1 "Cormorant Garamond",serif;font-weight:500}
.reviews__quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#c9b9a5}
.reviews__quotes blockquote{display:flex;flex-direction:column;justify-content:space-between;min-height:230px;margin:0;padding:30px 27px;background:#f6f1e9}
.reviews__quotes blockquote:before{content:"“";color:#b58b59;font:58px/.65 "Cormorant Garamond",serif}
.reviews__quotes p{color:#392d23;font:italic 26px/1.22 "Cormorant Garamond",serif}
.reviews__quotes cite{display:block;margin:28px 0 0;padding:0;color:#8a7761;font:normal 9px/1.5 Manrope,sans-serif;letter-spacing:1.2px;text-transform:uppercase}
.reviews__footer{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:30px;padding-top:25px;border-top:1px solid var(--visual-line)}
.reviews__footer p{font-size:13px;color:#776855}
.reviews__footer .underlink{white-space:nowrap;color:#4f3b28}

@media(max-width:1000px){
  .realisations-head{gap:35px}
  .realisations-grid{grid-auto-rows:190px}
  .expertise-media{height:390px}
  .home-catalogue__intro{gap:35px}
  .home-catalogue__category-families{grid-template-columns:1fr}
  .reviews__body{grid-template-columns:1fr}
}

@media(min-width:701px) and (max-width:1180px){
  #site-header nav{display:none}
  #site-header .menu-toggle{display:flex;gap:13px;align-items:center;margin-left:auto;padding:10px;border:0;background:none;color:#fff;font-size:14px}
  #site-header .menu-toggle span{font-size:18px}
  #menu-drawer{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(520px,100vw);background:#191410;color:#eee0c9}
  #menu-drawer nav{display:flex;flex-direction:column;padding:30px;gap:0;margin:0;align-items:stretch}
  #menu-drawer nav a{display:flex!important;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid #8b715144;font:37px 'Cormorant Garamond',serif}
  #menu-drawer nav small{font:12px Manrope,sans-serif;color:#ac8b61}
  #menu-drawer nav span{margin-left:auto;font:24px Manrope,sans-serif}
  #menu-drawer>p{padding:20px 30px;color:#b8a180;font-size:14px}
  body:has(.booking-dock.shown) .assistant-launcher{bottom:130px}
}

@media(max-width:700px){
  .hero-photo img{filter:brightness(.84) saturate(.96)}
  .hero-photo .photo-shade{background:linear-gradient(90deg,rgba(48,29,16,.7),rgba(66,42,23,.06) 100%),linear-gradient(0deg,rgba(47,30,18,.68),transparent 65%)}
  .realisations-head{display:block;margin-bottom:30px}
  .realisations-head>div:last-child{margin-top:22px}
  .realisations-head h2,.expertise-visuals h2{font-size:55px;letter-spacing:-1.5px}
  .realisations-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 7% 17px;margin:0 -7%;scrollbar-width:thin}
  .realisation-card,.realisation-card:nth-child(n){flex:0 0 78vw;height:430px;scroll-snap-align:center}
  .realisation-card>span{font-size:28px}
  .realisations-note{display:block;font-size:12px}
  .realisations-note .underlink{display:block;width:max-content;margin-top:14px}
  .expertise-grid{grid-template-columns:1fr;gap:48px}
  .expertise-media{height:auto;max-height:none}
  .expertise-media img{height:auto;max-height:none}
  .gallery-dialog figure{padding:14px}
  .home-catalogue{margin-top:58px;padding:33px 23px}
  .home-catalogue__intro{grid-template-columns:1fr;gap:22px;padding-bottom:28px}
  .home-catalogue__intro h3{font-size:47px}
  .home-catalogue__intro p{font-size:14px}
  .home-catalogue__tools{display:grid;gap:16px;margin-top:27px}
  .home-catalogue__tools input{font-size:16px}
  .home-catalogue__expand{justify-self:start;padding-left:0;border-left:0}
  .home-catalogue__summary{margin-top:7px}
  .home-catalogue__list{gap:29px}
  .home-catalogue__category{padding-top:23px}
  .home-catalogue__category-head{grid-template-columns:34px minmax(0,1fr);gap:10px;margin-bottom:4px}
  .home-catalogue__category-head h4{font-size:29px}
  .home-catalogue__category-head p{grid-column:2;text-align:left}
  .home-catalogue__family summary{min-height:65px;font-size:23px}
  .home-catalogue__services{padding-left:0}
  .home-catalogue__service{padding-block:14px}
  .home-catalogue__service strong{font-size:12px}
  .home-catalogue__service.is-variant{padding-left:11px}
  .home-catalogue__footer{display:grid;gap:20px}
  .home-catalogue__footer .btn{width:100%}
  .maison-gallery{grid-template-columns:1fr 1fr;grid-template-rows:310px 210px;gap:9px}
  .maison-gallery__item--main{grid-column:1/3;grid-row:auto}
  .maison-gallery__item figcaption{right:8px;bottom:8px;padding:8px 9px;font-size:8px}
  .reviews__heading{grid-template-columns:1fr;gap:35px}
  .reviews__heading h2{font-size:58px}
  .reviews__rating{align-items:center}
  .reviews__rating>strong{font-size:91px}
  .reviews__quotes{grid-template-columns:1fr}
  .reviews__quotes blockquote{min-height:185px}
  .reviews__quotes p{font-size:27px}
  .reviews__footer{display:grid;gap:15px}
  .reviews__footer .underlink{white-space:normal;justify-self:start}
}

@media(prefers-reduced-motion:reduce){
.hero-slide{transition:none}
  .realisation-card img,.expertise-media img{transition:none}
}

@media(max-width:360px){
  .detail-page .treatment-copy h1{font-size:58px;letter-spacing:-1.4px}
}
