:root{--navy:#102d42;--deep:#081e2d;--ink:#142f41;--muted:#52636e;--champagne:#c99a3d;--paper:#fbfaf6;--stone:#eef2f2;--line:#d8e0df}
html{scroll-padding-top:100px}body{background:#fbfaf6;color:#142f41;font-size:16px;line-height:1.65}header{background:#fbfaf6f7;border-bottom:1px solid #d8e0df;box-shadow:0 8px 30px #081e2d0a}header .mark{width:64px;height:64px}header .brand-name{font-size:1rem;color:#102d42}.btn{border-radius:4px;font-weight:700;min-height:46px}.btn-primary,.navlinks .btn{background:#c99a3d;color:#0b2638;border-color:#c99a3d;box-shadow:0 8px 20px #8b641b1a}.btn-primary:hover,.navlinks .btn:hover{background:#ddb458}.eyebrow{color:#8b621d;letter-spacing:.12em;font-weight:700}.section-head h2,section h2{letter-spacing:-.035em;font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.16}.section-head{align-items:end;gap:40px}.section-head>p{color:#52636e;max-width:480px}.wrap{max-width:1240px}section{scroll-margin-top:90px}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding:72px max(28px,calc((100vw - 1240px)/2));background:radial-gradient(circle at 82% 20%,#dfe8e7 0,transparent 35%),linear-gradient(125deg,#fbfaf6 0%,#eef3f1 100%);border-bottom:1px solid #dce3df}.hero-content.wrap{display:block;width:100%;margin:0;min-width:0}.hero-content>.eyebrow{margin:0 0 24px;color:#84601e}.hero h1{font-size:clamp(2.9rem,4.7vw,4.7rem);line-height:1.08;letter-spacing:-.045em;color:#102d42;margin:0 0 26px}.hero h1 em{color:#a87622}.hero-content>p:not(.eyebrow){font-size:1.05rem;line-height:1.7;max-width:520px;margin:0 0 26px;color:#50636e}.hero-content>.actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.hero-content>p.hero-footer{font-size:.875rem;color:#536672;margin:24px 0 0}.hero-visual{margin:0;max-width:600px;justify-self:end;width:100%;padding:0;border:1px solid #d5dedb;border-bottom:6px solid #c99a3d;border-radius:8px;overflow:hidden;box-shadow:0 24px 60px #102d4220}.hero-visual>img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:cover;object-position:center;border-radius:0;box-shadow:none}.hero-visual:before{display:none}
.launch-section{background:#f9faf8;padding:40px 0 54px}.launch-section>.wrap{max-width:1240px}.promotion-teaser{border-radius:8px;min-height:385px;margin:0;border-left:6px solid #d5a33d}.promotion-copy{padding:38px 44px;max-width:770px}.promotion-copy h3{font-size:clamp(2rem,3.4vw,3rem);line-height:1.15}.promotion-copy .eyebrow{color:#edc76b}.promotion-copy>p:not(.eyebrow){max-width:620px}.promotion-scene img{filter:blur(8px);opacity:.7;object-fit:cover}.promotion-teaser:after{background:linear-gradient(90deg,#102e40f0,#102e4090 64%,#102e4030)}
.trust-band{background:#153e56;color:#fff;border:0}.stat strong{color:#fff}.stat span{color:#d7e2e5}.stat+.stat{border-color:#ffffff26}.services{background:#eef2f1;border:0}.cards{gap:20px}.card{border:1px solid #d7e0df;border-radius:6px;box-shadow:0 3px 0 #153e5609}.card:before{background:#d5a33d;width:42px;height:4px}.professional-section{background:#edf1f3}.method{background:#e9efef}.people-section{background:#fff}.audience-section{background:#f3eee4}.handover-section{background:#edf2f2}.investor-panel{background:#153e56;border-radius:6px}.audience-panels>article{border-radius:6px;border:1px solid #e0dbce}.housing-section{background:#fff}.inspiration-section{background:#153e56;color:#fff}.inspiration-section>.wrap>h2{color:#fff}.inspiration-section .eyebrow{color:#e7bd67}.inspiration-intro,.trade-intro{color:#d3e0e4}.category>h3{color:#fff}.trade-card{background:#fff;border:1px solid #d4dedf;border-radius:6px;overflow:hidden}.trade-copy h4{color:#153e56}.trade-copy p{color:#526571}.trade-card .gallery{padding:0 14px 14px;gap:12px}.trade-card .gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}.structural-photo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:none}.structural-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.structural-photo figure{min-width:0}
.habitat-carousels{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.portfolio-carousel{border:1px solid #d6dfe0;border-radius:6px;background:#fff;box-shadow:0 6px 20px #153e5607}.portfolio-copy,.habitat-carousels .portfolio-copy{min-height:156px;padding:24px 26px;border-top:4px solid #d5a33d}.portfolio-copy h3{color:#153e56;font-size:1.5rem}.carousel-window{background:#e4eaeb;border-block:1px solid #d9e0df}.portfolio-carousel .carousel-slide img,.habitat-carousels .carousel-slide img,.unified-gallery .carousel-slide img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 40%}.carousel-slide a{aspect-ratio:4/3;overflow:hidden}.carousel-controls{gap:12px;padding:15px 18px}.carousel-controls button{border-radius:5px;background:#eff3f3;color:#153e56;border-color:#d4dedf;min-height:44px;min-width:44px}.carousel-controls button:hover{background:#d5a33d}.carousel-pause{font-size:.9rem}.projects-section{background:#f3eee4}.projects-section>.wrap{display:grid;grid-template-columns:.85fr 1fr;column-gap:60px;align-items:start}.projects-section .section-head{display:block;grid-column:1;grid-row:1;margin:28px 0 12px}.projects-section .section-head>p{margin-top:24px}.unified-gallery.portfolio-carousel{grid-column:2;grid-row:1/4;width:100%;max-width:none;border-radius:6px}.projects-section .visual-note{grid-column:1;grid-row:2;margin:0;font-size:.875rem}.projects-section .portfolio-end{grid-column:1;grid-row:3;margin-top:24px}.unified-gallery .carousel-controls{padding:15px 18px;gap:12px}.unified-gallery .carousel-pause{margin-left:auto}.offer-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.offer-grid article{min-width:0;border-radius:6px;overflow:hidden}
.contact{background:linear-gradient(135deg,#102d42,#081e2d)}.contact-panel{grid-template-columns:.85fr 1fr;gap:60px}.contact h2{color:#fff}.contact-country>span{font-size:.9rem;color:#efc96f}.contact-country a{overflow-wrap:anywhere}.contact-country address{color:#fff;font-style:normal}.contact-links .btn{background:#c99a3d;color:#0b2638}.contact-number{font-size:clamp(1.2rem,2vw,1.6rem)}footer{background:#061722;color:#e6edef}.footer-address{color:#dce7e9}.footer-phones{gap:9px}.footer-phones a{overflow-wrap:anywhere}.image-viewer{background:#061722}
@media(max-width:1050px){.hero{gap:28px;padding-inline:26px}.hero h1{font-size:3.7rem}.projects-section>.wrap{column-gap:30px}.contact-panel{gap:32px}.navlinks{gap:16px}.portfolio-copy,.habitat-carousels .portfolio-copy{min-height:175px}}
@media(max-width:850px){.hero{grid-template-columns:1fr;gap:30px;padding:40px 22px}.hero h1{font-size:clamp(2.8rem,7vw,4rem)}.hero-visual{justify-self:start;max-width:600px}.hero-content>p:not(.eyebrow){max-width:620px}.projects-section>.wrap{grid-template-columns:1fr;gap:22px}.projects-section .section-head,.projects-section .visual-note,.projects-section .portfolio-end,.unified-gallery.portfolio-carousel{grid-column:1;grid-row:auto;margin:0}.unified-gallery.portfolio-carousel{max-width:620px;width:100%}.contact-panel{grid-template-columns:1fr}.promotion-copy{padding:32px}.promotion-teaser{min-height:360px}.habitat-carousels{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-copy,.habitat-carousels .portfolio-copy{padding:20px;min-height:195px}.portfolio-copy h3{font-size:1.3rem}.habitat-carousels .carousel-controls{flex-wrap:wrap;gap:8px}.habitat-carousels .carousel-pause{margin-left:auto}}
@media(max-width:600px){header .mark{width:52px;height:52px}header .brand-name{font-size:.875rem;max-width:170px;line-height:1.3}.wrap{width:calc(100% - 36px)}section{padding-top:52px;padding-bottom:52px}.hero{padding:30px 18px 34px;gap:26px}.hero h1{font-size:clamp(2.6rem,10vw,3.4rem)}.hero-content>.eyebrow{font-size:.8rem;margin-bottom:18px}.hero-content>p:not(.eyebrow){font-size:1rem}.hero-content>.actions{gap:10px}.hero .actions .btn{padding:12px 16px;font-size:.9rem}.hero-visual>img{height:auto;aspect-ratio:3/2;max-height:none}.hero-content>p.hero-footer{font-size:.875rem}.launch-section{padding:24px 0 38px}.promotion-teaser{min-height:400px;border-left-width:4px}.promotion-copy{padding:25px}.promotion-copy h3{font-size:2.15rem}.promotion-copy>p:not(.eyebrow){font-size:1rem}.coming-soon{font-size:.8rem}.section-head{display:block;margin-bottom:28px}.section-head>p{margin-top:20px}.habitat-carousels,.structural-photo{grid-template-columns:1fr;gap:24px}.portfolio-copy,.habitat-carousels .portfolio-copy{min-height:0;padding:22px}.portfolio-copy h3{font-size:1.45rem}.portfolio-carousel .carousel-slide img,.habitat-carousels .carousel-slide img,.unified-gallery .carousel-slide img{height:auto;aspect-ratio:4/3;object-fit:cover}.carousel-controls,.unified-gallery .carousel-controls,.habitat-carousels .carousel-controls{padding:13px 14px;gap:10px;flex-wrap:nowrap}.carousel-count{min-width:42px}.carousel-controls .carousel-pause{margin-left:auto;padding:8px 10px}.contact-links{grid-template-columns:1fr;gap:26px}.contact-country,.contact-country:nth-child(3),.contact-address,.contact-mail,.social-links{grid-column:1}.contact-number{font-size:1.4rem}.contact-email{font-size:1rem;overflow-wrap:anywhere}.contact-address address{font-size:1rem}.footer-address{padding:22px 18px;font-size:.95rem}.footer-row{gap:24px}.trust-band .stat{padding:22px 0}.category{margin-top:38px}}
@media(max-width:360px){header .brand-name{max-width:142px;font-size:.8rem}.hero h1{font-size:2.6rem}.carousel-controls,.unified-gallery .carousel-controls,.habitat-carousels .carousel-controls{gap:7px;padding:12px 10px}.carousel-controls .carousel-pause{padding:8px;font-size:.8rem}}

/* Finitions institutionnelles : solidité, lisibilité et cohérence de marque */
:root{--navy:#153e56;--deep:#081e2d;--ink:#142f41;--champagne:#c99a3d;--paper:#fbfaf6;--line:#d4dddc}
body{background:#f7f8f6;color:var(--ink)}
header{border-bottom:3px solid var(--champagne);box-shadow:0 10px 32px #081e2d26}
header .wrap{min-height:82px}
.navlinks>a:not(.btn){font-weight:600;letter-spacing:.01em}
.btn-primary,.navlinks .btn{background:var(--champagne);border-color:var(--champagne);color:#102d42;box-shadow:0 8px 22px #081e2d24}
.btn-primary:hover,.navlinks .btn:hover{background:#ddb458;border-color:#ddb458;transform:translateY(-1px)}
.hero{position:relative;background:linear-gradient(125deg,#fbfaf6 0 56%,#e6eceb 100%)}
.hero:after{content:"";position:absolute;left:0;bottom:0;width:34%;height:5px;background:var(--champagne)}
.hero h1{max-width:680px;text-wrap:balance}
.hero-visual{border:1px solid #c9d4d2;border-bottom:7px solid var(--champagne);box-shadow:0 28px 70px #081e2d2b}
.trust-band{background:linear-gradient(110deg,#153e56,#0d3045);border-bottom:5px solid var(--champagne)}
.trust-band .stat{padding-block:30px}
.trust-band .stat strong{font-size:1.08rem;letter-spacing:.01em}
.section-head h2,section h2{color:var(--navy);text-wrap:balance}
.section-head h2:after{content:"";display:block;width:54px;height:4px;margin-top:18px;background:var(--champagne)}
.inspiration-section .section-head h2:after,.contact h2:after{background:#e8c56c}
.cards{align-items:stretch}
.card{position:relative;border-color:#d0dbd9;border-radius:5px;box-shadow:0 10px 28px #102d420d;transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 38px #102d4218}
.card h3{color:var(--navy)}
.portfolio-carousel{border-color:#cbd7d6;border-radius:7px;box-shadow:0 14px 36px #102d4214}
.portfolio-copy,.habitat-carousels .portfolio-copy{border-top-color:var(--champagne);background:#fff}
.carousel-controls{background:#f7f9f8;border-top:1px solid #d5dfde}
.carousel-controls button{font-weight:700;border-color:#cbd7d6;background:#fff}
.carousel-count{font-weight:700;color:var(--navy)}
.promotion-teaser,.investor-panel{box-shadow:0 18px 46px #081e2d20}
.audience-panels>article,.offer-grid article{border-color:#d4ddda;box-shadow:0 10px 28px #102d420d}
.contact{border-top:5px solid var(--champagne)}
.contact-panel{border:1px solid #ffffff20;box-shadow:0 24px 60px #0000001f}
footer{border-top:1px solid #ffffff1f}
@media(max-width:600px){header .wrap{min-height:70px}.hero:after{width:56%}.trust-band .stat{padding-block:22px}.card:hover{transform:none}.section-head h2:after{margin-top:14px}}

.contact>.wrap{display:grid;grid-template-columns:.85fr 1fr;column-gap:60px;align-items:start}
.contact-panel{display:contents}
.contact-copy{grid-column:1;grid-row:1}
.contact-links{grid-column:2;grid-row:1/3}
.project-form-card{grid-column:1;grid-row:2;margin-top:30px;padding:28px;display:block;background:#f8faf9;color:var(--ink);border-radius:8px;border-top:6px solid var(--champagne);box-shadow:0 24px 60px #00000026}
.project-form-intro h3{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;color:var(--navy);margin:10px 0 18px}
.project-form-intro>p:not(.eyebrow){color:#53656f;max-width:390px}
.form-grid{display:grid;grid-template-columns:1fr;gap:16px}
.form-grid label{display:grid;gap:7px;font-weight:700;color:var(--navy);font-size:.92rem}
.form-grid label span{color:#9a6818}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid #b9c8c7;border-radius:4px;background:#fff;color:var(--ink);font:inherit;box-shadow:inset 0 1px 2px #102d4208}
.form-grid textarea{min-height:140px;resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid #c99a3d55;border-color:#9b7227}
.form-message{grid-column:auto}
.form-consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0;color:#3f535e;font-size:.9rem;line-height:1.5}
.form-consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--navy);flex:0 0 auto}
.form-honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-submit{border:0;padding-inline:22px;cursor:pointer}
.form-submit:disabled{cursor:wait;opacity:.7;transform:none}
.form-note,.form-status{margin-top:12px;font-size:.86rem;color:#5c6d75}
.form-status{font-weight:700;color:var(--navy)}
@media(max-width:850px){.contact>.wrap{grid-template-columns:1fr;gap:30px}.contact-copy{grid-column:1;grid-row:1}.project-form-card{grid-column:1;grid-row:2;margin-top:0}.contact-links{grid-column:1;grid-row:3}.project-form-intro>p:not(.eyebrow){max-width:620px}}
@media(max-width:600px){.project-form-card{padding:24px 20px}.form-submit{width:100%}}

/* Barre de navigation — RAL 5011 (approximation écran) */
header{background:#1a2b3c;border-bottom-color:#31475a;box-shadow:0 10px 30px #0817242e}
header .brand-name,header .navlinks>a:not(.btn){color:#fff}
header .navlinks>a:not(.btn):hover{color:#e8c56c}
header .mobile-nav summary{color:#fff;border-color:#ffffff66;background:#ffffff0d}
header .mobile-links{background:#1a2b3c;border-color:#ffffff40}
header .mobile-links a{color:#fff;border-bottom-color:#ffffff20}
header .mobile-links a:hover{background:#ffffff12;color:#e8c56c}
