:root{--petrol-900:#0A2C32;--petrol-800:#0E3B43;--petrol-600:#1D5A63;--petrol-400:#5E8A90;--petrol-200:#C9DADB;--petrol-100:#E4EDED;--coral-600:#C9432B;--coral-500:#E8553A;--coral-300:#FF7A5C;--coral-100:#FDE6E0;--paper:#F1F5F4;--white:#FFFFFF;--text:#2B3A3D;--muted:#5A6B6E;--line:#D6E0DF;--max:1160px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:40px;--space-6:48px;--space-8:64px;--space-10:80px;--space-12:96px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--white);color:var(--text);font-family:Manrope,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:26px;-webkit-font-smoothing:antialiased}button{font:inherit}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{color:var(--petrol-800)}h1{font-size:40px;line-height:48px;font-weight:700;letter-spacing:-.01em}h2{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-.01em}h3{font-size:20px;line-height:28px;font-weight:600}::selection{background:var(--coral-100);color:var(--petrol-900)}:focus-visible{outline:3px solid var(--coral-600);outline-offset:3px}
.container{width:min(calc(100% - 96px),var(--max));margin-inline:auto}.skip-link{position:absolute;z-index:100;left:20px;top:-70px;background:var(--petrol-800);color:var(--white);padding:10px 16px;border-radius:6px}.skip-link:focus{top:12px}.section{padding-block:88px}.section-number{color:var(--petrol-600);font-size:12px;line-height:20px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:32px}.section-heading h2{margin:13px 0 0}.section-heading>p{max-width:440px;margin:0;color:var(--muted)}
.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:8px 16px;border:1px solid var(--petrol-800);border-radius:6px;font-size:14px;line-height:22px;font-weight:700;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s}.button span{font-size:17px;line-height:1}.button-primary{background:var(--petrol-800);color:var(--white)}.button-primary:hover{background:var(--petrol-600);border-color:var(--petrol-600)}.button-secondary{background:transparent;color:var(--petrol-800)}.button-secondary:hover{background:var(--petrol-100)}.text-link{display:inline-flex;gap:24px;align-items:center;padding-bottom:4px;border-bottom:1px solid currentColor;color:var(--petrol-800);font-size:14px;line-height:22px;font-weight:700}.text-link:hover{color:var(--coral-600)}
.site-header{position:relative;z-index:30;height:72px;background:var(--white);border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;flex:none}.brand img{height:32px;width:auto}.desktop-nav{display:flex;align-items:center;gap:29px;margin-left:auto;color:var(--petrol-800)}.desktop-nav>a,.nav-dropdown>summary{font-size:14px;line-height:22px;font-weight:600;cursor:pointer}.desktop-nav>a:hover,.nav-dropdown>summary:hover{color:var(--coral-600)}.nav-dropdown{position:relative}.nav-dropdown>summary{list-style:none;display:flex;align-items:center;gap:8px}.nav-dropdown>summary::-webkit-details-marker{display:none}.nav-dropdown>summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}.nav-dropdown[open]>summary::after{transform:rotate(225deg) translate(-2px,-1px)}.dropdown-panel{position:absolute;top:calc(100% + 20px);left:-16px;width:290px;padding:8px;background:var(--white);border:1px solid var(--line);border-radius:8px}.dropdown-panel a{display:block;padding:10px 12px;border-radius:4px;font-size:13px;line-height:20px;font-weight:600;color:var(--petrol-800)}.dropdown-panel a:hover{background:var(--paper);color:var(--coral-600)}.header-quote{margin-left:4px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none!important}
.hero{background:var(--paper);border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:56px;padding-block:52px;min-height:420px}.hero-copy{max-width:630px}.eyebrow{margin-bottom:16px;color:var(--petrol-600);font-size:12px;line-height:20px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero h1{max-width:620px;margin:0 0 18px}.hero-lead{max-width:65ch;margin:0 0 28px;color:var(--text);font-size:16px;line-height:26px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-figure{margin:0;align-self:center;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:var(--white);overflow:hidden}.figure-heading{display:flex;justify-content:space-between;gap:20px;padding:13px 18px 10px;border-bottom:1px solid var(--line);color:var(--petrol-600);font-size:11px;line-height:18px;font-weight:700;letter-spacing:.04em}.hero-figure img{width:100%;height:220px;object-fit:contain;padding:8px 12px;flex:none}.hero-figure figcaption{padding:9px 18px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:18px}
.intro-grid{display:grid;grid-template-columns:120px minmax(0,1fr) 280px;gap:40px;align-items:start}.intro-copy h2{margin:0 0 23px;max-width:580px}.intro-copy p{max-width:65ch;margin:0 0 16px}.intro-copy p:last-child{margin-bottom:0}.audience{border-left:1px solid var(--line);padding-left:24px}.audience h3{font-size:14px;line-height:22px;font-weight:700;margin:0 0 16px}.audience ul{list-style:none;padding:0;margin:0}.audience li{padding:10px 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px;line-height:22px}
.expertise{background:var(--paper);border-block:1px solid var(--line)}.expertise-list{border-top:1px solid var(--petrol-200)}.expertise-row{border-bottom:1px solid var(--petrol-200);background:transparent}.expertise-row[open]{background:var(--white)}.expertise-row summary{display:grid;grid-template-columns:62px minmax(0,1fr) 100px;gap:20px;align-items:start;padding:22px 16px 22px 0;list-style:none;cursor:pointer}.expertise-row summary::-webkit-details-marker{display:none}.expertise-row summary:hover .expertise-action{color:var(--coral-600)}.expertise-number{color:var(--petrol-600);font-size:14px;line-height:28px;font-weight:700;font-variant-numeric:tabular-nums}.expertise-main{display:grid;grid-template-columns:minmax(210px,.75fr) 1fr;gap:24px}.expertise-main strong{font-size:20px;line-height:28px;font-weight:600;color:var(--petrol-800)}.expertise-main>span{max-width:55ch;color:var(--muted);font-size:14px;line-height:23px}.expertise-action{display:flex;justify-content:space-between;gap:8px;color:var(--petrol-800);font-size:13px;line-height:26px;font-weight:700}.expertise-action i{font-size:17px;font-style:normal}.expertise-row[open] .expertise-action i{transform:rotate(90deg)}.expertise-detail{margin:0 116px 24px 82px;padding:16px 24px;border-left:2px solid var(--coral-500);background:var(--paper)}.expertise-detail p{margin:0 0 8px;color:var(--petrol-600);font-size:12px;line-height:20px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.expertise-detail ul{margin:0;padding-left:19px;columns:2;column-gap:28px}.expertise-detail li{break-inside:avoid;padding:3px 0;color:var(--text);font-size:14px;line-height:22px}.supporting-field{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:start;padding-top:25px}.supporting-field h3{margin:0 0 6px;font-size:18px}.supporting-field p{margin:0;color:var(--muted);font-size:14px;line-height:22px}
.process-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}.process-list li{position:relative;padding:24px 18px 0 0}.process-list li:not(:last-child)::after{content:"";position:absolute;top:-4px;right:10px;width:7px;height:7px;border:1px solid var(--coral-600);border-radius:50%;background:var(--white)}.process-number{display:block;margin-bottom:15px;color:var(--coral-600);font-size:14px;line-height:22px;font-weight:700;font-variant-numeric:tabular-nums}.process-list h3{margin:0 0 10px}.process-list p{max-width:230px;margin:0;color:var(--muted);font-size:14px;line-height:22px}
.numbers{padding-block:34px;border-block:1px solid var(--line);background:var(--paper)}.numbers-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:16px}.numbers-heading h2{margin:0;font-size:16px;line-height:24px}.numbers-heading p{margin:0;color:var(--muted);font-size:12px;line-height:20px}.numbers-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0}.numbers-list>div{padding-top:12px;border-top:1px solid var(--petrol-200)}.numbers-list dt{color:var(--muted);font-size:13px;line-height:21px}.numbers-list dd{margin:6px 0 0;color:var(--petrol-800);font-size:32px;line-height:40px;font-weight:700;font-variant-numeric:tabular-nums}
.project-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:28px 32px}.project-card-01{grid-row:span 2}.project-visual{position:relative;min-height:178px;overflow:hidden;border:1px dashed var(--petrol-200);border-radius:8px;background:var(--paper);display:flex;align-items:end;padding:15px}.project-card-01 .project-visual{min-height:420px}.project-visual svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--petrol-200);stroke-width:1}.project-visual svg .route{stroke:var(--petrol-400);stroke-width:2}.project-visual svg circle{fill:var(--coral-500);stroke:none}.project-visual span{position:relative;z-index:1;padding:5px 8px;background:var(--white);border:1px solid var(--line);color:var(--petrol-600);font-size:11px;line-height:18px}.project-meta{display:flex;justify-content:space-between;gap:16px;margin-top:13px;color:var(--petrol-600);font-size:11px;line-height:18px;font-weight:700;letter-spacing:.05em}.project-card h3{margin:6px 0 2px;font-size:20px;line-height:28px}.project-card p{margin:0;color:var(--muted);font-size:13px;line-height:21px}
.team{border-top:1px solid var(--line)}.team-grid{display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:80px}.team-image{min-height:285px;display:flex;align-items:center;justify-content:center;padding:24px;border:1px dashed var(--petrol-200);border-radius:8px;background:var(--paper);text-align:center;color:var(--petrol-600);font-size:13px;line-height:22px}.team-image span{max-width:220px}.team-copy h2{margin:13px 0 18px}.team-copy p{max-width:65ch;margin:0 0 22px}
.cta{background:var(--petrol-900);color:var(--white)}.cta-inner{display:grid;grid-template-columns:1.25fr .75fr;gap:72px;align-items:center;padding-block:56px}.cta h2{max-width:520px;margin:0 0 14px;color:var(--white)}.cta p{max-width:540px;margin:0;color:#D3E1E2}.cta-contact{padding-left:32px;border-left:1px solid #5E8A90}.cta-contact h3{color:var(--white);font-size:14px;line-height:22px;margin:0 0 12px}.cta-contact dl{margin:0}.cta-contact dl>div{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:5px 0;font-size:13px;line-height:21px}.cta-contact dt{color:#AAC4C7}.cta-contact dd{margin:0;color:var(--white)}
.site-footer{background:var(--petrol-800);color:var(--white);padding-top:52px}.footer-grid{display:grid;grid-template-columns:1.55fr 1fr 1.25fr 1fr;gap:42px;padding-bottom:44px}.footer-brand{display:inline-block}.footer-brand img{height:32px;width:auto}.footer-grid>div:first-child p{max-width:240px;margin:17px 0 0;color:#D4E1E2;font-size:13px;line-height:22px}.footer-grid h2{margin:0 0 14px;color:var(--white);font-size:13px;line-height:21px;font-weight:700}.footer-grid nav,.footer-grid>div{display:flex;flex-direction:column;align-items:start}.footer-grid a:not(.footer-brand),.footer-grid>div>p,.footer-muted{margin:0 0 8px;color:#D4E1E2;font-size:12px;line-height:20px}.footer-grid a:hover{color:var(--coral-300)}.footer-muted{color:#AAC4C7}.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-block:18px;border-top:1px solid #41666B;color:#C0D4D5;font-size:12px;line-height:20px}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:20px}.footer-bottom a:hover{color:var(--coral-300)}
@media(max-width:1120px){.desktop-nav{gap:18px}.header-inner{gap:18px}.hero-grid{gap:32px}.intro-grid{grid-template-columns:100px 1fr 230px;gap:24px}.expertise-main{grid-template-columns:minmax(185px,.78fr) 1fr}}
@media(max-width:900px){.container{width:min(calc(100% - 48px),var(--max))}.desktop-nav,.header-quote{display:none}.header-inner{justify-content:space-between}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--petrol-800);cursor:pointer}.menu-toggle span{width:18px;height:1.5px;background:currentColor}.mobile-nav:not([hidden]){position:absolute;top:71px;left:0;right:0;display:flex;flex-direction:column;padding:12px 24px 22px;background:var(--white);border-bottom:1px solid var(--line);max-height:calc(100vh - 72px);overflow:auto}.mobile-nav a{padding:10px 0;border-bottom:1px solid var(--line);color:var(--petrol-800);font-size:14px;line-height:22px;font-weight:600}.mobile-nav .mobile-sub{padding-left:16px;color:var(--muted);font-size:13px;font-weight:500}.mobile-nav .mobile-quote{margin-top:12px;padding:10px 14px;background:var(--petrol-800);border:0;border-radius:6px;color:var(--white);display:flex;justify-content:space-between}.hero-grid{grid-template-columns:1fr;gap:32px;min-height:0;padding-block:44px}.hero-copy{max-width:720px}.hero-figure{min-height:260px}.hero-figure img{height:220px}.intro-grid{grid-template-columns:100px 1fr}.audience{grid-column:2}.expertise-main{grid-template-columns:1fr;gap:5px}.project-grid{gap:24px}.team-grid{gap:42px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}
@media(max-width:620px){html{scroll-padding-top:76px}.container{width:calc(100% - 40px)}.section{padding-block:56px}h1{font-size:30px;line-height:38px}h2{font-size:24px;line-height:32px}h3{font-size:20px;line-height:28px}.section-heading{display:block;margin-bottom:24px}.section-heading>p{margin-top:12px}.hero-grid{padding-block:36px;gap:28px}.hero h1{margin-bottom:14px}.hero-lead{margin-bottom:22px}.hero-actions{gap:8px}.hero-actions .button{width:100%;justify-content:space-between}.hero-figure{min-height:220px}.hero-figure img{height:190px}.figure-heading{font-size:10px}.intro-grid{grid-template-columns:1fr;gap:14px}.audience{grid-column:auto;margin-top:12px}.expertise-row summary{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:17px 8px 17px 0}.expertise-main strong{font-size:18px;line-height:26px}.expertise-main>span{font-size:13px;line-height:21px}.expertise-action{grid-column:2;justify-content:start;font-size:12px;line-height:18px}.expertise-detail{margin:0 0 18px 45px;padding:12px 14px}.expertise-detail ul{columns:1}.supporting-field{grid-template-columns:1fr;gap:6px}.process-list{grid-template-columns:1fr;border-top:0;border-left:1px solid var(--line);margin-left:5px}.process-list li{padding:0 0 25px 26px}.process-list li::before{content:"";position:absolute;top:7px;left:-4px;width:7px;height:7px;border:1px solid var(--coral-600);border-radius:50%;background:var(--white)}.process-list li:not(:last-child)::after{display:none}.process-number{margin-bottom:5px}.process-list h3{margin-bottom:5px}.process-list p{max-width:none}.numbers-heading{display:block}.numbers-heading p{margin-top:4px}.numbers-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.numbers-list dd{font-size:30px}.project-grid{grid-template-columns:1fr}.project-card-01{grid-row:auto}.project-card-01 .project-visual{min-height:220px}.project-visual{min-height:200px}.team-grid{grid-template-columns:1fr;gap:24px}.team-image{min-height:220px}.cta-inner{grid-template-columns:1fr;gap:28px;padding-block:40px}.cta-contact{padding:20px 0 0;border-left:0;border-top:1px solid #5E8A90}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{align-items:start;flex-direction:column}.footer-bottom>div{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:900px){.hero-grid{padding-block:36px;gap:24px}.hero-figure{min-height:0;align-self:auto}.hero-figure img{height:190px;flex:none}}
@media(max-width:620px){.hero-grid{padding-block:18px;gap:16px}.hero-figure img{height:160px}}
