:root{--navy:#073d6d;--deep:#092e50;--blue:#277bba;--sky:#bcdcec;--light:#f5f8fa;--line:#dce7ee;--ink:#16324a;--muted:#526879;--white:#fff}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:16px;line-height:1.55;background:var(--white);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #38a8ed;outline-offset:4px}
.container{width:min(1190px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;left:20px;top:-80px;padding:10px;background:white;z-index:20}.skip-link:focus{top:10px}
.top-strip{background:var(--navy);color:#e8f4fb;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-align:center;padding:9px 0;font-weight:700}.top-strip span{color:#62bbef}
.site-header{background:white;border-bottom:1px solid #edf0f2}.header-content{height:112px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand img{width:228px;height:auto}.site-header nav{display:flex;gap:38px;align-items:center;font-weight:700;color:var(--deep);font-size:13px;letter-spacing:.35px}.site-header nav a:not(.nav-contact):hover{color:var(--blue)}.nav-contact{background:var(--deep);color:white;padding:13px 20px}.nav-contact:hover{background:var(--blue)}
.hero{background:linear-gradient(90deg,#f8fafb 0%,#f8fafb 55%,#e9f2f8 55%,#e9f2f8 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;min-height:585px;align-items:center;gap:62px;padding-block:60px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--blue);text-transform:uppercase;margin:0 0 19px}.rule{display:inline-block;width:25px;height:2px;background:var(--blue);vertical-align:middle;margin-right:9px}.hero h1{font-size:clamp(40px,4.25vw,65px);line-height:1.11;letter-spacing:-2.4px;font-weight:800;color:var(--deep);margin:0 0 25px}.hero h1 em{font-style:normal;color:var(--blue)}.hero-description{color:var(--muted);font-size:17px;line-height:1.75;max-width:500px;margin-bottom:30px}.actions{display:flex;flex-wrap:wrap;gap:12px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:13px 20px;font-size:13px;font-weight:800;white-space:nowrap;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--navy);color:white}.button-primary:hover{background:var(--blue)}.button-outline{color:var(--navy);border:1px solid #a8c3d4;background:transparent}.button-outline:hover{background:#ebf4fa}.hero-location{margin:22px 0 0;color:#607586;font-size:12px}.hero-visual{position:relative;align-self:center}.photo-frame{border:8px solid white;box-shadow:0 20px 44px rgba(3,42,69,.17);background:white}.photo-frame img{width:100%;aspect-ratio:1.52;object-fit:cover}.photo-caption{background:var(--deep);color:white;padding:18px 22px;width:82%;margin:-18px -20px 0 auto;z-index:1;position:relative;display:flex;align-items:center;gap:16px;box-shadow:0 9px 20px rgba(2,32,58,.12)}.caption-accent{background:#5ab6e4;width:3px;height:39px;flex:none}.photo-caption strong{font-size:14px;display:block}.photo-caption span:last-child{font-size:12px;color:#c8d9e6;display:block;margin-top:2px}
.section-space{padding-block:90px}.section-heading{max-width:670px;margin-bottom:36px}.section-heading h2,.work h2,.approach h2,.contact h2{font-size:clamp(34px,3.3vw,48px);line-height:1.13;letter-spacing:-1.4px;margin:0 0 18px;color:var(--deep)}.section-heading>p:last-child{max-width:560px;color:var(--muted);margin:0;line-height:1.7}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{background:var(--light);border:1px solid var(--line);padding:35px 39px 37px;border-top:4px solid var(--navy)}.service-icon{font-size:12px;font-weight:800;color:var(--blue);letter-spacing:2px;margin-bottom:12px}.service-card h3{font-size:27px;line-height:1.2;color:var(--deep);margin:0 0 10px}.service-card p{margin:0 0 21px;color:var(--muted);font-size:14px;max-width:420px}.service-card ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}.service-card li{font-size:15px;padding-left:23px;position:relative;font-weight:600}.service-card li::before{content:"";display:block;width:8px;height:8px;border:2px solid var(--blue);transform:rotate(45deg);position:absolute;top:8px;left:2px}
.work{background:#edf4f8}.work-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:29px}.work-heading h2{margin-bottom:0}.work-heading>p{max-width:360px;color:var(--muted);font-size:14px;margin:0 0 5px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.work-photo{padding:0;margin:0;background:white;box-shadow:0 8px 20px rgba(8,52,82,.07)}.work-photo img{width:100%;aspect-ratio:1.6;object-fit:cover}.work-photo figcaption{padding:16px 20px;font-weight:700;font-size:13px;color:var(--deep);border-top:1px solid var(--line)}
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.approach-steps{display:grid;gap:24px}.step{display:flex;gap:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}.step:last-child{border:0;padding-bottom:0}.step>span{font-size:13px;font-weight:800;letter-spacing:1px;color:var(--blue);padding-top:5px}.step h3{margin:0 0 5px;font-size:18px;color:var(--deep)}.step p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.contact{background:var(--navy);color:white;padding-block:75px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.contact .eyebrow{color:#83ccf6}.contact h2{color:white;margin-bottom:16px}.contact-grid>div:first-child>p:last-child{color:#d1e1ed;max-width:390px;font-size:15px;margin:0}.contact-actions{display:flex;flex-direction:column;align-items:flex-start}.contact-phone{font-size:clamp(29px,3.4vw,47px);line-height:1.15;font-weight:800;letter-spacing:-1px;white-space:nowrap}.contact-phone:hover{color:#adddf4}.contact-phone span{font-size:.7em}.contact-actions p{color:#d4e5f1;font-size:14px;margin:10px 0 20px}.button-light{color:var(--deep);background:white}.button-light:hover{background:#dceef8}.contact-consultation{font-weight:700;color:#e1f1fc;font-size:14px;margin-top:22px;text-decoration:underline;text-decoration-color:#7fbad8;text-underline-offset:5px}.contact-consultation:hover{color:white}
.footer{background:#082a48;color:#d6e7f1;padding-block:31px}.footer-content{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-content strong{display:block;color:white;font-size:14px}.footer-content p,.footer-content small{font-size:12px;color:#afc9da;margin:4px 0 0}.footer-links{display:flex;gap:22px;font-size:12px}.footer-links a:hover{color:white;text-decoration:underline}
@media(max-width:900px){.hero{background:#f8fafb}.hero-grid{grid-template-columns:1fr;gap:42px;padding-block:52px}.hero-copy{max-width:650px}.hero-visual{max-width:690px;margin:auto}.contact-grid{gap:30px}.approach-grid{gap:32px}}
@media(max-width:650px){.container{width:min(100% - 36px,560px)}.top-strip{font-size:9px;letter-spacing:1px}.header-content{height:85px}.brand img{width:165px}.site-header nav{gap:13px;font-size:11px}.site-header nav a:nth-child(2){display:none}.site-header .nav-contact{padding:10px 11px}.hero-grid{padding-top:45px}.hero h1{font-size:43px;letter-spacing:-1.8px}.hero-description{font-size:15px}.actions{align-items:stretch}.actions .button{width:100%}.hero-visual{width:100%}.photo-frame{border-width:5px}.photo-caption{width:94%;margin-right:-4px;padding:13px 15px}.section-space{padding-block:60px}.section-heading h2,.work h2,.approach h2,.contact h2{font-size:35px}.service-grid,.work-grid,.approach-grid,.contact-grid{grid-template-columns:1fr}.service-card{padding:27px 25px}.work-heading{display:block}.work-heading>p{margin-top:12px}.contact{padding-block:60px}.contact-grid{gap:34px}.footer-content{display:grid;gap:20px}.footer-content small{justify-self:start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
