/* ═══════════════════════════════════════════════════════════
   HOME SWEET WOOF · PRIVATE TRANSPORT, identité luxe
   Noir profond · Gold chaud · Champagne · Ivoire
   ═══════════════════════════════════════════════════════════ */
:root{
  --noir:#0B0A09; --charbon:#131110; --charbon-2:#1A1714; --charbon-3:#221E1A;
  --gold:#C9A45C; --gold-l:#E3C88E; --gold-d:#A6823F;
  --gold-grad:linear-gradient(135deg,#E8CF98 0%,#CDA963 42%,#B48D49 100%);
  --gold-line:rgba(201,164,92,.38); --gold-faint:rgba(201,164,92,.14);
  --champagne:#E8DBC2; --ivoire:#F7F2E9; --creme:#F0E8DA; --beige:#E7DCC8;
  --ink:#16130F; --ink-mid:#5B5348; --ink-soft:#8A8173;
  --cream-t:#EFE7D8; --cream-dim:rgba(239,231,216,.7); --cream-faint:rgba(239,231,216,.45);
  --serif:'Cormorant Garamond','Playfair Display',Georgia,serif;
  --sans:'Jost','DM Sans',system-ui,sans-serif;
  --ease:cubic-bezier(.22,.7,.2,1);
  --r:6px; --r-lg:10px;
  --wrap:1240px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--noir);color:var(--cream-t);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;}
.wrap{width:min(var(--wrap),calc(100% - 48px));margin:0 auto;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}

/* ── Typographie ── */
.eyebrow{display:inline-flex;align-items:center;gap:16px;font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);}
.eyebrow::before{content:'';width:42px;height:1px;background:var(--gold);opacity:.75;}
.eyebrow.center::after{content:'';width:42px;height:1px;background:var(--gold);opacity:.75;}
.h-display{font-family:var(--serif);font-weight:400;font-size:clamp(46px,5.6vw,92px);line-height:1.02;letter-spacing:-.01em;}
.h-xl{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4vw,64px);line-height:1.08;letter-spacing:-.005em;}
.h-lg{font-family:var(--serif);font-weight:500;font-size:clamp(30px,2.8vw,44px);line-height:1.12;}
.h-md{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.2;}
.gold-it{font-style:italic;color:var(--gold-l);}
.on-light .gold-it{color:var(--gold-d);}
.lead{font-size:clamp(16px,1.15vw,18.5px);line-height:1.8;color:var(--cream-dim);max-width:560px;}
.on-light .lead{color:var(--ink-mid);}
.ornament{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold);margin:26px 0;}
.ornament::before,.ornament::after{content:'';width:64px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));}
.ornament::after{background:linear-gradient(270deg,transparent,var(--gold));}
.ornament svg{width:14px;height:14px;fill:var(--gold);}

/* ── Sections ── */
.sec{position:relative;padding:clamp(96px,11vw,160px) 0;}
.sec-dark{background:var(--noir);color:var(--cream-t);}
.sec-charbon{background:var(--charbon);color:var(--cream-t);}
.sec-light{background:var(--ivoire);color:var(--ink);}
.sec-creme{background:var(--creme);color:var(--ink);}
.sec-head{text-align:center;max-width:760px;margin:0 auto clamp(56px,6vw,88px);}
.sec-head .h-xl{margin:22px 0 22px;}
.sec-head .lead{margin:0 auto;}
.hairline{height:1px;background:linear-gradient(90deg,transparent,var(--gold-line),transparent);border:0;}

/* ── Boutons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;font-family:var(--sans);font-size:12.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;padding:20px 38px;border-radius:var(--r);cursor:pointer;border:0;transition:filter .35s var(--ease),background .35s var(--ease),color .35s,border-color .35s,box-shadow .35s;white-space:nowrap;}
.btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .35s var(--ease);}
.btn:hover svg{transform:translateX(4px);}
.btn-gold{background:var(--gold-grad);color:var(--ink);box-shadow:0 10px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.35);}
.btn-gold:hover{filter:brightness(1.07);}
.btn-ghost{background:transparent;color:var(--cream-t);border:1px solid rgba(239,231,216,.45);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-l);}
.btn-ink{background:var(--ink);color:var(--champagne);}
.btn-ink:hover{filter:brightness(1.35);}
.on-light .btn-ghost{color:var(--ink);border-color:rgba(22,19,15,.35);}
.on-light .btn-ghost:hover{border-color:var(--gold-d);color:var(--gold-d);}
.btn:focus-visible,.link-gold:focus-visible{outline:1px solid var(--gold-l);outline-offset:4px;}
.link-gold{display:inline-flex;align-items:center;gap:12px;font-size:12.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--gold);padding-bottom:6px;border-bottom:1px solid var(--gold-line);transition:color .3s,border-color .3s;}
.link-gold svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .35s var(--ease);}
.link-gold:hover svg{transform:translateX(4px);}
.link-gold:hover{color:var(--gold-l);border-color:var(--gold);}
.on-light .link-gold{color:var(--gold-d);}

/* ── Icônes fines dorées ── */
.ico{width:30px;height:30px;fill:none;stroke:var(--gold);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.ico-ring{width:64px;height:64px;border-radius:50%;border:1px solid var(--gold-line);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ico-ring .ico{width:26px;height:26px;}

/* ── Navigation ── */
.tnav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .5s var(--ease),border-color .5s,padding .5s;border-bottom:1px solid transparent;}
.tnav-in{width:min(1400px,calc(100% - 56px));margin:0 auto;height:96px;display:flex;align-items:center;gap:28px;transition:height .5s var(--ease);}
.tnav.scrolled,.tnav.solid{background:rgba(11,10,9,.92);backdrop-filter:blur(14px);border-bottom-color:rgba(201,164,92,.18);}
.tnav.scrolled .tnav-in{height:76px;}
.tnav-logo img{height:50px;width:auto;transition:height .5s var(--ease);}
.tnav.scrolled .tnav-logo img{height:42px;}
.tnav-links{display:flex;align-items:center;gap:38px;list-style:none;margin-left:auto;}
.tnav-links a{font-size:12px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--cream-dim);position:relative;padding:6px 0;transition:color .3s;}
.tnav-links a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);}
.tnav-links a:hover,.tnav-links a.is-active{color:var(--cream-t);}
.tnav-links a:hover::after,.tnav-links a.is-active::after{transform:scaleX(1);}
.tnav-switch{font-size:12px;letter-spacing:.14em;text-decoration:none;color:var(--cream-faint);padding-left:28px;border-left:1px solid rgba(239,231,216,.15);transition:color .3s;white-space:nowrap;}
.tnav-switch:hover{color:var(--gold-l);}
.tnav .btn{padding:15px 26px;font-size:11.5px;}
.tburger{display:none;width:46px;height:46px;border:1px solid var(--gold-line);border-radius:50%;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-left:auto;}
.tburger span{width:18px;height:1px;background:var(--gold-l);transition:transform .35s,opacity .35s;}
.tnav.open .tburger span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.tnav.open .tburger span:nth-child(2){opacity:0;}
.tnav.open .tburger span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.tmenu{display:none;}

/* ── HERO ── */
.thero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--noir);}
.thero-media{position:absolute;top:0;right:0;bottom:0;width:62%;overflow:hidden;}
.thero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;animation:tKen 14s ease-out both;}
.thero-media::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--noir) 0%,rgba(11,10,9,.85) 18%,rgba(11,10,9,.25) 48%,rgba(11,10,9,.15) 70%,rgba(11,10,9,.55) 100%),linear-gradient(0deg,var(--noir) 0%,rgba(11,10,9,0) 30%);}
.thero-glow{position:absolute;z-index:1;width:820px;height:820px;right:8%;top:-20%;background:radial-gradient(circle,rgba(201,164,92,.16) 0%,transparent 62%);pointer-events:none;}
.thero-in{position:relative;z-index:2;width:min(1400px,calc(100% - 56px));margin:0 auto;padding:150px 0 190px;}
.thero-copy{max-width:690px;}
.thero .h-display{margin:30px 0 14px;color:#FBF6EC;font-size:clamp(42px,4.5vw,76px);}
.thero .h-display .gold-it{display:block;font-size:.78em;margin-top:12px;}
.thero .lead{margin:28px 0 46px;}
.thero-ctas{display:flex;gap:18px;flex-wrap:wrap;}
.thero-bar{position:absolute;z-index:3;left:0;right:0;bottom:0;border-top:1px solid rgba(201,164,92,.2);background:linear-gradient(0deg,rgba(11,10,9,.9),rgba(11,10,9,.55));backdrop-filter:blur(6px);}
.thero-bar ul{width:min(1400px,calc(100% - 56px));margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);list-style:none;}
.thero-bar li{display:flex;align-items:center;gap:18px;padding:30px 28px;border-left:1px solid rgba(201,164,92,.16);}
.thero-bar li:first-child{border-left:0;padding-left:0;}
.thero-bar strong{display:block;font-family:var(--serif);font-weight:500;font-size:19px;color:var(--cream-t);line-height:1.2;}
.thero-bar span{font-size:13px;color:var(--cream-faint);}
.scroll-cue{position:absolute;z-index:3;left:50%;bottom:132px;width:1px;height:56px;background:linear-gradient(var(--gold),transparent);opacity:.6;animation:tCue 2.6s ease-in-out infinite;}

/* Page hero (intérieures) */
.phero{position:relative;min-height:72vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--noir);}
.phero-media{position:absolute;inset:0;overflow:hidden;}
.phero-media img{width:100%;height:100%;object-fit:cover;animation:tKen 14s ease-out both;}
.phero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--noir) 2%,rgba(11,10,9,.55) 45%,rgba(11,10,9,.35) 100%),linear-gradient(90deg,rgba(11,10,9,.75) 0%,transparent 65%);}
.phero-in{position:relative;z-index:2;width:min(var(--wrap),calc(100% - 48px));margin:0 auto;padding:180px 0 90px;}
.crumbs{font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--cream-faint);margin-bottom:26px;}
.crumbs a{color:var(--gold);text-decoration:none;}
.crumbs span{margin:0 12px;color:var(--gold-line);}
.phero .h-display{font-size:clamp(44px,5vw,80px);margin:24px 0 20px;color:#FBF6EC;}

/* ── Manifeste (ivoire) ── */
.manifest{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(48px,7vw,120px);align-items:center;}
.manifest .h-xl{margin:26px 0 28px;}
.manifest .lead{margin-bottom:40px;}
.frame{position:relative;}
.frame img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);box-shadow:0 40px 80px -30px rgba(22,19,15,.45);}
.frame::before{content:'';position:absolute;inset:-22px 22px 22px -22px;border:1px solid var(--gold);border-radius:var(--r);opacity:.55;z-index:-1;}
.frame-cap{position:absolute;left:-28px;bottom:42px;background:var(--noir);color:var(--cream-t);padding:22px 28px;border-radius:var(--r);border:1px solid var(--gold-line);box-shadow:0 24px 50px -20px rgba(0,0,0,.5);}
.frame-cap strong{display:block;font-family:var(--serif);font-weight:500;font-size:22px;color:var(--gold-l);}
.frame-cap span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-faint);}
.facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(70px,8vw,110px);border-top:1px solid rgba(22,19,15,.12);}
.fact{padding:34px 26px 0;border-left:1px solid rgba(22,19,15,.1);}
.fact:first-child{border-left:0;padding-left:0;}
.fact strong{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(34px,3vw,46px);line-height:1;color:var(--ink);}
.fact strong em{font-style:italic;color:var(--gold-d);}
.fact span{display:block;margin-top:12px;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);}

/* ── Occasions (cartes sombres) ── */
.occasions{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(201,164,92,.16);border:1px solid rgba(201,164,92,.16);border-radius:var(--r-lg);overflow:hidden;}
.occ{position:relative;background:var(--charbon);padding:52px 44px 48px;transition:background .5s var(--ease);}
.occ::before{content:'';position:absolute;left:44px;right:44px;top:0;height:1px;background:var(--gold-grad);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease);}
.occ:hover{background:var(--charbon-2);}
.occ:hover::before{transform:scaleX(1);}
.occ-num{position:absolute;right:40px;top:44px;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--gold-line);}
.occ .ico{width:34px;height:34px;margin-bottom:34px;}
.occ h3{font-family:var(--serif);font-weight:500;font-size:27px;line-height:1.2;color:var(--cream-t);margin-bottom:16px;}
.occ p{font-size:15px;line-height:1.75;color:var(--cream-dim);margin-bottom:28px;}
.tags{display:flex;flex-wrap:wrap;gap:8px;}
.tag{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding:7px 12px;border:1px solid var(--gold-line);border-radius:40px;}

/* ── Véhicule (split) ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,110px);align-items:center;}
.split.rev .split-media{order:2;}
.split-media{position:relative;}
.split-media img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--r);}
.split-media .badge{position:absolute;right:24px;top:24px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-l);background:rgba(11,10,9,.78);backdrop-filter:blur(6px);border:1px solid var(--gold-line);padding:10px 16px;border-radius:40px;}
.split .h-xl{margin:24px 0 24px;}
.feats{list-style:none;margin:40px 0 44px;}
.feats li{display:flex;gap:22px;padding:22px 0;border-top:1px solid rgba(201,164,92,.18);}
.feats li:last-child{border-bottom:1px solid rgba(201,164,92,.18);}
.on-light .feats li{border-color:rgba(22,19,15,.1);}
.feats strong{display:block;font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.25;margin-bottom:4px;}
.feats span{font-size:14.5px;color:var(--cream-dim);line-height:1.65;}
.on-light .feats span{color:var(--ink-mid);}

/* ── Bandeau citation ── */
.quote-band{position:relative;min-height:78vh;display:flex;align-items:center;overflow:hidden;}
.quote-band .qb-media{position:absolute;inset:0;}
.quote-band .qb-media img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;}
.quote-band .qb-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,10,9,.25) 0%,rgba(11,10,9,.55) 45%,rgba(11,10,9,.92) 75%);}
.quote-band .wrap{position:relative;z-index:2;display:flex;justify-content:flex-end;}
.qb-copy{max-width:560px;}
.qb-copy blockquote{font-family:var(--serif);font-weight:400;font-style:italic;font-size:clamp(32px,3.2vw,50px);line-height:1.18;color:#FBF6EC;margin:28px 0 30px;}
.qb-copy blockquote::before{content:'“';display:block;font-size:90px;line-height:.6;color:var(--gold);margin-bottom:14px;font-style:normal;}
.qb-copy p{color:var(--cream-dim);}

/* ── Engagements ── */
.engage{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(28px,3vw,48px);}
.eng{padding-top:34px;border-top:1px solid var(--gold);}
.eng-n{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--gold-d);display:block;margin-bottom:28px;}
.eng .ico{margin-bottom:22px;stroke:var(--gold-d);}
.eng h3{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.2;margin-bottom:12px;}
.eng p{font-size:15px;color:var(--ink-mid);line-height:1.75;}

/* ── Avis ── */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.rev{background:var(--charbon);border:1px solid rgba(201,164,92,.16);border-radius:var(--r-lg);padding:48px 42px 40px;display:flex;flex-direction:column;}
.stars{display:flex;gap:6px;margin-bottom:28px;}
.stars svg{width:14px;height:14px;fill:var(--gold);}
.rev p{font-family:var(--serif);font-style:italic;font-weight:400;font-size:21px;line-height:1.5;color:var(--cream-t);flex:1;}
.rev-who{display:flex;align-items:center;gap:16px;margin-top:34px;padding-top:26px;border-top:1px solid rgba(201,164,92,.14);}
.rev-av{width:46px;height:46px;border-radius:50%;border:1px solid var(--gold-line);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:17px;color:var(--gold-l);}
.rev-who strong{display:block;font-weight:400;font-size:15px;color:var(--cream-t);}
.rev-who span{font-size:12.5px;letter-spacing:.06em;color:var(--cream-faint);}

/* ── Galerie ── */
.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(150px,15vw,230px);gap:18px;}
.g{position:relative;overflow:hidden;border-radius:var(--r);margin:0;}
.g img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),filter .8s;}
.g:hover img{transform:scale(1.045);}
.g figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 26px 22px;background:linear-gradient(0deg,rgba(11,10,9,.88),transparent);font-family:var(--serif);font-style:italic;font-size:19px;color:var(--cream-t);}
.g figcaption::before{content:'';display:block;width:28px;height:1px;background:var(--gold);margin-bottom:12px;}
.g1{grid-column:span 7;grid-row:span 2;} .g2{grid-column:span 5;grid-row:span 2;}
.g3{grid-column:span 4;grid-row:span 2;} .g4{grid-column:span 4;grid-row:span 2;} .g5{grid-column:span 4;grid-row:span 2;}
.g6{grid-column:span 6;grid-row:span 2;} .g7{grid-column:span 6;grid-row:span 2;}

/* ── Tarifs ── */
.tabs{display:flex;justify-content:center;gap:0;margin:0 auto 54px;border:1px solid rgba(22,19,15,.14);border-radius:60px;padding:6px;width:fit-content;background:#fff;}
.tab{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mid);background:none;border:0;padding:15px 28px;border-radius:60px;cursor:pointer;transition:background .35s,color .35s;display:flex;align-items:center;gap:10px;}
.tab:hover{color:var(--ink);}
.tab.active{background:var(--ink);color:var(--champagne);}
.tab .flag-i{margin:0;}
.tpanel{display:none;}
.tpanel.active{display:block;animation:tFade .6s var(--ease);}
.ttables{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:26px;}
.ttable{background:#fff;border:1px solid rgba(22,19,15,.08);border-radius:var(--r-lg);padding:38px 40px 26px;box-shadow:0 30px 60px -40px rgba(22,19,15,.35);}
.ttable h3{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-weight:500;font-size:25px;color:var(--ink);padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid var(--gold);}
.trow{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:15px 0;border-bottom:1px solid rgba(22,19,15,.07);font-size:15px;color:var(--ink-mid);}
.trow:last-child{border-bottom:0;}
.trow b{font-weight:500;color:var(--ink);white-space:nowrap;}
.trow b em{font-style:normal;font-size:12px;letter-spacing:.06em;color:var(--ink-soft);font-weight:400;margin-right:6px;}
.tinfo{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:70px;}
.tinfo-card{display:flex;gap:20px;align-items:flex-start;padding:30px;border:1px solid rgba(22,19,15,.1);border-radius:var(--r-lg);background:var(--ivoire);}
.tinfo-card .ico{stroke:var(--gold-d);}
.tinfo-card strong{display:block;font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ink);margin-bottom:4px;}
.tinfo-card span{font-size:14px;color:var(--ink-mid);line-height:1.6;}

/* ── CTA final ── */
.cta-lux{position:relative;overflow:hidden;text-align:center;}
.cta-lux::before{content:'';position:absolute;left:50%;top:50%;width:900px;height:900px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(201,164,92,.18),transparent 60%);pointer-events:none;}
.cta-lux .wrap{position:relative;}
.cta-lux .h-xl{margin:24px auto 22px;max-width:820px;}
.cta-lux .lead{margin:0 auto 46px;}
.cta-lux .thero-ctas{justify-content:center;}
.cta-contacts{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin-top:70px;border-top:1px solid rgba(201,164,92,.18);padding-top:40px;}
.cta-contacts a,.cta-contacts div{display:flex;align-items:center;gap:14px;padding:0 38px;text-decoration:none;color:var(--cream-dim);font-size:14.5px;border-left:1px solid rgba(201,164,92,.18);}
.cta-contacts > :first-child{border-left:0;}
.cta-contacts .ico{width:22px;height:22px;}
.cta-contacts a:hover{color:var(--gold-l);}

/* ── Contact / formulaire ── */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(48px,6vw,100px);align-items:start;}
.cinfo{list-style:none;margin-top:44px;}
.cinfo li{display:flex;gap:20px;padding:24px 0;border-top:1px solid rgba(22,19,15,.1);}
.cinfo li:last-child{border-bottom:1px solid rgba(22,19,15,.1);}
.cinfo .ico{stroke:var(--gold-d);}
.cinfo strong{display:block;font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ink);}
.cinfo span,.cinfo a{font-size:14.5px;color:var(--ink-mid);text-decoration:none;}
.cinfo a:hover{color:var(--gold-d);}
.form-card{background:var(--noir);color:var(--cream-t);border-radius:var(--r-lg);padding:clamp(36px,4vw,60px);border:1px solid rgba(201,164,92,.22);box-shadow:0 50px 90px -40px rgba(11,10,9,.6);}
.form-card h2{font-family:var(--serif);font-weight:400;font-size:36px;margin:16px 0 8px;}
#tripForm > p:not(.fnote){color:var(--cream-faint);font-size:14.5px;margin-bottom:36px;}
.form-card .btn-ghost{color:var(--cream-t);border-color:rgba(239,231,216,.4);}
.form-card .btn-ghost:hover{color:var(--gold-l);border-color:var(--gold);}
.form-card .btn-ghost svg{width:18px;height:18px;}
.contact-grid .h-xl{margin:22px 0 22px;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.fgroup{margin-bottom:24px;}
.fgroup label{display:block;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.fgroup input,.fgroup select,.fgroup textarea{width:100%;font-family:var(--sans);font-size:15px;font-weight:300;color:var(--cream-t);background:transparent;border:0;border-bottom:1px solid rgba(239,231,216,.22);padding:12px 0;border-radius:0;outline:none;transition:border-color .35s;color-scheme:dark;}
.fgroup select option{background:var(--charbon);}
.fgroup textarea{min-height:96px;resize:vertical;}
.fgroup input:focus,.fgroup select:focus,.fgroup textarea:focus{border-color:var(--gold);}
.fgroup input::placeholder,.fgroup textarea::placeholder{color:rgba(239,231,216,.28);}
.factions{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;}
.factions .btn{flex:1;min-width:220px;}
.fnote{font-size:12.5px;color:var(--cream-faint);margin-top:18px;}
.fsuccess{display:none;text-align:center;padding:40px 0;}
.fsuccess h3{font-family:var(--serif);font-weight:400;font-size:34px;margin:18px 0 12px;}
.fsuccess p{color:var(--cream-dim);}

/* ── Footer ── */
.tfoot{background:var(--noir);border-top:1px solid rgba(201,164,92,.2);padding:100px 0 40px;color:var(--cream-dim);}
.tfoot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:56px;}
.tfoot-logo img{height:70px;width:auto;margin-bottom:22px;}
.tfoot p{font-size:14.5px;line-height:1.8;max-width:300px;}
.tfoot h4{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;}
.tfoot ul{list-style:none;}
.tfoot li{margin-bottom:12px;}
.tfoot li a{font-size:14.5px;text-decoration:none;color:var(--cream-dim);transition:color .3s;}
.tfoot li a:hover{color:var(--gold-l);}
.tfoot-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:80px;padding-top:30px;border-top:1px solid rgba(201,164,92,.12);font-size:12.5px;letter-spacing:.04em;color:var(--cream-faint);}
.tfoot-bottom a{color:var(--cream-faint);text-decoration:none;}
.tfoot-bottom a:hover{color:var(--gold-l);}
.tfoot-bottom img{height:20px;width:auto;display:inline-block;vertical-align:middle;margin-left:6px;opacity:.85;}
.back-top{position:fixed;right:28px;bottom:28px;z-index:90;width:50px;height:50px;border-radius:50%;border:1px solid var(--gold-line);background:rgba(11,10,9,.8);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s,border-color .3s;text-decoration:none;}
.back-top svg{width:18px;height:18px;fill:none;stroke:var(--gold-l);stroke-width:1.4;}
.back-top.show{opacity:1;visibility:visible;}
.back-top:hover{border-color:var(--gold);}

/* ── Apparitions ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.12s;} .reveal.d2{transition-delay:.24s;} .reveal.d3{transition-delay:.36s;}
.thero .reveal{animation:tUp 1.3s var(--ease) both;}
.thero .reveal.d1{animation-delay:.15s;} .thero .reveal.d2{animation-delay:.3s;} .thero .reveal.d3{animation-delay:.45s;}
@keyframes tUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes tKen{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes tCue{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.2}50%{transform:scaleY(1);opacity:.7}}
@keyframes tFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}.reveal{opacity:1;transform:none;}}

/* ── Responsive ── */
@media (max-width:1180px){
  .tnav-links{gap:24px;}
  .tnav-switch{display:none;}
  .occasions{grid-template-columns:repeat(2,1fr);}
  .engage{grid-template-columns:repeat(2,1fr);row-gap:56px;}
  .thero-bar li{padding:24px 18px;gap:14px;}
  .thero-bar strong{font-size:17px;}
  .tfoot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:980px){
  .tnav-links,.tnav .btn-gold{display:none;}
  .tburger{display:flex;}
  .tmenu{display:block;position:fixed;inset:0;z-index:99;background:rgba(11,10,9,.97);backdrop-filter:blur(14px);padding:130px 32px 40px;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s;}
  .tnav.open + .tmenu{opacity:1;visibility:visible;}
  .tmenu ul{list-style:none;}
  .tmenu li{border-bottom:1px solid rgba(201,164,92,.14);}
  .tmenu li a{display:block;padding:22px 0;font-family:var(--serif);font-size:30px;color:var(--cream-t);text-decoration:none;}
  .tmenu li a.is-active{color:var(--gold-l);font-style:italic;}
  .tmenu .btn{margin-top:36px;width:100%;}
  .tmenu .tmenu-switch{font-family:var(--sans);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
  .thero-media{width:100%;}
  .thero-media::before{background:linear-gradient(0deg,var(--noir) 8%,rgba(11,10,9,.7) 45%,rgba(11,10,9,.45) 100%);}
  .thero-in{padding:150px 0 60px;}
  .thero{flex-direction:column;align-items:stretch;justify-content:flex-end;}
  .thero-bar{position:relative;}
  .thero-bar ul{grid-template-columns:1fr 1fr;}
  .thero-bar li{border-left:0;padding:22px 0;border-top:1px solid rgba(201,164,92,.12);}
  .thero-bar li:nth-child(even){padding-left:18px;border-left:1px solid rgba(201,164,92,.12);}
  .scroll-cue{display:none;}
  .manifest,.split,.contact-grid{grid-template-columns:1fr;}
  .split.rev .split-media{order:0;}
  .frame{max-width:520px;margin:0 auto 20px;}
  .frame-cap{left:auto;right:-10px;}
  .facts{grid-template-columns:1fr 1fr;}
  .fact:nth-child(3){border-left:0;padding-left:0;}
  .reviews{grid-template-columns:1fr;}
  .tinfo{grid-template-columns:1fr;}
  .quote-band .qb-media::after{background:linear-gradient(0deg,rgba(11,10,9,.95) 30%,rgba(11,10,9,.35));}
  .quote-band{align-items:flex-end;padding:100px 0 70px;}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:200px;}
  .g1,.g6,.g7{grid-column:span 2;}
  .g2,.g3,.g4,.g5{grid-column:span 1;}
  .cta-contacts{flex-direction:column;align-items:center;gap:18px;}
  .cta-contacts a,.cta-contacts div{border-left:0;}
}
@media (max-width:640px){
  .tnav-in{width:calc(100% - 32px);height:78px;}
  .tnav-logo img{height:46px;}
  .occasions{grid-template-columns:1fr;}
  .occ{padding:44px 30px 40px;}
  .occ::before{left:30px;right:30px;}
  .engage{grid-template-columns:1fr;}
  .thero-ctas .btn,.cta-lux .btn{width:100%;}
  .thero-bar ul{grid-template-columns:1fr;}
  .thero-bar li,.thero-bar li:nth-child(even){padding:18px 0;border-left:0;}
  .frow{grid-template-columns:1fr;}
  .tabs{width:100%;flex-wrap:wrap;border-radius:18px;}
  .tab{flex:1 1 45%;justify-content:center;padding:13px 10px;font-size:11px;border-radius:12px;}
  .ttable{padding:30px 24px 18px;}
  .trow{font-size:14px;}
  .tfoot-grid{grid-template-columns:1fr;}
  .gallery{grid-template-columns:1fr;grid-auto-rows:240px;}
  .g1,.g2,.g3,.g4,.g5,.g6,.g7{grid-column:span 1;}
  .frame-cap{right:0;left:0;margin:0 auto;width:fit-content;bottom:-30px;}
}

/* ═══ Composants « référence » ═══ */
/* Duo Garde à domicile / Transport */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.duo-card{position:relative;overflow:hidden;border-radius:var(--r-lg);min-height:560px;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(36px,4vw,56px);isolation:isolate;}
.duo-card .duo-media{position:absolute;inset:0;z-index:-1;}
.duo-card .duo-media img{position:absolute;right:0;top:0;width:50%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease);}
.duo-card:hover .duo-media img{transform:scale(1.04);}
.duo-light{background:var(--ivoire);color:var(--ink);border:1px solid rgba(201,164,92,.35);}
.duo-light .duo-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--ivoire) 44%,rgba(247,242,233,.6) 58%,rgba(247,242,233,0) 78%),linear-gradient(0deg,var(--ivoire) 6%,rgba(247,242,233,0) 45%);}
.duo-dark{background:var(--noir);color:var(--cream-t);border:1px solid rgba(201,164,92,.28);}
.duo-dark .duo-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--noir) 44%,rgba(11,10,9,.6) 58%,rgba(11,10,9,0) 78%),linear-gradient(0deg,var(--noir) 8%,rgba(11,10,9,0) 45%);}
.duo-top{max-width:340px;}
.duo-card .h-lg{font-size:clamp(28px,2.4vw,38px);}
.duo-card .h-lg{margin:18px 0 18px;}
.duo-card p{font-size:15.5px;line-height:1.7;margin-bottom:30px;}
.duo-light p{color:var(--ink-mid);} .duo-dark p{color:var(--cream-dim);}
.duo-light .eyebrow{color:var(--gold-d);} .duo-light .eyebrow::before{background:var(--gold-d);}
.duo-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:18px;list-style:none;margin-top:44px;}
.duo-feats li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;font-size:13px;line-height:1.4;}
.duo-light .duo-feats li{color:var(--ink-mid);} .duo-dark .duo-feats li{color:var(--cream-dim);}
.duo-light .ico{stroke:var(--gold-d);}
.btn-outline-ink{background:transparent;color:var(--ink);border:1px solid rgba(22,19,15,.4);}
.btn-outline-ink:hover{border-color:var(--gold-d);color:var(--gold-d);}

/* Cartes services avec photo */
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.svc-card{position:relative;display:flex;flex-direction:column;background:var(--noir);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--cream-t);border:1px solid rgba(201,164,92,.18);transition:transform .6s var(--ease),border-color .4s,box-shadow .6s;}
.svc-card:hover{transform:translateY(-6px);border-color:var(--gold-line);box-shadow:0 40px 60px -35px rgba(22,19,15,.55);}
.svc-img{position:relative;aspect-ratio:4/3;overflow:hidden;}
.svc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease);}
.svc-card:hover .svc-img img{transform:scale(1.06);}
.svc-img::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--noir) 2%,rgba(11,10,9,0) 55%);}
.svc-body{position:relative;padding:0 28px 30px;flex:1;display:flex;flex-direction:column;}
.svc-body .ico-ring{width:56px;height:56px;margin-top:-34px;margin-bottom:18px;background:var(--noir);border-color:var(--gold);position:relative;z-index:2;}
.svc-body h3{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.2;margin-bottom:10px;}
.svc-body p{font-size:14.5px;line-height:1.65;color:var(--cream-dim);flex:1;}
.svc-go{align-self:flex-end;margin-top:22px;width:40px;height:40px;border-radius:50%;border:1px solid var(--gold-line);display:flex;align-items:center;justify-content:center;transition:background .35s,border-color .35s;}
.svc-go svg{width:16px;height:16px;fill:none;stroke:var(--gold-l);stroke-width:1.5;}
.svc-card:hover .svc-go{background:var(--gold);border-color:var(--gold);}
.svc-card:hover .svc-go svg{stroke:var(--ink);}

/* Témoignage + photo */
.testi{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center;}
.testi blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.2vw,32px);line-height:1.4;color:var(--ink);margin:30px 0 26px;}
.testi .stars svg{width:18px;height:18px;fill:var(--gold);}
.testi-who{display:flex;align-items:center;gap:18px;font-size:14.5px;color:var(--ink-mid);}
.testi-img img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-lg);box-shadow:0 40px 70px -40px rgba(22,19,15,.5);}
.testi .link-gold{margin-top:34px;}

/* CTA photo */
.cta-photo{position:relative;overflow:hidden;min-height:560px;display:flex;align-items:center;background:var(--noir);}
.cta-photo .cp-media{position:absolute;top:0;right:0;bottom:0;width:62%;overflow:hidden;}
.cta-photo .cp-media img{width:100%;height:100%;object-fit:cover;}
.cta-photo .cp-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--noir) 0%,rgba(11,10,9,.55) 35%,rgba(11,10,9,.15) 70%,rgba(11,10,9,.4) 100%);}
.cta-photo .wrap{position:relative;z-index:2;}
.cta-photo .h-xl{margin:22px 0 20px;max-width:560px;}
.cta-photo .lead{margin-bottom:40px;}

/* Page Services : rangées éditoriales */
.svc-rows{display:flex;flex-direction:column;gap:clamp(90px,10vw,150px);}
.svc-row{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(44px,6vw,100px);align-items:center;}
.svc-row:nth-child(even) .svc-row-media{order:2;}
.svc-row-media{position:relative;}
.svc-row-media img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--r-lg);}
.svc-row-media .num{position:absolute;left:-18px;top:-30px;font-family:var(--serif);font-style:italic;font-size:110px;line-height:1;color:var(--gold);opacity:.35;}
.svc-row .h-xl{margin:22px 0 22px;font-size:clamp(34px,3.4vw,54px);}
.svc-row .lead{margin-bottom:30px;}
.svc-row ul{list-style:none;margin:0 0 34px;}
.svc-row ul li{position:relative;padding:11px 0 11px 30px;border-top:1px solid rgba(22,19,15,.08);font-size:15px;color:var(--ink-mid);}
.svc-row ul li::before{content:'';position:absolute;left:4px;top:21px;width:8px;height:8px;transform:rotate(45deg);border:1px solid var(--gold-d);}
.svc-row .tags{margin-bottom:34px;}
.on-light .tag{color:var(--gold-d);border-color:rgba(166,130,63,.35);}

@media (max-width:1180px){ .svc{grid-template-columns:repeat(2,1fr);} }
@media (max-width:980px){
  .duo,.testi,.svc-row{grid-template-columns:1fr;}
  .svc-row:nth-child(even) .svc-row-media{order:0;}
  .duo-card .duo-media img{width:100%;}
  .duo-light .duo-media::after{background:linear-gradient(0deg,var(--ivoire) 45%,rgba(247,242,233,.6) 70%,rgba(247,242,233,.2));}
  .duo-dark .duo-media::after{background:linear-gradient(0deg,var(--noir) 45%,rgba(11,10,9,.6) 70%,rgba(11,10,9,.2));}
  .duo-card{min-height:640px;justify-content:flex-end;}
  .cta-photo .cp-media{width:100%;}
  .cta-photo .cp-media::after{background:linear-gradient(0deg,var(--noir) 35%,rgba(11,10,9,.55));}
  .cta-photo{align-items:flex-end;padding:260px 0 70px;}
}
@media (max-width:640px){ .svc{grid-template-columns:1fr;} .svc-row-media .num{font-size:80px;left:0;} }
.eyebrow .ico{width:18px;height:18px;stroke:currentColor;}
@media (max-width:980px){
  .duo-card{min-height:0;padding:0 26px 34px;justify-content:flex-start;}
  .duo-card .duo-media{position:relative;inset:auto;z-index:0;margin:0 -26px 28px;height:260px;}
  .duo-card .duo-media img{width:100%;}
  .duo-light .duo-media::after{background:linear-gradient(0deg,var(--ivoire) 0%,rgba(247,242,233,0) 45%);}
  .duo-dark .duo-media::after{background:linear-gradient(0deg,var(--noir) 0%,rgba(11,10,9,0) 45%);}
  .duo-top{max-width:none;}
  .duo-feats{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){.duo-card .btn{white-space:normal;width:100%;padding:18px 20px;}}

/* ═══ Pages intérieures compactes ═══ */
.phero{min-height:0!important;}
.phero-in{padding:128px 0 34px!important;}
.phero .h-display{font-size:clamp(34px,3.2vw,52px)!important;margin:12px 0 10px!important;}
.phero .crumbs{margin-bottom:12px!important;}
.phero .lead{font-size:15.5px;}
.phero + .sec{padding-top:44px!important;}
.phero + .sec .sec-head{margin-bottom:34px!important;}
.phero + .sec .sec-head .h-xl{margin:12px 0 10px!important;font-size:clamp(28px,2.6vw,40px)!important;}
@media (max-width:640px){.phero-in{padding:100px 0 26px!important;}}
.contact-grid > *,.split > *,.manifest > *,.testi > *,.duo > *{min-width:0;}
@media (max-width:640px){.factions .btn{min-width:0;width:100%;}.form-card{padding:30px 20px;}.form-card h2{font-size:28px;}.h-xl{font-size:34px;}}
@media (max-width:640px){.factions{flex-direction:column;}.factions .btn{white-space:normal;letter-spacing:.14em;padding:17px 18px;}}
.thero-bar ul{padding-bottom:28px;}

/* ═══ Header ondulé (quand il devient opaque) ═══ */
.tnav{border-bottom:none!important;}
.tnav::after{content:'';position:absolute;left:0;right:0;top:calc(100% - 1px);height:18px;pointer-events:none;opacity:0;transition:opacity .5s;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 18' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H1440 V6 C1290 18 1150 18 1000 10 C850 2 710 3 570 11 C430 19 290 16 150 8 C95 5 45 5 0 8 Z' fill='%230B0A09' fill-opacity='.92'/%3E%3Cpath d='M0 8 C45 5 95 5 150 8 C290 16 430 19 570 11 C710 3 850 2 1000 10 C1150 18 1290 18 1440 6' fill='none' stroke='%23C9A45C' stroke-opacity='.35' stroke-width='1'/%3E%3C/svg%3E") no-repeat top/100% 100%;}
.tnav.scrolled::after,.tnav.solid::after{opacity:1;}

/* ═══ Vagues entre sections ═══ */
.auto-wave{position:relative;height:0;z-index:6;pointer-events:none;}
.auto-wave svg{position:absolute;left:0;width:100%;height:clamp(34px,4.4vw,64px);display:block;}
.auto-wave.up svg{bottom:-1px;}
.auto-wave.down svg{top:-1px;}
.auto-wave.lux svg{height:clamp(24px,2.8vw,42px);}
