:root{--navy:#11283b;--dark:#0b202f;--ink:#102336;--slate:#536577;--soft:#f5f7f8;--line:#e0e7ec;--orange:#ef611f;--orange-dark:#ce431b;--paper:#fff;--teal:#7ed5cc;--heading:'Manrope','Segoe UI',sans-serif;--body:'DM Sans','Segoe UI',sans-serif;--shadow:0 26px 80px rgba(16,35,54,.10)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}svg{max-width:100%}.container{max-width:1320px;margin:auto;padding-inline:38px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--heading);line-height:1.17;letter-spacing:-.042em}h2{font-size:clamp(34px,4vw,56px);font-weight:800}h2 span{color:#6d7e8d}a,button{transition:all .2s ease}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #fca078;outline-offset:4px}.skip{position:absolute;left:-9999px;top:0;background:#fff;color:#122c3e;z-index:1000;padding:12px 20px}.skip:focus{left:10px;top:10px}.top-strip{background:#0c2030;color:#cedce5;font-size:12px;letter-spacing:.035em}.strip-inner{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:15px}.strip-line{display:flex;align-items:center;gap:9px}.status-dot,.tag-dot{display:inline-block;width:7px;height:7px;background:#8fd7be;border-radius:100%;box-shadow:0 0 0 4px rgba(143,215,190,.1)}.strip-links{display:flex;gap:17px;align-items:center}.strip-links a:hover{color:#fff}.strip-links span{opacity:.4}.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid rgba(221,229,233,.85)}.navigation{height:83px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;width:max-content;flex-shrink:0}.brand img{width:44px;height:44px}.brand-word{font-family:var(--heading);font-weight:800;font-size:25px;letter-spacing:-.065em;line-height:1;color:#182e43;display:block}.brand-word>span{color:var(--orange)}.brand-word small{display:block;letter-spacing:.12em;font-size:7.4px;color:#80909c;font-weight:800;margin-top:5px}.nav-content{display:flex;align-items:center;gap:35px}.nav-links{display:flex;gap:30px;align-items:center}.nav-links a{font-size:13px;font-weight:700;color:#435464}.nav-links a:hover,.nav-links a.active{color:var(--orange)}.nav-contact{display:inline-flex;align-items:center;gap:12px;border:1px solid #e9d4c9;padding:12px 16px;border-radius:5px;color:var(--orange-dark);font-size:13px;font-weight:800;white-space:nowrap}.nav-contact:hover{background:#fff2ed;border-color:var(--orange)}.icon{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.menu-toggle{display:none;align-items:center;flex-direction:column;gap:5px;background:none;border:none;padding:12px}.menu-toggle span{width:24px;height:2px;background:var(--ink)}
/* INTRO */
.hero{background:linear-gradient(107deg,#10273b 0%,#112c3f 61%,#16374a 100%);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 52% 100% at 85% 43%,rgba(80,134,153,.13),transparent 70%);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1fr .81fr;min-height:635px;align-items:center;column-gap:6%;padding-block:50px 60px}.hero-content{z-index:3;padding-block:16px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;display:flex;align-items:center;gap:10px;color:#d26948;margin-bottom:24px}.eyebrow.light{color:#ffa57f}.eyebrow-line{display:inline-block;background:var(--orange);width:24px;height:2px;flex-shrink:0}.hero h1{font-size:clamp(43px,5vw,76px);letter-spacing:-.066em;line-height:1.12;margin:0 0 26px;font-weight:800;max-width:760px}.hero h1 span{color:#f68c65}.hero-lead{font-size:17px;line-height:1.78;color:#b7cbd7;max-width:580px;margin-bottom:34px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:22px;border:0;border-radius:5px;padding:17px 24px;font-size:13px;line-height:1.15;font-weight:800;white-space:nowrap}.btn-primary{background:var(--orange);color:white;box-shadow:0 14px 30px rgba(227,90,42,.19)}.btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px)}.btn-ghost{border:1px solid rgba(220,241,246,.27);background:rgba(255,255,255,.025);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(220,241,246,.5)}.hero-trust{display:flex;gap:24px;align-items:center;margin-top:64px}.hero-metric strong{display:block;font-size:25px;line-height:1.15;font-family:var(--heading);letter-spacing:-.06em}.hero-metric span{font-size:11px;color:#aac0ce}.metric-divider{height:34px;width:1px;background:rgba(208,234,239,.19)}.hero-visual{position:relative;align-self:stretch;min-height:540px;display:flex;align-items:center}.hero-visual-frame{position:relative;width:100%;height:530px;transform:translateX(16px);box-shadow:0 38px 100px rgba(0,0,0,.33);overflow:hidden;background-image:url('assets/tower-illustration.svg');background-size:cover;background-position:center}.photo-background{position:absolute;inset:0;background: url('https://www.batimeo.com/wp-content/uploads/2022/10/cropped-IMG_0340-scaled-1.jpg') center center / cover no-repeat;opacity:.94}.image-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,31,44,.92) 0%,rgba(13,34,48,.12) 57%,rgba(13,34,48,.07) 100%),linear-gradient(90deg,rgba(13,42,56,.05),rgba(4,26,39,.2))}.visual-tag{position:absolute;right:23px;top:25px;background:rgba(255,255,255,.93);display:flex;align-items:center;gap:10px;padding:10px 13px;color:#22374c;font-size:10px;letter-spacing:.12em;font-weight:800}.visual-tag .tag-dot{background:#f36c3d;box-shadow:none}.visual-caption{position:absolute;bottom:35px;left:38px}.visual-caption span{display:block;color:#fda884;font-size:10px;letter-spacing:.15em;margin-bottom:15px;font-weight:800}.visual-caption strong{font-family:var(--heading);font-size:35px;line-height:1.13;letter-spacing:-.05em}.orbit{position:absolute;border:1px solid rgba(159,222,229,.19);border-radius:50%;pointer-events:none}.orbit-one{width:250px;height:250px;right:-135px;top:34px}.orbit-two{width:410px;height:410px;right:-220px;top:-45px}.photo-index{position:absolute;bottom:9px;right:-38px;padding:14px 18px;background:var(--orange);font-weight:800;font-family:var(--heading);font-size:25px;transform:rotate(-90deg);transform-origin:bottom left;letter-spacing:-.04em}.photo-index span{font:700 9px var(--body);letter-spacing:.1em}.hero-bottom{height:65px;position:relative;display:flex;align-items:center;gap:38px;border-top:1px solid rgba(215,240,242,.15)}.hero-bottom>span{font-size:11px;letter-spacing:.025em;color:#c8d9df;display:flex;align-items:center;gap:10px}.mini-square{width:6px;height:6px;border:1px solid #f69872;transform:rotate(45deg)}.hero-bottom>a{margin-left:auto;font-size:10px;letter-spacing:.16em;color:#91aebb;font-weight:800}.hero-bottom>a span{color:#fff;margin-left:8px}
/* PARTNERS */
.trusted{background:#f8fafb;border-bottom:1px solid #e6ecf0}.trusted-inner{min-height:116px;display:flex;align-items:center;gap:60px}.trusted-label{font-size:10px;line-height:1.65;color:#83909e;letter-spacing:.08em;white-space:nowrap;border-right:1px solid #dce5ea;padding-right:52px}.trusted-label strong{color:#344b60}.trusted-names{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;color:#8795a0}.trusted-names span{font-family:var(--heading);font-size:clamp(15px,1.8vw,22px);letter-spacing:-.06em;font-weight:800;white-space:nowrap}
/* SERVICES */
.section{padding-block:115px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:44px}.section-heading .eyebrow{margin-bottom:16px}.section-heading h2{margin:0}.section-heading>p{font-size:15px;line-height:1.9;color:var(--slate);max-width:365px;margin:0 0 6px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{min-height:355px;display:flex;flex-direction:column;position:relative;padding:29px 28px 27px;background:#fafbfc;border:1px solid #e6ecf0;border-radius:8px;overflow:hidden;transition:transform .25s,box-shadow .25s,background .25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 19px 52px rgba(11,35,58,.085);background:#fff}.service-feature{background:#fdf5f0;border-color:#f9e6da}.service-feature:hover{background:#fffaf7}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.service-number{font-size:10px;font-weight:800;letter-spacing:.15em;color:#8694a0}.service-arrow{border:1px solid #dce6eb;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#486276}.service-icon{width:60px;height:60px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#eaf1f4;margin-bottom:25px;color:#30536a}.service-icon svg{width:37px;height:37px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round}.service-feature .service-icon{background:#fce0ce;color:#de623a}.service-card h3{font-size:22px;font-weight:800;line-height:1.24;margin:0 0 12px}.service-card p{font-size:13px;line-height:1.8;color:#617281;margin-bottom:17px;max-width:340px}.service-link{border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;font-size:12px;font-weight:800;color:#db5d32;padding:0;margin-top:auto;width:max-content}.service-link span{font-size:18px;font-weight:500;transition:transform .2s}.service-link:hover span{transform:translate(3px,-3px)}.service-accent{position:absolute;bottom:-90px;right:-80px;width:190px;height:190px;border:1px solid rgba(245,126,80,.12);border-radius:50%;box-shadow:0 0 0 31px rgba(245,126,80,.03),0 0 0 62px rgba(245,126,80,.02);pointer-events:none}.services-bottom{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:30px;font-size:13px;color:#6a7b88}.services-bottom a{font-weight:800;color:#d65934}.services-bottom a span{margin-left:6px}
/* APPROACH */
.approach{display:grid;grid-template-columns:49% 51%;min-height:660px;background:var(--navy);color:#fff}.approach-visual{overflow:hidden;position:relative;background:linear-gradient(135deg,#264b57,#172c39);min-height:600px}.approach-photo{position:absolute;inset:0;background:url('assets/tower-illustration.svg') center 48% / cover no-repeat}.approach-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,28,40,.65),transparent 75%)}.approach-stamp{position:absolute;left:9%;bottom:9%;z-index:1;font-family:var(--heading);letter-spacing:.03em;font-size:18px;line-height:1.3;color:#e8f3f5}.approach-stamp strong{font-weight:800;font-size:40px;letter-spacing:-.055em}.approach-content{padding:88px clamp(35px,7vw,115px) 76px 9%;max-width:740px;align-self:center}.approach-content h2{color:#fff;margin-bottom:23px}.approach-content h2 em,.numbers-heading h2 em{font-style:normal;color:#f28a62}.approach-lead{color:#b4c8d4;line-height:1.85;font-size:15px;max-width:525px}.steps{margin:32px 0 23px}.step{display:flex;gap:22px;padding:19px 0;border-top:1px solid rgba(199,229,236,.14)}.step>span{font:800 13px var(--heading);color:#f3936d;line-height:1.6}.step h3{font:800 16px/1.3 var(--heading);letter-spacing:-.02em;margin:0 0 6px}.step p{font-size:13px;line-height:1.65;color:#b4c4cf;margin:0}.text-cta{display:inline-flex;gap:18px;align-items:center;color:#f8a07f;font-size:13px;font-weight:800;border-bottom:1px solid rgba(255,163,123,.5);padding-bottom:7px}.text-cta:hover{color:#fff}
/* PROJECTS */
.realisations{background:#f8fafb}.reals-heading>p{max-width:360px}.projects-grid{display:grid;grid-template-columns:1.35fr .85fr .85fr;gap:18px}.project{min-height:340px;position:relative;overflow:hidden;border-radius:6px;background:#1b3a4c}.project-photo{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s ease}.project:hover .project-photo{transform:scale(1.05)}.project-radio{background-image:url('assets/tower-illustration.svg');background-position:53% center}.project-height{background-image:url('assets/tower-illustration.svg');background-position:58% center}.project-camera{background-image:url('assets/tower-illustration.svg');background-position:52% center}.project-tint{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,23,37,.91),rgba(13,36,49,.02) 73%)}.project-info{position:absolute;bottom:28px;left:28px;right:22px;color:#fff}.project-info>span:first-child{display:block;font-size:10px;letter-spacing:.12em;font-weight:800;color:#ffa07a;margin-bottom:10px}.project-info h3{font-size:23px;letter-spacing:-.045em;margin:0;max-width:310px}.project-icon{position:absolute;right:0;bottom:0;font-size:23px;font-weight:500;border:1px solid rgba(255,255,255,.46);width:37px;height:37px;border-radius:50%;display:flex;align-items:center;justify-content:center}.project-large .project-info h3{font-size:28px}
/* NUMBERS */
.numbers{padding:95px 0;background:linear-gradient(120deg,#102739,#0a1e2d);color:#fff}.numbers-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.numbers-heading h2{font-size:clamp(31px,3.4vw,49px);margin-bottom:22px}.numbers-heading p{font-size:15px;color:#a9bfcc;line-height:1.9;max-width:520px;margin-bottom:25px}.numbers-heading a{font-weight:800;font-size:13px;color:#ff9d79}.numbers-heading a span{margin-left:13px}.numbers-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}.number-card{border:1px solid rgba(203,231,234,.14);background:rgba(255,255,255,.04);min-height:178px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:27px}.number-card strong{font:800 54px/1.1 var(--heading);letter-spacing:-.07em;color:#fff}.number-card span{font-size:12px;color:#b2c8d3;margin-top:12px}.number-symbol div{font-size:63px;color:var(--orange);line-height:1}
/* CONTACT */
.contact-section{padding:120px 0;background:#fff}.contact-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:11%;align-items:start}.contact-intro h2{font-size:clamp(35px,4.4vw,58px);margin-bottom:25px}.contact-intro>p{color:#687987;line-height:1.85;max-width:450px;margin-bottom:34px}.contact-methods{display:flex;flex-direction:column;gap:16px;margin-bottom:45px}.contact-methods a{display:flex;align-items:center;gap:16px}.contact-methods a:hover strong{color:var(--orange-dark)}.method-icon{display:grid;place-items:center;background:#f0f4f6;color:#2e5268;width:47px;height:47px;border-radius:5px}.method-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.contact-methods small,.address-box>span{display:block;color:#9ba9b3;letter-spacing:.13em;font-size:10px;font-weight:800}.contact-methods strong{display:block;font:800 17px var(--heading);letter-spacing:-.02em;margin-top:2px}.address-box{border-top:1px solid #e5ebef;padding-top:22px}.address-box strong{display:block;margin:8px 0;font-weight:700;font-size:14px;line-height:1.75}.address-box small{color:#7c8b96;font-size:12px}.contact-form{box-shadow:var(--shadow);border:1px solid #e5eaed;border-radius:9px;background:#fff;padding:41px 40px 36px}.form-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:33px}.form-heading h3{font-size:23px;letter-spacing:-.04em;margin:0}.form-heading span{font-size:11px;color:#77918e;font-weight:800;white-space:nowrap}.form-heading span:before{content:"";display:inline-block;width:6px;height:6px;background:#60baa9;border-radius:50%;margin-right:8px;vertical-align:middle}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:21px}.field label{display:block;font-size:12px;font-weight:800;color:#33495c;margin-bottom:8px}.field label span{color:#d55d3a}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #dce5ea;background:#f8fafb;border-radius:4px;padding:13px 14px;font:13px var(--body);color:#243d50;outline:none;transition:border-color .18s,background .18s}.field input::placeholder,.field textarea::placeholder{color:#a1abb3}.field input:focus,.field select:focus,.field textarea:focus{border-color:#e5916b;background:#fff;outline:2px solid rgba(243,108,61,.12)}.field textarea{resize:vertical;min-height:128px}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23728290' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-size:18px;background-position:right 12px center;background-repeat:no-repeat}.form-submit{width:100%;margin-top:2px;padding:17px 20px}.form-note{margin:14px 0 0;color:#8996a0;font-size:11px;line-height:1.65;text-align:center}
/* FOOTER */
.site-footer{background:#0b1b29;color:#d7e2e8}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:55px;padding:73px 0 61px}.brand-footer .brand-word{color:#fff}.brand-footer .brand-word small{color:#8ea4b4}.footer-brand>p{font-size:13px;line-height:1.9;max-width:330px;color:#8da3b0;margin-top:23px}.footer-column{display:flex;flex-direction:column;gap:11px}.footer-column strong{font-size:12px;color:#fff;margin-bottom:8px}.footer-column a,.footer-column span{font-size:12px;color:#9cafba}.footer-column a:hover{color:#f8a282}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid rgba(214,238,239,.12);padding:26px 0;color:#8298a7;font-size:11px}.footer-bottom>div{display:flex;gap:25px}.footer-bottom a:hover{color:#fff}.footer-footnote{padding:0 0 20px;margin:0;color:#667f8f;font-size:10px}
/* SUBPAGES */
.subpage-main{min-height:65vh;background:#f8fafb;padding:90px 0 110px}.subpage-card{max-width:920px;margin:auto;background:#fff;border:1px solid #e2eaf0;padding:45px;box-shadow:0 14px 50px rgba(16,35,54,.045)}.subpage-card h1{font-size:43px;margin:0 0 30px}.subpage-card h2{font-size:23px;margin:31px 0 10px}.subpage-card p,.subpage-card li{color:#5e7280;font-size:14px;line-height:1.85}.subpage-card a{color:#df5f37;text-decoration:underline}.legal-warning{padding:16px;background:#fff6ec;border:1px solid #f9d5aa;border-radius:4px;color:#955125!important}
/* RESPONSIVE */
@media(max-width:1150px){.container{padding-inline:28px}.nav-links{gap:16px}.nav-content{gap:20px}.nav-links a{font-size:12px}.hero-grid{grid-template-columns:1.05fr .8fr;column-gap:4%}.hero h1{font-size:clamp(42px,5.5vw,65px)}.hero-visual-frame{height:480px}.hero-visual{min-height:480px}.hero-trust{gap:16px}.trusted-inner{gap:24px}.trusted-label{padding-right:22px}.contact-grid{gap:6%}.approach-content{padding:65px 35px 55px 8%}.footer-main{gap:30px}}
@media(max-width:900px){.menu-toggle{display:flex}.navigation{height:75px}.nav-content{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;gap:17px;background:white;padding:20px 28px 26px;box-shadow:0 20px 30px rgba(3,20,34,.10)}.nav-content.is-open{display:flex}.nav-links{flex-direction:column;align-items:stretch;gap:0}.nav-links a{padding:11px 2px;font-size:14px;border-bottom:1px solid #edf1f3}.nav-contact{justify-content:center}.hero-grid{grid-template-columns:1fr 1fr;gap:18px;min-height:580px;padding-block:45px}.hero h1{font-size:clamp(36px,5.5vw,52px)}.hero-lead{font-size:14px}.hero-visual-frame{height:450px}.hero-visual{min-height:450px}.visual-caption strong{font-size:27px}.visual-caption{left:23px}.hero-actions{gap:12px}.btn{padding:15px 16px;gap:11px}.hero-trust{margin-top:45px}.hero-metric strong{font-size:21px}.trusted-inner{display:block;padding-block:24px}.trusted-label{padding:0;border:0;margin-bottom:16px}.trusted-names{gap:24px;flex-wrap:wrap;justify-content:flex-start}.services-grid{grid-template-columns:repeat(2,1fr)}.approach{grid-template-columns:1fr 1fr}.approach-content{padding:50px 26px}.approach h2{font-size:38px}.approach-visual{min-height:580px}.projects-grid{grid-template-columns:1fr 1fr}.project-large{grid-column:1/-1}.project{min-height:330px}.numbers-grid{gap:35px}.number-card{padding:20px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.contact-intro .eyebrow,.contact-intro h2,.contact-intro>p{grid-column:1}.contact-methods{grid-row:2/span 3;grid-column:2;align-self:start}.address-box{grid-column:1/-1;margin-top:18px}.contact-form{max-width:760px;width:100%;margin:auto}.footer-main{grid-template-columns:2fr 1fr 1fr}.footer-column:last-child{grid-column:2/4}.section{padding-block:85px}}
@media(max-width:620px){.container{padding-inline:20px}.top-strip{display:none}.navigation{height:70px}.brand-word{font-size:23px}.hero-grid{grid-template-columns:1fr;gap:30px;padding-top:61px;padding-bottom:45px}.hero h1{font-size:clamp(44px,10vw,59px);max-width:520px}.hero-lead{font-size:15px;line-height:1.7;margin-bottom:25px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.hero-trust{margin-top:33px;gap:12px;justify-content:space-between}.hero-metric strong{font-size:22px}.hero-metric span{font-size:10px}.hero-visual{min-height:330px}.hero-visual-frame{height:330px;transform:none}.visual-tag{right:13px;top:13px}.visual-caption{bottom:21px}.visual-caption strong{font-size:27px}.photo-index{right:-32px}.hero-bottom{height:auto;padding-block:20px;flex-wrap:wrap;gap:11px 22px}.hero-bottom>span{font-size:10px}.hero-bottom>a{display:none}.trusted-inner{padding-block:25px}.trusted-names{gap:14px 26px}.trusted-names span{font-size:18px}.section{padding-block:72px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:37px}.section-heading>p{margin-top:19px;font-size:14px}.services-grid{grid-template-columns:1fr;gap:13px}.service-card{min-height:0;padding:25px}.service-card h3{font-size:22px}.service-top{margin-bottom:15px}.service-icon{margin-bottom:18px}.service-card p{margin-bottom:22px}.services-bottom{flex-direction:column;text-align:center}.approach{grid-template-columns:1fr}.approach-visual{min-height:310px}.approach-photo{background-position:center 48%}.approach-content{padding:65px 20px}.approach h2{font-size:38px}.approach-stamp{left:20px;bottom:20px}.approach-stamp strong{font-size:31px}.projects-grid{grid-template-columns:1fr}.project-large{grid-column:auto}.project{min-height:320px}.project-info h3,.project-large .project-info h3{font-size:25px}.numbers{padding:76px 0}.numbers-grid{grid-template-columns:1fr;gap:35px}.numbers-heading h2{font-size:36px}.number-card{min-height:140px}.number-card strong{font-size:43px}.contact-section{padding:75px 0}.contact-intro{display:block}.contact-intro h2{font-size:41px}.contact-intro>p{font-size:14px}.contact-methods{margin:28px 0}.contact-form{padding:26px 19px}.form-row{grid-template-columns:1fr;gap:0}.form-heading{display:block;margin-bottom:26px}.form-heading span{display:block;margin-top:10px}.footer-main{grid-template-columns:1fr 1fr;gap:32px;padding:55px 0 40px}.footer-brand{grid-column:1/-1}.footer-column:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:start;gap:10px}.footer-bottom>div{gap:20px;flex-wrap:wrap}.subpage-main{padding:55px 0}.subpage-card{padding:26px 20px}.subpage-card h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Identité BATIMEO 2026 : image officielle fournie par l'entreprise */
.brand:has(.logo-officiel){min-width:0;flex-shrink:0;max-width:320px}
.brand .logo-officiel{display:block;width:270px;height:auto;max-width:100%;object-fit:contain}
.navigation{gap:18px}
.nav-content{gap:25px}
.nav-links{gap:22px}
.brand-footer{background:#fff;border-radius:8px;padding:10px 12px;max-width:238px;display:inline-flex}
.brand-footer .logo-officiel-footer{display:block;width:214px;height:auto;object-fit:contain}
.site-footer .footer-brand>p{max-width:300px;margin-top:18px}
.btn-primary{background:linear-gradient(100deg,#df2a1d,#fa831a);box-shadow:0 14px 30px rgba(227,90,42,.19)}
.btn-primary:hover{background:linear-gradient(100deg,#c5261b,#e76a12)}
@media (min-width:1100px){.brand .logo-officiel{width:280px}}
@media (max-width:1100px){.brand .logo-officiel{width:235px}.nav-content{gap:17px}.nav-links{gap:16px}}
@media (max-width:900px){.brand .logo-officiel{width:235px}}
@media (max-width:620px){.brand .logo-officiel{width:225px}.brand-footer{max-width:210px}.brand-footer .logo-officiel-footer{width:186px}}
@media (max-width:370px){.brand .logo-officiel{width:204px}}


/* GALERIE PHOTO BATIMEO */
.gallery-discovery{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:40px;padding-block:23px;border-top:1px solid #e4ebef}
.gallery-discovery div{display:flex;flex-direction:column;gap:4px}.gallery-discovery strong{font-family:var(--heading);font-size:20px;letter-spacing:-.04em}.gallery-discovery span{font-size:13px;color:#63798a}.gallery-discovery .btn{flex-shrink:0;color:#fff}
.gallery-hero{background:linear-gradient(105deg,#102a3e 4%,#133a4c 62%,#234e5c 100%);color:#fff;padding:59px 0 0;position:relative;overflow:hidden}
.gallery-hero::after{content:"";width:450px;height:450px;position:absolute;top:-190px;right:-130px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 75px rgba(255,255,255,.025),0 0 0 150px rgba(255,255,255,.017);pointer-events:none}
.gallery-breadcrumb{font-size:11px;color:#93b4c3;margin-bottom:52px}.gallery-breadcrumb a:hover{color:#fff}.gallery-breadcrumb span{margin:0 12px;opacity:.5}
.gallery-hero .eyebrow{margin-bottom:20px}.gallery-hero h1{font-size:clamp(48px,6vw,78px);letter-spacing:-.065em;line-height:1.08;max-width:870px;margin-bottom:24px}.gallery-hero h1 em{font-style:normal;color:#ff966d}
.gallery-hero p{font-size:16px;line-height:1.85;color:#b9ceda;max-width:750px;margin-bottom:67px}
.gallery-hero-line{border-top:1px solid rgba(245,255,255,.16);min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#c5dce5;font-size:10px;letter-spacing:.13em;font-weight:700}
.gallery-hero-line>span:first-child{display:flex;gap:11px;align-items:center}
.gallery-section{padding:90px 0 105px;background:#f7f9fa}.gallery-topline{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}
.gallery-kicker{font-size:11px;color:#d96a43;letter-spacing:.15em;font-weight:800}.gallery-topline h2{margin:10px 0 0;font-size:clamp(33px,4vw,50px)}.gallery-topline p{color:#6a7d8c;font-size:14px;max-width:340px;margin:0}
.gallery-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:23px}.gallery-filter{border:1px solid #dfe6e9;border-radius:4px;background:#fff;padding:10px 16px;font-size:12px;font-weight:700;color:#476071}.gallery-filter:hover{border-color:#ed9973;color:#bf4e2a}.gallery-filter.is-active{color:#fff;background:#173a4e;border-color:#173a4e}
.gallery-count{font-size:12px;color:#7a8b96;margin:0 0 20px;letter-spacing:.02em}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}.gallery-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:314px;padding:0;overflow:hidden;text-align:left;background:#fff;border:1px solid #e1e9ed;border-radius:6px;box-shadow:0 11px 22px rgba(10,41,58,.04);transition:transform .22s,box-shadow .22s,border-color .22s}.gallery-card:hover{transform:translateY(-4px);border-color:#eeaa87;box-shadow:0 20px 40px rgba(10,41,58,.11)}.gallery-card[hidden]{display:none!important}
.gallery-media{display:block;position:relative;aspect-ratio:4/3;width:100%;background:linear-gradient(145deg,#24495f,#315a6c);overflow:hidden}.gallery-media img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;transition:transform .45s ease}.gallery-card:hover .gallery-media img{transform:scale(1.065)}.gallery-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#cbdde5;font:800 13px var(--heading);letter-spacing:.14em;background:linear-gradient(145deg,#173b4e,#274d5b)}.gallery-fallback::before{content:"▧";color:#ff8656;display:block;font-size:35px;line-height:1.3;margin-bottom:8px}.gallery-fallback small{font:500 10px var(--body);letter-spacing:0;margin-top:6px}
.gallery-card-copy{display:flex;flex-direction:column;gap:7px;padding:21px 22px 23px;min-height:104px}.gallery-card-cat{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#e06b42;font-weight:800}.gallery-card-copy strong{font-family:var(--heading);font-size:16px;line-height:1.35;letter-spacing:-.035em;color:#173347;padding-right:17px}
.gallery-zoom{position:absolute;right:20px;bottom:23px;color:#d76a43;font-size:21px;line-height:1}
.gallery-origin{margin:30px 0 0;font-size:12px;color:#8698a4}.gallery-cta{background:#142f41;padding:65px 0;color:#fff}.gallery-cta-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.gallery-cta-row>div>span{font-size:11px;letter-spacing:.14em;font-weight:800;color:#ff976d}.gallery-cta h2{font-size:clamp(26px,3.4vw,39px);margin:12px 0 11px}.gallery-cta p{font-size:14px;color:#b5cbd6;margin:0}.gallery-cta .btn{flex-shrink:0}
.gallery-lightbox{position:fixed;inset:0;z-index:300;background:rgba(6,18,28,.97);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:54px 24px 28px}.gallery-lightbox[hidden]{display:none!important}.lightbox-center{display:flex;flex-direction:column;justify-content:center;align-items:center;max-width:min(1120px,calc(100vw - 170px));height:100%;width:100%}.lightbox-image-wrap{display:flex;align-items:center;justify-content:center;position:relative;max-height:calc(100vh - 170px);max-width:100%;height:100%;min-height:250px}.lightbox-image-wrap img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 18px 70px rgba(0,0,0,.36)}.lightbox-error{max-width:350px;text-align:center;color:#fff}.lightbox-error[hidden]{display:none}.lightbox-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:24px 0 0;font-size:13px}.lightbox-caption strong{font-family:var(--heading);font-size:16px}.lightbox-caption span{color:#9ab1c3;font-weight:700;font-size:12px}.lightbox-close,.lightbox-arrow{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;border-radius:50%;width:43px;height:43px;flex-shrink:0;font-size:17px}.lightbox-close:hover,.lightbox-arrow:hover{background:#db5831;border-color:#db5831}.lightbox-close{position:absolute;right:30px;top:25px;z-index:1}.gallery-lightbox-open{overflow:hidden}
@media(max-width:1200px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-section{padding-block:65px 80px}.gallery-hero p{margin-bottom:45px}.gallery-discovery{align-items:start;flex-direction:column}}
@media(max-width:620px){.gallery-grid{grid-template-columns:1fr;gap:14px}.gallery-topline{display:block}.gallery-topline p{max-width:none;margin-top:15px}.gallery-filters{gap:7px}.gallery-filter{padding:9px 12px;font-size:11px}.gallery-hero{padding-top:32px}.gallery-breadcrumb{margin-bottom:43px}.gallery-hero h1{font-size:45px}.gallery-hero p{font-size:14px}.gallery-hero-line{font-size:9px}.gallery-hero-line span:last-child{display:none}.gallery-card{min-height:0}.gallery-media{aspect-ratio:16/10}.gallery-cta-row{flex-direction:column;align-items:start}.gallery-cta .btn{width:100%}.gallery-discovery{margin-top:27px}.gallery-discovery .btn{white-space:normal;width:100%}.gallery-lightbox{padding:60px 12px 20px;gap:5px}.lightbox-center{max-width:calc(100vw - 112px)}.lightbox-arrow{width:32px;height:38px;font-size:15px}.lightbox-close{top:13px;right:14px}.lightbox-image-wrap{max-height:calc(100vh - 160px)}.lightbox-caption{align-items:start;flex-direction:column;gap:5px;padding-top:16px}.lightbox-caption strong{font-size:13px}}

/* SEO 2026: service pages + indexable internal navigation */
.service-title-link{color:inherit;text-decoration:none}.service-title-link:hover{color:var(--orange-dark)}
.service-more{display:inline-block;margin-top:12px;font-size:12px;font-weight:800;color:#bb4f2b;border-bottom:1px solid #f1bfad;padding-bottom:5px}.service-more:hover{color:var(--navy)}
.seo-service-hero{padding:62px 0 86px;background:linear-gradient(112deg,#10273b,#14364a);color:#fff}.seo-breadcrumb{display:flex;gap:13px;align-items:center;color:#aac0cc;font-size:12px;margin-bottom:60px}.seo-breadcrumb a{color:#d7e5ed;text-decoration:underline;text-underline-offset:3px}.seo-service-hero .eyebrow{margin-bottom:20px}.seo-service-hero h1{font-size:clamp(36px,5vw,64px);line-height:1.12;letter-spacing:-.055em;margin:0 0 26px;max-width:990px}.seo-service-hero p{max-width:890px;line-height:1.9;font-size:17px;color:#c0d2dc}.seo-service-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:31px}.seo-service-main{background:#fff}.seo-service-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:8%;align-items:start}.seo-main-copy>h2{font-size:clamp(26px,3vw,39px);line-height:1.23;letter-spacing:-.04em;margin:26px 0 20px}.seo-main-copy>h2:first-of-type{margin-top:0}.seo-main-copy>p{font-size:15px;line-height:1.9;color:#627384;margin:0 0 28px}.seo-features{margin:24px 0 46px}.seo-feature{display:flex;gap:18px;align-items:flex-start;padding:23px 0;border-bottom:1px solid #e0e8eb}.seo-feature:first-child{border-top:1px solid #e0e8eb}.seo-bullet{background:#fff1e9;color:#d35f31;padding:7px 10px;border-radius:3px;font-weight:800}.seo-feature h3{font-size:18px;line-height:1.3;letter-spacing:-.03em;margin:0 0 9px}.seo-feature p{margin:0;color:#657789;font-size:14px;line-height:1.75}.seo-service-side{background:#f1f5f7;border:1px solid #dfebed;padding:35px 27px;position:sticky;top:116px;border-radius:5px}.seo-aside-eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800;color:#b45e42}.seo-service-side h2{font-size:28px;line-height:1.25;margin:18px 0}.seo-service-side p{color:#596c7b;font-size:14px;line-height:1.75;margin-bottom:20px}.seo-service-side .btn{width:100%;white-space:normal;text-align:center}.seo-contact-link{display:block;margin-top:17px;font-size:15px;font-weight:800}.seo-contact-link:hover{color:var(--orange)}.seo-address{display:block;border-top:1px solid #d9e4e8;padding-top:17px;margin-top:22px;font-size:12px;line-height:1.75;color:#657684}.seo-related{background:#f4f7f8;padding:70px 0 78px}.seo-related h2{font-size:clamp(25px,2.8vw,37px);margin:0 0 25px}.seo-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.seo-related-links a{display:flex;justify-content:space-between;gap:15px;padding:22px 20px;background:#fff;border:1px solid #e4ebed;border-radius:5px;font-weight:700;font-size:13px}.seo-related-links a:hover{border-color:#e58965;color:#d4643f}.seo-all-services{display:inline-block;margin-top:26px;font-size:13px;font-weight:800;color:#c3613e}.seo-crosslinks{display:flex;flex-wrap:wrap;gap:13px;align-items:center;padding:32px 0 16px}.seo-crosslinks strong{color:#263d4d;font-size:14px}.seo-crosslinks a{font-size:13px;border-bottom:1px solid #d5a18e;color:#a85031}.seo-crosslinks a:hover{color:#172f43}
@media(max-width:850px){.seo-service-layout{grid-template-columns:1fr;gap:35px}.seo-service-side{position:static}.seo-related-links{grid-template-columns:1fr 1fr}.seo-service-hero{padding:42px 0 63px}.seo-breadcrumb{margin-bottom:42px}}
@media(max-width:550px){.seo-service-hero h1{font-size:36px}.seo-service-hero p{font-size:15px}.seo-related-links{grid-template-columns:1fr}.seo-service-buttons .btn{width:100%}}

/* BATIMEO 2026 – correctifs formulaire, galerie et accessibilité */
.bm-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.bm-consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0 18px;color:#516576;font-size:13px;line-height:1.5}
.bm-consent input{margin-top:3px;accent-color:#c75d37}
.bm-consent a{color:#14577b;text-decoration:underline}
.contact-form button[disabled]{opacity:.55;cursor:wait}
.form-note.is-error{color:#a83232;font-weight:650}
.form-note.is-success{color:#13643e;font-weight:700}
.gallery-card[hidden]{display:none!important}
.gallery-card img.is-missing{display:none}
.gallery-origin{line-height:1.65}
