@font-face{font-family:MaisonSerif;src:url('../fonts/NimbusRoman-Regular.woff2') format('woff2'),url('../fonts/NimbusRoman-Regular.otf') format('opentype');font-display:swap}@font-face{font-family:MaisonSerif;src:url('../fonts/NimbusRoman-Italic.woff2') format('woff2'),url('../fonts/NimbusRoman-Italic.otf') format('opentype');font-style:italic;font-display:swap}@font-face{font-family:MaisonSans;src:url('../fonts/NimbusSans-Regular.woff2') format('woff2'),url('../fonts/NimbusSans-Regular.otf') format('opentype');font-display:swap}
:root{--paper:#f8f6f0;--ink:#11100e;--gold:#dfbd7e;--wine:#790c25;--muted:#68645e;--line:#dfdbd2;--serif:MaisonSerif,Georgia,serif;--sans:MaisonSans,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.5}body.modal-open{overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}h2{font-size:clamp(30px,3.2vw,46px);letter-spacing:-.025em;margin-bottom:18px}h3{font-size:23px;margin-bottom:8px}p{margin-bottom:16px}img{max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #bd9653;outline-offset:5px}button:disabled{cursor:default;opacity:.35}.wrap{width:min(1280px,calc(100% - 88px));margin:auto}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:46px;padding:12px 23px;border:1px solid transparent;border-radius:0;font-size:14px;line-height:1.4;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button .icon{width:20px;height:20px}.wine{background:var(--wine);color:#fff}.wine:hover{background:#57091b}.gold{background:var(--gold);color:#18130b}.gold:hover{background:#efcf96}.outline{border-color:#ffffff88;color:#fff;background:transparent}.outline:hover{background:#ffffff14}.compact{border-radius:30px;min-height:38px;padding:9px 20px}.icon-button{border:0;background:transparent;padding:10px;display:inline-grid;place-items:center;min-width:44px;min-height:44px}.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.13em;font-weight:600;color:var(--wine);line-height:1.5;margin-bottom:12px}.section{padding-top:56px;padding-bottom:56px}.section-title{text-align:center;margin-bottom:34px}.section-title h2{margin-bottom:0}.center{text-align:center}.signature{font-family:var(--serif);font-style:italic;font-size:28px;font-weight:400;line-height:1.1;color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;top:10px;left:10px;z-index:90;background:var(--paper);padding:12px;transform:translateY(-150%)}.skip:focus{transform:none}[hidden]{display:none!important}
/* Navigation */
.header{background:#080807;color:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid #c6a86f33}.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1370px,calc(100% - 64px));margin:auto}.brand{display:inline-flex;align-items:center;gap:16px;flex-shrink:0}.brand>span:last-child{font:14px/1.05 var(--serif)}.monogram{display:inline-block;position:relative;font:48px/.9 var(--serif);letter-spacing:-8px;color:var(--gold);padding-right:10px}.monogram em{font-style:normal;font-size:.8em;position:relative;top:8px;left:-2px}.nav{display:flex;align-items:center;gap:23px}.nav a{font-size:13px;white-space:nowrap;position:relative}.nav a:hover{color:var(--gold)}.nav a[aria-current="location"]::after{content:'';position:absolute;height:1px;background:var(--gold);bottom:-8px;left:0;right:0}.header-tools{display:flex;align-items:center;gap:12px}.menu-button{display:none}
/* Hero */
.hero{position:relative;height:640px;color:#fff;overflow:hidden;background:#080706}.hero-picture{position:absolute;inset:0;background-image:var(--photo);background-position:center;background-size:cover;background-repeat:no-repeat;transition:transform 6s ease-out;transform:scale(1.015)}.hero-picture.swap{animation:heroSwap .9s ease}@keyframes heroSwap{from{opacity:.25}to{opacity:1}}.hero[data-ambience="1"] .hero-picture{transform:scale(1.06)}.hero[data-ambience="2"] .hero-picture{transform:scale(1.035)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0009,transparent 75%),linear-gradient(0deg,#0004,transparent 35%)}.hero-inner{position:relative;padding-top:150px}.hero .eyebrow{color:#e6d6b7;font-size:12px;letter-spacing:.14em}.hero h1{font-size:clamp(56px,5.8vw,86px);line-height:.92;letter-spacing:-.02em;margin-bottom:24px}.hero-subtitle{font-size:23px;margin-bottom:30px}.actions{display:flex;gap:14px;flex-wrap:wrap}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;align-items:end;justify-content:space-between}.hero-controls{display:flex;align-items:center;gap:10px;font-size:12px}.hero-controls button{border:0;border-bottom:1px solid transparent;background:transparent;color:#bbb;min-width:36px;min-height:44px}.hero-controls button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}.hero-controls span{color:#888}.hero-bottom .signature{text-align:right;margin:0 0 10px}
/* Sprite photography: original atlas supplied, six equal square photos */
.photo{background-image:var(--photo,none);background-position:center;background-size:cover;background-repeat:no-repeat;aspect-ratio:1;background-color:#171510}
.story{display:grid;grid-template-columns:1fr 1fr;border-top:12px solid var(--paper)}.portrait{position:relative;overflow:hidden}.portrait>.photo{width:100%;height:100%;min-height:540px}.portrait blockquote{position:absolute;bottom:30px;left:30px;margin:0;border:1px solid #a68a57;padding:22px 25px;background:#090909e6;color:#fff;font:26px/1.2 var(--serif)}.portrait blockquote .signature{display:block;font-size:19px;margin-top:18px}.story-copy{padding:56px clamp(30px,5vw,80px);align-self:center}.story-copy>p:not(.eyebrow){color:#625e57;line-height:1.65;max-width:550px}.qualities{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 24px;text-align:center}.qualities .icon{height:37px;width:37px;color:var(--wine);margin-bottom:12px}.qualities h3{margin-bottom:5px}.qualities p{font-size:14px;color:var(--muted);margin:0}
/* Collections & services */
.universes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.universe-card{display:block;background:#090908;color:#fff;overflow:hidden;position:relative}.universe-card>.photo{transition:filter .4s;aspect-ratio:1}.universe-card:hover>.photo{filter:brightness(1.15)}.universe-copy{padding:22px 18px 24px}.universe-copy h3{font-size:25px}.universe-copy p{font-size:14px;color:#d7d3ca;line-height:1.4;min-height:40px}.discover{font-size:13px;display:flex;align-items:center;gap:20px;margin-top:22px}.discover .icon{width:18px;color:var(--gold)}.universe-card>.icon{display:none}.services{padding-top:22px;padding-bottom:64px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr)}.service{text-align:center;padding:0 20px;border-right:1px solid var(--line)}.service:last-child{border:0}.service>.icon{width:40px;height:40px;color:var(--wine);margin-bottom:18px}.service h3{font-size:23px;margin-bottom:8px}.service p{font-size:14px;color:#59554f;margin:0}
/* Filtered product carousel */
.products-section{background:radial-gradient(ellipse at 50% 20%,#841e32,#490616 85%);color:#fff;overflow:hidden}.products-section .eyebrow{color:#edc4cb}.products-section .section-title{margin-bottom:22px}.filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 25px}.filters button{border:1px solid transparent;border-radius:30px;background:transparent;color:#fff;padding:9px 17px;font-size:14px;min-height:42px}.filters button[aria-pressed=true]{background:var(--paper);color:var(--wine)}.filters button:hover{border-color:#e0b9c2}.product-carousel{position:relative}.product-track{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding-bottom:8px}.product-track::-webkit-scrollbar{display:none}.product{flex:0 0 calc((100% - 66px)/4);background:#0c0c0b;scroll-snap-align:start}.product>.photo{width:100%;aspect-ratio:1}.product h3{font-size:21px;margin:0 0 5px}.product p{font-size:15px;margin:0;color:#eee}.carousel-arrow{position:absolute;top:45%;z-index:1;width:38px;height:38px;border:1px solid #ffffff7a;border-radius:50%;background:#430d1e;color:white;display:grid;place-items:center}.carousel-arrow.previous{left:-42px}.carousel-arrow.previous .icon{transform:rotate(180deg)}.carousel-arrow.next{right:-42px}.products-section .center{margin-top:24px}.products-section .button{font-size:13px;min-height:42px}
/* Benefits */
.benefits{background:#080908;color:#fff;position:relative;overflow:hidden}.benefits .wrap{position:relative}.benefit-bg{position:absolute;left:0;top:0;width:34%;height:100%;opacity:.65;mask-image:linear-gradient(90deg,#000,transparent)}.benefit-bg .photo{height:100%;width:100%}.benefits .eyebrow{color:#eee}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.benefit{padding:30px 18px 24px;text-align:center;border:1px solid #7b73524f;background:#0b0b0bdd;border-radius:4px}.benefit>.icon{width:38px;height:38px;color:var(--gold);margin-bottom:18px}.benefit h3{font-family:var(--sans);font-size:17px;margin-bottom:9px}.benefit p{font-size:14px;line-height:1.4;color:#cac8c1;margin:0}
.moments{padding-bottom:28px}.moment-track{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.moment{display:flex;background:#fff;border:1px solid #e4e0d9;border-radius:5px;overflow:hidden}.moment .photo{width:35%;flex-shrink:0}.moment>div:last-child{padding:24px 18px}.moment h3{font-size:21px}.moment p{font-size:14px;color:#68645e;margin:0}.gallery{padding-top:28px}.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.gallery-item{position:relative;overflow:hidden;border:0;background:#111;padding:0;border-radius:3px}.gallery-item .photo{width:100%;transition:filter .3s}.gallery-item>span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:#0004;opacity:0;transition:opacity .3s}.gallery-item:hover>span,.gallery-item:focus-visible>span{opacity:1}
.contact{display:grid;grid-template-columns:1fr 1fr;background:#10100e;color:white}.contact-card{padding:44px max(36px,calc((100vw - 1280px)/2))}.contact .eyebrow{color:#ddd}.contact h2{font-size:38px}.contact-details{padding:0;list-style:none;margin:25px 0}.contact-details li{display:flex;align-items:center;gap:14px;font-size:14px;margin:12px 0}.contact-details .icon{width:20px;height:20px}.map{min-height:355px;position:relative;background:#e9e5dc}.map iframe{width:100%;height:100%;border:0;position:absolute;inset:0;filter:grayscale(1)}.map>a{position:absolute;bottom:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;color:#333;padding:16px;font-size:14px;box-shadow:0 3px 20px #0002}.map>a .icon:first-child{color:var(--wine)}
.footer{padding-top:35px;padding-bottom:23px;background:#090908;color:white;width:100%;padding-left:max(32px,calc((100vw - 1280px)/2));padding-right:max(32px,calc((100vw - 1280px)/2))}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:28px}.footer nav{display:flex;gap:22px;font-size:12px}.age-reopen{border:1px solid var(--gold);color:var(--gold);background:transparent;border-radius:50%;width:40px;height:40px}.footer>.signature{text-align:right;font-size:22px;margin:20px 0}.footer-bottom{border-top:1px solid #b1986244;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:12px;color:#aaa}.footer-bottom button{border:0;background:transparent;color:#aaa;font-size:12px;padding:10px}.footer-bottom button:hover{color:var(--gold)}
/* Accessible native dialogs */
.dialog{border:1px solid #b7975d;color:var(--ink);background:var(--paper);padding:0;width:min(600px,calc(100% - 32px));max-height:90svh;overflow:auto;box-shadow:0 20px 100px #0006}.dialog::backdrop{background:#090807bd;backdrop-filter:blur(6px)}.dialog-body{padding:48px}.dialog h2{font-size:39px;line-height:1.1}.dialog p{color:#5c5751}.dialog-close{position:absolute;top:6px;right:6px}.welcome{text-align:center;max-width:520px}.welcome .monogram{margin:4px 0 30px;font-size:65px}.welcome .eyebrow{font-size:11px}.welcome .muted{font-size:13px}.welcome .button{width:100%;margin-top:15px}.text-button{display:block;margin:18px auto 0;border:0;background:transparent;font-size:14px;text-decoration:underline;text-underline-offset:4px}.dialog input{display:block;width:100%;border:1px solid #a69e90;background:#fff;padding:13px;margin:10px 0 15px;font-size:16px}.search-result{display:flex;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.search-result .photo{width:65px;flex-shrink:0}.search-result strong{display:block;font-family:var(--serif);font-size:21px;font-weight:400}#gallery-dialog{max-width:650px}#gallery-large{width:100%;margin:20px 0}#gallery-caption{margin:0}#contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}#exit-screen{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;background:#111;color:#fff}#exit-screen h1{font-size:40px;margin:35px 0 18px}
@media(prefers-reduced-motion:no-preference){.js-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.js-motion .reveal.visible{opacity:1;transform:none}}
@media(min-width:1500px){.hero{height:710px}.hero-inner{padding-top:180px}.story{max-width:1600px;margin:auto}}
@media(max-width:1100px){.header-inner{width:calc(100% - 40px);gap:14px}.nav{gap:14px}.nav a{font-size:12px}.header-tools .compact{display:none}.hero{height:590px}.story-copy{padding:36px 30px}.portrait>.photo{min-height:540px}.footer nav{gap:14px}.wrap{width:calc(100% - 60px)}.universe-copy{padding:18px 14px}.universe-copy h3{font-size:22px}.moment{display:block}.moment .photo{width:100%;aspect-ratio:1.6}.carousel-arrow.previous{left:-28px}.carousel-arrow.next{right:-28px}}
@media(max-width:780px){html{scroll-padding-top:72px}.header-inner{height:72px}.brand>span:last-child{font-size:13px}.monogram{font-size:42px}.menu-button{display:inline-grid}.header-tools{gap:0}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#0b0b0a;padding:22px 28px;border-bottom:1px solid var(--gold)}.nav.is-open{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nav a{font-size:15px;padding:10px}.nav a[aria-current="location"]::after{display:none}.hero{height:550px}.hero-picture{background-position:62% center}.hero-shade{background:linear-gradient(180deg,#000b 0%,#0004 55%,#0004)}.hero-inner{padding-top:54px}.hero h1{font-size:58px}.hero-subtitle{font-size:20px}.hero .eyebrow{font-size:10px;max-width:300px}.hero-bottom .signature{font-size:25px}.story{grid-template-columns:.85fr 1.15fr}.portrait>.photo{min-height:100%}.portrait blockquote{bottom:18px;left:16px;padding:16px;font-size:22px}.portrait blockquote .signature{font-size:17px}.story-copy{padding:35px 25px}.story-copy h2{font-size:32px}.story-copy>p:not(.eyebrow){font-size:14px}.qualities{gap:5px}.qualities h3{font-size:20px}.qualities p{font-size:12px}.qualities .icon{height:29px;width:29px}.universes{grid-template-columns:repeat(2,1fr)}.service-grid,.benefit-grid{grid-template-columns:repeat(2,1fr);gap:25px}.service{border:0}.product{flex-basis:calc((100% - 22px)/2)}.moment-track{gap:14px}.gallery-grid{grid-template-columns:repeat(3,1fr)}.contact-card{padding:36px 26px}.contact h2{font-size:30px}.footer nav{display:none}.footer-bottom{align-items:start;flex-direction:column}.footer-bottom button:first-child{padding-left:0}.dialog-body{padding:40px 28px}}
@media(max-width:520px){.wrap{width:calc(100% - 36px)}.header-inner{width:calc(100% - 32px)}.header-tools>.icon-button:first-child{display:none}.hero{height:580px}.hero-inner{padding-top:56px}.hero h1{font-size:53px}.hero-subtitle{max-width:260px;font-size:19px}.hero-picture{background-position:67% center}.actions{gap:9px}.actions .button{padding:10px 14px;font-size:13px;gap:10px}.hero-bottom{bottom:24px}.hero-bottom .signature{font-size:27px}.hero-controls{gap:2px}.hero-controls button{min-width:30px}.section{padding-top:34px;padding-bottom:34px}.section-title{margin-bottom:25px}.section-title h2{font-size:29px}.eyebrow{font-size:11px}.story{display:block;border-top:8px solid var(--paper)}.portrait{display:none}.story-copy{padding:36px 23px}.story-copy h2{font-size:34px}.story-copy>p:not(.eyebrow){font-size:15px}.qualities{margin:25px 0}.qualities p{font-size:13px}.qualities h3{font-size:22px}.qualities .icon{height:32px;width:32px}.universes{display:flex;flex-direction:column;gap:13px}.universe-card{display:flex;align-items:center;background:transparent;color:var(--ink);gap:16px}.universe-card>.photo{width:96px;height:112px;flex-shrink:0;aspect-ratio:auto;border-radius:2px}.universe-copy{padding:0;flex:1}.universe-copy h3{font-size:23px;margin:0 0 7px}.universe-copy p{font-size:14px;color:#625e58;min-height:0;margin:0;line-height:1.35}.universe-copy .discover{display:none}.universe-card>.icon{display:block;width:18px}.services{padding-top:16px}.services .section-title{display:none}.service-grid{display:flex;flex-direction:column;gap:22px}.service{text-align:left;padding:0;display:flex;align-items:center;gap:18px}.service>.icon{width:32px;height:32px;margin:0}.service h3{font-size:22px;margin:0 0 4px}.service p{font-size:14px}.products-section>.wrap{width:calc(100% - 44px)}.filters{gap:0;flex-wrap:nowrap;margin-bottom:20px}.filters button{font-size:13px;padding:8px 10px}.product-track{gap:16px}.product{flex-basis:100%}.product>.photo{aspect-ratio:1.2}.carousel-arrow{width:30px;height:30px}.carousel-arrow.previous{left:-17px}.carousel-arrow.next{right:-17px}.carousel-arrow .icon{width:18px}.products-section .button{width:100%}.benefits .section-title h2{font-size:28px}.benefit-grid{display:flex;flex-direction:column;gap:12px}.benefit{display:grid;grid-template-columns:40px 1fr;text-align:left;padding:18px 20px;column-gap:15px}.benefit>.icon{width:29px;height:29px;margin:0;grid-row:1/3;align-self:center}.benefit h3{font-size:16px;margin-bottom:6px}.benefit p{font-size:14px}.benefit-bg{width:100%;opacity:.16}.moment-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;gap:15px}.moment{flex:0 0 92%;display:flex;scroll-snap-align:start}.moment .photo{width:36%;aspect-ratio:1}.moment>div:last-child{padding:20px 15px}.moment h3{font-size:20px}.gallery-grid{gap:9px}.gallery-grid .photo{aspect-ratio:1}.contact{display:block}.contact-card{padding:32px 23px}.contact-card h2{font-size:32px}.map{min-height:270px}.footer{padding:28px 22px 20px}.footer>.signature{text-align:left;margin:25px 0;font-size:21px}.footer-bottom{font-size:11px;gap:5px}.footer-bottom button{font-size:12px}.welcome h2{font-size:36px}.welcome .dialog-body{padding:36px 24px}.welcome .button{gap:8px;font-size:14px}.dialog h2{font-size:32px}.dialog-body{padding:42px 24px 28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-picture{transform:none!important}}

/* ===== La Maison des Spiritueux ===== */
:root{--wine:#7a0c22;--gold:#d9b26a}
.brand-logo{width:52px;height:52px;object-fit:contain;flex-shrink:0}
.brand>span:last-child{font:15px/1.05 var(--serif);letter-spacing:.02em}
.hero-shade{background:linear-gradient(90deg,#000c 0%,#0008 38%,transparent 72%),linear-gradient(0deg,#000a,transparent 40%)}
.hero-tagline{font-size:14px;line-height:1.45;color:#e8e2d6;margin:0 0 14px}
.hero-bottom{align-items:end}
.hero-bottom .signature{font-size:32px}

/* Histoire */
.portrait blockquote{max-width:300px}
.quote-sign{display:flex;align-items:center;gap:14px;margin-top:16px}
.quote-sign small{font:11px var(--sans);letter-spacing:.08em;color:#bbb;text-transform:none}
.quote-sign .signature{font-size:19px;margin:0}
.stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:0;margin:30px 0 32px}
.stats div{padding:0 34px;border-left:1px solid var(--line)}
.stats div:first-child{padding-left:0;border:0}
.stats dt{font:40px/1 var(--serif);color:var(--wine);margin-bottom:8px}
.stats dd{margin:0;font-size:13px;color:var(--muted)}

/* Univers */
@media(min-width:521px){.universe-copy p{color:#c9c3b7}}

/* Produits vedettes */
.product{display:flex;flex-direction:column;color:#fff;transition:transform .25s}
.product:hover{transform:translateY(-4px)}
.product-link{display:block;flex:1}
.product .product-body{padding:20px 20px 4px}
.product .order-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 20px 20px}
.product .add-button{color:#f4efe6;border-color:#ffffff55}
.product .add-button:hover,.product .add-button.is-in{background:#f4efe6;color:#7a0c22;border-color:#f4efe6}
.product .photo{background-size:cover}
.product h3{font-size:19px}
.product .product-label{font-size:12px;color:var(--gold);margin:0 0 12px;letter-spacing:.03em}
.product .product-price{font:600 16px var(--sans);color:#fff;letter-spacing:.02em}
.filter-empty{text-align:center;color:#f2d6dc;margin:10px 0 0}
.filter-empty a{text-decoration:underline;text-underline-offset:3px}

/* Témoignages */
.testimonial-carousel{position:relative}
.testimonial-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 10px}
.testimonial-track::-webkit-scrollbar{display:none}
.testimonial{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start;margin:0;background:#fff;border:1px solid #e4e0d9;border-radius:5px;padding:24px 26px}
.testimonial-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.testimonial-head strong{display:block;font-family:var(--serif);font-weight:400;font-size:19px}
.avatar{width:46px;height:46px;border-radius:50%;background:var(--wine);color:#fff;display:grid;place-items:center;font:20px var(--serif);flex-shrink:0}
.stars{color:var(--gold);letter-spacing:2px;font-size:14px}
.testimonial blockquote{margin:0;color:#5c5751;font-size:15px;line-height:1.55}
.testimonial-carousel .carousel-arrow{background:#fff;color:var(--ink);border-color:var(--line)}

/* Galerie */
.gallery-more>span{opacity:1;background:#000a;flex-direction:column;gap:8px;font:15px/1.3 var(--serif);text-align:center;display:flex;align-items:center;justify-content:center}

/* Contact */
.contact-details a:hover{color:var(--gold)}
.map>a{justify-content:space-between;text-align:left;line-height:1.35}
.map>a strong{color:var(--wine);font-weight:600}
.map>a span{flex:1}

/* Pied de page */
.socials{display:flex;align-items:center;gap:6px}
.socials a{width:40px;height:40px;display:grid;place-items:center;color:var(--gold);border-radius:50%;transition:background .2s}
.socials a:hover{background:#ffffff12}
.socials .icon{width:20px;height:20px}
.age-reopen{margin-left:6px;font-size:12px}
.footer-bottom>span{max-width:640px}

/* Vérification d'âge */
.welcome-logo{width:110px;height:110px;object-fit:contain;margin:0 auto 18px;display:block;filter:drop-shadow(0 4px 14px #0003)}
.welcome{background:#0d0b0a;color:#f4efe6;border-color:#b7975d}
.welcome .eyebrow{color:var(--gold)}
.welcome p{color:#cfc8bc}
.welcome .text-button{color:#cfc8bc}
.welcome .muted{margin:22px 0 0;font-size:12px;color:#9a9388}
#exit-screen img{width:120px;height:120px;object-fit:contain}

/* Intro vidéo en overlay */
#intro{position:fixed;inset:0;z-index:100;background:#040103;display:flex;align-items:center;justify-content:center;transition:opacity .9s ease,visibility .9s}
#intro video{width:100%;height:100%;max-width:100vmin;max-height:100vmin;object-fit:contain}
#intro.hide{opacity:0;visibility:hidden}
#intro-skip{position:absolute;right:20px;bottom:20px;background:none;border:1px solid #d9b26a88;color:var(--gold);font:11px var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:10px 16px;min-height:40px}
#intro-skip:hover{background:var(--gold);color:#18130b}

@media(max-width:1100px){.testimonial{flex-basis:calc((100% - 22px)/2)}
.stats div{padding:0 20px}
}
@media(max-width:780px){.brand-logo{width:44px;height:44px}
.footer-top{flex-wrap:wrap}
.stats dt{font-size:32px}
}
@media(max-width:520px){.hero-tagline{display:none}
.hero h1{font-size:44px}
.stats{grid-template-columns:repeat(3,1fr)}
.stats div{padding:0 12px}
.stats dt{font-size:27px}
.stats dd{font-size:11px}
.testimonial{flex-basis:92%}
.product .product-price{font-size:15px}
.map>a{font-size:13px}
}

/* FAQ */
.faq{padding-top:40px}
.faq-list{max-width:860px;margin:0 auto;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 4px;cursor:pointer;font:400 21px/1.3 var(--serif)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--wine)}
.faq-sign{position:relative;width:16px;height:16px;flex-shrink:0}
.faq-sign::before,.faq-sign::after{content:'';position:absolute;left:0;top:7px;width:16px;height:1.5px;background:var(--wine);transition:transform .25s}
.faq-sign::after{transform:rotate(90deg)}
.faq-item[open] .faq-sign::after{transform:rotate(0)}
.faq-answer{padding:0 44px 22px 4px;color:#5c5751;line-height:1.65;font-size:15px}
.faq-answer p{margin:0}
.faq-answer a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}
.faq-more{text-align:center;margin:28px 0 0;color:var(--muted);font-size:15px}
.faq-more a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}
@media(max-width:520px){.faq-item summary{font-size:18px;padding:18px 2px}.faq-answer{padding-right:8px;font-size:14px}}
