@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--blue:#123e75;--navy:#112840;--orange:#f5a127;--ink:#182b40;--muted:#637285;--paper:#f5f6f7;--line:#dce3eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:white}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.topbar{background:var(--navy);color:#dce6ef;display:flex;justify-content:space-between;padding:11px 5.5%;font-size:12px;letter-spacing:.035em}.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:13px 5.5%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:18px;flex-shrink:0}.brand img{width:75px;height:61px;object-fit:contain}.brand>span{max-width:115px;font-size:10px;line-height:1.6;letter-spacing:.12em;font-weight:700;color:var(--blue)}nav{display:flex;gap:30px;margin-left:auto;font-size:13px;font-weight:600}nav a{position:relative;padding:12px 0}nav a:after{content:'';position:absolute;bottom:4px;left:0;width:0;height:2px;background:var(--orange);transition:width .3s}nav a:hover:after{width:100%}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:54px;padding:15px 22px;border-radius:5px;font-size:13px;font-weight:700;transition:transform .3s,background .3s,box-shadow .3s}.button>span{font-size:23px;line-height:1;transition:transform .3s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 22px #11284012}.button:hover>span{transform:translate(3px,-3px)}.dark{background:var(--navy);color:white}.orange{background:var(--orange);color:var(--navy)}.outline{border:1px solid #b9c6d4;background:#fff}.hero{padding:60px 5.5% 0;background:linear-gradient(125deg,#f8f8f6,#edf2f8)}.hero-top{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:end;padding-bottom:40px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;line-height:1.7}.eyebrow>span{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:8px}h1{font-size:clamp(45px,5.4vw,78px);letter-spacing:-.06em;line-height:1.08;font-weight:750;margin-top:23px}h1 em{font-style:normal;color:var(--blue)}.hero-intro{font-size:16px;line-height:1.85;color:var(--muted);padding-bottom:5px}.hero-intro i{font-style:normal}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.hero-photo{position:relative;border-radius:10px 10px 70px 10px;overflow:hidden;background:var(--blue);box-shadow:0 18px 40px #102b4212}.hero-photo img{width:100%;aspect-ratio:955/390;object-fit:contain}.photo-index{position:absolute;left:22px;bottom:20px;background:#112840cf;color:white;padding:11px 14px;border-radius:5px;font-size:10px;letter-spacing:.08em;backdrop-filter:blur(6px)}.methods{display:flex;align-items:center;gap:22px;padding:32px 5.5%;background:var(--navy);color:white;position:relative;margin-top:0}.methods>span{font-weight:750;font-size:14px;letter-spacing:.08em}.methods>i{font-size:25px;color:var(--orange);font-style:normal}.methods>div{font-size:14px;line-height:1.8;max-width:500px;margin-left:auto;padding-left:35px;border-left:1px solid #ffffff30;color:#d0dce7}.section{padding:90px 5.5%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}h2{font-size:clamp(30px,3.8vw,52px);letter-spacing:-.045em;line-height:1.15;font-weight:650;margin-top:20px}.section-signature{font-size:15px;line-height:1.7;color:var(--muted);border-left:3px solid var(--orange);padding-left:18px}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sector{position:relative;padding:28px;min-height:210px;border:1px solid var(--line);border-radius:5px;background:white;transition:transform .3s,box-shadow .3s,border-color .3s}.sector:hover{transform:translateY(-5px);box-shadow:0 15px 35px #1128400c;border-color:#8aaacf}.sector:first-child{grid-row:span 2;background:#eff4fa}.sector-top{display:flex;justify-content:space-between;align-items:center}.sector-top svg{width:42px;height:42px;padding:8px;background:#e7eef7;border-radius:5px;stroke:var(--blue);stroke-width:1.4;fill:none}.sector-top>span{font-size:11px;color:#8090a2}.sector h3{font-size:24px;letter-spacing:-.04em;margin-top:23px}.sector ul{list-style:none;padding:0;margin:18px 0 0}.sector li{font-size:14px;line-height:1.8;border-top:1px solid #dce5ef;padding:7px 0}.sector-arrow{position:absolute;right:26px;bottom:24px;color:var(--blue);font-size:25px;transition:transform .3s}.sector:hover .sector-arrow{transform:translate(3px,-3px)}.company{display:grid;grid-template-columns:1fr 1.05fr;gap:9%;background:var(--paper)}.company h2{font-size:clamp(35px,4.5vw,61px)}.company-copy>p{font-size:16px;line-height:1.85;margin-bottom:26px}.year-mark{font-family:Manrope,sans-serif;font-size:105px;letter-spacing:-.065em;color:#b6c8df;margin-top:48px;font-weight:750;line-height:1}.year-mark span{font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:0;display:block;line-height:1.7;margin-top:15px;color:var(--muted)}.credentials{background:white;padding:28px;border:1px solid var(--line);border-radius:5px}.credentials p{font-size:15px;line-height:1.8;margin-bottom:20px}.cert-logos{display:flex;align-items:center;gap:27px;flex-wrap:wrap;padding-top:15px;border-top:1px solid var(--line)}.cert-logos img{height:48px;width:auto;object-fit:contain}.prevention{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:center;background:var(--navy);color:white;margin:28px 25px;border-radius:5px}.prevention .eyebrow{color:var(--orange)}.prevention h2{font-size:42px;margin-bottom:28px}.cert-copy p{font-size:15px;line-height:1.85;color:#d0dce7;margin-bottom:17px}.cert-copy p:empty{display:none}.cert-copy strong{font-weight:650;color:white}.prevention-art{display:grid;place-items:center;position:relative}.prevention-art:before{content:'';position:absolute;width:290px;height:290px;border:1px dashed #ffffff30;border-radius:50%;animation:orbit 45s linear infinite}.prevention-art svg{width:270px;height:285px;position:relative;animation:float 5s ease-in-out infinite}.shield-shadow{fill:#061c31}.shield{fill:var(--orange)}.shield-core{fill:#29598e}.shield-light{fill:#7299c3}.check{fill:none;stroke:white;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100}.visible .check{animation:draw 1.3s .2s forwards}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;background:#f4eee4;margin:28px 25px 0;border-radius:5px}.contact>div>p{font-size:16px;line-height:1.8;margin-top:28px}.contact em{font-style:normal}.contact-details{border-left:1px solid #d6cfc2;padding-left:40px}.contact-details p{font-size:15px!important;text-align:left!important;line-height:1.8;margin-bottom:12px}.contact-details img{margin-top:26px;max-width:160px}.contact-details span{font-weight:600}footer{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:60px 5.5% 24px;font-size:13px;color:var(--muted)}.footer-brand>img{width:88px;margin-bottom:20px}.footer-brand p{line-height:1.8}.social{display:flex;gap:15px;margin-top:20px}.social img{height:23px;width:auto}.footer-menu{display:grid;grid-template-columns:repeat(3,1fr);gap:13px 25px;align-content:start}.footer-menu h3{grid-column:1/-1;font-size:11px;letter-spacing:.1em;margin-bottom:10px;color:var(--ink)}.footer-menu span{font-size:12px;line-height:1.6}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.04em}.progress{position:fixed;top:0;left:0;height:3px;background:var(--orange);z-index:20;width:0}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}.hero h1,.hero-intro{animation:enter .7s both}.hero-intro{animation-delay:.1s}.sector-top svg path{stroke-dasharray:100;stroke-dashoffset:100}.visible .sector-top svg path{animation:draw 1.2s ease forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-6px)}}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.brand>span{display:none}.site-header{gap:20px}nav{gap:20px}.hero-top{gap:5%}.actions{gap:10px}.button{padding:14px 17px;font-size:12px;gap:16px}.methods{gap:15px}.methods>span{font-size:12px}.methods>div{max-width:420px;padding-left:24px}.sector{padding:24px}.prevention{gap:5%}}
@media(max-width:800px){nav{display:none}.hero{padding-top:45px}.hero-top{grid-template-columns:1fr;gap:25px}h1{font-size:62px}.hero-intro{max-width:650px}.hero-photo{margin-top:10px}.methods{flex-wrap:wrap;padding-top:25px;padding-bottom:25px}.methods>div{max-width:none;flex-basis:100%;margin:10px 0 0;padding:18px 0 0;border-left:0;border-top:1px solid #ffffff30}.sector-grid{grid-template-columns:1fr 1fr}.sector:first-child{grid-row:span 2}.company{gap:6%}.prevention{grid-template-columns:1fr}.prevention-art{margin-bottom:20px}.prevention-art svg{width:220px;height:240px}.prevention-art:before{width:250px;height:250px}.prevention h2{font-size:34px}.contact{gap:6%}.contact-details{padding-left:25px}.section{padding-top:65px;padding-bottom:65px}.footer-menu{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.topbar{font-size:9px;padding:10px 6%;gap:20px}.site-header{padding:12px 6%;gap:16px}.brand img{width:68px;height:55px}.site-header .button{min-height:46px}.hero{padding:38px 6% 0}.hero h1{font-size:48px}.hero .eyebrow{font-size:10px}.hero-top{padding-bottom:25px}.hero-intro{font-size:15px;line-height:1.8}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions .button{font-size:11px;padding:12px;min-height:58px;gap:10px}.hero-photo{border-radius:8px 8px 35px 8px}.photo-index{display:none}.methods{padding:25px 6%;gap:11px}.methods>span{font-size:11px}.methods>i{font-size:20px}.methods>div{font-size:14px}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:32px}.section-signature{display:block;margin-top:24px;font-size:14px}.sector-grid{grid-template-columns:1fr}.sector:first-child{grid-row:auto}.sector{min-height:190px}.sector h3{font-size:23px}.sector ul{margin-bottom:24px}.company{grid-template-columns:1fr;gap:30px}.company h2{font-size:40px}.year-mark{font-size:83px;margin-top:30px}.company-copy>p{font-size:15px}.credentials{padding:24px}.prevention,.contact{margin:18px 16px;padding:45px 24px}.prevention h2{font-size:31px}.prevention-art svg{width:200px;height:220px}.prevention-art:before{width:235px;height:235px}.cert-copy p{font-size:14px}.contact{grid-template-columns:1fr;gap:28px}.contact h2{font-size:31px}.contact-details{border-left:0;border-top:1px solid #d6cfc2;padding:24px 0 0}.contact-details p{font-size:14px!important}footer{grid-template-columns:1fr;gap:35px;padding:45px 6% 24px}.footer-brand{display:grid;grid-template-columns:80px 1fr;gap:15px 24px;align-items:center}.footer-brand>img{margin:0}.social{grid-column:2;margin-top:0}.footer-menu{gap:12px 20px}.footer-bottom{display:block;line-height:1.8}.footer-bottom span{display:block}.eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.check,.sector-top svg path{stroke-dashoffset:0}}

.sector:last-child{grid-column:1/-1;min-height:150px;display:flex;align-items:center;gap:32px;background:var(--navy);color:white}.sector:last-child .sector-top{gap:25px}.sector:last-child h3{margin:0}.sector:last-child .sector-top svg{background:#ffffff10;stroke:var(--orange)}.sector-arrow{display:none}@media(max-width:560px){.sector:last-child{display:block;min-height:190px}.sector:last-child .sector-top{justify-content:space-between}.sector:last-child h3{margin-top:23px}}

/* Abside: photographic field journal, rather than the Epicure card composition. */
.logo-frame{display:block;position:relative;width:92px;height:96px;overflow:hidden}.brand .logo-frame img,.footer-brand .logo-frame img{position:absolute;width:185px;height:auto;max-width:none;left:-48px;top:-17px}.site-header{padding-top:6px;padding-bottom:6px;background:#faf9f5}.brand>span{font-size:9px}.editorial-hero{padding:0;display:grid;grid-template-columns:.95fr 1.05fr;gap:0;min-height:690px;background:#f7f5ef}.hero-writing{padding:60px 55px 45px 5.5vw;display:flex;flex-direction:column;justify-content:center}.editorial-hero h1{font-size:clamp(48px,5.5vw,80px);line-height:1.04;letter-spacing:-.055em;margin:28px 0}.editorial-hero h1 em{color:var(--orange)}.editorial-hero .hero-intro{max-width:490px;font-size:15px;line-height:1.85}.editorial-hero .actions{margin-top:30px}.editorial-hero .button{border-radius:3px;min-height:52px;font-size:12px}.hero-footnote{display:flex;gap:30px;align-items:center;margin-top:37px;font-size:10px;line-height:1.8;letter-spacing:.1em;color:#7b858f}.small-year{font-size:9px;line-height:1.5;border-right:1px solid #ccd3da;padding-right:30px}.small-year b{font:700 30px/1.2 Manrope,sans-serif;letter-spacing:-.03em;color:var(--blue)}.field-photo{position:relative;overflow:hidden;margin:24px 24px 24px 0;border-radius:3px 3px 40px 3px;min-height:600px}.field-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:51% center;transition:transform 1s}.field-photo:hover>img{transform:scale(1.025)}.field-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#112840cc,transparent 45%)}.field-caption{position:absolute;left:30px;bottom:33px;z-index:1;color:white}.field-caption>span{font-size:10px;letter-spacing:.12em}.field-caption>b{display:block;font:600 26px/1.3 Manrope,sans-serif;margin-top:12px;letter-spacing:-.03em}.vertical-word{position:absolute;right:20px;top:25px;writing-mode:vertical-rl;letter-spacing:.2em;font-size:10px;color:white;z-index:1}.methods{background:white;color:var(--blue);border-bottom:1px solid var(--line);gap:32px}.methods>span{font-size:13px}.methods>i{display:none}.methods>div{color:var(--muted);border-left-color:var(--line);max-width:580px}.expertise{background:white}.sector-grid{grid-template-columns:repeat(2,1fr);gap:0 45px;border-top:1px solid var(--line)}.sector,.sector:first-child,.sector:last-child{grid-row:auto;grid-column:auto;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:28px 0;min-height:180px;display:block;color:var(--ink)}.sector:hover{transform:none;border-color:var(--line);box-shadow:none}.sector:first-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:15px 45px}.sector:first-child .sector-top{grid-column:1}.sector:first-child h3{grid-column:1;grid-row:2;margin-top:0}.sector:first-child ul{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px;margin:0}.sector li{border-top:0;padding:8px 0;font-size:13px}.sector-top,.sector:last-child .sector-top{justify-content:flex-start;gap:15px}.sector-top svg{display:none}.sector-top>span{font:650 35px/1 Manrope,sans-serif;color:#bdc9d5}.sector h3,.sector:last-child h3{margin-top:18px;font-size:27px}.sector:last-child{grid-column:1/-1;min-height:140px;display:flex;align-items:center;gap:30px}.sector:last-child h3{margin:0}.original-project{background:#f4f6f8;padding-top:65px;padding-bottom:65px}.original-project .section-heading{margin-bottom:30px}.original-project .section-heading>p{font-size:14px;color:var(--muted);line-height:1.7}.original-project .hero-photo{border-radius:3px 3px 40px 3px;box-shadow:none;max-width:1050px;margin:auto}.original-project .photo-index{display:none}.company{background:#fff}.prevention{margin:0;padding:0;gap:0;grid-template-columns:.9fr 1.1fr;border-radius:0}.prevention>div:last-child{padding:65px 6vw}.prevention-photo{position:relative;min-height:610px;overflow:hidden}.prevention-photo>img{width:100%;height:100%;object-fit:cover;position:absolute}.prevention-photo>span{position:absolute;bottom:25px;left:25px;color:white;background:#112840bb;font-size:10px;padding:13px;letter-spacing:.08em}.field-detail{position:relative;display:grid;grid-template-columns:1.1fr .9fr;background:#f5f2eb;margin:55px 5.5%;border-radius:3px;overflow:hidden}.field-detail>img{width:100%;height:350px;object-fit:cover}.field-detail>div{padding:45px;align-self:center}.field-detail h2{font-size:36px}.contact{background:var(--navy);color:white;margin:0;border-radius:0}.contact h2{color:white}.contact-details{border-left-color:#ffffff30}.contact-details p{color:#d8e2ec}.contact .eyebrow{color:var(--orange)}.contact-details img{display:none}.footer-brand .logo-frame{margin-bottom:20px}.section-signature{border-left:0;padding-left:0;font-style:italic}.year-mark{color:#d1dbe6}
@media(max-width:1100px){.hero-writing{padding-right:35px}.editorial-hero .actions{display:block}.editorial-hero .button{margin:0 7px 10px 0}.field-photo{min-height:630px}.sector:first-child ul{grid-template-columns:1fr 1fr}.prevention>div:last-child{padding:50px 5vw}.field-detail>div{padding:30px}.field-detail h2{font-size:30px}}
@media(max-width:800px){.editorial-hero{grid-template-columns:1fr 1fr;min-height:600px}.hero-writing{padding:40px 25px 40px 5.5vw}.editorial-hero h1{font-size:48px}.field-photo{min-height:580px;margin:15px 15px 15px 0}.field-caption{left:20px;bottom:25px}.field-caption>b{font-size:21px}.hero-footnote{gap:15px;letter-spacing:0}.small-year{padding-right:15px}.methods>div{border-top-color:var(--line)}.prevention{grid-template-columns:1fr}.prevention-photo{min-height:360px}.field-detail{grid-template-columns:1fr 1fr}.field-detail>img{height:340px}.field-detail h2{font-size:27px}.sector-grid{gap:0 30px}}
@media(max-width:560px){.logo-frame{width:78px;height:80px}.brand .logo-frame img{width:155px;left:-40px;top:-14px}.site-header{padding:6px 6%}.editorial-hero{display:block}.hero-writing{padding:40px 6% 30px}.editorial-hero h1{font-size:51px;margin:22px 0}.editorial-hero .hero-intro{font-size:15px}.editorial-hero .actions{display:flex;gap:10px;flex-wrap:wrap}.editorial-hero .button{margin:0;font-size:11px;padding:13px 15px}.hero-footnote{margin-top:25px}.field-photo{margin:0 16px;min-height:360px;height:360px;border-radius:3px 3px 35px 3px}.field-photo>img{object-position:center 43%}.field-caption>b{font-size:23px}.editorial-hero{padding-bottom:16px}.methods{gap:22px;padding:25px 6%}.methods>span{font-size:11px}.methods>div{font-size:14px}.sector-grid{grid-template-columns:1fr}.sector:first-child{display:block;grid-column:auto}.sector:first-child h3{margin-top:18px}.sector:first-child ul{display:grid;grid-template-columns:1fr 1fr;margin-top:17px;gap:0 20px}.sector:last-child{grid-column:auto;display:block}.sector:last-child h3{margin-top:18px}.original-project .section-heading>p{margin-top:20px}.original-project{padding:45px 6%}.prevention-photo{min-height:300px}.prevention>div:last-child{padding:45px 6%}.field-detail{grid-template-columns:1fr;margin:35px 16px}.field-detail>img{height:260px}.field-detail>div{padding:30px}.field-detail h2{font-size:31px}.contact{padding:45px 6%;margin:0}.contact-details{border-top-color:#ffffff30}.footer-brand .logo-frame{margin:0}.footer-brand{grid-template-columns:78px 1fr}}

/* Authored field motion and a six-part, asymmetric métiers composition. */
::selection{background:#f5a127;color:#112840}h1,h2,h3{letter-spacing:-.035em;text-wrap:balance}.editorial-hero h1{letter-spacing:-.04em}.field-photo{animation:photo-reveal 1.1s cubic-bezier(.16,1,.3,1) both}.field-photo>img,.prevention-photo>img{height:116%;top:-8%;object-fit:cover;transition:none}.field-photo:hover>img{transform:none}.sector-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;border:0}.sector,.sector:first-child,.sector:last-child{border:0;border-radius:5px;padding:26px;background:#f2f5f8;display:flex;flex-direction:column;justify-content:flex-start;min-height:220px;position:relative;overflow:hidden;box-shadow:none;transition:background .3s,transform .3s}.sector:first-child{grid-column:span 6;grid-row:span 2;display:block;padding:34px;background:#f5f2eb}.sector-2{grid-column:span 6;min-height:235px!important;color:white!important;background:var(--navy)!important;justify-content:flex-end!important}.sector-3,.sector-4{grid-column:span 3}.sector-3{background:var(--navy)!important;color:white!important}.sector-4{background:#f2a62f!important;color:var(--navy)!important}.sector-5,.sector:last-child{grid-column:span 6;background:#edf3fa;display:flex;min-height:220px}.sector:last-child{background:#e8edf2}.sector:first-child .sector-top,.sector:first-child h3,.sector:first-child ul{grid-column:auto;grid-row:auto}.sector:first-child h3{margin-top:30px}.sector:first-child ul{display:block;margin-top:24px}.sector li{display:flex;align-items:center;gap:13px;padding:10px 0;font-size:14px;line-height:1.5;border-bottom:1px solid #132b4010}.sector li:last-child{border-bottom:0}.sector li>svg{display:block;width:19px;height:19px;flex:none;stroke:var(--blue);stroke-width:1.3;fill:none}.sector-top,.sector:last-child .sector-top{display:flex;justify-content:space-between;gap:15px;align-items:center;position:relative;z-index:1}.sector-top svg,.sector:last-child .sector-top svg{display:block;width:35px;height:35px;padding:0;stroke:var(--blue);background:transparent;stroke-width:1.25;fill:none}.sector-top>span{font-size:12px;font-weight:500;color:#6b7d91}.sector h3,.sector:last-child h3{font-size:25px;margin:25px 0 0;position:relative;z-index:1}.sector ul{position:relative;z-index:1;margin:20px 0 0}.sector-3 ul li{font-size:13px;border-color:#ffffff1a}.sector-3 .sector-top svg{stroke:var(--orange)}.sector-3 .sector-top>span{color:#b6c7d8}.sector-3 li>svg{stroke:#edc47d}.sector-4 .sector-top svg{stroke:var(--navy)}.sector-4 .sector-top>span{color:#38546d}.sector-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}.sector-2:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#102840e8,#10284028)}.sector-2 .sector-top{position:absolute;left:26px;right:26px;top:24px}.sector-2 .sector-top svg{stroke:white}.sector-2 .sector-top>span{color:white}.sector-2 h3{font-size:32px}.sector:hover{transform:translateY(-3px);box-shadow:none}.sector-2:hover .sector-photo{transform:scale(1.05)}.sector li:hover{color:var(--blue)}.sector-3 li:hover{color:#fff}.sector:hover .sector-top svg{animation:icon-rise .45s cubic-bezier(.16,1,.3,1)}.expertise{padding-top:85px;padding-bottom:85px}.expertise .section-heading{margin-bottom:40px}.prevention-photo{min-height:610px}.prevention-photo>img{object-position:50% center}.field-detail>img{height:390px}.reveal{opacity:1;transform:none}.inview .sector-top path{animation:draw 1.1s ease both}.inview .sector:nth-child(2) .sector-top path{animation-delay:.08s}.inview .sector:nth-child(3) .sector-top path{animation-delay:.16s}.inview .sector:nth-child(4) .sector-top path{animation-delay:.24s}.year-mark{font-size:95px}.hero-footnote{padding-top:5px}.section-signature{font-style:normal}.hero-writing>.eyebrow{font-size:11px}.button{transition:background .25s,transform .25s}.outline:hover{background:var(--navy);color:white}.orange:hover{background:#e99a21}.site-header .dark:hover{background:var(--blue)}
@keyframes photo-reveal{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}@keyframes icon-rise{from{transform:translateY(4px)}to{transform:translateY(0)}}
@media(max-width:1000px){.sector:first-child{padding:27px}.sector-3,.sector-4{grid-column:span 3;padding:22px 18px}.sector h3{font-size:22px}.sector li{font-size:13px}.sector-3 li{gap:8px}.sector-3 li>svg{display:none}}
@media(max-width:700px){.sector:first-child{grid-column:span 7;grid-row:span 2}.sector-2{grid-column:span 5;min-height:230px!important}.sector-3{grid-column:span 5}.sector-4,.sector-5{grid-column:span 6}.sector:last-child{grid-column:1/-1;min-height:160px;display:flex;flex-direction:row;align-items:center;gap:30px}.sector:last-child .sector-top{gap:22px}.sector:last-child h3{margin:0}}
@media(max-width:560px){.sector-grid{grid-template-columns:1fr 1fr;gap:12px}.sector:first-child{grid-column:1/-1;grid-row:auto;padding:26px}.sector:first-child ul{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.sector:first-child li{font-size:12px;gap:9px;align-items:start}.sector:first-child li>svg{width:16px;height:16px;margin-top:1px}.sector-2{grid-column:1/-1;min-height:250px!important}.sector-3,.sector-4{grid-column:span 1;min-height:220px;padding:22px 18px}.sector-3 li{font-size:12px}.sector-5,.sector:last-child{grid-column:1/-1;min-height:150px}.sector-5{display:grid;grid-template-columns:1fr 1.3fr;gap:12px}.sector-5 .sector-top{grid-column:1;gap:20px;justify-content:flex-start}.sector-5 h3{grid-column:1;margin:0}.sector-5 ul{grid-column:2;grid-row:1/3;margin:0;align-self:center}.sector h3{font-size:22px}.sector:last-child h3{font-size:23px}.expertise{padding:55px 6%}.prevention-photo{min-height:320px}.field-detail>img{height:270px}}
@media(prefers-reduced-motion:reduce){.field-photo{clip-path:none}.field-photo>img,.prevention-photo>img{height:100%;top:0;transform:none!important}.sector:hover,.sector-2:hover .sector-photo{transform:none}}

/* Full-width chantier cover and one compact métiers stage. */
.logo-frame{width:98px;height:100px}.brand .logo-frame img,.footer-brand .logo-frame img{width:140px;left:-22px;top:-10px}.site-header{background:white;padding:4px 5.5%}.brand>span{max-width:130px;font-size:10px}.fullbleed-hero{display:block;position:relative;min-height:690px;padding:0;background:var(--navy);overflow:hidden}.fullbleed-hero .field-photo{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;border-radius:0;animation:none}.fullbleed-hero .field-photo>img{width:100%;height:116%;top:-8%;object-fit:cover;object-position:50% 42%}.fullbleed-hero .field-photo:after{background:linear-gradient(90deg,#061a30eb 0%,#061a30a8 37%,#061a3020 72%)}.fullbleed-hero .hero-writing{position:relative;z-index:1;width:55%;padding:70px 0 65px 5.5%;min-height:690px;justify-content:center;color:#fff}.fullbleed-hero h1{font-size:clamp(48px,5.4vw,78px);line-height:1.07;margin-top:0;margin-bottom:25px;color:white}.fullbleed-hero h1 em{color:#ffc064}.fullbleed-hero .hero-intro{font-size:16px;line-height:1.8;color:#e5edf5;max-width:475px}.fullbleed-hero .outline{background:transparent;color:white;border-color:#ffffff70}.fullbleed-hero .outline:hover{background:#fff;color:var(--navy)}.fullbleed-hero .hero-footnote{color:#c3d2e1}.fullbleed-hero .small-year{border-color:#ffffff38}.fullbleed-hero .small-year b{color:white}.scroll-cue{position:absolute;right:5.5%;bottom:40px;width:24px;height:40px;border:1px solid #ffffff90;border-radius:14px;z-index:1}.scroll-cue>span{display:block;width:3px;height:7px;background:white;margin:8px auto;animation:scroll-mark 1.8s ease-in-out infinite}.methods{padding:26px 5.5%}.methods>span{font-size:14px}.trade-tabs{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line);margin-bottom:0}.trade-tabs button{appearance:none;border:0;background:white;padding:22px 12px;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;font:650 14px/1.4 'DM Sans',sans-serif;color:var(--muted);position:relative;transition:color .25s,background .25s}.trade-tabs button:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s}.trade-tabs button[aria-selected=true]{color:var(--blue);background:#f5f7fa}.trade-tabs button[aria-selected=true]:after{transform:scaleX(1)}.trade-tabs button:hover{background:#f5f7fa;color:var(--blue)}.trade-tabs svg{width:27px;height:27px;stroke:currentColor;stroke-width:1.4;fill:none;flex:none}.trade-tabs button:focus-visible{outline:3px solid var(--orange);outline-offset:-4px}.trade-stage{background:#f5f7fa;border-radius:0 0 5px 5px;overflow:hidden}.trade-panel{display:grid;grid-template-columns:1fr 1fr;min-height:425px}.trade-panel[hidden]{display:none}.trade-copy{padding:36px 38px}.trade-copy h3{font-size:34px;margin:0 0 24px}.trade-copy ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:13px 25px}.trade-copy li{display:flex;align-items:center;gap:11px;font-size:14px;line-height:1.55}.trade-copy li svg{width:19px;height:19px;stroke:var(--blue);stroke-width:1.3;fill:none;flex:none}.trade-copy p{font-size:16px;line-height:1.85;color:var(--muted);max-width:400px}.trade-visual{overflow:hidden;position:relative;min-height:425px}.trade-visual img{width:100%;height:100%;object-fit:cover;position:absolute;animation:trade-photo .55s cubic-bezier(.16,1,.3,1)}.trade-copy{animation:trade-copy .4s cubic-bezier(.16,1,.3,1)}.section-heading{align-items:center}.section-heading h2{margin-top:0}.section-signature{color:var(--muted)}.original-project{padding-left:0;padding-right:0}.original-project .section-heading{padding:0 5.5%}.original-project .hero-photo{width:100%;max-width:none;border-radius:0}.company{padding-top:85px}.prevention-photo>img{object-position:50% center}.field-detail{margin-left:0;margin-right:0;border-radius:0}.year-mark{color:#5a7290}
@keyframes scroll-mark{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(14px);opacity:1}}@keyframes trade-photo{from{transform:scale(1.04);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes trade-copy{from{transform:translateY(8px);opacity:.5}to{transform:none;opacity:1}}
@media(max-width:1100px){.fullbleed-hero .hero-writing{width:60%}.trade-tabs button{font-size:12px;gap:8px}.trade-tabs svg{width:23px}.trade-copy{padding:30px}.trade-copy ul{gap:13px 17px}.trade-copy li{font-size:13px}}
@media(max-width:800px){.fullbleed-hero .hero-writing{width:70%;min-height:660px;padding:55px 0 50px 5.5%}.fullbleed-hero{min-height:660px}.fullbleed-hero h1{font-size:58px}.trade-tabs{grid-template-columns:repeat(3,1fr)}.trade-tabs button{font-size:14px;padding:17px 12px}.trade-panel{grid-template-columns:1fr 1fr}.trade-copy ul{grid-template-columns:1fr}.trade-visual{min-height:440px}.trade-copy h3{font-size:28px}}
@media(max-width:560px){.logo-frame{width:83px;height:90px}.brand .logo-frame img{width:126px;left:-23px;top:-10px}.site-header{padding:3px 6%}.fullbleed-hero{min-height:680px;padding:0}.fullbleed-hero .hero-writing{width:100%;min-height:680px;padding:48px 6% 45px}.fullbleed-hero h1{font-size:49px}.fullbleed-hero .hero-intro{font-size:15px;max-width:100%}.fullbleed-hero .field-photo{margin:0;min-height:0;border-radius:0}.fullbleed-hero .field-photo>img{height:100%;top:0;object-position:57% center}.fullbleed-hero .field-photo:after{background:linear-gradient(90deg,#061a30e6,#061a30a8)}.fullbleed-hero .hero-footnote{margin-top:30px}.fullbleed-hero .actions{flex-wrap:wrap}.fullbleed-hero .button{font-size:11px;min-height:50px}.scroll-cue{display:none}.methods{padding:24px 6%;gap:24px}.methods>span{font-size:12px}.trade-tabs button{font-size:11px;padding:16px 6px;gap:6px;flex-direction:column}.trade-tabs svg{width:24px;height:24px}.trade-panel{grid-template-columns:1fr;min-height:0}.trade-copy{padding:27px 23px}.trade-copy ul{grid-template-columns:1fr 1fr;gap:14px}.trade-copy li{font-size:12px;gap:8px;align-items:flex-start}.trade-copy li svg{width:16px;height:16px;margin-top:1px}.trade-copy h3{font-size:28px}.trade-visual{min-height:250px;height:250px}.trade-copy p{font-size:15px}.original-project{padding:40px 0}.original-project .section-heading{padding:0 6%}.original-project .hero-photo{border-radius:0}.field-detail{margin:0}.company{padding-top:55px}.fullbleed-hero .small-year{padding-right:20px}.fullbleed-hero .hero-footnote{gap:20px}}
@media(prefers-reduced-motion:reduce){.scroll-cue>span{animation:none}.trade-copy,.trade-visual img{animation:none}.fullbleed-hero .field-photo>img{transform:none!important}}

.button,.editorial-hero .button,.fullbleed-hero .button{border-radius:5px}.trade-stage{border-radius:5px}.trade-tabs button:first-child{border-radius:5px 0 0 0}.trade-tabs button:last-child{border-radius:0 5px 0 0}.fullbleed-hero .hero-writing{width:100%;text-align:center;align-items:center;padding:65px 6%;min-height:620px}.fullbleed-hero{min-height:620px}.fullbleed-hero h1{font-size:clamp(45px,5.4vw,78px);max-width:1050px;line-height:1.12}.fullbleed-hero .hero-intro{max-width:650px;font-size:16px}.fullbleed-hero .actions{justify-content:center;display:flex}.fullbleed-hero .hero-footnote{justify-content:center}.fullbleed-hero .field-photo>img{height:130%;top:-15%;object-position:center 45%}.fullbleed-hero .field-photo:after{background:linear-gradient(0deg,#061a30dd,#061a3077)}.original-photo{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px}.original-photo summary{cursor:pointer;font-size:12px;padding:10px 0}.original-photo img{width:100%;max-width:955px;margin-top:20px;border-radius:5px}.hero-intro .button{white-space:normal}.trade-tabs button{border-radius:5px 5px 0 0}@media(max-width:560px){.fullbleed-hero,.fullbleed-hero .hero-writing{min-height:650px}.fullbleed-hero .hero-writing{padding:50px 6%}.fullbleed-hero h1{font-size:43px}.fullbleed-hero .hero-intro{font-size:15px}.fullbleed-hero .field-photo>img{height:100%;top:0}.fullbleed-hero .actions{gap:10px}.fullbleed-hero .button{font-size:11px;padding:13px}.fullbleed-hero .field-photo:after{background:#061a30b8}}

/* Final tab compositions: large sector drawing, stacked short service lists. */
.trade-copy{position:relative;isolation:isolate;overflow:hidden}.trade-watermark{position:absolute;width:220px;height:220px;right:20px;bottom:16px;stroke:#c9d3df;stroke-width:.7;fill:none;opacity:.55;z-index:-1;transform:rotate(-8deg)}
#trade-panel-2 ul,#trade-panel-4 ul{grid-template-columns:1fr;gap:20px;max-width:380px}#trade-panel-2 li,#trade-panel-4 li{font-size:16px;font-weight:550}.trade-copy p{position:relative}.trade-panel{min-height:370px}.trade-visual{min-height:370px}.trade-visual img{object-position:center}.trade-copy li{position:relative}.hero-footnote{margin-top:25px}.original-photo img{max-width:1200px}.prevention-photo>img{height:130%;top:-15%}
@media(max-width:560px){.trade-panel{min-height:0}.trade-visual{height:270px;min-height:270px}.trade-watermark{width:165px;height:165px;opacity:.4}.trade-copy li{font-size:14px}.trade-copy{min-height:240px}.prevention-photo>img{height:100%;top:0}}

#trade-panel-0 .trade-visual img{object-position:center top}.trade-copy li svg{stroke-width:1.5}.trade-copy>svg{pointer-events:none}

.site-header .brand .logo-frame{display:block;flex:none}.site-header .brand{min-width:98px}.site-header .brand .logo-frame{max-width:none}.trade-visual img{animation-duration:.25s}.hero-intro{animation:none!important}@media(max-width:560px){.site-header .brand .logo-frame{width:75px;height:78px}.site-header .brand .logo-frame img{width:115px;left:-22px;top:-10px}.site-header .brand{min-width:75px}.site-header{min-height:82px}.site-header .brand>span:not(.logo-frame){display:none}}

/* Preserve the entire Abside wordmark: no clipping mask. */
.logo-frame,.site-header .brand .logo-frame{overflow:visible!important}.brand .logo-frame img,.footer-brand .logo-frame img{left:-15px;top:-7px;width:130px}@media(max-width:560px){.site-header .brand .logo-frame img{left:-15px;top:-5px;width:105px}}

.field-detail{margin:0;background:var(--navy);color:white;border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20}.field-detail>div{padding:55px 10%;align-self:center}.field-detail h2{font-size:clamp(35px,4.2vw,60px);line-height:1.12;margin:0;max-width:560px}.field-detail>img{height:440px}.certification-heading{display:flex;align-items:center;gap:25px;justify-content:space-between;margin-bottom:28px}.certification-heading h2{margin:0}.certification-heading img{width:65px;height:65px;object-fit:contain;background:white;padding:8px;border-radius:5px;flex:none}footer{background:var(--navy);color:#c4d2e0;border-top:1px solid #ffffff25}.footer-menu h3{color:white}.footer-bottom,.original-photo{border-color:#ffffff25}.footer-brand .logo-frame{background:white;border-radius:5px}.footer-brand .logo-frame img{width:120px;left:-12px;top:-4px}@media(max-width:560px){.field-detail>img{height:290px}.field-detail>div{padding:40px 6%}.field-detail h2{font-size:38px}.certification-heading{gap:14px}.certification-heading h2{font-size:32px}.certification-heading img{width:52px;height:52px}}

.year-mark .year-label{font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;color:#5a7290}

.accent{color:#ffc064}.year-mark.inview{animation:year-arrive .8s cubic-bezier(.16,1,.3,1)}@keyframes year-arrive{from{transform:translateY(18px);opacity:.5}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.year-mark.inview{animation:none}}

/* Full-width terrain photograph, right-aligned statement. */
.field-detail{display:flex;align-items:center;justify-content:flex-end;min-height:510px;position:relative;isolation:isolate;overflow:hidden}.field-detail>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.field-detail:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#11284008 0%,#11284040 35%,#112840e6 72%,#112840f5);z-index:-1}.field-detail>div{width:45%;padding:60px 5.5% 60px 3%}.field-detail h2{font-size:clamp(36px,4.2vw,60px)}@media(max-width:700px){.field-detail{min-height:450px;align-items:flex-end}.field-detail>div{width:100%;padding:40px 6%}.field-detail h2{font-size:39px;max-width:400px}.field-detail:after{background:linear-gradient(0deg,#112840ef,#11284060 70%,#11284025)}.field-detail>img{object-position:35% center}}

.cert-logos img[src*="03-certification"]{border-radius:7px;overflow:hidden}

/* Shared CAIRN group banner */
.cairn-groupbar{box-sizing:border-box;background:#102d4b;color:#fff;display:flex;justify-content:space-between;padding:11px 5.5%;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:400;line-height:normal;letter-spacing:.07em;gap:16px}.cairn-groupbar i{color:#fbad42;font-style:normal;margin-left:12px}@media(max-width:560px){.cairn-groupbar{padding:10px 5%;letter-spacing:0}.cairn-groupbar>span{font-size:8px}}
