
:root{--blue:#0877db;--blue2:#004f9e;--navy:#071827;--ink:#101a2b;--muted:#667180;--bg:#f4f7fb;--line:#dfe6ee;--white:#fff;--shadow:0 16px 45px rgba(7,24,39,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1220px,calc(100% - 36px));margin:auto}.topbar{background:var(--navy);color:#dce7f1;font-size:.82rem}.topbar .container{height:34px;display:flex;align-items:center;justify-content:space-between}.topbar-links{display:flex;gap:22px}.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{height:56px;width:auto}.nav{display:flex;gap:24px;align-items:center;font-size:.9rem;font-weight:750}.nav a:hover{color:var(--blue)}.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:#fff;font-weight:800;padding:13px 20px;border-radius:3px;border:2px solid var(--blue);transition:.2s}.cta:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(8,119,219,.2)}.cta.alt{background:#fff;color:var(--blue);border-color:#fff}.cta.outline{background:transparent;color:var(--blue);border-color:var(--blue)}.menu-btn{display:none;border:0;background:none;font-size:1.7rem}.mobile-panel{display:none}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900}.eyebrow:before{content:"";width:28px;height:2px;background:var(--blue)}h1,h2,h3{line-height:1.08;margin:0}.hero-v2{display:grid;grid-template-columns:1.05fr .95fr;min-height:670px;background:#fff}.hero-copy{display:flex;align-items:center;padding:72px max(5vw,36px) 72px calc((100vw - min(1220px,calc(100vw - 36px)))/2)}.hero-copy-inner{max-width:660px}.hero-v2 h1{font-size:clamp(3rem,5.4vw,5.8rem);letter-spacing:-.045em;margin-top:20px}.hero-v2 h1 span{color:var(--blue)}.hero-v2 p{max-width:620px;color:var(--muted);font-size:1.12rem;margin:24px 0 30px}.hero-media{position:relative;overflow:hidden;background:#d9e6f2}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-badge{position:absolute;right:22px;bottom:22px;background:rgba(7,24,39,.9);color:#fff;padding:14px 16px;font-size:.85rem}.quickfacts{display:flex;flex-wrap:wrap;gap:20px;margin-top:34px;color:#4f5c6b;font-size:.87rem;font-weight:700}.section{padding:82px 0}.section.soft{background:var(--bg)}.section.dark{background:var(--navy);color:#fff}.section-title{max-width:780px;margin-bottom:38px}.section-title h2{font-size:clamp(2.1rem,4vw,3.6rem);letter-spacing:-.025em;margin-top:10px}.section-title p{color:var(--muted);font-size:1.04rem}.dark .section-title p{color:#c7d3de}.services-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-tile{background:#fff;border:1px solid var(--line);overflow:hidden;transition:.2s;min-height:300px;display:flex;flex-direction:column}.service-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-photo{height:170px;background:linear-gradient(135deg,#edf4fb,#dce8f3);overflow:hidden}.service-photo img{width:100%;height:100%;object-fit:cover}.service-body{padding:22px}.service-body h3{font-size:1.18rem;margin-bottom:8px}.service-body p{color:var(--muted);font-size:.92rem}.more{color:var(--blue);font-weight:800;font-size:.9rem}.commitments{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18);margin-top:38px}.commitment{padding:28px;background:rgba(255,255,255,.04)}.commitment .n{color:#69b5ff;font-weight:900}.commitment h3{font-size:1.15rem;margin:26px 0 10px}.commitment p{color:#c8d4df;font-size:.92rem}.audiences{display:grid;grid-template-columns:1fr 1fr}.audience{position:relative;min-height:430px;overflow:hidden}.audience img{width:100%;height:100%;object-fit:cover}.audience:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(7,24,39,.84))}.audience-copy{position:absolute;z-index:2;left:34px;right:34px;bottom:32px;color:#fff}.audience-copy h2{font-size:2rem}.audience-copy p{max-width:500px;color:#e4ebf2}.real-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.real-card img{width:100%;aspect-ratio:1/1;object-fit:cover}.real-card p{font-weight:800;font-size:.88rem;margin:.55rem 0 0}.company{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}.company-media img{width:100%;height:100%;min-height:470px;object-fit:cover}.company-copy{padding:64px;background:#fff}.company-copy h2{font-size:clamp(2rem,3.6vw,3.2rem);margin:12px 0 18px}.company-copy p{color:var(--muted)}.cta-band{background:linear-gradient(90deg,var(--navy),#0c3557);color:white;padding:50px 0}.cta-row{display:flex;justify-content:space-between;align-items:center;gap:28px}.cta-row h2{font-size:clamp(2rem,4vw,3.2rem)}.page-hero{background:linear-gradient(120deg,var(--navy),#123a5c);color:white;padding:78px 0}.page-hero h1{font-size:clamp(2.5rem,5vw,4.8rem);margin:14px 0 18px}.page-hero p{max-width:760px;color:#d0dce7}.grid{display:grid;gap:22px}.services{grid-template-columns:repeat(3,1fr)}.card{border:1px solid var(--line);padding:28px;background:white}.card h3{font-size:1.3rem;margin:18px 0 10px}.card p{color:var(--muted)}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:48px}.panel{background:var(--bg);padding:32px;border-left:4px solid var(--blue)}.checklist{list-style:none;padding:0}.checklist li{padding:9px 0 9px 28px;position:relative}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}.gallery-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-v2 img,.gallery-v2 video{width:100%;aspect-ratio:4/3;object-fit:cover;background:#000}.footer{background:#061522;color:#d9e5ef;padding-top:56px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:34px}.footer h3{color:#fff;font-size:1rem}.footer a{display:block;margin:8px 0;color:#c7d4df}.footer p{color:#aebdca}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:38px;padding:18px 0;font-size:.82rem;color:#93a6b7;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field label{display:block;font-weight:800;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd5df;padding:12px 13px;font:inherit}.field textarea{min-height:160px}.full{grid-column:1/-1}.notice{background:#eef6ff;border-left:4px solid var(--blue);padding:16px}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;text-align:left;background:none;border:0;padding:20px 0;font-weight:850;font-size:1.05rem}.faq-a{display:none;padding:0 0 20px;color:var(--muted)}.faq-item.open .faq-a{display:block}.legal h2{margin-top:34px}.legal p{color:#4f5c6b}
@media(max-width:980px){.nav,.header .desktop{display:none}.menu-btn{display:block}.hero-v2{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:64px 24px}.hero-media{height:440px}.services-v2{grid-template-columns:repeat(2,1fr)}.commitments{grid-template-columns:repeat(2,1fr)}.real-grid{grid-template-columns:repeat(3,1fr)}.company{grid-template-columns:1fr}.audiences{grid-template-columns:1fr}.footer-grid,.split{grid-template-columns:1fr 1fr}.mobile-panel{display:none;position:fixed;inset:88px 0 0;background:var(--navy);z-index:29;padding:24px;color:#fff}.mobile-panel.open{display:block}.mobile-panel a{display:block;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);font-weight:800}}
@media(max-width:640px){.topbar span{display:none}.topbar .container{justify-content:center}.brand img{height:48px}.header-inner{height:74px}.mobile-panel{inset:74px 0 0}.hero-media{height:330px}.hero-v2 h1{font-size:2.75rem}.section{padding:60px 0}.services-v2,.commitments,.real-grid,.footer-grid,.split,.form-grid,.gallery-v2{grid-template-columns:1fr}.real-grid{grid-template-columns:repeat(2,1fr)}.cta-row{align-items:flex-start;flex-direction:column}.company-copy{padding:38px 24px}.cta{width:100%}.actions{display:grid;gap:10px}.full{grid-column:auto}}

/* Premium métier galleries */
.gallery-premium{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-auto-rows:250px;gap:14px}.gallery-premium figure{position:relative;margin:0;overflow:hidden;background:#dfe8f1;border-radius:2px}.gallery-premium figure:first-child{grid-row:span 2}.gallery-premium img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery-premium figure:hover img{transform:scale(1.035)}.gallery-premium figcaption{position:absolute;left:0;right:0;bottom:0;padding:32px 18px 16px;color:#fff;font-size:.82rem;font-weight:800;background:linear-gradient(180deg,transparent,rgba(3,16,28,.78));letter-spacing:.01em}.photo-note{margin-top:16px;color:var(--muted);font-size:.86rem}.photo-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.photo-kicker:before{content:"";width:24px;height:2px;background:var(--blue)}
@media(max-width:980px){.gallery-premium{grid-template-columns:1fr 1fr;grid-auto-rows:230px}.gallery-premium figure:first-child{grid-column:1/-1;grid-row:auto;height:360px}}
@media(max-width:640px){.gallery-premium{grid-template-columns:1fr;grid-auto-rows:240px}.gallery-premium figure:first-child{height:280px}.gallery-premium figcaption{font-size:.78rem}}


/* ===== V3 immersive / overlapping scroll experience ===== */
:root{--radius-lg:24px;--radius-md:16px;--ease:cubic-bezier(.2,.7,.2,1)}
body{overflow-x:hidden}
main{display:block}
.header{transition:box-shadow .25s ease,background .25s ease}
.header.scrolled{box-shadow:0 12px 30px rgba(7,24,39,.09);background:rgba(255,255,255,.985)}
.hero-v3{position:relative;min-height:88vh;display:grid;align-items:end;overflow:hidden;background:var(--navy)}
.hero-v3-media{position:absolute;inset:0}
.hero-v3-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.hero-v3-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,31,.94) 0%,rgba(4,18,31,.78) 38%,rgba(4,18,31,.18) 72%,rgba(4,18,31,.12) 100%)}
.hero-v3-content{position:relative;z-index:2;padding:9vh 0 13vh;color:#fff}
.hero-v3-copy{max-width:760px}
.hero-v3 .eyebrow{color:#78bfff}
.hero-v3 h1{font-size:clamp(3.4rem,7vw,7.2rem);letter-spacing:-.055em;max-width:900px;margin:22px 0}
.hero-v3 h1 span{color:#6bb9ff}
.hero-v3 p{max-width:690px;font-size:1.15rem;color:#dae6f0}
.hero-v3 .quickfacts{color:#d8e4ee}
.scroll-hint{position:absolute;right:3vw;bottom:4vh;z-index:3;color:#fff;font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;writing-mode:vertical-rl;display:flex;align-items:center;gap:10px}
.scroll-hint:after{content:"";height:60px;width:1px;background:rgba(255,255,255,.5)}

.overlap-shell{position:relative;z-index:5;margin-top:-72px}
.overlap-panel{background:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -18px 45px rgba(7,24,39,.12);padding-top:82px}

.flow-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:end;margin-bottom:50px}
.flow-intro .section-title{margin:0}
.flow-intro .lead{font-size:1.12rem;color:var(--muted);max-width:620px}

.scroll-stack{position:relative;display:grid;gap:28px;padding-bottom:40px}
.stack-card{position:sticky;top:118px;min-height:390px;border-radius:var(--radius-lg);overflow:hidden;background:#fff;box-shadow:0 24px 55px rgba(7,24,39,.16);display:grid;grid-template-columns:1.08fr .92fr;border:1px solid rgba(8,119,219,.12)}
.stack-card:nth-child(2){top:136px}
.stack-card:nth-child(3){top:154px}
.stack-card:nth-child(4){top:172px}
.stack-card:nth-child(5){top:190px}
.stack-card:nth-child(6){top:208px}
.stack-media{min-height:390px;background:linear-gradient(135deg,#edf4fb,#dce8f3);overflow:hidden}
.stack-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.stack-card:hover .stack-media img{transform:scale(1.035)}
.stack-copy{padding:48px;display:flex;flex-direction:column;justify-content:center}
.stack-number{font-weight:900;color:var(--blue);letter-spacing:.12em;font-size:.78rem}
.stack-copy h3{font-size:clamp(1.9rem,3vw,3rem);margin:12px 0 14px;letter-spacing:-.03em}
.stack-copy p{color:var(--muted);font-size:1.02rem;max-width:520px}
.stack-copy .more{margin-top:16px}

.floating-section{position:relative;padding:110px 0 120px}
.floating-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 15%,rgba(8,119,219,.18),transparent 28%),linear-gradient(140deg,#071827,#0a2d4b)}
.floating-section>.container{position:relative;z-index:2}
.floating-section .section-title{color:#fff}
.floating-section .section-title p{color:#c7d3de}
.float-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.float-card{background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:18px;padding:30px;min-height:250px;transform:translateY(var(--offset,0))}
.float-card:nth-child(2){--offset:38px}.float-card:nth-child(3){--offset:-12px}.float-card:nth-child(4){--offset:26px}
.float-card .n{color:#74bfff;font-weight:900}
.float-card h3{font-size:1.25rem;margin:44px 0 10px}
.float-card p{color:#c7d3de}

.layered-audiences{position:relative;background:#eef4fa;padding:110px 0}
.layered-audiences .audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.layer-card{position:relative;min-height:540px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.layer-card:nth-child(2){margin-top:70px}
.layer-card img{width:100%;height:100%;object-fit:cover}
.layer-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(7,24,39,.88))}
.layer-card-copy{position:absolute;z-index:2;left:36px;right:36px;bottom:34px;color:#fff}
.layer-card-copy h2{font-size:clamp(2rem,4vw,3.5rem);max-width:600px}
.layer-card-copy p{max-width:560px;color:#e8eef5}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-38px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal-left.is-visible{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(38px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal-right.is-visible{opacity:1;transform:none}

.page-hero{position:relative;overflow:hidden;padding:105px 0 125px}
.page-hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-80px;top:-170px}
.page-hero+.section{position:relative;z-index:2;margin-top:-42px}
.page-hero+.section>.container{background:#fff;border-radius:22px;padding:46px;box-shadow:0 22px 48px rgba(7,24,39,.09)}
.split>aside.panel{position:sticky;top:132px;height:max-content;border-radius:14px}
.gallery-premium{position:relative}
.gallery-premium figure{box-shadow:0 16px 38px rgba(7,24,39,.09)}
.gallery-premium figure:nth-child(2){transform:translateY(28px)}
.gallery-premium figure:nth-child(4){transform:translateY(-18px)}

@media(max-width:980px){
  .flow-intro{grid-template-columns:1fr}
  .stack-card{position:relative;top:auto!important;grid-template-columns:1fr;min-height:0}
  .stack-media{min-height:300px}
  .stack-copy{padding:34px}
  .float-grid{grid-template-columns:1fr 1fr}
  .float-card{transform:none!important}
  .layered-audiences .audience-grid{grid-template-columns:1fr}
  .layer-card:nth-child(2){margin-top:0}
  .split>aside.panel{position:relative;top:auto}
}
@media(max-width:640px){
  .hero-v3{min-height:78vh}
  .hero-v3-overlay{background:linear-gradient(180deg,rgba(4,18,31,.55),rgba(4,18,31,.92))}
  .hero-v3 h1{font-size:3.15rem}
  .hero-v3-content{padding:11vh 0 10vh}
  .scroll-hint{display:none}
  .overlap-shell{margin-top:-34px}
  .overlap-panel{padding-top:58px;border-radius:18px 18px 0 0}
  .float-grid{grid-template-columns:1fr}
  .layer-card{min-height:430px}
  .page-hero+.section{margin-top:-20px}
  .page-hero+.section>.container{padding:28px 20px;border-radius:16px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .reveal,.reveal-left,.reveal-right{opacity:1!important;transform:none!important;transition:none!important}
}


/* ===== V4 — structure inspirée d'un site à méga-menus, sans copie graphique ===== */
:root{
  --ae-blue:#0b5aa7;
  --ae-blue-dark:#083c70;
  --ae-ink:#0e1b2b;
  --ae-soft:#f4f7fa;
  --ae-border:#dce4eb;
  --ae-shadow:0 18px 45px rgba(14,27,43,.11);
}
body{background:#fff}
.header{position:sticky;top:0;z-index:70;background:#fff;border-bottom:1px solid var(--ae-border)}
.header-inner{min-height:82px;gap:24px}
.brand img{height:58px;width:auto;object-fit:contain}
.nav{display:flex;align-items:center;gap:6px}
.nav-item{position:relative}
.nav-trigger,.nav>a{
  display:inline-flex;align-items:center;gap:7px;
  padding:30px 13px;font-weight:800;font-size:.92rem;color:var(--ae-ink);
  text-decoration:none;border:0;background:transparent;cursor:pointer
}
.nav-trigger:hover,.nav>a:hover{color:var(--ae-blue)}
.nav-trigger:after{content:"⌄";font-size:.82rem;transition:transform .2s ease}
.nav-item:hover .nav-trigger:after,.nav-item:focus-within .nav-trigger:after{transform:rotate(180deg)}
.mega{
  position:absolute;left:50%;top:100%;transform:translateX(-50%) translateY(10px);
  width:min(900px,92vw);background:#fff;border:1px solid var(--ae-border);border-top:3px solid var(--ae-blue);
  box-shadow:var(--ae-shadow);padding:26px;opacity:0;visibility:hidden;pointer-events:none;
  transition:.2s ease;z-index:80;border-radius:0 0 14px 14px
}
.nav-item:hover .mega,.nav-item:focus-within .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mega-section{padding:6px}
.mega-title{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#7f8b96;font-weight:900;margin-bottom:10px}
.mega-link{
  display:block;padding:11px 12px;border-radius:10px;color:var(--ae-ink);text-decoration:none
}
.mega-link:hover{background:var(--ae-soft);color:var(--ae-blue)}
.mega-link strong{display:block;font-size:.96rem}
.mega-link span{display:block;margin-top:3px;font-size:.79rem;color:#6e7983;line-height:1.35}
.mega-cta{background:linear-gradient(135deg,var(--ae-blue-dark),#0a6ac6);color:#fff;border-radius:12px;padding:18px}
.mega-cta h3{margin:0 0 8px;color:#fff}
.mega-cta p{margin:0 0 14px;color:#dcecff;font-size:.9rem}
.mega-cta a{display:inline-block;background:#fff;color:var(--ae-blue-dark);padding:10px 13px;border-radius:8px;font-weight:900;text-decoration:none}

.mobile-panel{padding:14px 20px 28px}
.mobile-panel details{border-bottom:1px solid var(--ae-border)}
.mobile-panel summary{list-style:none;padding:15px 0;font-weight:900;cursor:pointer}
.mobile-panel summary::-webkit-details-marker{display:none}
.mobile-submenu{padding:0 0 10px 12px}
.mobile-submenu a{display:block;padding:9px 0;font-weight:700;color:#435161}

.v4-hero{background:linear-gradient(180deg,#f9fbfd,#eef4f9);padding:64px 0 72px;border-bottom:1px solid var(--ae-border)}
.v4-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center}
.v4-hero-copy h1{font-size:clamp(3rem,5.8vw,5.8rem);line-height:.98;letter-spacing:-.055em;margin:16px 0 22px;color:var(--ae-ink)}
.v4-hero-copy h1 span{color:var(--ae-blue)}
.v4-hero-copy p{font-size:1.12rem;line-height:1.7;color:#5f6b76;max-width:690px}
.v4-hero-media{border-radius:18px;overflow:hidden;box-shadow:var(--ae-shadow);aspect-ratio:4/3;background:#dfe8ef}
.v4-hero-media img{width:100%;height:100%;object-fit:cover}
.v4-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.v4-badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.v4-badge{padding:10px 12px;border:1px solid var(--ae-border);background:#fff;border-radius:999px;font-weight:800;font-size:.82rem}

.selector-wrap{padding:0 0 26px;background:#fff}
.selector{position:relative;margin-top:-28px;background:#fff;border:1px solid var(--ae-border);box-shadow:var(--ae-shadow);padding:18px;border-radius:14px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.selector strong{font-size:1rem}
.selector-links{display:flex;flex-wrap:wrap;gap:8px}
.selector-links a{padding:9px 11px;background:var(--ae-soft);border-radius:8px;text-decoration:none;font-weight:800;color:var(--ae-ink)}
.selector-links a:hover{background:#e2eef9;color:var(--ae-blue)}

.v4-section{padding:86px 0}
.v4-section.soft{background:var(--ae-soft)}
.v4-kicker{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ae-blue);font-weight:900}
.v4-heading{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.04em;line-height:1.02;margin:11px 0 18px}
.v4-intro{max-width:760px;color:#66727c;line-height:1.7}

.service-grid-v4{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.service-tile{border:1px solid var(--ae-border);background:#fff;border-radius:14px;overflow:hidden;text-decoration:none;color:var(--ae-ink);transition:.22s ease}
.service-tile:hover{transform:translateY(-4px);box-shadow:var(--ae-shadow);border-color:#b9cee0}
.service-thumb{aspect-ratio:16/9;background:#e6edf3;overflow:hidden}
.service-thumb img{width:100%;height:100%;object-fit:cover}
.service-body{padding:22px}
.service-index{font-size:.72rem;color:var(--ae-blue);font-weight:900;letter-spacing:.12em}
.service-body h3{margin:8px 0 8px;font-size:1.35rem}
.service-body p{color:#697681;font-size:.93rem;line-height:1.55}
.service-more{display:inline-block;margin-top:10px;font-weight:900;color:var(--ae-blue)}

.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:36px}
.profile-card{border:1px solid var(--ae-border);border-radius:16px;overflow:hidden;background:#fff}
.profile-media{height:270px;overflow:hidden}
.profile-media img{width:100%;height:100%;object-fit:cover}
.profile-copy{padding:28px}
.profile-copy h3{font-size:1.8rem;margin:0 0 10px}
.profile-copy p{color:#68747e}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}
.step{border-top:3px solid var(--ae-blue);background:#fff;padding:24px 20px;box-shadow:0 10px 28px rgba(14,27,43,.06)}
.step b{display:block;color:var(--ae-blue);font-size:.75rem;letter-spacing:.12em;margin-bottom:20px}
.step h3{font-size:1.13rem;margin-bottom:8px}
.step p{color:#6a7781;font-size:.92rem}

.faq-v4{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start;margin-top:30px}
.faq-v4 details{border-bottom:1px solid var(--ae-border)}
.faq-v4 summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:900;font-size:1.02rem}
.faq-v4 summary::-webkit-details-marker{display:none}
.faq-v4 details p{padding:0 0 18px;margin:0;color:#65717b;line-height:1.6}

.page-hero{background:linear-gradient(180deg,#f8fbfd,#eef4f9);color:var(--ae-ink);padding:68px 0;border-bottom:1px solid var(--ae-border)}
.page-hero .eyebrow{color:var(--ae-blue)}
.page-hero h1{color:var(--ae-ink)}
.page-hero p{color:#65717b}
.page-hero+.section{margin-top:0}
.page-hero+.section>.container{box-shadow:none;border-radius:0;padding:0}
.split>aside.panel{position:relative;top:auto}

@media(max-width:1100px){
  .nav{display:none}.desktop{display:none!important}.menu-btn{display:block}
  .v4-hero-grid{grid-template-columns:1fr}.v4-hero-media{max-width:760px}
  .service-grid-v4{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .mega{display:none}
  .selector{grid-template-columns:1fr}
  .service-grid-v4,.profile-grid,.steps,.faq-v4{grid-template-columns:1fr}
  .v4-hero{padding-top:42px}
  .v4-section{padding:64px 0}
}

/* V4.1 — albums photos mis à jour */
.service-thumb.placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#eef4f9,#dfeaf3);min-height:100%}
.service-thumb.placeholder span{font-size:1rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#0b5aa7}
.project-album{margin-top:44px;border-top:1px solid var(--ae-border);padding-top:34px}
.project-album:first-of-type{margin-top:28px}
.project-album-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}
.project-album-head h3{font-size:clamp(1.65rem,3vw,2.5rem);margin:0}
.project-album-head p{margin:0;color:#68747e}
.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.project-gallery figure{margin:0;border-radius:12px;overflow:hidden;background:#e9eff4;box-shadow:0 10px 24px rgba(14,27,43,.07)}
.project-gallery img{width:100%;height:280px;object-fit:cover;display:block;transition:transform .35s ease}
.project-gallery figure:first-child{grid-column:span 2}
.project-gallery figure:first-child img{height:430px}
.project-gallery figure:hover img{transform:scale(1.025)}
@media(max-width:800px){
  .project-gallery{grid-template-columns:1fr 1fr}
  .project-gallery figure:first-child{grid-column:span 2}
  .project-gallery img{height:220px}
  .project-gallery figure:first-child img{height:320px}
}
@media(max-width:520px){
  .project-gallery{grid-template-columns:1fr}
  .project-gallery figure:first-child{grid-column:auto}
  .project-gallery img,.project-gallery figure:first-child img{height:260px}
  .project-album-head{display:block}
}


/* ===== V4.2 — solutions partenaires et KNX / sécurité ===== */
.solution-band{padding:78px 0;background:#fff}
.solution-band.soft{background:var(--ae-soft)}
.solution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px}
.solution-card{border:1px solid var(--ae-border);border-radius:16px;background:#fff;padding:28px;box-shadow:0 10px 28px rgba(14,27,43,.05)}
.solution-card h3{font-size:1.45rem;margin:6px 0 10px}
.solution-card p{color:#68747e;line-height:1.6}
.solution-tag{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eaf3fb;color:var(--ae-blue);font-weight:900;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}
.solution-list{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:9px}
.solution-list li{position:relative;padding-left:20px;color:#495761}
.solution-list li:before{content:"•";position:absolute;left:0;color:var(--ae-blue);font-weight:900}
.brand-strip{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.brand-pill{border:1px solid var(--ae-border);border-radius:10px;padding:11px 14px;background:#fff;font-weight:900;color:var(--ae-ink);text-decoration:none}
.knx-tech{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:34px}
.knx-block{background:#0d2032;color:#fff;border-radius:16px;padding:30px}
.knx-block h3{font-size:1.5rem;margin:8px 0 12px;color:#fff}
.knx-block p,.knx-block li{color:#d7e1ea}
.knx-block ul{margin:16px 0 0;padding-left:20px}
.knx-block.light{background:#fff;color:var(--ae-ink);border:1px solid var(--ae-border)}
.knx-block.light h3{color:var(--ae-ink)}
.knx-block.light p,.knx-block.light li{color:#5f6d78}
.interface-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.interface-card{border:1px solid var(--ae-border);border-radius:14px;padding:22px;background:#fff}
.interface-card h4{font-size:1.05rem;margin:6px 0 8px}
.interface-card p{font-size:.9rem;color:#68747e}
.placeholder-visual{height:190px;border-radius:12px;background:linear-gradient(135deg,#eaf1f7,#dce8f1);display:grid;place-items:center;text-align:center;padding:20px;color:var(--ae-blue-dark);font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin-top:18px}
@media(max-width:850px){
  .solution-grid,.knx-tech,.interface-grid{grid-template-columns:1fr}
}

/* V4.4 — synchro complète des dossiers photos */
.photo-visual{padding:0;overflow:hidden}
.photo-visual img{width:100%;height:100%;object-fit:cover;display:block}
.solution-gallery{margin-top:22px}
.solution-gallery .gallery-premium{grid-template-columns:repeat(2,1fr);gap:10px}
.solution-gallery .gallery-premium img{height:180px}
@media(max-width:650px){
  .solution-gallery .gallery-premium{grid-template-columns:1fr}
  .solution-gallery .gallery-premium img{height:230px}
}


/* ===== V4.7 — corrections finales d'octobre 2026 ===== */
:root{--ae-page:#e7ecef;--ae-paper:#f5f3ef;--ae-paper-2:#e9eef1;--ae-deep:#0a1722;--ae-deep-2:#132a3a}
body{background:linear-gradient(145deg,var(--ae-deep) 0%,#152b3a 45%,#0b1822 100%);background-attachment:fixed}
.v4-hero{background:radial-gradient(circle at 82% 16%,rgba(38,107,160,.30),transparent 34%),linear-gradient(135deg,#0b1721 0%,#142b3a 58%,#1a3443 100%);border-bottom:1px solid rgba(255,255,255,.08)}
.v4-hero-copy h1,.v4-hero-copy h1 span{color:#f5f7f8}.v4-hero-copy h1 span{display:block;color:#81bcec;margin-top:.08em}
.v4-hero-copy p{color:#d1dbe2}.v4-hero .v4-kicker{color:#88c5f4}.v4-hero .v4-badge{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#eaf1f5;backdrop-filter:blur(8px)}
.v4-hero .cta.outline{color:#d9ecfb;border-color:#7eb7e1}.v4-hero .cta.outline:hover{background:rgba(255,255,255,.08)}
.selector-wrap,.v4-section,.section,.solution-band{background:var(--ae-paper)}
.v4-section.soft,.section.soft,.solution-band.soft,.layered-audiences{background:var(--ae-paper-2)}
.page-hero{background:radial-gradient(circle at 78% 12%,rgba(36,105,161,.28),transparent 35%),linear-gradient(135deg,#0b1721,#173649);color:#fff}
.page-hero h1{color:#fff}.page-hero p{color:#cfdae2}.page-hero .eyebrow{color:#8ec9f5}
.service-tile,.profile-card,.step,.solution-card,.interface-card,.card,.page-hero+.section>.container{background:#fbfaf7}
.header{background:rgba(250,250,248,.96);backdrop-filter:blur(14px)}

/* Galleries: more breathing room, no visually glued cards */
.gallery-premium{gap:24px;grid-auto-rows:245px}.gallery-premium figure{border-radius:12px}.gallery-premium figure:nth-child(2),.gallery-premium figure:nth-child(4){transform:none}
.gallery-premium img{filter:none!important;opacity:1!important}.solution-gallery .gallery-premium{gap:16px}.solution-gallery .gallery-premium img{filter:none!important;opacity:1!important}
.focus-knx-modules{object-position:center 86%!important}

/* Residential albums slightly more refined / compact */
.project-gallery{gap:18px}.project-gallery img{height:220px}.project-gallery figure:first-child img{height:340px}.project-gallery figure{border-radius:14px}

/* Professionals imagery */
.professional-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.professional-gallery figure{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 12px 30px rgba(14,27,43,.08)}.professional-gallery img{width:100%;height:250px;object-fit:cover}.professional-gallery figcaption{padding:14px 16px;font-weight:800;color:#42515d;font-size:.88rem}

/* Company page */
.company-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:68px}.company-stat{background:#fbfaf7;border:1px solid #d5dde3;border-radius:16px;padding:28px;text-align:center;box-shadow:0 12px 30px rgba(14,27,43,.06)}.company-stat strong{display:block;font-family:"Arial Narrow",Inter,Arial,sans-serif;font-weight:600;font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.035em;color:#0b5aa7;line-height:1}.company-stat span{display:block;margin-top:10px;color:#66727c;font-weight:750}.company-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}.company-story h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.04em;margin-top:10px}.company-story-copy p{font-size:1.04rem;color:#52606b;line-height:1.8;margin:0 0 18px}.organisation-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.organisation-grid article{background:#fbfaf7;border:1px solid #d7dfe5;border-radius:16px;padding:34px}.organisation-grid article>span{color:#0b5aa7;font-weight:900;letter-spacing:.12em}.organisation-grid h3{font-size:1.6rem;margin:22px 0 10px}.organisation-grid p{color:#63717c}

/* Realisations trade navigator */
.trade-nav{position:sticky;top:92px;z-index:20;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:32px 0 44px;padding:12px;background:rgba(247,247,244,.92);backdrop-filter:blur(14px);border:1px solid #d7e0e6;border-radius:16px;box-shadow:0 14px 32px rgba(14,27,43,.08)}.trade-nav a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;padding:10px;border-radius:11px;background:#edf1f3;color:#132534;font-weight:850;font-size:.82rem;text-align:center;transition:.22s ease}.trade-nav a:hover{background:#0b5aa7;color:#fff;transform:translateY(-2px)}.trade-icon{font-size:1.18rem;line-height:1}.project-album[id]{scroll-margin-top:180px}
.knx-certified{background:#0b5aa7!important;color:white!important;border-color:#0b5aa7!important}

@media(max-width:900px){.professional-gallery{grid-template-columns:1fr 1fr}.company-story{grid-template-columns:1fr}.trade-nav{grid-template-columns:repeat(3,1fr);position:relative;top:auto}.company-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:650px){.professional-gallery{grid-template-columns:1fr}.company-stats,.organisation-grid{grid-template-columns:1fr}.trade-nav{grid-template-columns:1fr 1fr}.project-gallery img,.project-gallery figure:first-child img{height:240px}.gallery-premium{gap:18px}}


/* ===== V4.8 — finition chaleureuse, mosaïques et détails ===== */
:root{
  --ae-page:#2b2926;
  --ae-paper:#f2ece3;
  --ae-paper-2:#e7ddd0;
  --ae-deep:#242321;
  --ae-deep-2:#35322e;
}
body{
  background:radial-gradient(circle at 18% 8%,rgba(153,121,84,.22),transparent 34%),linear-gradient(145deg,#24221f 0%,#34312d 50%,#20262a 100%);
  background-attachment:fixed;
}
.selector-wrap,.v4-section,.section,.solution-band{background:var(--ae-paper)}
.v4-section.soft,.section.soft,.solution-band.soft,.layered-audiences{background:var(--ae-paper-2)}
.service-tile,.profile-card,.step,.solution-card,.interface-card,.card,.page-hero+.section>.container,.company-stat,.organisation-grid article{background:#fbf7f0}
.header{background:rgba(248,243,235,.96)}
.v4-hero{background:radial-gradient(circle at 84% 12%,rgba(78,131,169,.20),transparent 32%),radial-gradient(circle at 8% 82%,rgba(151,117,78,.24),transparent 38%),linear-gradient(135deg,#262522 0%,#333530 56%,#27333b 100%)}
.page-hero{background:radial-gradient(circle at 78% 12%,rgba(73,129,170,.20),transparent 35%),radial-gradient(circle at 5% 90%,rgba(151,117,78,.20),transparent 38%),linear-gradient(135deg,#262522,#30383c)}
.topbar{background:#242321}

/* Courant faible: the rack is intentionally the large lead image. */

/* Alarm product photos: clean white presentation, no greyed effect. */
.solution-gallery .gallery-premium figure{background:#fff}
.solution-gallery .gallery-premium img{object-fit:contain;background:#fff;padding:8px}
.solution-gallery .gallery-premium figcaption{background:linear-gradient(180deg,transparent 20%,rgba(21,28,34,.72))}

/* Residential / project galleries: architectural mosaic instead of a rigid gallery. */
.project-gallery{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-flow:dense;
  grid-auto-rows:42px;
  gap:16px;
}
.project-gallery figure{
  grid-column:span 4;
  grid-row:span 5;
  margin:0;
  border-radius:14px;
  overflow:hidden;
  background:#ded6cb;
  box-shadow:0 12px 28px rgba(34,30,25,.09);
}
.project-gallery figure:first-child{grid-column:span 7;grid-row:span 7}
.project-gallery figure:nth-child(2){grid-column:span 5;grid-row:span 5}
.project-gallery figure:nth-child(3){grid-column:span 5;grid-row:span 6}
.project-gallery figure:nth-child(4){grid-column:span 4;grid-row:span 5}
.project-gallery figure:nth-child(5){grid-column:span 8;grid-row:span 5}
.project-gallery figure:nth-child(6n){grid-column:span 5;grid-row:span 6}
.project-gallery figure:nth-child(7n){grid-column:span 7;grid-row:span 5}
.project-gallery img,.project-gallery figure:first-child img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.project-gallery figure:hover img{transform:scale(1.025)}
.project-album{margin-top:50px;padding-top:38px}

/* Company key figures: lighter, more elegant typography. */
.company-stat{padding:26px 22px}
.company-stat strong{
  font-family:"Segoe UI",Inter,Arial,sans-serif;
  font-weight:500;
  font-size:clamp(2rem,3.5vw,3.35rem);
  letter-spacing:-.045em;
  color:#0b5aa7;
  line-height:1.05;
}
.company-stat span{font-weight:650;letter-spacing:.01em}

@media(max-width:900px){
  .project-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;gap:14px}
  .project-gallery figure,.project-gallery figure:first-child,.project-gallery figure:nth-child(n){grid-column:auto;grid-row:auto}
  .project-gallery img,.project-gallery figure:first-child img{height:240px}
}
@media(max-width:580px){
  .project-gallery{grid-template-columns:1fr}
  .project-gallery img,.project-gallery figure:first-child img{height:230px}
}


/* ===== V4.9 — finitions demandées ===== */
:root{
  --warm-bg:#d8cec0;
  --warm-bg-deep:#b9aa98;
  --warm-paper:#f6f0e7;
  --warm-paper-2:#eee5da;
  --warm-line:#cdbfad;
}
body{
  background:
    radial-gradient(circle at 12% 8%,rgba(255,255,255,.32),transparent 30%),
    linear-gradient(145deg,#d8cec0 0%,#cbbdac 52%,#b9aa98 100%);
  background-attachment:fixed;
}
.topbar{background:#292522}
.topbar .container{justify-content:flex-start;letter-spacing:.02em}
.header{background:rgba(248,244,237,.96)}
.v4-section,.section,.solution-band{background:rgba(246,240,231,.92)}
.v4-section.soft,.section.soft,.solution-band.soft{background:rgba(232,222,210,.94)}
.service-tile,.profile-card,.step,.solution-card,.interface-card,.card,.company-stat,.organisation-grid article,.panel{background:#f8f3eb}

/* Home service images */
.service-thumb img{object-position:center center}

/* Domotique / products */
.solution-grid{align-items:stretch}
.solution-card{display:flex;flex-direction:column}
.placeholder-visual.photo-visual{height:280px;padding:12px;background:#eee8df;overflow:hidden}
.placeholder-visual.photo-visual img.fit-product{width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important}
.placeholder-visual.photo-visual img.gold-switch{object-fit:contain;object-position:center}
.placeholder-visual.photo-visual img.panel-modules{object-fit:contain;object-position:center 58%}
.interface-card .placeholder-visual{height:260px}
.interface-card .placeholder-visual img{object-fit:contain!important;object-position:center!important}
.brand-ecosystem{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.brand-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:72px;justify-content:center;border-radius:12px}
.brand-card strong{font-size:.98rem;letter-spacing:.015em}
.brand-card small{font-size:.72rem;font-weight:650;color:#6c665e;text-transform:none;letter-spacing:0}

/* Product galleries: no greyed overlays / keep whole product visible */
.clean-product-gallery .gallery-premium figure{background:#f5efe6}
.clean-product-gallery .gallery-premium img{object-fit:contain!important;background:#f5efe6;padding:8px}

/* Smaller architectural galleries */
.architecture-album{position:relative;padding:8px 0 42px 58px;margin:0 auto;max-width:1080px}
.architecture-album:before{content:"";position:absolute;left:17px;top:28px;bottom:-12px;width:1px;background:linear-gradient(#0b72c9,#978672)}
.architecture-album:after{content:"";position:absolute;left:10px;top:25px;width:15px;height:15px;border-radius:50%;background:#0b72c9;box-shadow:0 0 0 7px rgba(11,114,201,.10)}
.architecture-album:last-child:before{bottom:38px}
.architecture-gallery{display:grid!important;grid-template-columns:repeat(12,1fr)!important;grid-auto-rows:105px!important;gap:14px!important;max-width:940px;margin:0}
.architecture-gallery figure{grid-column:span 4!important;grid-row:span 2!important;margin:0!important;background:#f4ede4!important;border-radius:14px!important;box-shadow:0 10px 26px rgba(54,45,36,.10)!important;padding:7px}
.architecture-gallery figure:nth-child(4n+1){grid-column:span 5!important;grid-row:span 2!important}
.architecture-gallery figure:nth-child(4n+2){grid-column:span 3!important;grid-row:span 2!important}
.architecture-gallery figure:nth-child(4n+3){grid-column:span 4!important;grid-row:span 3!important}
.architecture-gallery figure:nth-child(4n+4){grid-column:span 5!important;grid-row:span 2!important}
.architecture-gallery img,.architecture-gallery figure:first-child img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#f4ede4;border-radius:9px}
.project-album-head{max-width:940px}

/* Professional realization gallery */
.architecture-pro-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px}
.architecture-pro-gallery figure{margin:0;background:#f4ede4;border-radius:14px;padding:8px;box-shadow:0 10px 24px rgba(54,45,36,.09)}
.architecture-pro-gallery img{width:100%;height:220px;object-fit:contain;background:#f4ede4;border-radius:9px}
.architecture-pro-gallery figcaption{padding:10px 4px 4px;font-size:.83rem;color:#665d55}

/* About numbers */
.company-stat strong{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.02em;font-size:clamp(2rem,3.4vw,3.25rem)}
.company-stat strong em{font-family:Inter,Arial,sans-serif;font-style:normal;font-size:.42em;letter-spacing:.06em;vertical-align:middle;color:#6b7480;margin:0 .18em}

@media(max-width:900px){
  .brand-ecosystem{grid-template-columns:repeat(2,1fr)}
  .architecture-gallery{grid-template-columns:repeat(2,1fr)!important;grid-auto-rows:auto!important}
  .architecture-gallery figure,.architecture-gallery figure:nth-child(n){grid-column:auto!important;grid-row:auto!important;height:210px}
  .architecture-pro-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .brand-ecosystem{grid-template-columns:1fr}
  .architecture-album{padding-left:34px}
  .architecture-album:before{left:9px}.architecture-album:after{left:2px}
  .architecture-gallery,.architecture-pro-gallery{grid-template-columns:1fr!important}
  .architecture-gallery figure,.architecture-gallery figure:nth-child(n){height:210px}
}


/* ===== V4.10 — ajustements page "Vous êtes" + réalisations ===== */
.audience-needs .split,
.pro-needs .split{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:32px;align-items:start}
.audience-needs .section-title h2,
.pro-needs .section-title h2{font-size:clamp(1.65rem,2.8vw,2.3rem)}
.audience-needs .two-col-cards,
.pro-needs .two-col-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:780px}
.audience-needs .card,
.pro-needs .card{padding:18px 18px 16px;border-radius:14px;min-height:unset;box-shadow:0 8px 20px rgba(54,45,36,.06)}
.audience-needs .card h3,
.pro-needs .card h3{font-size:1.05rem;margin:0 0 6px}
.audience-needs .card p,
.pro-needs .card p{font-size:.9rem;line-height:1.45}
.audience-needs aside.panel,
.pro-needs aside.panel{padding:24px 22px;border-left:0;border-radius:16px;box-shadow:0 12px 26px rgba(54,45,36,.08);background:linear-gradient(180deg,#f8f3eb 0%,#f2e8da 100%)}
.audience-needs aside.panel h3,
.pro-needs aside.panel h3{font-size:1.25rem;margin-bottom:10px}
.audience-needs aside.panel p,
.pro-needs aside.panel p{font-size:.93rem;line-height:1.5}
.audience-needs aside.panel .checklist li,
.pro-needs aside.panel .checklist li{padding:6px 0 6px 24px;font-size:.92rem}

/* Dotted-path galleries */
.architecture-album{padding-left:0;max-width:1080px}
.architecture-album:before,
.architecture-album:after{display:none}
.architecture-gallery,
.architecture-pro-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:18px 22px!important;max-width:980px;margin:0!important;align-items:start}
.architecture-gallery figure,
.architecture-pro-gallery figure{position:relative;grid-column:auto!important;grid-row:auto!important;height:auto!important;margin:0!important;background:#f4ede4!important;border-radius:16px!important;box-shadow:0 10px 26px rgba(54,45,36,.10)!important;padding:7px;overflow:visible!important}
.architecture-gallery figure:nth-child(n),
.architecture-pro-gallery figure:nth-child(n){grid-column:auto!important;grid-row:auto!important}
.architecture-gallery img,
.architecture-gallery figure:first-child img,
.architecture-pro-gallery img{width:100%!important;height:220px!important;object-fit:cover!important;object-position:center!important;background:#f4ede4;border-radius:10px}
.architecture-gallery figure:first-child img{height:220px!important}
.architecture-gallery figure:not(:nth-child(3n))::after,
.architecture-pro-gallery figure:not(:nth-child(3n))::after{content:"";position:absolute;top:50%;right:-18px;width:18px;border-top:2px dashed rgba(11,90,167,.38);transform:translateY(-50%)}
.architecture-gallery figure:not(:nth-last-child(-n+3))::before,
.architecture-pro-gallery figure:not(:nth-last-child(-n+3))::before{content:"";position:absolute;left:50%;bottom:-18px;height:18px;border-left:2px dashed rgba(11,90,167,.32);transform:translateX(-50%)}
.architecture-gallery figure:nth-child(3n)::before,
.architecture-pro-gallery figure:nth-child(3n)::before{content:"";position:absolute;left:50%;bottom:-18px;height:18px;border-left:2px dashed rgba(11,90,167,.32);transform:translateX(-50%)}
.architecture-gallery figure:nth-last-child(-n+3)::before,
.architecture-pro-gallery figure:nth-last-child(-n+3)::before{display:none}
.architecture-gallery figcaption,
.architecture-pro-gallery figcaption{padding:8px 4px 2px;font-size:.83rem;color:#665d55}
.project-album-head{max-width:980px}

@media(max-width:900px){
  .audience-needs .split,.pro-needs .split{grid-template-columns:1fr}
  .architecture-gallery,.architecture-pro-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .architecture-gallery figure:not(:nth-child(2n))::after,
  .architecture-pro-gallery figure:not(:nth-child(2n))::after{content:"";position:absolute;top:50%;right:-16px;width:16px;border-top:2px dashed rgba(11,90,167,.38);transform:translateY(-50%)}
  .architecture-gallery figure:nth-child(2n)::after,
  .architecture-pro-gallery figure:nth-child(2n)::after{display:none}
  .architecture-gallery figure:not(:nth-last-child(-n+2))::before,
  .architecture-pro-gallery figure:not(:nth-last-child(-n+2))::before{display:block}
  .architecture-gallery figure:nth-last-child(-n+2)::before,
  .architecture-pro-gallery figure:nth-last-child(-n+2)::before{display:none}
}
@media(max-width:650px){
  .audience-needs .two-col-cards,.pro-needs .two-col-cards{grid-template-columns:1fr}
  .architecture-gallery,.architecture-pro-gallery{grid-template-columns:1fr!important}
  .architecture-gallery img,.architecture-gallery figure:first-child img,.architecture-pro-gallery img{height:230px!important}
  .architecture-gallery figure::before,.architecture-gallery figure::after,
  .architecture-pro-gallery figure::before,.architecture-pro-gallery figure::after{display:none!important}
}


/* ===== V4.11 — Accueil : typographie plus légère + double visuel ===== */
body.home-v411{}

.v4-hero,
.v4-section,
.selector-wrap{
  font-family:"Segoe UI Variable","Segoe UI",Arial,Helvetica,sans-serif;
}
.v4-hero-copy h1{
  font-family:"Segoe UI Variable","Segoe UI",Arial,Helvetica,sans-serif;
  font-weight:580;
  letter-spacing:-.042em;
}
.v4-hero-copy h1 span{
  font-weight:520;
}
.v4-heading{
  font-family:"Segoe UI Variable","Segoe UI",Arial,Helvetica,sans-serif;
  font-weight:560;
  letter-spacing:-.028em;
}
.v4-kicker{
  font-weight:650;
  letter-spacing:.11em;
}
.service-body h3,
.profile-copy h3,
.step h3,
.real-card p,
.selector strong{
  font-weight:600;
}
.service-index,
.step b,
.service-more{
  font-weight:650;
}
.v4-intro,
.v4-hero-copy p,
.service-body p,
.profile-copy p,
.step p{
  font-weight:400;
}

.v4-hero-visuals{
  position:relative;
  min-height:520px;
  padding:0 0 54px 26px;
}
.v4-hero-visuals .v4-hero-media{
  width:92%;
  margin-left:auto;
  aspect-ratio:4/3;
}
.v4-hero-secondary{
  position:absolute;
  left:0;
  bottom:0;
  width:44%;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:16px;
  border:7px solid rgba(244,238,229,.96);
  box-shadow:0 18px 42px rgba(8,20,31,.28);
  background:#dfe8ef;
}
.v4-hero-secondary img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

@media(max-width:980px){
  .v4-hero-visuals{
    max-width:760px;
    min-height:0;
    padding:0 0 44px 22px;
  }
  .v4-hero-visuals .v4-hero-media{width:94%}
  .v4-hero-secondary{width:38%;border-width:6px}
}
@media(max-width:640px){
  .v4-hero-copy h1{font-size:clamp(2.35rem,11vw,3.25rem);line-height:1.02}
  .v4-heading{font-size:clamp(1.85rem,8vw,2.65rem)}
  .v4-hero-visuals{padding-left:0;padding-bottom:32px}
  .v4-hero-visuals .v4-hero-media{width:100%}
  .v4-hero-secondary{
    width:42%;
    left:10px;
    bottom:0;
    border-width:4px;
    border-radius:12px;
  }
}


/* ===== V4.12 — accueil : hiérarchie inversée + photo agrandie + Instagram ===== */
.v4-hero .v4-kicker{
  font-size:clamp(1.05rem,1.65vw,1.38rem);
  letter-spacing:.06em;
  font-weight:650;
  text-transform:none;
  color:#9fd0f5;
}
.v4-hero-copy h1{
  font-size:clamp(2.15rem,4.15vw,4.15rem);
  line-height:1.03;
  font-weight:560;
  letter-spacing:-.035em;
}
.v4-hero-copy h1 span{
  font-weight:500;
}
.v4-hero-secondary{
  width:58%;
  aspect-ratio:16/10;
  left:-2%;
  bottom:-4px;
  border-width:7px;
}
.v4-hero-visuals{
  padding-bottom:86px;
}
.instagram-section{
  background:linear-gradient(135deg,rgba(31,25,22,.97),rgba(65,52,44,.96));
  color:#fff;
}
.instagram-wrap{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);
  gap:48px;
  align-items:center;
}
.instagram-copy .v4-heading,
.instagram-copy h2{color:#fff}
.instagram-copy .v4-intro,
.instagram-copy p{color:#e7ded6}
.instagram-copy strong{color:#fff}
.instagram-link{margin-top:10px}
.instagram-note{
  margin:12px 0 0;
  max-width:640px;
  font-size:.78rem;
  opacity:.72;
}
.instagram-qr-card{
  justify-self:end;
  width:min(260px,100%);
  padding:18px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.22);
  text-align:center;
}
.instagram-qr-card img{
  width:100%;
  aspect-ratio:1;
  object-fit:contain;
  background:#fff;
}
.instagram-qr-card span{
  display:block;
  margin-top:10px;
  color:#273441;
  font-size:.82rem;
  font-weight:700;
}

@media(max-width:900px){
  .v4-hero-secondary{width:52%}
  .instagram-wrap{grid-template-columns:1fr}
  .instagram-qr-card{justify-self:start;width:220px}
}
@media(max-width:640px){
  .v4-hero .v4-kicker{font-size:1rem}
  .v4-hero-copy h1{font-size:clamp(2rem,9vw,2.9rem)}
  .v4-hero-visuals{padding-bottom:64px}
  .v4-hero-secondary{width:60%;left:4px}
}


/* ===== V4.13 — titre accueil sur deux lignes distinctes ===== */
.hero-title-pair{
  margin-top:18px;
  display:grid;
  gap:8px;
}
.v4-hero-copy .hero-title-pair h1,
.v4-hero-copy .hero-title-pair h2{
  margin:0;
  font-family:"Segoe UI Variable","Segoe UI",Arial,Helvetica,sans-serif;
  font-weight:540;
  letter-spacing:-.032em;
  line-height:1.05;
}
.v4-hero-copy .hero-title-pair h1{
  font-size:clamp(2rem,3.75vw,3.8rem);
}
.v4-hero-copy .hero-title-pair h2{
  font-size:clamp(1.7rem,3.15vw,3.15rem);
  color:var(--ae-blue);
}
@media(max-width:640px){
  .v4-hero-copy .hero-title-pair h1{font-size:clamp(1.9rem,8.4vw,2.7rem)}
  .v4-hero-copy .hero-title-pair h2{font-size:clamp(1.55rem,7vw,2.25rem)}
}

/* Final OVH form states */
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{margin-top:16px;min-height:1.5em;font-size:.92rem}
.form-status.success{color:#185c37;font-weight:700}
.form-status.error{color:#8b1e1e;font-weight:700}
#quote-form button[disabled]{opacity:.65;cursor:wait}
