@font-face{font-family:Inter Tight;src:url('assets/InterTight.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Karelia;src:url('assets/Karelia-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Martian Mono;src:url('assets/MartianMono-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--group-blue:#1088ff;--group-ink:#000000;--group-light:#ececec;--sea:#173b4b;--max:1280px;--gutter:clamp(24px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--sea);color:#fff;font-family:Inter Tight,Arial,sans-serif}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;letter-spacing:normal}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:6px}button{font:inherit}.content-width{width:min(calc(100% - 2 * var(--gutter)),var(--max));margin-inline:auto}
.review{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:20px;height:52px;padding:0 28px;background:#fff;color:#333;border-bottom:1px solid #ddd}.review>span{font-size:10px;letter-spacing:.08em}.review nav{display:flex;gap:5px}.review a{font-size:12px;padding:10px 15px;border-radius:3px}.review a[aria-current]{background:#ececec}.review a:focus-visible{outline-color:#000}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:850px;height:calc(100svh - 52px);max-height:1050px;background:linear-gradient(#0003,#0001),url('assets/diagonales-claires.png') center/cover}.site-nav{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:32px;width:min(calc(100% - 40px),730px);margin:26px auto 0;padding:14px 24px;border:1px solid #ffffff20;background:#24435565;backdrop-filter:blur(12px);border-radius:5px}.group-logo{width:112px;height:auto}.site-nav nav{display:flex;gap:25px;align-items:center;font-size:12px}.site-nav nav a{padding:10px 0}.hero-title{position:relative;z-index:3;text-align:center;padding:45px 24px 0;max-width:1060px;margin:auto}.hero-logo{width:230px;margin:0 auto 30px}.hero h1{font-weight:500;font-size:clamp(38px,4vw,62px);line-height:1.1}.small-action{display:inline-flex;align-items:center;gap:35px;border-bottom:1px solid #fff9;font-size:13px;padding:14px 0;margin-top:24px}.sea-horizon{position:absolute;inset:auto 0 0;height:48%;z-index:0;mask-image:linear-gradient(transparent,#000 42%)}.sea-horizon img,.sea-horizon video{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 55%}.sea-horizon video{opacity:0}.sea-horizon.is-playing video{opacity:1}.hero:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:160px;z-index:2;pointer-events:none;background:linear-gradient(transparent,var(--sea))}.hero-caption{position:absolute;z-index:4;bottom:25px;left:var(--gutter);right:var(--gutter);max-width:var(--max);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:9px;letter-spacing:.08em}.motion-toggle{color:#fff;border:1px solid #ffffff50;border-radius:3px;background:#173b4b70;padding:9px 12px;font-size:10px;cursor:pointer}.eyebrow{font-size:10px;letter-spacing:.1em;line-height:1.6;font-weight:500}
.marine-group{position:relative;isolation:isolate;padding:90px 0 60px;overflow:hidden}.group-water{position:absolute;inset:0;z-index:-1;background:linear-gradient(var(--sea),#173b4bbf 23%,#173b4bef 65%,var(--sea)),url('assets/research-horizon.jpg') center top/cover}.group-heading{display:grid;grid-template-columns:1fr 2fr;gap:50px;margin-bottom:65px}.group-heading>.eyebrow{padding-top:8px;color:#d2d2d2}.group-heading h2{font-size:clamp(32px,3.2vw,48px);line-height:1.15;margin-bottom:25px}.group-heading>div>p{font-size:18px;line-height:1.65;max-width:740px;color:#ececec}.marine-companies{display:grid;grid-template-columns:1fr 1fr;gap:64px;scroll-margin-top:85px}.marine-company{position:relative;min-width:0;display:flex;flex-direction:column;padding-top:370px;isolation:isolate}.panel-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid #ffffff24;font-family:Martian Mono,monospace;font-size:8px;color:#d2d2d2;line-height:1.8}.panel-top:before{content:'';width:4px;height:4px;border-radius:50%;background:#a7c5ff;flex:none}.motion-panel .panel-top:before{background:#9aa5c1}.panel-top>span:first-child{margin-right:auto}.panel-arrow{font-family:Inter Tight,sans-serif;font-size:18px;opacity:.65}.panel-photo{position:absolute;top:55px;left:0;width:100%;height:290px;object-fit:cover;object-position:center 48%;border-radius:3px;mask-image:linear-gradient(#000 55%,transparent)}.motion-media{position:absolute;top:46px;left:0;width:100%;height:300px;overflow:hidden;border-radius:4px;background:radial-gradient(ellipse at center,#35415f70,transparent 70%);mask-image:linear-gradient(transparent,#000 10%,#000 85%,transparent)}.motion-media img,.motion-media video{position:absolute;width:100%;height:100%;object-fit:contain}.motion-media video{opacity:0}.motion-media.is-playing video{opacity:1}.motion-media.is-playing img{opacity:0}.panel-bottom{display:flex;flex-direction:column;flex:1;padding-bottom:25px}.panel-logo{width:170px;height:65px;object-fit:contain;object-position:left center;margin-bottom:22px}.panel-bottom h3{font-family:Karelia,Inter Tight,sans-serif;font-weight:500;font-size:33px;line-height:1.2;min-height:80px;margin-bottom:18px}.panel-bottom p{font-size:16px;line-height:1.7;color:#d2d2d2;max-width:480px;min-height:82px}.panel-link{display:flex;align-items:center;justify-content:space-between;margin-top:28px;padding-top:21px;border-top:1px solid #ffffff26;font-family:Martian Mono,monospace;font-size:9px;color:#ececec}.panel-link span{font-size:16px}.group-note{display:flex;justify-content:space-between;align-items:start;gap:45px;border-top:1px solid #ffffff20;margin-top:38px;padding-top:35px}.group-note>span{font-size:9px;letter-spacing:.1em}.group-note>p{font-size:18px;line-height:1.5;color:#d2d2d2}
.realisations{padding:80px 0 95px;background:linear-gradient(var(--sea),#122d3b)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-heading h2{font-size:clamp(32px,3.2vw,48px);line-height:1.15;margin-top:22px}.section-heading>p{font-size:16px;line-height:1.6;color:#d2d2d2;max-width:350px}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.case-photo{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:3px}.case-info{padding:23px 0}.case-info .eyebrow{color:#bbc9d0;font-size:9px}.case-info h3{font-size:26px;margin:12px 0}.case-info p:not(.eyebrow){font-size:15px;line-height:1.6;color:#d2d2d2;min-height:72px}.case-links{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid #ffffff25;margin-top:22px;padding-top:18px}.case-links a{font-size:13px;border-bottom:1px solid #ffffff70;padding-bottom:7px}.case-links a:hover{color:#fff;text-decoration:underline}
.marine-closing{background:linear-gradient(#173b4b88,#173b4b88),url('assets/diagonales-claires.png') center/cover;padding:65px 0}.closing-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}.closing-picture img{width:100%;height:420px;object-fit:cover;object-position:center 45%;border-radius:4px}.closing-content h2{font-size:clamp(34px,3vw,48px);line-height:1.15;margin:28px 0}.closing-content>p:not(.eyebrow){font-size:17px;line-height:1.65;max-width:490px}.closing-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}.closing-links a{display:flex;gap:30px;justify-content:space-between;border:1px solid #ffffff50;background:#16374660;padding:16px 20px;border-radius:4px;font-size:13px}.closing-links a:hover{background:white;color:black}footer{padding:45px 0;border-top:1px solid #ffffff20}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-grid p{font-size:13px;line-height:1.6;color:#d2d2d2}.footer-grid>a{font-size:12px}
@media(min-width:1800px){.hero-title{padding-top:60px}.hero-logo{width:260px}}
@media(max-width:1000px){.marine-companies,.closing-grid{gap:36px}.group-heading{grid-template-columns:1fr 2.4fr;gap:30px}.panel-top{font-size:7px}.panel-bottom h3{font-size:29px}.case-grid{gap:20px}.case-info h3{font-size:23px}.case-info p:not(.eyebrow){min-height:96px}.section-heading>p{max-width:270px}}
@media(max-width:700px){.review{padding:8px 6px;height:52px;justify-content:center}.review>span{display:none}.review nav{justify-content:space-around;width:100%;gap:0}.review a{font-size:10px;padding:9px 8px}.hero{height:850px;min-height:0;max-height:none}.site-nav{gap:15px;padding:12px 15px;margin-top:18px}.site-nav .group-logo{width:82px}.site-nav nav{font-size:10px;gap:14px}.hero-title{padding:48px 24px 0}.hero-logo{width:200px;margin-bottom:32px}.hero h1{font-size:clamp(31px,8.7vw,40px)}.small-action{margin-top:20px;font-size:12px}.sea-horizon{height:42%}.hero-caption{font-size:7px;align-items:end;gap:12px}.hero-caption>span{max-width:145px;line-height:1.6}.motion-toggle{font-size:9px;padding:9px;max-width:125px;letter-spacing:0}.hero:after{height:125px}.marine-group{padding:60px 0 45px}.group-heading{display:block;margin-bottom:42px}.group-heading>.eyebrow{margin-bottom:25px;padding:0}.group-heading h2{font-size:33px}.group-heading>div>p{font-size:17px}.marine-companies{grid-template-columns:1fr;gap:50px}.marine-company{padding-top:295px}.panel-photo{height:230px;top:50px}.motion-media{top:43px;height:238px}.panel-logo{height:55px;width:165px}.panel-bottom h3{font-size:31px;min-height:0}.panel-bottom p{min-height:0}.panel-bottom{padding-bottom:10px}.panel-top{font-size:7px}.group-note{display:block;padding-top:28px;margin-top:30px}.group-note>p{font-size:16px;margin-top:18px}.group-note br{display:none}.realisations{padding:55px 0}.section-heading{display:block}.section-heading>p{margin-top:22px;max-width:none}.case-grid{grid-template-columns:1fr;gap:28px}.case-info p:not(.eyebrow){min-height:0}.case-info h3{font-size:26px}.closing-grid{grid-template-columns:1fr;gap:35px}.marine-closing{padding:35px 0 50px}.closing-picture img{height:310px}.closing-content h2{font-size:34px}.footer-grid{flex-wrap:wrap}.footer-grid>a{width:100%}.footer-grid .group-logo{width:105px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.case figure{position:relative;margin:0}.case figcaption{position:absolute;bottom:0;right:0;left:0;padding:20px 10px 8px;background:linear-gradient(transparent,#0009);color:#fff;font-size:9px;text-align:right}.case{display:flex;flex-direction:column;min-width:0}.case-info{display:flex;flex-direction:column;flex:1}.case-info p:not(.eyebrow){flex:1}.case-links{margin-top:22px}.sea-horizon{height:57%}.motion-media{background:radial-gradient(ellipse at center,#35415f70,transparent 70%)}
@media(max-width:700px){.sea-horizon{height:44%}}

@media(max-width:380px){.site-nav{flex-wrap:wrap;justify-content:center;gap:8px}.site-nav nav{justify-content:center;flex-wrap:wrap;width:100%}.hero-title{padding-top:32px}}
/* Shared alignment and brand components — 16 October */
.site-nav{width:min(calc(100% - 2 * var(--gutter)),var(--max));padding:18px 28px}.site-nav nav{gap:32px}.hero-title{padding-top:55px}.hero h1{font-size:clamp(38px,4.4vw,68px)}
.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;max-width:100%;min-height:48px;padding:14px 24px;border:1px solid transparent;border-radius:1000px;background:var(--group-blue);color:var(--group-ink);font:400 10px/1.5 Martian Mono,monospace;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}.pill:before{content:'';display:block;flex:0 0 24px;width:24px;height:24px;background:currentColor;mask:url('assets/brand-dot.svg') center/contain no-repeat}.pill:hover{background:var(--group-light);color:var(--group-ink)}.pill>span{font:16px Inter Tight,sans-serif}.small-action{margin-top:32px}.panel-link{align-self:start;margin-top:28px;font-size:10px}.panel-top:before{width:18px;height:18px;border-radius:0;background:#a7c5ff;mask:url('assets/brand-dot.svg') center/contain no-repeat}.motion-panel .panel-top:before{background:#c0c8d9}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';display:block;width:20px;height:20px;flex:none;background:currentColor;mask:url('assets/brand-dot.svg') center/contain no-repeat}.case-info .eyebrow:before{display:none}.all-projects{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-top:32px}.all-projects .pill{font-size:9px}.group-note>span{display:none}.group-note{justify-content:flex-end}
.contact-section{padding:100px 0;background:linear-gradient(#173b4ba6,#173b4bba),url('assets/diagonales-claires.png') center/cover}.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:90px}.contact-copy h2{font-size:clamp(36px,4vw,58px);line-height:1.1;margin:28px 0}.contact-copy>p:last-child{font-size:18px;line-height:1.65;max-width:360px;color:#dce5e9}.contact-form{display:flex;flex-direction:column;gap:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form label{display:flex;flex-direction:column;gap:10px;font-size:13px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-width:0;border:1px solid #ffffff50;border-radius:6px;background:#13354580;color:#fff;padding:14px;font:16px Inter Tight,Arial,sans-serif}.contact-form textarea{resize:vertical;min-height:140px}.contact-form select option{background:#173b4b}.contact-form ::placeholder{color:#c4cdd2}.contact-form :is(input,textarea,select):focus-visible{outline:2px solid var(--group-blue);outline-offset:3px}.contact-form .pill{align-self:start}.form-note,.form-status{font-size:12px;line-height:1.5;color:#d2dde2}.form-status:empty{display:none}
.brand-footer{padding:85px 0 24px;background:#112d3a}.footer-parent{display:block;width:min(520px,80%);margin:0 auto}.footer-parent img{width:100%}.footer-subsidiaries{display:flex;justify-content:center;align-items:center;gap:70px;margin:52px auto 70px}.footer-subsidiaries img{width:160px;height:70px;object-fit:contain}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff25;padding-top:24px;font-size:11px;color:#bbc9d0}
@media(max-width:900px){.contact-grid{gap:45px;grid-template-columns:1fr 1.2fr}.form-row{grid-template-columns:1fr}.site-nav nav{gap:20px}}
@media(max-width:700px){.site-nav{padding:16px;flex-direction:column;gap:12px}.site-nav nav{gap:18px;flex-wrap:wrap;justify-content:center}.hero-title{padding-top:38px}.hero h1{font-size:clamp(34px,8vw,46px)}.contact-section{padding:60px 0}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-copy>p:last-child{max-width:none}.all-projects{align-items:stretch;flex-direction:column}.all-projects .pill{font-size:9px;gap:14px;padding:14px 18px}.footer-subsidiaries{gap:30px;margin:35px auto 45px}.footer-subsidiaries img{width:125px;height:60px}.brand-footer{padding-top:60px}.pill{font-size:9px}.group-heading .eyebrow{padding:0}.contact-form .pill{align-self:stretch}}

@media(max-width:380px){.footer-subsidiaries{gap:20px}.footer-subsidiaries img{width:115px}.site-nav nav{gap:12px;font-size:9px}}

/* Public release */
.hero{height:100svh}html{scroll-padding-top:24px}.language-switch{display:flex;gap:12px;border-left:1px solid #ffffff40;padding-left:22px}.language-switch a[aria-current]{border-bottom:1px solid currentColor}.footer-bottom{flex-wrap:wrap;gap:20px}.legal-page{max-width:850px;padding:65px 0}.legal-page h1{font-size:44px;margin:35px 0}.legal-page h2{font-size:26px;margin:35px 0 14px}.legal-page p{line-height:1.7;margin:12px 0}.legal-page a{text-decoration:underline}.legal-page .group-logo{width:140px}
@media(max-width:700px){.site-nav nav{gap:14px}.language-switch{padding-left:12px;gap:10px}.hero{height:850px}.legal-page h1{font-size:34px}}
/* Hero composition: large identity, centered headline, bottom CTA. */
.hero-title{position:absolute;inset:0;max-width:none;margin:0;padding:0;pointer-events:none}
.hero-title>*{pointer-events:auto}
.hero-logo{position:absolute;top:clamp(150px,18%,190px);left:50%;transform:translateX(-50%);width:360px;max-width:calc(100% - 48px);margin:0}
.hero h1{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 48px);max-width:1060px;margin:0}
.hero-title .small-action{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);margin:0;width:max-content;max-width:calc(100% - 48px)}
@media(max-width:700px){.hero{height:100svh;min-height:760px}.hero-logo{top:170px;width:265px}.hero-title .small-action{bottom:32px}}
