:root{--navy:#0c1f38;--ink:#0b1735;--orange:#ff6500;--link:#b83e00;--line:#dce1e7;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #ff8c42;outline-offset:5px}.wrap{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.section{padding:64px 0}section[id]{scroll-margin-top:110px}p{margin:0}h1,h2{margin:0;line-height:1.08;letter-spacing:-.035em}h2{font-family:Georgia,serif;font-size:clamp(2rem,3.1vw,3rem)}.skip-link{position:absolute;top:-70px;left:12px;z-index:100;background:white;padding:12px}.skip-link:focus{top:8px}
.site-header{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:12px max(32px,calc((100vw - var(--max))/2));background:var(--navy);color:white;position:relative;z-index:20}.brand{display:flex;align-items:center;flex:0 0 auto;padding:0 12px}.brand img{width:82px;height:auto;max-width:none;object-fit:contain}.main-nav{display:flex;align-items:center;gap:32px;font-size:14px}.main-nav a{padding:16px 0;position:relative}.main-nav a.active::after,.main-nav a:hover::after{content:"";height:2px;background:var(--orange);position:absolute;bottom:7px;left:0;right:0}.menu-toggle{display:none;background:none;border:0;color:white;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:25px;height:2px;background:white;margin:5px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:14px 22px;font-size:16px;font-weight:700;text-align:center;border-radius:2px}.btn-primary{background:var(--orange);color:#101b2d}.btn-primary:hover{background:#ff8434}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:15px;font-weight:600;padding-bottom:5px;border-bottom:1px solid currentColor}.light-link{color:white}.orange-link{color:var(--link)}
.hero{position:relative;color:white;background:var(--navy);overflow:hidden;min-height:590px;padding:64px 0 76px}.hero-image{position:absolute;inset:0;background-image:url('assets/hero.jpg');background-size:cover;background-position:center 35%;transform:scale(1.18)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,15,34,.93),rgba(3,15,34,.65) 42%,rgba(3,15,34,.06) 80%)}.hero-content{position:relative;z-index:1}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;display:flex;align-items:center;gap:14px;margin-bottom:20px}.eyebrow span{width:32px;height:3px;background:var(--orange);flex-shrink:0}.hero h1{font-size:clamp(3rem,5.2vw,4.7rem);max-width:620px}.hero-copy{font-size:18px;max-width:500px;margin-top:22px}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}.hero-categories{position:relative;margin:48px max(32px,calc((100vw - var(--max))/2)) -48px;text-align:right;font-size:12px;letter-spacing:.14em}.hero-categories b{color:var(--orange);padding:0 9px}
.about-grid{display:grid;grid-template-columns:1.15fr 1fr .38fr;gap:36px;align-items:center}.about-photo img{width:100%;height:auto}.about-copy h2{margin-bottom:20px}.about-copy>p:not(.eyebrow){color:#394659;font-size:16px;margin-bottom:24px}.about-stats{border-left:1px solid var(--line);padding-left:24px;display:grid;gap:24px}.about-stats div+div{padding-top:20px;border-top:1px solid var(--line)}.about-stats strong{display:block;font-family:Georgia,serif;font-size:26px;line-height:1.2;margin-bottom:6px}.about-stats span{font-size:14px;color:#465268}.services{background:#f8fafc;border-block:1px solid #edf0f3}.services-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding-block:20px;font-size:14px}.services-strip i{width:3px;height:3px;background:var(--orange);border-radius:50%}
.projects{background:#f3f6f9}.projects-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;flex-wrap:wrap}.projects-head>p{font-size:16px;max-width:360px;color:#394659}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-card{min-width:0}.project-photo{position:relative;overflow:hidden;aspect-ratio:332/376;background:#e4e8eb}.project-photo img{position:absolute;max-width:none;width:337.952%;height:auto;top:-206.649%;left:-12.651%}.project-photo-2 img{left:-118.373%}.project-photo-3 img{left:-227.711%}.project-caption{position:relative;margin-top:16px}.project-caption strong{display:block;font-family:Georgia,serif;font-size:23px;line-height:1.2}.project-caption span{font-size:12px;letter-spacing:.15em;text-transform:uppercase;display:block;margin-top:10px}.project-caption span:before{content:"";display:inline-block;width:24px;height:3px;background:var(--orange);margin-right:10px;vertical-align:middle}
.contact-cta{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;align-items:center}.contact-copy{padding:56px 40px 56px max(32px,calc((100vw - var(--max))/2))}.contact-inner h2{font-size:clamp(2rem,3.4vw,3.4rem);margin-bottom:20px}.contact-inner>p:not(.eyebrow){font-size:17px;max-width:540px;color:#e1e7ef}.cta-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px}.contact-photo{overflow:hidden;line-height:0}.contact-photo img{width:100%;height:auto;margin-top:-3.6%}
.site-footer{background:var(--navy);color:white;border-top:1px solid #334255}.footer-grid{display:grid;grid-template-columns:100px 1fr auto;gap:36px;align-items:center;padding-block:32px}.footer-brand{padding:8px}.footer-brand img{width:84px;height:auto;object-fit:contain}.footer-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 24px;font-size:14px}.footer-contact a{overflow-wrap:anywhere}.footer-social small{font-size:12px;letter-spacing:.14em}.footer-bottom{border-top:1px solid #334255;font-size:12px;color:#cad3df;padding-block:16px}
@media(max-width:1050px){.site-header{gap:24px}.main-nav{gap:24px}.header-cta{font-size:14px;padding:12px}.about-grid{grid-template-columns:1fr 1fr}.about-stats{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.about-stats div+div{border:0;padding:0}.projects-head>p{max-width:100%}.contact-cta{grid-template-columns:1fr}.contact-copy{padding:48px 32px}.contact-photo{width:100%;max-width:900px;margin:auto}.footer-grid{grid-template-columns:90px 1fr}.footer-social{grid-column:2}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.site-header{min-height:104px;padding:12px 18px;position:sticky;top:0}.brand{padding:0 8px}.brand img{width:68px}.header-cta{display:none}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:8px 26px 20px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 12px 20px #0002}.main-nav.open{display:flex}.main-nav a{padding:12px 0}.main-nav a.active::after{display:none}.hero{min-height:0;padding:48px 0 32px}.hero h1{font-size:clamp(2.45rem,10vw,4rem)}.hero-copy{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-categories{margin:40px 18px 0;text-align:left;line-height:2;font-size:12px;letter-spacing:.06em}.hero-categories b{padding:0 4px}.hero-overlay{background:linear-gradient(90deg,#031222ee,#031222aa)}.eyebrow{letter-spacing:.16em}.section{padding:42px 0}.about-grid{grid-template-columns:1fr;gap:28px}.about-stats{grid-column:auto;gap:15px}.about-stats strong{font-size:22px}.about-stats span{font-size:14px}.services-strip{gap:12px 20px}.services-strip i{display:none}.project-grid{grid-template-columns:1fr;gap:32px}.project-photo{aspect-ratio:332/376}.project-caption strong{font-size:24px}.contact-copy{padding:44px 18px}.contact-photo{margin-bottom:0}.footer-grid{grid-template-columns:1fr;text-align:center;gap:24px}.footer-brand{margin:auto}.footer-contact{flex-direction:column;gap:14px}.footer-social{grid-column:auto}.footer-bottom{text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Final editorial spacing, proportions and interaction treatment. */
:root{--navy:#0b1d33;--ink:#10203b;--line:#dfe5eb}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:#ff6500;color:#0b1d33}
.site-header{border-bottom:1px solid #ffffff12;gap:40px}
.brand{padding-inline:0}.brand img{width:82px}
.main-nav{gap:34px}.main-nav a{color:#dce3ec;transition:color .2s}.main-nav a:hover,.main-nav a.active{color:#fff}
.btn{padding:16px 24px;gap:22px;line-height:1.35;transition:background .2s,box-shadow .2s}.btn-primary:hover{box-shadow:0 5px 18px #0002}.btn span,.text-link span{transition:transform .2s}.btn:hover span,.text-link:hover span{transform:translateX(3px)}
.text-link{line-height:1.5;padding-block:7px;align-self:flex-start}.hero-actions .text-link{align-self:center}
.hero{padding-top:72px;padding-bottom:80px}.hero h1{font-size:clamp(3rem,5vw,4.5rem);line-height:1.06;letter-spacing:-.045em}.hero-copy{line-height:1.65;max-width:475px;color:#e3e8ee}.hero-actions{margin-top:32px;gap:28px}.hero-categories{padding-top:22px;border-top:1px solid #ffffff24;margin-top:44px;letter-spacing:.16em}
.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.2em;margin-bottom:18px}.eyebrow span{width:28px;height:2px}
h2{line-height:1.12;letter-spacing:-.035em;text-wrap:balance}.section{padding-block:80px}
.about-grid{grid-template-columns:.95fr 1.05fr;gap:28px 60px;align-items:center}.about-photo{grid-row:1/3;position:relative;overflow:hidden;aspect-ratio:464/582}.about-photo img{position:absolute;left:0;top:0;max-width:none;width:241.81%;height:auto}.about-copy{align-self:end}.about-copy h2{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:22px}.about-copy>p:not(.eyebrow){line-height:1.75;margin-bottom:18px}.about-stats{grid-column:2;grid-template-columns:repeat(3,minmax(0,1fr));align-self:start;border-left:0;border-top:1px solid var(--line);padding:25px 0 0;gap:20px}.about-stats div+div{padding:0;border:0}.about-stats strong{font-size:30px;margin-bottom:8px;font-variant-numeric:lining-nums}.about-stats div:last-child strong{font-size:21px;line-height:1.45}.about-stats span{line-height:1.5}
.services{background:#fff}.services-strip{padding-block:24px;color:#465268;gap:28px}.services-strip i{border-radius:0;width:14px;height:1px}
.projects{background:#f4f6f8}.projects-head{display:grid;grid-template-columns:1.15fr .9fr auto;align-items:end;gap:28px;margin-bottom:36px}.projects-head h2{font-size:clamp(2rem,3vw,2.8rem)}.projects-head>p{line-height:1.65;font-size:15px}.projects-head .text-link{align-self:end}.project-grid{gap:28px}.project-photo{border-radius:2px}.project-caption{margin-top:20px;padding-top:17px;border-top:1px solid #cbd4de}.project-caption strong{font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.3;letter-spacing:-.02em}.project-caption span{letter-spacing:.13em;color:#536176;margin-top:9px}.project-caption span:before{height:2px;width:19px}
.contact-copy{padding-top:72px;padding-bottom:72px}.contact-inner h2{max-width:570px;font-size:clamp(2rem,3.2vw,3.1rem)}.contact-inner>p:not(.eyebrow){line-height:1.7}.cta-actions{gap:20px 28px;margin-top:30px}.contact-photo{margin-right:max(32px,calc((100vw - var(--max))/2));border-radius:2px}.contact-photo img{margin-top:-3.6%}
.footer-grid{padding-block:38px;grid-template-columns:90px 1fr auto;gap:40px}.footer-brand{padding:0}.footer-brand img{width:74px}.footer-contact{gap:16px 28px}.footer-contact a{display:flex;align-items:center;gap:10px;line-height:1.6}.footer-contact svg{width:17px;height:17px;flex-shrink:0;color:#ff7823}.footer-contact a:hover{text-decoration:underline;text-underline-offset:5px}.footer-social small{font-size:12px;line-height:1.8;color:#c1ccd9}.footer-bottom{padding-block:20px;color:#9facbd;border-top-color:#ffffff16}
@media(max-width:1050px){.site-header{gap:24px}.main-nav{gap:23px}.about-grid{gap:24px 34px}.about-stats{gap:12px}.about-stats strong{font-size:26px}.about-stats div:last-child strong{font-size:19px}.projects-head{grid-template-columns:1fr 1fr}.projects-head .text-link{grid-column:2;justify-self:start}.projects-head>div{grid-row:1/3;align-self:center}.contact-copy{padding:56px 32px}.contact-photo{width:calc(100% - 64px);max-width:850px;margin:0 auto 48px}.footer-grid{grid-template-columns:90px 1fr}.footer-social{grid-column:2}.footer-contact{justify-content:flex-start}}
@media(max-width:760px){.site-header{gap:20px;min-height:104px}.brand img{width:68px}.main-nav{gap:0}.section{padding-block:52px}.hero{padding:44px 0 30px}.hero h1{font-size:clamp(2.4rem,10.6vw,4rem);line-height:1.07}.hero-copy{font-size:16px;line-height:1.75;margin-top:22px}.hero-actions{gap:18px}.hero-actions .text-link{align-self:flex-start}.hero-categories{margin:34px 18px 0;padding-top:20px;font-size:12px;letter-spacing:.04em;text-align:left}.eyebrow{font-size:12px;letter-spacing:.13em;gap:12px}.about-grid{grid-template-columns:1fr;gap:30px}.about-photo{grid-row:auto;width:min(100%,440px);margin:auto}.about-copy{align-self:auto}.about-copy h2{font-size:2.15rem}.about-stats{grid-column:auto;gap:13px;padding-top:25px}.about-stats strong{font-size:26px}.about-stats div:last-child strong{font-size:19px}.about-stats span{font-size:14px}.services-strip{gap:14px 24px;padding-block:22px;font-size:14px}.projects-head{display:flex;align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:28px}.projects-head .eyebrow{margin-bottom:14px}.projects-head h2{font-size:2.15rem}.projects-head>p{font-size:16px}.project-grid{gap:36px}.project-caption{margin-top:16px;padding-top:15px}.project-caption strong{font-size:23px}.contact-copy{padding:52px 18px 36px}.contact-inner h2{font-size:2.2rem}.contact-inner>p:not(.eyebrow){font-size:16px}.contact-photo{width:calc(100% - 36px);margin-bottom:36px}.cta-actions{gap:18px}.footer-grid{grid-template-columns:1fr;text-align:left;gap:28px;padding-block:34px}.footer-brand{margin:0}.footer-contact{gap:17px;align-items:flex-start}.footer-social{grid-column:auto}.footer-social small br{display:none}.footer-social small{letter-spacing:.12em}.footer-bottom{text-align:left;padding-block:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
@media(max-width:760px){.projects-head>div{align-self:stretch}.projects-head .text-link{align-self:flex-start}}
