/* ═══════════════════════════════════════════════════
   Studio Design 3D — Thomas Nicodème
   style.css — Feuille de style principale
   Préverenges, Vaud, Suisse
═══════════════════════════════════════════════════ */


:root {
  --bg:        #f5f2ec;
  --bg2:       #edeae1;
  --bg3:       #e2ddd0;
  --surface:   #ffffff;
  --noir:      #0f0e0b;
  --noir2:     #1e1c17;
  --or:        #a67c3a;
  --or-light:  #c09550;
  --or-faint:  rgba(166,124,58,0.12);
  --or-border: rgba(166,124,58,0.35);
  --text:      #1e1c17;
  --muted:     #5a5448;
  --muted2:    #8a8070;
  --border:    rgba(30,28,23,0.15);
  --border2:   rgba(30,28,23,0.08);
}

.cursor, .cursor-ring { display:none !important; }
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text); font-family:'Jost', sans-serif; font-weight:300; line-height:1.78; overflow-x:hidden; font-size:17px; }


body::before { content:''; position:fixed; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); opacity:.028; pointer-events:none; z-index:9997; }
nav { position:fixed; top:0; left:0; right:0; z-index:900; display:flex; align-items:center; justify-content:space-between; padding:1.4rem 5vw; background:rgba(247,244,239,.95); backdrop-filter:blur(18px); border-bottom:1px solid var(--border2); transition:padding .35s; }
nav.scrolled { padding:1rem 5vw; }
.nav-logo { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.05rem; color:var(--noir); text-decoration:none; letter-spacing:.2em; text-transform:uppercase; flex-shrink:0; }
.nav-logo em { font-style:normal; color:var(--or); }
.nav-center { display:flex; gap:2.2rem; list-style:none; align-items:center; }
.nav-center a { color:var(--muted); text-decoration:none; font-size:.9rem; font-weight:400; letter-spacing:.14em; text-transform:uppercase; transition:color .25s; }
.nav-center a:hover { color:var(--noir); }
.nav-right { display:flex; align-items:center; gap:1.2rem; }
.lang-switch { display:flex; align-items:center; border:1px solid var(--border); border-radius:2px; overflow:hidden; flex-shrink:0; }
.lang-btn { padding:.42rem .75rem; font-family:'Jost',sans-serif; font-size:1rem; font-weight:400; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); background:transparent; border:none; transition:all .2s; text-decoration:none; display:inline-block; }
.lang-btn:hover { color:var(--noir); background:var(--bg3); }
.nav-cta { border:1px solid var(--or-border); color:var(--or); padding:.55rem 1.4rem; font-family:'Jost',sans-serif; font-size:.9rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; flex-shrink:0; transition:background .25s, color .25s; }
.nav-cta:hover { background:var(--or); color:#fff; }
#hero { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; }
.hero-left { display:flex; flex-direction:column; justify-content:center; padding:9rem 5vw 5rem; position:relative; z-index:2; }
.hero-right { position:relative; overflow:hidden; min-height:60vh; }
.img-slot { width:100%; height:100%; min-height:300px; background:var(--bg3); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:.7rem; position:relative; overflow:hidden; }
.img-slot img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }


.hero-kicker { display:flex; align-items:center; gap:1rem; margin-bottom:2rem; }
.kicker-line { width:28px; height:1px; background:var(--or); }
.kicker-text { font-size:1rem; font-weight:400; letter-spacing:.18em; text-transform:uppercase; color:var(--or); }
h1.hero-title { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(2.8rem,5.2vw,5.4rem); line-height:1.06; color:var(--noir); letter-spacing:.01em; }
h1.hero-title em { font-style:italic; color:var(--or); }
.hero-sub { margin-top:1.8rem; font-size:1.05rem; color:var(--muted); max-width:440px; line-height:1.85; font-weight:300; }
.hero-actions { margin-top:2.6rem; display:flex; gap:1.5rem; flex-wrap:wrap; align-items:center; }
.hero-stats { margin-top:3.2rem; display:flex; gap:2.5rem; flex-wrap:wrap; padding-top:2.2rem; border-top:1px solid var(--border2); }
.stat { display:flex; flex-direction:column; gap:.2rem; }
.stat-n { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:2rem; color:var(--noir); line-height:1; }
.stat-l { font-size:.82rem; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); }
.btn-gold { display:inline-flex; align-items:center; gap:.8rem; background:transparent; border:1.5px solid var(--or); color:var(--or); padding:.9rem 2.2rem; font-family:'Jost',sans-serif; font-size:1.05rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; text-decoration:none; transition:background .3s, color .3s, transform .2s; }
.btn-gold:hover { background:var(--or); color:#fff; transform:translateY(-2px); }
.btn-ghost { display:inline-flex; align-items:center; gap:.5rem; color:var(--muted); font-size:1.05rem; font-weight:400; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; transition:color .3s; background:none; border:none; }
.btn-ghost span { transition:transform .25s; display:inline-block; }
.btn-ghost:hover { color:var(--noir); }
.btn-ghost:hover span { transform:translateX(4px); }
.rule { height:1px; background:linear-gradient(90deg,transparent,var(--border),transparent); }
section { padding:8rem 5vw; }
.eyebrow { display:flex; align-items:center; gap:.8rem; margin-bottom:1.4rem; }
.eyebrow-line { width:26px; height:1px; background:var(--or); flex-shrink:0; }
.eyebrow-text { font-size:1rem; letter-spacing:.18em; text-transform:uppercase; color:var(--or); font-weight:500; }
h2.stitle { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(1.9rem,3.6vw,3.2rem); color:var(--noir); line-height:1.12; letter-spacing:.01em; max-width:540px; }
h2.stitle em { font-style:italic; color:var(--or); }
.sdesc { margin-top:1.2rem; font-size:1rem; color:var(--muted); max-width:470px; line-height:1.85; font-weight:300; }
#services { background:var(--bg2); }
.svc-header { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:2rem; margin-bottom:4rem; }
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border2); border:1px solid var(--border2); }
.svc-card { background:var(--bg2); padding:2.6rem 2.4rem; position:relative; overflow:hidden; transition:background .35s; }
.svc-card::after { content:''; position:absolute; bottom:0; left:0; width:0; height:1px; background:var(--or); transition:width .5s; }
.svc-card:hover { background:var(--surface); }
.svc-card:hover::after { width:100%; }
.svc-img { width:100%; height:160px; background:var(--bg3); margin-bottom:1.8rem; overflow:hidden; position:relative; display:flex; align-items:center; justify-content:center; }
.svc-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.svc-card:hover .svc-img img { transform:scale(1.04); }

.svc-num { font-family:'Cormorant Garamond',serif; font-size:.8rem; color:var(--or); letter-spacing:.14em; margin-bottom:.9rem; font-weight:400; }
.svc-card h3 { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:1.35rem; color:var(--noir); margin-bottom:.7rem; letter-spacing:.02em; }
.svc-card p { font-size:1.05rem; color:var(--muted); line-height:1.85; font-weight:300; }
#gallery { background:var(--bg); padding:7rem 5vw; }
.gallery-header { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:1.5rem; margin-bottom:3rem; }
.gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:8px; }
.gal-item { position:relative; overflow:hidden; background:var(--bg3); }
.gal-item:nth-child(1) { grid-column:span 7; grid-row:span 2; }
.gal-item:nth-child(2),.gal-item:nth-child(3) { grid-column:span 5; }
.gal-item:nth-child(4),.gal-item:nth-child(5),.gal-item:nth-child(6) { grid-column:span 4; }
.gal-item-inner { width:100%; min-height:200px; height:100%; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:.5rem; }
.gal-item:nth-child(1) .gal-item-inner { min-height:420px; }
.gal-item img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.gal-item:hover img { transform:scale(1.04); }


.gal-overlay { position:absolute; inset:0; background:rgba(26,24,20,0); transition:background .4s; display:flex; align-items:flex-end; padding:1.2rem; z-index:2; }
.gal-item:hover .gal-overlay { background:rgba(26,24,20,.28); }
.gal-caption { font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(247,244,239,0); transition:color .35s; font-family:'Jost',sans-serif; }
.gal-item:hover .gal-caption { color:rgba(247,244,239,.9); }
#process { background:var(--bg2); }
.process-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:4.5rem; position:relative; }
.process-steps::before { content:''; position:absolute; top:4px; left:12.5%; right:12.5%; height:1px; background:linear-gradient(90deg,var(--or) 0%,rgba(184,146,74,.15) 100%); }
.p-step { padding:0 1.8rem; }
.p-dot { width:9px; height:9px; border-radius:50%; background:var(--bg2); border:1px solid var(--or); margin-bottom:2.2rem; position:relative; z-index:1; }
.p-step:first-child .p-dot { background:var(--or); }
.p-num { font-family:'Cormorant Garamond',serif; font-size:1.05rem; color:var(--or); letter-spacing:.15em; margin-bottom:.7rem; font-weight:400; }
.p-step h3 { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:1.2rem; color:var(--noir); margin-bottom:.6rem; }
.p-step p { font-size:1.05rem; color:var(--muted); line-height:1.8; font-weight:300; }
#why { background:var(--bg); }
.why-wrap { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:start; margin-top:4rem; }
.why-list { list-style:none; }
.why-item { padding:1.8rem 0; border-bottom:1px solid var(--border2); transition:border-color .3s; }
.why-item:first-child { border-top:1px solid var(--border2); }
.why-item:hover { border-bottom-color:var(--or); }
.why-head { display:flex; align-items:center; gap:.9rem; margin-bottom:.5rem; }
.why-mark { font-size:.73rem; color:var(--or); flex-shrink:0; }
.why-item h4 { font-family:'Cormorant Garamond',serif; font-size:1.15rem; color:var(--noir); font-weight:500; letter-spacing:.02em; }
.why-item p { font-size:1.05rem; color:var(--muted); line-height:1.8; font-weight:300; padding-left:1.1rem; margin-top:.3rem; }
.why-panel { background:var(--surface); border:1px solid var(--border2); padding:3rem; display:flex; flex-direction:column; gap:2.5rem; }
.panel-label { font-size:.73rem; letter-spacing:.22em; text-transform:uppercase; color:var(--or); margin-bottom:1.2rem; }
.r-row { display:flex; align-items:center; gap:1rem; margin-bottom:.9rem; }
.r-label { font-size:1rem; color:var(--muted); min-width:150px; font-weight:300; }
.r-bar { flex:1; height:1px; background:var(--border); position:relative; }
.r-fill { position:absolute; top:-.5px; left:0; height:2px; background:linear-gradient(90deg,var(--or),var(--or-light)); }
.r-val { font-family:'Cormorant Garamond',serif; font-size:1.05rem; color:var(--or); min-width:2rem; text-align:right; font-weight:400; }
.panel-rule { height:1px; background:var(--border2); }
.panel-quote { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.15rem; color:var(--noir); line-height:1.75; font-weight:300; }
.panel-author { margin-top:1rem; font-size:1rem; letter-spacing:.14em; text-transform:uppercase; color:var(--or); font-family:'Jost',sans-serif; font-weight:400; }
#devis { background:var(--bg2); }
.devis-wrap { display:grid; grid-template-columns:1.2fr 1fr; gap:5rem; align-items:start; margin-top:4rem; }
.sim-card { background:var(--surface); border:1px solid var(--border2); padding:3rem; }
.sim-block { margin-bottom:2.5rem; }
.sim-label-row { font-size:1rem; letter-spacing:.18em; text-transform:uppercase; color:var(--or); margin-bottom:1rem; display:flex; align-items:center; gap:.8rem; font-weight:500; }
.sim-label-row::after { content:''; flex:1; height:1px; background:var(--border2); }
.sim-opts { display:flex; flex-wrap:wrap; gap:.4rem; }
.sim-opt { padding:.5rem 1.1rem; border:1.5px solid var(--border); font-family:'Jost',sans-serif; font-size:.9rem; font-weight:300; letter-spacing:.08em; color:var(--muted); background:transparent; transition:all .22s; text-transform:uppercase; }
.sim-opt:hover { border-color:var(--or); color:var(--noir); }
.sim-opt.active { border-color:var(--or); color:var(--or); background:var(--or-faint); }
.sim-qty-row { display:flex; justify-content:space-between; margin-bottom:.8rem; }
.sim-qty-row span { font-size:1.05rem; color:var(--muted); }
.sim-qty-row strong { font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--or); font-weight:300; }
input[type=range] { -webkit-appearance:none; width:100%; height:1px; background:var(--border); outline:none; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; width:11px; height:11px; border-radius:50%; background:var(--or); }
.sim-result { border:1px solid var(--or-border); padding:2rem 2.5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; background:var(--or-faint); margin-top:1rem; }
.sim-result-label { font-size:1rem; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); margin-bottom:.4rem; font-weight:400; }
.sim-price { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:2.6rem; color:var(--noir); line-height:1; }
.sim-price small { font-size:1rem; color:var(--or); vertical-align:super; }
.sim-note { font-size:.9rem; color:var(--muted); margin-top:1rem; font-style:italic; line-height:1.75; }
.incl-list { list-style:none; }
.incl-item { padding:1.4rem 0; border-bottom:1px solid var(--border2); display:flex; gap:1rem; align-items:flex-start; }
.incl-item:first-child { border-top:1px solid var(--border2); }
.incl-mark { font-size:.73rem; color:var(--or); margin-top:.15rem; flex-shrink:0; }
.incl-item h4 { font-family:'Cormorant Garamond',serif; font-size:1.1rem; color:var(--noir); font-weight:500; margin-bottom:.2rem; }
.incl-item p { font-size:1rem; color:var(--muted); line-height:1.8; font-weight:300; }
#contact { background:var(--bg); }
.contact-wrap { display:grid; grid-template-columns:1fr 1.5fr; gap:6rem; align-items:start; margin-top:4rem; }
.ci-list { list-style:none; margin-top:3rem; }
.ci-item { padding:1.4rem 0; border-bottom:1px solid var(--border2); }
.ci-item:first-child { border-top:1px solid var(--border2); }
.ci-lbl { font-size:.82rem; letter-spacing:.18em; text-transform:uppercase; color:var(--or); margin-bottom:.4rem; font-weight:500; }
.ci-val { font-size:1.05rem; color:var(--muted); font-weight:300; line-height:1.8; }
.ci-val a { color:var(--muted); text-decoration:none; transition:color .25s; }
.ci-val a:hover { color:var(--noir); }
.social-row { margin-top:2.5rem; display:flex; gap:1.8rem; flex-wrap:wrap; }
.soc { font-size:1rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .25s; }
.soc:hover { color:var(--or); }
.form-card { background:var(--surface); border:1px solid var(--border2); padding:3rem; }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.field { display:flex; flex-direction:column; gap:.55rem; margin-bottom:1.4rem; }
.field label { font-size:.82rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--or); }
.field input,.field select,.field textarea { background:transparent; border:none; border-bottom:1.5px solid var(--border); padding:.75rem 0; color:var(--text); font-family:'Jost',sans-serif; font-size:1.05rem; font-weight:300; width:100%; outline:none; resize:none; transition:border-color .25s; -webkit-appearance:none; }
.field input::placeholder,.field textarea::placeholder { color:var(--muted2); }
.field input:focus,.field textarea:focus { border-bottom-color:var(--or); }
.field select { color:var(--text); }
.field select option { background:var(--surface); color:var(--text); }
#contact-form .btn-gold { width:100%; justify-content:center; margin-top:.5rem; padding:1.1rem; }
.form-success { display:none; text-align:center; padding:4rem 2rem; }
.success-mark { font-size:.75rem; letter-spacing:.3em; text-transform:uppercase; color:var(--or); margin-bottom:2rem; display:block; }
.form-success h3 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.9rem; color:var(--noir); margin-bottom:1rem; }
.form-success p { font-size:.8rem; color:var(--muted); line-height:1.9; }
footer { background:var(--noir); padding:3rem 5vw; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1.5rem; }
.foot-logo { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.05rem; color:#f7f4ef; letter-spacing:.22em; text-transform:uppercase; text-decoration:none; }
.foot-logo em { font-style:normal; color:var(--or); }
.foot-links { display:flex; gap:2rem; list-style:none; }
.foot-links a { font-size:1rem; letter-spacing:.13em; text-transform:uppercase; color:#9a9080; text-decoration:none; transition:color .25s; }
.foot-links a:hover { color:var(--or); }
.foot-copy { font-size:1rem; letter-spacing:.1em; color:#9a9080; text-transform:uppercase; }
@media(max-width:1100px) { #hero{grid-template-columns:1fr} .hero-right{display:none} .hero-left{padding:9rem 5vw 5rem} }
@media(max-width:960px) { .svc-grid{grid-template-columns:1fr 1fr} .process-steps{grid-template-columns:1fr 1fr;gap:3rem} .process-steps::before{display:none} .why-wrap,.devis-wrap,.contact-wrap{grid-template-columns:1fr;gap:2.5rem} .frow{grid-template-columns:1fr} .nav-center{display:none} .gal-item:nth-child(1){grid-column:span 12} .gal-item:nth-child(2),.gal-item:nth-child(3){grid-column:span 6} .gal-item:nth-child(4),.gal-item:nth-child(5),.gal-item:nth-child(6){grid-column:span 6} section{padding:5rem 5vw} }
@media(max-width:600px) { .svc-grid{grid-template-columns:1fr} section{padding:4rem 4vw} .gal-item:nth-child(n){grid-column:span 12} .hero-stats{gap:1.2rem;flex-wrap:wrap} #hero{grid-template-columns:1fr} .hero-right{display:none} .hero-left{padding:7rem 4vw 3rem} h1.hero-title{font-size:clamp(2.2rem,9vw,3rem)} .process-steps{grid-template-columns:1fr;gap:2rem} .t-frow{grid-template-columns:1fr} .tp-label{display:none} .devis-wrap{grid-template-columns:1fr} .why-wrap{grid-template-columns:1fr} }

.sim-extras { display:flex; flex-direction:column; gap:.7rem; margin-top:.5rem; }
.sim-extra-item { display:flex; align-items:center; gap:.8rem; }
.sim-extra-item input[type=checkbox] { display:none; }
.sim-extra-check {
  width:16px; height:16px; flex-shrink:0;
  border:1px solid var(--border); background:transparent;
  position:relative; transition:all .2s;
}
.sim-extra-item input:checked + .sim-extra-check {
  background:var(--or); border-color:var(--or);
}
.sim-extra-item input:checked + .sim-extra-check::after {
  content:''; position:absolute; left:4px; top:1px;
  width:5px; height:9px;
  border:1.5px solid #fff; border-left:none; border-top:none;
  transform:rotate(45deg);
}
.sim-extra-text { font-size:.9rem; color:var(--muted); font-weight:300; letter-spacing:.04em; }
.sim-extra-item:hover .sim-extra-text { color:var(--noir); }
.sim-extras-note { font-size:.75rem; color:var(--muted2); margin-top:.8rem; font-style:italic; line-height:1.65; }
.sim-price-plus { font-size:1.4rem; color:var(--or); vertical-align:super; margin-left:.2rem; font-family:'Cormorant Garamond',serif; font-style:italic; }


/* ══ TUNNEL PARCOURS CLIENT ══ */
.tunnel-wrap { width:100%; }

/* Barre de progression */
.tunnel-progress {
  display:flex; align-items:center; gap:0;
  margin-bottom:2.5rem;
}
.tp-step {
  display:flex; flex-direction:column; align-items:center;
  flex:1; position:relative;
}
.tp-step::after {
  content:''; position:absolute;
  top:12px; left:50%; width:100%; height:1px;
  background:var(--border); z-index:0;
}
.tp-step:last-child::after { display:none; }
.tp-dot {
  width:10px; height:10px; border-radius:50%;
  background:var(--bg3); border:1px solid var(--muted2);
  z-index:1; transition:all .3s; margin-bottom:.5rem;
  flex-shrink:0;
}
.tp-step.done .tp-dot   { background:var(--or); border-color:var(--or); }
.tp-step.active .tp-dot { background:var(--or); border-color:var(--or); box-shadow:0 0 0 3px var(--or-faint); }
.tp-label {
  font-size:.7rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted2); text-align:center; line-height:1.3;
  transition:color .3s;
}
.tp-step.active .tp-label { color:var(--or); }
.tp-step.done .tp-label  { color:var(--muted); }

/* Étapes */
.t-step { display:none; animation:tFadeIn .35s ease; }
.t-step.active { display:block; }
@keyframes tFadeIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }

/* Titre d'étape */
.t-step-num {
  font-size:.75rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--or); margin-bottom:.6rem;
}
.t-step-title {
  font-family:'Cormorant Garamond',serif; font-weight:300;
  font-size:1.4rem; color:var(--noir); margin-bottom:.5rem; line-height:1.2;
}
.t-step-sub {
  font-size:1.05rem; color:var(--muted); margin-bottom:1.5rem;
  line-height:1.75;
}

/* Choix (cartes cliquables) */
.t-choices { display:flex; flex-direction:column; gap:.6rem; margin-bottom:1.5rem; }
.t-choice {
  display:flex; align-items:flex-start; gap:1rem;
  padding:1rem 1.2rem;
  border:1px solid var(--border2);
  background:var(--bg2); transition:all .2s;
}
.t-choice:hover { border-color:var(--or); background:var(--or-faint); }
.t-choice.selected { border-color:var(--or); background:var(--or-faint); }
.t-choice-mark {
  width:16px; height:16px; border-radius:50%;
  border:1px solid var(--muted2); flex-shrink:0; margin-top:.1rem;
  position:relative; transition:all .2s;
}
.t-choice.selected .t-choice-mark {
  background:var(--or); border-color:var(--or);
}
.t-choice.selected .t-choice-mark::after {
  content:''; position:absolute; left:4px; top:4px;
  width:6px; height:6px; border-radius:50%; background:#fff;
}
.t-choice-body { flex:1; }
.t-choice-title { font-size:1rem; color:var(--noir); font-weight:400; margin-bottom:.2rem; }
.t-choice-desc  { font-size:1rem; color:var(--muted); line-height:1.6; }

/* Bloc lecture CGV */
.t-cgv-box {
  border:1px solid var(--border2);
  background:var(--bg2);
  margin-bottom:1.2rem;
}
.t-cgv-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:.9rem 1.2rem;
  border-bottom:1px solid var(--border2);
}
.t-cgv-header-title { font-size:1.05rem; color:var(--noir); font-weight:400; }
.t-cgv-link { font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--or); text-decoration:none; }
.t-cgv-link:hover { text-decoration:underline; }
.t-cgv-scroll {
  height:160px; overflow-y:scroll;
  padding:1rem 1.2rem;
  font-size:1rem; color:var(--muted); line-height:1.8;
  scroll-behavior:smooth;
}
.t-cgv-scroll::-webkit-scrollbar { width:3px; }
.t-cgv-scroll::-webkit-scrollbar-thumb { background:var(--or-border); }
.t-cgv-accept {
  display:flex; align-items:center; gap:.8rem;
  padding:.8rem 1.2rem;
  border-top:1px solid var(--border2);
}
.t-cgv-accept input[type=checkbox] { display:none; }
.t-cgv-check {
  width:14px; height:14px; border:1px solid var(--border);
  background:transparent; flex-shrink:0; position:relative; transition:all .2s;
}
.t-cgv-accepted .t-cgv-check { background:var(--or); border-color:var(--or); }
.t-cgv-accepted .t-cgv-check::after {
  content:''; position:absolute; left:3px; top:0;
  width:5px; height:9px;
  border:1.5px solid #fff; border-left:none; border-top:none;
  transform:rotate(45deg);
}
.t-cgv-accept-label { font-size:1rem; color:var(--muted); }

/* Champs texte du tunnel */
.t-field { display:flex; flex-direction:column; gap:.5rem; margin-bottom:1.2rem; }
.t-field label { font-size:1rem; letter-spacing:.16em; text-transform:uppercase; color:var(--or); font-weight:500; }
.t-field input, .t-field textarea, .t-field select {
  background:transparent; border:none; border-bottom:1px solid var(--border);
  padding:.65rem 0; color:var(--text); font-family:'Jost',sans-serif;
  font-size:1rem; font-weight:300; outline:none; resize:none;
  transition:border-color .25s; width:100%; -webkit-appearance:none;
}
.t-field input:focus, .t-field textarea:focus { border-bottom-color:var(--or); }
.t-field select { color:var(--text); }
.t-field select option { background:var(--surface); }
.t-frow { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }

/* NDA notice */
.t-nda-notice {
  display:flex; gap:.8rem; padding:1rem 1.2rem;
  background:var(--or-faint); border-left:2px solid var(--or);
  margin-bottom:1.2rem;
}
.t-nda-icon { color:var(--or); font-size:.9rem; flex-shrink:0; margin-top:.1rem; }
.t-nda-text { font-size:.9rem; color:var(--muted); line-height:1.75; }
.t-nda-text strong { color:var(--noir); font-weight:500; }
.t-nda-text a { color:var(--or); }

/* Boutons navigation */
.t-nav { display:flex; justify-content:space-between; align-items:center; margin-top:1.5rem; }
.t-btn-back {
  font-size:.8rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); background:none; border:none;
  transition:color .2s; padding:.5rem 0;
}
.t-btn-back:hover { color:var(--noir); }
.t-btn-next {
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.8rem 1.8rem; border:1px solid var(--or);
  background:var(--or); color:#fff;
  font-family:'Jost',sans-serif; font-size:.82rem;
  font-weight:400; letter-spacing:.18em; text-transform:uppercase; transition:all .2s;
}
.t-btn-next:hover { background:#a07840; }
.t-btn-next:disabled { background:var(--bg3); border-color:var(--border); color:var(--muted2); cursor:not-allowed; }

/* Récap final */
.t-recap {
  background:var(--bg2); border:1px solid var(--border2);
  padding:1.2rem 1.5rem; margin-bottom:1.2rem;
}
.t-recap-title { font-size:.73rem; letter-spacing:.2em; text-transform:uppercase; color:var(--or); margin-bottom:.8rem; }
.t-recap-row {
  display:flex; gap:1rem; padding:.4rem 0;
  border-bottom:1px solid var(--border2); font-size:.9rem;
}
.t-recap-row:last-child { border-bottom:none; }
.t-recap-label { color:var(--muted); min-width:130px; flex-shrink:0; font-size:1rem; }
.t-recap-val { color:var(--noir); line-height:1.5; font-size:1rem; }

/* Succès */
.t-success { display:none; text-align:center; padding:3rem 1rem; }
.t-success.show { display:block; animation:tFadeIn .5s ease; }
.t-success-icon { font-size:1rem; letter-spacing:.3em; text-transform:uppercase; color:var(--or); margin-bottom:1.5rem; display:block; }
.t-success h3 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:1.8rem; color:var(--noir); margin-bottom:.8rem; }
.t-success p { font-size:1.05rem; color:var(--muted); line-height:1.9; }

@media(max-width:600px) { .t-frow { grid-template-columns:1fr; } .tp-label { display:none; } }


/* ── HAMBURGER MOBILE ── */
.nav-hamburger {
  display:none; flex-direction:column; gap:4px;
  background:none; border:none; cursor:pointer; padding:.4rem;
}
.nav-hamburger span {
  display:block; width:22px; height:1.5px;
  background:var(--noir); transition:all .25s;
}
.nav-hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(4px,4px); }
.nav-hamburger.open span:nth-child(2) { opacity:0; }
.nav-hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(4px,-4px); }
.nav-mobile-menu {
  display:none; position:fixed; top:0; left:0; right:0; bottom:0;
  background:rgba(245,242,236,.97); backdrop-filter:blur(20px);
  z-index:800; flex-direction:column;
  align-items:center; justify-content:center; gap:2.5rem;
}
.nav-mobile-menu.open { display:flex; }
.nav-mobile-menu a {
  font-family:'Cormorant Garamond',serif; font-weight:300;
  font-size:2rem; color:var(--noir); text-decoration:none;
  letter-spacing:.08em; transition:color .2s;
}
.nav-mobile-menu a:hover { color:var(--or); }
.nav-mobile-menu .nav-cta {
  font-family:'Jost',sans-serif; font-size:1rem;
  padding:.8rem 2.5rem; margin-top:1rem;
}
.nav-mobile-lang {
  display:flex; gap:.5rem;
}
.nav-mobile-lang a {
  font-family:'Jost',sans-serif; font-size:.8rem;
  letter-spacing:.16em; font-size:.9rem;
}
/* Desktop : hamburger caché, menu normal visible */
.nav-hamburger { display:none; }
.nav-center     { display:flex; }

@media(max-width:960px) {
  .nav-hamburger { display:flex !important; }
  .nav-center    { display:none !important; }
  .nav-right .lang-switch { display:none; }
  .nav-right .nav-cta     { display:none; }
}

