:root{--forest:#1F3B32;--chalk:#EFF1EC;--dahlia:#B33E63;--dahlia-dark:#8F2F4E;--ink:#191D1B;--muted:#606963;--surface:#E3E6DF;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}body{overflow-wrap:break-word}img{display:block;width:100%;height:100%;object-fit:cover}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--dahlia);outline-offset:5px}header :focus-visible,footer :focus-visible,.call-dock:focus-visible{outline-color:var(--chalk);box-shadow:0 0 0 7px var(--forest)}input:focus-visible,textarea:focus-visible{outline:2px solid var(--dahlia)!important;outline-offset:3px}section{scroll-margin-top:24px}button:disabled{cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:14px 20px;background:var(--chalk);color:var(--forest);transform:translateY(-180%);border-radius:8px}.skip-link:focus{transform:none}
/* Keep the dimensions of the source's content-box editorial containers. */
.ec-grid,footer>div,#avis>div{max-width:1360px}
.hero-visual{position:absolute;inset:0;overflow:hidden}.hero-image{position:absolute;inset:0;animation:none;will-change:auto}.hero-sweep{display:none;position:absolute;top:-20%;bottom:-20%;left:0;width:38%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(239,241,236,.35),transparent);mix-blend-mode:soft-light;animation:ec-sweep 11s ease-in-out infinite}.hero-veil{position:absolute;inset:0;pointer-events:none;background:var(--forest);mix-blend-mode:multiply;opacity:.06}.hero-title{white-space:nowrap}.hero-eyebrow{color:var(--chalk)}.hero-bottom>p{font-size:16px}.hero-bottom{padding-bottom:4px}.hero-bottom>div:last-child{min-width:180px}.hero-script{font-style:italic}.ticker-track,.ticker-track>div{display:flex;width:max-content}.ticker-track{animation:ec-marquee 55s linear infinite}.ticker-quote{display:inline-flex;align-items:baseline;gap:14px;padding:0 40px;font:500 italic 17px/1 Petrona,serif;white-space:nowrap}.ticker-quote>span{font:400 12px/1 Karla,sans-serif}.review-ribbon{position:relative}.document-hidden .hero-image,.document-hidden .hero-sweep,.document-hidden .hero-veil,.document-hidden .ticker-track{animation-play-state:paused}.review-ribbon:hover .ticker-track,.review-ribbon:focus-within .ticker-track{animation-play-state:paused}
.mobile-menu{display:none}.form-help,.review-note{grid-column:1/-1;margin:0;font:400 14px/1.5 Karla,sans-serif;color:var(--muted)}.form-help a{color:var(--dahlia-dark);font-weight:600;text-underline-offset:3px}#form-status{color:var(--forest);border-top:1px solid #b8c0b8;padding-top:16px}#contact-form input,#contact-form textarea{width:100%;min-width:0}#contact-form button{min-width:110px}#contact>div:first-child>a,#mariages a{min-height:32px;display:inline-flex;align-items:center;width:fit-content}#contact>div:nth-child(2)>div{align-items:baseline}#avis figure{min-width:0}#avis figcaption{flex-wrap:wrap;gap:6px 12px}footer nav a{display:inline-flex;align-items:center;min-height:32px}footer>div>div>div:last-child>span:last-child,.header-bar>div:nth-child(2)>div:last-child>span:last-child{font-size:12px;letter-spacing:.12em;line-height:1.4}.legal-page{max-width:880px;margin:auto;padding:60px 24px 100px}.legal-page h1,.legal-page h2{font-family:Petrona,serif;color:var(--forest)}.legal-page h1{font-size:clamp(36px,5vw,56px)}.legal-page p{font-size:18px;line-height:1.7}.legal-page a{display:inline-block;min-height:32px}
@media(min-width:901px) and (max-width:1250px){.header-bar{gap:16px}.header-bar nav{gap:5px}.header-bar nav a{padding:0 12px}}
@media(max-width:900px){
 .header-bar{padding:22px 24px;gap:12px;align-items:flex-start}.header-bar>div:nth-child(2){margin-right:auto}.header-bar>div:nth-child(2)>div:first-child{display:none}.header-bar>a.ec-mob{display:none!important}.mobile-menu{display:block;z-index:20;position:relative}.mobile-menu summary{list-style:none;display:flex;gap:12px;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid rgba(239,241,236,.7);border-radius:999px;font:600 12px/1 Karla,sans-serif;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:54px;width:min(280px,calc(100vw - 48px));padding:12px;background:var(--forest);border:1px solid #7e9486;border-radius:14px;box-shadow:0 12px 32px #191d1b55}.mobile-menu nav a{display:flex;align-items:center;min-height:44px;padding:0 16px;color:var(--chalk);text-decoration:none;border-radius:6px;font-size:16px}.mobile-menu nav a:hover{background:#345044}
 .hero{height:100svh;min-height:680px;max-height:1100px}.hero-eyebrow{top:22%;left:24px;font-size:13px}.hero-title{top:24%;left:20px;font-size:clamp(90px,21.5vw,195px)}.hero-script{top:calc(24% + 18vw);right:24px;font-size:clamp(64px,13vw,108px)}.hero-bottom{left:24px;right:24px;bottom:76px;gap:18px}.hero-bottom>p{max-width:42ch;font-size:16px}.hero-bottom>div:last-child{font-size:14px}.hero-bottom>div:last-child>div>span{opacity:1}.ec-grid{gap:32px;padding-top:64px;padding-bottom:64px}#salon>div:last-child{grid-template-columns:3fr 2fr;gap:18px}#mariages>div:first-child{max-height:660px}#bijoux>div>div:last-child{max-height:580px}.call-dock{bottom:max(16px,env(safe-area-inset-bottom));box-shadow:0 4px 24px #191d1b38}footer{padding-bottom:84px}footer>div{align-items:flex-start}footer nav{gap:8px 22px}#avis>div{padding-top:64px;padding-bottom:64px}
}
@media(max-width:480px){
 .hero{min-height:720px}.hero-visual img{object-position:58% center}.hero-title{top:26%;font-size:clamp(80px,25vw,120px);left:18px}.hero-eyebrow{top:23%;font-size:12px}.hero-script{top:calc(26% + 21vw);font-size:20vw;right:24px}.hero-bottom{bottom:84px;gap:18px}.hero-bottom>p{font-size:16px;line-height:1.55}.review-ribbon{height:52px}.review-ribbon>div:first-child{padding:0 16px;font-size:11px;gap:8px}.ticker-quote{font-size:16px;padding:0 24px}#salon>div:last-child{align-items:start}#salon>div:last-child>div:first-child{aspect-ratio:4/5}#salon>div:last-child>div:last-child{margin-top:32px}#salon h2{font-size:31px}#salon>div:nth-child(2){font-size:17px;gap:20px}#salon>div:nth-child(2)>div{gap:10px;font-size:12px}#salon>div:nth-child(2)>div strong{font-size:25px}#prestations>div>div:last-child{gap:28px}#mariages>div:first-child{max-height:430px}#mariages>div:nth-child(2)>p,#bijoux p{font-size:17px}#bijoux>div>div:last-child{max-height:420px}#contact-form{padding:22px;grid-template-columns:minmax(0,1fr)}#contact>div:nth-child(2)>div{gap:12px 16px;font-size:14px}#contact>div:nth-child(2)>div>span:nth-child(even){line-height:1.55}#avis>div>div:last-child{grid-template-columns:minmax(0,1fr)}#avis figure{padding:24px}#avis>div{gap:30px}.review-note{font-size:13px}footer>div{padding-top:40px;padding-bottom:40px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-image{transform:scale(1.04)}.hero-sweep{display:none}.ticker-track{transform:none}.hero-title,.hero-script{opacity:1}}
@media(forced-colors:active){a,button,summary{forced-color-adjust:auto}.hero-visual{opacity:.25}.call-dock,.mobile-menu nav{border:2px solid ButtonText}input,textarea{border:1px solid ButtonText}}

/* Source links for the verified Google review excerpts. */
.review-source{flex-basis:100%;display:inline-flex;align-items:center;gap:6px;min-height:28px;color:var(--forest);text-decoration:none}.review-source>span:first-child{text-decoration:underline;text-underline-offset:3px}.review-source:hover{color:var(--dahlia-dark)}

/* Atmospheric hero: preserve the composition and let the honey tones show. */
.hero>.d2{background:linear-gradient(180deg,rgba(25,29,27,.48) 0%,rgba(25,29,27,.42) 25%,rgba(25,29,27,.34) 45%,rgba(25,29,27,.08) 58%,rgba(25,29,27,.60) 73%,rgba(25,29,27,.76) 86%,rgba(25,29,27,.80) 100%)}
.hero .d27{color:var(--chalk)}
.header-bar .d18{opacity:1}
.hero-bottom .d40,.hero-bottom .d43{opacity:1}
/* Give the village a clear place above the salon's signature lettering. */
.hero-eyebrow{display:flex;align-items:baseline;gap:14px;top:calc(20vh - 26px);font:500 clamp(24px,2.25vw,32px)/1.15 Petrona,serif;letter-spacing:-.015em;white-space:nowrap}
.hero-postcode{font:500 16px/1.2 Karla,sans-serif;letter-spacing:.04em}
@media(max-width:900px){.hero-eyebrow{top:calc(24% - 45px);font-size:28px}}
@media(max-width:480px){.hero-eyebrow{top:calc(26% - 42px);font-size:24px;gap:10px}.hero-postcode{font-size:15px}}
/* Restrained movement and a compact client-photo gallery. */
.hero-image{object-position:58% center;transform:scale(1.025)}
.hero-video{display:block;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}.hero-video.is-playing{opacity:1}
@media(max-width:480px){.hero-video{object-position:61% center}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}
#salon .d61{aspect-ratio:4/5}#salon .d62{margin-bottom:32px}
#mariages img{object-position:50% 62%}#bijoux img{object-position:50% 43%}
.photo-gallery{max-width:1360px;margin:0 auto;padding:76px 40px 56px;color:var(--forest)}
.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.gallery-eyebrow{font:600 12px/1.4 Karla,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.gallery-heading h2{margin:12px 0 0;font:400 clamp(30px,3vw,40px)/1.15 Petrona,serif;letter-spacing:-.025em}
.gallery-heading p{margin:0;font:400 16px/1.5 Karla,sans-serif;color:var(--muted)}
.photo-rail{display:flex;gap:20px;list-style:none;margin:0;padding:6px 6px 18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding:6px;scrollbar-width:thin;scrollbar-color:#819087 var(--surface)}
.photo-rail li{flex:0 0 190px;min-width:0;scroll-snap-align:start}
.photo-rail a{display:block;color:var(--forest);text-decoration:none}
.photo-rail img{height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:8px;background:var(--surface);transition:filter .25s}
.photo-rail a:hover img{filter:brightness(1.06)}
.photo-rail a[href*="chignon-plumes"] img,.photo-rail a[href*="coiffure-soiree"] img{object-position:50% 20%}
.photo-rail a>span{display:block;margin-top:12px;font:400 14px/1.4 Karla,sans-serif}
.gallery-hint{margin:16px 6px 0;font:400 13px/1.5 Karla,sans-serif;color:var(--muted)}
.photo-open{overflow:hidden;scrollbar-gutter:stable}
.photo-open .hero-image,.photo-open .hero-veil,.photo-open .hero-sweep,.photo-open .ticker-track{animation-play-state:paused}
.photo-dialog{width:min(960px,calc(100% - 32px));height:min(880px,calc(100dvh - 32px));max-width:none;max-height:none;box-sizing:border-box;border:0;border-radius:12px;padding:20px 24px;background:var(--chalk);color:var(--forest);overflow:hidden}
.photo-dialog[open]{display:flex;flex-direction:column;gap:14px}
.photo-dialog::backdrop{background:rgba(15,29,24,.92)}
.photo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;font:400 16px/1.4 Petrona,serif}
.photo-dialog button{min-height:44px;border:1px solid #9aa79e;background:transparent;border-radius:4px;padding:0 16px;color:var(--forest);font:500 14px/1 Karla,sans-serif;cursor:pointer}
.photo-dialog button:hover{background:var(--surface)}
.photo-close{display:flex;align-items:center;gap:14px}.photo-close span{font-size:24px;font-weight:300}
.photo-dialog figure{display:flex;flex:1;flex-direction:column;min-height:0;gap:16px;margin:0}
.photo-stage{position:relative;display:grid;place-items:center;flex:1;min-height:0;background:var(--surface);border-radius:4px;overflow:hidden}
.photo-stage img{position:absolute;inset:0;object-fit:contain}
.photo-stage [hidden]{display:none}
.photo-stage p{max-width:34ch;margin:24px;text-align:center;font:400 16px/1.6 Karla,sans-serif}
.photo-dialog figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:20px;font:400 18px/1.4 Petrona,serif}
#photo-count{flex:none;font:400 13px/1.4 Karla,sans-serif;font-variant-numeric:tabular-nums;color:var(--muted)}
.photo-actions{display:flex;justify-content:space-between;gap:16px;flex:none}
.salon-awards{border-top:1px solid #aab4ac;padding-top:22px}
.salon-awards h3{margin:0;font:500 23px/1.2 Petrona,serif;letter-spacing:-.015em}
.awards-notes{display:grid;gap:14px;margin:18px 0 8px}
.awards-notes dt{font:600 14px/1.4 Karla,sans-serif}
.awards-notes dd{margin:4px 0 0;font:400 15px/1.5 Karla,sans-serif}
@media(min-width:601px){.awards-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
.awards-link,.photo-original,.archive-return,.archive-entry a{color:var(--forest);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.awards-link{display:inline-flex;align-items:center;min-height:44px;font:500 14px/1.5 Karla,sans-serif}
.awards-link:hover,.photo-original:hover,.archive-entry a:hover{color:var(--dahlia-dark)}
.photo-description{margin:0;font:400 15px/1.5 Karla,sans-serif;flex:none}
.photo-original{min-height:32px;align-self:flex-start;font:500 14px/1.5 Karla,sans-serif}
.photo-dialog [hidden]{display:none}
.awards-archive{max-width:1000px;margin:0 auto;padding:36px 32px 64px;color:var(--forest)}
.archive-return{display:inline-flex;align-items:center;min-height:44px;font:500 15px/1.5 Karla,sans-serif}
.awards-archive header{max-width:620px;margin:40px 0}
.awards-archive h1{margin:12px 0 20px;font:500 clamp(32px,5vw,48px)/1.1 Petrona,serif}
.awards-archive p{font:400 16px/1.6 Karla,sans-serif}
.archive-entry{display:grid;grid-template-columns:1fr 1.5fr;align-items:start;gap:36px;border-top:1px solid #aab4ac;padding:32px 0}
.archive-entry h2{margin:0;font:500 24px/1.2 Petrona,serif}
.archive-entry a{font:500 14px/1.5 Karla,sans-serif}
.archive-entry img{width:100%;height:auto;object-fit:contain}
@media(max-width:600px){.awards-archive{padding:24px 20px 48px}.archive-entry{grid-template-columns:1fr;gap:24px}.photo-dialog.is-archive{height:calc(100dvh - 16px)}.is-archive .photo-description{font-size:14px;line-height:1.4}.is-archive figcaption{font-size:17px}.is-archive .photo-toolbar{gap:8px;font-size:15px}.is-archive .photo-close{gap:8px;padding:0 10px}.is-archive[open]{gap:10px}}
@media(max-width:900px){.photo-gallery{padding:56px 24px 36px}.photo-rail{gap:16px}.photo-rail li{flex-basis:180px}#mariages>.d85,#bijoux .d102{justify-self:center}}
@media(max-width:480px){.photo-open{scrollbar-gutter:auto}.hero-visual img{object-position:61% center}.gallery-heading{display:block;margin-bottom:22px}.gallery-heading p{margin-top:12px}.photo-rail{gap:14px}.photo-rail li{flex-basis:148px}.photo-rail a>span{font-size:13px}.photo-dialog{width:calc(100% - 16px);height:min(680px,calc(100dvh - 24px));padding:12px 16px;gap:12px}.photo-dialog figcaption{font-size:16px}.photo-toolbar{font-size:15px}#salon .d62{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){.hero-image{transform:scale(1.025)}.photo-rail{scroll-behavior:auto}}

/* Local contrast for the lighter straight balayage behind the italic title. */
@media(min-width:901px){.hero>.d2{background:radial-gradient(ellipse 40% 22% at 80% 56%,rgba(25,29,27,.38) 0%,rgba(25,29,27,.22) 40%,transparent 100%),linear-gradient(180deg,rgba(25,29,27,.48) 0%,rgba(25,29,27,.42) 25%,rgba(25,29,27,.34) 45%,rgba(25,29,27,.08) 58%,rgba(25,29,27,.60) 73%,rgba(25,29,27,.76) 86%,rgba(25,29,27,.80) 100%)}}
