/* =============================================================
   AV2 — Design system « premium chaleureux » (Exo-Ape vibe)
   Tons chauds : crème · pierre · charbon espresso · laiton
   Angles nets · éditorial · photos intimistes
   ============================================================= */
:root{
  --paper:#F1EADE;        /* crème chaude */
  --paper-2:#EAE1D2;      /* crème ombrée */
  --stone:#E4D9C7;        /* pierre */
  --espresso:#241B14;     /* charbon chaud */
  --espresso-2:#3A2E24;   /* charbon adouci */
  --brass:#B08A54;        /* laiton */
  --brass-light:#CBA877;  /* laiton clair */
  --muted:rgba(36,27,20,.58);
  --line:rgba(36,27,20,.16);
  --line-light:rgba(255,255,255,.16);
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto}
html,body{background:var(--paper);color:var(--espresso)}
html{overflow-x:clip}
body{font-family:'Inter',sans-serif;font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1400px;margin:0 auto;padding:0 clamp(24px,5vw,80px)}
.serif{font-family:'Fraunces',Georgia,serif;font-weight:300}
.eyebrow{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--brass);font-weight:600;display:inline-block}

/* ===== BUTTONS (nets) ===== */
.btn{display:inline-block;padding:18px 42px;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;border:1px solid var(--espresso);color:var(--espresso);background:transparent;cursor:pointer;transition:all .45s var(--ease)}
.btn:hover{background:var(--espresso);color:var(--paper)}
.btn-solid{background:var(--espresso);color:var(--paper)}
.btn-solid:hover{background:var(--brass);border-color:var(--brass);color:#fff}
.btn-light{border-color:rgba(255,255,255,.6);color:#fff}
.btn-light:hover{background:#fff;color:var(--espresso)}
.btn-brass{background:var(--brass);border-color:var(--brass);color:#fff}
.btn-brass:hover{background:var(--espresso);border-color:var(--espresso);color:var(--paper)}
.link-arrow{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--brass);display:inline-flex;align-items:center;gap:10px;transition:gap .35s var(--ease)}
.link-arrow:hover{gap:18px}

/* ===== TOP NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(24px,5vw,80px);transition:background .4s var(--ease),padding .4s var(--ease),color .4s var(--ease);color:#fff}
.nav.scrolled{background:var(--paper);color:var(--espresso);padding:16px clamp(24px,5vw,80px);border-bottom:1px solid var(--line)}
.nav-brand{font-family:'Fraunces',serif;font-weight:400;font-size:17px;letter-spacing:.26em;text-transform:uppercase;color:inherit}
.nav-brand small{display:block;font-family:'Inter',sans-serif;font-size:8.5px;letter-spacing:.3em;opacity:.7;margin-top:3px;font-weight:500}
.nav-right{display:flex;align-items:center;gap:clamp(20px,2.4vw,40px)}
.nav-links{display:flex;gap:clamp(18px,2vw,34px)}
.nav-links a{font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:inherit;opacity:.85;transition:opacity .3s}
.nav-links a:hover{opacity:1;color:var(--brass-light)}
.nav.scrolled .nav-links a:hover{color:var(--brass)}
/* switch (net) */
.nav-switch{display:inline-flex;align-items:center;border:1px solid currentColor;opacity:.95}
.ns-seg{font-family:'Inter',sans-serif;font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:8px 14px;color:inherit;opacity:.6;transition:all .3s}
.ns-seg.active{background:var(--brass);color:#fff;opacity:1;border:0}
.ns-seg:not(.active):hover{opacity:1}
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.nav-burger span{width:26px;height:1.5px;background:currentColor;display:block;transition:.3s}
.nav-mobile{display:none}
@media(max-width:900px){
  .nav-links{display:none}
  .nav-burger{display:flex}
  .nav-mobile{position:fixed;inset:0;z-index:55;background:var(--espresso);color:var(--paper);flex-direction:column;align-items:center;justify-content:center;gap:26px;transform:translateY(-100%);transition:transform .55s var(--ease);display:flex}
  .nav-mobile.open{transform:none}
  .nav-mobile a{font-family:'Fraunces',serif;font-size:30px;font-weight:300}
  .nav-mobile .nav-switch{border-color:rgba(255,255,255,.4);margin-bottom:10px}
  .nav-mobile .nav-switch .ns-seg{font-family:'Inter',sans-serif;font-size:11px;font-weight:600;letter-spacing:.14em;padding:10px 18px}
}

/* ===== HERO (full-bleed parallaxe) ===== */
.hero{position:relative;height:100vh;min-height:640px;overflow:hidden}
.hero-img{position:absolute;inset:-8% 0;will-change:transform}
.hero-img img,.hero-img video{width:100%;height:100%;object-fit:cover}
.hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,9,.34),rgba(20,14,9,.55))}
.hero-inner{position:absolute;left:0;right:0;bottom:clamp(48px,8vh,92px);z-index:2;color:#fff}
.hero-inner .eyebrow{color:var(--brass-light)}
.hero h1{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(52px,9.2vw,148px);line-height:.96;letter-spacing:-.02em;margin:20px 0 0}
.hero h1 em{font-style:italic}
.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-top:34px}
.hero-row p{max-width:44ch;font-size:16px;line-height:1.7;color:rgba(255,255,255,.86)}
.hero-cue{position:absolute;left:clamp(24px,5vw,80px);bottom:32px;z-index:2;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:12px}
.hero-cue::before{content:'';width:46px;height:1px;background:rgba(255,255,255,.5)}

/* ===== STATEMENT ===== */
.statement{padding:clamp(110px,18vh,220px) 0;position:relative;overflow:hidden}
.statement .wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(30px,6vw,90px);align-items:start}
.statement .lab{display:flex;flex-direction:column;gap:14px}
.statement .lab .rule{width:54px;height:1px;background:var(--brass)}
.statement h2{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(28px,3.6vw,52px);line-height:1.16;letter-spacing:-.01em}
.statement h2 em{font-style:italic;color:var(--brass)}
.statement .body{margin-top:30px;font-size:16px;line-height:1.85;color:var(--espresso-2);max-width:54ch}
@media(max-width:860px){.statement .wrap{grid-template-columns:1fr;gap:30px}}

/* ===== EDITORIAL SPLIT ===== */
.ed{display:grid;grid-template-columns:1fr 1fr;min-height:92vh}
.ed.flip .ed-img{order:2}
.ed-img{position:relative;overflow:hidden}
.ed-img .ph{position:absolute;inset:-6% 0;will-change:transform}
.ed-img .ph img{width:100%;height:100%;object-fit:cover}
.ed-txt{background:var(--espresso);color:var(--paper);display:flex;flex-direction:column;justify-content:center;padding:clamp(56px,8vw,120px)}
.ed-txt.paper{background:var(--paper);color:var(--espresso)}
.ed-txt .eyebrow{color:var(--brass-light)}
.ed-txt h3{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(30px,3.4vw,50px);line-height:1.08;letter-spacing:-.01em;margin:22px 0 0}
.ed-txt h3 em{font-style:italic;color:var(--brass-light)}
.ed-txt.paper h3 em{color:var(--brass)}
.ed-txt>p{margin-top:24px;font-size:15.5px;line-height:1.8;max-width:46ch;color:rgba(241,234,222,.78)}
.ed-txt.paper>p{color:var(--espresso-2)}
.ed-list{margin-top:40px;border-top:1px solid var(--line-light)}
.ed-txt.paper .ed-list{border-top-color:var(--line)}
.ed-list .it{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid var(--line-light)}
.ed-txt.paper .ed-list .it{border-bottom-color:var(--line)}
.ed-list .n{font-family:'Fraunces',serif;font-size:15px;color:var(--brass-light);min-width:34px}
.ed-txt.paper .ed-list .n{color:var(--brass)}
.ed-list .t b{display:block;font-family:'Fraunces',serif;font-weight:400;font-size:19px;margin-bottom:5px}
.ed-list .t span{font-size:13.5px;color:rgba(241,234,222,.66);font-weight:300}
.ed-txt.paper .ed-list .t span{color:var(--muted)}
.ed-txt .btn{margin-top:42px;align-self:flex-start}
@media(max-width:860px){.ed{grid-template-columns:1fr}.ed.flip .ed-img{order:0}.ed-img{min-height:58vh}}

/* ===== FULL-BLEED BAND ===== */
.band{height:80vh;min-height:480px;position:relative;overflow:hidden}
.band .ph{position:absolute;inset:-10% 0;will-change:transform}
.band .ph img{width:100%;height:100%;object-fit:cover}
.band::after{content:'';position:absolute;inset:0;background:rgba(20,14,9,.28)}
.band-cap{position:absolute;left:clamp(24px,5vw,80px);bottom:42px;right:24px;z-index:2;color:#fff}
.band-cap .eyebrow{color:var(--brass-light)}
.band-cap h4{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(26px,3.6vw,50px);margin-top:12px;max-width:18ch;line-height:1.05}

/* ===== GRID (piliers / cartes) ===== */
.grid-sec{padding:clamp(96px,14vh,170px) 0;background:var(--paper)}
.grid-head{max-width:760px;margin:0 0 clamp(48px,7vh,80px)}
.grid-head h2{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(30px,4.4vw,58px);line-height:1.06;letter-spacing:-.01em;margin-top:16px}
.grid-head h2 em{font-style:italic;color:var(--brass)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px);border-top:1px solid var(--line)}
.gcard{padding:38px 0 0;border-bottom:1px solid var(--line);min-height:230px}
.gcard .gn{font-family:'Fraunces',serif;font-size:14px;color:var(--brass);display:block;margin-bottom:18px}
.gcard h3{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.08;margin-bottom:14px}
.gcard h3 em{font-style:italic;color:var(--brass)}
.gcard p{font-size:14.5px;line-height:1.7;color:var(--espresso-2);max-width:34ch;padding-bottom:38px}
@media(max-width:860px){.grid-3{grid-template-columns:1fr}.gcard{min-height:0}}

/* ===== LOGEMENTS (grille nette, légende dessous) ===== */
.logs{padding:clamp(96px,14vh,170px) 0;background:var(--paper-2)}
.logs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,1.6vw,26px);margin-top:clamp(40px,6vh,64px)}
.logs-grid a{display:block}
.logc-img{aspect-ratio:3/4;overflow:hidden}
.logc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.logs-grid a:hover .logc-img img{transform:scale(1.05)}
.logc-cap{margin-top:16px;font-family:'Fraunces',serif;font-weight:400;font-size:19px}
.logc-loc{font-size:12.5px;letter-spacing:.04em;color:var(--muted);margin-top:4px}
@media(max-width:900px){.logs-grid{grid-template-columns:1fr 1fr}}

/* ===== CTA finale ===== */
.cta{position:relative;padding:clamp(120px,20vh,220px) 0;background:var(--paper);color:var(--espresso);text-align:center;overflow:hidden;border-top:1px solid var(--line)}
.cta .eyebrow{color:var(--brass)}
.cta h2{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(38px,6vw,88px);line-height:1;letter-spacing:-.02em;margin:18px auto 0;max-width:14ch}
.cta h2 em{font-style:italic;color:var(--brass)}
.cta p{margin:26px auto 0;max-width:46ch;color:var(--espresso-2);font-size:16px;line-height:1.7}
.cta .btn{margin-top:44px}

/* ===== Taches d'encre pleines (motif signature — couleur unie, bords nets) ===== */
:root{
  --blob1:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-100%20-100%20200%20200'%3E%3Cpath%20d='M40,-70C53,-63,66,-53,74,-40C82,-27,85,-13,84,0C83,13,78,27,70,39C62,51,51,61,38,69C25,77,12,82,-2,85C-16,88,-32,89,-45,83C-58,77,-68,64,-76,50C-84,36,-90,18,-89,0C-88,-18,-80,-36,-69,-49C-58,-62,-44,-70,-30,-77C-16,-84,0,-88,15,-85C30,-82,27,-77,40,-70Z'/%3E%3C/svg%3E");
  --blob2:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-100%20-100%20200%20200'%3E%3Cpath%20d='M46,-72C58,-64,64,-47,71,-31C78,-15,86,0,84,15C82,30,68,45,53,58C38,71,19,82,1,80C-17,78,-34,63,-49,49C-64,35,-77,21,-80,4C-83,-13,-76,-31,-64,-44C-52,-57,-35,-65,-18,-72C-1,-79,16,-85,29,-83C42,-81,34,-80,46,-72Z'/%3E%3C/svg%3E");
  --blob3:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-100%20-100%20200%20200'%3E%3Cpath%20d='M39,-65.5C51.4,-58.9,63,-50.2,70.3,-38.5C77.6,-26.8,80.6,-12.1,79.6,1.9C78.6,15.9,73.6,29.2,65.2,40.6C56.8,52,45,61.5,31.6,67.9C18.2,74.3,3.2,77.6,-11.9,76.4C-27,75.2,-42.2,69.5,-53.9,59.5C-65.6,49.5,-73.8,35.2,-77.6,19.8C-81.4,4.4,-80.8,-12.1,-75.1,-26.4C-69.4,-40.7,-58.6,-52.8,-45.6,-59.4C-32.6,-66,-16.3,-67.1,-1,-65.5C14.3,-63.8,28.6,-59.4,39,-65.5Z'/%3E%3C/svg%3E");
  --blob4:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-100%20-100%20200%20200'%3E%3Cpath%20d='M44.7,-76.4C57.4,-69.2,66.5,-56.3,74.3,-42.6C82.1,-28.9,88.6,-14.4,88.2,-0.2C87.8,14,80.5,28,72,40.9C63.5,53.8,53.8,65.6,41.3,73.6C28.8,81.6,14.4,85.8,-0.8,87.2C-16,88.6,-32,87.2,-45.6,80.2C-59.2,73.2,-70.4,60.6,-77.9,46.2C-85.4,31.8,-89.2,15.9,-88.9,0.2C-88.6,-15.5,-84.2,-31,-76.3,-44.4C-68.4,-57.8,-57,-69.1,-43.6,-76.1C-30.2,-83.1,-15.1,-85.8,0.3,-86.3C15.7,-86.8,31.4,-85.1,44.7,-76.4Z'/%3E%3C/svg%3E");
}
.tache{position:absolute;pointer-events:none;z-index:0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}
.tache.b1{-webkit-mask-image:var(--blob1);mask-image:var(--blob1)}
.tache.b2{-webkit-mask-image:var(--blob2);mask-image:var(--blob2)}
.tache.b3{-webkit-mask-image:var(--blob3);mask-image:var(--blob3)}
.tache.b4{-webkit-mask-image:var(--blob4);mask-image:var(--blob4)}
.tc-gold{background:#D6B05C}
.tc-ocre{background:#C99A3E}
.tc-brown{background:#7A5432}
.tc-brass{background:#B08A54}
/* couche de taches : posée sur le fond, derrière le contenu */
.taches{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.cta .wrap,.statement .wrap{position:relative;z-index:2}
@media(max-width:760px){.tache{transform:scale(.7)!important;opacity:.85}}

/* ===== FOOTER ===== */
.ft{background:var(--paper-2);color:var(--espresso);padding:clamp(70px,10vh,110px) 0 40px;border-top:1px solid var(--line)}
.ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:60px;border-bottom:1px solid var(--line)}
.ft-brand{font-family:'Fraunces',serif;font-size:26px;letter-spacing:.18em;text-transform:uppercase;font-weight:400}
.ft-tag{margin-top:18px;font-size:14px;line-height:1.7;color:var(--muted);max-width:36ch}
.ft-col h5{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:18px}
.ft-col a{display:block;font-size:14px;color:var(--espresso-2);padding:6px 0;transition:color .3s}
.ft-col a:hover{color:var(--brass)}
.ft-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:26px;font-size:12px;letter-spacing:.04em;color:var(--muted)}
@media(max-width:860px){.ft-top{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ft-top{grid-template-columns:1fr}}

/* ===== REVEALS ===== */
.rv{opacity:0;transform:translateY(42px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}

/* ===== ENTRY GATE ===== */
#gate{position:fixed;inset:0;z-index:100002;display:flex;background:var(--espresso);transition:opacity .7s var(--ease)}
#gate.hide{opacity:0;pointer-events:none}
.gate-half{position:relative;flex:1 1 50%;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;transition:flex-grow .7s var(--ease);cursor:pointer}
.gate-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);transition:transform 1.2s var(--ease),filter .6s;filter:brightness(.46)}
.gate-half::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,9,.3),rgba(20,14,9,.66))}
.gate-half:hover{flex-grow:1.35}
.gate-half:hover .gate-bg{transform:scale(1.12);filter:brightness(.62)}
.gate-in{position:relative;z-index:2;text-align:center;padding:0 24px;max-width:460px}
.gate-in .eyebrow{color:var(--brass-light)}
.gate-in h2{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(40px,6vw,78px);line-height:1;margin:14px 0}
.gate-in p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.84);max-width:32ch;margin:0 auto}
.gate-in .glab{margin-top:28px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;border:1px solid rgba(255,255,255,.55);padding:14px 30px;display:inline-block;transition:all .4s var(--ease)}
.gate-half:hover .glab{background:var(--brass);border-color:var(--brass)}
.gate-div{position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgba(255,255,255,.2);z-index:3}
.gate-logo{position:absolute;top:30px;left:50%;transform:translateX(-50%);z-index:4;font-family:'Fraunces',serif;font-size:16px;letter-spacing:.3em;color:#fff;font-weight:400}
.gate-owner{animation:gInL .9s var(--ease) both}.gate-trav{animation:gInR .9s var(--ease) both}
@keyframes gInL{from{transform:translateX(-100%)}to{transform:none}}
@keyframes gInR{from{transform:translateX(100%)}to{transform:none}}
.gate-in>*{opacity:0;animation:gFade .8s ease forwards}
.gate-in>*:nth-child(1){animation-delay:.5s}.gate-in>*:nth-child(2){animation-delay:.62s}.gate-in>*:nth-child(3){animation-delay:.74s}.gate-in>*:nth-child(4){animation-delay:.86s}
@keyframes gFade{to{opacity:1}}
@media(max-width:760px){#gate{flex-direction:column}.gate-half:hover{flex-grow:1.12}
.gate-owner{animation:gInT .9s var(--ease) both}.gate-trav{animation:gInB .9s var(--ease) both}
@keyframes gInT{from{transform:translateY(-100%)}to{transform:none}}@keyframes gInB{from{transform:translateY(100%)}to{transform:none}}
.gate-div{left:0;right:0;top:50%;bottom:auto;width:auto;height:1px}}

/* ===== HERO RESA WIDGET (voyageur, net) ===== */
.resa{display:inline-flex;align-items:stretch;background:rgba(255,255,255,.96);margin-top:30px;font-family:'Inter',sans-serif}
.resa-lbl{display:flex;align-items:center;padding:0 22px;font-size:13.5px;color:var(--espresso);font-weight:500;border-right:1px solid var(--line);white-space:nowrap}
.resa-date{border:0;background:none;font-family:'Inter',sans-serif;font-size:14px;color:var(--espresso);padding:16px;outline:none;min-width:140px}
.resa-btn{background:var(--brass);color:#fff;border:0;padding:16px 30px;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:background .3s}
.resa-btn:hover{background:var(--espresso)}
@media(max-width:600px){.resa{flex-direction:column;width:100%;max-width:340px}.resa-lbl{border-right:0;border-bottom:1px solid var(--line);padding:14px 18px}.resa-btn{padding:16px}}

/* ===== PAGE HEADER (pages intérieures) ===== */
.phead{position:relative;min-height:56vh;display:flex;align-items:flex-end;overflow:hidden}
.phead .ph{position:absolute;inset:-8% 0;will-change:transform}
.phead .ph img{width:100%;height:100%;object-fit:cover}
.phead::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,9,.34),rgba(20,14,9,.6))}
.phead .wrap{position:relative;z-index:2;color:#fff;padding-bottom:clamp(44px,7vh,80px)}
.phead .eyebrow{color:var(--brass-light)}
.phead h1{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(40px,6.5vw,104px);line-height:.98;letter-spacing:-.02em;margin-top:16px}
.phead h1 em{font-style:italic}
.phead .sub{margin-top:18px;max-width:48ch;color:rgba(255,255,255,.85);font-size:16px;line-height:1.65}

/* ===== CONTACT ===== */
.ct{padding:clamp(80px,12vh,150px) 0;background:var(--paper)}
.ct .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px)}
.ct h2{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(28px,3.4vw,46px);line-height:1.1;margin-bottom:8px}
.ct h2 em{font-style:italic;color:var(--brass)}
.ct .lead{color:var(--espresso-2);font-size:15.5px;line-height:1.8;max-width:42ch;margin-bottom:36px}
.ct-info{margin-top:6px}
.ct-info .row{padding:20px 0;border-top:1px solid var(--line)}
.ct-info .row:last-child{border-bottom:1px solid var(--line)}
.ct-info .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:6px}
.ct-info .v{font-family:'Fraunces',serif;font-size:19px}
.ct-info .v a{color:inherit}
.ct-form label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0 0 8px}
.ct-form input,.ct-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;font-family:'Inter',sans-serif;font-size:15px;color:var(--espresso);padding:12px 0;margin-bottom:26px;outline:none;transition:border-color .3s}
.ct-form input:focus,.ct-form textarea:focus{border-color:var(--brass)}
.ct-form textarea{resize:vertical;min-height:120px}
@media(max-width:820px){.ct .wrap{grid-template-columns:1fr;gap:48px}}

/* ===== OPTIMISATION MOBILE À FOND ===== */
@media(max-width:900px){
  .nav-right .nav-switch{display:none}     /* switch -> dans le menu burger */
  .nav-right{gap:14px}
}
@media(max-width:600px){
  .wrap{padding:0 22px}
  .hero{min-height:560px}
  .hero h1{font-size:clamp(36px,9vw,54px)}
  .hero-inner{bottom:40px}
  .hero-row{gap:22px}
  .hero-row p{font-size:15px}
  .hero-row .btn,.cta .btn{width:100%;text-align:center}
  .phead{min-height:48vh}
  .phead h1{font-size:clamp(34px,8.5vw,50px)}
  .phead .sub{font-size:15px}
  .statement{padding:84px 0}
  .statement h2{font-size:clamp(25px,6.8vw,34px)}
  .statement .body{font-size:15px}
  .grid-sec,.logs{padding:80px 0}
  .grid-head h2{font-size:clamp(28px,8vw,40px)}
  .gcard{min-height:0;padding:30px 0 0}
  .gcard p{padding-bottom:30px}
  .ed-txt{padding:52px 24px}
  .ed-txt h3{font-size:clamp(27px,7.6vw,38px)}
  .band{height:62vh;min-height:380px}
  .band-cap h4{font-size:clamp(23px,6.6vw,32px)}
  .cta{padding:100px 0}
  .cta h2{font-size:clamp(34px,10vw,54px)}
  .ft-top{padding-bottom:44px;gap:30px}
  .ft-brand{font-size:22px}
  .logc-cap{font-size:17px}
  .nav{padding:15px 22px}
  .nav-brand{font-size:15px}
}

/* Fix wrap des en-têtes flex/grid (min-width:auto empêchait le retour à la ligne) */
.phead > .wrap{min-width:0;width:100%}
.statement .wrap > div{min-width:0}
.grid-head{min-width:0}

@media(max-width:600px){
  .hero h1 br,.phead h1 br,.cta h2 br,.ed-txt h3 br,.band-cap h4 br,.statement h2 br{display:none}
  .hero-row p{max-width:100%}
  .hero h1,.phead h1,.cta h2,.ed-txt h3{overflow-wrap:break-word}
}

/* ===== EFFET 3D signature (tilt/lift interactif) — utilitaire réutilisable ===== */
.tilt3d{perspective:1000px}
.tilt3d-in{position:relative;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s var(--ease);animation:tilt3dIdle 7s ease-in-out infinite;will-change:transform}
.tilt3d:hover .tilt3d-in{box-shadow:0 60px 100px -40px rgba(36,27,20,.5)}
@keyframes tilt3dIdle{0%,100%{transform:rotateY(-2.4deg) rotateX(1.1deg)}50%{transform:rotateY(2.4deg) rotateX(-1.1deg)}}
.tilt3d-glare{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.5),transparent 45%);mix-blend-mode:soft-light}
.tilt3d:hover .tilt3d-glare{opacity:1}
@media(hover:none),(max-width:760px){.tilt3d-in{animation:none!important;transform:none!important}}
/* variante « cover » : photo plein-cadre qui s'incline DANS son cadre (pas de décollage, image agrandie pour ne jamais découvrir les bords) */
.tilt3d-cover{perspective:1200px}
.tilt3d-cover .tilt3d-in{animation-duration:8s}
.tilt3d-cover .tilt3d-in img{transform:scale(1.07)}
