:root{
  /* couleurs issues du logo */
  --crimson:#A62F44; --crimson-d:#8A2438; --crimson-l:#C13B57;
  --cyan:#118BB5; --gold:#DEB125;
  /* palette atelier bois */
  --paper:#FBF8F4;      /* fond principal, blanc chaud */
  --sand:#F1EAE0;       /* bandes alternées */
  --sand-d:#E5D9C9;     /* bordures chaudes */
  --walnut:#2E2620;     /* texte, aplats sombres */
  --ink:#241F1A;
  --gray:#6F655B;
  --line:#E2D9CD;
  --maxw:1140px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase}
h1,h2,h3{font-family:'Archivo',sans-serif;line-height:1.07;letter-spacing:-.022em}
h2{font-size:clamp(26px,3.6vw,38px);font-weight:700}
h3{font-weight:700}
p{margin-bottom:14px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--walnut);color:#fff;padding:10px 16px;z-index:200}

.eyebrow{color:var(--crimson);display:flex;align-items:center;gap:10px;margin-bottom:18px}
.eyebrow::before{content:"";width:26px;height:2px;background:currentColor;flex:none}
.eyebrow.light{color:rgba(255,255,255,.8)}
.eyebrow.gold{color:var(--gold)}
.eyebrow.center{justify-content:center}
.eyebrow.center::before{display:none}

.btn{display:inline-block;background:var(--crimson);color:#fff;text-decoration:none;padding:12px 22px;font-size:14px;font-weight:600;white-space:nowrap;border:1px solid var(--crimson);cursor:pointer;transition:background .15s,color .15s,border-color .15s;font-family:inherit;border-radius:2px}
.btn:hover{background:var(--crimson-d);border-color:var(--crimson-d)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--sand-d)}
.btn.ghost:hover{background:var(--walnut);color:#fff;border-color:var(--walnut)}
.btn.white{background:#fff;color:var(--ink);border-color:#fff}
.btn.white:hover{background:var(--crimson);color:#fff;border-color:var(--crimson)}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:60;background:rgba(251,248,244,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:24px;height:88px}
.brand{margin-right:auto;display:flex;align-items:center;text-decoration:none;min-width:0}
.brand img{height:50px;width:auto;max-width:none;flex:none}
.links{display:flex;gap:34px}
.nav a.link{color:var(--ink);text-decoration:none;font-size:15.5px;font-weight:500;opacity:.74;white-space:nowrap}
.nav a.link:hover,.nav a.link.on{opacity:1;color:var(--crimson)}
.tel{font-family:'JetBrains Mono',monospace;font-size:14px;text-decoration:none;color:var(--ink);font-weight:500;white-space:nowrap}
.burger{display:flex;background:none;border:1px solid var(--sand-d);border-radius:2px;width:46px;height:42px;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;transition:border-color .15s,background .15s}
.burger:hover{border-color:var(--walnut)}
.burger span{display:block;height:2px;width:20px;background:var(--ink);transition:transform .18s,opacity .18s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobnav{display:none;flex-direction:column;border-top:1px solid var(--line);padding:6px 24px 18px;background:var(--paper)}
.mobnav a{padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:500;font-size:15px}
.mobnav.open{display:flex}
.tel-m{font-family:'JetBrains Mono',monospace;letter-spacing:.04em}
@media(max-width:1060px){.links{display:none}}
@media(max-width:520px){.nav{gap:12px;height:74px}.brand img{height:36px}.btn{padding:10px 13px;font-size:13px}}

/* ---------- hero accueil ---------- */
.hero{background:var(--sand);border-bottom:1px solid var(--line);padding:74px 0 0;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(46,38,32,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(46,38,32,.035) 1px,transparent 1px);
  background-size:60px 60px;pointer-events:none}
.hero .wrap{position:relative}
.hgrid{display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center}
.hero h1{font-size:clamp(35px,5.6vw,64px);font-weight:800;max-width:14ch}
.hero h1 em{font-style:normal;color:var(--crimson)}
.hero .lede{margin-top:24px;font-size:clamp(16.5px,1.9vw,19.5px);max-width:50ch;color:var(--gray)}
.hero .cta-row{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap}
.hshot{position:relative;margin:0}
.hshot img{width:100%;height:clamp(340px,46vw,520px);object-fit:cover;border-radius:3px}
.hshot figcaption{position:absolute;left:0;bottom:0;background:var(--paper);color:var(--gray);padding:8px 14px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:900px){.hgrid{grid-template-columns:1fr;gap:34px}.hshot img{height:300px}}

.cartouche{margin-top:56px;border-top:1px solid var(--sand-d);border-left:1px solid var(--sand-d);display:grid;grid-template-columns:repeat(3,1fr)}
.cartouche div{padding:18px 20px 22px;border-right:1px solid var(--sand-d);border-bottom:1px solid var(--sand-d)}
.cartouche .k{color:var(--gray);display:block;margin-bottom:8px}
.cartouche .v{font-family:'Archivo',sans-serif;font-weight:700;font-size:16px;line-height:1.3}
@media(max-width:700px){.cartouche{grid-template-columns:1fr}}

/* ---------- hero page intérieure ---------- */
.phero{background:var(--sand);border-bottom:1px solid var(--line);padding:60px 0 58px}
.phero h1{font-size:clamp(31px,4.8vw,52px);font-weight:800;max-width:20ch}
.phero .lede{margin-top:20px;font-size:clamp(16.5px,1.9vw,19px);max-width:62ch;color:var(--gray)}

/* ---------- sections ---------- */
section{padding:78px 0}
.band{background:var(--sand);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{margin-bottom:44px;max-width:66ch}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head p{margin-top:16px;color:var(--gray);font-size:17px}
.sp{margin-top:32px}
.more{margin-top:36px}

.two{display:grid;grid-template-columns:1.35fr .85fr;gap:44px;align-items:start}
.two h2{margin-bottom:18px}
.two p{color:var(--gray);font-size:16.5px}
.two p b{color:var(--ink)}
@media(max-width:900px){.two{grid-template-columns:1fr;gap:34px}}

.card{border:1px solid var(--line);background:#fff;padding:30px 28px 34px;border-radius:3px}
.card .k{color:var(--gray);display:block;margin-bottom:14px}
.card p{color:var(--gray);font-size:15.5px}
.card .big{font-family:'Archivo',sans-serif;font-weight:800;font-size:25px;color:var(--ink);letter-spacing:-.02em}
.card .big a{color:var(--ink);text-decoration:none}
.card .small{font-size:14.5px}
.facts{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:15px}
.facts dt{color:var(--gray)}
.facts dd{font-weight:600}

.ticks{list-style:none;display:grid;gap:11px;margin:6px 0 4px}
.ticks li{padding-left:20px;position:relative;font-size:16px;color:var(--gray)}
.ticks li b{color:var(--ink)}
.ticks li::before{content:"";position:absolute;left:0;top:11px;width:9px;height:1.5px;background:var(--crimson)}
.ticks.tight li{font-size:15px}

/* ---------- métiers ---------- */
.metiers{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.metier{border:1px solid var(--line);background:#fff;padding:32px 30px 36px;display:flex;flex-direction:column;border-radius:3px;border-top:3px solid var(--crimson)}
.metier.alt{border-top-color:var(--cyan)}
.metier .sub{color:var(--crimson);margin-bottom:14px}
.metier .sub.alt{color:var(--cyan)}
.metier h3{font-size:clamp(21px,2.5vw,26px);margin-bottom:14px}
.metier p{color:var(--gray);font-size:15.8px}
.metier ul{list-style:none;margin:20px 0 26px;display:grid;gap:9px}
.metier li{font-size:15px;padding-left:18px;position:relative;color:var(--gray)}
.metier li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:1.5px;background:var(--crimson)}
.metier.alt li::before{background:var(--cyan)}
.metier .foot{margin-top:auto}
@media(max-width:820px){.metiers{grid-template-columns:1fr}}

/* ---------- grid4 ---------- */
.grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden}
.grid4 article{background:var(--paper);padding:32px 30px 36px}
.band .grid4 article{background:#fff}
.grid4 h3{font-size:20px;margin:14px 0 12px}
.grid4 p{color:var(--gray);font-size:15.5px;margin:0}
.idx{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--crimson);font-weight:500}
@media(max-width:720px){.grid4{grid-template-columns:1fr}}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.steps article{border-top:2px solid var(--walnut);padding-top:18px}
.steps h3{font-size:17px;margin:10px 0}
.steps p{font-size:15px;color:var(--gray);margin:0}
@media(max-width:880px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}

/* ---------- bande photos ---------- */
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:14px}
.strip figure{margin:0}
.strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px}
.strip figcaption{margin-top:9px;color:var(--gray);font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase}
@media(max-width:820px){.strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.strip{grid-template-columns:1fr}}

/* ---------- why ---------- */
.why{display:grid;grid-template-columns:1fr 1fr;border-radius:3px;overflow:hidden}
.why .col{padding:44px 40px;background:#fff}
.why .col.dark{background:var(--walnut);color:#fff}
.why .col.dark h2{color:#fff}
.why .col.dark p{color:#c8bfb5;margin-top:16px;font-size:16.5px}
.bars{list-style:none;display:grid;gap:22px}
.bars li{border-left:2px solid var(--crimson);padding-left:16px}
.bars h3{font-size:17px;margin-bottom:6px}
.bars p{color:var(--gray);font-size:15.5px;margin:0}
@media(max-width:820px){.why{grid-template-columns:1fr}}

/* ---------- réalisations ---------- */
.refs{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ref{border:1px solid var(--line);background:#fff;border-radius:3px;overflow:hidden}
.ref img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ref .body{padding:22px 24px 26px}
.ref .ph{aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#EDE4D7,#EDE4D7 8px,#F5EFE6 8px,#F5EFE6 16px);display:flex;align-items:center;justify-content:center;color:#A79781;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em}
.ref .tag{color:var(--crimson);margin-bottom:10px;display:block}
.ref h3{font-size:17px;margin-bottom:10px}
.ref p{font-size:15px;color:var(--gray);margin:0}
@media(max-width:900px){.refs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.refs{grid-template-columns:1fr}}

/* ---------- form ---------- */
.form{display:grid;gap:18px}
.form label{display:grid;gap:7px;font-size:14px;font-weight:600;align-content:start}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.form input,.form select,.form textarea{font-family:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--sand-d);background:#fff;color:var(--ink);width:100%;font-weight:400;border-radius:2px}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--crimson);outline-offset:-1px;border-color:var(--crimson)}
.form .hint{font-weight:400;font-size:13px;color:var(--gray)}
.form .check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:14px;color:var(--gray)}
.form .check input{width:auto;margin-top:3px}
.form button{justify-self:start}
@media(max-width:600px){.form .row{grid-template-columns:1fr}}

/* ---------- prose / zones ---------- */
.prose{max-width:74ch}
.prose h2{font-size:22px;margin:32px 0 12px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--gray);font-size:16px}
.prose .todo{background:#FBF2DA;border-left:3px solid var(--gold);padding:12px 16px;color:#6E5411;font-size:14.5px}
.zonelinks{display:flex;flex-wrap:wrap;gap:10px 18px}
.zonelinks a{color:var(--ink);font-size:15px;text-decoration:none;border-bottom:1px solid var(--sand-d)}
.zonelinks a:hover{color:var(--crimson);border-color:var(--crimson)}

/* ---------- CTA final ---------- */
.final{background:var(--walnut);color:#fff}
.final h2{font-size:clamp(27px,4.4vw,44px);color:#fff;font-weight:800;max-width:19ch}
.final p{margin-top:18px;color:#c8bfb5;font-size:17px;max-width:56ch}
.final .cta-row{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
.final .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.final .btn.ghost:hover{background:#fff;color:var(--walnut);border-color:#fff}

/* ---------- footer ---------- */
footer{background:var(--walnut);color:#a79c91;padding:56px 0 30px;font-size:14.5px}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:30px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.13)}
.flogo{height:64px;width:auto;margin-bottom:18px}
.fdesc{font-size:14px;color:#968b80;max-width:34ch}
footer .k{color:#6d6259;display:block;margin-bottom:10px}
footer a{color:#fff;text-decoration:none}
footer a:hover{color:var(--gold)}
footer .val{color:#fff}
.zones{padding:20px 0 0;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:13.5px}
.zones a{color:#a79c91}
.zones .k{margin:0 8px 0 0}
.legal{padding-top:16px;font-size:12.5px;color:#6d6259}
.legal a{color:#968b80}
@media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fgrid{grid-template-columns:1fr}}

a:focus-visible,.btn:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.wideshot{margin:48px 0 0}
.wideshot img{width:100%;max-height:520px;object-fit:cover;border-radius:3px}
.wideshot figcaption{margin-top:10px;color:var(--gray);font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}

/* carte avec image en tête */
.card.nopad{padding:0;overflow:hidden}
.card.nopad img{width:100%;aspect-ratio:4/3;object-fit:cover}
.card .cardbody{padding:26px 28px 32px}

/* ---------- fil d'Ariane ---------- */
.crumbs{background:var(--paper);border-bottom:1px solid var(--line);font-size:13px;color:var(--gray)}
.crumbs .wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:12px;padding-bottom:12px}
.crumbs a{color:var(--gray);text-decoration:none}
.crumbs a:hover{color:var(--crimson)}
.crumbs span[aria-hidden]{color:var(--sand-d)}
.crumbs span[aria-current]{color:var(--ink);font-weight:500}

/* ---------- FAQ ---------- */
.faqs{border-top:1px solid var(--sand-d)}
.faq{border-bottom:1px solid var(--sand-d)}
.faq summary{cursor:pointer;padding:20px 40px 20px 0;font-family:'Archivo',sans-serif;font-weight:700;font-size:17.5px;position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:8px;top:16px;font-size:24px;font-weight:400;color:var(--crimson);line-height:1}
.faq[open] summary::after{content:"–"}
.faq summary:hover{color:var(--crimson)}
.faq div{padding:0 40px 22px 0}
.faq p{color:var(--gray);font-size:16px;margin:0;max-width:78ch}

/* ---------- tableau légal ---------- */
.legaltable{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:14.5px}
.legaltable th{background:var(--walnut);color:#fff;text-align:left;padding:10px 12px;font-weight:600;font-size:13.5px}
.legaltable td{border-bottom:1px solid var(--line);padding:10px 12px;color:var(--gray);vertical-align:top}
.prose h3{font-family:'Archivo',sans-serif;font-size:17px;margin:22px 0 8px}

/* ============================================================
   FINITIONS v9 — grain, révélations, filigranes, survols, 3D
   ============================================================ */

/* grain papier sur les fonds sable */
.band, .hero, .phero{position:relative}
.band::after, .hero::after, .phero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:multiply;z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.72 0 0 0 0 0.66 0 0 0 0 0.58 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
.band > .wrap, .hero > .wrap, .phero > .wrap{position:relative;z-index:1}

/* révélation au défilement (classes posées par JS) */
.rv{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.rv.on{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
html.no-js .rv{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* héros : photo décadrée + filet bordeaux */
.hshot::before{content:"";position:absolute;inset:0;transform:translate(16px,16px);border:2px solid var(--crimson);border-radius:3px;z-index:0}
.hshot img{position:relative;z-index:1}
.hshot figcaption{z-index:2}

/* numéros de section en filigrane (data-n posé par JS) */
.sec-head[data-n]{position:relative}
.sec-head[data-n]::before{content:attr(data-n);position:absolute;top:-46px;right:-6px;z-index:0;
  font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(110px,20vw,200px);line-height:1;
  color:transparent;-webkit-text-stroke:1.5px var(--sand-d);pointer-events:none}
.sec-head[data-n] > *{position:relative;z-index:1}

/* cartes vivantes */
.ref{transition:transform .25s ease,box-shadow .25s ease}
.ref:hover{transform:translateY(-6px);box-shadow:0 22px 40px -22px rgba(46,38,32,.35)}
.ref img{transition:transform .6s ease}
.ref:hover img{transform:scale(1.05)}
.metier, .card{transition:box-shadow .25s ease}
.metier:hover, .card:hover{box-shadow:0 18px 36px -24px rgba(46,38,32,.3)}
.btn{transition:transform .18s ease, box-shadow .18s ease, background .15s, color .15s, border-color .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(166,47,68,.5)}
@media(prefers-reduced-motion:reduce){.ref,.ref img,.metier,.card,.btn{transition:none}
  .ref:hover{transform:none;box-shadow:none}.ref:hover img{transform:none}.btn:hover{transform:none;box-shadow:none}}

/* chiffres clés */
.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--sand-d);border-right:none;background:#fff;border-radius:3px;overflow:hidden}
.stats > div{padding:28px 26px;border-right:1px solid var(--sand-d)}
.stats .v{font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(30px,5vw,46px);color:var(--crimson);letter-spacing:-.02em}
.stats .k{color:var(--gray);font-size:14.5px;margin-top:4px}
@media(max-width:640px){.stats{grid-template-columns:1fr;border-right:1px solid var(--sand-d);border-bottom:none}
  .stats > div{border-right:none;border-bottom:1px solid var(--sand-d)}}

/* photo large qui se pose */
.wideshot{overflow:hidden;border-radius:3px}
.wideshot img{transform:scale(1.06);transition:transform 1.1s ease}
.wideshot.on img{transform:scale(1)}
@media(prefers-reduced-motion:reduce){.wideshot img{transform:none;transition:none}}

/* fil qui se câble (accueil) */
.wiregroup{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.wiregroup svg{position:absolute;left:0;top:0;height:100%;width:60px}
.wiregroup .fil{fill:none;stroke-linecap:round}
.wiregroup .f-r{stroke:var(--crimson);stroke-width:2.5;opacity:.5}
.wiregroup .f-c{stroke:var(--cyan);stroke-width:2;opacity:.26}
.wiregroup .f-g{stroke:var(--gold);stroke-width:1.8;opacity:.3}
.wirefull{position:absolute;z-index:2}
main{position:relative}
main > *{position:relative}
@media(max-width:760px){.wiregroup{display:none}}
section{position:relative}
section > .wrap{position:relative;z-index:1}

/* ---------- armoire 3D ---------- */
.v3d{background:var(--walnut);color:#fff;border-radius:3px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.v3d .txt{padding:40px 38px}
.v3d h3{color:#fff;font-size:clamp(21px,2.6vw,27px);margin-bottom:12px}
.v3d p{color:#c8bfb5;font-size:15.5px}
.v3d .mono{color:var(--gold)}
.v3d .stage{position:relative;height:clamp(320px,42vw,440px);cursor:grab;touch-action:pan-y}
.v3d .stage:active{cursor:grabbing}
.v3d .stage canvas{display:block;width:100%;height:100%}
.v3d .hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8f857b;pointer-events:none}
@media(max-width:820px){.v3d{grid-template-columns:1fr}}

/* schémas en 2 colonnes */
.strip.strip-2{grid-template-columns:repeat(2,1fr)}
.strip.strip-2 img{aspect-ratio:auto;height:360px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:8px}
@media(max-width:820px){.strip.strip-2{grid-template-columns:1fr}.strip.strip-2 img{height:auto;max-height:520px}}


/* ---------- format large ---------- */
header > .wrap{max-width:1560px}
@media(min-width:1400px){.hero > .wrap{max-width:1440px}}

/* ---------- pastilles marques ---------- */
.marques{display:flex;flex-wrap:wrap;gap:10px;position:relative;z-index:2}
.marques .pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--sand-d);border-radius:999px;
  padding:10px 18px;background:#fff;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;
  color:var(--ink);white-space:nowrap}
.marques .pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--crimson);flex:none}
.marques .pill:nth-child(3n)::before{background:var(--cyan)}
.marques .pill:nth-child(3n+2)::before{background:var(--gold)}

/* ---------- cartes spécialités ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.duo a.spec{display:block;border:1px solid var(--line);background:#fff;border-radius:3px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .25s ease,box-shadow .25s ease}
.duo a.spec:hover{transform:translateY(-5px);box-shadow:0 22px 40px -22px rgba(46,38,32,.35)}
.duo a.spec img{width:100%;height:280px;object-fit:cover}
.duo a.spec .body{padding:22px 24px 26px}
.duo a.spec h3{font-size:19px;margin:8px 0 8px}
.duo a.spec p{color:var(--gray);font-size:15px;margin:0}
.duo a.spec .mono{color:var(--crimson)}
@media(max-width:760px){.duo{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.duo a.spec{transition:none}.duo a.spec:hover{transform:none;box-shadow:none}}

/* ---------- pastilles d'ancrage (sommaire de page) ---------- */
.anchors{background:var(--paper);border-bottom:1px solid var(--line)}
.anchors .wrap{display:flex;flex-wrap:wrap;gap:10px;padding-top:16px;padding-bottom:16px}
.anchors a{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--sand-d);border-radius:999px;
  padding:6px 14px;background:#fff;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;
  text-decoration:none;color:var(--ink);white-space:nowrap;transition:border-color .15s,color .15s,transform .18s}
.anchors a::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--crimson);flex:none}
.anchors a:nth-child(3n)::before{background:var(--cyan)}
.anchors a:nth-child(3n+2)::before{background:var(--gold)}
.anchors a:hover{border-color:var(--crimson);color:var(--crimson);transform:translateY(-1px)}
section[id]{scroll-margin-top:104px}
@media(prefers-reduced-motion:reduce){.anchors a{transition:none}.anchors a:hover{transform:none}}

/* logo pied de page mis en valeur */
.flogo{width:100%;max-width:300px;height:auto;margin-bottom:14px}
.flogo-xl{height:auto !important;width:100%;max-width:none;margin-top:18px}
.fdesc{margin-bottom:6px}
/* bandes 2 photos */
.strip.strip-duo{grid-template-columns:repeat(2,1fr)}
.strip.strip-duo img{aspect-ratio:auto;width:100%;height:auto}
@media(max-width:760px){.strip.strip-duo{grid-template-columns:1fr}}
/* schémas un peu plus compacts */

.schemafig{margin:0}
.schemafig img{width:100%;background:#fff;border:1px solid var(--line);padding:10px;border-radius:3px}
.schemafig figcaption{margin-top:10px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray)}

.strip img.plan{object-fit:contain;background:#fff;border:1px solid var(--line);padding:6px}

/* plan complet + réalisation côte à côte */
.planpair{display:grid;grid-template-columns:1fr 1.35fr;gap:24px;align-items:stretch;margin-bottom:34px}
.planpair figure{margin:0;display:flex;flex-direction:column}
.planpair img{width:100%;height:600px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:10px;border-radius:3px}
.planpair img.ph{object-fit:cover;padding:0}
.planpair figcaption{margin-top:10px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray)}
@media(max-width:820px){.planpair{grid-template-columns:1fr}.planpair img{height:auto;max-height:560px}.planpair img.ph{height:260px}}

/* vignettes de même hauteur (page automatisme) */
.strip.sp img{aspect-ratio:auto;height:430px;object-fit:cover}
.strip.sp img.plan{object-fit:contain}
@media(max-width:820px){.strip.sp img{height:340px}}
@media(max-width:600px){.strip.sp img{height:auto;max-height:520px}}
