@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:optional;src:url(/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:optional;src:url(/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;color:#07162f;background:#fff;font-family:Manrope,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #020f23;--navy-soft: #071c3a;--blue: #0878ff;--cyan: #00bdf2;--red: #ef233c;--ink: #07162f;--muted: #526077;--line: #dbe2eb;--white: #ffffff;--page: #ffffff;--surface: #ffffff;--surface-soft: #f5f8fc;--section-pad: clamp(5rem, 9vw, 9rem);scroll-behavior:smooth}@media(prefers-color-scheme:dark){:root{color:#f2f7ff;background:#061326;color-scheme:dark;--ink: #f2f7ff;--muted: #b5c2d5;--line: #263b58;--page: #061326;--surface: #0a1b32;--surface-soft: #112944;--blue: #2d91ff}}*{box-sizing:border-box}html{scroll-padding-top:5rem}body{margin:0;min-width:0;min-height:100vh;color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased;transition:color .18s ease,background-color .18s ease}button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}.section{position:relative;padding:var(--section-pad) clamp(1.5rem,5vw,5rem)}.section--dark{color:var(--white);background:var(--navy)}.section-label{display:flex;align-items:center;gap:.85rem;margin:0 0 1.35rem;color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.section-label:before{width:2.7rem;height:2px;content:"";background:var(--red)}.section-label--light{color:#6bd7ff}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em}h1,h2{text-wrap:balance}h2{max-width:16ch;margin-bottom:1.5rem;font-size:clamp(2.3rem,5vw,4.9rem);font-weight:800;line-height:1.03}.hero{position:relative;min-height:min(920px,100svh);overflow:hidden;color:var(--white);background:var(--navy)}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-media{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.hero-shell{position:relative;z-index:1;display:flex;width:min(100%,1560px);min-height:min(920px,100svh);margin:0 auto;padding:0 clamp(1.5rem,5vw,5rem);flex-direction:column}.site-header{position:relative;z-index:10;display:flex;min-height:7rem;align-items:center;justify-content:space-between;gap:2rem}.wordmark{display:inline-flex;align-items:center;color:var(--ink);font-size:clamp(1.05rem,2vw,1.65rem);font-weight:800;letter-spacing:.045em}.wordmark span{margin-inline:.06em;color:var(--red)}.wordmark--light{color:var(--white)}.desktop-nav{display:flex;align-items:center;gap:clamp(1.8rem,3.5vw,4.5rem)}.menu-toggle{width:2.8rem;height:2.8rem;padding:0;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3);color:var(--white);background:#020f23b8;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.menu-toggle:hover{border-color:#6bd7ff;background:#0a2342eb;transform:translateY(-1px)}.menu-toggle svg{width:1.35rem;height:1.35rem}.desktop-nav a,.site-footer nav a{position:relative;color:#f7fbff;font-size:.92rem;font-weight:600}.desktop-nav a:after,.site-footer nav a:after{position:absolute;right:0;bottom:-.55rem;left:0;height:2px;content:"";background:var(--red);opacity:0;transform:scaleX(0);transition:opacity .18s ease,transform .18s ease}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.site-footer nav a:hover:after,.site-footer nav a:focus-visible:after{opacity:1;transform:scaleX(1)}.menu-toggle,.mobile-nav{display:none}.hero-copy{display:flex;width:min(42rem,53%);padding:clamp(6rem,13vh,9.5rem) 0 6rem;flex:1;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{max-width:9ch;margin-bottom:1.8rem;font-size:clamp(4rem,7vw,7.8rem);font-weight:800;line-height:.91}.hero-copy>p{max-width:39rem;margin-bottom:2.3rem;color:#d4deeb;font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.65}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:1rem}.button{display:inline-flex;min-height:3.8rem;padding:0 1.6rem;align-items:center;justify-content:center;gap:.8rem;border:1px solid transparent;font-size:.95rem;font-weight:700;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.button svg{width:1.25rem}.button:hover{transform:translateY(-2px)}.button:focus-visible,.project-row:focus-visible,.text-button:focus-visible,.menu-toggle:focus-visible,a:focus-visible{outline:3px solid #6bd7ff;outline-offset:3px}.button--primary{color:var(--white);background:var(--blue)}.button--primary:hover{background:#0068df}.button--secondary{color:var(--white);border-color:#1888ff;background:#020f23b8}.button--secondary:hover{border-color:#6bd7ff}.button--outline{color:var(--white);border-color:var(--red);background:transparent}.button--outline:hover{border-color:#ff6c7e;background:#0b2041}.services{display:grid;padding-right:0;background:var(--page);grid-template-columns:minmax(0,1.08fr) minmax(29rem,.92fr)}.services-content{align-self:center;padding-right:clamp(2rem,5vw,6rem)}.services-heading>p:last-child,.projects-copy>p:last-child{max-width:43rem;margin-bottom:clamp(3rem,5vw,5rem);color:var(--muted);font-size:1.1rem;line-height:1.7}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;min-height:8.8rem;padding:1.4rem 1rem;align-items:flex-start;border-bottom:1px solid var(--line);grid-template-columns:5.2rem 1fr;transition:background .18s ease,color .18s ease}.service-row h3{color:var(--ink)}.service-icon{display:flex;align-items:flex-start;color:var(--blue)}.service-icon svg{width:2.3rem;height:2.3rem}.service-row h3{margin-bottom:.55rem;font-size:clamp(1.2rem,1.7vw,1.7rem);line-height:1.2}.service-row ul{display:flex;margin:0;padding:0;flex-wrap:wrap;gap:.3rem 1.5rem;color:var(--muted);font-size:.88rem;line-height:1.55;list-style:none}.service-row li:before{margin-right:.5rem;color:var(--blue);content:"•"}.services-image{position:sticky;top:0;height:100vh;min-height:720px;align-self:start}.services-image img{width:100%;height:100%;object-fit:cover;object-position:62% center}.services-image picture,.about-image picture,.projects-image-wrap picture{display:block;width:100%;height:100%}.about{display:grid;overflow:hidden;padding-bottom:5rem;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(3rem,6vw,7rem)}.about-image{position:relative;z-index:1;align-self:center}.about-image:before{position:absolute;top:-2px;left:-3rem;width:5rem;height:2px;content:"";background:var(--red)}.about-image img{width:100%;min-height:490px;max-height:610px;object-fit:cover}.about-copy{position:relative;z-index:1;padding:clamp(2rem,4vw,5rem) 0;align-self:center}.about-year{position:absolute;z-index:-1;top:-1rem;left:-1rem;color:#0b2142;font-size:clamp(7rem,15vw,14rem);font-weight:800;line-height:1}.about-copy h2{max-width:12ch;font-size:clamp(2.7rem,5vw,5.2rem)}.about-copy>p:not(.section-label){max-width:42rem;color:#bdc9d9;font-size:1rem;line-height:1.8}.about-copy .button{margin-top:1rem}.timeline{display:grid;margin-top:1rem;align-items:center;grid-column:1 / -1;grid-template-columns:auto 1fr auto;gap:1rem;color:#d6deea;font-size:.78rem;font-weight:700}.timeline-line{position:relative;height:1px;background:var(--red)}.timeline-line:before,.timeline-line:after{position:absolute;top:50%;width:.8rem;height:.8rem;border:2px solid var(--red);border-radius:50%;content:"";background:var(--navy);transform:translateY(-50%)}.timeline-line:before{left:0}.timeline-line:after{right:0}.projects{max-width:1700px;margin:0 auto;background:var(--page)}.projects-intro{display:grid;margin-bottom:3rem;align-items:center;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,8rem)}.projects-image-wrap{margin-left:min(-5vw,-1.5rem)}.projects-image-wrap img{width:100%;min-height:400px;max-height:580px;object-fit:cover}.projects-copy h2{font-size:clamp(2.7rem,5vw,5.4rem)}.project-list{border-top:1px solid var(--line)}.project-row{display:grid;width:100%;min-height:6.7rem;padding:1.25rem 1.7rem;align-items:center;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:var(--surface);cursor:pointer;grid-template-columns:4rem minmax(13rem,.8fr) 1.4fr 2rem;gap:1.4rem;text-align:left;transition:color .18s ease,background .18s ease}.project-row:hover,.project-row--active{background:var(--surface-soft)}.project-number{color:var(--blue);font-size:1.15rem;font-weight:800}.project-row strong{font-size:clamp(1.05rem,1.45vw,1.4rem);letter-spacing:-.03em}.project-description{color:var(--muted);font-size:.9rem;line-height:1.55}.project-row svg{width:1.3rem}.text-button{display:flex;margin:2.4rem auto 0;padding:.85rem 0;align-items:center;gap:.7rem;border:0;border-bottom:2px solid var(--blue);background:transparent;color:var(--ink);cursor:pointer;font-size:.9rem;font-weight:800}.text-button svg{width:1.1rem;transition:transform .18s ease}.text-button svg.rotate{transform:rotate(180deg)}.contact{min-height:740px;overflow:hidden}.contact-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.contact-media{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.contact-shell{position:relative;z-index:1;display:grid;width:min(100%,1500px);min-height:540px;margin:0 auto;align-items:center;grid-template-columns:minmax(0,.95fr) minmax(24rem,.8fr);gap:clamp(3rem,6vw,7rem)}.contact-copy h2{max-width:10ch;font-size:clamp(3.2rem,6vw,6.5rem)}.contact-copy>p{max-width:35rem;margin-bottom:2rem;color:#c5d0de;font-size:1.1rem;line-height:1.7}.contact-details{display:grid;width:100%;max-width:34rem;font-style:normal}.contact-details>div,.contact-details>a{display:grid;min-height:4.7rem;padding:.9rem 0;align-items:center;border-bottom:1px solid rgba(255,255,255,.22);grid-template-columns:3.2rem 1fr;color:#edf6ff;font-size:1rem;font-weight:600}.contact-details svg{width:1.65rem;color:var(--cyan);stroke-width:1.7}.contact-details a:hover span{color:#6bd7ff}.site-footer{display:grid;min-height:8rem;padding:2rem clamp(1.5rem,5vw,5rem);align-items:center;border-top:1px solid var(--red);color:var(--white);background:var(--navy);grid-template-columns:1fr auto 1fr;gap:2rem}.site-footer nav{display:flex;gap:clamp(1.4rem,3vw,3rem)}.site-footer p{margin:0;justify-self:end;color:#aebbd0;font-size:.78rem}@media(max-width:1180px){.hero-copy{width:56%}.services{padding-right:clamp(1.5rem,5vw,5rem);grid-template-columns:minmax(0,1fr)}.services-content{padding-right:0}.services-image{position:relative;height:34rem;min-height:0;margin-top:4rem}.about{grid-template-columns:minmax(0,1fr)}.about-image{max-width:880px}.about-copy{max-width:720px}.contact-shell{grid-template-columns:minmax(0,1fr) minmax(22rem,.85fr)}.site-footer{grid-template-columns:1fr auto}.site-footer nav{display:none}}@media(max-width:900px){.desktop-nav{display:none}.site-header{min-height:5.6rem}.menu-toggle{display:inline-flex}.mobile-nav{position:absolute;top:5.2rem;right:0;left:0;display:none;padding:1rem;border-top:1px solid rgba(255,255,255,.12);background:#06172f}.mobile-nav--open{display:grid}.mobile-nav a{padding:1rem;border-bottom:1px solid rgba(255,255,255,.12);color:var(--white);font-weight:700}.hero{min-height:max(760px,100svh)}.hero-image{height:52%;top:auto;object-position:64% center}.hero-shell{min-height:max(760px,100svh)}.hero-copy{width:100%;padding:6rem 0 22rem;justify-content:flex-start}.hero h1{font-size:clamp(3.35rem,12vw,5.3rem)}.projects-intro{grid-template-columns:minmax(0,1fr)}.projects-image-wrap{margin:0}.project-row{min-height:0;padding:1.3rem .5rem;grid-template-columns:2.7rem 1fr 1.6rem}.project-description{margin-top:.6rem;grid-column:2 / -1}.contact{display:flex;min-height:auto;padding:0;flex-direction:column}.contact-media{position:relative;inset:auto;width:100%;height:clamp(22rem,58vw,34rem);order:2}.contact-image{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;object-position:78% center}.contact-shell{width:100%;min-height:auto;padding:clamp(5rem,10vw,7rem) clamp(1.5rem,5vw,4rem);align-items:start;order:1;grid-template-columns:minmax(0,1fr)}.contact-copy h2{max-width:13ch;font-size:clamp(2.65rem,9vw,5rem)}.contact-details{max-width:100%}}@media(max-width:560px){.section{padding-right:1.25rem;padding-left:1.25rem}.contact{padding-right:0;padding-left:0}.hero-shell{padding-inline:1.25rem}.hero-copy{padding-top:4rem}.site-header{gap:.75rem}.menu-toggle{width:2.65rem;height:2.65rem}.hero h1{font-size:clamp(2.9rem,15vw,3.65rem)}.hero-copy>p{font-size:.98rem}.hero-actions,.contact-actions,.button{width:100%}.service-row{padding-inline:0;grid-template-columns:3.8rem 1fr}.service-row ul{display:block}.service-row li+li{margin-top:.25rem}.services-image{height:25rem;margin-right:-1.25rem;margin-left:-1.25rem}.about-image img{min-height:320px}.about-year{font-size:7rem}.timeline{display:none}.project-row{gap:.7rem}.site-footer{grid-template-columns:1fr}.site-footer p{justify-self:start}}@media(max-width:380px){.wordmark{font-size:.98rem}.hero-copy{padding-top:3rem}.hero h1{font-size:2.85rem}.contact-copy h2{font-size:2.35rem}.project-row{grid-template-columns:2.3rem 1fr 1.4rem}.contact-details>div,.contact-details>a{grid-template-columns:2.6rem 1fr;font-size:.92rem}}@media(max-width:900px)and (orientation:landscape)and (max-height:600px){.hero,.hero-shell{min-height:620px}.hero-image{top:0;right:0;left:auto;width:55%;height:100%;object-position:66% center}.hero-copy{width:52%;padding:3.5rem 0 3rem;justify-content:center}.hero h1{font-size:clamp(2.7rem,7vw,4.2rem)}.hero-copy>p{font-size:.92rem;line-height:1.5}.hero-actions{gap:.65rem}.button{min-height:3.25rem;padding-inline:1.15rem}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
