/* ===== CLR SARL — Luxe v2 ===== */
:root{--n:#0a1a3a;--b:#2f6fdb;--l:#f4f7fc;--t:#1c2742;--line:rgba(10,26,58,.12)}
body{font-weight:300;letter-spacing:.005em;color:var(--t);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:.005em;color:var(--n)}
h2{font-size:clamp(2.2rem,6.5vw,3.6rem);font-weight:400;line-height:1.08}
section{padding:clamp(80px,12vw,140px) 0;border-top:0}
section.alt,#poles,#engagements,#clients{background:var(--l)}
.k{font-family:Inter,sans-serif;font-size:.68rem;font-weight:500;letter-spacing:.32em;color:var(--b);display:flex;align-items:center;gap:14px;margin-bottom:20px}
.k:before{content:'';width:34px;height:1px;background:currentColor;opacity:.7}
.k:after{display:none!important}
.lead{font-size:1.06rem;line-height:1.85;color:#4a5878;font-weight:300}
/* header transparent → solide */
header{position:fixed;left:0;right:0;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);transition:background .5s,border-color .5s,box-shadow .5s}
.hd{height:72px}
.logo{font-weight:600;letter-spacing:.18em;font-size:1.45rem}
nav a{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;transition:color .3s}
body.top header{background:transparent;border-color:transparent;backdrop-filter:none}
body.top .logo,body.top .logo b{color:#fff}
body.top .mb{color:#fff;border-color:rgba(255,255,255,.5)}
@media(min-width:901px){body.top nav a{color:rgba(255,255,255,.88)}body.top nav a:hover{color:#fff}}
@media(max-width:900px){nav{top:72px}.mb{border-radius:0;font-size:1rem}}
body.top nav.o{background:#fff}
main>section:first-child{border:0}
/* hero */
.hero{min-height:100svh!important;padding:120px 0 90px}
.hero h1{font-weight:400!important;font-size:clamp(2.8rem,10vw,5.6rem)!important;line-height:1.02;letter-spacing:-.005em}
.hero p{font-size:1.05rem;line-height:1.8;color:rgba(255,255,255,.82)}
.hero .k{color:#a9c6ff!important}
.hs{transform:scale(1.04);transition:opacity 1.4s ease,transform 6s ease-out!important}
.hs.on{transform:scale(1.1)}
.hero:before{content:'';position:absolute;left:0;right:0;bottom:0;height:140px;z-index:1;background:linear-gradient(transparent,rgba(10,26,58,.55))}
.dots{position:absolute;z-index:3;left:50%;bottom:28px;transform:translateX(-50%);display:flex;gap:10px}
.dots i{width:22px;height:1px;background:rgba(255,255,255,.35);transition:background .6s,width .6s}.dots i.on{background:#fff;width:40px}
/* boutons */
.btn{border-radius:0!important;padding:16px 30px;font-size:.7rem;letter-spacing:.24em;font-weight:500;transition:all .4s ease}
.btn.f,.bb{background:#fff;color:var(--n)!important;border-color:#fff}
.btn.f:hover,.bb:hover{background:var(--b);border-color:var(--b);color:#fff!important}
section:not(.hero) .bb,section:not(.hero) .btn.f{background:var(--n);border-color:var(--n);color:#fff!important}
/* cartes pôles */
.pole{background:#fff;border:0!important;box-shadow:0 1px 0 var(--line);border-radius:0!important;overflow:hidden;transition:box-shadow .5s,transform .5s}
.pole:hover{box-shadow:0 30px 60px -30px rgba(10,26,58,.35);transform:translateY(-4px)}
.ph{position:relative;aspect-ratio:4/3;height:auto!important;overflow:hidden;background-size:cover;background-position:center}
.ph .sl{position:absolute;inset:0;background:center/cover;opacity:0;transition:opacity 1.2s ease,transform 6s ease-out;transform:scale(1.03)}
.ph .sl.on{opacity:1;transform:scale(1.08)}
.pb{padding:34px 30px 38px!important}
.pb .num{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.05rem;color:var(--b);letter-spacing:.1em}
.pb h3{font-size:1.9rem!important;font-weight:400;margin:6px 0 18px}
.pb li{font-size:.92rem;border-color:var(--line)!important}
.offre,.pillars li{transition:background .4s}
/* révélation au défilement */
.rv{opacity:0;transform:translateY(28px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
footer{background:var(--n)!important}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.hs,.ph .sl{transition:opacity .01s!important;transform:none!important}html{scroll-behavior:auto}}
.hero{background:#0a1530!important;overflow:hidden;position:relative}
.hero>.w{position:relative;z-index:2}
.hs{position:absolute;inset:0;background:center/cover;opacity:0}.hs.on{opacity:1}
.hero:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(110deg,rgba(10,26,58,.88),rgba(10,26,58,.42))}
