:root{--ink:#101424;--navy:#050a30;--blue:#123f7a;--electric:#2c69ad;--ice:#eef3f8;--paper:#f8fafc;--line:#d8e0e7;--muted:#60707d;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}.site-header{height:84px;max-width:1240px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;line-height:1}.brand-logo{display:block;width:190px;height:auto}.brand strong{display:block;font:800 15px/1 Manrope,sans-serif;letter-spacing:.06em}.brand small{display:block;margin-top:5px;font-size:10px;letter-spacing:.25em;color:var(--blue)}nav{display:flex;gap:32px;font-size:14px;font-weight:600}nav a:hover{color:var(--blue)}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;background:var(--blue);color:#fff;border:0;padding:15px 22px;font:700 15px/1 Manrope,sans-serif;cursor:pointer;transition:.2s}.button:hover{background:#0a3263;transform:translateY(-1px)}.button-small{padding:13px 18px;font-size:13px}.button-outline{background:transparent;border:1px solid #7189a1}.button-outline:hover{background:rgba(255,255,255,.08)}.hero{min-height:690px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--navy);color:#fff}.hero-copy{padding:105px max(48px,calc((100vw - 1180px)/2));padding-right:65px;align-self:center}.eyebrow,.section-label{margin:0 0 20px;font:700 12px/1 Manrope,sans-serif;letter-spacing:.16em;color:var(--electric)}.hero h1{margin:0;font:800 clamp(3.3rem,6vw,6.4rem)/.94 Manrope,sans-serif;letter-spacing:-.055em}.hero h1 span{color:#9bbcdf}.hero-lead{max-width:585px;margin:32px 0 34px;font-size:20px;line-height:1.55;color:#c7d5de}.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.hero-actions .button:first-child span{font-weight:500;color:#d8e7f5}.trust-row{display:flex;gap:28px;list-style:none;margin:48px 0 0;padding:25px 0 0;border-top:1px solid #28315b;color:#dce7ed;font-size:14px}.trust-row span{color:#9bbcdf;margin-right:5px}.hero-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,#123f7a 0%,#050a30 100%);min-height:520px}.hero-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.5%,rgba(255,255,255,.07) 50%),linear-gradient(transparent 49.5%,rgba(255,255,255,.07) 50%);background-size:64px 64px}.power-lines{position:absolute;inset:0}.power-lines i{position:absolute;width:150%;height:3px;background:rgba(255,255,255,.55);transform:rotate(-25deg);left:-25%;top:25%;box-shadow:0 20px 45px rgba(0,0,0,.25)}.power-lines i:nth-child(2){top:48%;height:8px;background:#fff}.power-lines i:nth-child(3){top:70%;height:2px}.panel-content{position:absolute;left:10%;bottom:10%;z-index:2}.panel-content p{font:700 11px/1 Manrope,sans-serif;letter-spacing:.17em}.panel-content strong{display:block;margin:14px 0;font:800 clamp(2.4rem,4vw,4.5rem)/1 Manrope,sans-serif;letter-spacing:-.05em}.panel-content span{color:#c9ddff}.panel-badge{position:absolute;right:9%;top:10%;width:78px;height:88px;border:1px solid rgba(255,255,255,.7);display:grid;place-items:center;align-content:center;z-index:2}.panel-badge img{display:block;width:100%;height:100%;object-fit:cover}.intro,.services,.process,.areas,.contact{max-width:1180px;margin:auto;padding:110px 28px}.intro{display:grid;grid-template-columns:.8fr 2fr;border-bottom:1px solid var(--line)}.intro h2,.section-heading h2,.process h2,.areas h2,.contact h2{margin:0 0 24px;font:700 clamp(2.1rem,4vw,3.9rem)/1.08 Manrope,sans-serif;letter-spacing:-.045em}.intro>div p{max-width:760px;color:var(--muted);font-size:19px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:46px}.section-heading>p{max-width:420px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{padding:40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.service-grid span{font:700 12px/1 Manrope,sans-serif;color:var(--blue)}.service-grid h3{margin:28px 0 14px;font:700 22px/1.2 Manrope,sans-serif}.service-grid p{margin:0;color:var(--muted);max-width:440px}.process{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;background:var(--ice);max-width:none;padding-left:max(28px,calc((100vw - 1124px)/2));padding-right:max(28px,calc((100vw - 1124px)/2))}.process ol{list-style:none;margin:0;padding:0}.process li{display:grid;grid-template-columns:48px 1fr;gap:22px;padding:25px 0;border-top:1px solid #c6d8e9}.process li>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:700}.process h3{margin:3px 0 7px;font:700 19px/1.2 Manrope,sans-serif}.process p{margin:0;color:var(--muted)}.areas{display:grid;grid-template-columns:1.45fr 1fr;gap:80px;align-items:end}.areas>p{font-size:18px;color:var(--muted)}.contact{max-width:none;background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-left:max(28px,calc((100vw - 1124px)/2));padding-right:max(28px,calc((100vw - 1124px)/2))}.contact form{display:grid;gap:19px;background:#fff;color:var(--ink);padding:32px}.contact label{display:grid;gap:7px;font-size:13px;font-weight:700}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,textarea{width:100%;border:1px solid var(--line);background:#f9fbfd;padding:13px;font:16px DM Sans,sans-serif;border-radius:0}input:focus,textarea:focus{outline:2px solid var(--electric);outline-offset:1px}.form-note{margin:0;color:var(--muted);font-size:12px}footer{max-width:1180px;margin:auto;padding:38px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px;color:var(--muted);font-size:13px;background:#fff}.brand-footer{color:var(--ink)}
@media(max-width:850px){.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:80px 28px}.hero-panel{min-height:430px}.intro,.process,.areas,.contact{grid-template-columns:1fr;gap:38px}.section-heading{display:block}.section-heading>p{margin-top:20px}.process{padding-top:80px;padding-bottom:80px}.contact{padding-top:80px;padding-bottom:80px}}
@media(max-width:580px){body{padding-bottom:68px}.site-header{height:74px;padding:0 18px}.brand-logo{width:165px}.button-small{display:none}.hero-copy{padding:68px 20px}.hero h1{font-size:3.1rem}.hero-lead{font-size:18px}.hero-actions{align-items:stretch;flex-direction:column;gap:12px}.hero-actions .button{width:100%}.trust-row{gap:12px;flex-wrap:wrap}.intro,.services,.areas{padding:76px 20px}.service-grid{grid-template-columns:1fr}.service-grid article{padding:30px 25px}.field-row{grid-template-columns:1fr}.contact form{padding:24px 20px}footer{padding:35px 20px;align-items:flex-start;flex-direction:column;gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

html{scroll-padding-top:96px}
.skip-link{position:fixed;left:16px;top:-64px;z-index:100;background:#fff;color:var(--ink);padding:12px 16px;font-weight:700;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.skip-link:focus{top:12px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #73a9ff;outline-offset:3px}
.questions{max-width:1180px;margin:auto;padding:110px 28px;display:grid;grid-template-columns:.8fr 1.5fr;gap:80px;border-top:1px solid var(--line)}
.questions h2{margin:0;font:700 clamp(2.1rem,4vw,3.9rem)/1.08 Manrope,sans-serif;letter-spacing:-.045em}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 2px;font:700 18px/1.35 Manrope,sans-serif}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{color:var(--blue);font:500 27px/1 Manrope,sans-serif;transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{margin:0;padding:0 48px 24px 2px;color:var(--muted)}
.contact label{font-size:14px}
.contact>div>p:not(.section-label){color:#bdcbd4;font-size:18px;max-width:510px}
.contact-methods{display:grid;gap:18px;margin-top:30px}
.contact-phone{display:inline-flex;flex-direction:column;align-items:flex-start;width:max-content;padding:15px 20px;border:1px solid #7189a1;background:rgba(255,255,255,.05)}
.contact-phone span{font:700 11px/1 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#9bbcdf}
.contact-phone strong{margin-top:8px;font:700 25px/1.1 Manrope,sans-serif;color:#fff}
.contact-phone:hover{background:rgba(255,255,255,.1);border-color:#9bbcdf}
.contact-secondary{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.contact-secondary a{padding-bottom:3px;border-bottom:1px solid #718795;color:#fff;font-weight:700}
.contact-secondary a:hover{color:#8cbcff;border-color:#8cbcff}
.footer-links{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.footer-links a:hover{color:var(--blue);text-decoration:underline}
.mobile-contact-bar{display:none}
@media(max-width:850px){.questions{grid-template-columns:1fr;gap:38px}}
@media(max-width:580px){.questions{padding:76px 20px}.faq-list summary{font-size:16px;padding:21px 0}.faq-list details p{padding-right:20px}}
@media(max-width:580px){.contact-phone{width:100%}.contact-secondary{align-items:flex-start;flex-direction:column;gap:13px}.mobile-contact-bar{position:fixed;z-index:90;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 18px rgba(5,10,48,.12)}.mobile-contact-bar a{display:flex;align-items:center;justify-content:center;min-height:58px;font:700 15px/1 Manrope,sans-serif}.mobile-contact-bar a:first-child{background:var(--blue);color:#fff}.mobile-contact-bar a:last-child{color:var(--blue)}}
@media(prefers-reduced-motion:reduce){.faq-list summary span{transition:none}}

/* Authentic project imagery */
.hero-panel{margin:0;background:#071d2d}
.hero-panel:before{display:none}
.hero-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(3,17,27,.78) 100%)}
.hero-panel>img{width:100%;height:100%;object-fit:cover;object-position:54% center;display:block}
.hero-panel figcaption{position:absolute;left:10%;bottom:9%;z-index:2}
.hero-panel figcaption span{display:block;margin-bottom:10px;font:700 11px/1 Manrope,sans-serif;letter-spacing:.17em;color:#bcd4ff;text-transform:uppercase}
.hero-panel figcaption strong{font:800 clamp(2rem,3.2vw,3.4rem)/1.04 Manrope,sans-serif;letter-spacing:-.045em}
.panel-badge{right:7%;top:7%;width:92px;height:92px;background:var(--navy)}
.brand-story{max-width:1180px;margin:0 auto 10px;padding:0 28px 80px;display:grid;grid-template-columns:1.4fr 1fr;min-height:440px}
.brand-story img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center;display:block}
.brand-story>div{display:flex;flex-direction:column;justify-content:center;background:var(--navy);color:#fff;padding:48px}
.brand-story h2{margin:0 0 24px;font:700 clamp(2.1rem,4vw,3.9rem)/1.08 Manrope,sans-serif;letter-spacing:-.045em}
.brand-story>div>p:last-child{margin:0;color:#bdcbd4;font-size:17px}
.work{max-width:1180px;margin:auto;padding:55px 28px 110px}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:310px;gap:14px}
.work-card{position:relative;overflow:hidden;margin:0;background:#dce4e9}
.work-card-wide{grid-column:span 2}
.work-card-tall{grid-row:span 2}
.work-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}
.work-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(3,17,27,.82))}
.work-card figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:21px;color:#fff}
.work-card figcaption strong,.work-card figcaption span{display:block}
.work-card figcaption strong{font:700 18px/1.2 Manrope,sans-serif}
.work-card figcaption span{margin-top:5px;font-size:13px;color:#d4e0e8}
.work-card:hover img{transform:scale(1.025)}

@media(max-width:850px){
  .brand-story{grid-template-columns:1fr;gap:0}
  .brand-story img{min-height:380px}
  .work-grid{grid-template-columns:repeat(2,1fr)}
  .work-card-tall{grid-row:span 1}
}
@media(max-width:580px){
  .hero-panel{min-height:410px}
  .hero-panel figcaption{left:20px;bottom:22px}
  .panel-badge{right:18px;top:18px}
  .brand-story{padding:0 20px 70px}
  .brand-story img{min-height:280px}
  .brand-story>div{padding:32px 24px}
  .work{padding:20px 20px 76px}
  .work-grid{grid-template-columns:1fr;grid-auto-rows:330px}
  .work-card-wide{grid-column:span 1}
}
@media(prefers-reduced-motion:reduce){.work-card img{transition:none}}
.optional{font-weight:400;color:var(--muted)}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact form .button:disabled{cursor:wait;opacity:.72;transform:none}
.form-status{margin:0;color:var(--muted);font-size:12px}
.form-status:empty{display:none}
.form-status-success{color:#17633a;font-weight:700}
.form-status-error{color:#9e2f2f;font-weight:600}
.form-status-error a{text-decoration:underline}
