:root{--surface-dark:#231f20;--surface-dark-secondary:#303034;--ink:#231f20;--muted:#606873;--cream:#f7f9fb;--paper:#ffffff;--line:#d9e0e6;--brand-blue:#007dc3;--accent-light:#75ccff;--white:#fff;--font:Arial,Helvetica,sans-serif;--display:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--font);line-height:1.55}
a{color:inherit;text-decoration:none}
button,a{ -webkit-tap-highlight-color:transparent }
a:focus-visible{outline:3px solid var(--brand-blue);outline-offset:4px;border-radius:3px}
.skip-link{position:absolute;top:-60px;left:12px;z-index:99;background:#fff;padding:10px 14px}.skip-link:focus{top:12px}
.shell{width:min(100% - 48px,1240px);margin-inline:auto}
.prototype-note{background:#e5f3fc;color:#185572;text-align:center;padding:7px 15px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.prototype-note span{padding:0 8px}
.site-header{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.header-inner{min-height:91px;display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.brand-logo{display:block;width:180px;height:auto;max-width:100%}
nav{display:flex;gap:30px;margin-left:auto;align-items:center}nav a{font-size:13px;color:#424b54;transition:color .2s}nav a:hover{color:#0077b8}
.header-call{border:1px solid #0077b8;background:#0077b8;color:#fff;padding:12px 16px;font-size:12px;font-weight:700;white-space:nowrap;transition:background .2s}.header-call:hover{background:#006ba6}.header-call span{color:#fff;margin-right:8px;font-size:17px}
.hero{background:var(--surface-dark);color:#fff;overflow:hidden}.hero-grid{min-height:640px;display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:stretch}
.hero-copy{padding:86px 0 65px;position:relative;z-index:1}.eyebrow{margin:0 0 25px;color:#75ccff;font-size:11px;font-weight:700;letter-spacing:.19em}.eyebrow-line{display:inline-block;width:26px;height:1px;background:var(--brand-blue);vertical-align:middle;margin-right:12px}.eyebrow.dark{color:#006da8}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);letter-spacing:-.055em}h1{font-size:clamp(46px,5vw,76px);line-height:1.1;font-weight:700;max-width:690px;margin-bottom:24px}h1 em,h2 em{font-style:normal;color:var(--accent-light)}.hero-lede{max-width:560px;color:#cbd0d7;font-size:17px;line-height:1.75;margin-bottom:34px}
.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 22px;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:20px;font-weight:400}.button-primary{background:#0077b8;color:#fff}.button-primary:hover{background:#006ba6}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:6px}.text-link span{margin-left:11px;color:var(--accent-light)}.hero-foot{margin-top:66px;color:#b9c2cc;font-size:11px;font-weight:600;letter-spacing:.07em;display:flex;align-items:center;gap:10px}.dot{width:7px;height:7px;background:#75ccff;border-radius:50%}.hero-foot-divider{width:1px;height:17px;background:#747d87;margin:0 10px}
.intro-strip{background:#eaf2f8;border-bottom:1px solid #d7e2eb}.strip-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:19px 0}.strip-inner p{font:700 14px/1.4 var(--display);margin:0}.strip-inner a{font-size:12px;font-weight:700;border-bottom:1px solid;padding-bottom:4px;white-space:nowrap}.strip-inner a span{margin-left:12px}
.section{padding:116px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:45px}.section-heading h2,.projects h2,.about h2,.contact h2{font-size:clamp(35px,4vw,56px);line-height:1.13;margin:0}.section-heading h2 em,.about h2 em{color:#0077b8}.section-heading>p{max-width:320px;color:var(--muted);font-size:14px;line-height:1.75;margin-bottom:3px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{background:#fff;border:1px solid #dce3e9;padding:28px 28px 26px;min-height:320px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #231f200c}.service-card.featured{background:#e8f4fc}.service-number{font:700 11px/1 var(--display);color:#006da8;letter-spacing:.1em}.service-card h3{font:700 21px/1.25 var(--display);letter-spacing:-.04em;margin-bottom:10px}.service-card p{font-size:13px;color:#606873;line-height:1.65;margin-bottom:23px}.service-card a{font-size:11px;font-weight:700;margin-top:auto;border-bottom:1px solid #a6b7c5;padding-bottom:7px;align-self:start}.service-card a span{color:#0077b8;margin-left:12px}
.projects{background:var(--surface-dark);color:#fff}.projects-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.projects h2 em,.contact h2 em{color:var(--accent-light)}.projects-title>p:last-child{color:#c4ccd5;font-size:15px;line-height:1.75;max-width:420px;margin-top:25px}.project-types{border-top:1px solid #677582}.project-type{display:grid;grid-template-columns:30px 1fr 38px;gap:17px;padding:30px 0;border-bottom:1px solid #677582}.project-index{color:var(--accent-light);font:700 13px var(--display)}.project-type h3{font:700 21px var(--display);letter-spacing:-.04em;margin:0 0 9px}.project-type p{color:#c3cdd7;font-size:13px;line-height:1.7;margin:0}.project-type>a{width:38px;height:38px;border:1px solid #8d9eaf;border-radius:50%;display:grid;place-items:center;color:var(--accent-light);font-size:21px}.project-type>a:hover{background:#ffffff20}
.about{background:#eef3f7}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.about-graphic{height:410px;background:#e0edf7;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.about-graphic:before{content:"";position:absolute;width:380px;height:380px;border:1px solid #a3c4dd;border-radius:50%}.about-graphic:after{content:"";position:absolute;left:25%;bottom:-42%;width:420px;height:420px;border:65px solid #87bfdf;border-radius:50%;opacity:.5}.about-graphic-small,.about-graphic-bottom{position:absolute;left:30px;z-index:1;font:700 11px var(--display);letter-spacing:.16em}.about-graphic-small{top:28px}.about-graphic-bottom{bottom:28px}.about-logo{position:relative;z-index:1;width:248px;max-width:85%;height:auto;padding:24px;background:#fff;box-shadow:0 12px 40px #231f200d}.about-copy h2{margin-bottom:25px}.about-copy p:not(.eyebrow){color:#606873;line-height:1.75;font-size:14px}.dark-link{display:inline-block;margin-top:14px}.dark-link span{color:#0077b8}
.contact{background:#25272c;color:#fff}.contact-layout{display:grid;grid-template-columns:1fr 430px;gap:11%;align-items:center}.contact h2{font-size:clamp(40px,4.8vw,66px)}.contact-layout>div:first-child>p:not(.eyebrow){color:#c7d0da;max-width:480px;margin:25px 0 30px;line-height:1.75}.button-light{background:#f5f9fc;color:#231f20}.button-light:hover{background:#fff}.contact-card{background:#303943;padding:37px;border:1px solid #697b8b}.contact-card-title{font:800 24px var(--display);letter-spacing:.02em;margin-bottom:37px}.contact-detail{border-top:1px solid #697b8b;padding:18px 0;display:flex;flex-direction:column;gap:7px}.contact-detail>span{font-size:10px;font-weight:700;letter-spacing:.15em;color:#75ccff}.contact-detail a,.contact-detail address{font:600 17px/1.5 var(--display);font-style:normal}.contact-detail a:hover{text-decoration:underline}.map-link{display:inline-block;border-bottom:1px solid #b3c8da;padding-bottom:4px;margin-top:20px;font-size:12px;font-weight:700}.map-link span{margin-left:12px;color:var(--accent-light)}
.site-footer{background:#1b1c20;color:#bdc8d3}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;padding:34px 0;font-size:11px}.footer-inner>div{display:flex;flex-direction:column;gap:7px}.footer-inner strong{color:#fff;font:800 17px var(--display);letter-spacing:.04em}.footer-inner a{border-bottom:1px solid #728798;padding-bottom:4px}
@media(max-width:1000px){.header-inner{flex-wrap:wrap;padding:20px 0}.header-inner nav{order:3;width:100%;margin-left:0;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px}.header-call{margin-left:auto}.hero-grid{grid-template-columns:1.2fr .8fr}.hero-copy{padding-top:75px}.service-grid{grid-template-columns:repeat(2,1fr)}.projects-layout,.about-layout{gap:6%}.contact-layout{grid-template-columns:1fr 390px;gap:5%}}
@media(max-width:700px){.shell{width:min(100% - 36px,1240px)}.prototype-note{font-size:9px}.header-inner{min-height:0;gap:12px}.brand-logo{width:160px}.header-call{padding:10px;font-size:11px}.header-inner nav{gap:20px;overflow:auto;justify-content:flex-start;scrollbar-width:none;white-space:nowrap}.header-inner nav::-webkit-scrollbar{display:none}.hero-grid{display:block;min-height:0}.hero-copy{padding:64px 0 45px}.hero-lede{font-size:15px}.hero-foot{margin-top:43px;flex-wrap:wrap}.strip-inner{align-items:flex-start}.strip-inner p{font-size:12px}.strip-inner a{font-size:11px}.section{padding:75px 0}.section-heading{display:block}.section-heading>p{margin:22px 0 0}.service-grid{grid-template-columns:1fr}.service-card{min-height:270px}.projects-layout,.about-layout,.contact-layout{grid-template-columns:1fr;gap:35px}.about-graphic{height:320px}.contact-card{padding:27px}.footer-inner{flex-wrap:wrap}.footer-inner>div:first-child{width:100%}}
@media(max-width:420px){.header-call{width:100%;text-align:center}.brand{margin-right:auto}.hero-actions{gap:22px}.hero-foot-divider{display:none}.project-type{grid-template-columns:20px 1fr 34px;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Polishing: explicit métier icons, three manual hero views, direct contact. */
[hidden]{display:none!important}
button{font:inherit;cursor:pointer}
button:focus-visible{outline:3px solid var(--accent-light);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
section[id],article[id]{scroll-margin-top:28px}
nav a{font-size:14px}
.hero-grid{grid-template-columns:1.08fr .92fr;min-height:620px;gap:72px;align-items:center;padding:58px 0 48px}
.hero-copy{padding:0;min-width:0}
.hero-title{font:700 clamp(44px,4.8vw,70px)/1.08 var(--display);letter-spacing:-.055em;margin:0 0 27px}
.hero-title em{font-style:normal;color:var(--accent-light)}
.hero-lede{font-size:17px;line-height:1.75;margin-bottom:30px}
.hero-actions{gap:24px}
.hero-actions .button,.hero-actions .text-link{font-size:14px}
.hero-foot{margin:32px 0 0;font-size:13px;letter-spacing:.035em;display:block}
.eyebrow{font-size:12px;letter-spacing:.15em}
.hero-directory{padding:29px 30px 13px;background:#f7fbfe;color:var(--ink);border-top:5px solid var(--brand-blue)}
.panel-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;color:#526674;margin-bottom:19px}
.hero-directory>a{display:flex;align-items:center;gap:17px;padding:15px 0;border-top:1px solid #d3e2ec;transition:color .2s}
.hero-directory>a:hover{color:#0077b8}
.directory-icon{width:43px;height:43px;color:#0077b8;flex-shrink:0}
.hero-directory>a>span:not(.directory-index){font-size:18px;font-weight:700;line-height:1.3}
.hero-directory small{display:block;font-size:13px;font-weight:400;color:#586b77;margin-top:4px}
.directory-index{margin-left:auto;font-size:12px;color:#667e8d}
.hero-feature{min-height:484px;padding:30px;display:flex;flex-direction:column;justify-content:space-between}
.hero-feature-light{background:#e5f2fa;color:#231f20;border-top:5px solid #007dc3}
.hero-feature-blue{background:#006da8;color:#fff;border-top:5px solid #75ccff}
.feature-topline{display:flex;justify-content:space-between;gap:15px;font-size:12px;letter-spacing:.1em;font-weight:700}
.feature-icon{width:154px;height:154px;margin:24px auto;color:#0077b8;stroke-width:1.6}
.hero-feature-blue .feature-icon{color:#fff}
.hero-feature h3{font-size:29px;line-height:1.15;letter-spacing:-.04em;margin:0 0 20px}
.feature-topics{display:flex;gap:7px;flex-wrap:wrap}
.feature-topics span{font-size:12px;border:1px solid #accbdc;padding:6px 9px}
.hero-feature-blue .feature-topics span{border-color:#82bbda}
.carousel-controls{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff30;padding:0 0 16px;gap:20px}
.carousel-selector{display:flex;align-items:stretch;gap:28px}
.carousel-selector button{position:relative;border:0;border-top:3px solid transparent;padding:20px 0 9px;background:none;color:#bac6d0;font-size:13px;text-align:left;min-height:52px}
.carousel-selector button span{font-size:12px;margin-right:9px;color:#87a2b7}
.carousel-selector button[aria-pressed="true"]{color:#fff;border-color:#75ccff}
.carousel-selector button[aria-pressed="true"] span{color:#75ccff}
.carousel-selector button:hover{color:#fff}
.carousel-arrows{display:flex;gap:8px;padding-top:9px}
.carousel-arrows button{width:44px;height:44px;line-height:1;background:none;border:1px solid #8b98a3;color:#fff;font-size:29px;display:grid;place-items:center}
.carousel-arrows button:hover{background:#0077b8}
.service-icon{width:64px;height:64px;margin:24px 0 21px;color:#0077b8}
.service-card p,.section-heading>p,.about-copy p:not(.eyebrow),.project-type p{font-size:16px}
.service-card a{font-size:14px}
.service-card{min-height:352px}
.service-number{font-size:12px}
.project-index{font-size:14px}
.realisations{background:#fff;border-top:1px solid var(--line)}
.realisations-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:11%;align-items:center}
.realisations h2{font-size:clamp(35px,4vw,56px);line-height:1.13;margin-bottom:23px}
.realisations h2 em{color:#0077b8}
.realisations p:not(.eyebrow){font-size:16px;color:var(--muted);max-width:460px}
.instagram-card{display:flex;flex-direction:column;align-items:flex-start;padding:30px;background:#edf6fc;border:1px solid #c8ddea;gap:12px;color:#185572}
.instagram-card svg{width:39px;height:39px;margin-bottom:7px}
.instagram-card>span{font-size:19px;font-weight:700}
.instagram-card strong{font-size:16px;text-decoration:underline;text-underline-offset:5px}
.instagram-card small{font-size:12px;color:#526b7c;margin-top:8px}
.instagram-card:hover{background:#e0f0fb}
.contact-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.contact-actions .text-link{font-size:15px}
.contact-detail a[href^="mailto:"]{font-size:16px;overflow-wrap:anywhere}
.contact-detail>span{font-size:12px}
.map-link{font-size:14px}
@media(max-width:1100px){.hero-grid{gap:35px}.hero-title{font-size:clamp(42px,5vw,60px)}.hero-directory{padding:23px 22px 10px}.hero-feature{padding:24px}}
@media(max-width:850px){.hero-grid{grid-template-columns:1fr;gap:32px;padding:46px 0 35px;min-height:0}.hero-copy{max-width:650px}.hero-title{font-size:clamp(42px,6.5vw,62px)}.hero-directory{display:grid;grid-template-columns:1fr 1fr;column-gap:26px;padding:25px}.panel-eyebrow{grid-column:1/-1;margin-bottom:10px}.hero-feature{min-height:370px;display:grid;grid-template-columns:1fr 170px;gap:24px;align-items:center}.feature-topline{grid-column:1/-1}.feature-icon{grid-column:2;grid-row:2/4;margin:0;max-width:100%}.hero-feature h3{grid-column:1;grid-row:2;font-size:32px;margin-bottom:0}.feature-topics{grid-column:1;grid-row:3}.realisations-layout{gap:35px;grid-template-columns:1fr}}
@media(max-width:600px){.hero-grid{padding-top:40px}.hero-title{font-size:44px}.hero-lede{font-size:16px}.hero-directory{grid-template-columns:1fr;padding:20px}.hero-directory>a{padding:12px 0}.hero-directory>a>span:not(.directory-index){font-size:17px}.hero-directory small{font-size:13px}.carousel-controls{gap:14px;align-items:flex-start}.carousel-selector{flex:1;gap:10px;justify-content:space-between}.carousel-selector button{font-size:12px;line-height:1.35;max-width:100px;padding-top:14px}.carousel-selector button span{display:block;margin:0 0 5px}.carousel-arrows{gap:5px;padding-top:14px;flex-direction:column}.carousel-arrows button{width:35px;height:35px}.hero-feature{grid-template-columns:1fr 96px;gap:18px;min-height:325px;padding:24px}.feature-icon{width:96px;height:96px}.hero-feature h3{font-size:26px}.feature-topics{grid-column:1/-1}.feature-topline{font-size:11px}.contact-actions{align-items:flex-start;flex-direction:column}.service-card{min-height:0}}

.hero-panels{display:grid}
.hero-slide{grid-area:1 / 1;min-width:0}
.hero-slide[hidden]{display:block!important;visibility:hidden;pointer-events:none}

.legal-content{max-width:860px;padding-block:70px}.legal-content h1{font-size:clamp(36px,5vw,60px);margin-bottom:40px}.legal-content section{margin-block:35px}.legal-content h2{font-size:27px;letter-spacing:-.025em}.legal-content p{font-size:16px;line-height:1.8}.legal-content a{color:#006da8;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-updated{color:var(--muted);font-size:14px!important}
