:root{--paper:#f9f7f2;--white:#fff;--ink:#342a22;--muted:#736d63;--line:#dfd8ca;--gold:#786440;--sand:#e8dfca;--coffee:#35291f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:white;font-family:var(--font-body);font-size:15px;line-height:1.8}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-family:var(--font-heading);font-weight:500;line-height:1.14}h2{font-size:46px;letter-spacing:-1px}h3{font-size:31px;letter-spacing:-.5px}.page{width:calc(100% - 112px);max-width:1160px;margin:0 auto}.topbar{background:var(--coffee);color:#f5efdf}.topbar>.page{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:10px;letter-spacing:.25px}.topbar a:hover{color:#d7c195}.masthead{background:white}.main-nav{display:grid;grid-template-columns:1fr 260px 1fr;align-items:center;gap:20px;min-height:137px}.nav-half{display:flex;align-items:center;gap:39px;font-size:13px}.nav-right{justify-content:flex-end}.nav-half a{position:relative;padding:10px 0;white-space:nowrap}.nav-half a:after{content:'';position:absolute;bottom:6px;left:0;right:0;background:var(--gold);height:1px;transform:scaleX(0);transition:transform .2s}.nav-half a:hover:after{transform:scaleX(1)}.brand{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:13px 0 18px;line-height:1;color:var(--coffee)}.brand-wheat{height:21px;width:90px;color:var(--gold);margin-bottom:4px}.brand-name{font-family:var(--font-heading);font-size:49px;font-weight:600;letter-spacing:-2px;white-space:nowrap}.brand-name i{font-size:.75em;font-weight:500}.brand-sub{font-size:7px;letter-spacing:2.5px;margin-top:10px}.brand:hover{color:var(--coffee)}.hero{position:relative;background:var(--coffee);height:540px;max-height:66vw;color:white;overflow:hidden}.hero>img{object-position:center 59%;height:100%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#21181012 50%,#211810b8 100%);pointer-events:none}.hero-content{position:absolute;bottom:59px;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.hero-content p{font-size:12px;letter-spacing:.6px;margin-bottom:14px;color:#f3e7d3}.hero h1{font-size:57px;letter-spacing:-1px;line-height:1.03;text-shadow:0 1px 8px #21181020}.hero-link{display:inline-block;font-size:12px;letter-spacing:.3px;border:1px solid #fff9;padding:13px 22px;margin-bottom:4px;color:white;flex-shrink:0;transition:background .2s}.hero-link:hover{background:#fff;color:var(--coffee)}.hero-credit{position:absolute;bottom:12px;right:27px;font-size:8px;color:#f0e6d8;text-shadow:0 1px 5px #000}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;padding-top:83px;padding-bottom:85px;align-items:center}.section-index{font-size:10px;color:var(--gold);display:block;letter-spacing:1.6px;text-transform:uppercase;font-weight:600;margin-bottom:13px}.about h2{font-size:51px}.about-text{font-size:15px;line-height:1.95;max-width:560px;color:var(--muted)}.about-text p:first-child{color:var(--ink);font-size:17px;line-height:1.7}.about-text p+p{margin-top:15px}.plain-note{font-size:11px!important;letter-spacing:.2px;color:var(--gold)}.counter{padding:65px 0 70px;background:var(--paper);border-top:1px solid #eee9df;border-bottom:1px solid #eee9df}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:34px}.section-heading>p{color:var(--muted);font-size:13px;line-height:1.9;margin-bottom:4px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.photo-button{border:0;padding:0;background:none;display:block;width:100%;overflow:hidden}.photo-button img{transition:transform .4s,opacity .2s}.photo-button:hover img{transform:scale(1.025);opacity:.94}.product .photo-button{height:295px}.product h3{font-size:32px;margin-top:23px;margin-bottom:11px}.product p{font-size:13px;line-height:1.9;color:var(--muted);max-width:330px}.photos{padding-top:76px;padding-bottom:66px}.photos h2{font-size:44px}.underlined{font-size:11px;border-bottom:1px solid #bcaa8e;padding-bottom:5px;margin-bottom:4px;flex-shrink:0}.place-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}.place-grid .photo-button{height:345px}.place-grid>figure:nth-child(2){padding-top:48px}.place-grid>figure:nth-child(2) .photo-button{height:297px}.place-grid figcaption{font-size:11px;color:var(--muted);margin-top:11px}.photo-source{font-size:9px;color:#8b8378;margin-top:25px}.instagram-link{display:inline-block;margin-top:19px;font-size:12px;color:var(--gold);border-bottom:1px solid #d0c2a8;padding-bottom:4px}.visit{background:var(--coffee);color:var(--paper)}.visit-inner{display:grid;grid-template-columns:1fr 1fr;gap:110px;padding:65px 0 61px}.visit .section-index{color:#d1ba91}.visit-address h2{font-size:39px;line-height:1.25}.visit-address>p:not(.copy-feedback){font-size:12px;margin-top:17px;color:#cfc5b8}.phone{display:block;font-family:var(--font-heading);font-size:33px;line-height:1.2;margin-top:20px;font-variant-numeric:tabular-nums}.phone:hover{color:#dbc49c}.contact-links{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:25px}.directions{display:inline-block;padding:12px 18px;background:var(--sand);color:var(--coffee);font-size:11px;line-height:1.5;letter-spacing:.1px;transition:background .2s}.directions:hover{background:white;color:var(--coffee)}.copy-address{background:none;border:0;border-bottom:1px solid #a0927e;color:#e1d6c7;padding:0;font-size:11px;line-height:1.5}.copy-feedback{font-size:11px;min-height:20px;color:#e5cd9c;margin-top:8px}.visit-address>.contact-note{color:#b5a898;font-size:10px!important;margin-top:8px!important;max-width:320px;line-height:1.8}.hours h2{font-size:38px;margin-bottom:18px}.hours table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-weight:400;color:#e3d8c9}td{text-align:right;font-variant-numeric:tabular-nums;color:#faf5eb}th,td{padding:14px 0;border-bottom:1px solid #6a5b4b;white-space:nowrap}.hours>p{font-size:10px;color:#b5a898;line-height:1.9;margin-top:20px}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:30px!important;padding-bottom:30px!important;font-size:11px}.footer-brand{font-family:var(--font-heading);font-weight:600;font-size:32px;line-height:1}.footer-brand>span{display:block;margin-top:8px;font-family:var(--font-body);font-size:6px;letter-spacing:2px;font-weight:400}footer>div{display:flex;align-items:center;gap:22px;font-size:9px;color:var(--muted)}footer button{background:none;border:0;padding:0;font-size:inherit;text-decoration:underline;text-underline-offset:3px}dialog{border:0;padding:0;max-height:90vh;max-width:90vw;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#1c1714df;backdrop-filter:blur(3px)}.lightbox{background:#29221d;color:var(--paper);max-width:min(950px,92vw);padding:40px 20px 20px}.lightbox img{height:auto;max-height:70vh;width:auto;max-width:100%;object-fit:contain;margin:auto}.lightbox p{font-size:12px;text-align:center;margin-top:15px}.dialog-close{position:absolute;right:7px;top:0;background:none;border:0;width:38px;height:38px;font-size:28px;line-height:1}.credits{max-width:700px;padding:45px}.credits .eyebrow{font-size:10px;color:var(--muted)}.credits h2{font-size:35px;margin:15px 0 20px}.credits h3{font-size:26px;margin:20px 0 0}.credits p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.8;margin:12px 0}.credits a{text-decoration:underline}.skip{position:fixed;top:-100px;left:15px;background:var(--paper);padding:10px;z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.hero{height:610px}.hero-content{bottom:65px}.hero h1{font-size:65px}}
@media(max-width:1050px){.page{width:calc(100% - 72px)}.main-nav{grid-template-columns:1fr 220px 1fr;gap:10px}.nav-half{gap:23px;font-size:11px}.brand-name{font-size:46px}.hero{height:500px}.hero h1{font-size:51px}.hero-content{bottom:46px}.about{gap:55px;padding-top:65px;padding-bottom:65px}.product-grid{gap:23px}.product .photo-button{height:250px}.product h3{font-size:29px}.place-grid{gap:24px}.visit-inner{gap:65px}.visit-address h2{font-size:37px}}
@media(max-width:800px){.page{width:calc(100% - 48px)}.main-nav{grid-template-columns:1fr 190px 1fr;min-height:123px}.nav-half{gap:13px;font-size:10px}.brand-name{font-size:40px}.brand-sub{font-size:6px;letter-spacing:1.7px}.brand-wheat{height:19px;width:80px}.hero{height:455px;max-height:none}.hero-content{bottom:43px;gap:25px}.hero h1{font-size:46px}.hero-content p{font-size:10px}.hero-link{padding:11px 15px;font-size:10px}.about{grid-template-columns:.9fr 1.1fr;gap:32px}.about h2{font-size:44px}.about-text{font-size:13px}.about-text p:first-child{font-size:15px}.section-heading>p{font-size:11px}.section-heading h2{font-size:42px}.product-grid{gap:18px}.product .photo-button{height:210px}.product h3{font-size:25px;line-height:1.15}.product p{font-size:11px}.photos h2{font-size:40px}.place-grid .photo-button{height:280px}.place-grid>figure:nth-child(2){padding-top:38px}.place-grid>figure:nth-child(2) .photo-button{height:242px}.visit-inner{gap:40px}.visit-address h2{font-size:33px}.phone{font-size:30px}.hours table{font-size:11px}.hours h2{font-size:33px}.contact-links{gap:15px}.directions,.copy-address{font-size:10px}.visit-address>.contact-note{font-size:9px!important}footer>div{gap:16px}}
@media(max-width:600px){.page{width:calc(100% - 40px)}.topbar>.page{font-size:8px;padding:8px 0;letter-spacing:0}.main-nav{grid-template-columns:1fr 1fr;gap:0;min-height:0}.brand{grid-column:1/-1;grid-row:1;padding:15px 0 17px}.brand-name{font-size:45px}.brand-sub{font-size:6px;letter-spacing:2px;margin-top:8px}.brand-wheat{height:17px;width:81px;margin-bottom:4px}.nav-half{font-size:10px;gap:0;justify-content:space-around;padding:9px 0 11px;border-top:1px solid #e7e0d5}.nav-right{justify-content:space-around}.nav-half a{padding:3px 0;line-height:1.6}.nav-half a:after{bottom:0}.hero{height:460px;max-height:none}.hero>img{object-position:49% center}.hero-shade{background:linear-gradient(180deg,transparent 40%,#21181020 60%,#211810c9 100%)}.hero-content{bottom:45px;display:block}.hero-content p{font-size:10px;margin-bottom:11px}.hero h1{font-size:39px;line-height:1.03;letter-spacing:-.5px}.hero-link{display:inline-block;padding:0 0 3px;border:0;border-bottom:1px solid #dbc8a8;font-size:10px;margin-top:17px;margin-bottom:0;line-height:1.7}.hero-link:hover{background:none;color:#e7d3ae}.hero-credit{font-size:6px;right:20px;bottom:10px;max-width:250px}.about{grid-template-columns:1fr;gap:23px;padding-top:45px;padding-bottom:45px}.section-index{font-size:9px;letter-spacing:1.3px;margin-bottom:12px}.about h2{font-size:43px;line-height:1.05}.about h2 br{display:none}.about-text{font-size:14px;line-height:1.9}.about-text p:first-child{font-size:16px;line-height:1.7}.about-text p+p{margin-top:13px}.plain-note{font-size:10px!important}.counter{padding-top:42px;padding-bottom:43px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:40px}.section-heading>p{font-size:12px;margin-top:18px}.product-grid{grid-template-columns:1fr;gap:33px}.product .photo-button{height:auto;aspect-ratio:1.3}.product h3{font-size:33px;margin-top:18px;margin-bottom:10px}.product p{font-size:13px;line-height:1.9;max-width:none}.photos{padding-top:43px;padding-bottom:42px}.photos h2{font-size:37px}.section-heading>.underlined{display:inline-block;margin-top:15px;font-size:10px}.place-grid{grid-template-columns:1fr;gap:24px}.place-grid .photo-button{height:auto;aspect-ratio:1.3}.place-grid>figure:nth-child(2){padding-top:0}.place-grid>figure:nth-child(2) .photo-button{height:auto;aspect-ratio:1.55}.place-grid figcaption{font-size:10px;margin-top:8px}.photo-source{font-size:9px;margin-top:22px}.instagram-link{font-size:11px;margin-top:17px}.visit-inner{grid-template-columns:1fr;gap:31px;padding-top:43px;padding-bottom:42px}.visit-address h2{font-size:37px;line-height:1.15}.visit-address>p:not(.copy-feedback){font-size:11px;margin-top:14px}.phone{font-size:34px;margin-top:18px}.contact-links{gap:20px;margin-top:22px}.directions{font-size:10px;padding:12px 15px}.copy-address{font-size:10px}.copy-feedback{font-size:10px}.visit-address>.contact-note{font-size:9px!important;max-width:none}.hours{border-top:1px solid #6a5b4b;padding-top:24px}.hours h2{font-size:37px;margin-bottom:12px}.hours table{font-size:12px}th,td{padding:13px 0}.hours>p{font-size:9px;margin-top:19px}footer{flex-direction:column;align-items:flex-start;gap:22px;padding-top:27px!important;padding-bottom:27px!important}.footer-brand{font-size:31px}.footer-brand>span{font-size:6px}footer>div{font-size:8px;gap:16px;flex-wrap:wrap}.credits{padding:32px 24px}.credits h2{font-size:31px}.credits p:not(.eyebrow){font-size:11px}.lightbox{padding:40px 12px 18px}.lightbox p{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Photographies sélectionnées : salle, comptoir et boissons. */
.hero>img{object-position:53% 52%}
.counter-detail{object-position:center 68%}
img.reference-photo{transform:scale(1.045)}
.photo-button:hover img.reference-photo{transform:scale(1.065)}
.mood-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 28px;max-width:920px}
.mood-gallery .photo-button{height:auto;aspect-ratio:1.35}
.mood-gallery>figure:nth-child(2){padding-top:0}
.mood-gallery>figure:nth-child(2) .photo-button{height:auto;aspect-ratio:1.35}
@media(max-width:600px){
 .hero>img{object-position:59% center}
 .mood-gallery{grid-template-columns:1fr;gap:24px}
 .mood-gallery .photo-button,.mood-gallery>figure:nth-child(2) .photo-button{height:auto;aspect-ratio:1.35}
 .mood-gallery figcaption{font-size:9px}
}

/* Avis Google : même palette et typographie que la boutique. */
.reviews{background:var(--paper);border-top:1px solid #eee9df;padding:65px 0 70px}
.reviews-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:90px;align-items:start}
.reviews h2{font-size:43px;max-width:330px}
.review-score{margin:23px 0 21px}
.review-score>strong{font-family:var(--font-heading);font-size:57px;line-height:1;display:block;font-weight:500}
.review-score>strong>span{font-family:var(--font-body);font-size:15px;color:var(--muted)}
.review-stars{color:var(--gold);letter-spacing:3px;font-size:15px;display:inline-block;line-height:1.5}
.aggregate-stars{margin-top:12px;background:linear-gradient(90deg,var(--gold) 96%,#d9d4c9 96%);background-clip:text;-webkit-background-clip:text;color:transparent}
.review-score p{font-size:12px;color:var(--muted);margin-top:4px}
.reviews-date{font-size:9px;color:var(--muted);margin-top:13px}
.review-quotes{display:grid;gap:27px}
.review-quotes figure{border-bottom:1px solid var(--line);padding-bottom:25px}
.review-quotes blockquote{font-family:var(--font-heading);font-size:29px;line-height:1.35;margin:12px 0 18px}
.review-quotes figcaption{font-size:11px;line-height:1.7}
.review-quotes figcaption strong{font-weight:600;display:block}
.review-quotes figcaption span{font-size:9px;color:var(--muted)}
@media(max-width:800px){.reviews-layout{gap:40px;grid-template-columns:1fr 1.15fr}.reviews h2{font-size:37px}.review-quotes blockquote{font-size:26px}}
@media(max-width:600px){.reviews{padding:42px 0}.reviews-layout{grid-template-columns:1fr;gap:32px}.reviews h2{font-size:37px;max-width:none}.review-score{margin:20px 0 17px}.review-quotes blockquote{font-size:28px}.review-quotes{gap:24px}}

/* Carrousel autonome : aucun service externe ni requête payante. */
.review-selection{font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:18px}
.review-carousel{min-width:0}
.review-carousel.is-ready .review-quotes{gap:0}
.review-carousel.is-ready .review-quotes figure{grid-area:1/1;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .45s ease}
.review-carousel.is-ready .review-quotes figure.is-active{visibility:visible;opacity:1;pointer-events:auto}
.review-controls{display:flex;align-items:center;gap:15px;margin-top:20px}
.review-controls[hidden]{display:none}
.review-controls button{border:1px solid var(--line);background:transparent;min-width:44px;min-height:44px;padding:5px 12px;line-height:1;font-size:19px;transition:background .2s}
.review-controls button:hover{background:var(--sand)}
.review-position{font-size:11px;color:var(--muted);min-width:35px;text-align:center;font-variant-numeric:tabular-nums}
@media(max-width:600px){.review-quotes blockquote{font-size:27px}.review-controls{gap:10px}}
@media(prefers-reduced-motion:reduce){.review-carousel.is-ready .review-quotes figure{transition:none}}

.review-original{display:block;width:fit-content;margin-top:9px;font-size:9px;color:var(--gold);text-decoration:underline;text-underline-offset:3px}

.review-carousel:focus-visible{outline:2px solid var(--gold);outline-offset:8px}

/* Audit responsive : titres et colonnes restent contenus sans masquer le contenu. */
.page{max-width:min(1160px,calc(100% - 40px))}
.main-nav,.about,.product-grid,.place-grid,.reviews-layout,.visit-inner{min-width:0}
.main-nav>*,.about>*,.product-grid>*,.place-grid>*,.reviews-layout>*,.visit-inner>*{min-width:0}
.section-heading{flex-wrap:wrap;align-items:flex-end;row-gap:17px}
.section-heading>div{min-width:0;flex:1 1 280px;max-width:100%}
.section-heading>p{max-width:100%}
.section-heading>.underlined{flex-shrink:1;max-width:100%;white-space:normal}
h1,h2,h3{overflow-wrap:break-word;max-width:100%}
.photos h2{font-size:clamp(32px,4vw,44px)}
.photos .section-heading{margin-bottom:28px}
.mood-gallery figure{min-width:0}
.photo-source{color:var(--muted);font-size:11px}
.place-grid figcaption{font-size:12px}
.review-original,.review-quotes figcaption span,.reviews-date{font-size:11px}
.review-quotes figcaption strong{font-size:12px}
.product p{font-size:14px}
.dialog-close{width:44px;height:44px}
.copy-address{min-height:44px;display:inline-flex;align-items:center}
@media(min-width:601px) and (max-width:900px){
 .section-heading{align-items:flex-start}
 .section-heading>p{flex:1 1 250px}
 .product-grid{gap:20px}
 .product h3{font-size:clamp(25px,3.3vw,30px)}
 .product p{font-size:13px}
}
@media(max-width:600px){
 .page{width:calc(100% - 40px);max-width:none}
 .section-heading>div{width:100%}
 .photos h2{font-size:clamp(30px,8vw,37px);line-height:1.1;letter-spacing:-.6px}
 .photos .section-heading>.underlined{font-size:12px;line-height:1.7;margin-top:15px}
 .mood-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
 .mood-gallery .photo-button,.mood-gallery>figure:nth-child(2) .photo-button{aspect-ratio:1;height:auto}
 .mood-gallery figcaption{font-size:11px}
 .photos{padding-top:38px;padding-bottom:38px}
 .counter{padding-bottom:38px}
 .nav-half{font-size:11px;gap:10px}
 .nav-half a{white-space:normal;min-height:44px;display:inline-flex;align-items:center;text-align:center;line-height:1.4}
 .product p{font-size:14px}
 .reviews h2{font-size:clamp(31px,8vw,37px)}
 .review-quotes blockquote{font-size:clamp(24px,7vw,27px)}
 .review-selection{font-size:11px;letter-spacing:.6px}
 .hours table{font-size:13px}
 .hours>p,.visit-address>.contact-note{font-size:11px!important}
 footer>div{font-size:11px}
 .instagram-link{font-size:12px}
}

/* Revue de presse : quatre références éditoriales, sans reproduire leurs images. */
.press{padding-top:70px;padding-bottom:70px}
.press h2{font-size:clamp(32px,4vw,46px)}
.press-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 60px}
.press-article{min-width:0;border-top:1px solid var(--line);padding-top:23px;display:flex;flex-direction:column;align-items:flex-start}
.press-meta{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.press-source{font-size:16px;font-weight:700;line-height:1.4;color:var(--coffee)}
.press-meta>span:last-child{font-size:11px;color:var(--muted);line-height:1.6}
.press-article h3{font-size:30px;line-height:1.18;letter-spacing:-.35px;margin-bottom:14px}
.press-article>p{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:17px;max-width:480px}
.press-article>a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:12px;border-bottom:1px solid var(--gold);margin-top:auto}
.press-article>a>span{font-size:16px;transition:transform .2s}
.press-article>a:hover>span{transform:translate(2px,-2px)}
.footer-press-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.press-grid{gap:32px}.press-article h3{font-size:27px}}
@media(max-width:600px){.press{padding-top:42px;padding-bottom:42px}.press-grid{grid-template-columns:1fr;gap:29px}.press h2{font-size:clamp(31px,8vw,37px)}.press-article h3{font-size:28px}.press-article>p{font-size:14px}.press-meta{margin-bottom:15px}}

/* Photos : vue du salon à l’accueil, pains dans le récit, galerie en mosaïque. */
.hero>img{object-position:53% 52%}
.about-story{grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:76px;align-items:center;padding-top:90px;padding-bottom:90px}
.about-copy h2{margin-bottom:28px}
.about-story .about-text{max-width:430px}
.bread-story{padding-top:38px}
.bread-story .photo-button{aspect-ratio:4/3;position:relative}
.bread-story img{object-fit:contain;transform:none}
.bread-story .photo-button:hover img{transform:none;opacity:1}
.bread-story figcaption{display:flex;align-items:center;gap:16px;font-size:11px;letter-spacing:.25px;margin-top:16px;color:var(--gold)}
.bread-story figcaption:before{content:'';width:38px;height:1px;background:var(--gold)}
.product-descriptions .product{border-top:1px solid var(--line);padding-top:22px}
.product-descriptions .product h3{margin-top:0}
.shop-gallery{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:34px;align-items:start}
.gallery-stage{height:536px;background:var(--paper);padding:0;display:flex;align-items:center;justify-content:center}
.gallery-stage img{width:100%;height:100%;object-fit:contain;transform:none}
.gallery-stage:hover img{transform:none;opacity:1}
.gallery-featured figcaption{font-family:var(--font-heading);font-size:31px;line-height:1.2;margin-top:18px;color:var(--ink)}
.gallery-thumbnails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 17px;padding-top:27px}
.gallery-thumb{background:none;border:0;padding:0;text-align:left;min-width:0;display:flex;flex-direction:column;gap:8px}
.gallery-thumb img{height:162px;object-fit:cover;opacity:.82;border:1px solid transparent;padding:4px;transition:opacity .2s,border-color .2s}
.gallery-thumb:first-child{grid-column:1/-1}
.gallery-thumb:first-child img{height:96px;object-position:center 43%}
.gallery-thumb:nth-child(n+4) img{height:104px}
.gallery-thumb[aria-pressed="true"] img{opacity:1;border-color:var(--gold)}
.gallery-thumb:hover img{opacity:1}
.gallery-thumb span{font-size:11px;line-height:1.5;overflow-wrap:break-word}
.shop-gallery+.instagram-link{margin-top:32px}
@media(max-width:1000px){.about-story{gap:42px}.gallery-stage{height:470px}.gallery-thumbnails{gap:17px 12px;padding-top:16px}.gallery-thumb img{height:135px}.gallery-thumb:first-child img{height:84px}.gallery-thumb:nth-child(n+4) img{height:88px}}
@media(max-width:800px){.about-story{grid-template-columns:1fr 1fr;gap:28px;padding-top:64px;padding-bottom:64px}.about-copy h2{font-size:42px}.bread-story{padding-top:45px}.shop-gallery{gap:22px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.gallery-stage{height:410px}.gallery-thumb img{height:112px}.gallery-thumb:first-child img{height:68px}.gallery-thumb:nth-child(n+4) img{height:76px}.gallery-thumbnails{padding-top:5px;gap:14px 10px}}
@media(max-width:600px){
 .hero>img{object-position:59% center}
 .about-story{grid-template-columns:1fr;gap:28px;padding-top:44px;padding-bottom:44px}
 .about-copy h2{margin-bottom:22px;font-size:43px}
 .bread-story{padding-top:0;margin-left:18px}
 .bread-story figcaption{margin-top:11px;font-size:11px}
 .shop-gallery{grid-template-columns:1fr;gap:22px}
 .gallery-stage{height:auto;aspect-ratio:4/3}
 .gallery-featured figcaption{font-size:27px;margin-top:13px}
 .gallery-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px;padding:0}
 .gallery-thumb:first-child{grid-column:auto}
 .gallery-thumb img,.gallery-thumb:first-child img,.gallery-thumb:nth-child(n+4) img{height:78px}
 .gallery-thumb span{font-size:11px}
 .product-descriptions{gap:23px}
 .product-descriptions .product{padding-top:18px}
}

/* Audit café : contraste, lecture, accès pratique et couleurs du salon. */
:root{--paper:#faf7ee;--ink:#293c34;--muted:#615e53;--line:#d9d7c9;--gold:#79623c;--sand:#e9e3ce;--coffee:#183f37;--green:#183f37}
body{font-size:16px;background:var(--paper);line-height:1.8}
.masthead{background:var(--paper)}
.topbar>.page{font-size:12px;padding:0;min-height:44px}
.topbar a{min-height:44px;display:inline-flex;align-items:center}
.main-nav{min-height:120px}
.nav-half{font-size:14px;gap:30px}
.nav-half a{min-height:44px;display:inline-flex;align-items:center}
.brand-name{color:var(--green)}
.brand-sub{font-size:8px;letter-spacing:1.8px}
.hero{height:565px;max-height:none}
.hero-shade{background:linear-gradient(90deg,#102d2485,transparent 78%),linear-gradient(180deg,transparent 23%,#10291fc9 100%)}
.hero-content{bottom:53px;display:block}
.hero h1{font-size:clamp(54px,5.8vw,76px);line-height:1.02;letter-spacing:-1.5px;max-width:760px;text-shadow:0 2px 12px #0004}
.hero-content .hero-location{font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:#fff6df;margin-bottom:18px}
.hero-content .hero-description{font-size:16px;line-height:1.7;letter-spacing:0;text-transform:none;color:#fff;margin-top:20px;margin-bottom:0;max-width:590px}
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:26px}
.button-light,.button-outline,.button-green{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:11px 22px;font-size:14px;font-weight:600;line-height:1.6;border:1px solid transparent;transition:background .2s,color .2s}
.button-light{background:var(--paper);color:var(--green);border-color:var(--paper)}
.button-light:hover{background:#fff;color:var(--green)}
.button-outline{border-color:#fff9;color:#fff}
.button-outline:hover{background:#fff;color:var(--green)}
.button-green{background:var(--green);color:var(--paper);border-color:var(--green)}
.button-green:hover{background:#24584a;color:#fff}
.hero-credit{font-size:10px;right:22px;bottom:12px;color:#fff;background:#14271dcc;padding:2px 8px;text-shadow:none}
.cafe-ribbon{border-bottom:1px solid var(--line);background:#eeecdf}
.cafe-ribbon>.page{display:flex;justify-content:space-between;gap:20px;padding:18px 0;font-size:13px;letter-spacing:.2px;color:var(--green)}
.cafe-ribbon span+span{border-left:1px solid #c5cbbb;padding-left:32px}
.cafe{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:90px;padding-top:86px;padding-bottom:74px;align-items:center}
.cafe>*{min-width:0}
.cafe-pictures{max-width:530px}
.cafe-coffee{width:82%}
.cafe-coffee .photo-button{aspect-ratio:1.28}
.cafe-tea{width:51%;margin-left:auto;margin-top:-50px;position:relative;border:9px solid var(--paper);background:var(--paper)}
.cafe-tea .photo-button{aspect-ratio:1.22}
.cafe-pictures figcaption{font-size:12px;color:var(--muted);line-height:1.7;margin-top:9px}
.cafe-tea figcaption{font-size:11px;margin-top:6px}
.cafe .photo-button img{transform:none}
.cafe .photo-button:hover img{transform:none;opacity:1}
.cafe h2{font-size:clamp(42px,4.4vw,58px);line-height:1.05;margin-bottom:24px}
.cafe-copy>p{font-size:16px;color:var(--muted);max-width:420px}
.cafe-specialties{list-style:none;padding:0;margin:24px 0 28px;border-top:1px solid var(--line);max-width:400px}
.cafe-specialties li{font-size:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.cafe-copy>.cafe-address{font-size:12px;margin-top:16px}
.section-index{font-size:12px;letter-spacing:1.5px}
.about-story{border-top:1px solid var(--line);padding-top:76px;padding-bottom:76px}
.about h2{font-size:52px}
.about-text,.about-text p:first-child{font-size:16px;line-height:1.85}
.bread-story{padding-top:15px}
.bread-story figcaption{font-size:12px}
.counter{background:#efeee2}
.section-heading>p{font-size:15px}
.product p{font-size:16px;line-height:1.85}
.product h3{font-size:33px}
.plain-note{font-size:13px!important}
.photos{padding-top:74px;padding-bottom:70px}
.photos h2{font-size:clamp(36px,4vw,48px)}
.gallery-stage{height:auto;aspect-ratio:4/3;background:#edece1}
.gallery-thumb img{opacity:1;padding:4px;border-width:2px}
.gallery-thumb[aria-pressed="true"] img{border-color:var(--green)}
.gallery-thumb span{font-size:13px}
.underlined,.instagram-link{font-size:13px;min-height:44px;display:inline-flex;align-items:center;line-height:1.6}
.reviews{background:#eeecdf}
.reviews h2{font-size:46px}
.review-quotes blockquote{font-size:32px}
.review-score p,.review-selection{font-size:13px}
.review-original,.review-quotes figcaption span,.reviews-date{font-size:12px}
.review-quotes figcaption strong{font-size:14px}
.review-controls button{border-color:#b8bca9;color:var(--green)}
.press-article>p{font-size:16px}
.press-meta>span:last-child{font-size:12px}
.press-article>a{font-size:14px}
.visit{background:var(--green)}
.visit .section-index{color:#e2d6b2}
.visit-address>p:not(.copy-feedback),.visit-address>.contact-note{font-size:13px!important;color:#e1e7dc}
.visit-address h2,.hours h2{font-size:43px}
.hours table{font-size:15px}
.hours th{color:#e7ebdf}
.hours>p{font-size:12px;color:#d2ddcd}
.directions,.copy-address{font-size:13px;min-height:48px;display:inline-flex;align-items:center}
.copy-address{color:#fff}
.phone{font-size:38px;display:inline-flex;align-items:center;min-height:48px}
footer>div{font-size:12px}
footer button{min-height:44px}
.mobile-quick-links{display:none}
a:focus-visible,button:focus-visible{outline:3px solid #a5813f;outline-offset:4px}
@media(max-width:1050px){.nav-half{font-size:12px;gap:22px}.cafe{gap:55px}.brand-sub{font-size:7px;letter-spacing:1.2px}}
@media(max-width:800px){.nav-half{font-size:11px;gap:13px}.main-nav{grid-template-columns:1fr 205px 1fr}.hero{height:535px}.hero h1{font-size:58px}.cafe{gap:32px;padding-top:60px;padding-bottom:58px}.cafe h2{font-size:42px}.cafe-copy>p{font-size:15px}.cafe-tea{width:55%;margin-top:-26px;border-width:6px}.cafe-ribbon>.page{font-size:12px;gap:16px}.cafe-ribbon span+span{padding-left:18px}.section-heading>p{font-size:14px}.product p{font-size:15px}.product h3{font-size:29px}}
@media(max-width:600px){
 body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-top:16px}
 .topbar>.page{font-size:11px;gap:8px}
 .main-nav{grid-template-columns:1fr 1fr;min-height:0}
 .brand{padding:14px 0 16px}
 .brand-sub{font-size:8px;letter-spacing:1.1px}
 .nav-half{font-size:12px;gap:14px;padding:8px 0;border-top-color:var(--line)}
 .nav-half a{line-height:1.5;white-space:normal}
 .hero{height:480px}
 .hero-content{bottom:46px}
 .hero h1{font-size:clamp(43px,11vw,58px);letter-spacing:-1px;line-height:1.04}
 .hero-content .hero-location{font-size:11px;letter-spacing:1.3px;margin-bottom:15px}
 .hero-content .hero-description{font-size:15px;line-height:1.65;margin-top:19px}
 .hero-description br{display:none}
 .hero-actions{gap:12px;margin-top:23px}
 .button-light,.button-outline,.button-green{font-size:13px;min-height:48px;padding:11px 17px;gap:18px}
 .hero-credit{font-size:9px;max-width:100%;right:15px;bottom:10px}
 .cafe-ribbon>.page{justify-content:flex-start;flex-wrap:wrap;gap:5px 14px;padding:14px 0;font-size:11px}
 .cafe-ribbon span+span{padding-left:0;border:0}
 .cafe-ribbon span:not(:last-child):after{content:'·';margin-left:14px}
 .cafe{grid-template-columns:1fr;gap:30px;padding-top:42px;padding-bottom:44px}
 .cafe-pictures{width:100%;max-width:420px;margin:0 auto}
 .cafe-coffee{width:82%}
 .cafe-tea{width:51%;margin-top:-30px;border-width:7px}
 .cafe-copy{max-width:430px}
 .cafe h2{font-size:42px;margin-bottom:18px}
 .cafe-copy>p{font-size:16px;line-height:1.8}
 .cafe-specialties{margin:21px 0 24px}
 .cafe-specialties li{font-size:15px}
 .section-index{font-size:11px;letter-spacing:1.2px}
 .about-story{padding-top:44px;padding-bottom:44px}
 .about h2{font-size:43px}
 .about-text,.about-text p:first-child{font-size:16px}
 .bread-story{padding-top:0;margin-left:0}
 .product h3{font-size:33px}
 .product p{font-size:16px}
 .photos{padding-top:44px;padding-bottom:44px}
 .photos h2{font-size:36px}
 .gallery-thumb span{font-size:12px}
 .gallery-featured figcaption{font-size:29px}
 .photos .section-heading>.underlined{font-size:13px}
 .reviews h2{font-size:38px}
 .review-quotes blockquote{font-size:29px}
 .reviews{padding-top:44px;padding-bottom:44px}
 .review-selection{font-size:12px}
 .press-article>p{font-size:16px}
 .visit-address h2,.hours h2{font-size:38px}
 .hours table{font-size:15px}
 .hours>p,.visit-address>.contact-note{font-size:12px!important}
 footer{gap:18px}
 footer>div{gap:12px 20px;font-size:12px}
 .mobile-quick-links{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -3px 18px #1a30200b}
 .mobile-quick-links a{display:flex;align-items:center;justify-content:center;gap:15px;min-height:48px;font-size:14px;line-height:1.4;background:var(--green);color:#fff;border:1px solid var(--green)}
 .mobile-quick-links a:first-child{background:var(--paper);color:var(--green)}
 body:has(dialog[open]) .mobile-quick-links{visibility:hidden}
}
