
:root{--navy:#0c2d55;--deep:#08244a;--blue:#2b78bb;--light:#f5f8fb;--text:#17324f;--muted:#53657b;--border:#dce5ee;--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.5}img{display:block;width:100%;height:100%;object-fit:cover}a{text-decoration:none;color:inherit}.container{width:min(var(--max),92%);margin:auto}.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:var(--deep);padding:12px;z-index:100}.skip-link:focus{left:12px;top:12px}.site-header{height:92px;display:flex;align-items:center;border-bottom:1px solid var(--border);background:#fff}.header-inner{display:flex;align-items:center;justify-content:space-between;width:min(var(--max),92%);margin:auto}.brand-main{font-size:28px;font-weight:700;letter-spacing:.22em;color:var(--deep);line-height:1}.brand-sub{font-size:10px;letter-spacing:.25em;margin-top:7px;color:var(--deep)}nav{display:flex;gap:38px;font-weight:700}nav a{padding:34px 0 28px;border-bottom:3px solid transparent}nav a.active{border-color:var(--blue)}
.hero{display:grid;grid-template-columns:1.52fr 1fr;min-height:500px}.hero-copy{position:relative;padding:58px 7vw 48px max(7vw,calc((100vw - var(--max))/2 + 18px));overflow:hidden;background:linear-gradient(rgba(255,255,255,.97),rgba(255,255,255,.97)),repeating-linear-gradient(30deg,transparent 0 28px,rgba(43,120,187,.12) 29px 30px),repeating-linear-gradient(150deg,transparent 0 28px,rgba(43,120,187,.12) 29px 30px)}.hero h1{margin:0;font-size:clamp(50px,5vw,78px);line-height:.98;letter-spacing:-.04em;color:var(--deep);max-width:760px}.hero h1 span{color:#2f78b8}.hero .rule,.contact-intro .rule{width:42px;height:3px;background:var(--blue);margin:24px 0}.hero p{font-size:20px;max-width:690px;color:#3f5268;margin:0 0 30px}.btn{display:inline-block;background:#2b78bb;color:white;padding:16px 28px;font-weight:700;letter-spacing:.08em;border-radius:2px;border:0;cursor:pointer}.btn:hover,.btn:focus{background:#205f95}.hero-image{min-height:500px}.hero-image img{object-position:center center}
.statement{background:linear-gradient(90deg,#0a2e5b,#06254d);color:white}.statement-inner{width:min(var(--max),92%);margin:auto;min-height:126px;display:flex;align-items:center;gap:30px}.statement-icon{width:80px;height:80px;border:2px solid #2f8ad0;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.statement-icon img{width:50px;height:50px;object-fit:contain}.statement p{font-size:24px;line-height:1.25;font-weight:700;margin:0;max-width:900px}
.problem{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.problem-image{min-height:520px}.problem-image img{object-position:center center}.problem-copy{padding:58px 8vw 48px 55px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:13px;letter-spacing:.18em;color:var(--blue);font-weight:700;text-transform:uppercase}.problem h2,.philosophy h2,.projects h2,.contact-intro h1{color:var(--deep);letter-spacing:-.03em}.problem h2{font-size:40px;line-height:1.08;margin:10px 0 24px}.problem p{font-size:18px;color:#43566d;margin:0 0 20px;max-width:560px}.problem strong{color:var(--deep)}
.services{padding:42px 0 50px}.services h2{text-align:center;font-size:36px;color:var(--deep);margin:0 0 28px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr)}.service{text-align:center;padding:0 50px;border-right:1px solid var(--border)}.service:last-child{border-right:0}.icon-circle{width:76px;height:76px;border-radius:50%;background:#256fb1;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}.icon-circle img{width:44px;height:44px;object-fit:contain}.service h3{font-size:21px;color:var(--deep);margin:0 0 10px}.service p{font-size:16px;color:#43566d;margin:0}
.philosophy{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);min-height:500px}.philosophy-image{min-height:500px}.philosophy-image img{object-position:center center}.philosophy-copy{padding:52px 58px;display:flex;flex-direction:column;justify-content:center}.philosophy h2{font-size:38px;line-height:1.05;margin:10px 0 22px}.philosophy p{font-size:17px;color:#43566d;margin:0 0 18px}.philosophy strong{color:var(--deep)}
.projects{padding:32px 0 38px;border-top:1px solid var(--border)}.projects h2{text-align:center;font-size:31px;margin:0 0 24px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 70px;max-width:920px;margin:auto}.project-item{font-size:17px;color:#334b64}.project-item::before{content:'✓';color:#2a78bb;font-weight:700;margin-right:14px}.cta{color:white;text-align:center;padding:38px 20px;background:linear-gradient(rgba(39,113,180,.94),rgba(31,92,155,.94)),repeating-linear-gradient(30deg,transparent 0 28px,rgba(255,255,255,.15) 29px 30px),repeating-linear-gradient(150deg,transparent 0 28px,rgba(255,255,255,.15) 29px 30px)}.cta h2{font-size:34px;margin:0 0 8px}.cta p{font-size:17px;margin:0 auto 20px;max-width:680px}.cta .btn{background:white;color:#1f5c9b;padding:13px 30px}.cta .btn:hover,.cta .btn:focus{background:#eef5fb}footer{background:#06244d;color:white;padding:30px 0}.footer-inner{width:min(var(--max),92%);margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:26px;align-items:center}.footer-col{padding-right:24px;border-right:1px solid rgba(255,255,255,.35)}.footer-col:last-child{border-right:0}.footer-title{font-weight:700;margin-bottom:6px}.footer-small{font-size:14px;opacity:.95}.email-row{display:flex;align-items:center;gap:10px}.email-icon{font-size:22px}
.contact-main{padding:40px 0 0}.contact-hero{width:min(var(--max),92%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.contact-intro{padding:40px 20px}.contact-intro h1{font-size:54px;line-height:1.02;margin:0}.contact-intro p{font-size:17px;color:#43566d;max-width:440px}.contact-image{height:390px}.form-wrap{width:min(1100px,92%);margin:36px auto 50px;padding:40px;background:#fff;border:1px solid var(--border);box-shadow:0 8px 24px rgba(25,55,85,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-group.full{grid-column:1/-1}label{display:block;font-weight:700;margin-bottom:8px;color:var(--deep)}input,textarea{width:100%;padding:15px;border:1px solid #cfd9e3;font:inherit;color:var(--text);border-radius:0}input:focus,textarea:focus{outline:3px solid rgba(43,120,187,.2);border-color:var(--blue)}textarea{min-height:170px;resize:vertical}.submit-row{text-align:center;margin-top:26px}.form-status{padding:14px 16px;margin-bottom:22px;border:1px solid}.form-status.error{background:#fff3f3;color:#7a1e1e;border-color:#e4bcbc}.form-status.success{background:#f1faf4;color:#185c31;border-color:#b8dec4}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-footer{margin-top:0}.note{font-size:13px;color:#6b7c8e;margin-top:12px}
.thanks-main{min-height:60vh;display:grid;place-items:center;text-align:center;padding:40px}.thanks-main h1{font-size:52px;color:var(--deep);margin:10px 0}.thanks-main p{font-size:19px;color:#43566d}
@media(max-width:850px){.site-header{height:auto}.header-inner{padding:20px 0}nav{gap:22px}nav a{padding:20px 0 16px}.hero,.problem,.philosophy,.contact-hero{grid-template-columns:1fr}.hero-copy{padding:48px 6%}.hero-image,.problem-image,.philosophy-image,.contact-image{min-height:320px;height:320px}.statement-inner{padding:26px 0}.statement p{font-size:20px}.problem-copy,.philosophy-copy{padding:42px 6%}.service-grid{grid-template-columns:1fr;gap:34px}.service{border-right:0;padding:0 12%}.project-grid{grid-template-columns:1fr;padding:0 5%}.footer-inner{grid-template-columns:1fr}.footer-col{border-right:0;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:16px}.footer-col:last-child{border-bottom:0}.form-grid{grid-template-columns:1fr}.contact-intro h1{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.skip-link:focus {
    position: absolute;
    left: 20px;
    top: 20px;
    width: auto;
    height: auto;
    padding: 12px 18px;
    background: #0f2d5c;
    color: white;
    text-decoration: none;
    border-radius: 6px;
    z-index: 9999;
}
