﻿@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&display=swap');
:root{--ink:#010e3a;--ink-2:#010e3a;--paper:#eeeae5;--white:#faf8f4;--steel:#8a969c;--orange:#010e3a;--maroon:#010e3a;--maroon-deep:#010e3a;--line:rgba(1,14,58,.18);--pad:clamp(1.25rem,4vw,5rem);--display:"Barlow Condensed",sans-serif;--editorial:"DM Serif Display",Georgia,serif;--body:"Manrope",sans-serif;--mono:"IBM Plex Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.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}.skip-link{position:fixed;top:0;left:1rem;z-index:999;background:var(--orange);color:#fff;padding:.8rem 1rem;transform:translateY(-110%)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.site-header{position:absolute;z-index:30;top:0;left:0;width:100%;height:92px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.2);transition:background .3s}.site-header.is-scrolled{position:fixed;background:rgba(1,14,58,.95);backdrop-filter:blur(14px);height:76px}.brand{display:inline-flex;align-items:center;gap:.75rem;width:max-content;font:600 1.35rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase}.brand small{display:block;color:var(--orange);font:500 .55rem/1.8 var(--mono);letter-spacing:.32em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;font:600 1.5rem var(--display);clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}.site-nav{display:flex;gap:clamp(1.4rem,3vw,3.2rem);font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.12em}.site-nav a{position:relative;opacity:.75}.site-nav a:hover,.site-nav a.active{opacity:1}.site-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:var(--orange)}.header-cta{justify-self:end;font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.header-cta span,.text-link span,.button span{color:var(--orange);margin-left:.5rem}.menu-toggle{display:none;background:none;border:0;width:42px;padding:8px}.menu-toggle span:not(.sr-only){display:block;height:2px;background:#fff;margin:6px 0}
.hero{position:relative;min-height:900px;height:100svh;color:#fff;overflow:hidden;background:var(--ink)}.hero-media{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1503387762-592deb58ef4e?w=2000&q=90&fm=webp') center/cover no-repeat;filter:saturate(.7)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,15,28,.92) 0%,rgba(3,15,28,.55) 52%,rgba(3,15,28,.12) 100%),linear-gradient(0deg,rgba(3,15,28,.65),transparent 55%)}.hero-grid{position:absolute;inset:92px 0 0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:25% 100%,25% 100%;border-top:0}.hero-content{position:absolute;left:var(--pad);bottom:clamp(8rem,17vh,12rem);z-index:2;max-width:1040px}.eyebrow{margin:0 0 1.5rem;font:500 .68rem var(--mono);letter-spacing:.16em;text-transform:uppercase}.eyebrow span{color:var(--orange)}.eyebrow.light{color:rgba(255,255,255,.75)}.hero h1,.statement h2,.section-head h2,.services-intro h2,.process h2,.proof blockquote,.contact-band h2,.page-hero h1{font-family:var(--display);text-transform:uppercase;letter-spacing:-.025em;line-height:.88;margin:0}.hero h1{font-size:clamp(4.6rem,10vw,9.5rem);font-weight:600}.hero h1 em,.proof em{color:var(--orange);font-style:normal}.hero-copy{font-size:clamp(1rem,1.35vw,1.3rem);max-width:520px;margin:2rem 0;color:rgba(255,255,255,.8)}.hero-actions{display:flex;gap:2rem;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 1.5rem;font:500 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent}.button.primary{background:var(--orange);color:#fff}.button.primary span{color:#fff}.button.dark{background:var(--ink);color:#fff}.text-link{font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid currentColor;padding:.5rem 0}.hero-index{position:absolute;z-index:2;right:var(--pad);bottom:clamp(7.5rem,16vh,11rem);width:min(310px,25vw);border-top:1px solid rgba(255,255,255,.4)}.hero-index div{display:grid;grid-template-columns:40px 1fr;border-bottom:1px solid rgba(255,255,255,.25);padding:1rem 0}.hero-index span{color:var(--orange);font:.65rem var(--mono)}.hero-index p{margin:0;font-size:.8rem}.scroll-note{position:absolute;z-index:2;left:var(--pad);bottom:2rem;margin:0;font:.62rem var(--mono);text-transform:uppercase;letter-spacing:.15em}.scroll-note span{color:var(--orange);margin-left:1rem}
.section-pad{padding:clamp(5rem,10vw,10rem) var(--pad)}.statement{display:grid;grid-template-columns:1fr 3fr;gap:2rem}.section-label{font:.65rem var(--mono);text-transform:uppercase;letter-spacing:.15em;border-top:1px solid var(--ink);padding-top:1rem}.statement-copy h2{font-size:clamp(3.5rem,7.5vw,8rem)}.statement-copy h2 span{color:transparent;-webkit-text-stroke:1px var(--ink)}.statement-copy p{margin:2.5rem 0 0 auto;max-width:580px;font-size:1.08rem}
.dark-section{background:var(--ink);color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:4rem}.section-head h2,.services-intro h2{font-size:clamp(3.5rem,6vw,7rem)}.feature-card{display:grid;grid-template-columns:minmax(0,3fr) 1fr;min-height:650px}.feature-image{overflow:hidden}.feature-image img,.project-card img{height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.feature-image:hover img,.project-card a:hover img{transform:scale(1.025)}.feature-info{background:var(--orange);padding:2rem;display:flex;flex-direction:column;justify-content:space-between}.feature-info .project-number,.project-card span{font:.65rem var(--mono)}.feature-info h3,.project-card h3{font:600 clamp(2rem,3vw,3.3rem)/1 var(--display);text-transform:uppercase;margin:0}.feature-info p,.project-card p{margin:.5rem 0 0}.feature-info>a{font-size:2rem;align-self:end}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.2);margin-top:1px}.project-card{padding:clamp(1rem,3vw,3rem);background:var(--ink)}.project-card a{display:block;height:clamp(300px,40vw,580px);overflow:hidden;margin-bottom:1.5rem}.project-card h3{margin-top:1rem;font-size:clamp(1.8rem,3vw,3rem)}.project-card p{color:rgba(255,255,255,.6);font-size:.85rem}
.services-preview{display:grid;grid-template-columns:1fr 3fr;gap:2rem}.services-intro{display:grid;grid-template-columns:1.7fr 1fr;gap:3rem;align-items:end;margin-bottom:5rem}.services-intro p{max-width:420px}.service-list{grid-column:2}.service-list a{display:grid;grid-template-columns:70px 1.2fr 1fr 30px;gap:2rem;align-items:center;padding:2rem 0;border-top:1px solid var(--line);transition:padding .25s,background .25s}.service-list a:last-child{border-bottom:1px solid var(--line)}.service-list a:hover{padding-left:1rem;background:rgba(255,255,255,.3)}.service-list span{font:.65rem var(--mono);color:var(--orange)}.service-list h3{margin:0;font:600 clamp(1.7rem,2.5vw,2.7rem)/1 var(--display);text-transform:uppercase}.service-list p{font-size:.86rem;margin:0}.service-list b{font-weight:400;font-size:1.4rem}
.process{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(3rem,7vw,8rem);background:#d9dde0}.process-visual{position:relative;min-height:700px}.process-visual img{height:100%;object-fit:cover;filter:grayscale(1)}.drawing-lines{position:absolute;inset:2rem;border:1px solid rgba(255,255,255,.8)}.drawing-lines:before,.drawing-lines:after{content:"";position:absolute;background:rgba(255,255,255,.8)}.drawing-lines:before{width:80px;height:1px;top:50%;left:-2rem}.drawing-lines:after{width:1px;height:80px;top:calc(50% - 40px);left:18px}.process h2{font-size:clamp(3.5rem,6vw,6.5rem);margin-bottom:3rem}.process ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process li{display:grid;grid-template-columns:50px 1fr;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.process li>span{font:.65rem var(--mono);color:var(--orange)}.process h3{margin:0;font:600 1.5rem var(--display);text-transform:uppercase}.process li p{margin:.25rem 0 0;font-size:.86rem}
.proof blockquote{font-size:clamp(4rem,9vw,9.5rem);font-weight:600;margin:3rem 0 7rem}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.25)}.proof-grid div{padding:2rem 3rem 0 0}.proof-grid strong{font:.65rem var(--mono);color:var(--orange)}.proof-grid p{max-width:290px;color:rgba(255,255,255,.68)}.contact-band{padding:clamp(5rem,9vw,9rem) var(--pad);background:var(--orange);color:#fff;display:grid;grid-template-columns:2fr 1fr;gap:5rem;align-items:end}.contact-band h2{font-size:clamp(4rem,8vw,8rem)}.contact-band>div:last-child p{font-size:1.05rem;margin-bottom:2rem}
.site-footer{padding:5rem var(--pad) 1.5rem;background:#000a2e;color:#fff}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;align-items:start;padding-bottom:5rem}.footer-main p,.footer-main>a:last-child{font-size:.85rem;color:rgba(255,255,255,.65)}.footer-main>a:last-child{text-decoration:underline;text-underline-offset:4px}.footer-links{display:grid;grid-template-columns:1fr 1fr;margin-left:33%;padding-bottom:4rem}.footer-links>div{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem}.footer-links p{font:.65rem var(--mono);text-transform:uppercase;color:var(--orange);margin-bottom:1rem}.footer-links span{color:rgba(255,255,255,.55)}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:1.5rem;display:flex;justify-content:space-between;font:.6rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5)}
.page-header{position:relative;background:var(--ink)}.page-hero{min-height:620px;padding:180px var(--pad) 80px;color:#fff;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(90deg,rgba(1,14,58,.96),rgba(1,14,58,.3)),var(--hero-image,none) center/cover}.page-hero h1{font-size:clamp(5rem,12vw,12rem)}.page-hero p:last-child{max-width:600px;font-size:1.1rem;color:rgba(255,255,255,.72)}.content-section{padding:clamp(5rem,9vw,9rem) var(--pad)}.content-grid{display:grid;grid-template-columns:1fr 2fr;gap:5rem}.content-grid h2{font:600 clamp(3rem,6vw,6rem)/.95 var(--display);text-transform:uppercase;margin:0}.content-grid .prose{max-width:720px}.prose p{font-size:1.05rem}.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem;border-top:1px solid var(--line)}.facts div{padding:2rem 1rem 0 0}.facts strong{display:block;font:600 3rem var(--display);color:var(--orange)}.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.gallery-item{background:var(--paper);padding:var(--pad)}.gallery-item:nth-child(3n+1){grid-column:span 2}.gallery-item img{height:clamp(350px,55vw,760px);object-fit:cover}.gallery-item:not(:nth-child(3n+1)) img{height:clamp(300px,38vw,560px)}.gallery-item h2{font:600 clamp(2rem,4vw,4rem)/1 var(--display);text-transform:uppercase;margin:1.5rem 0 .3rem}.gallery-item p{margin:0;font:.7rem var(--mono);text-transform:uppercase;color:#52616c}.services-full{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.service-detail{padding:clamp(3rem,6vw,7rem) var(--pad);background:var(--paper)}.service-detail span{font:.7rem var(--mono);color:var(--orange)}.service-detail h2{font:600 clamp(2.7rem,5vw,5rem)/.95 var(--display);text-transform:uppercase;margin:2rem 0}.service-detail ul{padding-left:1.2rem}.service-detail li{margin:.5rem 0}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(3rem,8vw,9rem)}.contact-details h2,.form-wrap h2{font:600 clamp(3rem,6vw,6rem)/.95 var(--display);text-transform:uppercase;margin:0 0 2rem}.contact-details>a{display:block;font-size:1.1rem;text-decoration:underline;margin:1rem 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.field{display:flex;flex-direction:column;gap:.5rem}.field.full{grid-column:1/-1}.field label{font:.65rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.field input,.field select,.field textarea{border:0;border-bottom:1px solid var(--ink);background:rgba(255,255,255,.35);border-radius:0;padding:1rem;color:var(--ink)}.field textarea{min-height:150px;resize:vertical}.form-wrap .button{margin-top:1.5rem;border:0}.form-note{font-size:.72rem;color:#52616c}.form-success{padding:1rem;border:1px solid var(--orange);margin-top:1rem}.privacy{max-width:820px}.privacy h2{font:600 2rem var(--display);text-transform:uppercase;margin-top:3rem}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;height:76px}.header-cta{display:none}.menu-toggle{display:block;z-index:2}.site-nav{position:fixed;inset:0;background:var(--ink);padding:130px var(--pad) 3rem;display:flex;flex-direction:column;gap:1.4rem;transform:translateX(100%);transition:transform .3s;font:600 2.7rem/1 var(--display)}.site-nav.open{transform:none}.site-nav a.active:after{display:none}.hero{min-height:760px}.hero-grid{inset:76px 0 0;background-size:50% 100%}.hero-index{display:none}.hero-content{bottom:8rem}.hero h1{font-size:clamp(4rem,16vw,7rem)}.statement,.services-preview{grid-template-columns:1fr}.statement-copy,.service-list{grid-column:auto}.feature-card{grid-template-columns:1fr;min-height:0}.feature-image{height:65vw}.feature-info{min-height:260px}.services-intro{grid-template-columns:1fr}.process{grid-template-columns:1fr}.process-visual{min-height:500px}.proof-grid{grid-template-columns:1fr}.contact-band{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-links{margin-left:0}.content-grid,.contact-layout{grid-template-columns:1fr}.services-full{grid-template-columns:1fr}}
@media(max-width:600px){.hero{height:100svh}.hero-content{left:1.25rem;right:1.25rem}.hero-copy{font-size:.95rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.statement-copy h2{font-size:3.7rem}.section-head{align-items:start;flex-direction:column;gap:2rem}.project-pair{grid-template-columns:1fr}.project-card a{height:90vw}.service-list a{grid-template-columns:34px 1fr 25px;gap:1rem}.service-list a p{display:none}.process-visual{min-height:420px}.proof blockquote{font-size:3.7rem}.footer-links{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:.7rem}.page-hero{min-height:520px;padding-top:140px}.page-hero h1{font-size:5rem}.facts{grid-template-columns:1fr}.project-gallery{grid-template-columns:1fr}.gallery-item:nth-child(3n+1){grid-column:auto}.gallery-item,.service-detail{padding:3rem 1.25rem}.gallery-item img,.gallery-item:not(:nth-child(3n+1)) img{height:90vw}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.feature-image img,.project-card img{transition:none}}

/* Pantheon oxblood palette: deep surfaces, brighter wine for fine detail and legibility. */
.button.primary,.feature-info,.contact-band{background:var(--maroon)}
.button.primary,.button.dark{transition:background-color .25s ease,transform .25s ease}
.button.primary:hover{background:var(--maroon-deep);transform:translateY(-2px)}
.button.dark:hover{background:#000b14;transform:translateY(-2px)}
.contact-band .eyebrow{color:rgba(255,255,255,.72)}
.contact-band .button.dark span{color:var(--orange)}
.feature-info .project-number{color:rgba(255,255,255,.72)}
.hero h1 em,.proof em{color:var(--orange)}

/* Preserve the original Pantheon Projects wordmark without an added symbol. */
.brand-mark{display:none}
.brand{gap:0;font-size:1.55rem;font-weight:700;letter-spacing:.06em}
.brand small{font-size:.52rem;letter-spacing:.36em;margin-top:.18rem}

/* Editorial evolution informed by leading UK construction portfolios. */
.hero h1{max-width:980px;font-family:var(--editorial);font-weight:400;text-transform:none;letter-spacing:-.045em;line-height:.88}
.hero h1 em{font-weight:400}.hero-copy{max-width:590px}.hero-index p{text-transform:uppercase;letter-spacing:.08em;font:500 .7rem var(--mono)}
.sector-rail{min-height:84px;padding:0 var(--pad);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:var(--maroon);color:#fff;border-top:1px solid rgba(255,255,255,.2)}
.sector-rail span{height:100%;display:flex;align-items:center;padding:0 1.2rem;border-right:1px solid rgba(255,255,255,.18);font:500 .64rem var(--mono);letter-spacing:.09em;text-transform:uppercase}.sector-rail span:first-child{border-left:1px solid rgba(255,255,255,.18)}
.editorial-statement .statement-copy h2{font-family:var(--editorial);font-weight:400;text-transform:none;letter-spacing:-.035em;line-height:.92}.editorial-statement .statement-copy h2 span{-webkit-text-stroke:0;color:var(--maroon);font-style:italic}.statement-detail{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:820px;margin:3rem 0 0 auto}.statement-detail p{margin:0;font-size:1rem}
.assurance{background:#d8dcde}.assurance-head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:3rem;align-items:end;margin-bottom:6rem}.assurance-head h2,.faq-section h2{margin:0;font:400 clamp(3.7rem,6vw,6.8rem)/.92 var(--editorial);letter-spacing:-.035em}.assurance-head>p:last-child{margin:0}.assurance-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}.assurance-grid article{min-height:340px;padding:2rem 2rem 2rem 0;border-right:1px solid var(--line)}.assurance-grid article+article{padding-left:2rem}.assurance-grid span{font:.66rem var(--mono);color:var(--maroon)}.assurance-grid h3{margin:5rem 0 1rem;font:600 clamp(1.7rem,2.5vw,2.5rem)/1 var(--display);text-transform:uppercase}.assurance-grid p{font-size:.84rem;max-width:260px}
.faq-section{display:grid;grid-template-columns:1fr 2fr;gap:6rem}.faq-list{border-top:1px solid var(--ink)}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:2rem;padding:1.6rem 0;font:500 clamp(1.05rem,1.6vw,1.35rem) var(--body)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--maroon);font-size:1.5rem;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:680px;margin:0;padding:0 3rem 1.8rem 0;color:#445462}
@media(max-width:900px){.sector-rail{grid-template-columns:repeat(2,1fr);padding:1rem var(--pad);gap:0}.sector-rail span{min-height:48px;border-bottom:1px solid rgba(255,255,255,.18)}.sector-rail span:last-child{grid-column:1/-1}.statement-detail{grid-template-columns:1fr}.assurance-head{grid-template-columns:1fr}.assurance-grid{grid-template-columns:1fr 1fr}.faq-section{grid-template-columns:1fr}}
@media(max-width:600px){.hero h1{font-size:clamp(4.3rem,19vw,6rem);line-height:.83}.sector-rail{grid-template-columns:1fr 1fr}.assurance-grid{grid-template-columns:1fr}.assurance-grid article{min-height:auto;border-right:0;border-bottom:1px solid var(--line);padding:2rem 0}.assurance-grid article+article{padding-left:0}.assurance-grid h3{margin:3rem 0 1rem}.statement-detail{gap:1rem}.faq-section{gap:3rem}}

/* V3 — project-led UK contractor direction */
.v3{background:#f3f2ee}.v3-pad{padding:clamp(5rem,9vw,9rem) var(--pad)}.v3-kicker{margin:0 0 1.5rem;color:var(--maroon);font:500 .64rem var(--mono);letter-spacing:.14em;text-transform:uppercase}.v3 h2{margin:0;font:600 clamp(3.5rem,6vw,6.8rem)/.9 var(--display);letter-spacing:-.025em;text-transform:uppercase}
.v3-hero{position:relative;height:100svh;min-height:760px;overflow:hidden;background:var(--ink);color:#fff}.v3-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v3-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,13,24,.91) 0%,rgba(2,13,24,.58) 46%,rgba(2,13,24,.12) 100%),linear-gradient(0deg,rgba(2,13,24,.6),transparent 45%)}.v3-hero-copy{position:absolute;z-index:2;left:var(--pad);bottom:clamp(8rem,17vh,12rem);max-width:900px}.v3-hero h1{margin:0;font:600 clamp(5rem,10.5vw,10rem)/.83 var(--display);text-transform:uppercase;letter-spacing:-.025em}.v3-hero h1 span{color:#fff}.v3-hero-copy>p:not(.eyebrow){max-width:580px;margin:2rem 0;color:rgba(255,255,255,.76);font-size:1.05rem}.v3-primary{background:var(--maroon);color:#fff;margin-right:2rem}.v3-quiet-link{font:500 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.7);padding:.6rem 0}.v3-rail{position:absolute;z-index:3;right:var(--pad);bottom:3rem;display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));width:min(650px,52vw);background:var(--maroon);color:#fff}.v3-rail div{padding:1.2rem;border-right:1px solid rgba(255,255,255,.2)}.v3-rail small{display:block;margin-bottom:.5rem;font:.55rem var(--mono);text-transform:uppercase;letter-spacing:.1em;opacity:.65}.v3-rail strong{font-size:.76rem;font-weight:500}
.v3-intro{display:grid;grid-template-columns:1fr 3fr;gap:3rem}.v3-intro>div{max-width:1050px}.v3-intro h2{max-width:900px;color:var(--ink-2)}.v3-intro>div>p{max-width:650px;margin:2.5rem 0 2rem auto;font-size:1.05rem}.v3-arrow-link{display:inline-flex;gap:1rem;align-items:center;border-bottom:1px solid var(--ink);padding:.5rem 0;font:500 .68rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.v3-arrow-link span{color:var(--maroon)}
.v3-work{background:var(--ink);color:#fff;padding-bottom:8rem}.v3-section-head{display:flex;justify-content:space-between;align-items:end;gap:4rem}.v3-section-head>p{max-width:370px;margin:0;color:rgba(255,255,255,.55);font-size:.75rem}.v3-project{position:relative;overflow:hidden}.v3-project>a{display:block}.v3-project img{height:620px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.v3-project-large img{height:min(78vh,850px)}.v3-project:hover img{transform:scale(1.02);filter:brightness(.78)}.v3-project-label{position:absolute;left:0;bottom:0;width:min(420px,70%);padding:1.5rem 2rem;background:var(--maroon);display:grid;grid-template-columns:1fr auto;gap:.3rem;color:#fff}.v3-project-label span{font:.56rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.v3-project-label strong{grid-column:1/-1;font:600 2rem/1 var(--display);text-transform:uppercase}.v3-project-label small{font:.58rem var(--mono);opacity:.7}.v3-project-pair{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:2px}.v3-work-link{text-align:center;padding-top:4rem}.v3-outline{color:#fff;border-color:rgba(255,255,255,.6)}
.v3-capabilities{background:#e0e2e2}.v3-capabilities .v3-section-head>p{color:#465665}.v3-cap-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:5rem;border-top:1px solid var(--ink)}.v3-cap-grid a{position:relative;min-height:380px;padding:2rem 2rem 2rem 0;border-right:1px solid rgba(1,14,58,.18)}.v3-cap-grid a+a{padding-left:2rem}.v3-cap-grid span{font:.6rem var(--mono);color:var(--maroon)}.v3-cap-grid h3{margin:6rem 0 1rem;font:600 clamp(1.8rem,2.7vw,2.8rem)/.95 var(--display);text-transform:uppercase}.v3-cap-grid p{font-size:.82rem}.v3-cap-grid b{position:absolute;right:2rem;bottom:2rem;color:var(--maroon);font-size:1.5rem}
.v3-reasons{background:#f3f2ee}.v3-reasons .v3-section-head>p{color:#53616b}.v3-reason-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:5rem;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.v3-reason-grid article{min-height:290px;padding:2rem;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.v3-reason-grid span{font:.6rem var(--mono);color:var(--maroon)}.v3-reason-grid h3{margin:4.5rem 0 1rem;font:600 2rem/1 var(--display);text-transform:uppercase}.v3-reason-grid p{font-size:.82rem;max-width:330px;color:#53616b}
.v3-standard{display:grid;grid-template-columns:1.15fr 1fr;background:var(--maroon);color:#fff}.v3-standard-image img{height:100%;min-height:780px;object-fit:cover;filter:saturate(.75)}.v3-standard-copy{padding:clamp(4rem,8vw,9rem)}.v3-standard-copy .v3-kicker{color:rgba(255,255,255,.65)}.v3-standard-copy h2{font-size:clamp(3.5rem,5.5vw,6rem)}.v3-standard-list{margin:4rem 0;border-top:1px solid rgba(255,255,255,.35)}.v3-standard-list>div{display:grid;grid-template-columns:90px 1fr;gap:1rem;padding:1.5rem 0;border-bottom:1px solid rgba(255,255,255,.25)}.v3-standard-list span{font:500 .68rem var(--mono);text-transform:uppercase}.v3-standard-list p{margin:0;color:rgba(255,255,255,.7);font-size:.85rem}.v3-arrow-link.light{color:#fff;border-color:#fff}.v3-arrow-link.light span{color:#fff}
.v3-coverage{text-align:center}.v3-coverage h2{margin-bottom:4rem}.v3-place-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.v3-place-grid span{padding:2rem 1rem;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);font:600 1.8rem var(--display);text-transform:uppercase}.v3-coverage>p:last-child{max-width:620px;margin:2rem auto 0;color:#53616b;font-size:.85rem}
.v3-audience{background:#dfe2e2}.v3-audience h2{max-width:920px}.v3-audience-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.v3-audience-list span{padding:2rem;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);font:600 clamp(1.5rem,2.5vw,2.5rem)/1 var(--display);text-transform:uppercase}
.approach-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.approach-steps article{background:var(--paper);padding:clamp(3rem,6vw,7rem)}.approach-steps span{font:.65rem var(--mono);text-transform:uppercase;color:var(--maroon)}.approach-steps h2{font:600 clamp(3rem,5vw,5rem)/.95 var(--display);text-transform:uppercase;margin:3rem 0 1.5rem}.approach-steps p{max-width:520px}
.known-for>h2{margin:0 0 4rem;font:600 clamp(3.5rem,7vw,7rem)/.9 var(--display);text-transform:uppercase}.known-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.3);border-left:1px solid rgba(255,255,255,.3)}.known-grid span{padding:1.5rem 2rem;border-right:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);font:600 clamp(1.4rem,2.4vw,2.3rem)/1 var(--display);text-transform:uppercase}.known-grid span:before{content:'✓';color:var(--orange);margin-right:1rem}
.v3-faq{display:grid;grid-template-columns:1fr 1.5fr;gap:8rem;background:#fff}.v3-faq h2{font-size:clamp(3.3rem,5vw,5.5rem)}.v3-cta{padding:clamp(6rem,11vw,11rem) var(--pad);text-align:center;background:var(--ink);color:#fff}.v3-cta p{font:.65rem var(--mono);text-transform:uppercase;letter-spacing:.14em;color:#aeb7bd}.v3-cta h2{font-size:clamp(4rem,9vw,9rem);margin:1rem 0 3rem}.v3-light{background:#fff;color:var(--ink)}
@media(max-width:900px){.v3-rail{display:none}.v3-intro{grid-template-columns:1fr}.v3-section-head{align-items:start;flex-direction:column}.v3-cap-grid{grid-template-columns:1fr 1fr}.v3-reason-grid{grid-template-columns:1fr 1fr}.v3-standard{grid-template-columns:1fr}.v3-standard-image img{min-height:520px}.v3-place-grid,.v3-audience-list{grid-template-columns:1fr 1fr}.v3-faq{grid-template-columns:1fr;gap:4rem}}
@media(max-width:600px){.v3-hero h1{font-size:clamp(3.5rem,15.5vw,5rem)}.v3-hero-copy{left:1.25rem;right:1.25rem;bottom:6.5rem}.v3-primary{margin:0 0 1rem}.v3-quiet-link{display:block;width:max-content}.v3-project img,.v3-project-large img{height:115vw}.v3-project-pair{grid-template-columns:1fr}.v3-project-label{width:88%;padding:1.2rem}.v3-cap-grid,.v3-reason-grid{grid-template-columns:1fr}.v3-cap-grid a{min-height:280px;border-right:0;border-bottom:1px solid var(--line);padding:2rem 0}.v3-cap-grid a+a{padding-left:0}.v3-cap-grid h3{margin:4rem 0 1rem}.v3-reason-grid article{min-height:240px}.v3-reason-grid h3{margin-top:3rem}.v3-standard-image img{min-height:380px}.v3-standard-copy{padding:4rem 1.25rem}.v3-place-grid span{font-size:1.3rem}.v3-section-head>p{font-size:.7rem}.approach-steps{grid-template-columns:1fr}.v3-audience-list span{padding:1.5rem 1rem}.known-grid{grid-template-columns:1fr}}

/* Original Pantheon Projects logo supplied by the client. */
.brand{position:relative;display:block;flex:0 0 auto;width:180px;height:145px;background:transparent url('assets/pantheon-logo-original-colours.png') center/auto 135% no-repeat}
.brand>span:not(.brand-mark){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-header{height:150px}
.site-header.is-scrolled{height:100px}.site-header.is-scrolled .brand{height:96px;width:130px;background-size:auto 138%}
.page-hero{padding-top:230px}
.site-footer .brand{width:240px;height:240px;background-size:auto 135%}
@media(max-width:900px){.site-header{height:112px}.site-header .brand{width:128px;height:108px;background-size:auto 138%}.site-header.is-scrolled{height:88px}.site-header.is-scrolled .brand{width:108px;height:84px}.page-hero{padding-top:175px}.site-footer .brand{width:205px;height:205px;background-size:auto 135%}}

@media(min-width:901px){
  .site-header{height:180px;padding-left:clamp(2rem,4.5vw,5.5rem);padding-right:clamp(2rem,4.5vw,5.5rem)}
  .site-header .brand{width:230px;height:172px;background-size:auto 162%;filter:none}
  .site-header.is-scrolled{height:118px}
  .site-header.is-scrolled .brand{width:175px;height:114px;background-size:auto 164%;filter:none}
  .site-nav{gap:clamp(1.75rem,2.65vw,3.25rem);font:700 .84rem var(--mono);letter-spacing:.075em}
  .site-nav a.active:after{bottom:-14px;height:3px}
  .header-cta{font:600 .78rem var(--mono);letter-spacing:.08em}
  .page-hero{padding-top:260px}
}

@media(max-width:900px){.site-header .brand{background-size:auto 160%;filter:none}.site-header.is-scrolled .brand{background-size:auto 162%}}

.site-header{background:transparent;color:#fff;border-bottom-color:rgba(255,255,255,.22);backdrop-filter:none}
.site-header.is-scrolled{background:rgba(4,17,31,.985);backdrop-filter:blur(14px)}
.site-header .menu-toggle span:not(.sr-only){background:#fff}
.site-header .header-cta span{color:var(--orange)}

@media(min-width:901px){.site-header .brand{width:240px;background-size:auto 154%}.site-header.is-scrolled .brand{width:185px;background-size:auto 157%}}
@media(max-width:900px){.site-header .brand{width:142px;background-size:auto 152%}.site-header.is-scrolled .brand{width:118px;background-size:auto 155%}}

/* Lighter hero treatment keeps the photograph visible without losing text contrast. */
.v3-hero-overlay{background:linear-gradient(90deg,rgba(2,13,24,.76) 0%,rgba(2,13,24,.40) 48%,rgba(2,13,24,.06) 100%),linear-gradient(0deg,rgba(2,13,24,.46),transparent 48%)}

@media(min-width:901px){.site-header{height:205px}.site-header .brand{width:285px;height:198px;background-size:auto 158%}.site-header.is-scrolled{height:128px}.site-header.is-scrolled .brand{width:195px;height:124px;background-size:auto 160%}.page-hero{padding-top:285px}}
@media(max-width:900px){.site-header{height:126px}.site-header .brand{width:168px;height:120px;background-size:auto 156%}.site-header.is-scrolled{height:94px}.site-header.is-scrolled .brand{width:132px;height:90px;background-size:auto 158%}.page-hero{padding-top:190px}}

.v3-hero-overlay{background:none}
.v3-hero-copy{text-shadow:0 2px 12px rgba(0,0,0,.58)}

.v3-hero>img{transform:scale(1.1);filter:blur(1.2px);object-position:28% center}
@media(max-width:600px){.v3-hero>img{transform:scale(1.08);filter:blur(.8px);object-position:38% center}}

/* Enlarge the supplied logo artwork within its existing transparent canvas. */
@media(min-width:901px){.site-header .brand{background-size:auto 220%}.site-header.is-scrolled .brand{background-size:auto 214%}}
@media(max-width:900px){.site-header .brand{background-size:auto 210%}.site-header.is-scrolled .brand{background-size:auto 206%}}

/* Preserve contrast where navy accents sit on navy imagery or sections. */
.site-header .header-cta span,.hero h1 em,.page-hero h1 em,.dark-section .eyebrow,.v3-work .v3-kicker{color:#fff}

/* Header/hero collision fix: reserve a clear zone for the supplied logo. */
@media(min-width:901px){
  .site-header{height:170px}
  .site-header .brand{width:235px;height:164px;background-size:auto 200%}
  .site-header.is-scrolled{height:112px}
  .site-header.is-scrolled .brand{width:170px;height:108px;background-size:auto 198%}
  .v3-hero-copy{top:clamp(205px,24vh,250px);bottom:auto;max-width:920px}
  .v3-hero h1{font-size:clamp(4.8rem,7vw,8rem);line-height:.86;max-width:900px}
}
@media(max-width:900px){
  .site-header{height:118px}
  .site-header .brand{width:150px;height:112px;background-size:auto 196%}
  .v3-hero-copy{top:150px;bottom:auto;right:var(--pad)}
  .v3-hero h1{font-size:clamp(3.6rem,15vw,5.6rem);line-height:.86}
}
/* Improve logo-wordmark clarity by softly lifting only the hero image beneath it. */
.site-header .brand{isolation:isolate}
.site-header .brand::before{content:none}
.site-header .brand::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  background:transparent url('assets/pantheon-logo-original-colours.png') center/auto 200% no-repeat;
  filter:contrast(1.42) saturate(1.12) drop-shadow(0 0 .65px rgba(52,37,130,.9));
  pointer-events:none;
}
.site-header.is-scrolled .brand::after{background-size:auto 198%}
.v3-hero::before{
  content:"";
  position:absolute;
  z-index:1;
  top:0;
  left:0;
  width:360px;
  height:190px;
  background:radial-gradient(ellipse at 38% 43%,rgba(255,255,255,.38) 0%,rgba(255,255,255,.19) 42%,rgba(255,255,255,0) 76%);
  pointer-events:none;
}
@media(max-width:900px){
  .site-header .brand::after{background-size:auto 196%}
  .site-header.is-scrolled .brand::after{background-size:auto 194%}
  .v3-hero::before{width:230px;height:135px;background:radial-gradient(ellipse at 38% 43%,rgba(255,255,255,.4) 0%,rgba(255,255,255,.18) 44%,rgba(255,255,255,0) 78%)}
}
/* Pantheon commitment section: architectural rail, measured grid and three practical promises. */
.v3-intro{position:relative;display:grid;grid-template-columns:clamp(230px,19vw,340px) 1fr;gap:0;min-height:760px;padding:0;background:#f5f4f0;border-top:1px solid rgba(1,14,58,.2);border-bottom:1px solid rgba(1,14,58,.2);overflow:hidden}
.v3-intro-rail{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(4rem,7vw,7rem) clamp(2rem,4vw,4.5rem);background:var(--ink);color:#fff}
.v3-intro .v3-intro-rail .v3-kicker{margin:0;color:#fff}
.v3-intro-rail-note{margin:0;font:500 .64rem/1.7 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.v3-intro-body{position:relative;max-width:none;padding:clamp(4rem,7vw,7rem) clamp(2rem,6vw,7rem);background-image:linear-gradient(rgba(1,14,58,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(1,14,58,.055) 1px,transparent 1px);background-size:72px 72px}
.v3-intro-body::before{content:"Pantheon standard";display:block;margin-bottom:2rem;font:500 .62rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(1,14,58,.5)}
.v3-intro .v3-intro-body h2{max-width:1080px;margin:0;color:var(--ink);font-size:clamp(4.2rem,7vw,8.2rem);line-height:.86}
.v3-intro .v3-intro-body h2 span{display:block;color:var(--ink)}
.v3-intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,7rem);max-width:1050px;margin:clamp(3rem,5vw,5rem) 0 0 auto}
.v3-intro-copy p{margin:0;color:#26394a;font-size:clamp(.95rem,1.1vw,1.08rem);line-height:1.75}
.v3-intro-copy .v3-arrow-link{margin-top:2rem}
.v3-commitment-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(4rem,7vw,7rem);border-top:1px solid var(--ink);border-left:1px solid var(--ink);background:rgba(245,244,240,.84)}
.v3-commitment-grid article{min-height:180px;padding:1.75rem;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.v3-commitment-grid strong{display:block;font:600 clamp(1.7rem,2.4vw,2.5rem)/1 var(--display);text-transform:uppercase;color:var(--ink)}
.v3-commitment-grid p{max-width:250px;margin:3.25rem 0 0;color:#455463;font-size:.78rem;line-height:1.6}
@media(max-width:900px){
  .v3-intro{grid-template-columns:1fr;min-height:0}
  .v3-intro-rail{min-height:155px;padding:2.2rem var(--pad);gap:2.5rem}
  .v3-intro-body{padding:4.5rem var(--pad);background-size:52px 52px}
  .v3-intro .v3-intro-body h2{font-size:clamp(3.5rem,15vw,5.8rem)}
  .v3-intro-copy{grid-template-columns:1fr;margin-top:3rem;gap:2rem}
  .v3-commitment-grid{grid-template-columns:1fr;margin-top:3.5rem}
  .v3-commitment-grid article{min-height:145px}
  .v3-commitment-grid p{margin-top:1.75rem}
}
/* Approved commitment concept: deep navy editorial field with architectural material crop. */
.v3-intro-dark{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,1fr);min-height:820px;background:var(--ink);color:#f3f2ee;overflow:hidden}
.v3-commitment-stage{position:relative;min-width:0;padding:clamp(4.5rem,7vw,7.5rem) clamp(3rem,6vw,7rem) 5rem;overflow:hidden}
.v3-commitment-stage::before{content:"";position:absolute;top:0;left:clamp(2rem,4.6vw,5.5rem);width:2px;height:66%;background:#c62828}
.v3-commitment-stage::after{content:"";position:absolute;left:clamp(2rem,4.6vw,5.5rem);top:66%;width:43%;height:2px;background:#c62828}
.v3-commitment-stage>.v3-kicker{position:relative;margin:0 0 2rem 3.5rem;color:#f3f2ee;font-weight:700;letter-spacing:.08em}
.v3-commitment-stage h2{position:relative;z-index:1;margin:0 0 0 3.5rem;max-width:1050px;color:#f3f2ee;font:600 clamp(4.8rem,7.15vw,8.4rem)/.86 var(--display);letter-spacing:-.025em;text-transform:uppercase}
.v3-commitment-stage h2 span{display:block;color:#f3f2ee}
.v3-commitment-copy{position:absolute;z-index:2;left:53%;top:42%;width:min(38%,440px)}
.v3-commitment-copy p{margin:0 0 1.5rem;color:rgba(243,242,238,.88);font-size:clamp(.88rem,1vw,1.02rem);line-height:1.65}
.v3-commitment-link{display:inline-flex;align-items:center;gap:.75rem;margin-top:.7rem;padding:.5rem 0;border-bottom:2px solid #c62828;color:#f3f2ee;font:700 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase}
.v3-commitment-link span{color:#f3f2ee}
.v3-commitment-labels{position:absolute;left:clamp(2rem,4.6vw,5.5rem);right:clamp(2rem,4.6vw,5.5rem);bottom:5rem;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}
.v3-commitment-labels span{padding:0 2rem;color:#f3f2ee;font:700 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase}
.v3-commitment-labels span:first-child{padding-left:0}
.v3-commitment-labels span+span{border-left:1px solid rgba(243,242,238,.65)}
.v3-commitment-material{margin:0;min-width:0;overflow:hidden;background:#c8c2b8}
.v3-commitment-material img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:1100px){
  .v3-intro-dark{grid-template-columns:minmax(0,2.2fr) minmax(260px,.8fr)}
  .v3-commitment-stage h2{font-size:clamp(4rem,7vw,6.5rem)}
  .v3-commitment-copy{left:52%;top:43%;width:42%}
}
@media(max-width:800px){
  .v3-intro-dark{grid-template-columns:1fr;min-height:0}
  .v3-commitment-stage{padding:4rem var(--pad) 3.5rem}
  .v3-commitment-stage::before{left:var(--pad);height:40%}
  .v3-commitment-stage::after{left:var(--pad);top:40%;width:34%}
  .v3-commitment-stage>.v3-kicker,.v3-commitment-stage h2{margin-left:1.5rem}
  .v3-commitment-stage h2{font-size:clamp(3.4rem,14vw,5.4rem)}
  .v3-commitment-copy{position:relative;left:auto;top:auto;width:auto;margin:4.5rem 0 0 1.5rem}
  .v3-commitment-labels{position:relative;left:auto;right:auto;bottom:auto;margin:3.5rem 0 0 1.5rem;grid-template-columns:1fr}
  .v3-commitment-labels span{padding:1rem 0;border-top:1px solid rgba(243,242,238,.45)}
  .v3-commitment-labels span+span{border-left:0}
  .v3-commitment-material{height:420px}
}
/* Approved commitment section type scale and collision correction. */
@media(min-width:1101px){
  .v3-intro-dark{min-height:1040px}
  .v3-commitment-stage>.v3-kicker{font-size:.9rem;letter-spacing:.1em}
  .v3-commitment-stage h2{max-width:1120px;font-size:clamp(5.5rem,7.6vw,9.2rem);line-height:.84}
  .v3-commitment-copy{left:55%;top:55%;width:min(37%,460px)}
  .v3-commitment-link{font-size:.9rem;padding:.7rem 0}
  .v3-commitment-labels span{font-size:.95rem;letter-spacing:.1em}
}
@media(min-width:801px) and (max-width:1100px){
  .v3-intro-dark{min-height:980px}
  .v3-commitment-stage>.v3-kicker{font-size:.82rem}
  .v3-commitment-stage h2{max-width:96%;font-size:clamp(4.4rem,7.3vw,7rem)}
  .v3-commitment-copy{left:51%;top:55%;width:44%}
  .v3-commitment-link{font-size:.82rem}
  .v3-commitment-labels span{font-size:.86rem}
}
@media(max-width:800px){
  .v3-commitment-stage>.v3-kicker{font-size:.8rem}
  .v3-commitment-stage h2{font-size:clamp(3.8rem,15vw,6.2rem)}
  .v3-commitment-copy{margin-top:3.75rem}
  .v3-commitment-link{font-size:.82rem;padding:.7rem 0}
  .v3-commitment-labels span{font-size:.9rem;padding:1.2rem 0}
}
/* Exact approved commitment artwork; isolated from legacy section rules. */
.commitment-exact{position:relative;width:100%;overflow:hidden;background:#010e3a;line-height:0}
.commitment-exact>img{display:block;width:100%;height:auto}
.commitment-exact-link{position:absolute;z-index:2;left:39.1%;top:72.2%;width:10.5%;height:6.5%;outline-offset:4px}
.commitment-exact-link:focus-visible{outline:3px solid #f3f2ee}
@media(max-width:700px){.commitment-exact{overflow-x:auto}.commitment-exact>img{width:980px;max-width:none}.commitment-exact-link{left:383px;top:407px;width:103px;height:37px}}
/* Exact approved Selected Work artwork with accessible project links. */
.selected-work-exact{position:relative;width:100%;overflow:hidden;background:#010e3a;line-height:0}
.selected-work-exact>img{display:block;width:100%;height:auto}
.selected-work-all-link{position:absolute;z-index:2;left:72.8%;top:31.7%;width:16%;height:6.5%}
.selected-work-project-link{position:absolute;z-index:2;left:0;right:0;top:48.5%;bottom:0}
.selected-work-all-link:focus-visible,.selected-work-project-link:focus-visible{outline:3px solid #f3f2ee;outline-offset:-4px}
@media(max-width:700px){.selected-work-exact{overflow-x:auto}.selected-work-exact>img{width:980px;max-width:none}.selected-work-all-link{left:713px;top:298px;width:157px;height:61px}.selected-work-project-link{left:0;right:auto;top:456px;width:980px;height:493px}}
/* Exact approved Capabilities artwork with four accessible service links. */
.capabilities-exact{position:relative;width:100%;overflow:hidden;background:#f3f2ee;line-height:0}
.capabilities-exact>img{display:block;width:100%;height:auto}
.capability-hotspot{position:absolute;z-index:2;top:35.4%;bottom:0;width:25%}
.capability-hotspot-1{left:0}.capability-hotspot-2{left:25%}.capability-hotspot-3{left:50%}.capability-hotspot-4{left:75%}
.capability-hotspot:focus-visible{outline:3px solid #f3f2ee;outline-offset:-5px}
@media(max-width:700px){.capabilities-exact{overflow-x:auto}.capabilities-exact>img{width:980px;max-width:none}.capability-hotspot{top:347px;bottom:auto;width:245px;height:575px}.capability-hotspot-1{left:0}.capability-hotspot-2{left:245px}.capability-hotspot-3{left:490px}.capability-hotspot-4{left:735px}}
/* Exact approved Why Clients artwork with restrained construction-led motion. */
.why-exact{position:relative;width:100%;overflow:hidden;background:#071521;line-height:0;transform:translateY(38px);transition:opacity .85s ease,transform .95s cubic-bezier(.2,.7,.2,1)}
.why-exact.visible{transform:none}
.why-exact>img{display:block;width:100%;height:auto;transform:scale(1.025);transform-origin:42% 50%;transition:transform 1.45s cubic-bezier(.16,1,.3,1)}
.why-exact.visible>img{transform:scale(1)}
.why-sweep{position:absolute;z-index:3;left:46.1%;top:14.8%;width:0;height:3px;background:#c62828;pointer-events:none}
.why-exact.visible .why-sweep{animation:why-sweep 1.15s .45s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes why-sweep{to{width:50.8%}}
.why-row{position:absolute;z-index:2;left:42.8%;right:0;transition:background .3s ease,box-shadow .3s ease;pointer-events:auto}
.why-row:hover{background:rgba(255,255,255,.055);box-shadow:inset 5px 0 #c62828}
.why-row-1{top:15%;height:14.7%}.why-row-2{top:29.7%;height:14.4%}.why-row-3{top:44.1%;height:14.5%}.why-row-4{top:58.6%;height:14.2%}.why-row-5{top:72.8%;height:13.8%}.why-row-6{top:86.6%;height:13.4%}
@media(max-width:700px){.why-exact{overflow-x:auto}.why-exact>img{width:980px;max-width:none}.why-row{left:419px;right:auto;width:561px}.why-sweep{left:452px}.why-exact.visible .why-sweep{animation-name:why-sweep-mobile}@keyframes why-sweep-mobile{to{width:498px}}}
@media(prefers-reduced-motion:reduce){.why-exact,.why-exact>img{transform:none;transition:none}.why-sweep{display:none}.why-row{transition:none}}
/* Exact approved Who We Work With artwork with accessible CTA and measured interaction. */
.audience-exact{position:relative;width:100%;overflow:hidden;background:#010e3a;line-height:0;transform:translateY(32px);transition:opacity .8s ease,transform .95s cubic-bezier(.2,.7,.2,1)}
.audience-exact.visible{transform:none}
.audience-exact>img{display:block;width:100%;height:auto;transform:scale(1.018);transition:transform 1.35s cubic-bezier(.16,1,.3,1)}
.audience-exact.visible>img{transform:scale(1)}
.audience-line{position:absolute;z-index:3;left:3.55%;top:34.5%;width:0;height:2px;background:#c62828;pointer-events:none}
.audience-exact.visible .audience-line{animation:audience-line 1.1s .35s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes audience-line{to{width:5.9%}}
.audience-row{position:absolute;z-index:2;left:3.4%;right:3.6%;transition:background .28s ease,box-shadow .28s ease;pointer-events:auto}
.audience-row:hover{background:rgba(255,255,255,.045);box-shadow:inset 4px 0 #c62828}
.audience-row-1{top:41%;height:15.5%}.audience-row-2{top:56.5%;height:15.6%}.audience-row-3{top:72.1%;height:16%}
.audience-contact-link{position:absolute;z-index:4;right:4%;bottom:4.7%;width:22.5%;height:7%}
.audience-contact-link:focus-visible{outline:3px solid #f3f2ee;outline-offset:4px}
@media(max-width:700px){.audience-exact{overflow-x:auto}.audience-exact>img{width:980px;max-width:none}.audience-row{left:33px;right:auto;width:912px}.audience-contact-link{right:auto;left:721px;bottom:auto;top:894px;width:220px;height:72px}.audience-line{left:35px;top:353px}.audience-exact.visible .audience-line{animation-name:audience-line-mobile}@keyframes audience-line-mobile{to{width:58px}}}
@media(prefers-reduced-motion:reduce){.audience-exact,.audience-exact>img{transform:none;transition:none}.audience-line{display:none}.audience-row{transition:none}}
/* Exact approved East Midlands coverage artwork with survey-led motion. */
.coverage-exact{position:relative;width:100%;overflow:hidden;background:#010e3a;line-height:0;transform:translateY(36px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.coverage-exact.visible{transform:none}
.coverage-exact>img{display:block;width:100%;height:auto;transform:scale(1.025);filter:brightness(.84);transition:transform 1.6s cubic-bezier(.16,1,.3,1),filter 1.15s ease}
.coverage-exact.visible>img{transform:scale(1);filter:brightness(1)}
.coverage-datum{position:absolute;z-index:3;left:49.45%;top:3.8%;width:2px;height:0;background:#c62828;box-shadow:0 0 12px rgba(198,40,40,.35);pointer-events:none}
.coverage-exact.visible .coverage-datum{animation:coverage-datum 1.35s .25s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes coverage-datum{to{height:84%}}
.coverage-point{position:absolute;z-index:4;left:var(--x);top:var(--y);width:18px;height:18px;border:2px solid rgba(198,40,40,.9);border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.25);pointer-events:auto;transition:background .25s ease,box-shadow .25s ease,transform .25s ease}
.coverage-exact.visible .coverage-point{animation:coverage-point .52s var(--delay) cubic-bezier(.2,.8,.2,1) forwards}
.coverage-point::after{content:"";position:absolute;inset:-7px;border:1px solid rgba(198,40,40,.45);border-radius:50%;animation:coverage-pulse 2.4s calc(var(--delay) + .5s) ease-out infinite}
.coverage-point:hover{background:#c62828;box-shadow:0 0 0 7px rgba(198,40,40,.16),0 0 28px rgba(198,40,40,.5);transform:translate(-50%,-50%) scale(1.2)}
.coverage-point-main{width:24px;height:24px;background:rgba(198,40,40,.18)}
@keyframes coverage-point{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes coverage-pulse{0%{opacity:.8;transform:scale(.55)}70%,100%{opacity:0;transform:scale(1.8)}}
.coverage-contact-link{position:absolute;z-index:5;right:4.1%;bottom:3.6%;width:17.8%;height:6.3%}
.coverage-contact-link:focus-visible{outline:3px solid #f3f2ee;outline-offset:4px}
@media(max-width:700px){.coverage-exact{overflow-x:auto}.coverage-exact>img{width:980px;max-width:none}.coverage-datum{left:485px}.coverage-point:nth-of-type(2){left:343px;top:196px}.coverage-point:nth-of-type(3){left:686px;top:196px}.coverage-point:nth-of-type(4){left:176px;top:241px}.coverage-point:nth-of-type(5){left:480px;top:302px}.coverage-point:nth-of-type(6){left:676px;top:280px}.coverage-point:nth-of-type(7){left:167px;top:364px}.coverage-point:nth-of-type(8){left:333px;top:437px}.coverage-point:nth-of-type(9){left:608px;top:442px}.coverage-contact-link{right:auto;left:761px;bottom:auto;top:512px;width:175px;height:42px}}
@media(prefers-reduced-motion:reduce){.coverage-exact,.coverage-exact>img{transform:none;filter:none;transition:none}.coverage-datum{height:84%;animation:none!important}.coverage-point{opacity:1;transform:translate(-50%,-50%);animation:none!important}.coverage-point::after{display:none}}
/* Approved FAQ: functional split-panel accordion matching the selected concept. */
.faq-approved{position:relative;display:grid;grid-template-columns:38.5% 61.5%;min-height:920px;background:#f3f2ee;overflow:hidden;opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .95s cubic-bezier(.2,.7,.2,1)}
.faq-approved.visible{opacity:1;transform:none}
.faq-approved::after{content:"";position:absolute;z-index:3;left:34%;top:46.3%;width:0;height:2px;background:#c62828;pointer-events:none}
.faq-approved.visible::after{animation:faq-datum .8s .35s ease forwards}
@keyframes faq-datum{to{width:8%}}
.faq-approved-intro{display:flex;flex-direction:column;padding:clamp(6rem,8vw,9rem) clamp(3rem,4.5vw,5.5rem) 5.5rem;background:#010e3a;color:#f3f2ee}
.faq-approved-kicker{margin:0 0 2.5rem;color:#c62828;font:700 clamp(.78rem,1vw,1rem) var(--mono);letter-spacing:.15em;text-transform:uppercase}
.faq-approved-intro h2{margin:0;color:#f3f2ee;font:600 clamp(4.7rem,6.1vw,7.2rem)/.88 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.faq-approved-lead{margin:2.5rem 0 0;color:#f3f2ee;font-size:clamp(1.2rem,1.5vw,1.65rem);line-height:1.42}
.faq-approved-utility{margin:auto 0 0;color:#f3f2ee;font:700 clamp(.65rem,.78vw,.82rem) var(--mono);letter-spacing:.14em;text-transform:uppercase}
.faq-approved-utility b{margin:0 .65rem;color:#c62828}
.faq-approved-main{display:flex;flex-direction:column;padding:clamp(4.3rem,6vw,6.8rem) clamp(3rem,4.3vw,5.2rem) 4.8rem;background:#f3f2ee}
.faq-approved-list{border-top:0}
.faq-approved-list details{position:relative;border-bottom:1px solid #010e3a;background:transparent;transition:background .3s ease}
.faq-approved-list details[open]{background:#e9e8e4;box-shadow:inset 5px 0 #c62828}
.faq-approved-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.25rem 2.8rem;font:600 clamp(1.85rem,2.6vw,3.25rem)/1.05 var(--display);text-transform:none;color:#010e3a}
.faq-approved-list summary::-webkit-details-marker{display:none}
.faq-approved-list summary:focus-visible{outline:3px solid #c62828;outline-offset:-3px}
.faq-approved-list summary b{position:relative;flex:0 0 28px;width:28px;height:28px}
.faq-approved-list summary b::before,.faq-approved-list summary b::after{content:"";position:absolute;left:2px;top:13px;width:24px;height:3px;background:#010e3a;transition:transform .35s ease,background .25s ease}
.faq-approved-list summary b::after{transform:rotate(90deg)}
.faq-approved-list details[open] summary b::before{background:#c62828}.faq-approved-list details[open] summary b::after{background:#c62828;transform:rotate(0)}
.faq-approved-list details p{max-width:760px;margin:0;padding:0 4.5rem 2.7rem 2.8rem;color:#1b2c48;font-size:clamp(1rem,1.35vw,1.35rem);line-height:1.55;animation:faq-answer .42s ease both}
@keyframes faq-answer{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.faq-approved-contact{align-self:flex-end;margin-top:auto;padding:.85rem 0 .55rem;border-bottom:2px solid #c62828;color:#010e3a;font:700 clamp(.68rem,.85vw,.88rem) var(--mono);letter-spacing:.11em;text-transform:uppercase}
.faq-approved-contact span{color:#c62828;font-size:1.15em}
@media(max-width:900px){.faq-approved{grid-template-columns:1fr;min-height:0}.faq-approved::after{display:none}.faq-approved-intro{min-height:560px;padding:5rem var(--pad) 3rem}.faq-approved-intro h2{font-size:clamp(4.4rem,13vw,7rem)}.faq-approved-main{padding:3.5rem var(--pad)}.faq-approved-contact{margin-top:3rem}}
@media(max-width:600px){.faq-approved-intro{min-height:490px}.faq-approved-intro h2{font-size:clamp(3.7rem,17vw,5.4rem)}.faq-approved-lead br{display:none}.faq-approved-list summary{padding:1.65rem 1rem;font-size:clamp(1.7rem,8vw,2.3rem)}.faq-approved-list details p{padding:0 2.8rem 1.8rem 1rem;font-size:.95rem}.faq-approved-list summary b{transform:scale(.75)}.faq-approved-contact{align-self:flex-start;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.faq-approved{opacity:1;transform:none;transition:none}.faq-approved::after{width:8%;animation:none!important}.faq-approved-list details p{animation:none}}
/* Approved simple-premium audience section: quiet hierarchy and useful client context. */
.audience-premium{position:relative;min-height:880px;padding:clamp(5.5rem,8vw,8.5rem) clamp(2rem,5.8vw,7rem) 5.5rem;background:#010e3a;color:#f3f2ee;overflow:hidden;opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.audience-premium.visible{opacity:1;transform:none}
.audience-premium-head{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:3rem}
.audience-premium-head p{margin:0;color:#f3f2ee;font-size:clamp(.9rem,1.15vw,1.18rem);line-height:1.45}
.audience-premium-head p:last-child{justify-self:end;max-width:480px;text-align:right}
.audience-premium-head .audience-premium-kicker{color:#c62828;font:700 clamp(.7rem,.8vw,.86rem) var(--mono);letter-spacing:.17em;text-transform:uppercase}
.audience-premium h2{margin:4rem 0 3.5rem;color:#f3f2ee;font:400 clamp(3rem,4.5vw,5.2rem)/1 var(--editorial);letter-spacing:-.025em;text-transform:uppercase}
.audience-premium-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(174,190,211,.55);border-bottom:1px solid rgba(174,190,211,.55)}
.audience-premium-grid article{display:grid;grid-template-columns:18px 1fr;gap:1.4rem;align-items:start;min-height:205px;padding:2.8rem 2.2rem 2.4rem 0;border-bottom:1px solid rgba(174,190,211,.5);opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.7,.2,1),background .3s ease}
.audience-premium-grid article:nth-child(3n+2),.audience-premium-grid article:nth-child(3n+3){padding-left:2rem;border-left:1px solid rgba(174,190,211,.42)}
.audience-premium-grid article:nth-child(n+4){border-bottom:0}
.audience-premium.visible .audience-premium-grid article{opacity:1;transform:none}
.audience-premium.visible .audience-premium-grid article:nth-child(1){transition-delay:.18s}.audience-premium.visible .audience-premium-grid article:nth-child(2){transition-delay:.26s}.audience-premium.visible .audience-premium-grid article:nth-child(3){transition-delay:.34s}.audience-premium.visible .audience-premium-grid article:nth-child(4){transition-delay:.42s}.audience-premium.visible .audience-premium-grid article:nth-child(5){transition-delay:.5s}.audience-premium.visible .audience-premium-grid article:nth-child(6){transition-delay:.58s}
.audience-premium-grid article:hover{background:rgba(255,255,255,.035)}
.audience-premium-grid i{display:block;width:14px;height:14px;margin-top:.45rem;background:#c62828;transition:transform .3s ease,box-shadow .3s ease}
.audience-premium-grid article:hover i{transform:scale(1.22);box-shadow:0 0 0 6px rgba(198,40,40,.12)}
.audience-premium-grid h3{margin:0;color:#f3f2ee;font:600 clamp(1.75rem,2.35vw,2.75rem)/1 var(--display);text-transform:uppercase}
.audience-premium-grid p{margin:1.2rem 0 0;color:#8f9eb5;font-size:clamp(.82rem,1vw,1.02rem);line-height:1.55}
.audience-premium-link{display:block;width:max-content;margin:4.5rem 0 0 auto;padding:.6rem 0;border-bottom:2px solid #c62828;color:#f3f2ee;font:700 clamp(.66rem,.82vw,.84rem) var(--mono);letter-spacing:.14em;text-transform:uppercase}
.audience-premium-link span{color:#f3f2ee;font-size:1.2em;transition:color .25s ease,transform .25s ease}.audience-premium-link:hover span{color:#c62828}
.audience-premium-link:focus-visible{outline:3px solid #f3f2ee;outline-offset:5px}
@media(max-width:900px){.audience-premium{min-height:0}.audience-premium-grid{grid-template-columns:1fr 1fr}.audience-premium-grid article:nth-child(3n+2),.audience-premium-grid article:nth-child(3n+3){padding-left:0;border-left:0}.audience-premium-grid article:nth-child(even){padding-left:1.8rem;border-left:1px solid rgba(174,190,211,.42)}.audience-premium-grid article:nth-child(n+4){border-bottom:1px solid rgba(174,190,211,.5)}.audience-premium-grid article:nth-child(n+5){border-bottom:0}}
@media(max-width:600px){.audience-premium{padding:4.5rem var(--pad)}.audience-premium-head{grid-template-columns:1fr;gap:1.5rem}.audience-premium-head p:last-child{justify-self:start;text-align:left}.audience-premium h2{margin:3rem 0;font-size:clamp(3rem,14vw,4.5rem)}.audience-premium-grid{grid-template-columns:1fr}.audience-premium-grid article,.audience-premium-grid article:nth-child(even),.audience-premium-grid article:nth-child(n+5){min-height:0;padding:2rem 0;border-left:0;border-bottom:1px solid rgba(174,190,211,.5)}.audience-premium-grid article:last-child{border-bottom:0}.audience-premium-link{margin:3rem 0 0}}
@media(prefers-reduced-motion:reduce){.audience-premium,.audience-premium-grid article{opacity:1;transform:none;transition:none}.audience-premium-grid i{transition:none}}
/* Refined commitment headline: smaller live type over the approved artwork. */
.commitment-title-refined{position:absolute;z-index:3;left:0;top:0;width:52%;height:68%;padding:7.8% 2.5% 2% 7.4%;background:#010e3a;color:#f3f2ee;line-height:normal}
.commitment-title-refined::before{content:"";position:absolute;left:3%;top:0;width:2px;height:100%;background:#ed1c24}
.commitment-title-refined::after{content:"";position:absolute;left:3%;bottom:0;width:91%;height:2px;background:#ed1c24}
.commitment-title-refined p{margin:0 0 2.2rem;color:#f3f2ee;font:700 clamp(.72rem,1.15vw,1.35rem) var(--body);letter-spacing:.02em;text-transform:uppercase}
.commitment-title-refined h2{margin:0;color:#f3f2ee;font:600 clamp(3.4rem,5.8vw,6.8rem)/.91 var(--display);letter-spacing:-.015em;text-transform:uppercase}
@media(max-width:900px){.commitment-title-refined{width:56%;padding-left:7%}.commitment-title-refined h2{font-size:clamp(3rem,6vw,5.2rem)}.commitment-title-refined p{margin-bottom:1.3rem}}
@media(max-width:700px){.commitment-title-refined{left:0;width:510px;height:384px;padding:70px 25px 20px 72px}.commitment-title-refined::before{left:29px}.commitment-title-refined::after{left:29px;width:447px}.commitment-title-refined h2{font-size:54px}.commitment-title-refined p{font-size:13px}.commitment-exact-link{z-index:4}}
/* Clean commitment rebuild: one headline, no raster or overlapping layers. */
.commitment-clean{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.78fr);gap:clamp(4rem,8vw,10rem);min-height:760px;padding:clamp(6rem,9vw,9rem) clamp(3rem,7.5vw,9rem);background:#010e3a;color:#f3f2ee;overflow:hidden;opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.commitment-clean.visible{opacity:1;transform:none}
.commitment-clean::before{content:"";position:absolute;left:3%;top:0;width:2px;height:0;background:#ed1c24}
.commitment-clean::after{content:"";position:absolute;left:3%;top:78%;width:0;height:2px;background:#ed1c24}
.commitment-clean.visible::before{animation:commitment-frame-v .9s .25s ease forwards}.commitment-clean.visible::after{animation:commitment-frame-h 1s .8s ease forwards}
@keyframes commitment-frame-v{to{height:78%}}@keyframes commitment-frame-h{to{width:46%}}
.commitment-clean-title{position:relative;z-index:1;align-self:start}
.commitment-clean-title>p{margin:0 0 2rem;color:#f3f2ee;font:700 clamp(.76rem,1vw,1.05rem) var(--body);letter-spacing:.04em;text-transform:uppercase}
.commitment-clean-title h2{max-width:860px;margin:0;color:#f3f2ee;font:600 clamp(4rem,6.1vw,7.4rem)/.9 var(--display);letter-spacing:-.018em;text-transform:uppercase}
.commitment-clean-copy{position:relative;z-index:1;align-self:center;max-width:560px;padding-top:5rem}
.commitment-clean-copy p{margin:0 0 2rem;color:rgba(243,242,238,.9);font-size:clamp(.95rem,1.25vw,1.2rem);line-height:1.65}
.commitment-clean-copy a{display:inline-flex;align-items:center;gap:.65rem;margin-top:1rem;padding:.7rem 0;border-bottom:2px solid #c62828;color:#f3f2ee;font:700 clamp(.68rem,.82vw,.86rem) var(--mono);letter-spacing:.12em;text-transform:uppercase}
.commitment-clean-copy a span{color:#f3f2ee;transition:color .25s ease}.commitment-clean-copy a:hover span{color:#c62828}.commitment-clean-copy a:focus-visible{outline:3px solid #f3f2ee;outline-offset:5px}
@media(max-width:900px){.commitment-clean{grid-template-columns:1fr;gap:3.5rem;min-height:0;padding:6rem var(--pad)}.commitment-clean::after{top:55%}.commitment-clean.visible::before{animation-name:commitment-frame-v-mobile}.commitment-clean.visible::after{animation-name:commitment-frame-h-mobile}.commitment-clean-copy{padding-top:0;max-width:680px}@keyframes commitment-frame-v-mobile{to{height:55%}}@keyframes commitment-frame-h-mobile{to{width:62%}}}
@media(max-width:600px){.commitment-clean{padding:5rem 2rem 5.5rem 2.7rem}.commitment-clean::before,.commitment-clean::after{left:1.4rem}.commitment-clean-title h2{font-size:clamp(3.25rem,14vw,5rem)}.commitment-clean-title>p{margin-bottom:1.4rem}.commitment-clean-copy{padding-top:1rem}.commitment-clean-copy p{font-size:.95rem}.commitment-clean::after{top:50%}}
@media(prefers-reduced-motion:reduce){.commitment-clean{opacity:1;transform:none;transition:none}.commitment-clean::before{height:78%;animation:none!important}.commitment-clean::after{width:46%;animation:none!important}}
/* Coverage heading refinement: baked heading cropped out, one smaller live heading only. */
.coverage-clean{position:relative;background:#010e3a;color:#f3f2ee;overflow:hidden;opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.coverage-clean.visible{opacity:1;transform:none}
.coverage-clean-head{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:4rem;align-items:end;padding:clamp(4.5rem,7vw,7rem) clamp(2rem,4vw,4.5rem) 3.5rem}
.coverage-clean-head>div>p{margin:0 0 1.4rem;color:#c62828;font:700 clamp(.68rem,.8vw,.84rem) var(--mono);letter-spacing:.17em;text-transform:uppercase}
.coverage-clean-head h2{margin:0;color:#f3f2ee;font:600 clamp(3.2rem,5vw,5.8rem)/.88 var(--display);letter-spacing:-.015em;text-transform:uppercase}
.coverage-clean-head>p{max-width:410px;margin:0 0 .35rem;color:rgba(243,242,238,.85);font-size:clamp(.86rem,1vw,1rem);line-height:1.65}
.coverage-map-crop{position:relative;width:100%;aspect-ratio:1792/768;overflow:hidden;background:#010e3a;line-height:0}
.coverage-map-crop>img{position:absolute;left:0;top:-33.333%;display:block;width:100%;height:auto;transform:scale(1.018);filter:brightness(.88);transition:transform 1.45s cubic-bezier(.16,1,.3,1),filter 1s ease}
.coverage-clean.visible .coverage-map-crop>img{transform:scale(1);filter:brightness(1)}
.coverage-clean .coverage-datum{left:49.45%;top:0;height:0}.coverage-clean.visible .coverage-datum{animation:coverage-clean-datum 1.1s .3s ease forwards}
@keyframes coverage-clean-datum{to{height:84%}}
.coverage-clean.visible .coverage-point{animation:coverage-point .52s var(--delay) cubic-bezier(.2,.8,.2,1) forwards}
.coverage-clean .coverage-contact-link{right:4.1%;bottom:4.8%;width:17.8%;height:8.4%}
@media(max-width:800px){.coverage-clean-head{grid-template-columns:1fr;gap:2rem}.coverage-clean-head h2{font-size:clamp(3rem,10vw,5rem)}.coverage-clean-head>p{max-width:620px}.coverage-map-crop{min-width:980px;width:980px;height:420px;aspect-ratio:auto}.coverage-map-crop>img{width:980px;max-width:none;top:-140px}.coverage-clean{overflow-x:auto}.coverage-clean .coverage-datum{left:485px}.coverage-clean .coverage-point:nth-of-type(2){left:343px;top:56px}.coverage-clean .coverage-point:nth-of-type(3){left:686px;top:56px}.coverage-clean .coverage-point:nth-of-type(4){left:176px;top:101px}.coverage-clean .coverage-point:nth-of-type(5){left:480px;top:163px}.coverage-clean .coverage-point:nth-of-type(6){left:676px;top:140px}.coverage-clean .coverage-point:nth-of-type(7){left:167px;top:224px}.coverage-clean .coverage-point:nth-of-type(8){left:333px;top:297px}.coverage-clean .coverage-point:nth-of-type(9){left:608px;top:302px}.coverage-clean .coverage-contact-link{right:auto;left:761px;bottom:8px;width:175px;height:46px}}
@media(max-width:600px){.coverage-clean-head{padding:4.5rem var(--pad) 3rem}.coverage-clean-head h2{font-size:clamp(2.9rem,13vw,4.2rem)}}
@media(prefers-reduced-motion:reduce){.coverage-clean{opacity:1;transform:none;transition:none}.coverage-map-crop>img{transform:none;filter:none;transition:none}.coverage-clean .coverage-datum{height:84%;animation:none!important}}
/* Smaller, single live headings for Selected Work and Why Clients; baked headings cropped out. */
.selected-work-clean,.why-clean{background:#010e3a;color:#f3f2ee;overflow:hidden;opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.selected-work-clean.visible,.why-clean.visible{opacity:1;transform:none}
.selected-work-clean-head,.why-clean-head{display:grid;grid-template-columns:1.35fr .65fr;gap:5rem;align-items:end;padding:clamp(4.5rem,7vw,7rem) clamp(2rem,4vw,4.5rem) 3.5rem}
.selected-work-clean-head p,.why-clean-head p{margin:0;color:rgba(243,242,238,.72);font-size:clamp(.84rem,1vw,1rem);line-height:1.65}
.selected-work-clean-head>div:first-child>p,.why-clean-head>div>p{margin-bottom:1.3rem;color:#c62828;font:700 clamp(.68rem,.8vw,.84rem) var(--mono);letter-spacing:.17em;text-transform:uppercase}
.selected-work-clean-head h2,.why-clean-head h2{margin:0;color:#f3f2ee;font:600 clamp(3.2rem,5vw,5.8rem)/.88 var(--display);letter-spacing:-.015em;text-transform:uppercase}
.selected-work-clean-head>div:last-child,.why-clean-head>p{max-width:430px;justify-self:end}
.selected-work-clean-head a{display:inline-block;margin-top:1.5rem;padding:.55rem 0;border-bottom:2px solid #c62828;color:#f3f2ee;font:700 .75rem var(--mono);letter-spacing:.12em;text-transform:uppercase}
.selected-work-crop{position:relative;width:100%;aspect-ratio:1672/485;overflow:hidden;line-height:0}.selected-work-crop img{position:absolute;left:0;top:-94.15%;width:100%;height:auto}.selected-work-crop>a{position:absolute;inset:0;z-index:2}.selected-work-crop>a:focus-visible{outline:3px solid #f3f2ee;outline-offset:-5px}
.why-clean-crop{position:relative;width:100%;aspect-ratio:1672/800;overflow:hidden;line-height:0}.why-clean-crop>img{position:absolute;left:0;top:-17.65%;width:100%;height:auto}.why-clean .why-sweep{left:46.1%;top:0}.why-clean.visible .why-sweep{animation:why-sweep 1.15s .4s cubic-bezier(.2,.7,.2,1) forwards}.why-clean .why-row{left:42.8%}.why-clean .why-row-1{top:0;height:17.3%}.why-clean .why-row-2{top:17.3%;height:16.9%}.why-clean .why-row-3{top:34.2%;height:17.1%}.why-clean .why-row-4{top:51.3%;height:16.7%}.why-clean .why-row-5{top:68%;height:16.2%}.why-clean .why-row-6{top:84.2%;height:15.8%}
@media(max-width:800px){.selected-work-clean-head,.why-clean-head{grid-template-columns:1fr;gap:2rem}.selected-work-clean-head h2,.why-clean-head h2{font-size:clamp(3rem,10vw,5rem)}.selected-work-clean-head>div:last-child,.why-clean-head>p{justify-self:start;max-width:620px}.selected-work-crop{width:980px;height:284px;aspect-ratio:auto}.selected-work-crop img{width:980px;max-width:none;top:-268px}.why-clean-crop{width:980px;height:469px;aspect-ratio:auto}.why-clean-crop>img{width:980px;max-width:none;top:-83px}.selected-work-clean,.why-clean{overflow-x:auto}.why-clean .why-row{left:419px;right:auto;width:561px}}
@media(max-width:600px){.selected-work-clean-head,.why-clean-head{padding:4.5rem var(--pad) 3rem}.selected-work-clean-head h2,.why-clean-head h2{font-size:clamp(2.9rem,13vw,4.2rem)}}
@media(prefers-reduced-motion:reduce){.selected-work-clean,.why-clean{opacity:1;transform:none;transition:none}.why-clean .why-sweep{display:none}}
/* Why Clients rebuilt entirely in live HTML: no embedded duplicate heading remains. */
.why-live{padding:clamp(5rem,7.5vw,8rem) clamp(2rem,4vw,4.5rem);background:#010e3a;color:#f3f2ee;opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.why-live.visible{opacity:1;transform:none}
.why-live-head{display:grid;grid-template-columns:1.35fr .65fr;gap:5rem;align-items:end;margin-bottom:4rem}
.why-live-head>div>p{margin:0 0 1.3rem;color:#c62828;font:700 clamp(.68rem,.8vw,.84rem) var(--mono);letter-spacing:.17em;text-transform:uppercase}
.why-live-head h2{margin:0;color:#f3f2ee;font:600 clamp(3.2rem,5vw,5.8rem)/.88 var(--display);letter-spacing:-.015em;text-transform:uppercase}
.why-live-head>p{max-width:430px;justify-self:end;margin:0;color:rgba(243,242,238,.72);font-size:clamp(.84rem,1vw,1rem);line-height:1.65}
.why-live-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(243,242,238,.28);border-left:1px solid rgba(243,242,238,.28)}
.why-live-grid article{position:relative;min-height:285px;padding:2rem;border-right:1px solid rgba(243,242,238,.28);border-bottom:1px solid rgba(243,242,238,.28);overflow:hidden;opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .65s ease,background .3s ease}
.why-live.visible .why-live-grid article{opacity:1;transform:none}.why-live.visible .why-live-grid article:nth-child(1){transition-delay:.12s}.why-live.visible .why-live-grid article:nth-child(2){transition-delay:.2s}.why-live.visible .why-live-grid article:nth-child(3){transition-delay:.28s}.why-live.visible .why-live-grid article:nth-child(4){transition-delay:.36s}.why-live.visible .why-live-grid article:nth-child(5){transition-delay:.44s}.why-live.visible .why-live-grid article:nth-child(6){transition-delay:.52s}
.why-live-grid article::before{content:"";position:absolute;left:0;top:0;width:4px;height:0;background:#c62828;transition:height .35s ease}.why-live-grid article:hover{background:rgba(255,255,255,.045)}.why-live-grid article:hover::before{height:100%}
.why-live-grid span{color:#c62828;font:700 .68rem var(--mono);letter-spacing:.1em}.why-live-grid h3{margin:4rem 0 1rem;color:#f3f2ee;font:600 clamp(1.75rem,2.2vw,2.55rem)/.98 var(--display);text-transform:uppercase}.why-live-grid p{max-width:350px;margin:0;color:#9aa7b9;font-size:clamp(.8rem,.92vw,.94rem);line-height:1.6}
@media(max-width:900px){.why-live-head{grid-template-columns:1fr;gap:2rem}.why-live-head>p{justify-self:start;max-width:620px}.why-live-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.why-live{padding:4.5rem var(--pad)}.why-live-head h2{font-size:clamp(2.9rem,13vw,4.2rem)}.why-live-grid{grid-template-columns:1fr}.why-live-grid article{min-height:235px}.why-live-grid h3{margin-top:3rem}}
@media(prefers-reduced-motion:reduce){.why-live,.why-live-grid article{opacity:1;transform:none;transition:none}}
/* Approved global footer used across every page; original header logo treatment retained. */
.global-footer{position:relative;padding:clamp(5rem,7vw,7.5rem) clamp(2rem,4vw,4.5rem) 1.8rem;background:#010e3a;color:#f3f2ee;overflow:hidden}
.global-footer-cta{position:relative;display:grid;grid-template-columns:1.4fr .6fr;gap:4rem;align-items:center;padding-bottom:4.5rem;border-bottom:2px solid #c62828}
.global-footer-cta::after{content:"";position:absolute;right:15%;bottom:-30px;width:2px;height:30px;background:#c62828}
.global-footer-cta p{margin:0 0 1.4rem;color:#c62828;font:700 clamp(.68rem,.8vw,.84rem) var(--mono);letter-spacing:.17em;text-transform:uppercase}
.global-footer-cta h2{max-width:950px;margin:0;color:#f3f2ee;font:600 clamp(3.2rem,5.4vw,6.1rem)/.9 var(--display);letter-spacing:-.018em;text-transform:uppercase}
.global-footer-cta>a{justify-self:end;display:flex;align-items:center;justify-content:center;min-width:min(100%,470px);min-height:112px;padding:1.5rem 2.5rem;border:2px solid #f3f2ee;color:#f3f2ee;font:700 clamp(.75rem,1vw,1rem) var(--mono);letter-spacing:.1em;text-transform:uppercase;transition:background .3s ease,color .3s ease,border-color .3s ease}
.global-footer-cta>a span{margin-left:.7rem;color:#c62828;font-size:1.35em}.global-footer-cta>a:hover{background:#f3f2ee;color:#010e3a;border-color:#f3f2ee}.global-footer-cta>a:focus-visible{outline:3px solid #c62828;outline-offset:5px}
.global-footer-grid{display:grid;grid-template-columns:1.15fr 1.1fr .9fr .9fr;gap:0;padding:4rem 0}
.global-footer .global-footer-brand{align-self:center;width:300px;height:280px;margin:-2rem 2.5rem -2rem 0;background-size:auto 190%;filter:none}
.global-footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;min-height:280px;padding:1rem 2.8rem;border-left:1px solid rgba(243,242,238,.28);color:#f3f2ee}
.global-footer-column h3{position:relative;margin:0 0 2.2rem;color:#f3f2ee;font:700 .8rem var(--mono);letter-spacing:.17em;text-transform:uppercase}.global-footer-column h3::after{content:"";position:absolute;left:0;bottom:-1rem;width:42px;height:2px;background:#c62828}
.global-footer-column a,.global-footer-column span{color:rgba(243,242,238,.82);font-size:clamp(.83rem,.95vw,.98rem);line-height:1.45}.global-footer-column a{transition:color .2s ease,transform .2s ease}.global-footer-column a:hover{color:#fff;transform:translateX(3px)}
.global-footer-column .global-footer-coverage{margin-top:1.2rem;padding-bottom:.35rem;border-bottom:1px solid #f3f2ee;color:#f3f2ee}.global-footer-coverage b{color:#c62828;font-weight:400}
.global-footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;padding-top:1.6rem;border-top:1px solid rgba(243,242,238,.32);color:rgba(243,242,238,.68);font:500 .62rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.global-footer-bottom a{color:rgba(243,242,238,.8)}.global-footer-bottom>span:last-child{text-align:right}
@media(max-width:1000px){.global-footer-cta{grid-template-columns:1fr}.global-footer-cta>a{justify-self:start}.global-footer-grid{grid-template-columns:1fr 1fr}.global-footer .global-footer-brand{width:270px;height:250px}.global-footer-column:nth-child(3){border-left:0;border-top:1px solid rgba(243,242,238,.28)}.global-footer-column:nth-child(4){border-top:1px solid rgba(243,242,238,.28)}}
@media(max-width:600px){.global-footer{padding:4.5rem var(--pad) 1.5rem}.global-footer-cta{gap:2.5rem;padding-bottom:3.5rem}.global-footer-cta h2{font-size:clamp(3rem,14vw,4.5rem)}.global-footer-cta>a{width:100%;min-height:82px}.global-footer-grid{grid-template-columns:1fr}.global-footer .global-footer-brand{width:250px;height:225px;margin:-1rem 0 1rem}.global-footer-column,.global-footer-column:nth-child(3){min-height:0;padding:2.2rem 0;border-left:0;border-top:1px solid rgba(243,242,238,.28)}.global-footer-column h3{margin-bottom:1.8rem}.global-footer-bottom{grid-template-columns:1fr;gap:.8rem}.global-footer-bottom>span:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){.global-footer-cta>a,.global-footer-column a{transition:none}}
/* Approved split project-brief CTA; footer and all other sections remain independent. */
.project-brief-cta{position:relative;display:grid;grid-template-columns:66% 34%;min-height:760px;background:#f3f2ee;overflow:hidden;opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .95s cubic-bezier(.2,.7,.2,1)}
.project-brief-cta.visible{opacity:1;transform:none}
.project-brief-main{position:relative;padding:clamp(5.5rem,8vw,8.5rem) clamp(3rem,5.2vw,6.2rem);color:#010e3a}
.project-brief-kicker{margin:0 0 2.2rem;color:#c62828;font:700 clamp(.72rem,.9vw,.95rem) var(--mono);letter-spacing:.16em;text-transform:uppercase}
.project-brief-main h2{max-width:850px;margin:0;color:#010e3a;font:600 clamp(5rem,7.5vw,8.8rem)/.83 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.project-brief-main::after{content:"";position:absolute;z-index:2;left:58%;top:31%;width:0;height:2px;background:#c62828}
.project-brief-cta.visible .project-brief-main::after{animation:project-brief-line .9s .4s ease forwards}@keyframes project-brief-line{to{width:45%}}
.project-brief-copy{max-width:570px;margin:2rem 0 2.5rem;color:#162746;font-size:clamp(1rem,1.35vw,1.3rem);line-height:1.55}
.project-brief-main>a{display:inline-flex;align-items:center;justify-content:center;min-width:360px;min-height:76px;padding:1.2rem 2rem;background:#010e3a;color:#f3f2ee;font:700 clamp(.72rem,.9vw,.92rem) var(--mono);letter-spacing:.12em;text-transform:uppercase;transition:background .3s ease,transform .3s ease}
.project-brief-main>a span{margin-left:.75rem;color:#c62828;font-size:1.35em}.project-brief-main>a:hover{background:#c62828;transform:translateY(-3px)}.project-brief-main>a:hover span{color:#fff}.project-brief-main>a:focus-visible{outline:3px solid #c62828;outline-offset:5px}
.project-brief-aside{display:flex;flex-direction:column;padding:clamp(5.5rem,8vw,8.5rem) clamp(2.5rem,4vw,4.5rem);background:#010e3a;color:#f3f2ee}
.project-brief-aside h3{margin:0 0 3.5rem;color:#f3f2ee;font:700 clamp(.72rem,.9vw,.95rem) var(--mono);letter-spacing:.16em;text-transform:uppercase}
.project-brief-aside ul{list-style:none;margin:0;padding:0}.project-brief-aside li{padding:1.6rem 0;border-bottom:1px solid rgba(243,242,238,.48);color:#f3f2ee;font:600 clamp(1.25rem,1.65vw,1.75rem) var(--body);letter-spacing:.03em;text-transform:uppercase}
.project-brief-aside p{margin:auto 0 0;color:rgba(243,242,238,.82);font:500 clamp(.72rem,.9vw,.92rem)/1.55 var(--mono);letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){.project-brief-cta{grid-template-columns:1fr;min-height:0}.project-brief-main{padding:5.5rem var(--pad)}.project-brief-main::after{display:none}.project-brief-main h2{font-size:clamp(4.5rem,14vw,7rem)}.project-brief-aside{min-height:620px;padding:4.5rem var(--pad)}}
@media(max-width:600px){.project-brief-main{padding:4.5rem var(--pad)}.project-brief-main h2{font-size:clamp(3.7rem,17vw,5.4rem)}.project-brief-copy{font-size:1rem}.project-brief-main>a{width:100%;min-width:0}.project-brief-aside{min-height:540px}.project-brief-aside li{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){.project-brief-cta{opacity:1;transform:none;transition:none}.project-brief-main::after{width:45%;animation:none!important}.project-brief-main>a{transition:none}}
/* Approved all-navy project case-study CTA. */
.project-case-cta{position:relative;display:grid;grid-template-columns:58% 42%;min-height:clamp(610px,45vw,760px);overflow:hidden;background:#010e3a;color:#f3f2ee}
.project-case-cta::before{content:"";position:absolute;inset:0 42% 0 0;pointer-events:none;opacity:.11;background:linear-gradient(rgba(243,242,238,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(243,242,238,.3) 1px,transparent 1px);background-size:clamp(110px,10vw,180px) clamp(110px,10vw,180px)}
.project-case-left,.project-case-right{position:relative;z-index:1;padding:clamp(3.8rem,5vw,5.6rem) clamp(2rem,5vw,6rem)}
.project-case-left{display:flex;flex-direction:column}.project-case-kicker{margin:0 0 clamp(2rem,3vw,3.5rem);color:#c62828;font:700 clamp(.72rem,.9vw,.95rem) var(--mono);letter-spacing:.15em;text-transform:uppercase}
.project-case-left h2{max-width:850px;margin:0;color:#f3f2ee;font:600 clamp(5.2rem,7.8vw,9rem)/.82 var(--display);letter-spacing:-.018em;text-transform:uppercase}
.project-case-intro{display:grid;grid-template-columns:78px minmax(0,360px);gap:1.8rem;align-items:start;margin:auto 0 0 42%}.project-case-intro>span{height:3px;margin-top:.45rem;background:#c62828;transform-origin:left;transition:transform .8s .25s ease}.project-case-intro p{margin:0;color:#f3f2ee;font-size:clamp(1rem,1.25vw,1.25rem);line-height:1.65}.project-case-intro strong{display:block;margin-bottom:1.3rem;color:#c62828;font:700 clamp(.72rem,.9vw,.9rem) var(--mono);letter-spacing:.14em;text-transform:uppercase}
.project-case-right{display:flex;flex-direction:column;border-left:2px solid rgba(243,242,238,.82)}.project-case-right>div>p{margin:clamp(1.5rem,4vw,3.5rem) 0 2.2rem;color:#f3f2ee;font-size:clamp(1.15rem,1.55vw,1.55rem);line-height:1.5}.project-case-right>div>span,.project-case-right>small{color:#c62828;font:700 clamp(.68rem,.82vw,.86rem) var(--mono);letter-spacing:.14em;text-transform:uppercase}
.project-case-right>a{display:flex;align-items:center;justify-content:center;min-height:116px;margin:auto 0;padding:1.5rem;border:2px solid #f3f2ee;color:#f3f2ee;font:700 clamp(.78rem,1vw,1rem) var(--mono);letter-spacing:.12em;text-align:center;text-transform:uppercase;transition:background .3s ease,color .3s ease,transform .3s ease}.project-case-right>a b{margin-left:.8rem;color:#c62828;font-size:1.35em}.project-case-right>a:hover{background:#f3f2ee;color:#010e3a;transform:translateY(-3px)}.project-case-right>a:focus-visible{outline:3px solid #c62828;outline-offset:5px}.project-case-right>small{margin-top:auto}.project-case-cta.reveal:not(.visible) .project-case-intro>span{transform:scaleX(0)}
@media(max-width:900px){.project-case-cta{grid-template-columns:1fr;min-height:0}.project-case-cta::before{inset:0;background-size:120px 120px}.project-case-left,.project-case-right{padding:5rem var(--pad)}.project-case-left{min-height:760px}.project-case-left h2{font-size:clamp(5rem,14vw,7.5rem)}.project-case-intro{margin:auto 0 0 25%}.project-case-right{min-height:600px;border-left:0;border-top:2px solid rgba(243,242,238,.82)}.project-case-right>div>p{margin-top:0}}
@media(max-width:600px){.project-case-left,.project-case-right{padding:4.5rem var(--pad)}.project-case-left{min-height:650px}.project-case-left h2{font-size:clamp(4rem,18vw,5.8rem)}.project-case-intro{grid-template-columns:48px 1fr;gap:1rem;margin-left:0}.project-case-right{min-height:520px}.project-case-right>a{min-height:88px}.project-case-right>div>p br{display:none}}
@media(prefers-reduced-motion:reduce){.project-case-intro>span,.project-case-right>a{transition:none}}
/* Interactive service explorer. */
.service-explorer{display:grid;grid-template-columns:38% 62%;min-height:clamp(680px,53vw,880px);overflow:hidden;background:#010e3a;color:#f3f2ee}
.service-explorer-nav{position:relative;z-index:2;display:flex;flex-direction:column;padding:clamp(4rem,5.5vw,6rem) clamp(2rem,4.6vw,5rem);border-right:1px solid rgba(243,242,238,.34)}
.service-explorer-kicker{margin:0 0 2rem;color:#c62828;font:700 clamp(.7rem,.82vw,.88rem) var(--mono);letter-spacing:.16em;text-transform:uppercase}
.service-explorer-nav h2{margin:0;color:#f3f2ee;font:600 clamp(4.2rem,6.2vw,7.2rem)/.85 var(--display);letter-spacing:-.015em;text-transform:uppercase}
.service-explorer-lead{margin:2rem 0 2.6rem;color:rgba(243,242,238,.78);font-size:clamp(.95rem,1.15vw,1.15rem);line-height:1.6}
.service-explorer-tabs{display:grid;margin-top:auto}.service-explorer-tabs button{position:relative;display:grid;grid-template-columns:56px 1fr;gap:1rem;align-items:center;width:100%;padding:1rem 0;border:0;background:transparent;color:rgba(243,242,238,.62);font:500 clamp(.92rem,1.15vw,1.15rem) var(--body);text-align:left;cursor:pointer;transition:color .25s ease,transform .25s ease}.service-explorer-tabs button::before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:4px;background:#c62828;transform:scaleY(0);transition:transform .25s ease}.service-explorer-tabs button span{font:500 .82rem var(--mono)}.service-explorer-tabs button[aria-selected="true"]{padding-left:1.5rem;color:#f3f2ee}.service-explorer-tabs button[aria-selected="true"]::before{transform:scaleY(1)}.service-explorer-tabs button:hover{color:#fff;transform:translateX(4px)}.service-explorer-tabs button:focus-visible{outline:2px solid #c62828;outline-offset:5px}
.service-explorer-stage{position:relative;display:flex;align-items:flex-end;padding:clamp(4rem,5.5vw,6rem) clamp(2rem,5vw,6rem);isolation:isolate}.service-explorer-stage::before{content:"";position:absolute;inset:45% clamp(2rem,5vw,6rem) auto 0;height:1px;background:rgba(243,242,238,.45)}
.service-explorer-number{position:absolute;top:clamp(2.5rem,4vw,4.5rem);left:clamp(2rem,7vw,8rem);z-index:-1;color:transparent;font:600 clamp(13rem,24vw,27rem)/.75 var(--display);letter-spacing:-.04em;-webkit-text-stroke:1px rgba(243,242,238,.25)}
.service-explorer-drawing{position:absolute;right:7%;top:8%;width:25%;aspect-ratio:1;border-right:1px solid rgba(198,40,40,.8);border-bottom:1px solid rgba(243,242,238,.22)}.service-explorer-drawing::before,.service-explorer-drawing::after{content:"";position:absolute;background:#c62828}.service-explorer-drawing::before{right:-1px;top:24%;width:48%;height:2px}.service-explorer-drawing::after{right:20%;top:24%;width:2px;height:42%}
.service-explorer-panel{width:min(100%,800px);margin-left:8%;animation:service-panel-in .42s cubic-bezier(.2,.7,.2,1)}.service-explorer-panel[hidden]{display:none}.service-explorer-panel h3{margin:0 0 1.1rem;color:#f3f2ee;font:600 clamp(3.4rem,5vw,5.7rem)/.9 var(--display);text-transform:uppercase}.service-explorer-panel>p{max-width:650px;margin:0 0 1.2rem;color:rgba(243,242,238,.84);font-size:clamp(1rem,1.22vw,1.2rem);line-height:1.55}.service-explorer-panel ul{list-style:none;margin:0 0 1.5rem;padding:0;border-top:1px solid rgba(243,242,238,.44)}.service-explorer-panel li{padding:.65rem 0;border-bottom:1px solid rgba(243,242,238,.44);color:#f3f2ee}.service-explorer-panel a{display:inline-flex;align-items:center;min-height:54px;padding:.8rem 1.2rem;border:1px solid #f3f2ee;color:#f3f2ee;font:700 clamp(.68rem,.78vw,.82rem) var(--mono);letter-spacing:.1em;text-transform:uppercase;transition:background .25s ease,color .25s ease}.service-explorer-panel a span{margin-left:.7rem;color:#c62828;font-size:1.25em}.service-explorer-panel a:hover{background:#f3f2ee;color:#010e3a}.service-explorer-panel a:focus-visible{outline:3px solid #c62828;outline-offset:4px}
@keyframes service-panel-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:900px){.service-explorer{grid-template-columns:1fr;min-height:0}.service-explorer-nav{padding:4.5rem var(--pad);border-right:0;border-bottom:1px solid rgba(243,242,238,.34)}.service-explorer-nav h2{font-size:clamp(4.5rem,14vw,7rem)}.service-explorer-tabs{margin-top:1rem}.service-explorer-stage{min-height:650px;padding:4.5rem var(--pad)}.service-explorer-stage::before{inset:42% var(--pad) auto 0}.service-explorer-panel{margin-left:0}.service-explorer-number{font-size:clamp(12rem,45vw,22rem)}}
@media(max-width:600px){.service-explorer-tabs button{grid-template-columns:42px 1fr}.service-explorer-stage{min-height:570px}.service-explorer-panel h3{font-size:clamp(3.2rem,14vw,4.8rem)}.service-explorer-drawing{display:none}}
@media(prefers-reduced-motion:reduce){.service-explorer-tabs button,.service-explorer-tabs button::before,.service-explorer-panel,.service-explorer-panel a{transition:none;animation:none}}
/* Approved Services split CTA. */
.services-cta{position:relative;display:grid;grid-template-columns:56% 44%;min-height:clamp(540px,42vw,650px);overflow:hidden;background:#f3f2ee}
.services-cta-main,.services-cta-action{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,6vw,6.5rem) clamp(2rem,5vw,6rem)}
.services-cta-main>p,.services-cta-kicker{margin:0 0 2rem;color:#c62828;font:700 clamp(.72rem,.88vw,.92rem) var(--mono);letter-spacing:.17em;text-transform:uppercase}
.services-cta-main h2{margin:0;color:#010e3a;font:600 clamp(4.8rem,7vw,8rem)/.86 var(--display);letter-spacing:-.018em;text-transform:uppercase}
.services-cta-main>span{width:78%;height:2px;margin-top:3rem;background:#c62828;transform-origin:left;transition:transform .8s .2s ease}
.services-cta.reveal:not(.visible) .services-cta-main>span{transform:scaleX(0)}
.services-cta-action{background:#010e3a;color:#f3f2ee}.services-cta-action::before{content:"";position:absolute;left:-42px;top:19%;width:82px;height:42%;border-left:2px solid #c62828;border-top:2px solid #c62828;pointer-events:none}
.services-cta-action .services-cta-kicker{margin-bottom:2.2rem}.services-cta-copy{margin:0 0 2.8rem;color:#f3f2ee;font-size:clamp(1.05rem,1.35vw,1.32rem);line-height:1.6}
.services-cta-action>a{display:flex;align-items:center;justify-content:center;width:100%;min-height:112px;padding:1.5rem 2rem;border:2px solid #f3f2ee;color:#f3f2ee;font:700 clamp(.85rem,1.15vw,1.1rem) var(--mono);letter-spacing:.12em;text-transform:uppercase;transition:background .3s ease,color .3s ease,transform .3s ease}.services-cta-action>a span{margin-left:.9rem;color:#c62828;font-size:1.45em}.services-cta-action>a:hover{background:#f3f2ee;color:#010e3a;transform:translateY(-3px)}.services-cta-action>a:focus-visible{outline:3px solid #c62828;outline-offset:5px}
.services-cta-action>small{margin-top:2.8rem;color:#f3f2ee;font:600 clamp(.66rem,.78vw,.8rem) var(--mono);letter-spacing:.13em;text-transform:uppercase}
@media(max-width:900px){.services-cta{grid-template-columns:1fr;min-height:0}.services-cta-main,.services-cta-action{min-height:520px;padding:4.5rem var(--pad)}.services-cta-main h2{font-size:clamp(4.5rem,14vw,7rem)}.services-cta-action::before{left:8%;top:-32px;width:42%;height:62px;border-left:2px solid #c62828;border-top:0;border-right:2px solid #c62828}.services-cta-main>span{width:100%}}
@media(max-width:600px){.services-cta-main,.services-cta-action{min-height:460px;padding:4rem var(--pad)}.services-cta-main h2{font-size:clamp(3.8rem,17vw,5.4rem)}.services-cta-copy br{display:none}.services-cta-action>a{min-height:88px}}
@media(prefers-reduced-motion:reduce){.services-cta-main>span,.services-cta-action>a{transition:none}}
/* Approved navy approach timeline. */
.approach-timeline{position:relative;overflow:hidden;padding:clamp(4rem,5.5vw,6rem) 0 0;background:#010e3a;color:#f3f2ee}
.approach-timeline::before{content:"";position:absolute;right:5%;top:9%;width:90px;height:90px;opacity:.42;background:linear-gradient(90deg,transparent 49%,#f3f2ee 49%,#f3f2ee 51%,transparent 51%),linear-gradient(transparent 49%,#f3f2ee 49%,#f3f2ee 51%,transparent 51%);background-size:36px 36px;background-position:center}
.approach-timeline-head{display:grid;grid-template-columns:1.35fr .65fr;gap:4rem;align-items:center;padding:0 clamp(2rem,4vw,4.5rem) clamp(3.5rem,5vw,5.5rem)}
.approach-timeline-head>div>p{margin:0 0 1.8rem;color:#c62828;font:700 clamp(.7rem,.82vw,.88rem) var(--mono);letter-spacing:.16em;text-transform:uppercase}
.approach-timeline-head h2{max-width:900px;margin:0;color:#f3f2ee;font:600 clamp(4.7rem,6.8vw,7.8rem)/.84 var(--display);letter-spacing:-.018em;text-transform:uppercase}
.approach-timeline-head>p{justify-self:end;margin:0;color:#f3f2ee;font-size:clamp(1.05rem,1.35vw,1.35rem);line-height:1.55}
.approach-timeline-track{position:relative;z-index:2;height:2px;background:rgba(243,242,238,.24)}.approach-timeline-track>span{display:block;width:100%;height:100%;background:#c62828;transform-origin:left;transition:transform 1.2s .2s cubic-bezier(.2,.7,.2,1)}.approach-timeline.reveal:not(.visible) .approach-timeline-track>span{transform:scaleX(0)}
.approach-timeline-steps{display:grid;grid-template-columns:repeat(4,1fr);padding:0 clamp(2rem,2.5vw,3rem) clamp(3rem,4vw,4.5rem)}
.approach-timeline-steps article{position:relative;min-height:390px;padding:clamp(2.2rem,3vw,3.3rem) clamp(1.4rem,2.2vw,2.5rem);border-left:1px solid rgba(243,242,238,.45)}.approach-timeline-steps article:last-child{border-right:1px solid rgba(243,242,238,.45)}.approach-timeline-steps article::before{content:"";position:absolute;left:-6px;top:-7px;width:12px;height:12px;background:#c62828}
.approach-step-number{display:block;margin-bottom:1.4rem;color:#f3f2ee;font:600 clamp(4rem,5.2vw,6rem)/.8 var(--display)}.approach-timeline-steps small{display:block;margin-bottom:1rem;color:#c62828;font:700 clamp(.66rem,.76vw,.8rem) var(--mono);letter-spacing:.13em;text-transform:uppercase}.approach-timeline-steps h3{margin:0 0 .9rem;color:#f3f2ee;font:600 clamp(1.8rem,2.45vw,2.65rem)/.95 var(--display);text-transform:uppercase}.approach-timeline-steps p{max-width:340px;margin:0;color:rgba(243,242,238,.78);font-size:clamp(.9rem,1.05vw,1.05rem);line-height:1.55}
.approach-timeline-steps .is-featured{background:#07194a;border-left:2px solid #c62828}.approach-timeline-steps .is-featured::before{left:-7px}.approach-timeline-steps .is-featured .approach-step-number{color:#c62828}.approach-timeline-steps .is-featured p{color:#f3f2ee}
@media(max-width:1000px){.approach-timeline-head{grid-template-columns:1fr}.approach-timeline-head>p{justify-self:start}.approach-timeline-steps{grid-template-columns:1fr 1fr}.approach-timeline-steps article:nth-child(2){border-right:1px solid rgba(243,242,238,.45)}.approach-timeline-steps article:nth-child(n+3){border-top:1px solid rgba(243,242,238,.45)}.approach-timeline-steps article:nth-child(3)::before,.approach-timeline-steps article:nth-child(4)::before{top:-6px}.approach-timeline-track{display:none}}
@media(max-width:600px){.approach-timeline{padding-top:4rem}.approach-timeline-head{gap:2rem;padding:0 var(--pad) 3.5rem}.approach-timeline-head h2{font-size:clamp(4rem,17vw,5.7rem)}.approach-timeline-head>p br{display:none}.approach-timeline-steps{grid-template-columns:1fr;padding:0 var(--pad) 3rem}.approach-timeline-steps article,.approach-timeline-steps article:nth-child(2),.approach-timeline-steps article:last-child{min-height:0;padding:3rem 1.5rem;border-top:1px solid rgba(243,242,238,.45);border-right:0}.approach-timeline-steps article::before{top:-6px}.approach-step-number{font-size:4.5rem}}
@media(prefers-reduced-motion:reduce){.approach-timeline-track>span{transition:none}}
/* Approved Approach split CTA. */
.approach-cta{display:grid;grid-template-columns:55% 45%;min-height:clamp(480px,39vw,620px);overflow:hidden;background:#d9dee2;color:#010e3a}
.approach-cta-main,.approach-cta-action{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(3.8rem,5.5vw,6rem) clamp(2rem,5vw,6rem)}
.approach-cta-main>p{margin:0 0 2rem;color:#c62828;font:700 clamp(.72rem,.88vw,.92rem) var(--mono);letter-spacing:.16em;text-transform:uppercase}
.approach-cta-main h2{margin:0;color:#010e3a;font:600 clamp(4.7rem,6.8vw,7.8rem)/.84 var(--display);letter-spacing:-.018em;text-transform:uppercase}
.approach-cta-main>div{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2.8rem}.approach-cta-main>div>span{width:160px;height:3px;background:#c62828;transform-origin:left;transition:transform .8s .2s ease}.approach-cta.reveal:not(.visible) .approach-cta-main>div>span{transform:scaleX(0)}.approach-cta-main>div>small{margin-left:auto;color:#010e3a;font:700 clamp(.68rem,.8vw,.84rem) var(--mono);letter-spacing:.12em;text-transform:uppercase}
.approach-cta-action{margin:clamp(2.5rem,4vw,4rem) 0;background:#010e3a;color:#f3f2ee;outline:2px solid #f3f2ee;outline-offset:-12px}.approach-cta-action>p{max-width:600px;margin:0 0 2.3rem;color:#f3f2ee;font-size:clamp(1.05rem,1.35vw,1.35rem);line-height:1.6}.approach-cta-action>small{margin:0 0 2.3rem;color:#c62828;font:700 clamp(.68rem,.8vw,.84rem) var(--mono);letter-spacing:.12em;text-transform:uppercase}
.approach-cta-action>a{display:flex;align-items:center;justify-content:center;width:100%;min-height:105px;padding:1.5rem 2rem;border:2px solid #f3f2ee;color:#f3f2ee;font:700 clamp(.8rem,1vw,1rem) var(--mono);letter-spacing:.11em;text-align:center;text-transform:uppercase;transition:background .3s ease,color .3s ease,transform .3s ease}.approach-cta-action>a span{margin-left:.85rem;color:#c62828;font-size:1.45em}.approach-cta-action>a:hover{background:#f3f2ee;color:#010e3a;transform:translateY(-3px)}.approach-cta-action>a:focus-visible{outline:3px solid #c62828;outline-offset:5px}
@media(max-width:900px){.approach-cta{grid-template-columns:1fr;min-height:0}.approach-cta-main{min-height:520px;padding:4.5rem var(--pad)}.approach-cta-main h2{font-size:clamp(4.5rem,14vw,7rem)}.approach-cta-action{min-height:480px;margin:0;padding:4.5rem var(--pad);outline-offset:-9px}}
@media(max-width:600px){.approach-cta-main{min-height:460px;padding:4rem var(--pad)}.approach-cta-main h2{font-size:clamp(3.9rem,17vw,5.5rem)}.approach-cta-main>div>span{width:90px}.approach-cta-action{min-height:440px;padding:4rem calc(var(--pad) + .5rem)}.approach-cta-action>a{min-height:88px}}
@media(prefers-reduced-motion:reduce){.approach-cta-main>div>span,.approach-cta-action>a{transition:none}}
/* Approved About story split. */
.about-story{position:relative;display:grid;grid-template-columns:50% 50%;min-height:clamp(650px,53vw,850px);overflow:hidden;background:#010e3a;color:#f3f2ee}
.about-story::after{content:"";position:absolute;z-index:3;left:50%;top:15%;width:8%;height:25%;border-left:2px solid #c62828;border-top:2px solid #c62828;pointer-events:none}
.about-story-copy{display:flex;flex-direction:column;padding:clamp(4.5rem,6vw,7rem) clamp(2rem,5vw,6rem)}
.about-story-kicker{margin:0 0 2.3rem;color:#c62828;font:700 clamp(.7rem,.85vw,.9rem) var(--mono);letter-spacing:.16em;text-transform:uppercase}
.about-story-copy h2{margin:0;color:#f3f2ee;font:600 clamp(4.7rem,6.7vw,7.7rem)/.84 var(--display);letter-spacing:-.018em;text-transform:uppercase}
.about-story-prose{max-width:700px;margin-top:2.4rem}.about-story-prose p{margin:0 0 1.15rem;color:#f3f2ee;font-size:clamp(1rem,1.22vw,1.2rem);line-height:1.55}
.about-story-proof{display:flex;flex-wrap:wrap;gap:1rem 2.2rem;margin-top:auto;padding-top:2rem;border-top:2px solid #c62828}.about-story-proof span{position:relative;color:#c62828;font:700 clamp(.66rem,.78vw,.8rem) var(--mono);letter-spacing:.11em;text-transform:uppercase}.about-story-proof span:not(:last-child)::after{content:"/";position:absolute;right:-1.35rem;color:#c62828}
.about-story-image{position:relative;margin:0;min-height:100%;overflow:hidden}.about-story-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.about-story.visible .about-story-image img{transform:scale(1.025)}.about-story-image figcaption{position:absolute;right:0;bottom:0;left:0;padding:2rem 2.5rem;background:rgba(1,14,58,.9);color:#f3f2ee;font:600 clamp(.72rem,.88vw,.9rem) var(--mono);letter-spacing:.16em;text-transform:uppercase}.about-story-image figcaption span{margin-left:.8rem;color:#c62828;font-size:1.4em}
@media(max-width:900px){.about-story{grid-template-columns:1fr;min-height:0}.about-story::after{left:var(--pad);top:50%;width:35%;height:55px;border-top:0;border-bottom:2px solid #c62828}.about-story-copy{min-height:720px;padding:5rem var(--pad)}.about-story-copy h2{font-size:clamp(4.5rem,14vw,7rem)}.about-story-image{min-height:70vw;max-height:760px}}
@media(max-width:600px){.about-story-copy{min-height:650px;padding:4.5rem var(--pad)}.about-story-copy h2{font-size:clamp(3.9rem,17vw,5.6rem)}.about-story-proof{gap:1rem}.about-story-proof span{width:100%}.about-story-proof span::after{display:none}.about-story-image{min-height:105vw}.about-story-image figcaption{padding:1.5rem var(--pad)}}
@media(prefers-reduced-motion:reduce){.about-story-image img{transition:none}.about-story.visible .about-story-image img{transform:none}}
/* Approved About navy principles. */
.about-principles{position:relative;display:grid;grid-template-columns:40% 60%;min-height:clamp(650px,52vw,840px);overflow:hidden;background:#010e3a;color:#f3f2ee}
.about-principles::before{content:"";position:absolute;left:37%;top:25%;width:5%;height:50%;border-left:2px solid #c62828;border-top:2px solid #c62828;border-bottom:2px solid #c62828;pointer-events:none}
.about-principles-intro{display:flex;flex-direction:column;padding:clamp(4.5rem,6vw,7rem) clamp(2rem,4vw,5rem)}
.about-principles-intro>p{margin:0 0 2.3rem;color:#c62828;font:700 clamp(.7rem,.85vw,.9rem) var(--mono);letter-spacing:.16em;text-transform:uppercase}
.about-principles-intro h2{margin:0;color:#f3f2ee;font:600 clamp(5.2rem,7.4vw,8.5rem)/.82 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.about-principles-intro>span{width:90px;height:4px;margin:2.7rem 0;background:#c62828;transform-origin:left;transition:transform .8s .2s ease}.about-principles.reveal:not(.visible) .about-principles-intro>span{transform:scaleX(0)}
.about-principles-intro>div{max-width:520px;color:rgba(243,242,238,.82);font-size:clamp(1.05rem,1.35vw,1.35rem);line-height:1.65}
.about-principles-list{align-self:center;margin:clamp(3rem,5vw,5rem) clamp(2rem,4vw,5rem);border-top:1px solid rgba(243,242,238,.55);border-bottom:1px solid rgba(243,242,238,.55)}
.about-principles-list article{display:grid;grid-template-columns:25% 75%;align-items:center;min-height:190px;padding:1.8rem 2rem;border-bottom:1px solid rgba(243,242,238,.35)}.about-principles-list article:last-child{border-bottom:0}.about-principles-list article>span{color:transparent;font:600 clamp(5rem,7vw,8rem)/.8 var(--display);-webkit-text-stroke:1px #f3f2ee}.about-principles-list article>div{padding-left:clamp(1.5rem,3vw,3.5rem);border-left:1px solid rgba(243,242,238,.65)}.about-principles-list h3{margin:0 0 .7rem;color:#f3f2ee;font:600 clamp(2rem,3vw,3.3rem)/.95 var(--display);text-transform:uppercase}.about-principles-list p{margin:0;color:rgba(243,242,238,.8);font-size:clamp(.95rem,1.15vw,1.15rem);line-height:1.55}
.about-principles-list .is-featured{position:relative;background:#07194a;border-left:3px solid #c62828}.about-principles-list .is-featured>span{color:transparent;-webkit-text-stroke:1.5px #c62828}.about-principles-list .is-featured p{color:#f3f2ee}
@media(max-width:1000px){.about-principles{grid-template-columns:1fr;min-height:0}.about-principles::before{display:none}.about-principles-intro{min-height:660px;padding:5rem var(--pad)}.about-principles-intro h2{font-size:clamp(5rem,15vw,8rem)}.about-principles-list{margin:0 var(--pad) 5rem}}
@media(max-width:600px){.about-principles-intro{min-height:590px;padding:4.5rem var(--pad)}.about-principles-intro h2{font-size:clamp(4.3rem,18vw,6rem)}.about-principles-list article{grid-template-columns:1fr;min-height:0;padding:2.5rem 1.25rem}.about-principles-list article>span{font-size:5rem;margin-bottom:1.5rem}.about-principles-list article>div{padding:0;border-left:0}.about-principles-list h3{font-size:2.25rem}}
@media(prefers-reduced-motion:reduce){.about-principles-intro>span{transition:none}}
/* Approved About reputation proof wall. */
.about-reputation{position:relative;overflow:hidden;padding:clamp(4rem,5.5vw,6rem) clamp(2rem,3vw,3.5rem) 1.5rem;background:#010e3a;color:#f3f2ee}
.about-reputation-head{display:grid;grid-template-columns:1.4fr .6fr;gap:4rem;align-items:center;margin-bottom:clamp(2.5rem,4vw,4.5rem)}
.about-reputation-head>div>p{margin:0 0 1.8rem;color:#c62828;font:700 clamp(.7rem,.82vw,.88rem) var(--mono);letter-spacing:.16em;text-transform:uppercase}
.about-reputation-head h2{margin:0;color:#f3f2ee;font:600 clamp(5rem,7.3vw,8.4rem)/.82 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.about-reputation-head>p{justify-self:end;margin:0;color:#f3f2ee;font:500 clamp(.9rem,1.08vw,1.08rem)/1.65 var(--mono);letter-spacing:.03em}
.about-reputation-grid{display:grid;grid-template-columns:repeat(4,1fr)}.about-reputation-grid article{position:relative;min-height:180px;padding:1rem clamp(1rem,2vw,2rem);border-left:1px solid rgba(243,242,238,.7)}.about-reputation-grid article:nth-child(n+5){margin-top:1.5rem}.about-reputation-grid article>span{display:block;margin-bottom:1.1rem;color:#c62828;font:700 clamp(1.2rem,1.65vw,1.7rem) var(--mono)}.about-reputation-grid h3{margin:0;color:#f3f2ee;font:600 clamp(1.8rem,2.55vw,2.8rem)/.95 var(--display);text-transform:uppercase}.about-reputation-grid .is-featured{margin-top:-1rem;padding-top:2rem;background:#07194a;border-top:4px solid #c62828}
.about-reputation-baseline{position:relative;display:grid;grid-template-columns:repeat(9,1fr);gap:1rem;margin-top:2rem;padding-top:1.25rem;color:rgba(243,242,238,.72);font:500 .62rem var(--mono);text-align:left}.about-reputation-baseline>span{position:absolute;top:0;left:0;width:100%;height:3px;background:#c62828;transform-origin:left;transition:transform 1.1s .2s ease}.about-reputation.reveal:not(.visible) .about-reputation-baseline>span{transform:scaleX(0)}.about-reputation-baseline>div::before{content:"";display:block;width:1px;height:11px;margin-bottom:.5rem;background:#f3f2ee}
@media(max-width:1000px){.about-reputation-head{grid-template-columns:1fr}.about-reputation-head>p{justify-self:start}.about-reputation-grid{grid-template-columns:1fr 1fr}.about-reputation-grid article{min-height:165px;margin-top:1rem!important}.about-reputation-grid article:nth-child(odd){border-left:0}.about-reputation-baseline{grid-template-columns:repeat(5,1fr)}.about-reputation-baseline>div:nth-of-type(n+6){display:none}}
@media(max-width:600px){.about-reputation{padding:4.5rem var(--pad) 1.5rem}.about-reputation-head{gap:2rem}.about-reputation-head h2{font-size:clamp(4.2rem,17vw,5.8rem)}.about-reputation-head>p br{display:none}.about-reputation-grid{grid-template-columns:1fr}.about-reputation-grid article,.about-reputation-grid article:nth-child(odd){min-height:0;padding:2rem 1rem;border-top:1px solid rgba(243,242,238,.4);border-left:0}.about-reputation-grid .is-featured{border-top:4px solid #c62828}.about-reputation-grid h3{font-size:2.35rem}.about-reputation-baseline{grid-template-columns:repeat(3,1fr)}.about-reputation-baseline>div:nth-of-type(n+4){display:none}}
@media(prefers-reduced-motion:reduce){.about-reputation-baseline>span{transition:none}}
/* Approved About compact navy CTA. */
.about-closing-cta{position:relative;display:grid;grid-template-columns:43% 31% 26%;gap:0;align-items:center;min-height:clamp(420px,35vw,560px);padding:clamp(3.5rem,5vw,5.5rem) clamp(2rem,3vw,3.5rem);overflow:hidden;background:#010e3a;color:#f3f2ee;border-top:3px solid #f3f2ee}
.about-closing-heading>p{margin:0 0 1.8rem;color:#c62828;font:700 clamp(.7rem,.82vw,.88rem) var(--mono);letter-spacing:.16em;text-transform:uppercase}.about-closing-heading h2{margin:0;color:#f3f2ee;font:600 clamp(5rem,7vw,8rem)/.82 var(--display);letter-spacing:-.018em;text-transform:uppercase}.about-closing-heading>span{display:block;width:80%;height:3px;margin-top:2rem;background:#c62828;transform-origin:left;transition:transform .8s .2s ease}.about-closing-cta.reveal:not(.visible) .about-closing-heading>span{transform:scaleX(0)}
.about-closing-copy{position:relative;padding:2rem clamp(1.5rem,3vw,3rem)}.about-closing-copy::after{content:"";position:absolute;right:0;top:10%;bottom:10%;width:36px;border-top:2px solid #c62828;border-right:2px solid #c62828;border-bottom:2px solid #c62828}.about-closing-copy>p{margin:0 0 2.6rem;color:#f3f2ee;font-size:clamp(1.05rem,1.35vw,1.35rem);line-height:1.6}.about-closing-copy>small{color:#f3f2ee;font:600 clamp(.67rem,.78vw,.8rem) var(--mono);letter-spacing:.12em;text-transform:uppercase}
.about-closing-action{padding-left:clamp(1.5rem,2.5vw,2.8rem)}.about-closing-action>a{display:flex;align-items:center;justify-content:center;min-height:120px;padding:1.5rem 1.8rem;border:2px solid #f3f2ee;background:#07194a;color:#f3f2ee;font:700 clamp(.74rem,.92vw,.96rem) var(--mono);letter-spacing:.1em;text-align:center;text-transform:uppercase;transition:background .3s ease,color .3s ease,transform .3s ease}.about-closing-action>a span{margin-left:.75rem;color:#c62828;font-size:1.45em}.about-closing-action>a:hover{background:#f3f2ee;color:#010e3a;transform:translateY(-3px)}.about-closing-action>a:focus-visible{outline:3px solid #c62828;outline-offset:5px}
@media(max-width:1000px){.about-closing-cta{grid-template-columns:1fr 1fr}.about-closing-heading{grid-column:1/-1;margin-bottom:3rem}.about-closing-heading h2{font-size:clamp(5rem,14vw,7.5rem)}.about-closing-heading>span{width:100%}.about-closing-copy{padding-left:0}.about-closing-action{padding-left:2rem}}
@media(max-width:600px){.about-closing-cta{grid-template-columns:1fr;min-height:0;padding:4.5rem var(--pad)}.about-closing-heading{margin-bottom:2.5rem}.about-closing-heading h2{font-size:clamp(4.2rem,18vw,5.8rem)}.about-closing-copy{padding:2rem 0}.about-closing-copy::after{display:none}.about-closing-action{padding:1rem 0 0}.about-closing-action>a{min-height:90px}}
@media(prefers-reduced-motion:reduce){.about-closing-heading>span,.about-closing-action>a{transition:none}}
/* Approved Contact enquiry hero. */
.contact-hero{position:relative;display:grid;grid-template-columns:57% 43%;min-height:clamp(670px,56vw,900px);padding-top:96px;overflow:hidden;background:#010e3a;color:#f3f2ee}
.contact-hero::before,.contact-hero::after{content:"";position:absolute;width:74px;height:74px;pointer-events:none}.contact-hero::before{left:2.5%;top:14%;border-left:1px solid rgba(243,242,238,.65);border-top:1px solid rgba(243,242,238,.65)}.contact-hero::after{right:3%;top:14%;border-right:3px solid #c62828;border-top:3px solid #c62828}
.contact-hero-main{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,5.5vw,6.5rem) clamp(2rem,5vw,6rem)}.contact-hero-main>p,.contact-hero-guide>p{margin:0 0 2rem;color:#c62828;font:700 clamp(.72rem,.88vw,.92rem) var(--mono);letter-spacing:.16em;text-transform:uppercase}.contact-hero-main h1{margin:0;color:#f3f2ee;font:600 clamp(6rem,9vw,10rem)/.8 var(--display);letter-spacing:-.02em;text-transform:uppercase}.contact-hero-main>div{max-width:650px;margin-top:2rem;color:#f3f2ee;font-size:clamp(1.05rem,1.35vw,1.35rem);line-height:1.6}.contact-hero-main>span{width:140px;height:3px;margin-top:2rem;background:#c62828;animation:contact-hero-line .9s .25s ease both}@keyframes contact-hero-line{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
.contact-hero-guide{display:flex;flex-direction:column;padding:clamp(4rem,5.5vw,6.5rem) clamp(2rem,4vw,4.5rem);border-left:2px solid rgba(243,242,238,.75)}.contact-hero-guide ol{list-style:none;margin:0;padding:0}.contact-hero-guide li{display:grid;grid-template-columns:100px 1fr;align-items:center;min-height:112px;border-bottom:1px solid rgba(243,242,238,.52);color:#f3f2ee;font:600 clamp(.8rem,.95vw,.98rem) var(--mono);letter-spacing:.13em;text-transform:uppercase}.contact-hero-guide li span{color:#f3f2ee;font:600 clamp(2.8rem,3.8vw,4.3rem)/1 var(--display);letter-spacing:0}.contact-hero-guide>a{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:160px;margin:auto calc(clamp(2rem,4vw,4.5rem) * -1) calc(clamp(4rem,5.5vw,6.5rem) * -1);padding:2rem clamp(2rem,4vw,4.5rem);background:#07194a;color:#f3f2ee;border-top:1px solid rgba(243,242,238,.65)}.contact-hero-guide>a small{margin-bottom:.55rem;color:#c62828;font:700 clamp(.66rem,.78vw,.8rem) var(--mono);letter-spacing:.13em;text-transform:uppercase}.contact-hero-guide>a strong{color:#f3f2ee;font:700 clamp(.8rem,1vw,1rem) var(--mono);letter-spacing:.12em;text-transform:uppercase}.contact-hero-guide>a>span{position:absolute;right:3rem;color:#c62828;font-size:4rem;line-height:1;transition:transform .3s ease}.contact-hero-guide>a:hover>span{transform:translateY(8px)}.contact-hero-guide>a:focus-visible{outline:3px solid #c62828;outline-offset:-6px}
#contact-enquiry{scroll-margin-top:90px}
@media(max-width:900px){.contact-hero{grid-template-columns:1fr;padding-top:76px}.contact-hero-main{min-height:700px;padding:5rem var(--pad)}.contact-hero-main h1{font-size:clamp(6rem,18vw,9rem)}.contact-hero-guide{min-height:690px;padding:4.5rem var(--pad);border-left:0;border-top:2px solid rgba(243,242,238,.75)}.contact-hero-guide>a{margin:auto calc(var(--pad) * -1) -4.5rem;padding-right:var(--pad);padding-left:var(--pad)}}
@media(max-width:600px){.contact-hero-main{min-height:610px;padding:4.5rem var(--pad)}.contact-hero-main h1{font-size:clamp(4.8rem,22vw,7rem)}.contact-hero-guide{min-height:620px}.contact-hero-guide li{grid-template-columns:72px 1fr;min-height:96px}.contact-hero-guide li span{font-size:3.2rem}.contact-hero-guide>a>span{right:var(--pad);font-size:3.2rem}}
@media(prefers-reduced-motion:reduce){.contact-hero-main>span{animation:none}.contact-hero-guide>a>span{transition:none}}
/* Approved Contact split enquiry form. */
.contact-enquiry-section{display:grid;grid-template-columns:36% 64%;min-height:clamp(760px,64vw,980px);scroll-margin-top:90px;background:#d9dee2;color:#010e3a}
.contact-enquiry-info,.contact-enquiry-form{position:relative;padding:clamp(4.5rem,6vw,7rem) clamp(2rem,4vw,5rem)}
.contact-enquiry-info{display:flex;flex-direction:column}.contact-enquiry-info>p,.contact-enquiry-form>p{margin:0 0 2rem;color:#c62828;font:700 clamp(.7rem,.84vw,.88rem) var(--mono);letter-spacing:.16em;text-transform:uppercase}.contact-enquiry-info h2,.contact-enquiry-form h2{margin:0;font:600 clamp(4rem,5.8vw,6.6rem)/.86 var(--display);letter-spacing:-.018em;text-transform:uppercase}.contact-enquiry-info h2{color:#010e3a}.contact-enquiry-intro{max-width:520px;margin:2.3rem 0;color:#162746;font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.65}.contact-enquiry-info>a{align-self:flex-start;margin-top:1rem;padding-bottom:.45rem;border-bottom:2px solid #c62828;color:#010e3a;font-size:clamp(1rem,1.3vw,1.3rem)}.contact-enquiry-info dl{margin:auto 0 0}.contact-enquiry-info dl>div{padding:1.4rem 0;border-top:1px solid rgba(1,14,58,.28)}.contact-enquiry-info dt{margin-bottom:.4rem;color:#c62828;font:700 .74rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.contact-enquiry-info dd{margin:0;color:#010e3a;font:600 clamp(.75rem,.9vw,.9rem) var(--mono);letter-spacing:.08em;text-transform:uppercase}
.contact-enquiry-form{padding-right:clamp(5.5rem,8vw,9rem);background:#010e3a;color:#f3f2ee}.contact-enquiry-form h2{color:#f3f2ee}.contact-enquiry-form form{margin-top:2.3rem}.contact-enquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem 1.6rem}.contact-enquiry-field{display:flex;flex-direction:column}.contact-enquiry-field.is-full{grid-column:1/-1}.contact-enquiry-field label{margin-bottom:.4rem;color:#f3f2ee;font:600 clamp(.62rem,.72vw,.74rem) var(--mono);letter-spacing:.11em;text-transform:uppercase}.contact-enquiry-field input,.contact-enquiry-field select,.contact-enquiry-field textarea{width:100%;border:0;border-bottom:2px solid rgba(243,242,238,.72);border-radius:0;background:transparent;padding:.9rem .15rem;color:#f3f2ee;font:inherit;outline:none;transition:border-color .2s ease}.contact-enquiry-field select{appearance:auto}.contact-enquiry-field option{background:#010e3a;color:#f3f2ee}.contact-enquiry-field textarea{min-height:130px;resize:vertical}.contact-enquiry-field input:focus,.contact-enquiry-field select:focus,.contact-enquiry-field textarea:focus{border-color:#c62828}.contact-enquiry-field input:-webkit-autofill{-webkit-text-fill-color:#f3f2ee;box-shadow:0 0 0 1000px #010e3a inset}.contact-enquiry-field textarea::placeholder{color:rgba(243,242,238,.48)}
.contact-enquiry-form button{display:flex;align-items:center;justify-content:center;width:100%;min-height:70px;margin-top:1.8rem;border:2px solid #f3f2ee;background:#f3f2ee;color:#010e3a;font:700 clamp(.72rem,.86vw,.9rem) var(--mono);letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease}.contact-enquiry-form button span{margin-left:.75rem;color:#c62828;font-size:1.35em}.contact-enquiry-form button:hover{background:#c62828;color:#fff;transform:translateY(-2px)}.contact-enquiry-form button:hover span{color:#fff}.contact-enquiry-form button:focus-visible{outline:3px solid #c62828;outline-offset:4px}.contact-enquiry-note{margin:.8rem 0 0;color:rgba(243,242,238,.62);font-size:.68rem}.contact-enquiry-note a{color:#f3f2ee;text-decoration:underline}
.contact-enquiry-progress{position:absolute;top:30%;right:1.6rem;bottom:22%;display:flex;flex-direction:column;justify-content:space-between;list-style:none;margin:0;padding:0 0 0 1.2rem;border-left:2px solid rgba(243,242,238,.5)}.contact-enquiry-progress::before{content:"";position:absolute;left:-2px;top:0;width:2px;height:32%;background:#c62828}.contact-enquiry-progress li{color:#f3f2ee;font:600 .68rem var(--mono);letter-spacing:.08em;text-transform:uppercase}.contact-enquiry-progress li span{display:block;margin-bottom:.25rem;color:#c62828}
@media(max-width:1000px){.contact-enquiry-section{grid-template-columns:1fr;min-height:0}.contact-enquiry-info{min-height:680px;padding:5rem var(--pad)}.contact-enquiry-info h2,.contact-enquiry-form h2{font-size:clamp(4.5rem,14vw,7rem)}.contact-enquiry-form{padding:5rem calc(var(--pad) + 3rem) 5rem var(--pad)}.contact-enquiry-progress{right:1rem}}
@media(max-width:600px){.contact-enquiry-info{min-height:620px;padding:4.5rem var(--pad)}.contact-enquiry-info h2,.contact-enquiry-form h2{font-size:clamp(3.8rem,17vw,5.5rem)}.contact-enquiry-form{padding:4.5rem var(--pad)}.contact-enquiry-fields{grid-template-columns:1fr}.contact-enquiry-field.is-full{grid-column:auto}.contact-enquiry-progress{display:none}}
@media(prefers-reduced-motion:reduce){.contact-enquiry-field input,.contact-enquiry-field select,.contact-enquiry-field textarea,.contact-enquiry-form button{transition:none}}
/* V2 finishing polish: restrained consistency improvements. */
:root{--v2-red:#c62828;--v2-navy:#010e3a;--v2-paper:#f3f2ee}
::selection{background:var(--v2-red);color:var(--v2-paper)}
html{scroll-behavior:smooth}body{overflow-x:hidden}a,button,input,select,textarea{ -webkit-tap-highlight-color:transparent }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--v2-red);outline-offset:4px}
img{display:block;max-width:100%;height:auto}.button,.header-cta,.global-footer a,.site-nav a{transition:color .25s ease,background-color .25s ease,border-color .25s ease,transform .25s ease}.button:hover,.header-cta:hover{transform:translateY(-2px)}
.page-hero h1,.hero h1{letter-spacing:-.02em}.eyebrow{letter-spacing:.16em}.content-section{scroll-margin-top:90px}.content-section+.content-section{border-top:1px solid rgba(1,14,58,.14)}
.gallery-item img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .35s ease}.gallery-item:hover img{transform:scale(1.025);filter:saturate(1.05)}
.global-footer{border-top:1px solid rgba(243,242,238,.3)}.global-footer-coverage:hover{color:#fff;transform:translateX(3px)}
@media(max-width:600px){body{font-size:15px}.page-hero p:last-child{max-width:34rem}.content-section{padding-top:clamp(4rem,14vw,6rem);padding-bottom:clamp(4rem,14vw,6rem)}.button{min-height:52px;padding:1rem 1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.header-cta,.global-footer a,.site-nav a,.gallery-item img{transition:none}.gallery-item:hover img{transform:none}}
/* Early-stage trust and FAQ content. */
.early-trust{display:grid;grid-template-columns:38% 62%;padding:clamp(4.5rem,6vw,7rem) var(--pad);background:#d9dee2;color:#010e3a}.early-trust-head>p,.early-faq-head>p{margin:0 0 1.8rem;color:#c62828;font:700 .78rem var(--mono);letter-spacing:.15em;text-transform:uppercase}.early-trust-head h2,.early-faq-head h2{margin:0;font:600 clamp(4.2rem,6vw,7rem)/.84 var(--display);text-transform:uppercase}.early-trust-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(1,14,58,.45)}.early-trust-grid article{padding:2rem 1.5rem;border-bottom:1px solid rgba(1,14,58,.35);border-left:1px solid rgba(1,14,58,.35)}.early-trust-grid span{color:#c62828;font:700 .8rem var(--mono)}.early-trust-grid h3{margin:.8rem 0 .5rem;font:600 clamp(1.8rem,2.5vw,2.8rem)/.95 var(--display);text-transform:uppercase}.early-trust-grid p{margin:0;line-height:1.55}.early-faq{display:grid;grid-template-columns:38% 62%;padding:clamp(4.5rem,6vw,7rem) var(--pad);background:#f3f2ee;color:#010e3a}.early-faq-list{border-top:1px solid #010e3a}.early-faq-list details{border-bottom:1px solid rgba(1,14,58,.35)}.early-faq-list summary{padding:1.4rem 0;cursor:pointer;list-style:none;font:600 clamp(1.1rem,1.5vw,1.45rem) var(--body)}.early-faq-list summary::-webkit-details-marker{display:none}.early-faq-list summary::after{content:'+';float:right;color:#c62828;font:1.5rem var(--mono)}.early-faq-list details[open] summary::after{content:'−'}.early-faq-list details p{max-width:650px;margin:0 3rem 1.5rem 0;line-height:1.6;color:#38485b}@media(max-width:900px){.early-trust,.early-faq{grid-template-columns:1fr;gap:3rem}.early-trust-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.early-trust,.early-faq{padding:4.5rem var(--pad)}.early-trust-head h2,.early-faq-head h2{font-size:clamp(4rem,17vw,5.7rem)}.early-trust-grid{grid-template-columns:1fr}.early-trust-grid article{border-left:0}.early-faq-list summary{padding-right:2rem}}
/* Applied V2 trust-section direction. */
.early-trust{position:relative;display:grid;grid-template-columns:38% 62%;min-height:clamp(620px,50vw,820px);padding:clamp(4.5rem,6vw,7rem) clamp(2rem,4vw,4.5rem) 2.5rem;overflow:hidden;background:#010e3a;color:#f3f2ee}.early-trust::after{content:"05";position:absolute;z-index:0;left:1.5%;top:10%;color:transparent;font:700 clamp(18rem,30vw,32rem)/1 var(--display);-webkit-text-stroke:1px rgba(243,242,238,.08)}.early-trust-head,.early-trust-grid{position:relative;z-index:1}.early-trust-head{padding-right:3rem}.early-trust-head>p{margin:0 0 2rem;color:#c62828}.early-trust-head h2{color:#f3f2ee}.early-trust-head::after{content:"";display:block;width:95px;height:3px;margin-top:2.2rem;background:#c62828}.early-trust-grid{display:grid;grid-template-columns:1fr 1fr;align-self:center;border-top:1px solid rgba(243,242,238,.58);border-bottom:1px solid rgba(243,242,238,.58)}.early-trust-grid article{min-height:190px;padding:1.7rem 1.5rem;border-left:1px solid rgba(243,242,238,.58);border-bottom:1px solid rgba(243,242,238,.35)}.early-trust-grid article:nth-child(2){background:#07194a;border-top:4px solid #c62828;padding-top:1.45rem}.early-trust-grid article:nth-child(2),.early-trust-grid article:nth-child(4){border-right:1px solid rgba(243,242,238,.58)}.early-trust-grid article:nth-child(n+3){border-bottom:0}.early-trust-grid span{color:#c62828}.early-trust-grid h3{color:#f3f2ee;margin:.8rem 0 .6rem}.early-trust-grid p{color:rgba(243,242,238,.8)}.early-trust-grid::after{content:"ONE ACCOUNTABLE TEAM  /  EAST MIDLANDS + SELECTED UK";position:absolute;left:0;right:0;bottom:-2.7rem;color:#c62828;font:700 .68rem var(--mono);letter-spacing:.13em;text-transform:uppercase}
@media(max-width:900px){.early-trust{grid-template-columns:1fr;min-height:0}.early-trust-head{padding-right:0;margin-bottom:3rem}.early-trust-grid{grid-template-columns:1fr 1fr}.early-trust-grid::after{display:none}}
@media(max-width:600px){.early-trust{padding:4.5rem var(--pad)}.early-trust-head h2{font-size:clamp(4rem,17vw,5.7rem)}.early-trust-grid{grid-template-columns:1fr}.early-trust-grid article,.early-trust-grid article:nth-child(n+3){border-bottom:1px solid rgba(243,242,238,.35);border-right:0}.early-trust-grid article:last-child{border-bottom:0}}
/* Click-to-open project detail panels. */
.gallery-item{cursor:pointer}.gallery-item:focus-visible{outline:3px solid #c62828;outline-offset:-3px}.project-detail-modal{position:fixed;z-index:1000;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,4rem);background:rgba(1,14,58,.84);opacity:0;pointer-events:none;transition:opacity .3s ease}.project-detail-modal.is-open{opacity:1;pointer-events:auto}.project-detail-modal-inner{position:relative;width:min(100%,1100px);max-height:90vh;overflow:auto;padding:clamp(2rem,5vw,5rem);background:#010e3a;color:#f3f2ee;border:1px solid rgba(243,242,238,.6);transform:translateY(18px);transition:transform .35s ease}.project-detail-modal.is-open .project-detail-modal-inner{transform:none}.project-detail-modal-close{position:absolute;top:1.5rem;right:1.5rem;width:42px;height:42px;border:1px solid #f3f2ee;background:transparent;color:#f3f2ee;font:1.5rem var(--mono);cursor:pointer}.project-detail-modal-close:hover{background:#f3f2ee;color:#010e3a}.project-detail-modal-kicker{margin:0 0 1rem;color:#c62828;font:700 .75rem var(--mono);letter-spacing:.13em;text-transform:uppercase}.project-detail-modal h2{margin:0 0 1.5rem;font:600 clamp(3.5rem,6vw,6.8rem)/.84 var(--display);text-transform:uppercase}.project-detail-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;border-top:1px solid rgba(243,242,238,.45);padding-top:2rem}.project-detail-modal-grid p{color:rgba(243,242,238,.82);line-height:1.6}.project-detail-modal h3{margin:1.5rem 0 .7rem;color:#c62828;font:700 .72rem var(--mono);letter-spacing:.13em;text-transform:uppercase}.project-detail-modal ul{margin:0;padding:0;list-style:none;border-top:1px solid rgba(243,242,238,.3)}.project-detail-modal li{padding:.6rem 0;border-bottom:1px solid rgba(243,242,238,.3)}.project-detail-modal a{display:inline-flex;margin-top:1rem;padding:.9rem 1.2rem;border:1px solid #f3f2ee;color:#f3f2ee;font:700 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.project-detail-modal a span{margin-left:.7rem;color:#c62828}@media(max-width:600px){.project-detail-modal-grid{grid-template-columns:1fr}.project-detail-modal-inner{padding:2.5rem 1.5rem 2rem}.project-detail-modal h2{font-size:3.8rem}}

/* Reliable logo image for all deployments. */
.site-header .brand{display:flex;align-items:center;justify-content:flex-start;background:none!important;overflow:visible}
.site-header .brand img{display:block;width:285px;height:auto;max-height:198px;object-fit:contain;object-position:left center}
.site-header.is-scrolled .brand img{width:195px}
.site-footer .brand img{width:240px;height:auto}
@media(max-width:900px){.site-header .brand{width:168px!important;height:120px!important}.site-header .brand img{width:168px;max-height:120px}.site-header.is-scrolled .brand img{width:132px}}

/* Remove legacy duplicate logo overlays. */
.site-header .brand::before,.site-header .brand::after{content:none!important;background:none!important;display:none!important}

/* Larger single logo sizing. */
@media(min-width:901px){.site-header .brand{width:340px!important;height:205px!important}.site-header .brand img{width:380px!important;max-height:205px!important}.site-header.is-scrolled .brand{width:220px!important;height:130px!important}.site-header.is-scrolled .brand img{width:245px!important;max-height:130px!important}}
@media(max-width:900px){.site-header .brand{width:205px!important;height:140px!important}.site-header .brand img{width:215px!important;max-height:140px!important}.site-header.is-scrolled .brand{width:150px!important;height:100px!important}.site-header.is-scrolled .brand img{width:155px!important;max-height:100px!important}}

/* Scale artwork inside the supplied logo image, which has built-in whitespace. */
@media(min-width:901px){.site-header .brand img{transform:scale(1.65);transform-origin:left center}.site-header.is-scrolled .brand img{transform:scale(1.45)}}
@media(max-width:900px){.site-header .brand img{transform:scale(1.5);transform-origin:left center}.site-header.is-scrolled .brand img{transform:scale(1.35)}}

/* Restore original approved logo proportions. */
.site-header .brand img{transform:none!important}

/* Final logo cleanup: show only the supplied large image. */
.site-header .brand{background-image:none!important;background:none!important}.site-header .brand>span{display:none!important}.site-header .brand::before,.site-header .brand::after{display:none!important;content:none!important;background-image:none!important}

/* Increase the single approved logo mark. */
@media(min-width:901px){.site-header .brand img{transform:scale(2)!important;transform-origin:left center}.site-header.is-scrolled .brand img{transform:scale(1.7)!important}}
@media(max-width:900px){.site-header .brand img{transform:scale(1.8)!important;transform-origin:left center}.site-header.is-scrolled .brand img{transform:scale(1.55)!important}}

/* Final header alignment and navy wordmark treatment. */
@media(min-width:901px){.site-header{height:190px!important}.site-header .brand{height:180px!important}.site-header .brand img{transform:scale(1.7)!important;transform-origin:left center}.site-header.is-scrolled{height:118px!important}.site-header.is-scrolled .brand img{transform:scale(1.5)!important}}
@media(max-width:900px){.site-header{height:132px!important}.site-header .brand{height:125px!important}.site-header .brand img{transform:scale(1.6)!important}.site-header.is-scrolled{height:94px!important}.site-header.is-scrolled .brand img{transform:scale(1.4)!important}}

/* Slightly deeper logo colour for clearer navy wordmark. */
.site-header .brand img{filter:brightness(.82) contrast(1.08)}

/* Mobile layout stability. */
@media(max-width:900px){html,body{width:100%;overflow-x:hidden}.site-header{padding:0 18px;height:108px!important;grid-template-columns:1fr auto}.site-header .brand{width:150px!important;height:100px!important;overflow:visible}.site-header .brand img{width:160px!important;max-height:100px!important;transform:scale(1.35)!important;transform-origin:left center}.site-nav{position:fixed;top:108px;left:0;right:0;display:none;flex-direction:column;gap:0;padding:22px 24px;background:rgba(1,14,58,.98);z-index:50}.site-header.menu-open .site-nav,.site-nav.is-open{display:flex}.site-nav a{padding:14px 0;font-size:.8rem}.header-cta{display:none}.menu-toggle{display:block}.v3-hero{min-height:760px}.v3-hero-copy{left:18px;right:18px;top:190px;max-width:none}.v3-hero h1{font-size:clamp(3.2rem,15vw,5rem)}.v3-rail{grid-template-columns:1fr;bottom:18px;left:18px;right:18px}.section-pad{padding-left:18px;padding-right:18px}}
@media(max-width:900px){.site-nav.open{display:flex!important}}

/* Clear navy scrolled header; leave hero header unchanged. */
.site-header.is-scrolled{background:#010e3a!important;background-image:none!important}.site-header.is-scrolled .brand img{filter:brightness(1.22) contrast(1.06)}
