:root{
  --black:#000000;
  --coal:#121212;
  --line:#2a2622;
  --ivory:#f4efe4;
  --muted:#a59f93;
  --gold:#d9b25c;
  --gold-hi:#f3d17a;
  --gold-lo:#9b7128;
  --gold-grad:linear-gradient(100deg,#9b7128 0%,#f3d17a 45%,#b8862f 100%);
  --serif:"Instrument Serif",Georgia,serif;
  --sans:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0}
body{background:var(--black);color:var(--ivory);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--gold-hi)}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#000;padding:8px 14px;z-index:20}
.skip:focus{left:12px}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}

/* En-tête */
.top{position:sticky;top:0;z-index:10;background:rgba(0,0,0,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ivory)}
.brand img{width:46px;height:auto}
.brand span{font-weight:600;letter-spacing:.32em;font-size:14px}
.brand em{font-style:normal;color:var(--gold)}
nav{display:flex;align-items:center;gap:30px}
nav a{color:var(--ivory);text-decoration:none;font-size:15px;font-weight:500}
nav a:not(.btn):hover{color:var(--gold-hi)}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.btn-gold{background:var(--gold-grad);color:#1a1205!important}
.btn-gold:hover{box-shadow:0 0 0 4px rgba(217,178,92,.18)}
.btn-line{border:1px solid var(--gold-lo);color:var(--ivory)!important}
.btn-line:hover{border-color:var(--gold-hi)}
nav .btn{padding:10px 18px;font-size:14px}

/* Héros */
.hero{position:relative;padding:120px 0 96px;overflow:hidden;border-bottom:1px solid var(--line)}
.emblem{position:absolute;right:max(28px,calc((100vw - 1160px)/2 + 28px));top:118px;width:min(40vw,520px);aspect-ratio:3/2;display:grid;place-items:center;pointer-events:none}
.emblem img{width:46%;filter:drop-shadow(0 20px 60px rgba(243,209,122,.18));opacity:0;animation:rise 1.2s ease .5s forwards}
.orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.orbit ellipse{stroke-dasharray:1300;stroke-dashoffset:1300;animation:draw 2.2s cubic-bezier(.6,.1,.2,1) .2s forwards}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes draw{to{stroke-dashoffset:0}}
.hero-in{position:relative}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;margin:0}
h1{font-size:clamp(44px,6.4vw,88px);line-height:1.02;max-width:13ch;margin-bottom:28px}
.lead{max-width:52ch;color:#d8d2c4;font-size:clamp(17px,1.6vw,19px);margin:0 0 36px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.proof{list-style:none;padding:0;margin:72px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:900px}
.proof li{color:var(--muted);font-size:15px;border-top:1px solid var(--gold-lo);padding-top:16px}
.proof strong{display:block;color:var(--ivory);font-weight:600;font-size:16px;margin-bottom:4px}

/* Sections */
.section{padding:120px 0;border-bottom:1px solid var(--line)}
.head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:64px}
.head h2,.product h2,.contact h2{font-size:clamp(38px,5vw,62px);line-height:1.05}
.head p{color:var(--muted);margin:0;max-width:46ch}

/* Expertises */
.services{margin:0;border-top:1px solid var(--line)}
.services div{display:grid;grid-template-columns:minmax(220px,1fr) 1.6fr;gap:40px;padding:30px 0;border-bottom:1px solid var(--line)}
.services dt{font-family:var(--serif);font-size:clamp(26px,2.8vw,34px);line-height:1.1;color:var(--ivory)}
.services dd{margin:0;color:var(--muted);max-width:60ch;align-self:center}
.services div:hover dt{color:var(--gold-hi)}

/* Produit */
.product{background:radial-gradient(ellipse 60% 70% at 85% 50%,rgba(217,178,92,.12),transparent 70%),var(--black)}
.product-in{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center}
.product-text p{color:#d8d2c4;max-width:52ch;margin:24px 0}
.ticks{list-style:none;padding:0;margin:0 0 36px}
.ticks li{position:relative;padding:10px 0 10px 30px;border-bottom:1px solid var(--line);font-size:16px}
.ticks li::before{content:"";position:absolute;left:2px;top:19px;width:12px;height:7px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.phone{margin:0;justify-self:center;width:min(340px,100%);aspect-ratio:9/18;border-radius:44px;padding:12px;background:linear-gradient(160deg,#3a3125,#0d0c0a 40%,#2a2318);box-shadow:0 40px 80px rgba(0,0,0,.6),inset 0 0 0 1px rgba(243,209,122,.25)}
.screen{height:100%;border-radius:34px;background:#0a0a0a;padding:46px 22px 22px;display:flex;flex-direction:column;gap:16px;overflow:hidden}
.call{position:relative;text-align:center;padding:26px 16px 18px;border-radius:24px;background:linear-gradient(180deg,#17140f,#0e0d0b);border:1px solid #2d271d}
.pulse{display:block;width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--gold-grad);box-shadow:0 0 0 0 rgba(243,209,122,.5);animation:ring 1.8s ease-out infinite}
@keyframes ring{to{box-shadow:0 0 0 18px rgba(243,209,122,0)}}
.call-state{margin:0;color:var(--gold);font-size:13px;font-weight:600}
.call-name{margin:2px 0 0;font-family:var(--serif);font-size:30px;line-height:1.1}
.call-num{margin:2px 0 14px;color:var(--muted);font-size:14px}
.call-note{text-align:left;font-size:13px;line-height:1.5;color:#cfc8b8;background:#1b1812;border-radius:12px;padding:10px 12px;margin-bottom:16px}
.call-note b,.summary b{display:block;color:var(--gold-hi);font-size:12px;font-weight:600;margin-bottom:2px}
.call-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:14px;font-weight:600}
.call-btns span{padding:11px 0;border-radius:999px}
.no{background:#2b1414;color:#f0b7b7}
.yes{background:var(--gold-grad);color:#1a1205}
.summary{font-size:13px;line-height:1.5;color:#cfc8b8;border:1px solid #2d271d;border-radius:16px;padding:12px 14px}

/* Méthode */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--gold-lo)}
.steps li{padding:28px 24px 0 0;position:relative}
.steps li::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.n{display:block;font-family:var(--serif);font-size:44px;line-height:1;color:var(--gold);margin-bottom:14px}
.steps h3{font-size:26px;margin-bottom:8px}
.steps p{color:var(--muted);font-size:15px;margin:0}

/* Contact */
.contact{border-bottom:0}
.contact-in{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.contact-in>div>p{color:#d8d2c4;max-width:48ch;margin:24px 0 0}
.contact-card{border:1px solid var(--gold-lo);border-radius:28px;padding:40px;background:linear-gradient(180deg,#0f0d09,#000)}
.mail{display:block;font-family:var(--serif);font-size:clamp(26px,3vw,36px);text-decoration:none;color:var(--gold-hi);word-break:break-word}
.contact-card p{color:var(--muted);margin:14px 0 28px}

/* Pied de page */
.foot{border-top:1px solid var(--line);padding:48px 0 56px;color:var(--muted);font-size:14px}
.foot-in{display:flex;gap:40px;align-items:center}
.foot img{width:150px;border-radius:8px}
.foot p{margin:0 0 10px}
.foot a{color:var(--ivory);margin-right:22px}
.copy{color:#6f6a61}

/* Mentions légales */
.legal{padding:88px 28px 110px;max-width:820px}
.legal h1{font-size:clamp(44px,6vw,72px);margin-bottom:12px}
.legal h2{font-size:30px;margin:48px 0 12px;color:var(--gold-hi)}
.legal p{color:#d8d2c4;margin:0 0 14px;max-width:68ch}

@media (max-width:980px){
  .emblem{position:relative;right:auto;top:auto;width:min(100%,420px);margin:-40px 0 20px}
  .hero{padding-top:40px}
  nav a:not(.btn){display:none}
  .head,.product-in,.contact-in{grid-template-columns:1fr;gap:36px}
  .steps{grid-template-columns:1fr 1fr;gap:36px 24px;border-top:0}
  .steps li{border-top:1px solid var(--gold-lo)}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .bar{height:64px}
  .brand span{font-size:12px;letter-spacing:.24em}
  nav .btn{padding:9px 14px;font-size:13px}
  .hero{padding:80px 0 64px}
  .proof{grid-template-columns:1fr;gap:18px;margin-top:52px}
  .section{padding:80px 0}
  .services div{grid-template-columns:1fr;gap:8px;padding:24px 0}
  .steps{grid-template-columns:1fr}
  .contact-card{padding:28px}
  .foot-in{flex-direction:column;align-items:flex-start}
  .legal{padding:64px 16px 80px}
}
@media (max-width:420px){ nav .btn{display:none} }
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .orbit ellipse{animation:none;stroke-dashoffset:0}
  .emblem img{animation:none;opacity:1}
  .pulse{animation:none}
}
