@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#172331;--blue:#2b67b7;--navy:#101923;--cream:#f7f5f0;--line:#d9dedf;--muted:#5d6971;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #76a9ee;outline-offset:4px}.skip-link{position:absolute;z-index:20;left:12px;top:-100px;background:#fff;color:#111;padding:10px}.skip-link:focus{top:12px}.wrap{width:min(100% - 96px,1370px);margin-inline:auto}
.site-header{position:absolute;z-index:10;top:0;left:0;right:0;height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 max(48px,calc((100vw - 1370px)/2));border-bottom:1px solid rgba(255,255,255,.2);color:#fff}.brand{display:flex;align-items:center;gap:13px}.brand-symbol{width:49px;height:49px;object-fit:contain;flex:none}.brand-name{font-family:Manrope,Arial,sans-serif;font-size:15px;letter-spacing:.19em;font-weight:700;line-height:1.15;display:flex;flex-direction:column}.brand-name span{font-size:10px;letter-spacing:.31em;font-weight:500;margin-top:5px}.site-header nav ul{display:flex;gap:38px;align-items:center;list-style:none;padding:0;margin:0}.site-header nav a{font-size:12px;font-weight:600;letter-spacing:.08em;transition:color .2s}.site-header nav a:hover{color:#a7cdfb}.nav-cta{border:1px solid rgba(255,255,255,.65);padding:13px 18px;display:inline-flex;gap:25px}.nav-cta span,.button span,.text-link span{font-size:17px;line-height:.7}.menu-toggle{display:none}
.hero{height:min(900px,100svh);min-height:670px;position:relative;color:#fff;overflow:hidden;background:#252727}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center 51%}.hero-shade{background:linear-gradient(90deg,rgba(9,17,25,.83) 0%,rgba(9,17,25,.61) 38%,rgba(9,17,25,.12) 76%),linear-gradient(0deg,rgba(9,17,25,.5),transparent 30%)}.hero-content{position:relative;z-index:1;padding-top:clamp(210px,27vh,300px)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.25em;font-weight:700;color:#396ca9;display:flex;align-items:center;gap:17px;margin:0 0 32px}.eyebrow.light{color:#b6cce8}.rule{width:25px;height:1px;background:#b6cce8}.hero h1,h2{font-weight:400;letter-spacing:-.055em}.hero h1{font-size:clamp(56px,6.3vw,104px);line-height:1.03;margin:0;max-width:900px}.hero h1 em,h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.05em}.hero-copy{font-size:16px;line-height:1.75;max-width:515px;color:#e2e8e9;margin:28px 0 33px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:47px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:18px 21px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:#dceaf8}.hero-foot{position:absolute;z-index:1;bottom:30px;left:0;right:0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.25em;color:rgba(255,255,255,.69)}
.section-pad{padding:125px 0 135px}.section-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:70px;margin-bottom:68px}.eyebrow-line{display:inline-block;width:22px;height:1px;background:currentColor}.section-intro h2,.approach h2{font-size:clamp(48px,5.2vw,78px);line-height:1.06;margin:0}.section-intro>p{font-size:17px;line-height:1.8;color:var(--muted);max-width:520px;margin:0 0 7px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{position:relative;min-height:320px;padding:34px 39px 38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s}.service-card:hover{background:#fff}.service-no{font-size:11px;letter-spacing:.17em;color:#73818d}.service-icon{width:46px;height:46px;margin:24px 0 18px;color:#4477af}.service-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:23px;letter-spacing:-.025em;line-height:1.14;margin:0 0 14px;font-weight:600}.service-card p{font-size:13px;color:var(--muted);line-height:1.7;max-width:290px;margin:0}
.approach{display:grid;grid-template-columns:46% 54%;min-height:665px;background:var(--navy);color:#fff}.approach-image{position:relative;overflow:hidden;background:#000}.approach-image img{width:100%;height:100%;object-fit:contain}.approach-copy{padding:90px max(48px,calc((100vw - 1370px)/2)) 78px 9%;display:flex;flex-direction:column;align-items:flex-start}.approach h2{font-size:clamp(43px,4.4vw,68px)}.approach-copy>p:not(.eyebrow):not(.contact-note){font-size:16px;line-height:1.8;color:#c3ccd3;max-width:560px;margin:25px 0 0}.closing-line{height:1px;width:100%;max-width:560px;background:#52616e;margin:38px 0 27px}.approach h3{font-size:21px;letter-spacing:-.02em;font-weight:500;margin:0 0 10px}.contact-note{color:#a5b5c4;font-size:12px;line-height:1.6;margin:0 0 27px}.text-link{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700;border-bottom:1px solid #8fb9e5;padding-bottom:9px;display:inline-flex;gap:22px;align-items:center}.text-link:hover{color:#9bc3f0}.site-footer{background:#0c131b;color:#9ba9b3;font-size:11px;letter-spacing:.05em;padding:24px 0}.site-footer .wrap{display:flex;justify-content:space-between;gap:20px}
@media(max-width:900px){.wrap{width:min(100% - 48px,1370px)}.site-header{height:78px;padding:0 24px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;align-items:center;width:42px;height:42px;background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff;cursor:pointer}.menu-toggle span{display:block;width:18px;height:1px;background:currentColor}.site-header nav{position:absolute;top:78px;left:0;right:0;background:#111d29;display:none;padding:25px 24px 30px}.site-header nav.open{display:block}.site-header nav ul{align-items:stretch;flex-direction:column;gap:22px}.site-header nav a{display:block}.nav-cta{width:fit-content}.hero{height:760px;min-height:680px}.hero-content{padding-top:230px}.section-pad{padding:90px 0}.section-intro{gap:35px}.service-grid{grid-template-columns:repeat(2,1fr)}.approach{grid-template-columns:42% 58%}.approach-copy{padding:76px 40px}}
@media(max-width:620px){.brand-name{font-size:12px}.brand-name span{font-size:8px}.brand-symbol{width:42px;height:42px}.hero{min-height:690px;height:85svh}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(9,17,25,.84),rgba(9,17,25,.43)),linear-gradient(0deg,rgba(9,17,25,.4),transparent 40%)}.hero-content{padding-top:180px}.hero h1{font-size:clamp(48px,11vw,68px)}.hero-copy{font-size:15px}.hero-foot{bottom:22px;font-size:8px}.hero-foot span:last-child{display:none}.eyebrow{font-size:10px;letter-spacing:.17em}.section-pad{padding:78px 0}.section-intro{display:block;margin-bottom:45px}.section-intro>p{margin:25px 0 0;font-size:15px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:27px 30px 30px}.service-icon{margin:16px 0}.service-card h3{font-size:22px}.approach{display:block}.approach-image{height:340px}.approach-copy{padding:70px 24px 75px}.approach h2{font-size:46px}.site-footer .wrap{flex-direction:column}.site-footer{line-height:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Contact page */
.contact-hero{position:relative;min-height:575px;background:#142331;color:#fff;overflow:hidden}.contact-hero-image,.contact-hero-shade{position:absolute;inset:0;width:100%;height:100%}.contact-hero-image{object-fit:cover;object-position:center 42%}.contact-hero-shade{background:linear-gradient(90deg,rgba(10,19,29,.89) 0%,rgba(10,19,29,.68) 48%,rgba(10,19,29,.26) 100%),linear-gradient(0deg,rgba(10,19,29,.5),transparent 55%)}.contact-hero-content{position:relative;padding-top:204px;padding-bottom:90px}.contact-hero h1{font-size:clamp(53px,6vw,92px);font-weight:400;letter-spacing:-.055em;line-height:1.04;margin:0}.contact-hero h1 em{font-family:var(--serif);font-weight:400}.contact-hero-content>p:last-child{max-width:560px;color:#dbe3e9;font-size:16px;line-height:1.75;margin:28px 0 0}.contact-section{padding:110px 0 140px;background:var(--cream)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.contact-intro h2{font-size:clamp(46px,5vw,72px);line-height:1.07;margin:0;font-weight:400;letter-spacing:-.055em}.contact-intro h2 em{font-family:var(--serif);font-weight:400}.contact-intro>p:last-child{font-size:16px;line-height:1.8;color:var(--muted);max-width:450px;margin:26px 0 0}.contact-details{border-top:1px solid var(--line)}.contact-method{position:relative;display:flex;flex-direction:column;gap:14px;padding:30px 42px 33px 0;border-bottom:1px solid var(--line);transition:padding-left .2s,background .2s}.contact-method:hover{padding-left:12px;background:#fff}.contact-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#4674a9;font-weight:700}.contact-value{font-size:clamp(20px,2.1vw,29px);letter-spacing:-.035em;overflow-wrap:anywhere}.contact-arrow{position:absolute;right:5px;top:49%;font-size:22px;color:#4376af}.contact-detail-note{font-size:13px;color:var(--muted);margin:24px 0 0;line-height:1.6}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.contact-hero{min-height:535px}.contact-hero-content{padding-top:175px}.contact-section{padding:85px 0 105px}.contact-layout{gap:6%}}
@media(max-width:620px){.contact-hero{min-height:550px}.contact-hero-content{padding-top:167px;padding-bottom:80px}.contact-hero h1{font-size:clamp(46px,10vw,62px)}.contact-hero-content>p:last-child{font-size:15px}.contact-section{padding:72px 0 90px}.contact-layout{display:block}.contact-intro>p:last-child{font-size:15px;margin:20px 0 42px}.contact-method{padding:26px 36px 29px 0}.contact-value{font-size:21px}}

/* Project inquiry */
.project-header{position:relative;background:var(--navy)}.project-layout{display:grid;grid-template-columns:42% 58%;min-height:800px}.project-intro{background:#101923;color:#fff}.project-intro-content{max-width:560px;margin-left:auto;padding:105px 70px 65px max(48px,calc((100vw - 1370px)/2))}.project-intro h1,.thanks-page h1{font-size:clamp(48px,5vw,75px);font-weight:400;letter-spacing:-.055em;line-height:1.05;margin:0}.project-intro h1 em,.thanks-page h1 em{font-family:var(--serif);font-weight:400}.project-intro-content>p:not(.eyebrow):not(.project-direct){font-size:16px;line-height:1.8;color:#c3ccd3;margin:27px 0 0}.project-mark{width:220px;height:220px;background:#000;margin:38px 0 20px}.project-mark img{height:100%;width:100%;object-fit:contain}.project-direct{color:#aebdcc;font-size:13px}.project-direct a{color:#fff;border-bottom:1px solid #799cc3;padding-bottom:3px}.project-form-section{background:var(--cream);padding:90px max(48px,calc((100vw - 1370px)/2)) 100px 8%}.project-form-wrap{max-width:640px}.project-form-section h2{font-size:clamp(45px,4.3vw,65px);line-height:1.08;margin:0}.form-intro{font-size:15px;line-height:1.7;color:var(--muted);margin:21px 0 35px}.project-form{display:flex;flex-direction:column;gap:22px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:9px}.field label{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#3d5163}.field label span{color:#2d6ab2}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd3d9;background:#fff;color:var(--ink);border-radius:0;padding:15px 16px;font:inherit;font-size:14px;outline:none}.field textarea{resize:vertical;min-height:145px;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{border-color:#3578bd;box-shadow:0 0 0 2px rgba(53,120,189,.15)}.field input::placeholder,.field textarea::placeholder{color:#89939b}.form-privacy{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.form-privacy a{text-decoration:underline;text-underline-offset:3px}.form-submit{border:0;background:#1c4f83;color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;align-self:flex-start;padding:18px 22px;min-width:215px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s}.form-submit:hover{background:#113b67}.form-submit span{font-size:17px}.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.thanks-page{background:var(--navy);color:#fff;min-height:620px;display:flex;align-items:center}.thanks-content{padding-top:100px;padding-bottom:110px}.thanks-content>p:not(.eyebrow){font-size:16px;line-height:1.75;color:#c3ccd3;max-width:470px;margin:27px 0 30px}
@media(max-width:1100px){.project-layout{grid-template-columns:39% 61%}.project-intro-content{padding:90px 36px}.project-form-section{padding:85px 36px}}
@media(max-width:760px){.project-layout{display:block}.project-intro-content{max-width:none;padding:70px 24px 65px}.project-intro h1{font-size:clamp(49px,10vw,70px)}.project-mark{display:none}.project-direct{margin-top:30px}.project-form-section{padding:75px 24px 85px}.field-row{grid-template-columns:1fr}.thanks-page{min-height:550px}.thanks-content{padding-top:80px;padding-bottom:90px}}
