@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');

:root{--navy:#081827;--navy-2:#102437;--gold:#b88a3b;--cream:#f3eee4;--paper:#faf7f0;--ink:#0d2131;--muted:#66717a;--line:rgba(8,24,39,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}em{font-family:'Playfair Display',Georgia,serif;color:var(--gold);font-weight:500}.site-header{height:82px;padding:0 clamp(22px,5vw,78px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(184,138,59,.28);background:rgba(8,24,39,.97);color:var(--cream);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px;font-family:'Playfair Display',serif;font-size:18px;letter-spacing:.17em}.brand-mark{width:34px;height:42px;display:grid;place-items:center;color:var(--gold);font:500 38px/1 Georgia,serif;transform:rotate(180deg)}nav{display:flex;gap:34px;font-size:11px;text-transform:uppercase;letter-spacing:.15em}nav a{transition:color .2s}nav a:hover{color:var(--gold)}.header-contact{justify-self:end;border-bottom:1px solid var(--gold);padding:12px 0;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.header-contact span{color:var(--gold);margin-left:8px}.hero{min-height:calc(100vh - 82px);position:relative;overflow:hidden;background:var(--navy);color:var(--cream);padding:clamp(70px,10vh,110px) clamp(24px,7vw,110px) 100px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:center}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 40%,rgba(184,138,59,.11),transparent 27%),linear-gradient(115deg,transparent 60%,rgba(255,255,255,.02));pointer-events:none}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.23em;font-weight:600;color:var(--gold);display:flex;align-items:center;gap:12px}.eyebrow span{display:block;width:30px;height:1px;background:currentColor}.hero h1{font:500 clamp(58px,7.7vw,118px)/.86 'Playfair Display',Georgia,serif;letter-spacing:-.055em;margin:34px 0}.hero h1 em{display:inline-block;margin-left:11vw}.hero-lead{max-width:650px;color:#b8c0c5;font-size:clamp(16px,1.35vw,20px);line-height:1.75}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:40px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 22px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:600}.button-gold{background:var(--gold);color:var(--navy)}.text-link{font-size:12px;border-bottom:1px solid rgba(255,255,255,.35);padding:10px 0}.text-link span{color:var(--gold);margin-left:8px}.hero-art{height:510px;position:relative}.data-cloud{position:absolute;left:5%;top:50%;transform:translateY(-50%);width:210px;height:290px}.data-cloud i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.55}.data-cloud i:nth-child(3n){left:12%;top:calc(9% * var(--n, 2))}.data-cloud i:nth-child(3n+1){left:42%;top:calc(3.5% * var(--n, 8))}.data-cloud i:nth-child(3n+2){left:75%;top:calc(3.2% * var(--n, 13))}.data-cloud i:nth-child(1){top:9%}.data-cloud i:nth-child(2){top:18%}.data-cloud i:nth-child(4){top:31%}.data-cloud i:nth-child(5){top:43%}.data-cloud i:nth-child(7){top:58%}.data-cloud i:nth-child(8){top:69%}.data-cloud i:nth-child(10){top:82%}.data-cloud i:nth-child(11){top:92%}.data-cloud i:nth-child(13){top:15%}.data-cloud i:nth-child(14){top:27%}.data-cloud i:nth-child(16){top:49%}.data-cloud i:nth-child(17){top:73%}.data-cloud i:nth-child(19){top:88%}.data-cloud i:nth-child(20){top:5%}.data-cloud i:nth-child(22){top:38%}.data-cloud i:nth-child(23){top:62%}.data-cloud i:nth-child(25){top:78%}.data-cloud i:nth-child(26){top:96%}.focus-line{position:absolute;left:34%;right:4%;top:50%;height:1px;background:var(--gold);box-shadow:0 -18px rgba(184,138,59,.4),0 18px rgba(184,138,59,.4)}.focus-line:before{content:"";position:absolute;left:-74px;top:-44px;width:90px;height:88px;border-right:1px solid var(--gold);border-radius:50%}.focus-copy{position:absolute;right:3%;top:38%;display:flex;flex-direction:column;gap:8px;letter-spacing:.2em;font-size:9px;text-align:right}.focus-copy strong{color:var(--gold);font-size:13px}.hero-seal{position:absolute;right:2%;bottom:2%;width:88px;height:88px;border:1px solid rgba(184,138,59,.5);border-radius:50%;display:grid;place-content:center;text-align:center;text-transform:uppercase;font-size:8px;letter-spacing:.15em}.hero-seal b{font:500 26px 'Playfair Display',serif;color:var(--gold)}.hero-note{position:absolute;right:5vw;bottom:30px;display:flex;gap:15px;color:#8d99a2;font-size:10px;letter-spacing:.08em}.hero-note span{color:var(--gold)}.manifesto{padding:120px clamp(24px,9vw,150px);background:var(--paper)}.manifesto>p{color:var(--gold);font:500 20px 'Playfair Display',serif}.manifesto h2{font:500 clamp(44px,6.4vw,94px)/1.03 'Playfair Display',serif;letter-spacing:-.045em;max-width:1100px;margin:24px 0 75px}.manifesto-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-left:25%;color:var(--muted);font-size:15px;line-height:1.85}.manifesto-grid strong{color:var(--ink);font-weight:500}.section{padding:120px clamp(24px,7vw,110px)}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:8vw;align-items:end;margin-bottom:64px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2,.support h2,.contact h2{font:500 clamp(44px,5.5vw,78px)/1.02 'Playfair Display',serif;letter-spacing:-.045em;margin:20px 0 0}.section-heading>p:last-child{color:var(--muted);line-height:1.8;max-width:520px}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:70px 1fr 1.1fr 25px;align-items:center;gap:24px;padding:27px 8px;border-bottom:1px solid var(--line);transition:.25s}.service:hover{padding-left:20px;background:rgba(255,255,255,.35)}.service>span{font-size:11px;color:var(--gold)}.service h3{font:500 25px 'Playfair Display',serif;margin:0}.service p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.service b{color:var(--gold)}.support{background:var(--navy-2);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:9vw}.eyebrow.light{color:#d2ad6b}.support h2{margin-top:28px}.support-copy{padding-top:36px;color:#bbc3c9;line-height:1.85}.support-copy .large{font:500 25px/1.45 'Playfair Display',serif;color:var(--cream)}.support-copy blockquote{margin:45px 0 0;padding:26px 0;border-top:1px solid rgba(184,138,59,.5);border-bottom:1px solid rgba(184,138,59,.5);font:italic 500 23px/1.55 'Playfair Display',serif;color:#d8b978}.section-heading.compact{display:block}.approach{background:var(--paper)}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.steps article{padding:30px 25px 5px;border-right:1px solid var(--line);min-height:220px}.steps article:last-child{border:0}.steps span{font-size:11px;color:var(--gold)}.steps h3{font:500 28px 'Playfair Display',serif;margin:52px 0 12px}.steps p{color:var(--muted);font-size:13px;line-height:1.7}.difference{background:var(--gold);display:grid;grid-template-columns:220px 1fr;align-items:center;gap:7vw;color:var(--navy)}.difference-mark{font:500 190px/1 Georgia,serif;transform:rotate(180deg);text-align:center}.difference h2{font:500 clamp(36px,4.6vw,66px)/1.12 'Playfair Display',serif;letter-spacing:-.035em;margin:24px 0 0}.difference h2 em{color:var(--navy)}.difference .eyebrow{color:var(--navy)}.contact{display:grid;grid-template-columns:1.25fr .75fr;gap:9vw;align-items:center}.contact-intro{color:var(--muted);line-height:1.8;max-width:590px;margin-top:35px}.contact-card{border:1px solid var(--line);padding:42px;background:var(--paper);box-shadow:18px 18px 0 rgba(184,138,59,.15)}.contact-card>p{color:var(--gold);font-size:10px;letter-spacing:.18em;text-transform:uppercase}.contact-card h3{font:500 32px 'Playfair Display',serif;margin:8px 0}.contact-card>span{font-size:12px;color:var(--muted);display:block;margin-bottom:32px}.contact-card a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:17px 0;font-size:14px}.contact-card a b{color:var(--gold)}.contact-card address{border-top:1px solid var(--line);padding-top:17px;font-style:normal;color:var(--muted);font-size:13px;line-height:1.6}footer{background:var(--navy);color:var(--cream);padding:62px clamp(24px,7vw,110px) 32px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.footer-brand{font-size:21px}footer>p{font:500 24px 'Playfair Display',serif;color:#aeb8c0;text-align:right}footer>div{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:25px;display:flex;justify-content:space-between;color:#87939d;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:78px}.hero-art{height:340px;margin-top:20px}.hero-note{display:none}.hero h1 em{margin-left:0}.manifesto-grid{margin-left:0}.section-heading{grid-template-columns:1fr}.section-heading>p:last-child{margin-top:24px}.support,.contact{grid-template-columns:1fr}.difference{grid-template-columns:130px 1fr}.difference-mark{font-size:110px}.steps{grid-template-columns:1fr 1fr}.steps article:nth-child(2){border-right:0}.steps article{border-bottom:1px solid var(--line)}}
@media(max-width:600px){.site-header{height:72px;padding:0 18px}.brand{font-size:15px}.brand-mark{width:28px;font-size:31px}.header-contact{font-size:9px}.hero{min-height:auto;padding:70px 22px 75px}.hero h1{font-size:58px}.hero-lead{font-size:16px}.hero-art{height:260px}.data-cloud{width:130px;height:210px}.focus-line{left:44%}.focus-copy{top:31%}.hero-seal{width:70px;height:70px}.manifesto,.section{padding:80px 22px}.manifesto h2{font-size:43px;margin-bottom:48px}.manifesto-grid{grid-template-columns:1fr;gap:15px}.section-heading h2,.support h2,.contact h2{font-size:43px}.service{grid-template-columns:38px 1fr 18px;gap:12px}.service p{grid-column:2/4}.service h3{font-size:22px}.steps{grid-template-columns:1fr}.steps article{border-right:0;min-height:auto;padding:28px 8px}.steps article h3{margin-top:24px}.difference{grid-template-columns:1fr}.difference-mark{font-size:80px;text-align:left}.difference h2{font-size:37px}.contact-card{padding:28px;box-shadow:10px 10px 0 rgba(184,138,59,.15)}footer{grid-template-columns:1fr;gap:25px}footer>p{text-align:left;margin:0}footer>div{grid-column:1;flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Direction claire : le bleu nuit devient un accent plutôt que le fond dominant. */
.site-header{height:92px;background:rgba(250,247,240,.96);color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.brand{gap:0}.brand-mark{display:none}.brand-logo{width:76px;height:76px;object-fit:contain;display:block}
.hero{min-height:calc(100vh - 92px);background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
.hero:after{background:radial-gradient(circle at 82% 40%,rgba(184,138,59,.12),transparent 27%),linear-gradient(115deg,transparent 58%,rgba(8,24,39,.04))}
.hero-lead{color:var(--muted)}
.button-gold{background:var(--navy);color:var(--cream)}.button-gold span{color:var(--gold)}
.text-link{border-bottom-color:var(--line)}
.focus-line{background:var(--navy);box-shadow:0 -18px rgba(8,24,39,.22),0 18px rgba(8,24,39,.22)}
.focus-line:before{border-right-color:var(--navy)}
.hero-seal{border-color:rgba(8,24,39,.28)}
.manifesto{background:var(--cream);border-bottom:1px solid var(--line)}
.expertise{background:var(--paper)}
.support{background:var(--cream);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.support-copy{color:var(--muted)}.support-copy .large{color:var(--ink)}.eyebrow.light{color:var(--gold)}
.approach{background:var(--paper)}
.difference{background:var(--navy);color:var(--cream)}
.difference-mark{font-size:0;transform:none}.difference-mark img{width:190px;height:190px;object-fit:contain;display:block}
.difference h2{color:var(--cream)}.difference h2 em,.difference .eyebrow{color:var(--gold)}
.contact{background:var(--cream)}
.footer-logo{width:112px;height:112px;object-fit:contain;display:block}

@media(max-width:600px){.site-header{height:78px}.brand-logo{width:64px;height:64px}.hero{min-height:auto}.difference-mark img{width:110px;height:110px}.footer-logo{width:96px;height:96px}}

/* Bandeau de marque : bleu nuit et typographie dorée. */
.site-header{background:#081827;color:var(--gold);border-bottom-color:rgba(184,138,59,.42);backdrop-filter:none}
.site-header nav a{color:var(--gold)}
.site-header nav a:hover{color:#f0d49a}
.site-header .header-contact{color:var(--gold);border-bottom-color:var(--gold)}
.site-header .header-contact span{color:#f0d49a}

/* Visuel utile : une lecture concrète du pilotage, sans données fictives. */
.hero-art{height:auto;min-height:510px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:18px;position:relative;z-index:2}
.pilot-card{width:min(100%,520px);background:#fff;border:1px solid rgba(8,24,39,.18);box-shadow:24px 24px 0 rgba(184,138,59,.13)}
.pilot-head{min-height:74px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:var(--gold);font-size:9px;text-transform:uppercase;letter-spacing:.2em}
.pilot-head b{font:500 16px 'Playfair Display',serif;letter-spacing:.14em}
.pilot-row{min-height:94px;padding:20px 24px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:16px;border-bottom:1px solid var(--line)}
.pilot-row>span{color:var(--gold);font-size:10px}.pilot-row div{display:flex;flex-direction:column;gap:7px}.pilot-row div b{font:500 20px 'Playfair Display',serif}.pilot-row small{color:var(--muted);font-size:10px;letter-spacing:.05em}
.pilot-row em{font:600 9px 'DM Sans',sans-serif;color:var(--navy);text-transform:uppercase;letter-spacing:.14em;border:1px solid rgba(8,24,39,.22);padding:8px 10px}
.pilot-result{padding:25px 24px;background:var(--cream);display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:end}.pilot-result span{grid-column:1/-1;color:var(--gold);font-size:9px;text-transform:uppercase;letter-spacing:.18em}.pilot-result strong{font:500 26px/1.18 'Playfair Display',serif}.pilot-result i{font-style:normal;color:var(--gold);font-size:24px}
.pilot-caption{width:min(100%,520px);margin:0;color:var(--muted);font-size:10px;letter-spacing:.06em}.pilot-caption span{color:var(--gold);margin-right:10px}

@media(max-width:900px){.hero-art{min-height:480px;align-items:center}.pilot-caption{width:min(100%,520px)}}
@media(max-width:600px){.hero-art{min-height:440px;height:auto;margin-top:45px}.pilot-card{box-shadow:12px 12px 0 rgba(184,138,59,.13)}.pilot-head{min-height:62px;padding:16px}.pilot-row{min-height:82px;padding:16px;grid-template-columns:26px 1fr}.pilot-row em{grid-column:2;justify-self:start;padding:6px 8px}.pilot-result{padding:20px 16px}.pilot-result strong{font-size:23px}}

/* Écrans larges 16:9 : le contenu grandit et le premier écran reste dense. */
@media(min-width:1400px){
  .site-header{padding-inline:clamp(70px,6vw,140px)}
  .hero{height:clamp(720px,calc(100svh - 92px),900px);min-height:0;grid-template-columns:minmax(650px,1.08fr) minmax(500px,.92fr);column-gap:clamp(70px,7vw,150px);padding:clamp(55px,7vh,85px) clamp(70px,6vw,140px)}
  .hero-copy{max-width:880px;position:relative;z-index:2}
  .hero h1{font-size:clamp(88px,6.15vw,126px);margin:28px 0 32px}
  .hero h1 em{margin-left:clamp(70px,7vw,140px)}
  .hero-lead{max-width:740px;font-size:clamp(18px,1.12vw,21px)}
  .hero-actions{margin-top:34px}
  .hero-art{min-height:540px;align-items:stretch}
  .pilot-card,.pilot-caption{width:100%;max-width:610px;align-self:flex-end}
  .pilot-row{min-height:100px;padding-inline:28px}
  .pilot-row div b{font-size:22px}.pilot-row small{font-size:11px}
  .pilot-result{padding:28px}.pilot-result strong{font-size:30px}
  .manifesto{padding:clamp(95px,7vw,135px) clamp(100px,9vw,190px)}
  .manifesto h2{max-width:1250px}
  .section{padding:clamp(95px,7vw,135px) clamp(90px,7.5vw,170px)}
  .service h3{font-size:28px}.service p{font-size:15px}
}

/* Ordinateurs portables larges mais moins hauts. */
@media(min-width:1100px) and (max-height:820px){
  .hero{height:auto;min-height:650px;padding-top:48px;padding-bottom:58px}
  .hero h1{font-size:clamp(72px,6vw,98px);margin:24px 0}
  .hero-art{min-height:470px}
  .pilot-head{min-height:62px}.pilot-row{min-height:82px;padding-block:15px}.pilot-result{padding-block:20px}
}
