/* PEXSA Habitat v3.0 — public UI production update */
.public-v3{--v3-max:1320px;--v3-nav:1480px;--v3-teal:#167681;--v3-teal-deep:#105861;--v3-ink:#1c2d33;--v3-soft:#f4f8f8;--v3-line:#dbe5e7;--v3-shadow:0 18px 60px rgba(12,54,60,.12);font-size:16px}
.public-v3 .container{width:min(var(--v3-max),92%)}
.public-v3 .container-wide{width:min(var(--v3-max),92%);margin-inline:auto}
.public-v3 .nav-container{width:min(var(--v3-nav),96%);margin-inline:auto}
.public-v3 main{overflow:hidden}
.public-v3 p{font-size:17px}
.public-v3 .section{padding:92px 0}
.public-v3 .section-head h2,.public-v3 .section h2{font-size:clamp(34px,3.6vw,52px)}
.public-v3 .eyebrow{letter-spacing:.14em}

/* Header */
.public-v3 .v3-header{box-shadow:0 6px 26px rgba(18,57,64,.05)}
.public-v3 .v3-header .nav{min-height:92px;gap:18px}
.public-v3 .v3-header .brand{gap:12px;flex:0 0 auto}
.public-v3 .v3-header .brand img{width:62px;height:62px;border-radius:12px}
.public-v3 .v3-header .brand strong{font-size:19px;white-space:nowrap}
.public-v3 .v3-header .brand small{font-size:9px;white-space:nowrap;letter-spacing:.015em}
.public-v3 .v3-header .menu{margin-left:auto;display:flex;align-items:center;gap:clamp(12px,1.25vw,22px);white-space:nowrap}
.public-v3 .v3-header .menu>a,.public-v3 .v3-header .dropdown-trigger{font-size:14px;font-weight:760;color:#26383e;padding:13px 0;white-space:nowrap;line-height:1.15}
.public-v3 .v3-header .menu>a:hover,.public-v3 .v3-header .menu>a.active,.public-v3 .v3-header .dropdown-trigger:hover,.public-v3 .v3-header .dropdown-trigger.active{color:var(--v3-teal)}
.public-v3 .v3-header .nav-cta{padding:12px 17px!important;background:var(--v3-teal)!important;border-color:var(--v3-teal)!important;color:#fff!important;border-radius:12px;box-shadow:0 8px 20px rgba(22,118,129,.18)}
.public-v3 .v3-header .nav-cta:hover{background:var(--v3-teal-deep)!important;color:#fff!important}
.public-v3 .v3-header .dropdown-menu{top:54px;left:50%;transform:translateX(-35%);width:410px;min-width:0;padding:10px;background:#fff;border:1px solid var(--v3-line);border-radius:18px;box-shadow:0 24px 65px rgba(16,71,79,.16);gap:2px;max-height:min(540px,calc(100vh - 130px));overflow:auto}
.public-v3 .v3-header .dropdown-menu a{padding:12px 14px;border-radius:11px;font-weight:700;white-space:normal}
.public-v3 .v3-header .dropdown-menu a strong{font-size:14px;display:block}
.public-v3 .v3-header .dropdown-menu a small{font-size:12px;line-height:1.45;margin-top:2px}
.public-v3 .v3-header .dropdown-menu a:first-child{background:#f2f6f7;margin-bottom:2px}

/* Hero */
.public-v3 .hero-v3{background:linear-gradient(132deg,#123d43 0%,#176a73 58%,#1f8993 100%);color:#fff;position:relative;isolation:isolate}
.public-v3 .hero-v3:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 12%,rgba(255,255,255,.12),transparent 31%);z-index:-1}
.public-v3 .hero-v3-grid{min-height:650px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);gap:68px;align-items:center;padding:68px 0}
.public-v3 .hero-v3-copy h1{font-size:clamp(46px,5.1vw,74px);line-height:1.01;letter-spacing:-.048em;margin:14px 0 23px;max-width:760px}
.public-v3 .hero-v3-copy h1 span{color:#c9f0f2}
.public-v3 .hero-v3-copy>p{max-width:720px;color:#e5f1f2;font-size:19px;line-height:1.7}
.public-v3 .hero-v3 .actions{margin-top:28px}
.public-v3 .hero-v3-media{position:relative;min-height:530px}
.public-v3 .hero-v3-photo{position:absolute;inset:0 0 0 42px;border-radius:30px;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.23);background:#d8e4e5}
.public-v3 .hero-v3-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.public-v3 .hero-v3-caption{position:absolute;left:0;bottom:34px;background:#fff;color:var(--v3-ink);padding:17px 19px;border-radius:16px;box-shadow:var(--v3-shadow);max-width:285px}
.public-v3 .hero-v3-caption strong{display:block;font-size:18px}
.public-v3 .hero-v3-caption span{display:block;color:#61777c;font-size:13px;margin-top:2px}
.public-v3 .trust-line{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px;color:#d7ecee;font-weight:700;font-size:13px}

/* Global image components */
.public-v3 .media-frame{border-radius:24px;overflow:hidden;background:#edf3f4;box-shadow:var(--v3-shadow)}
.public-v3 .media-frame img{width:100%;height:100%;object-fit:cover}
.public-v3 .photo-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.public-v3 .photo-split.reverse .media-frame{order:2}
.public-v3 .photo-split.reverse .photo-copy{order:1}
.public-v3 .photo-copy h2{margin-top:9px}
.public-v3 .photo-copy .check-list{display:grid;gap:10px;margin:24px 0}
.public-v3 .photo-copy .check-list span{display:flex;gap:10px;align-items:flex-start;font-weight:650;color:#42575d}
.public-v3 .photo-copy .check-list span:before{content:"✓";color:var(--v3-teal);font-weight:900}
.public-v3 .ratio-wide{aspect-ratio:16/10}
.public-v3 .ratio-portrait{aspect-ratio:4/5}
.public-v3 .ratio-cinematic{aspect-ratio:16/8.5}

/* Services */
.public-v3 .service-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.public-v3 .service-photo-card{border:1px solid var(--v3-line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(22,63,69,.07);display:flex;flex-direction:column;min-width:0}
.public-v3 .service-photo-card .image{aspect-ratio:4/3;overflow:hidden;background:#edf3f4}
.public-v3 .service-photo-card .image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.public-v3 .service-photo-card:hover .image img{transform:scale(1.025)}
.public-v3 .service-photo-card .body{padding:23px;display:flex;flex-direction:column;flex:1}
.public-v3 .service-photo-card h3{font-size:23px;margin:0 0 7px}
.public-v3 .service-photo-card p{font-size:15px;color:#62777d;flex:1;margin:0 0 17px}
.public-v3 .service-photo-card a{font-weight:850}

/* Page hero */
.public-v3 .page-hero{padding:82px 0;background:linear-gradient(128deg,#153f45 0%,#19747d 100%)}
.public-v3 .page-hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(260px,.82fr);gap:52px}
.public-v3 .page-hero h1{font-size:clamp(42px,4.6vw,64px);line-height:1.06}
.public-v3 .page-hero p{font-size:18px;line-height:1.7}
.public-v3 .page-hero-photo{justify-self:end;width:min(440px,100%);aspect-ratio:4/3;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.24);box-shadow:0 24px 55px rgba(0,0,0,.16)}
.public-v3 .page-hero-photo.portrait{aspect-ratio:4/5;max-width:350px}
.public-v3 .page-hero-photo img{width:100%;height:100%;object-fit:cover}
.public-v3 .page-mark{font-size:30px}
.public-v3 .page-mark strong{font-size:48px}

/* About director */
.public-v3 .director-card{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:52px;align-items:center;background:#fff;border:1px solid var(--v3-line);border-radius:26px;padding:28px;box-shadow:var(--v3-shadow)}
.public-v3 .director-photo{aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:#edf3f4}
.public-v3 .director-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.public-v3 .director-copy h2{font-size:clamp(34px,3.4vw,48px);margin:8px 0 5px}
.public-v3 .director-role{font-weight:850;color:var(--v3-teal);font-size:17px}

/* Before / after interactive */
.public-v3 .ba-slider-card{border-radius:24px;border:1px solid var(--v3-line);background:#fff;box-shadow:var(--v3-shadow);overflow:hidden}
.public-v3 .ba-compare{position:relative;aspect-ratio:16/9;overflow:hidden;background:#dce6e7;--pos:50%}
.public-v3 .ba-compare>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.public-v3 .ba-compare .ba-after{clip-path:inset(0 0 0 var(--pos))}
.public-v3 .ba-divider{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.12);transform:translateX(-1.5px);pointer-events:none}
.public-v3 .ba-divider:after{content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--v3-teal);font-weight:900;box-shadow:0 8px 25px rgba(0,0,0,.18)}
.public-v3 .ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4}
.public-v3 .ba-label{position:absolute;top:16px;z-index:3;background:rgba(16,43,48,.82);color:#fff;padding:7px 10px;border-radius:999px;font-weight:850;font-size:12px;pointer-events:none}
.public-v3 .ba-label.before{left:16px}.public-v3 .ba-label.after{right:16px}
.public-v3 .ba-slider-body{padding:22px 24px}.public-v3 .ba-slider-body h3{font-size:23px;margin:0 0 5px}.public-v3 .ba-slider-body p{font-size:15px;color:#61777c;margin:0}
.public-v3 .ba-grid-v3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}

/* Forms */
.public-v3 .form-layout-v3{display:grid;grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr);gap:54px;align-items:start}
.public-v3 .form-aside-v3{position:sticky;top:118px}
.public-v3 .form-aside-v3 .media-frame{aspect-ratio:4/3;margin-bottom:24px}
.public-v3 .form-aside-v3 h2{font-size:clamp(33px,3.4vw,48px);line-height:1.1;margin:10px 0 18px}
.public-v3 .form-aside-v3 p{color:#60747a}
.public-v3 .form-card{border-radius:24px;padding:32px;box-shadow:var(--v3-shadow)}
.public-v3 .form-card h2{font-size:30px}
.public-v3 .form-progress-v3{display:flex;align-items:center;gap:8px;margin-bottom:23px}
.public-v3 .form-progress-v3 span{height:7px;flex:1;background:#dce7e8;border-radius:99px;transition:.2s}
.public-v3 .form-progress-v3 span.active{background:var(--v3-teal)}
.public-v3 .form-step-label{font-weight:850;color:var(--v3-teal);font-size:13px;margin-bottom:8px}
.public-v3 label{font-weight:760;color:#263a40}
.public-v3 input,.public-v3 select,.public-v3 textarea{border:1px solid #cadadd;border-radius:11px;padding:13px 14px;background:#fff;color:#23353b;outline:none;transition:border .18s,box-shadow .18s}
.public-v3 input:focus,.public-v3 select:focus,.public-v3 textarea:focus{border-color:var(--v3-teal);box-shadow:0 0 0 3px rgba(22,118,129,.12)}
.public-v3 .form-actions{margin-top:22px}
.public-v3 .form-help{background:#f3f8f8;border:1px solid var(--v3-line);border-radius:14px;padding:15px 17px;margin-top:20px;color:#50676c;font-size:14px}

/* Contact */
.public-v3 .contact-v3{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:52px;align-items:start}
.public-v3 .contact-photo{aspect-ratio:16/10;margin-bottom:22px}
.public-v3 .contact-details{display:grid;gap:10px;margin-top:20px}
.public-v3 .contact-details a,.public-v3 .contact-details div{border:1px solid var(--v3-line);border-radius:12px;padding:13px 15px;background:#fff;font-weight:700}

/* Demarcheur */
.public-v3 .demarcheur-hero-card{background:#fff;border:1px solid rgba(255,255,255,.25);border-radius:24px;padding:16px;box-shadow:0 25px 65px rgba(0,0,0,.16)}
.public-v3 .browser-mock{background:#f7fafb;border-radius:16px;overflow:hidden;color:#24363c;border:1px solid #d7e3e5}
.public-v3 .browser-top{height:38px;background:#eaf0f1;display:flex;align-items:center;gap:6px;padding:0 12px}
.public-v3 .browser-top i{width:9px;height:9px;border-radius:50%;background:#aebfc2}
.public-v3 .browser-body{padding:24px}
.public-v3 .mock-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:16px}.public-v3 .mock-search span{background:#fff;border:1px solid #d5e1e3;border-radius:9px;padding:11px;color:#6b7d82}.public-v3 .mock-search b{background:var(--v3-teal);color:#fff;border-radius:9px;padding:11px 14px}
.public-v3 .mock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.public-v3 .mock-cards div{height:92px;border-radius:10px;background:linear-gradient(140deg,#dfe9ea,#f7fafa);border:1px solid #d6e2e4;position:relative}.public-v3 .mock-cards div:after{content:"";position:absolute;left:10px;right:25px;bottom:12px;height:7px;background:#c6d5d7;border-radius:9px}
.public-v3 .feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.public-v3 .feature-card{padding:24px;border:1px solid var(--v3-line);border-radius:18px;background:#fff}.public-v3 .feature-card strong{display:block;font-size:19px;margin-bottom:7px}.public-v3 .feature-card p{font-size:15px;color:#63777c;margin:0}

/* Footer + floating actions */
.public-v3 .v3-footer{padding-top:58px}
.public-v3 .v3-footer .footer-grid{grid-template-columns:1.35fr .75fr .85fr 1fr;gap:46px}
.public-v3 .v3-footer .footer-bottom{padding-top:22px;padding-bottom:24px}
.public-v3 .floating-actions{right:18px;bottom:18px;gap:8px}
.public-v3 .floating-actions a{padding:10px 13px;border-radius:999px;font-size:12px;min-height:42px;display:flex;align-items:center;gap:6px;box-shadow:0 8px 26px rgba(0,0,0,.15)}
.public-v3 .floating-actions a span:first-child{font-weight:900}

/* Empty states */
.public-v3 .empty-state{max-width:780px;margin:auto;text-align:center;padding:56px 28px;border:1px dashed #c9d9dc;border-radius:22px;background:#f8fbfb}

/* Responsive */
@media(max-width:1380px){
  .public-v3 .v3-header .menu{gap:12px}.public-v3 .v3-header .menu>a,.public-v3 .v3-header .dropdown-trigger{font-size:13px}.public-v3 .v3-header .nav-cta{padding:11px 13px!important}.public-v3 .v3-header .brand small{display:none}
}
@media(max-width:1180px){
  .public-v3 .v3-header .menu-btn{display:block;margin-left:auto}
  .public-v3 .v3-header .menu{display:none;position:absolute;top:92px;left:0;right:0;background:#fff;padding:18px 4%;box-shadow:var(--v3-shadow);flex-direction:column;align-items:stretch;max-height:calc(100vh - 92px);overflow:auto;white-space:normal}
  .public-v3 .v3-header .menu.open{display:flex}.public-v3 .v3-header .menu>a,.public-v3 .v3-header .dropdown-trigger{font-size:15px;padding:11px 2px;text-align:left;width:100%}
  .public-v3 .v3-header .nav-cta{width:100%;margin-top:4px}
  .public-v3 .v3-header .dropdown-menu{position:static;transform:none;width:100%;max-height:none;box-shadow:none;border-radius:12px;margin-top:4px;padding:7px;background:#f7f9f9}
  .public-v3 .hero-v3-grid{grid-template-columns:1fr 1fr;gap:36px}.public-v3 .service-photo-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .public-v3 .hero-v3-grid,.public-v3 .photo-split,.public-v3 .director-card,.public-v3 .form-layout-v3,.public-v3 .contact-v3,.public-v3 .page-hero-grid{grid-template-columns:1fr}
  .public-v3 .hero-v3-grid{padding:62px 0}.public-v3 .hero-v3-media{min-height:520px}.public-v3 .hero-v3-photo{inset:0 0 0 0}.public-v3 .hero-v3-caption{left:18px}
  .public-v3 .photo-split.reverse .media-frame,.public-v3 .photo-split.reverse .photo-copy{order:initial}.public-v3 .page-hero-photo{justify-self:start;max-width:520px}.public-v3 .form-aside-v3{position:static}.public-v3 .ba-grid-v3{grid-template-columns:1fr}.public-v3 .feature-grid{grid-template-columns:1fr 1fr}.public-v3 .v3-footer .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .public-v3 p{font-size:16px}.public-v3 .section{padding:62px 0}.public-v3 .container,.public-v3 .container-wide{width:min(94%,var(--v3-max))}
  .public-v3 .v3-header .nav{min-height:76px}.public-v3 .v3-header .brand img{width:49px;height:49px}.public-v3 .v3-header .brand strong{font-size:17px}.public-v3 .v3-header .menu{top:76px;max-height:calc(100vh - 76px)}
  .public-v3 .hero-v3-grid{padding:48px 0}.public-v3 .hero-v3-copy h1{font-size:clamp(40px,12vw,54px)}.public-v3 .hero-v3-copy>p{font-size:17px}.public-v3 .hero-v3-media{min-height:430px}.public-v3 .hero-v3-photo{border-radius:22px}.public-v3 .hero-v3-caption{left:12px;right:12px;bottom:12px;max-width:none}
  .public-v3 .service-photo-grid,.public-v3 .feature-grid,.public-v3 .v3-footer .footer-grid{grid-template-columns:1fr}
  .public-v3 .page-hero{padding:58px 0}.public-v3 .page-hero h1{font-size:clamp(38px,11vw,50px)}.public-v3 .page-hero-photo{width:100%;max-width:none}.public-v3 .page-mark{justify-self:start;text-align:left;border-right:0;border-left:3px solid rgba(255,255,255,.25);padding-right:0;padding-left:18px}
  .public-v3 .director-card{padding:18px;gap:28px}.public-v3 .form-card{padding:21px}.public-v3 .form-aside-v3 h2{font-size:37px}
  .public-v3 .ba-compare{aspect-ratio:4/3}.public-v3 .mock-cards{grid-template-columns:1fr 1fr}.public-v3 .mock-cards div:last-child{display:none}
  .public-v3 .floating-actions{left:10px;right:10px;bottom:10px;display:grid;grid-template-columns:1fr 1fr;z-index:75}.public-v3 .floating-actions a{justify-content:center}.public-v3 .float-call{display:flex!important}
  .public-v3 .v3-footer{padding-bottom:74px}.public-v3 .v3-footer .footer-bottom{display:grid;gap:8px}
}

.public-v3 .check-list{display:grid;gap:10px;margin:22px 0}.public-v3 .check-list span{display:flex;gap:10px;align-items:flex-start;font-weight:650;color:#42575d}.public-v3 .check-list span:before{content:"✓";color:var(--v3-teal);font-weight:900}
.public-v3 .steps.three-v3{grid-template-columns:repeat(3,1fr)}
.public-v3 .page-hero-photo{position:relative}.public-v3 .image-caption-v3{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(255,255,255,.94);color:#20343a;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:800;box-shadow:0 8px 25px rgba(0,0,0,.14)}
.public-v3 .media-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.public-v3 .media-admin-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fafcfc}.public-v3 .admin-media-preview{width:100%;height:220px;object-fit:cover;border-radius:10px;margin:8px 0 14px}.public-v3 .admin-sep{border:0;border-top:1px solid var(--line);margin:28px 0}

.media-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.media-admin-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fafcfc}.admin-media-preview{width:100%;height:220px;object-fit:cover;border-radius:10px;margin:8px 0 14px}.admin-sep{border:0;border-top:1px solid var(--line);margin:28px 0}
@media(max-width:700px){.media-admin-grid{grid-template-columns:1fr}.public-v3 .steps.three-v3{grid-template-columns:1fr}}

@media (max-width:650px){
  .public-v3 main{padding-bottom:70px}
}

/* v3.1 — photographie du directeur réservée à À propos */
.public-v3 .hero-v3-photo-wide img{object-position:center center}
.public-v3 .media-frame-agent img{object-position:center 25%}

/* =========================================================
   v3.2 — Réalisations réelles + présentation enrichie
   ========================================================= */
.public-v3{--v32-max:1360px}
.public-v3 .container-wide{width:min(var(--v32-max),92%)}
.public-v3 .section-head{margin-bottom:34px}
.public-v3 .section-head p{max-width:760px}
.public-v3 .service-photo-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.public-v3 .service-photo-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(16,74,82,.13);border-color:#c5dadd}
.public-v3 .v3-header{backdrop-filter:saturate(120%) blur(8px);background:rgba(255,255,255,.97)}
.public-v3 .v3-header .nav-cta{font-weight:850}

/* Home featured realization */
.public-v3 .project-feature-section{background:linear-gradient(180deg,#fff 0%,#f7fafa 100%)}
.public-v3 .featured-project-v32{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:0;background:#fff;border:1px solid var(--v3-line);border-radius:28px;overflow:hidden;box-shadow:0 24px 70px rgba(13,61,68,.12)}
.public-v3 .featured-project-cover-v32{min-height:610px;background:#eef4f4;display:block;overflow:hidden}
.public-v3 .featured-project-cover-v32 img{width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform .5s ease}
.public-v3 .featured-project-cover-v32:hover img{transform:scale(1.018)}
.public-v3 .featured-project-copy-v32{padding:clamp(34px,5vw,70px);display:flex;flex-direction:column;justify-content:center}
.public-v3 .featured-project-copy-v32 h3{font-size:clamp(34px,3.5vw,52px);line-height:1.05;letter-spacing:-.035em;margin:14px 0 18px;color:var(--v3-ink)}
.public-v3 .featured-project-copy-v32>p{color:#5c7177;line-height:1.75;max-width:680px}
.public-v3 .badge-project-v32{align-self:flex-start;background:#e7f3f4;color:var(--v3-teal-deep);font-weight:900;border-radius:999px;padding:8px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.public-v3 .project-facts-v32{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 20px}
.public-v3 .project-facts-v32 span{background:#f2f7f7;border:1px solid var(--v3-line);border-radius:999px;padding:8px 11px;font-size:13px;font-weight:800;color:#40565c}
.public-v3 .featured-project-thumbs-v32{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 24px;max-width:620px}
.public-v3 .featured-project-thumbs-v32 img{width:100%;height:112px;object-fit:cover;border-radius:13px;border:1px solid var(--v3-line)}

/* Realisations listing */
.public-v3 .project-filter-v32{padding:8px;background:#f3f7f7;border:1px solid var(--v3-line);border-radius:16px;display:inline-flex;margin-bottom:34px}
.public-v3 .project-filter-v32 button{border:0;background:transparent;padding:11px 16px}
.public-v3 .project-filter-v32 button.active{box-shadow:0 7px 18px rgba(22,118,129,.18)}
.public-v3 .project-grid-v32{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.public-v3 .project-card-v32{display:flex;flex-direction:column;background:#fff;border:1px solid var(--v3-line);border-radius:22px;overflow:hidden;color:var(--v3-ink);box-shadow:0 9px 30px rgba(15,65,72,.07);transition:transform .24s ease,box-shadow .24s ease;min-width:0}
.public-v3 .project-card-v32:hover{transform:translateY(-5px);box-shadow:0 22px 54px rgba(15,65,72,.14)}
.public-v3 .project-card-v32.featured{grid-column:span 2;display:grid;grid-template-columns:1.08fr .92fr}
.public-v3 .project-card-media-v32{position:relative;overflow:hidden;min-height:280px;background:#edf3f4}
.public-v3 .project-card-v32.featured .project-card-media-v32{min-height:470px}
.public-v3 .project-card-media-v32 img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.public-v3 .project-card-v32:hover .project-card-media-v32 img{transform:scale(1.025)}
.public-v3 .project-feature-label-v32{position:absolute;top:16px;left:16px;background:#fff;color:var(--v3-teal-deep);border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.public-v3 .project-card-body-v32{padding:24px;display:flex;flex-direction:column;justify-content:center}
.public-v3 .project-card-v32.featured .project-card-body-v32{padding:clamp(30px,4vw,52px)}
.public-v3 .project-card-top-v32{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.public-v3 .project-card-top-v32 small{color:var(--v3-teal);font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.public-v3 .project-card-top-v32 span{font-size:11px;font-weight:850;background:#eef5f5;border-radius:999px;padding:6px 9px;color:#4e666b}
.public-v3 .project-card-body-v32 h2{font-size:26px!important;line-height:1.1;margin:5px 0 10px}
.public-v3 .project-card-v32.featured .project-card-body-v32 h2{font-size:clamp(34px,3.3vw,48px)!important}
.public-v3 .project-card-body-v32 p{font-size:15px;color:#61757a;line-height:1.65}
.public-v3 .project-location-v32{font-size:13px;color:#63767b;margin-top:4px}
.public-v3 .project-discover-v32{margin-top:auto;padding-top:18px;color:var(--v3-teal-deep);font-size:14px}

/* Project detail */
.public-v3 .project-hero-v32{padding-bottom:74px}
.public-v3 .project-intro-v32{padding-top:58px}
.public-v3 .project-showcase-v32{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);gap:64px;align-items:center}
.public-v3 .project-cover-v32{border-radius:26px;overflow:hidden;background:#eef3f4;box-shadow:var(--v3-shadow)}
.public-v3 .project-cover-v32 img{width:100%;height:auto;max-height:780px;object-fit:cover;display:block}
.public-v3 .project-summary-v32 h2{font-size:clamp(36px,4vw,56px);line-height:1.07;letter-spacing:-.04em;margin:12px 0 20px}
.public-v3 .project-summary-v32>p{font-size:18px;line-height:1.78;color:#5c7075}
.public-v3 .project-summary-facts-v32{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0}
.public-v3 .project-summary-facts-v32>div{border:1px solid var(--v3-line);background:#f7fafa;border-radius:14px;padding:14px 16px}
.public-v3 .project-summary-facts-v32 small{display:block;color:#708388;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.public-v3 .project-summary-facts-v32 strong{font-size:15px;color:#2c4248}
.public-v3 .work-grid-v32{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.public-v3 .work-item-v32{background:#fff;border:1px solid var(--v3-line);border-radius:17px;padding:20px;min-height:128px;box-shadow:0 8px 26px rgba(15,65,72,.055)}
.public-v3 .work-item-v32 span{display:block;font-size:11px;color:var(--v3-teal);font-weight:900;letter-spacing:.08em;margin-bottom:18px}
.public-v3 .work-item-v32 strong{font-size:16px;line-height:1.35;color:#2c4147}
.public-v3 .project-gallery-masonry-v32{columns:3 300px;column-gap:18px}
.public-v3 .project-gallery-masonry-v32 figure{break-inside:avoid;margin:0 0 18px;background:#fff;border:1px solid var(--v3-line);border-radius:17px;overflow:hidden;box-shadow:0 8px 28px rgba(15,65,72,.06)}
.public-v3 .gallery-lightbox-trigger-v32{display:block;width:100%;padding:0;border:0;background:#edf3f4;cursor:zoom-in;overflow:hidden}
.public-v3 .gallery-lightbox-trigger-v32 img{display:block;width:100%;height:auto;transition:transform .32s ease}
.public-v3 .gallery-lightbox-trigger-v32:hover img{transform:scale(1.018)}
.public-v3 .project-gallery-masonry-v32 figcaption{padding:11px 13px 13px;font-size:13px;color:#5d7378;font-weight:700}

/* Lightbox */
.v32-lightbox{position:fixed;inset:0;background:rgba(7,20,23,.92);display:none;align-items:center;justify-content:center;padding:28px;z-index:9999}
.v32-lightbox.open{display:flex}
.v32-lightbox-inner{position:relative;max-width:min(1180px,96vw);max-height:92vh;display:grid;place-items:center}
.v32-lightbox img{max-width:100%;max-height:88vh;width:auto;height:auto;border-radius:14px;box-shadow:0 30px 90px rgba(0,0,0,.4)}
.v32-lightbox-close{position:absolute;right:-12px;top:-12px;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:#20343a;font-size:24px;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.v32-lightbox-caption{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);max-width:80%;background:rgba(14,42,47,.82);color:#fff;border-radius:999px;padding:8px 13px;font-size:12px;text-align:center}

/* Presentation polish */
.public-v3 .page-hero{background:linear-gradient(135deg,#123d43,#176f78)}
.public-v3 .page-hero p{max-width:780px;color:#dcecee}
.public-v3 .site-footer{background:#102d33}
.public-v3 .partners-strip{background:#f6f9f9}
.public-v3 .floating-actions a{font-weight:850}

@media(max-width:1050px){
  .public-v3 .featured-project-v32,.public-v3 .project-showcase-v32{grid-template-columns:1fr 1fr;gap:36px}
  .public-v3 .featured-project-cover-v32{min-height:520px}
  .public-v3 .project-grid-v32{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-v3 .project-card-v32.featured{grid-column:1/-1}
  .public-v3 .work-grid-v32{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  .public-v3 .featured-project-v32,.public-v3 .project-showcase-v32,.public-v3 .project-card-v32.featured{grid-template-columns:1fr}
  .public-v3 .featured-project-cover-v32{min-height:0;aspect-ratio:4/3}
  .public-v3 .featured-project-cover-v32 img{object-position:center 28%}
  .public-v3 .project-card-v32.featured .project-card-media-v32{min-height:360px}
  .public-v3 .project-summary-facts-v32{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .public-v3 .project-filter-v32{display:flex;width:100%;overflow-x:auto;justify-content:flex-start;border-radius:13px;scrollbar-width:none}
  .public-v3 .project-filter-v32::-webkit-scrollbar{display:none}
  .public-v3 .project-filter-v32 button{flex:0 0 auto}
  .public-v3 .project-grid-v32{grid-template-columns:1fr;gap:18px}
  .public-v3 .project-card-v32.featured{display:flex}
  .public-v3 .project-card-v32.featured .project-card-media-v32{min-height:310px}
  .public-v3 .project-card-v32.featured .project-card-body-v32{padding:25px}
  .public-v3 .featured-project-copy-v32{padding:27px 22px}
  .public-v3 .featured-project-thumbs-v32 img{height:82px}
  .public-v3 .project-showcase-v32{gap:28px}
  .public-v3 .project-summary-facts-v32,.public-v3 .work-grid-v32{grid-template-columns:1fr}
  .public-v3 .project-gallery-masonry-v32{columns:1}
  .v32-lightbox{padding:12px}.v32-lightbox-close{right:2px;top:2px}.v32-lightbox-caption{bottom:8px;max-width:92%;border-radius:12px}
}
/* v3.2.1 — préserver le cadrage vertical de la façade de la réalisation mise en avant */
.public-v3 .featured-project-v32{grid-template-columns:minmax(330px,.74fr) minmax(0,1.26fr)}
.public-v3 .featured-project-cover-v32{background:linear-gradient(145deg,#e9f1f2,#f8fbfb)}
.public-v3 .featured-project-cover-v32 img{object-fit:contain;padding:18px}
.public-v3 .project-card-v32.featured .project-card-media-v32{background:linear-gradient(145deg,#e9f1f2,#f8fbfb)}
.public-v3 .project-card-v32.featured .project-card-media-v32 img{object-fit:contain;padding:14px}
@media(max-width:800px){.public-v3 .featured-project-v32{grid-template-columns:1fr}.public-v3 .featured-project-cover-v32 img{padding:10px}}

/* =========================================================
   PEXSA Habitat v4.0 — client-first commercial experience
   ========================================================= */
.public-v4{--v4-max:1360px;--v4-nav:1540px;--v4-accent:#17828d;--v4-accent-dark:#0e5961;--v4-ink:#172b31;--v4-soft:#f3f8f8;--v4-warm:#f7f4ef}
.public-v4 .container-wide{width:min(var(--v4-max),92%)}
.public-v4 .nav-container{width:min(var(--v4-nav),96%)}
.public-v4 .section{padding:84px 0}
.public-v4 .section-head{gap:32px}
.public-v4 .section-head>div{max-width:850px}
.public-v4 .section-head h2,.public-v4 .section h2{letter-spacing:-.035em;line-height:1.08}
.public-v4 p{line-height:1.68}

/* Header v4: grouped navigation */
.public-v4 .v4-header .nav{min-height:88px;gap:20px}
.public-v4 .v4-header .brand img{width:58px;height:58px}
.public-v4 .v4-header .brand strong{font-size:19px}
.public-v4 .v4-header .menu{gap:clamp(13px,1.1vw,20px)}
.public-v4 .v4-header .menu>a,.public-v4 .v4-header .dropdown-trigger{font-size:14px;padding:12px 0}
.public-v4 .v4-header .dropdown{position:relative}
.public-v4 .v4-header .dropdown-menu{left:0;transform:none;top:48px;width:410px;padding:9px;border-radius:16px;display:none}
.public-v4 .v4-header .dropdown.open .dropdown-menu{display:grid}
.public-v4 .v4-header .dropdown-compact .dropdown-menu{width:350px}
.public-v4 .v4-header .dropdown-menu a{padding:11px 13px}
.public-v4 .v4-header .dropdown-menu a strong{font-size:14px}
.public-v4 .v4-header .dropdown-menu a small{font-size:11.5px;color:#6c7d82}
.public-v4 .v4-header .dropdown-menu a:hover,.public-v4 .v4-header .dropdown-menu a:focus{background:#f1f7f7;outline:none}
.public-v4 .v4-header .nav-cta{padding:12px 18px!important}

/* Hero v4 */
.public-v4 .hero-v3-grid{min-height:590px;grid-template-columns:minmax(0,1fr) minmax(430px,.92fr);gap:72px;padding:58px 0}
.public-v4 .hero-v3-copy h1{font-size:clamp(50px,5.25vw,76px);max-width:720px;margin-bottom:20px}
.public-v4 .hero-v3-copy>p{font-size:20px;max-width:690px}
.public-v4 .hero-v3-media{min-height:470px}
.public-v4 .hero-v3-photo{inset:0 0 0 28px}
.public-v4 .hero-v3-caption{bottom:26px}
.public-v4 .hero-v3 .actions{align-items:center}
.public-v4 .hero-v4-note{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#e6f4f4;font-size:13px;font-weight:750}

/* Client choices */
.public-v4 .client-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
.public-v4 .client-choice{display:flex;flex-direction:column;gap:9px;padding:24px;border:1px solid var(--v3-line);border-radius:20px;background:#fff;box-shadow:0 8px 28px rgba(22,63,69,.06);color:inherit}
.public-v4 .client-choice:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(22,63,69,.10)}
.public-v4 .client-choice .choice-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e8f5f5;color:var(--v4-accent);font-size:20px;font-weight:900}
.public-v4 .client-choice strong{font-size:20px;color:var(--v4-ink)}
.public-v4 .client-choice span{color:#667b80;font-size:14px;line-height:1.55}

/* Diaspora module */
.public-v4 .diaspora-band{background:linear-gradient(125deg,#102f34 0%,#165861 58%,#1b7680 100%);color:#fff;position:relative;overflow:hidden}
.public-v4 .diaspora-band:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-150px;top:-230px}
.public-v4 .diaspora-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:62px;align-items:center;position:relative}
.public-v4 .diaspora-copy h2{font-size:clamp(38px,4.3vw,60px);max-width:770px;margin:10px 0 18px}
.public-v4 .diaspora-copy p{color:#deeeee;max-width:760px}
.public-v4 .diaspora-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0}
.public-v4 .diaspora-point{padding:16px 17px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);border-radius:14px}
.public-v4 .diaspora-point strong{display:block;margin-bottom:3px}
.public-v4 .diaspora-point span{font-size:13px;color:#d5e9ea}
.public-v4 .diaspora-media{border-radius:26px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.26);aspect-ratio:4/3;background:#dce7e8}
.public-v4 .diaspora-media img{width:100%;height:100%;object-fit:cover}
.public-v4 .privacy-note{display:flex;gap:10px;align-items:flex-start;padding:15px 17px;border-radius:14px;background:#eef7f7;color:#2a4a50;font-size:14px;line-height:1.55}
.public-v4 .privacy-note strong{color:var(--v4-accent-dark)}
.public-v4 .diaspora-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}
.public-v4 .diaspora-process article{border:1px solid var(--v3-line);border-radius:18px;padding:22px;background:#fff}
.public-v4 .diaspora-process b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e8f5f5;color:var(--v4-accent);margin-bottom:12px}
.public-v4 .diaspora-process h3{font-size:18px;margin:0 0 7px}
.public-v4 .diaspora-process p{font-size:14px;color:#657a7f;margin:0}

/* More direct CTAs */
.public-v4 .direct-cta{border-radius:26px;background:var(--v4-warm);padding:36px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;border:1px solid #ebe4da}
.public-v4 .direct-cta h2{margin:6px 0 8px}
.public-v4 .direct-cta p{margin:0;color:#617278}

/* Contact: commercial team, not director */
.public-v4 .contact-identity h2{font-size:clamp(32px,3vw,44px);margin:8px 0 6px}
.public-v4 .contact-identity .contact-kicker{font-weight:800;color:var(--v4-accent);margin-bottom:16px}
.public-v4 .contact-details{margin-top:18px}
.public-v4 .contact-details>a,.public-v4 .contact-details>div{background:#fff}

/* About question */
.public-v4 .about-question{font-size:clamp(38px,4.4vw,60px)!important;max-width:790px}

/* Footer */
.public-v4 .footer-cta{margin-top:10px;color:#d4f4f4!important;font-weight:800}
.public-v4 .v3-footer .footer-grid>div:last-child{min-width:0}

/* Improve service/direct copy cards */
.public-v4 .service-photo-card .body{padding:22px}
.public-v4 .service-photo-card h3{font-size:22px}
.public-v4 .project-feature-section{background:#fff}

/* Forms */
.public-v4 .form-card{border:1px solid #d7e3e5}
.public-v4 .form-card .btn{min-height:46px}
.public-v4 .form-help{font-size:13px;line-height:1.55}
.public-v4 .diaspora-form-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:52px;align-items:start}

/* Responsive */
@media(max-width:1180px){
  .public-v4 .v4-header .menu{gap:0}
  .public-v4 .v4-header .dropdown-menu,.public-v4 .v4-header .dropdown-compact .dropdown-menu{position:static!important;transform:none!important;width:100%!important;box-shadow:none!important;border:0!important;background:#f7fafb!important;margin:2px 0 7px;padding:6px!important}
  .public-v4 .v4-header .dropdown.open .dropdown-menu{display:grid!important}
  .public-v4 .v4-header .dropdown:hover .dropdown-menu{display:none}
  .public-v4 .v4-header .dropdown.open:hover .dropdown-menu{display:grid}
  .public-v4 .hero-v3-grid{grid-template-columns:1fr minmax(330px,.8fr);gap:38px}
  .public-v4 .diaspora-grid{grid-template-columns:1fr 420px;gap:38px}
}
@media(max-width:900px){
  .public-v4 .hero-v3-grid,.public-v4 .diaspora-grid,.public-v4 .diaspora-form-grid{grid-template-columns:1fr}
  .public-v4 .hero-v3-grid{padding:52px 0;gap:30px}
  .public-v4 .hero-v3-media{min-height:410px}
  .public-v4 .hero-v3-photo{inset:0 0 0 0}
  .public-v4 .client-choice-grid{grid-template-columns:1fr}
  .public-v4 .diaspora-media{max-width:620px;width:100%}
  .public-v4 .diaspora-process{grid-template-columns:repeat(2,1fr)}
  .public-v4 .direct-cta{grid-template-columns:1fr}
}
@media(max-width:650px){
  .public-v4 .section{padding:62px 0}
  .public-v4 .hero-v3-copy h1{font-size:44px}
  .public-v4 .hero-v3-copy>p{font-size:17px}
  .public-v4 .hero-v3-media{min-height:320px}
  .public-v4 .diaspora-points,.public-v4 .diaspora-process{grid-template-columns:1fr}
  .public-v4 .direct-cta{padding:26px}
  .public-v4 .v4-header .brand strong{font-size:17px}
}
