
/* Layout concept: a members' table rather than a shop window — warm paper, WYNE mono type,
   soft rounded photos, a slow drifting ribbon of domaines, and one red WYNE ALLOC' moment per screen.
   Thermo Zero (display) is ALWAYS uppercase. */
@font-face{font-family:"Favorit Mono";src:url(/assets/fonts/favorit-mono-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Favorit Mono";src:url(/assets/fonts/favorit-mono-bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Thermo Zero";src:url(/assets/fonts/thermo-zero.woff2) format("woff2");font-display:swap}
:root{
  --paper:#F1EBE2;      /* WYNE off-white */
  --paper-2:#E9E0D3;    /* warmer band */
  --ink:#2D2D2D;        /* WYNE black */
  --blue:#004899;       /* WYNE blue */
  --red:#E55645;        /* WYNE red */
  --gold:#9A8770;       /* WYNE gold */
  --soft:rgba(45,45,45,.68);
  --hair:rgba(45,45,45,.16);
  --display:"Thermo Zero","Arial Narrow",Impact,sans-serif;
  --mono:"Favorit Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --radius:18px;
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:15px;line-height:1.65;margin:0}
a{color:var(--blue)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
p{margin:0}
.wrap{max-width:1140px;margin:0 auto;padding-inline:max(16px,4.5vw)}
.t{font-family:var(--display);text-transform:uppercase;font-weight:400;letter-spacing:.01em;line-height:.95;text-wrap:balance;margin:0}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.btn{display:inline-flex;align-items:center;gap:10px;font:700 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:16px 22px;border-radius:999px;border:1.5px solid currentColor;text-decoration:none;cursor:pointer;background:none;color:var(--ink);transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn .arr{transition:transform .35s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn.red{background:var(--red);border-color:var(--red);color:var(--paper)}
.btn.red:hover{background:#d24a3a;border-color:#d24a3a}
.btn.light{color:var(--paper)}
.btn.light:hover{background:var(--paper);color:var(--ink)}

/* top */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:rgba(241,235,226,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.top .btn{padding:12px 16px;font-size:12px}
@media (max-width:780px){.top .btn{margin-left:auto}}

/* hero */
.hero{padding-top:18px}
.hero .frame{position:relative;border-radius:calc(var(--radius) + 6px);overflow:hidden;color:var(--paper);background:#1d1f16 url(/assets/img/wyne-collines.jpg) center/cover no-repeat}
.hero .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(24,22,14,.78) 0%,rgba(24,22,14,.35) 60%,rgba(24,22,14,.15) 100%)}
.hero .in{position:relative;z-index:1;display:grid;gap:26px;padding:clamp(32px,6vw,76px)}
.hero .tag{display:inline-flex;gap:10px;align-items:center;justify-self:start;border:1px solid rgba(241,235,226,.5);border-radius:999px;padding:8px 14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.hero .tag i{width:8px;height:8px;border-radius:50%;background:var(--red);display:block;animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(229,86,69,.6)}60%{box-shadow:0 0 0 8px rgba(229,86,69,0)}}
.hero h1{font-size:clamp(42px,7.6vw,98px);max-width:13ch}
.hero .lead{max-width:50ch;font-size:16px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}

/* ribbon of domaines */
.ribbon{overflow:hidden;padding-block:26px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ribbon .track{display:flex;gap:42px;width:max-content;animation:drift 70s linear infinite}
.ribbon span{font-family:var(--display);text-transform:uppercase;font-size:22px;letter-spacing:.03em;white-space:nowrap;color:var(--gold)}
.ribbon span::after{content:"·";margin-left:42px;color:var(--red)}
@keyframes drift{to{transform:translateX(-50%)}}
.ribbon:hover .track{animation-play-state:paused}

section{padding-block:clamp(60px,8vw,104px)}
.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:28px;align-items:end;margin-bottom:40px}
.head h2{font-size:clamp(34px,5.2vw,60px)}
.head p{color:var(--soft);max-width:48ch}
@media (max-width:760px){.head{grid-template-columns:1fr}}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.kpi{background:var(--paper-2);border-radius:var(--radius);padding:24px 22px;display:grid;gap:8px;align-content:start;transition:transform .45s var(--ease)}
.kpi:hover{transform:translateY(-4px)}
.kpi b{font-family:var(--display);text-transform:uppercase;font-weight:400;font-size:clamp(40px,5.4vw,64px);line-height:.9;font-variant-numeric:tabular-nums}
.kpi b small{font-size:.5em;margin-left:4px}
.kpi span{font-size:13px;color:var(--soft)}
.kpi.red{background:var(--red);color:var(--paper)}
.kpi.red span{color:rgba(241,235,226,.85)}
@media (max-width:760px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* rhythm: 3 Tuesdays */
.rhythm{background:var(--red);color:var(--paper);border-radius:calc(var(--radius) + 6px);padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:36px;align-items:center}
.rhythm .big{font-size:clamp(54px,9vw,120px);line-height:.85}
.rhythm p{max-width:44ch}
.days{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.days li{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:rgba(241,235,226,.12);border-radius:14px;padding:16px 18px;transition:background .35s var(--ease)}
.days li:hover{background:rgba(241,235,226,.2)}
.days .d{font-family:var(--display);text-transform:uppercase;font-size:34px;line-height:1;font-variant-numeric:tabular-nums}
.days .m{font-size:13px;opacity:.9}
.days .h{font-weight:700;font-size:13px;letter-spacing:.08em}
@media (max-width:820px){.rhythm{grid-template-columns:1fr}}

/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.steps li{border-radius:var(--radius);padding:24px 22px;background:var(--paper-2);display:grid;gap:10px;align-content:start}
.steps .n{font-family:var(--display);text-transform:uppercase;font-size:42px;line-height:1;color:var(--red)}
.steps h3{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:.06em}
.steps p{color:var(--soft);font-size:14px}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* Matthieu + latest */
.latest{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;align-items:start}
.latest figure{margin:0;display:grid;gap:12px}
.latest figure img{display:block;width:100%;height:auto;border-radius:var(--radius)}
.latest figcaption{font-size:12px;color:var(--soft)}
.menu{background:#f7f2eb;border-radius:var(--radius);padding:28px 28px 22px;box-shadow:0 1px 0 var(--hair),0 24px 50px -30px rgba(45,45,45,.35)}
.menu .mhead{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.menu .mtitle{font-size:clamp(30px,4.2vw,50px);margin:18px 0 10px}
.say{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;background:var(--paper-2);border-radius:14px;padding:14px 16px;margin:6px 0 4px}
.say .av{width:44px;height:44px;border-radius:50%;background:var(--blue);color:var(--paper);display:grid;place-items:center;font-family:var(--display);font-size:20px}
.say p{font-size:14px}
.say b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.menu h4{margin:22px 0 0;font-size:14px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--ink);padding-bottom:6px}
.wine{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;padding-top:14px}
.wine .price{font-weight:700;font-variant-numeric:tabular-nums}
.wine p{grid-column:1/-1;font-size:14px;color:var(--soft)}
.menu .mfoot{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:22px;padding-top:12px;border-top:1px solid var(--hair);font-size:12px;font-weight:700}
.sold{background:var(--ink);color:var(--paper);border-radius:999px;padding:6px 12px;letter-spacing:.1em}
@media (max-width:860px){.latest{grid-template-columns:1fr}.latest figure{max-width:420px}}

/* journal: horizontal, snapping */
.jr{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,31%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;scrollbar-width:thin}
.jr article{scroll-snap-align:start;background:var(--paper-2);border-radius:var(--radius);padding:22px;display:grid;gap:12px;align-content:start;transition:transform .45s var(--ease),background .45s var(--ease)}
.jr article:hover{transform:translateY(-4px);background:#e3d8c8}
.jr time{font-size:12px;color:var(--soft);font-variant-numeric:tabular-nums;letter-spacing:.08em}
.jr h3{font-family:var(--display);text-transform:uppercase;font-weight:400;font-size:26px;line-height:1;margin:0}
.jr .reg{font-size:12px;color:var(--gold);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.jr blockquote{margin:0;font-size:14px;color:var(--ink)}
.jr blockquote::before{content:"« "}.jr blockquote::after{content:" »"}
.jr .by{font-size:12px;color:var(--soft)}
@media (max-width:640px){.jr{grid-auto-columns:82%}}

/* team */
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.team article{background:var(--paper-2);border-radius:var(--radius);padding:26px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:start}
.team .av{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:28px;color:var(--paper)}
.team h3{margin:0;font-size:16px;text-transform:uppercase;letter-spacing:.05em}
.team .role{font-size:12px;color:var(--gold);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.team p{font-size:14px;color:var(--soft);margin-top:8px}
@media (max-width:700px){.team{grid-template-columns:1fr}}

/* join */
.join{background:var(--ink);color:var(--paper);border-radius:calc(var(--radius) + 6px);padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px;align-items:start}
.join h2{font-size:clamp(36px,5.4vw,62px)}
.join .why{display:grid;gap:16px}
.join .why p{color:rgba(241,235,226,.8)}
.perks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.perks li{display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:14px}
.perks li::before{content:"✓";color:var(--red);font-weight:700}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:grid;gap:6px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:rgba(241,235,226,.85)}
input{font:15px/1.4 var(--mono);color:var(--paper);background:rgba(241,235,226,.08);border:1px solid rgba(241,235,226,.22);border-radius:12px;padding:12px 14px;width:100%;transition:border-color .3s var(--ease),background .3s var(--ease)}
input:focus{border-color:var(--red);background:rgba(241,235,226,.12);outline:none}
.full{grid-column:1/-1}
.check{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-weight:400;font-size:13px}
.check input{width:auto;margin-top:3px}
.done{grid-column:1/-1;border:1px solid var(--red);border-radius:12px;padding:14px 16px;font-size:14px}
@media (max-width:860px){.join{grid-template-columns:1fr}}
@media (max-width:520px){form{grid-template-columns:1fr}}

footer{padding-block:34px 44px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--soft)}
footer img{height:26px;width:auto;display:block}
.evin{font-weight:700;color:var(--ink)}

/* soft entrance, visible at rest */
@keyframes rise{from{transform:translateY(14px)}to{transform:none}}
.hero .in>*{animation:rise .9s var(--ease) both}
.hero .in>*:nth-child(2){animation-delay:.08s}.hero .in>*:nth-child(3){animation-delay:.16s}.hero .in>*:nth-child(4){animation-delay:.24s}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* v3 additions */
.top nav a[aria-current="page"]::after{right:0}
.view[hidden]{display:none!important}

/* why this alloc: signed note instead of avatar box */
.note{margin:4px 0 6px;display:grid;gap:10px}
.note .eyebrow{color:var(--gold)}
.note p{font-size:15px}
.note .sig{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--gold)}

/* timeline */
.tl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tl li{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:18px;align-items:center;background:rgba(241,235,226,.12);border-radius:14px;padding:14px 18px;transition:background .35s var(--ease)}
.tl li:hover{background:rgba(241,235,226,.2)}
.tl .d{font-family:var(--display);text-transform:uppercase;font-size:30px;line-height:1;font-variant-numeric:tabular-nums}
.tl .d small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;margin-top:4px}
.tl .w b{display:block}
.tl .w span{font-size:13px;opacity:.88}
.tl .h{font-weight:700;font-size:12px;letter-spacing:.1em;white-space:nowrap}
.tl .soon{font-style:normal;border:1px dashed rgba(241,235,226,.6);border-radius:999px;padding:5px 10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
@media (max-width:560px){.tl li{grid-template-columns:64px minmax(0,1fr)}.tl .h{grid-column:2}}

/* carnet */
.carnet-top{display:grid;gap:18px;padding-block:clamp(40px,6vw,72px) 28px}
.carnet-top h1{font-size:clamp(40px,7vw,86px)}
.carnet-top p{max-width:60ch;color:var(--soft)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{font:700 12px/1 var(--mono);letter-spacing:.06em;border:1px solid var(--hair);background:var(--paper-2);color:var(--ink);border-radius:999px;padding:9px 12px;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease)}
.chips button:hover{background:var(--ink);color:var(--paper)}
.entry{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,1fr);gap:36px;padding-block:40px;border-top:1px solid var(--hair);scroll-margin-top:80px}
.entry aside{display:grid;gap:8px;align-content:start;position:sticky;top:90px}
.entry aside time{font-size:12px;letter-spacing:.14em;color:var(--soft)}
.entry aside h2{font-size:clamp(26px,3.2vw,38px)}
.entry aside .num{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--red)}
.entry .body{display:grid;gap:14px;min-width:0}
.entry .body>p{max-width:68ch}
.entry .wines{display:grid;gap:12px;margin-top:10px;border-top:1px solid var(--ink);padding-top:14px}
.entry .wn{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:baseline}
.entry .wn .c{font-size:11px;font-weight:700;letter-spacing:.1em;border-radius:999px;padding:3px 8px;background:var(--paper-2)}
.entry .wn b{font-size:15px}
.entry .wn p{grid-column:2;font-size:14px;color:var(--soft)}
@media (max-width:820px){.entry{grid-template-columns:1fr;gap:16px}.entry aside{position:static}}

/* legal */
.legal{max-width:760px;padding-block:clamp(40px,6vw,72px)}
.legal h1{font-size:clamp(38px,6vw,72px);margin-bottom:16px}
.legal .draft{background:var(--paper-2);border-radius:14px;padding:14px 16px;font-size:13px;margin-bottom:28px}
.legal h2{font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin:30px 0 8px}
.legal p,.legal li{font-size:14px;color:var(--ink)}
.legal ul{padding-left:18px;margin:6px 0}
.legal p+p{margin-top:10px}
footer nav{display:flex;gap:18px}
footer nav a{color:var(--ink)}

/* centered logo, links on both sides */
.top .bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;padding-block:12px}
.top .side{display:flex;gap:24px;align-items:center;margin:0}
.top .side.right{justify-content:flex-end}
.top .logo img{height:36px;width:auto;display:block}
.top .side a:not(.btn){color:var(--ink);text-decoration:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase;position:relative;white-space:nowrap}
.top .side a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1.5px;background:var(--red);transition:right .35s var(--ease)}
.top .side a:not(.btn):hover::after,.top .side a[aria-current="page"]::after{right:0}
@media (max-width:900px){.top .side.left a:nth-child(1),.top .side.right a:not(.btn){display:none}}
@media (max-width:600px){.top .side.left{display:none}.top .bar{grid-template-columns:auto 1fr}.top .side.right{justify-content:flex-end}}

/* v7: wider layout, horizontal hero */
.wrap{max-width:1360px;padding-inline:max(16px,3vw)}
.hero .in{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:48px;row-gap:22px;align-items:end;padding:clamp(28px,4.5vw,64px)}
.hero .tag{grid-column:1/-1}
.hero h1{font-size:clamp(40px,6vw,84px);max-width:none}
.hero .side-copy{display:grid;gap:22px;align-content:end}
@media (max-width:860px){.hero .in{grid-template-columns:1fr}}
.entry .body>p+p{margin-top:2px}

/* v8: calmer landing */
.hero .in{padding:clamp(32px,5vw,72px);row-gap:18px}
.hero h1{font-size:clamp(38px,5.4vw,76px)}
.hero .lead{font-size:15px;max-width:40ch;opacity:.92}
.hero .ctas{align-items:center;gap:22px}
.quiet{color:var(--paper);text-decoration:none;font-size:13px;letter-spacing:.06em;border-bottom:1px solid rgba(241,235,226,.45);padding-bottom:2px;transition:border-color .35s var(--ease)}
.quiet:hover{border-color:var(--paper)}
.hero .in>*{animation:none}
.ribbon{padding-block:22px}
.ribbon .track{animation-duration:110s;gap:36px}
.ribbon span{font-size:17px;opacity:.85}
.ribbon span::after{margin-left:36px}

/* v9: taller hero band, content anchored low */
.hero .frame{min-height:clamp(440px,64vh,700px);display:grid}
.hero .in{align-content:end;align-self:end}

/* v17: tu/vous two-choice + delivery address */
.choice{border:0;margin:0;padding:0;display:grid;gap:8px;min-width:0}
.choice legend{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:rgba(241,235,226,.85);padding:0;margin-bottom:8px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg label{display:block;text-align:center;cursor:pointer;border:1px solid rgba(241,235,226,.22);border-radius:12px;padding:13px 14px;background:rgba(241,235,226,.08);color:var(--paper);font-size:13px;letter-spacing:.08em;transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}
.seg input:checked+label{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.seg input:focus-visible+label{outline:2px solid var(--red);outline-offset:3px}

/* v18: announcement text under the visual */
.annonce{margin:6px 0 0;padding:18px 20px;background:var(--paper-2);border-radius:14px;display:grid;gap:10px}
.annonce p{font-size:14px;color:var(--ink)}
.annonce a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--blue);text-decoration:none}
.annonce a:hover{text-decoration:underline}

/* v19: caption under the menu, like the visual's */
.menu-col{display:grid;gap:12px;min-width:0;align-content:start}
.menu-col .cap{font-size:12px;color:var(--soft)}

/* v25 */
.fine{font-size:12px;color:rgba(241,235,226,.7);margin-top:12px}
.fine a{color:var(--paper)}
footer .legal-line{flex-basis:100%;font-size:12px;color:var(--soft);margin-top:6px}
.kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
.kpi{grid-column:span 2}
.kpi:nth-child(4),.kpi:nth-child(5){grid-column:span 3}
@media (max-width:760px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi,.kpi:nth-child(4),.kpi:nth-child(5){grid-column:span 1}.kpi:nth-child(1){grid-column:span 2}}

/* v32: email format check */
.err{display:block;text-transform:none;letter-spacing:0;font-weight:400;font-size:12px;color:#ffb4a8;margin-top:2px}
input.bad{border-color:var(--red);background:rgba(229,86,69,.12)}

/* v33: phone with country prefix */
.field{display:grid;gap:6px;min-width:0}
.field>label{display:block}
.tel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8px}
.tel select{font:14px/1.4 var(--mono);color:var(--paper);background:rgba(241,235,226,.08);border:1px solid rgba(241,235,226,.22);border-radius:12px;padding:12px 10px;width:100%;min-width:0}
.tel select:focus{border-color:var(--red);outline:none}
.tel select option{color:var(--ink);background:var(--paper)}

/* v36: sales calendar in the dark theme (like Devenir membre), red kept as accent only */
.rhythm{background:var(--ink);color:var(--paper)}
.rhythm .eyebrow{color:var(--gold)}
.tl li{background:rgba(241,235,226,.07)}
.tl li:hover{background:rgba(241,235,226,.13)}
.tl .d{color:var(--red)}
.tl .d small{color:var(--paper)}

/* v40: tidy footer — logo + links on one line, legal details and health notice below a hairline */
footer{padding-block:36px 44px}
footer .wrap.foot{display:grid;gap:22px;font-size:12px;color:var(--soft);align-items:initial}
.foot-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.foot-top img{height:30px;width:auto;display:block}
.foot-top nav{display:flex;gap:26px;flex-wrap:wrap}
.foot-top nav a{color:var(--ink);text-decoration:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.foot-top nav a:hover{color:var(--blue)}
.foot-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;border-top:1px solid var(--hair);padding-top:20px;line-height:1.7}
.foot-bottom p{margin:0}
.foot-bottom .evin{text-align:right;font-weight:700;color:var(--ink)}
@media (max-width:640px){.foot-bottom .evin{text-align:left}}

/* v41: full-width footer band, three zones across the whole width */
footer{background:var(--paper-2);padding:0;margin-top:clamp(40px,6vw,80px)}
.foot{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(0,1.4fr);align-items:center;gap:32px;padding:34px max(16px,3vw);font-size:12px;color:var(--soft);line-height:1.7}
.foot p{margin:0}
.foot-brand{display:flex;align-items:center;gap:22px;min-width:0}
.foot-brand img{height:30px;width:auto;display:block;flex:none}
.foot nav{display:flex;gap:28px;justify-content:center;flex-wrap:wrap}
.foot nav a{color:var(--ink);text-decoration:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.foot nav a:hover{color:var(--blue)}
.foot .evin{text-align:right;font-weight:700;color:var(--ink)}
@media (max-width:980px){.foot{grid-template-columns:1fr;gap:20px}.foot nav{justify-content:flex-start}.foot .evin{text-align:left}}
@media (max-width:520px){.foot-brand{flex-direction:column;align-items:flex-start;gap:12px}}

/* v42: centred stacked footer — logo, links, health notice in bold, company details on a full-width line at the very bottom */
.foot{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;padding:36px max(16px,3vw) 0}
.foot-logo img{height:30px;width:auto;display:block}
.foot nav{justify-content:center;gap:12px 28px}
.foot .evin{text-align:center;font-weight:700;color:var(--ink)}
.foot .foot-legal{align-self:stretch;margin-top:8px;padding:16px 0 20px;border-top:1px solid var(--hair);text-align:center;text-wrap:balance}
@media (max-width:980px){.foot{gap:16px}.foot nav{justify-content:center}.foot .evin{text-align:center}}

/* v43: carnet index — one calm list per year instead of a cloud of pills */
.carnet-top{gap:14px;padding-bottom:36px}
.idx{margin-top:22px;border-bottom:1px solid var(--hair)}
.idx-year{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px 32px;align-items:start;padding:22px 0;border-top:1px solid var(--hair)}
.idx-year h2{margin:0;font-size:34px;line-height:1;color:var(--gold)}
.idx-year ul{list-style:none;margin:0;padding:0;columns:3;column-gap:40px}
.idx-year li{break-inside:avoid}
.idx button{display:flex;gap:14px;align-items:baseline;width:100%;padding:6px 0;border:0;background:none;color:var(--ink);font:400 14px/1.45 var(--mono);text-align:left;cursor:pointer}
.idx .m{flex:none;width:2ch;font-size:12px;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}
.idx .n{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s var(--ease)}
.idx button:hover .n,.idx button:focus-visible .n{background-size:100% 1px}
.idx button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media (max-width:980px){.idx-year ul{columns:2}}
@media (max-width:640px){.idx-year{grid-template-columns:1fr;padding:18px 0}.idx-year h2{font-size:26px}.idx-year ul{columns:1}}

/* v47: hidden form messages stay hidden; footer company line breaks cleanly on phones */
.err[hidden],.done[hidden]{display:none}
.foot-legal span{white-space:nowrap}
.foot-legal i{font-style:normal}
@media (max-width:640px){.foot-legal span{display:block;white-space:normal}.foot-legal i{display:none}}

/* v51: anchors land just under the sticky header; hero title on two lines; example section = visual and menu at the same height */
#rejoindre,#equipe,#ventes,section[aria-labelledby]{scroll-margin-top:76px}
.hero .in{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
.hero h1{font-size:clamp(34px,4.7vw,68px)}
.hero h1 span{display:block}
@media (min-width:861px){.hero h1 span{white-space:nowrap}}
@media (max-width:860px){.hero .in{grid-template-columns:1fr}}
.latest{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 40px;align-items:stretch}
.latest figure{display:block}
.lt-menu{position:relative;min-width:0}
.lt-menu .menu{position:absolute;inset:0;overflow:hidden;padding-bottom:0}
.lt-menu .mfoot{position:absolute;left:0;right:0;bottom:0;margin:0;padding:64px 28px 20px;border-top:0;background:linear-gradient(to bottom,rgba(247,242,235,0),#f7f2eb 52%)}
.lt-note{display:grid;gap:14px;align-content:start;min-width:0}
.lt-note .cap{font-size:12px;color:var(--soft)}
.annonce{margin:0;padding:0 0 0 18px;background:none;border-radius:0;border-left:1px solid var(--hair)}
.annonce p{color:var(--soft)}
@media (max-width:860px){
  .latest{grid-template-columns:1fr;gap:14px}
  .latest figure{max-width:none}
  .lt-menu{order:3;margin-top:22px}
  .lt-menu .menu{position:relative;inset:auto;max-height:560px}
  .lt-note:last-child{order:4}
}
/* v51b: hero title stays on two lines on phones too */
@media (max-width:860px){.hero h1{font-size:min(8vw,52px)}.hero h1 span{white-space:nowrap}}

/* v52: compact phone prefix; small note when the referrer is Claude */
.tel{grid-template-columns:auto minmax(0,1fr)}
#f-ind{width:auto;min-width:78px}
.hint{display:block;text-transform:none;letter-spacing:0;font-weight:400;font-size:12px;color:var(--paper);opacity:.8;margin-top:6px}
.hint[hidden]{display:none}
/* v52b: browser autofill keeps the WYNE colours instead of the default pale blue */
#join-form input:-webkit-autofill,#join-form input:-webkit-autofill:hover,#join-form input:-webkit-autofill:focus,#join-form select:-webkit-autofill{-webkit-text-fill-color:var(--paper);caret-color:var(--paper);-webkit-box-shadow:0 0 0 1000px #3c3b3a inset;box-shadow:0 0 0 1000px #3c3b3a inset;transition:background-color 99999s ease-out 0s}
#join-form input:autofill{-webkit-text-fill-color:var(--paper);box-shadow:0 0 0 1000px #3c3b3a inset}
/* v53: phone prefix arrow drawn by us, set in from the edge */
#f-ind{appearance:none;-webkit-appearance:none;padding:12px 34px 12px 14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23F1EBE2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:11px 7px}

/* v54: example section — announcement text removed, one wide centred button under the two visuals */
.lt-cap{font-size:12px;color:var(--soft)}
.lt-cta{grid-column:1/-1;display:flex;justify-content:center;margin-top:26px}
.lt-cta .btn{justify-content:center;min-width:min(100%,420px);padding:20px 40px}
@media (max-width:860px){.lt-cap:nth-of-type(1){order:2}.lt-menu{order:3}.lt-cap:nth-of-type(2){order:4}.lt-cta{order:5}.lt-cta .btn{width:100%}}

/* v56: team intro on two lines; less empty space between the join block and the footer */
#equipe .head{grid-template-columns:auto minmax(0,1fr);gap:28px 48px}
#equipe .head p{max-width:none}
@media (min-width:1180px){#equipe .head p.two span{display:block;white-space:nowrap}}
@media (max-width:760px){#equipe .head{grid-template-columns:1fr}}
#rejoindre{padding-bottom:0}

/* ---- multi-page site only (not in the single-page maquette) ---- */
.idx a{display:flex;gap:14px;align-items:baseline;padding:6px 0;color:var(--ink);font:400 14px/1.45 var(--mono);text-decoration:none}
.idx a:hover .n,.idx a:focus-visible .n{background-size:100% 1px}
.jr h3 a{color:inherit;text-decoration:none}
.jr h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;padding-top:28px;font-size:12px;color:var(--soft)}
.crumbs a{color:var(--soft);text-decoration:none}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.alloc-head{display:grid;gap:14px;padding-block:28px 36px;border-bottom:1px solid var(--hair)}
.alloc-head .eyebrow{color:var(--red)}
.alloc-head h1{font-size:clamp(40px,7vw,86px)}
.alloc-head .reg{font-size:12px;color:var(--gold);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.alloc-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;padding-block:40px 56px;align-items:start}
.alloc-body.solo{grid-template-columns:minmax(0,760px)}
.alloc-text{display:grid;gap:14px}
.alloc-text p{max-width:64ch}
.alloc-text .sig{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--gold);margin-top:6px}
.alloc-wines{display:grid;gap:14px}
.alloc-wines h2{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--ink);padding-bottom:8px}
.wn{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:baseline}
.wn .c{font-size:11px;font-weight:700;letter-spacing:.1em;border-radius:999px;padding:3px 8px;background:var(--paper-2)}
.wn h3{margin:0;font-size:15px;font-weight:700}
.wn p{grid-column:2;font-size:14px;color:var(--soft)}
.alloc-cta{display:flex;justify-content:space-between;align-items:center;gap:20px 32px;flex-wrap:wrap;background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:30px 34px}
.alloc-cta p{max-width:44ch}
.alloc-cta div{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.alloc-same{padding-top:44px}
.alloc-same h2{margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.06em}
.alloc-same ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 28px}
.alloc-same a{color:var(--ink);font-size:14px}
.alloc-same a span{color:var(--soft);margin-left:8px}
.alloc-nav{display:flex;justify-content:space-between;gap:20px;padding-block:40px 8px;margin-top:44px;border-top:1px solid var(--hair)}
.alloc-nav a{display:grid;gap:6px;color:var(--ink);text-decoration:none;font-family:var(--display);text-transform:uppercase;font-size:24px;line-height:1}
.alloc-nav a small{font:400 12px/1.4 var(--mono);letter-spacing:.08em;color:var(--soft);text-transform:none}
.alloc-nav a.next{text-align:right;margin-left:auto}
.alloc-nav a:hover{color:var(--red)}
@media (max-width:860px){.alloc-body{grid-template-columns:1fr;gap:36px}.alloc-cta{padding:24px}}
.alloc section{padding-block:0}
.alloc .alloc-same{padding-top:44px}
.alloc-body{padding-block:36px 56px}
.alloc-visual{margin:0 0 10px;max-width:380px}
.alloc-visual img{display:block;width:100%;height:auto;border-radius:var(--radius)}
