:root{--ink:#272d28;--paper:#faf8f3;--gold:#c7a56c;--muted:#666c62;--line:#deddd3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.13}h2{font-size:clamp(38px,4.2vw,62px);letter-spacing:-1.7px;margin-bottom:28px}h3{font-size:29px}em{font-weight:400;color:#9c7d4c}header{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:13px;line-height:1.4;letter-spacing:2px;font-size:16px}.brand img{object-fit:contain;width:62px;height:48px}.brand small{display:block;font-size:8px;letter-spacing:2.5px;margin-top:4px}nav{display:flex;gap:30px;font-size:13px}nav a:hover,.text-link:hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--gold);color:#20241f;padding:16px 26px;font-size:13px;letter-spacing:.5px;transition:background .2s}.button:hover{background:#dfbe87}.button.small{padding:12px 23px}.hero{position:relative;min-height:640px;height:calc(100svh - 94px);max-height:960px;color:#fff;display:flex;align-items:center;padding:80px 8%}.hero video,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{background:linear-gradient(90deg,rgba(12,20,17,.66),rgba(12,20,17,.10)),linear-gradient(0deg,rgba(12,20,17,.45),transparent 40%)}.hero-copy{position:relative;max-width:900px}.eyebrow{font-size:10px;letter-spacing:2.7px;line-height:1.7;margin-bottom:24px}.hero h1{font-size:clamp(44px,5.5vw,82px);letter-spacing:-2px;margin-bottom:26px}.hero h1 em{color:#e1cba8}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.9;color:#eee9df}.actions{display:flex;gap:32px;align-items:center;margin-top:36px}.text-link{font-size:13px;border-bottom:1px solid #ffffff70;padding:9px 0}.hero-bottom{position:absolute;bottom:24px;left:8%;right:8%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.9px}.hero-bottom button{background:transparent;color:#fff;border:1px solid #ffffff60;padding:7px 12px;font-size:10px;letter-spacing:.4px}.reviews{text-align:center;padding:30px 5%;background:#eeeee6;min-height:125px}.reviews .eyebrow{margin-bottom:15px}.wrap{max-width:1320px;margin:auto;padding:100px 6%}.intro{display:grid;grid-template-columns:1fr 1.2fr;gap:12%;align-items:center}.intro p:not(.eyebrow),.location p:not(.eyebrow){color:var(--muted);font-size:15px}.line-link{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:14px 0;font-size:13px;margin-top:25px}.wellness{padding-top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.wellness article:nth-child(2){padding-top:65px}.wellness img{width:100%;height:370px}.wellness article>div{padding-top:22px}.wellness span{font-size:9px;letter-spacing:2px;color:#8d764f}.wellness h3{margin:12px 0;font-size:28px}.wellness p{font-size:13px;color:var(--muted)}.gifts{background:#eeede5}.section-heading{text-align:center;max-width:660px;margin:0 auto 50px}.section-heading>p:last-child{color:var(--muted);font-size:14px}.gift-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.gift{background:var(--paper);border:1px solid #dedbd0}.gift-image{padding:28px 22px;background:#f4f1e8}.gift-image img{width:100%;height:auto;aspect-ratio:1110/485;object-fit:contain}.gift-content{padding:32px}.gift-content .eyebrow{margin-bottom:18px}.price-line{display:flex;justify-content:space-between;align-items:center;gap:15px}.price-line h3{font-size:27px;margin-bottom:15px}.price-line>p{font-family:Georgia,serif;font-size:35px;white-space:nowrap;line-height:1.1;margin-bottom:15px}.price-line span{font-size:22px}.gift-content>p:not(.eyebrow){font-size:13px;color:var(--muted)}.gift-content .button{display:flex;margin-top:25px}.gift-content small{display:block;text-align:center;font-size:10px;color:var(--muted);margin-top:10px}.gift-note{text-align:center;font-size:11px;color:var(--muted);margin:26px 0 0}.location{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.location img{width:100%;height:530px}.faq{padding-top:0;display:grid;grid-template-columns:1fr 1.35fr;gap:10%}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:15px}summary:after{content:'+';font-size:20px;color:#8d764f}details[open] summary:after{content:'−'}details p{font-size:13px;color:var(--muted);margin:15px 0 0}.closing{background:var(--ink);text-align:center;color:var(--paper);padding:90px 20px}.closing em{color:#d5b681}.closing .eyebrow{color:#d5b681}footer{padding:45px 6%;display:flex;align-items:center;gap:30px;justify-content:space-between;flex-wrap:wrap}footer p,footer a:not(.brand),footer>small{font-size:11px;color:var(--muted);margin:0}.skip{position:absolute;top:-100px;left:10px;background:white;z-index:20;padding:10px}.skip:focus{top:10px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9a742b;outline-offset:5px}.mobile-book{display:none}@media(min-width:1600px){.wrap{padding-left:40px;padding-right:40px}}@media(max-width:800px){header{height:78px;padding:0 5%;gap:10px}.brand{font-size:12px;gap:7px;letter-spacing:1px}.brand img{width:42px;height:38px}.brand small{font-size:7px;letter-spacing:1px}nav{display:none}.button.small{padding:10px 15px;font-size:11px}.hero{height:calc(90svh - 78px);min-height:600px;padding:65px 7%}.hero h1{font-size:47px;letter-spacing:-1.7px}.hero-copy>p:not(.eyebrow){font-size:14px}.eyebrow{font-size:9px;letter-spacing:1.8px}.actions{flex-wrap:wrap;gap:18px;margin-top:25px}.hero-bottom{left:7%;right:7%;align-items:center;gap:20px}.hero-bottom>span{font-size:7px;max-width:145px}.wrap{padding:65px 7%}.intro,.location,.faq{grid-template-columns:1fr;gap:26px}.wellness{grid-template-columns:1fr;padding-top:0;gap:35px}.wellness article:nth-child(2){padding-top:0}.wellness img{height:380px}.wellness article>div{padding-top:18px}.gift-grid{grid-template-columns:1fr;gap:25px}.gift-content{padding:25px}.price-line h3{font-size:25px}.price-line>p{font-size:31px}.gift-image{padding:20px 10px}.location img{height:360px}.faq{padding-top:0}.closing{padding:65px 7%}footer{padding:35px 7% 100px;display:grid;gap:20px}.mobile-book{display:flex;position:fixed;bottom:14px;left:5%;right:5%;z-index:9;box-shadow:0 4px 25px #0003}.reviews{padding:25px 6%}h2{font-size:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Finitions : identité, boutons et galerie */
header .brand>span{font-family:Georgia,'Times New Roman',serif;font-size:23px;letter-spacing:1.4px;font-weight:400}header .brand small{font-family:Arial,Helvetica,sans-serif;font-size:8px;letter-spacing:2.6px;margin-top:7px}.button{border:1px solid transparent;border-radius:9px;background:linear-gradient(125deg,#dbc292,#c4a16a);padding:15px 25px;box-shadow:0 3px 10px #1b24120b;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{background:linear-gradient(125deg,#e9d2ab,#d4b27b);transform:translateY(-2px);box-shadow:0 7px 18px #1b241218}.button:active{transform:translateY(0)}.hero-bottom button{border-radius:25px;background:#10201938;backdrop-filter:blur(8px)}.gallery-section{padding-top:0}.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:60px}.gallery-heading>p{max-width:390px;color:var(--muted);font-size:14px}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0 30px}.gallery-filters button{border:1px solid #d5d7ca;background:transparent;border-radius:30px;color:var(--ink);padding:10px 20px;font-size:12px;line-height:1.5}.gallery-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.gallery-filters button:hover{border-color:#a78450}.gallery-filters span{margin-left:6px;opacity:.7}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.gallery-item{border:0;padding:0;background:transparent;text-align:left;color:var(--ink);min-width:0}.gallery-item[hidden]{display:none}.gallery-item img{width:100%;height:260px;border-radius:5px;transition:filter .2s}.gallery-item:hover img{filter:brightness(1.12)}.gallery-item>span{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-top:10px}.gallery-item>span>span{color:#8d7148}#photo-dialog{padding:22px;background:#171c18;color:#fff;border:1px solid #ffffff30;border-radius:12px;width:min(1200px,96vw);max-width:96vw;max-height:94svh;overflow:auto}#photo-dialog::backdrop{background:#050905ed;backdrop-filter:blur(8px)}.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.lightbox-top p{margin:0;font-size:12px;letter-spacing:2px}.lightbox-top button,.lightbox-main button{border:1px solid #ffffff55;background:#ffffff09;color:#fff;border-radius:25px;padding:9px 16px;font-size:13px}.lightbox-main{display:grid;grid-template-columns:46px 1fr 46px;gap:14px;align-items:center;margin:20px 0}.lightbox-main img{height:min(67svh,780px);width:100%;object-fit:contain}.lightbox-main button{padding:12px 0}#photo-caption{font-family:Georgia,serif;font-size:20px;text-align:center;margin-bottom:0}body:has(#photo-dialog[open]){overflow:hidden}@media(max-width:1000px){header nav{gap:17px}header .brand>span{font-size:19px}.gallery-item img{height:220px}}@media(max-width:800px){header .brand>span{font-size:16px;letter-spacing:.6px}header .brand small{font-size:7px;letter-spacing:1.1px}.gallery-heading{display:block}.gallery-heading>p{margin-bottom:25px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 13px}.gallery-item img{height:180px}.gallery-filters{gap:8px}.gallery-filters button{padding:9px 13px;font-size:11px}.gallery-item>span{font-size:11px;line-height:1.5}.lightbox-main{grid-template-columns:32px 1fr 32px;gap:6px}#photo-dialog{padding:15px}.lightbox-main img{height:57svh}#photo-caption{font-size:17px}.lightbox-main button{padding:9px 0}}@media(max-width:420px){.gallery-item img{height:145px}}
.page-intro{padding-top:70px;padding-bottom:55px;border-top:1px solid var(--line)}.page-intro h1{font-size:clamp(46px,6vw,78px);letter-spacing:-2px;margin-bottom:25px}.page-intro>p:not(.eyebrow){color:var(--muted);max-width:700px}.page-intro .button{margin-top:15px}.faq-page{padding-top:0;max-width:1000px}.faq-page summary{font-size:17px;padding:6px 0}.faq-page details p{font-size:15px;line-height:1.9;max-width:760px}.faq-page a,.legal-content a{color:#866334;text-decoration:underline;text-underline-offset:4px}.contact-band{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;background:#eeede5;border-radius:12px;padding:45px}.contact-band h2{font-size:40px}.contact-band p:not(.eyebrow){font-size:14px;color:var(--muted)}.contact-actions{align-self:center}.contact-actions .button{width:100%}.contact-page{padding-top:0}.address-panel{margin-top:60px;max-width:650px}.address-panel h2{font-size:32px}.legal-content{padding-top:0;max-width:1000px}.legal-content h2{font-size:29px;letter-spacing:-.4px;margin-top:40px}.legal-content p{font-size:14px;line-height:1.9;color:var(--muted)}.legal-content dl{display:grid;grid-template-columns:230px 1fr;gap:12px 24px;font-size:14px}.legal-content dt{color:var(--muted)}.legal-content dd{margin:0}header nav{gap:20px}footer{gap:22px}@media(max-width:1000px){header nav{gap:12px;font-size:11px}}@media(max-width:800px){.contact-band{grid-template-columns:1fr;gap:20px;padding:28px}.contact-band h2{font-size:34px}.legal-content dl{grid-template-columns:1fr;gap:5px}.legal-content dd{margin-bottom:15px}.page-intro{padding-top:45px}.faq-page summary{font-size:15px}.contact-actions .button{font-size:11px;padding:15px 12px}}

/* Palette Purple Cottage : mauve profond et nuances d'or */
:root {
  --purple: #725078;
  --purple-dark: #573a60;
  --purple-light: #f1ebf2;
  --gold: #b4945c;
  --gold-light: #e5d4ae;
  --gold-dark: #86672f;
  --paper: #faf8f5;
  --ink: #302b32;
  --muted: #716a72;
  --line: #e1d9df;
}
/* Boutons principaux : texte ivoire, liseré or discret */
.button,
.button.small,
.hero .button,
.gift-content .button,
.closing .button,
.contact-actions .button,
.mobile-book.button {
  background: var(--purple);
  color: #fffaf4;
  border: 1px solid var(--gold);
  border-radius: 3px;
  box-shadow: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.button:hover,
.button.small:hover,
.hero .button:hover,
.gift-content .button:hover,
.closing .button:hover,
.contact-actions .button:hover,
.mobile-book.button:hover {
  background: var(--purple-dark);
  color: #fffaf4;
  border-color: var(--gold-light);
  box-shadow: none;
  transform: none;
}
.button:active { background: #49314f; }
.button span { color: var(--gold-light); }
/* Or réservé aux accents, mauve pour les liens et petites légendes */
h2 em, .page-intro h1 em, .contact-band em { color: var(--purple); }
.hero h1 em { color: var(--gold-light); }
.eyebrow, .wellness span { color: var(--purple); }
.hero .eyebrow { color: #f6eee0; }
.hero .text-link { color: #fffaf4; border-bottom-color: var(--gold-light); }
.hero .text-link:hover { color: var(--gold-light); }
nav a:hover, .text-link:hover, .line-link:hover { color: var(--purple); }
.line-link { border-bottom-color: #d8c6a6; }
.line-link span, .gallery-item>span>span { color: var(--gold-dark); }
.wellness h3 { color: var(--purple-dark); }
.gallery-filters button {
  border-radius: 3px;
  border-color: #d8c8dc;
  color: var(--purple-dark);
  background: transparent;
}
.gallery-filters button[aria-pressed=true] {
  background: var(--purple);
  color: #fffaf4;
  border-color: var(--gold);
}
.gallery-filters button:hover { border-color: var(--gold-dark); }
.gifts { background: #f1ecf0; }
.gift { border-color: #d9c8a8; background: var(--paper); }
.gift-image { background: #f5f0e7; }
.price-line>p { color: var(--purple-dark); }
.reviews { background: #f4f0f4; }
.contact-band { background: #f2edf2; border-radius: 3px; }
summary:after { color: var(--gold-dark); }
.closing { background: #342938; color: #fffaf4; }
.closing em, .closing .eyebrow { color: var(--gold-light); }
.faq-page a, .legal-content a { color: var(--purple-dark); }
header { border-bottom: 1px solid #dfd3bf; }
footer { border-top: 1px solid #dfd3bf; }
#photo-dialog { background: #2c2330; border-color: var(--gold); border-radius: 3px; }
.lightbox-top button, .lightbox-main button {
  background: var(--purple-dark);
  color: #fffaf4;
  border-color: var(--gold);
  border-radius: 3px;
}
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid var(--purple);
  outline-offset: 5px;
}
.hero a:focus-visible, .hero button:focus-visible,
.closing a:focus-visible, #photo-dialog button:focus-visible {
  outline-color: var(--gold-light);
}
@media(prefers-reduced-motion:reduce) {
  .button, .button.small { transition: none; }
}
