:root{--navy:#071b2f;--navy-2:#0b2844;--blue:#087bc1;--sky:#25a9e0;--orange:#f47b20;--cream:#f5f2eb;--white:#fff;--ink:#14202b;--muted:#63717d;--line:#dbe2e7;--shadow:0 20px 60px rgba(7,27,47,.16);--radius:22px;--shell:min(1160px,calc(100% - 40px))}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}button,a{touch-action:manipulation}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;top:10px;left:10px;z-index:9999;padding:10px 14px;background:#fff;color:#071b2f;border-radius:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid #f7a950;outline-offset:4px}.site-header{position:fixed;inset:0 0 auto;z-index:100;color:#fff;transition:background .25s,box-shadow .25s}.site-header.is-scrolled,.site-header.nav-open{background:rgba(7,27,47,.97);box-shadow:0 8px 30px rgba(0,0,0,.16)}.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;line-height:1.1}.brand-mark{width:47px;height:34px;display:grid;place-items:center}.brand-mark svg{width:100%;fill:none;stroke:#25a9e0;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.brand strong,.brand small{display:block}.brand strong{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;letter-spacing:.02em}.brand small{margin-top:4px;color:#a9c2d3;font-size:11px;text-transform:uppercase;letter-spacing:.15em}.site-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.site-nav a{text-decoration:none}.site-nav a:not(.nav-call):hover{color:#70d0f2}.nav-call{padding:11px 17px;border:1px solid rgba(255,255,255,.45);border-radius:999px}.nav-call:hover{background:#fff;color:#071b2f}.nav-toggle{display:none;background:none;border:0;padding:9px}.nav-toggle span:not(.sr-only){display:block;width:25px;height:2px;background:#fff;margin:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{position:relative;min-height:780px;height:94vh;display:flex;align-items:center;overflow:hidden;background:var(--navy);color:#fff}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,29,.92) 0%,rgba(4,18,32,.77) 42%,rgba(4,18,32,.2) 76%),linear-gradient(0deg,rgba(4,18,32,.65),transparent 35%)}.hero-content{position:relative;padding-top:60px}.eyebrow{margin:0 0 14px;color:#7cd7f5;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.18em}.eyebrow.dark{color:#087bc1}.hero h1,.section h2,.closing h2{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.05;letter-spacing:-.045em;margin:0}.hero h1{max-width:760px;font-size:clamp(48px,7vw,88px)}.hero-lede{max-width:680px;margin:24px 0 28px;color:#dce8ef;font-size:21px;line-height:1.55}.button-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:13px 21px;border-radius:999px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button svg,.mobile-cta svg{width:19px;fill:none;stroke:currentColor;stroke-width:2}.button-primary{background:var(--orange);color:#fff}.button-primary:hover{background:#dc6510}.button-ghost{border:1px solid rgba(255,255,255,.48);color:#fff}.button-ghost:hover{background:#fff;color:var(--navy)}.button-dark{background:var(--navy);color:#fff}.button-dark:hover{background:var(--blue)}.microcopy{margin-top:16px;color:#b8cbd7;font-size:14px}.microcopy a{font-weight:700}.hero-card{position:absolute;right:0;bottom:0;width:min(390px,30vw);padding:27px 38px;background:#fff;color:var(--navy)}.hero-card span,.hero-card strong{display:block}.hero-card span{color:var(--blue);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.hero-card strong{margin-top:8px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:20px;line-height:1.3}.section{padding:110px 0}.split-heading{display:grid;grid-template-columns:1.1fr .8fr;gap:80px;align-items:end}.section h2{font-size:clamp(38px,5vw,62px);color:var(--navy)}.split-heading>p,.section-heading>p:last-child{margin:0;color:var(--muted);font-size:19px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}.service-card{position:relative;min-height:300px;padding:34px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.service-card:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:5px;background:linear-gradient(90deg,var(--blue),var(--sky));transform:scaleX(0);transform-origin:left;transition:transform .3s}.service-card:hover:before{transform:scaleX(1)}.service-card .number{color:#75bddd;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px;font-weight:800}.service-card h3{margin:76px 0 12px;color:var(--navy);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:25px;line-height:1.2}.service-card p{margin:0;color:var(--muted)}.projects{background:var(--navy);color:#fff}.projects h2{color:#fff}.section-heading{margin-bottom:45px}.section-heading>p:last-child{color:#aac0cf;margin-top:15px}.gallery{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:repeat(2,330px);gap:18px}.gallery figure{position:relative;margin:0;border-radius:18px;overflow:hidden}.gallery-main{grid-row:1/3}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery figure:hover img{transform:scale(1.025)}.gallery figure:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(3,15,27,.88))}.gallery figcaption{position:absolute;z-index:2;left:26px;right:26px;bottom:23px}.gallery figcaption span,.gallery figcaption strong{display:block}.gallery figcaption span{color:#75d2f3;font-size:11px;text-transform:uppercase;letter-spacing:.15em}.gallery figcaption strong{margin-top:3px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:19px}.about{background:var(--cream)}.about-grid{display:grid;grid-template-columns:.88fr 1fr;gap:90px;align-items:center}.portrait-wrap{position:relative}.portrait-wrap img{width:100%;height:650px;object-fit:cover;object-position:center 25%;border-radius:22px;box-shadow:var(--shadow)}.portrait-badge{position:absolute;right:-25px;bottom:35px;padding:19px 25px;background:var(--orange);color:#fff;box-shadow:0 12px 30px rgba(98,42,0,.2)}.portrait-badge span,.portrait-badge strong{display:block}.portrait-badge span{font-size:11px;text-transform:uppercase;letter-spacing:.13em}.portrait-badge strong{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px}.about-copy .lead{margin:27px 0 17px;color:#243647;font-size:21px;font-weight:600;line-height:1.5}.about-copy>p:not(.eyebrow):not(.lead){color:var(--muted)}.details{margin:34px 0;display:grid;gap:0;border-top:1px solid #ccd5d8}.details div{display:grid;grid-template-columns:120px 1fr;gap:15px;padding:13px 0;border-bottom:1px solid #ccd5d8}.details dt{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.details dd{margin:0;font-weight:700;color:var(--navy)}.text-link{color:var(--blue);font-weight:700;text-underline-offset:4px}.review-section{background:#0d60a0;color:#fff}.review-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px;align-items:center}.review-section h2{color:#fff;font-size:clamp(38px,4vw,56px)}.review-intro>p:last-child{margin-top:26px;color:#c9e0ef;font-size:14px;line-height:1.55}.review-section blockquote{margin:0;padding:46px;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);background:rgba(4,30,53,.22)}.stars{color:#ffd15b;letter-spacing:.18em}.review-section blockquote p{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:23px;line-height:1.55;letter-spacing:-.015em}.review-section blockquote footer{font-weight:700}.review-section blockquote footer span{display:block;color:#a9d6ef;font-size:13px;font-weight:500}.supplied-materials{display:flex;justify-content:flex-end;gap:14px;margin-top:34px}.supplied-materials figure{display:grid;grid-template-columns:72px minmax(0,250px);gap:14px;align-items:center;margin:0;padding:10px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(4,30,53,.18)}.supplied-materials img{width:72px;height:72px;object-fit:cover;border-radius:8px}.supplied-materials figcaption{color:#b9d5e5;font-size:11px;line-height:1.4}.hail{background:#fff}.hail-grid{display:grid;grid-template-columns:1fr .76fr;gap:100px;align-items:center}.check-list{list-style:none;margin:34px 0;padding:0}.check-list li{position:relative;padding:0 0 20px 42px}.check-list li:before{content:"✓";position:absolute;left:0;top:2px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#dff3fb;color:#087bc1;font-weight:800}.check-list strong,.check-list span{display:block}.check-list strong{color:var(--navy)}.check-list span{color:var(--muted);font-size:15px}.hail-card{margin:0;padding:14px 14px 19px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);transform:rotate(1.5deg);background:#fff}.hail-card img{width:100%;max-height:570px;object-fit:cover;object-position:top;border-radius:10px}.hail-card figcaption{padding:13px 9px 0;color:var(--muted);font-size:13px}.closing{position:relative;min-height:570px;display:flex;align-items:center;overflow:hidden;background:var(--navy);color:#fff}.closing>img{position:absolute;inset:0 0 0 auto;width:50%;height:100%;object-fit:cover;object-position:center;opacity:.7;mix-blend-mode:luminosity}.closing:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071b2f 0%,#071b2f 48%,rgba(7,27,47,.35) 76%,rgba(7,27,47,.15))}.closing-inner{position:relative;z-index:2}.closing h2{max-width:600px;color:#fff;font-size:clamp(44px,6vw,76px)}.closing p:not(.eyebrow){margin:20px 0 28px;color:#c7d8e3}.site-footer{padding:70px 0 25px;background:#041321;color:#c2d0da}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:70px}.footer-brand{color:#fff}.footer-grid>div:first-child>p{max-width:430px;color:#8198a8;font-size:14px}.footer-grid h2{margin:0 0 15px;color:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.13em}.footer-grid>div>a:not(.brand){display:block;margin:7px 0;font-size:14px;text-decoration:none}.footer-grid>div>a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:55px;padding-top:20px;border-top:1px solid #203342;color:#718999;font-size:12px}.mobile-cta{display:none}
@media(max-width:880px){:root{--shell:min(100% - 32px,680px)}body{font-size:16px}.nav-toggle{display:block}.site-nav{position:absolute;top:84px;left:0;right:0;display:none;padding:10px 20px 25px;background:rgba(7,27,47,.98);flex-direction:column;align-items:stretch;gap:4px}.nav-open .site-nav{display:flex}.site-nav a{padding:11px}.nav-call{text-align:center;margin-top:7px}.hero{min-height:720px;height:90vh}.hero-shade{background:linear-gradient(90deg,rgba(3,16,29,.9),rgba(3,16,29,.55)),linear-gradient(0deg,rgba(3,16,29,.7),transparent)}.hero h1{font-size:clamp(46px,11vw,70px)}.hero-lede{font-size:18px}.hero-card{display:none}.section{padding:78px 0}.split-heading,.about-grid,.review-grid,.hail-grid{grid-template-columns:1fr;gap:45px}.service-grid{grid-template-columns:1fr}.service-card{min-height:220px}.service-card h3{margin-top:42px}.gallery{grid-template-columns:1fr;grid-template-rows:440px 280px 280px}.gallery-main{grid-row:auto}.about-grid{gap:55px}.portrait-wrap img{height:600px}.portrait-badge{right:-8px}.review-grid,.hail-grid{gap:35px}.supplied-materials{justify-content:flex-start;flex-wrap:wrap}.review-section blockquote{padding:31px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/3}.closing>img{width:72%}.closing:after{background:linear-gradient(90deg,#071b2f 0%,rgba(7,27,47,.92) 55%,rgba(7,27,47,.35))}}
@media(max-width:560px){:root{--shell:calc(100% - 28px)}body{padding-bottom:64px}.header-inner{height:72px}.site-nav{top:72px}.brand strong{font-size:15px}.brand-mark{width:40px}.hero{min-height:680px;height:92svh;align-items:flex-end;padding-bottom:62px}.hero-image{object-position:63% center}.hero-shade{background:linear-gradient(0deg,rgba(3,16,29,.98) 0%,rgba(3,16,29,.76) 54%,rgba(3,16,29,.18) 100%)}.hero-content{padding-top:100px}.hero h1{font-size:clamp(42px,13vw,60px)}.hero-lede{font-size:17px;margin:19px 0 23px}.button-row{align-items:stretch}.hero .button{flex:1}.microcopy{display:none}.section{padding:66px 0}.section h2{font-size:38px}.gallery{grid-template-rows:350px 240px 240px}.portrait-wrap img{height:470px}.portrait-badge{bottom:20px;padding:15px 17px}.about-copy .lead{font-size:19px}.details div{grid-template-columns:95px 1fr}.review-section blockquote{padding:24px}.review-section blockquote p{font-size:18px}.supplied-materials{display:grid}.supplied-materials figure{grid-template-columns:62px 1fr}.supplied-materials img{width:62px;height:62px}.hail-card{transform:none}.closing{min-height:520px}.closing>img{width:100%;opacity:.4}.closing:after{background:rgba(7,27,47,.72)}.closing h2{font-size:48px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:0}.mobile-cta{position:fixed;z-index:99;left:12px;right:12px;bottom:10px;height:52px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;background:var(--orange);color:#fff;font-weight:800;text-decoration:none;box-shadow:0 8px 25px rgba(7,27,47,.35)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.button:hover{transform:none}.gallery figure:hover img{transform:none}}