
:root{
  --bg:#FFFFFF; --ink:#1D1C18; --mut:#6E6759; --acc:#D09488;
  --rose:#FAE7E0; --rose-h:#F5D6CC; --stone:#F8F7F4; --line:#EFEDE8; --white:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
::selection{background:var(--rose);color:var(--ink)}
body{font-family:'Inter',sans-serif;font-weight:300;font-size:16px;line-height:1.75;
  color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:'Newsreader',serif;font-weight:340;line-height:1.08;letter-spacing:-.01em;
  }
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:.8rem 1.4rem;z-index:300}
.skip:focus{left:0}
.wrap{max-width:1280px;margin:0 auto;padding:0 5vw}
.narrow{max-width:760px;margin:0 auto;padding:0 5vw}
.kick{font-size:.72rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--mut)}
.kick.acc{color:var(--acc)}
.btn{display:inline-block;font-size:.7rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;
  padding:1.05rem 2.6rem;border:1px solid var(--ink);color:var(--ink);transition:all .35s cubic-bezier(.4,0,.2,1);cursor:pointer;background:transparent;font-family:inherit}
.btn:hover,.btn:active{background:var(--rose);border-color:var(--rose);color:var(--ink)}
.btn.inv{border-color:rgba(255,255,255,.85);color:#fff}
.btn.inv:hover{background:#fff;color:var(--ink)}
.btn.fill{background:var(--rose);border-color:var(--rose);color:var(--ink)}
.btn.fill:hover{background:var(--rose-h);border-color:var(--rose-h);color:var(--ink)}
.tlink{font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink);
  border-bottom:1px solid var(--acc);padding-bottom:.35rem;transition:.3s}
.tlink:hover{color:var(--acc)}
/* age gate */
#gate{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  padding:1.5rem;transition:opacity .7s ease,visibility .7s}
#gate.off{opacity:0;visibility:hidden}
#gate .gbg{position:absolute;inset:0;background-size:cover;background-position:center 65%}
#gate .gbg::after{content:"";position:absolute;inset:0;background:rgba(251,250,246,.18)}
#gate .gcard{position:relative;text-align:center;max-width:520px;width:100%;
  background:rgba(251,250,246,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.6);padding:3.4rem 2.8rem 2.8rem;box-shadow:0 30px 80px rgba(29,28,24,.18)}
#gate .gcard img{width:150px;margin:0 auto 1.6rem}
#gate .gk{font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;color:var(--mut)}
#gate p.gtxt{margin:1.6rem auto 2.2rem;color:#3d3a33;font-size:.93rem;max-width:380px}
#gate .gbtns{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}
#gate .no{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);
  padding:1.05rem 1.4rem;border:0;cursor:pointer;background:none;font-family:inherit}
#gate .no:hover{color:var(--ink)}
#gate .gmsg{display:none;font-size:.85rem;color:#3d3a33;margin-top:1.4rem}
#gate .legal{margin-top:2.2rem;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
/* header */
header{position:fixed;top:0;left:0;right:0;z-index:90;padding:1.3rem 0;transition:.4s}
header.scr{background:rgba(251,250,246,.9);backdrop-filter:blur(14px);padding:.7rem 0;border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;max-width:1440px}
.logo img{height:52px;width:auto;transition:.4s}
header.scr .logo img{height:40px}
header nav ul{display:flex;gap:1.9rem;list-style:none;align-items:center;flex-wrap:wrap;justify-content:flex-end}
header nav a{font-size:.68rem;font-weight:400;letter-spacing:.24em;text-transform:uppercase;position:relative;padding-bottom:.35rem}
header nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--acc);transition:.35s}
header nav a:hover::after,header nav a.on::after{width:100%}
header nav a.shop{background:var(--rose);padding:.65rem 1.3rem .6rem;border-radius:2px}
header nav a.shop::after{display:none}
header nav a.shop:hover{background:var(--rose-h)}
header nav .langs{font-size:.6rem;letter-spacing:.14em;color:var(--mut);display:flex;gap:.55rem;align-items:center}
header nav .langs b{font-weight:400;color:var(--ink)}
header nav .langs a{font-size:.6rem;letter-spacing:.14em;padding-bottom:0}
header nav .langs a::after{display:none}
header nav .langs a:hover{color:var(--acc)}
.burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;position:relative;z-index:110}
.burger span{position:absolute;left:8px;width:28px;height:1px;background:currentColor;transition:.35s}
.burger span:nth-child(1){top:14px}.burger span:nth-child(2){top:22px}.burger span:nth-child(3){top:30px}
body.navopen .burger span:nth-child(1){top:22px;transform:rotate(45deg)}
body.navopen .burger span:nth-child(2){opacity:0}
body.navopen .burger span:nth-child(3){top:22px;transform:rotate(-45deg)}
/* reveals */
.rv{opacity:0;transform:translateY(34px);transition:opacity 1s cubic-bezier(.2,.6,.2,1),transform 1s cubic-bezier(.2,.6,.2,1)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}
.d4{transition-delay:.48s}.d5{transition-delay:.6s}.d6{transition-delay:.72s}
.imgw{overflow:hidden}
.imgw img{transform:scale(1.09);transition:transform 1.6s cubic-bezier(.2,.6,.2,1);width:100%;height:100%;object-fit:cover}
.imgw.in img{transform:scale(1)}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .rv,.imgw img{opacity:1 !important;transform:none !important;transition:none !important}
  .scrollcue::after{animation:none}
}
/* hero */
.hero-t{min-height:92vh;display:flex;flex-direction:column;justify-content:center;padding:9rem 0 4rem}
.hero-t{min-height:92svh;display:flex;flex-direction:column;justify-content:center;padding:9rem 0 4rem}
.hero-t h1{font-size:clamp(2.6rem,7.5vw,6.4rem);font-weight:300}
.hero-t h1 em{font-style:italic;font-weight:280;color:var(--acc)}
.hero-t .sub{display:flex;justify-content:space-between;align-items:flex-end;margin-top:3.5rem;gap:2rem;flex-wrap:wrap}
.hero-t .sub p{max-width:400px;color:#4a463d;font-size:.95rem}
.hero-t .ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.6rem}
.scrollcue{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mut);
  display:inline-flex;align-items:center;gap:.9rem}
.scrollcue::after{content:"";width:1px;height:44px;background:var(--mut);display:block;animation:cue 2.2s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.bleed{height:105vh;position:relative}
.bleed{height:105svh;position:relative}
.bleed .imgw{position:absolute;inset:0}
.bleed .cap{position:absolute;bottom:2.2rem;left:5vw;color:#fff;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;opacity:.85}
.bleed.short{height:72vh}
.bleed.short{height:72svh}
.manif{padding:11rem 0}
.manif p.big{font-family:'Newsreader',serif;font-size:clamp(1.7rem,3.6vw,3rem);font-weight:320;line-height:1.35;max-width:1000px}
.manif p.big em{font-style:italic;color:var(--acc)}
.trip{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem;padding:0 0 10rem}
.trip figure .imgw{aspect-ratio:3/4}
.trip figcaption{display:flex;justify-content:space-between;margin-top:1.1rem;font-size:.68rem;
  letter-spacing:.26em;text-transform:uppercase;color:var(--mut)}
.trip figcaption b{font-weight:400;color:var(--ink)}
.chap{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:5.5rem 0;border-top:1px solid var(--line)}
.chap .imgw{aspect-ratio:4/3}
.chap.rev .imgw{order:2}
.chap .num{font-family:'Newsreader',serif;font-size:.95rem;color:var(--acc);font-style:italic;margin-bottom:1.6rem}
.chap h2{font-size:clamp(1.9rem,3.4vw,2.9rem);margin-bottom:1.4rem}
.chap p{color:#4a463d;max-width:480px;margin-bottom:1.1rem}
.chap .tlink{display:inline-block;margin-top:1.2rem}
.quote{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.quote{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.quote .imgw{position:absolute;inset:0}
.quote .imgw::after{content:"";position:absolute;inset:0;background:rgba(24,21,16,.32)}
.quote blockquote{position:relative;z-index:2;font-family:'Newsreader',serif;font-size:clamp(1.8rem,4.2vw,3.4rem);
  font-weight:300;font-style:normal;max-width:920px;padding:0 5vw;line-height:1.35}
.manif p.big em{font-style:normal}
/* bandeau presse */
.press{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:3.2rem 0;background:var(--white)}
.press .wrap{text-align:center}
.press .pk{font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;color:var(--mut);margin-bottom:2rem}
.press ul{list-style:none;display:flex;justify-content:center;align-items:center;gap:3.4rem;flex-wrap:wrap}
.press li{white-space:nowrap;opacity:.82;line-height:1;display:flex;align-items:center}
.press img{width:auto;height:28px}
.press .pl-point img{height:30px}
.press .pl-monde img{height:34px}
.press .pl-rvf img{height:52px}
.press .pl-varmatin img{height:23px}
.press .pl-provence img{height:31px}
@media(max-width:1020px){
  .press img{height:22px}
  .press .pl-monde img{height:26px}
  .press .pl-rvf img{height:42px}
  .press .pl-varmatin img{height:18px}
  .press .pl-provence img{height:24px}
}
/* réassurance */
.assur{display:flex;justify-content:center;gap:4rem;flex-wrap:wrap;padding:3rem 5vw;background:var(--stone)}
.assur div{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#4a463d;display:flex;align-items:center;gap:.7rem}
.assur div::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc);flex:none}
/* vins accueil */
.vins-h{padding:9rem 0 5rem}
.vins-h .head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1.5rem}
.vins-h h2{font-size:clamp(2.2rem,4.5vw,3.6rem)}
.gname{font-family:'Newsreader',serif;font-style:italic;font-size:1.15rem;color:var(--acc);margin:3.2rem 0 1.4rem}
.gname small{font-style:normal;font-family:'Inter',sans-serif;font-size:.72rem;color:var(--mut);letter-spacing:.04em}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.vcard{text-align:center;padding:2.6rem 1.2rem 2rem;background:var(--stone);transition:.45s cubic-bezier(.2,.6,.2,1)}
.vcard:hover{transform:translateY(-8px);background:var(--rose)}
.vcard img{height:230px;width:auto;margin:0 auto 1.8rem;filter:drop-shadow(0 16px 18px rgba(29,28,24,.16));transition:.45s}
.vcard:hover img{transform:translateY(-5px)}
.vcard .n{font-family:'Newsreader',serif;font-size:1.12rem;line-height:1.3}
.vcard .a{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);margin-top:.5rem}
.visit-b{display:grid;grid-template-columns:1.1fr 1fr;min-height:78vh}
.visit-b{display:grid;grid-template-columns:1.1fr 1fr;min-height:78svh}
.visit-b .imgw{height:100%}
.visit-b .txt{display:flex;flex-direction:column;justify-content:center;padding:6rem 7vw;background:var(--stone)}
.visit-b h2{font-size:clamp(2rem,3.6vw,3rem);margin:1.4rem 0 1.6rem}
.visit-b p{color:#4a463d;max-width:440px}
.visit-b .btn{align-self:flex-start;margin-top:2.4rem}
/* pages */
.phead{padding:13rem 0 5rem}
.phead h1{font-size:clamp(2.8rem,7vw,5.6rem);font-weight:300;max-width:1000px}
.phead .kick{margin-bottom:2rem;display:block}
.phead .intro{max-width:620px;margin-top:2.4rem;color:#4a463d;font-size:1.02rem}
.crumb{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mut)}
.crumb a:hover{color:var(--acc)}
.wlist .gname{margin:4rem 0 0}
.wlist .row{display:grid;grid-template-columns:110px 1fr auto;gap:4vw;align-items:center;
  padding:3.2rem 0;border-top:1px solid var(--line);transition:.3s}
.wlist .row:hover{padding-left:1rem}
.wlist img{height:200px;width:auto;margin:0 auto;filter:drop-shadow(0 12px 14px rgba(29,28,24,.14))}
.wlist h2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:330}
.wlist .a{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mut);margin-top:.6rem}
.wlist .d{color:#4a463d;font-size:.92rem;max-width:520px;margin-top:.8rem}
.wlist .go{font-family:'Newsreader',serif;font-style:italic;font-size:1rem;color:var(--acc);white-space:nowrap}
/* fiche cuvée */
.cv-hero{min-height:88vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;background:var(--stone);padding:9rem 5vw 4rem;position:relative}
.cv-hero{min-height:88svh}
.cv-hero .crumb{position:absolute;top:7.2rem;left:5vw}
.cv-hero .g{font-family:'Newsreader',serif;font-style:italic;font-size:1.2rem;color:var(--acc)}
.cv-hero h1{font-size:clamp(2.6rem,8vw,6.4rem);font-weight:300;margin-top:.6rem}
.cv-hero .one{max-width:520px;margin:2.2rem auto 0;color:#4a463d;font-size:1rem}
.cv-hero .scrollcue{position:absolute;bottom:2.6rem;left:50%;transform:translateX(-50%)}
.cv-b{background:var(--stone);display:flex;justify-content:center;padding:0 0 7rem}
.cv-b img{height:min(62vh,560px);width:auto;filter:drop-shadow(0 34px 40px rgba(29,28,24,.2))}
.cv-b img{height:min(62svh,560px);width:auto;filter:drop-shadow(0 34px 40px rgba(29,28,24,.2))}
.cv-stats{padding:9rem 0}
.cv-stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem 2.5rem}
.cv-stats .it .l{font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--mut);margin-bottom:.9rem}
.cv-stats .it .v{font-family:'Newsreader',serif;font-size:1.45rem;font-weight:340;line-height:1.3}
.cv-stats .it .v small{display:block;font-family:'Inter',sans-serif;font-size:.8rem;color:#4a463d;margin-top:.5rem;font-weight:300}
.cv-note{margin-top:4rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--mut)}
.cv-deg{padding:8rem 0;background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cv-deg .line{display:grid;grid-template-columns:180px 1fr;gap:3rem;padding:2.8rem 0;border-top:1px solid var(--line);align-items:baseline}
.cv-deg .line:first-of-type{border-top:0}
.cv-deg .w{font-family:'Newsreader',serif;font-style:italic;font-size:1.35rem;color:var(--acc)}
.cv-deg .t{font-size:1.05rem;color:#37342c;max-width:680px}
.cv-acc{padding:8rem 0;text-align:center}
.cv-acc p{font-family:'Newsreader',serif;font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:320;line-height:1.5;max-width:820px;margin:2rem auto 0}
.cv-cta{padding:0 0 8rem;text-align:center}
.cv-cta .price{font-family:'Newsreader',serif;font-size:1.3rem;margin-bottom:1.8rem}
.cv-cta .price small{display:block;font-family:'Inter',sans-serif;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-top:.4rem}
.cv-nav{display:flex;justify-content:space-between;padding:2.4rem 5vw 7rem;border-top:1px solid var(--line);
  font-family:'Newsreader',serif;font-style:italic;font-size:1rem;gap:1rem;flex-wrap:wrap}
.cv-nav a:hover{color:var(--acc)}
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(251,250,246,.94);
  backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:.9rem 5vw;
  display:flex;align-items:center;justify-content:space-between;gap:1.2rem;
  transform:translateY(110%);transition:transform .45s cubic-bezier(.2,.6,.2,1)}
.buybar.on{transform:none}
.buybar .n{font-family:'Newsreader',serif;font-size:1.05rem}
.buybar .n small{font-family:'Inter',sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);margin-left:.9rem}
.buybar .btn{padding:.75rem 1.8rem}
/* visites */
.hrs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin:4rem 0}
.hrs .c{background:var(--white);border:1px solid var(--line);padding:3rem 2rem;text-align:center}
.hrs .d{font-family:'Newsreader',serif;font-size:1.05rem}
.hrs .h{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);margin-top:.7rem}
.notice{background:var(--rose);padding:2rem 2.4rem;font-size:.95rem;color:var(--ink);max-width:640px}
/* pro */
.pro-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin:4.5rem 0}
.pro-g .c{border:1px solid var(--line);padding:3rem 2.2rem;background:var(--white)}
.pro-g h3{font-size:1.35rem;margin-bottom:1rem}
.pro-g p{font-size:.92rem;color:#4a463d}
.login{max-width:480px;margin:0 auto 7rem;background:var(--white);border:1px solid var(--line);padding:3.5rem 3rem;text-align:center}
.login h2{font-size:1.7rem;margin-bottom:.8rem}
.login p{font-size:.9rem;color:#4a463d;margin-bottom:1.8rem}
.login input{width:100%;border:1px solid var(--line);background:var(--bg);padding:1rem 1.2rem;
  font-family:inherit;font-size:1rem;text-align:center;letter-spacing:.1em}
.login input:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.login .err{display:none;color:#A04834;font-size:.85rem;margin-top:1rem}
.login .btn{margin-top:1.6rem;width:100%}
.docs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin:3rem 0 1rem}
.doc{border:1px solid var(--line);background:var(--white);padding:2.2rem 2rem;transition:.3s;display:block}
.doc:hover{border-color:var(--acc);transform:translateY(-4px)}
.doc .t{font-family:'Newsreader',serif;font-size:1.15rem;margin:.8rem 0 .3rem}
.doc .s{font-size:.8rem;color:var(--mut)}
.doc .tag{display:inline-block;font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;
  background:var(--rose);padding:.3rem .7rem;border-radius:2px}
.pro-msg{background:var(--stone);padding:4rem 3rem;margin:4rem 0 7rem;display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}
.pro-msg h2{font-size:1.9rem;margin-bottom:1rem}
.pro-msg p{color:#4a463d;font-size:.95rem}
.pro-msg .btns{display:flex;flex-direction:column;gap:1rem}
/* contact */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start;padding-bottom:6rem}
.cinfo .big{font-family:'Newsreader',serif;font-size:1.6rem;line-height:1.4;margin-bottom:1.6rem}
.cinfo p{color:#4a463d;margin-bottom:1rem}
.cinfo a:hover{color:var(--acc)}
.cform label{display:block;font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;color:var(--mut);margin:1.7rem 0 .5rem}
.cform input,.cform textarea{width:100%;border:0;border-bottom:1px solid var(--line);
  background:transparent;padding:.7rem 0;font-family:inherit;font-size:1rem;color:var(--ink);border-radius:0}
.cform input:focus,.cform textarea:focus{outline:0;border-bottom:2px solid var(--acc)}
.cform button{margin-top:2.6rem}
.mapbox iframe{width:100%;height:440px;border:0;filter:grayscale(1) contrast(.95);opacity:.92}
.legalpg{padding-bottom:7rem}
.legalpg h3{margin:2.8rem 0 .9rem;font-size:1.3rem}
.legalpg p{color:#4a463d;font-size:.95rem}
.center-pg{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12rem 5vw 6rem}
.center-pg{min-height:60svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12rem 5vw 6rem}
.center-pg h1{font-size:clamp(2.4rem,6vw,4.5rem);font-weight:300;margin-bottom:1.4rem}
.center-pg p{color:#4a463d;max-width:440px;margin-bottom:2.4rem}
/* footer (très compact) */
footer{border-top:1px solid var(--line);padding:1.3rem 0 .8rem;background:var(--bg);font-size:.95em}
.frow{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.3rem 1.5rem;margin-bottom:.8rem}
.frow .flogo{grid-row:1/3}
.frow .flogo img{height:28px;width:auto}
.frow ul{list-style:none;display:flex;gap:1.3rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.frow ul a{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}
.frow ul a:hover{color:var(--acc)}
.fcoord{font-size:.8rem;color:var(--mut);text-align:right}
.fcoord a:hover{color:var(--acc)}
.news{border-top:1px solid var(--line);padding:.7rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.news .t{font-family:'Newsreader',serif;font-size:.95rem}
.news form{display:flex;gap:.8rem;flex-wrap:wrap}
.news input{border:0;border-bottom:1px solid var(--line);background:transparent;padding:.3rem 0;max-width:170px;
  font-family:inherit;font-size:.9rem;min-width:150px}
.news input:focus{outline:0;border-bottom:2px solid var(--acc)}
.news .btn{padding:.45rem 1.1rem}
footer .base{border-top:1px solid var(--line);padding-top:.6rem;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:.8rem;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
@media(max-width:1180px){
  header nav{position:fixed;inset:0;background:var(--bg);color:var(--ink);display:flex;align-items:center;
    justify-content:center;transform:translateX(102%);transition:.5s cubic-bezier(.6,0,.2,1);z-index:100}
  body.navopen header nav{transform:none}
  header nav ul{flex-direction:column;gap:2rem;text-align:center;justify-content:center}
  header nav a{font-size:.95rem}
  header nav .langs a,header nav .langs b{font-size:.8rem}
  .burger{display:block}
}
@media(max-width:1020px){
  body{font-weight:400}
  .trip{grid-template-columns:1fr;gap:3.5rem}
  .chap,.visit-b,.cgrid,.pro-msg{grid-template-columns:1fr}
  .chap.rev .imgw{order:0}
  .vgrid{grid-template-columns:1fr 1fr}
  .cv-stats .grid{grid-template-columns:repeat(2,1fr)}
  .cv-deg .line{grid-template-columns:1fr;gap:.6rem}
  .hrs,.pro-g,.docs{grid-template-columns:1fr}
  .wlist .row{grid-template-columns:80px 1fr;gap:1.6rem}
  .wlist .go{display:none}
  .visit-b .imgw{height:52vh}
  .visit-b .imgw{height:52svh}
  .bleed{height:64vh}
  .bleed{height:64svh}
  .bleed.short{height:52vh}
  .bleed.short{height:52svh}
  .quote{min-height:70vh}
  .quote{min-height:70svh}
}
@media(max-width:560px){
  .frow{grid-template-columns:1fr}
  .frow .flogo{grid-row:auto}
  .frow ul{justify-content:flex-start}
  .fcoord{text-align:left}
  .vgrid{grid-template-columns:1fr}
  .cv-stats .grid{grid-template-columns:1fr}
  .assur{gap:1.2rem;flex-direction:column;align-items:flex-start}
  .cv-nav{flex-direction:column;align-items:center;text-align:center}
  .buybar .n small{display:none}
  .hero-t{min-height:78vh}
  .hero-t{min-height:78svh}
}
/* ============ BOUTIQUE (panier + paiement Stripe) ============ */
.shop-head{padding-bottom:2rem}
.boutq{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:5vw;align-items:start;padding-bottom:6rem}
.slist .gname{margin:3rem 0 .4rem}
.sitem{display:grid;grid-template-columns:70px 1fr auto;gap:2rem;align-items:center;padding:1.6rem 0;border-bottom:1px solid var(--line)}
.sitem img{height:150px;width:auto;margin:0 auto;filter:drop-shadow(0 10px 12px rgba(29,28,24,.14))}
.sitem h2{font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:330}
.sitem .a{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);margin-top:.5rem}
.sitem .p{font-size:.95rem;margin-top:.6rem}
.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px}
.qty button{width:44px;height:44px;border:0;background:none;font-size:1.2rem;cursor:pointer;color:var(--ink)}
.qty button:hover{background:var(--stone)}
.qv{min-width:2.2rem;text-align:center;font-variant-numeric:tabular-nums}
.sitem.has .qty{border-color:var(--acc)}
.cart{position:sticky;top:7rem;background:var(--stone);padding:2rem;margin-top:3rem}
.cart .ck{font-family:'Newsreader',serif;font-style:italic;font-size:1.2rem;color:var(--acc);margin-bottom:1.2rem}
.cl{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.92rem;font-variant-numeric:tabular-nums}
.cl.tot{border-top:1px solid var(--line);margin-top:.4rem;padding-top:1rem;font-size:1.05rem}
.cmode{border:0;padding:0;margin:1rem 0}
.cmode legend{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mut);margin-bottom:.6rem}
.cmode label,.cage{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;margin:.5rem 0;cursor:pointer;line-height:1.4}
.cmode small{display:block;color:var(--mut);font-size:.78rem}
.cmode input,.cage input{margin-top:.25rem;accent-color:var(--acc);flex:none}
.cage a{border-bottom:1px solid currentColor}
.cmsg{font-size:.84rem;color:#4a463d;margin:.8rem 0;min-height:1.2em}
.cpay{width:100%;margin-top:1rem;text-align:center}
.cpay:disabled{opacity:.45;cursor:not-allowed}
.cerr{color:#9b3b2e;font-size:.84rem;margin-top:.6rem}
.cerr:empty{display:none}
.csec{font-size:.74rem;color:var(--mut);margin-top:1rem}
.mbar{display:none}
@media(max-width:1020px){
  .boutq{grid-template-columns:1fr}
  .cart{position:static;margin-top:1rem}
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:1rem;
    padding:.8rem 16px calc(.8rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);
    transform:translateY(110%);transition:transform .3s}
  .mbar.on{transform:none}
  .mbar .btn{padding:.7rem 1.4rem}
}
@media(max-width:560px){
  .sitem{grid-template-columns:52px 1fr;gap:1rem}
  .sitem img{height:110px}
  .sitem .qty{grid-column:2;justify-self:start}
}
.sitem .p small{color:var(--mut);font-size:.8rem}
.sitem.photo img{height:auto;width:70px;aspect-ratio:2/3;object-fit:cover;filter:none}
@media(max-width:560px){.sitem.photo img{width:52px}}
.btn.sold{background:none;border-color:var(--line);color:var(--mut);cursor:default}
.btn.sold:hover{background:none;border-color:var(--line);color:var(--mut)}
.sold-t{font-weight:400;color:var(--acc)}
.mill-form{max-width:460px;margin:0 auto}
.mill-form .row{display:flex;gap:.6rem}
.mill-form input[type=email]{flex:1;min-width:0;border:0;border-bottom:1px solid var(--ink);background:none;padding:.7rem .2rem;font:inherit;font-size:.92rem}
.mill-msg{font-size:.88rem;color:#4a463d;margin-top:1rem}
.mill-msg:empty{display:none}
@media(max-width:560px){.mill-form .row{flex-direction:column}.mill-form .btn{width:100%;text-align:center}}

.cv-nav a{display:inline-block;padding:.6rem 0}
.crumb a{display:inline-block;padding:.6rem 0}
/* bandeau cookies */
.consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:150;max-width:520px;background:var(--bg);border:1px solid var(--line);
  box-shadow:0 12px 40px rgba(29,28,24,.12);padding:1.5rem 1.6rem 1.3rem;font-size:.86rem;line-height:1.6;color:#4a463d}
.consent b{display:block;font-family:'Newsreader',serif;font-size:1.3rem;font-weight:400;color:var(--ink);margin-bottom:.4rem}
.consent a{border-bottom:1px solid var(--acc)}
.consent .row{display:flex;gap:.8rem;margin-top:1.2rem}
.consent .btn{flex:1;padding:.9rem 1rem;text-align:center}
@media(max-width:560px){.consent{left:.6rem;right:.6rem;bottom:.6rem;padding:1.1rem 1.1rem 1rem;font-size:.8rem;line-height:1.55}.consent b{font-size:1.1rem}.consent .row{margin-top:.9rem;gap:.6rem}.consent .btn{padding:.75rem .6rem}}
.ck-open{background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer}
.ck-open:hover{color:var(--acc)}
