:root{--navy:#183153;--navy-deep:#122641;--cream:#F0E9DE;--white:#fff;--ink:#1d2b3b;--muted:#5e6b79;--line:#d6dce0;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.55}img{display:block;max-width:100%}a{color:inherit}button{font:inherit}section[id],div[id]{scroll-margin-top:98px}.shell{width:min(100% - 80px,1380px);margin-inline:auto}.skip-link{position:absolute;left:12px;top:-80px;background:#fff;color:var(--navy);padding:10px;z-index:20}.skip-link:focus{top:12px}.topline{height:30px;background:var(--navy);color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.topline .shell{height:100%;display:flex;justify-content:space-between;align-items:center}.topline a{text-decoration:none}.site-header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e8e8e8}.header-inner{height:90px;display:flex;align-items:center;gap:45px}.brand{display:block;width:220px;flex:none}.brand img{width:100%;height:auto}.nav{display:flex;gap:37px;align-items:center;margin-left:auto}.nav a{text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.03em}.nav a:hover,.footer a:hover{color:#7187a4}.button{min-height:50px;padding:13px 22px;display:inline-flex;gap:28px;align-items:center;justify-content:space-between;text-decoration:none;text-align:left;border:1px solid transparent;border-radius:2px;font-weight:700;font-size:13px;letter-spacing:.025em;line-height:1.2;cursor:pointer;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:17px;font-weight:400}.button-navy{background:var(--navy);color:#fff}.button-navy:hover{background:var(--navy-deep)}.button-cream{background:var(--cream);color:var(--navy)}.button-cream:hover{background:#fff}.button-outline{border-color:var(--navy);color:var(--navy);background:transparent}.button-outline:hover{background:var(--navy);color:#fff}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:49% 51%;min-height:650px}.hero-copy{background:var(--navy);color:#fff;position:relative;overflow:hidden;display:flex;align-items:center}.hero-copy-inner{padding:85px 8vw 90px max(40px,calc((100vw - 1380px)/2));max-width:710px;position:relative;z-index:1}.eyebrow{margin:0 0 24px;text-transform:uppercase;color:var(--navy);font-size:11px;letter-spacing:.19em;font-weight:800}.eyebrow.light{color:#b9c8d8}.hero h1,.display{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.07}.hero h1{font-size:clamp(57px,5.1vw,90px);margin:0;max-width:680px}.hero h1 em{font-weight:400;font-style:italic;color:var(--cream)}.hero-intro{font-size:18px;line-height:1.62;color:#e1e8ef;max-width:510px;margin:29px 0 32px}.hero-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.under-link{text-decoration:none;display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid var(--navy);padding-bottom:7px;font-size:13px;font-weight:700;letter-spacing:.035em;color:var(--navy)}.under-link span{font-size:19px;font-weight:400}.light-link{color:#fff;border-color:rgba(255,255,255,.65)}.roofline{position:absolute;bottom:-2px;right:0;width:330px;stroke:#426080;fill:none;stroke-width:1.2;opacity:.42}.hero-image{position:relative;min-height:650px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.image-label{position:absolute;bottom:23px;right:25px;background:rgba(255,255,255,.95);color:var(--navy);padding:9px 13px;font-size:10px;font-weight:800;letter-spacing:.13em}.section-pad{padding:112px 0}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1.45fr .65fr;gap:12%}.display{font-size:clamp(43px,4vw,68px);margin:0}.intro .display{max-width:780px}.intro-right{padding-top:67px}.intro-right p,.section-heading>p,.storm-grid>div:nth-child(2) p{font-size:18px;color:var(--muted);line-height:1.72;margin:0 0 26px}.work{background:#f5f4f1}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:8%;margin-bottom:47px}.section-heading>p{max-width:360px;margin:0 0 5px}.work-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:18px;height:650px}.work-grid figure{margin:0;position:relative;overflow:hidden;background:#d9dedf}.work-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.work-grid figure:hover img{transform:scale(1.025)}.work-feature img{object-position:50% 40%}.work-stack{display:grid;grid-template-rows:1fr 1fr;gap:18px;min-height:0}.work-stack figure{min-height:0}.work-grid figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(6,20,34,.78));color:#fff;padding:45px 25px 18px;display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.11em}.work-grid figcaption span:last-child{font-size:20px;font-weight:400}.work-note{font-size:13px;color:#687585;margin:20px 0 0}.services{background:#fff}.services .section-heading>p{max-width:390px}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:110px 1fr 190px;gap:25px;align-items:center;border-bottom:1px solid var(--line);padding:33px 0}.row-number{color:#8a9bad;font-size:12px;font-weight:800;letter-spacing:.18em;align-self:start;padding-top:10px}.service-row h3{font-family:var(--serif);font-weight:400;font-size:clamp(31px,2.5vw,43px);line-height:1.15;letter-spacing:-.03em;margin:0 0 8px}.service-row p{font-size:15px;color:var(--muted);margin:0}.service-row a{font-size:13px;text-decoration:none;color:var(--navy);font-weight:700;justify-self:end;white-space:nowrap}.service-row a span{margin-left:16px;font-size:18px;font-weight:400}.approach{display:grid;grid-template-columns:50% 50%;min-height:720px}.approach-image{overflow:hidden}.approach-image img{width:100%;height:100%;object-fit:cover}.approach-copy{background:var(--navy-deep);color:#fff;display:flex;align-items:center}.approach-inner{padding:100px clamp(40px,7vw,110px);max-width:740px}.approach .display{font-size:clamp(45px,4vw,68px);max-width:600px}.steps{margin:40px 0}.steps>div{display:grid;grid-template-columns:50px 1fr;border-top:1px solid rgba(255,255,255,.24);padding:18px 0}.steps span{font-size:12px;letter-spacing:.12em;color:#a8bacb}.steps h3{margin:0 0 5px;font-size:16px}.steps p{margin:0;color:#cbd7e2;font-size:14px;line-height:1.55}.storm{background:var(--cream)}.storm-grid{display:grid;grid-template-columns:1fr .77fr;gap:14%}.storm-grid .display{max-width:690px}.storm-grid>div:nth-child(2){padding-top:50px}.storm-grid>div:nth-child(2) p{color:#4e5f6d}.area{background:var(--navy);color:#fff}.area-grid{display:grid;grid-template-columns:200px 1fr;gap:10%}.area .display{max-width:850px}.area p:not(.eyebrow){font-size:16px;color:#d7e1e9;margin:25px 0 0;max-width:860px;line-height:1.7}.contact{background:#f8f8f7}.contact-heading{margin-bottom:42px}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.contact-card{padding:40px;min-height:330px}.main-card{background:var(--navy);color:#fff}.side-card{background:#fff;border:1px solid var(--line)}.card-index{font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:.16em;opacity:.7}.contact-card h3{font-family:var(--serif);font-size:42px;line-height:1.1;letter-spacing:-.035em;font-weight:400;margin:30px 0 14px}.contact-card p{font-size:16px;line-height:1.6;max-width:500px;margin:0 0 25px}.main-card p{color:#d8e2ea}.contact-card .button{margin:0 20px 18px 0}.main-card .button:disabled{opacity:.6;cursor:not-allowed;transform:none}.contact-card .setup-note{font-size:13px;opacity:.83;margin:0}.side-card .under-link{margin-left:5px}.footer{background:#fff}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;padding:70px 0}.footer-top img{width:195px}.footer-top p{font-size:13px;color:var(--muted);margin:15px 0 0}.footer-links,.footer-info{display:flex;flex-direction:column;gap:10px}.footer-links a,.footer-info a{text-decoration:none;font-size:14px}.footer-info{align-items:flex-start}.footer-info a:first-child{font-weight:700}.footer-bottom{border-top:1px solid var(--line);padding:22px 0 30px;display:flex;justify-content:space-between;color:#7c8791;font-size:11px;text-transform:uppercase;letter-spacing:.11em}
.google-link{display:block;font-size:13px;color:var(--muted);text-decoration:none;margin-top:28px}.google-link:hover{text-decoration:underline}.google-link span{color:var(--navy);margin-left:4px}
@media(max-width:1100px){.header-inner{gap:20px}.brand{width:180px}.nav{gap:21px}.hero-copy-inner{padding-right:5vw}.hero h1{font-size:clamp(52px,5vw,72px)}.work-grid{height:570px}}
@media(max-width:800px){.shell{width:min(100% - 36px,650px)}.topline{height:26px;font-size:9px}.header-inner{height:72px}.brand{width:168px}.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:none;border:0;margin-left:auto;cursor:pointer}.menu-toggle span{height:2px;background:var(--navy);width:25px}.nav{display:none;position:absolute;top:72px;left:0;right:0;margin:0;padding:20px 24px 25px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(0,0,0,.08);flex-direction:column;align-items:stretch;gap:15px}.nav.open{display:flex}.nav a{font-size:16px;padding:3px 0}.hero{display:flex;flex-direction:column-reverse}.hero-image{height:380px;min-height:0}.hero-copy-inner{padding:65px 22px 75px}.hero h1{font-size:clamp(52px,10vw,74px)}.hero-intro{font-size:17px}.section-pad{padding:75px 0}.intro-grid,.storm-grid,.area-grid{grid-template-columns:1fr;gap:25px}.intro-right,.storm-grid>div:nth-child(2){padding-top:0}.section-heading{display:block}.section-heading>p{margin-top:24px}.work-grid{height:auto;grid-template-columns:1fr}.work-feature{height:470px}.work-stack{height:520px}.service-row{grid-template-columns:55px 1fr;gap:10px}.service-row a{grid-column:2;justify-self:start;margin-top:10px}.approach{grid-template-columns:1fr}.approach-image{height:430px}.approach-inner{padding:75px 24px}.contact-grid{grid-template-columns:1fr}.contact-card{min-height:auto}.footer-top{grid-template-columns:1fr 1fr}.footer-bottom{gap:15px}}
@media(max-width:540px){.topline .shell span:first-child{max-width:55%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-image{height:300px}.hero-copy-inner{padding:54px 20px 68px}.hero h1{font-size:51px}.hero-actions{align-items:stretch;gap:22px}.hero-actions .button{width:100%}.display{font-size:42px}.intro-right p,.section-heading>p,.storm-grid>div:nth-child(2) p{font-size:16px}.work-feature{height:410px}.work-stack{height:430px}.work-grid figcaption{font-size:10px}.service-row{grid-template-columns:35px 1fr;padding:29px 0}.service-row h3{font-size:31px}.approach-image{height:330px}.approach .display{font-size:44px}.area-grid{gap:15px}.contact-card{padding:29px}.contact-card h3{font-size:37px}.contact-card .button{width:100%}.side-card .under-link{margin:5px 0 0}.footer-top{grid-template-columns:1fr;gap:30px;padding:55px 0}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.work-grid img{transition:none}}
.legal-header{border-bottom:1px solid var(--line);background:#fff}.legal-header .shell{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.legal-header img{width:180px;height:auto}.legal-header a:last-child{font-size:14px;font-weight:700;text-decoration:none;color:var(--navy)}.legal-page{max-width:860px;padding-top:72px;padding-bottom:100px}.legal-page h1{font-family:var(--serif);font-size:clamp(46px,6vw,70px);font-weight:400;line-height:1.08;color:var(--navy);margin:0 0 12px}.legal-date{font-size:13px;color:var(--muted);margin-bottom:40px!important}.legal-page h2{font-family:var(--serif);font-size:30px;font-weight:400;color:var(--navy);margin:40px 0 12px}.legal-page p{font-size:17px;line-height:1.7;margin:0 0 19px}.legal-page a{color:var(--navy);text-underline-offset:3px}.legal-footer{border-top:1px solid var(--line);padding:25px 0;color:var(--muted);font-size:13px}.legal-footer .shell{display:flex;gap:25px;flex-wrap:wrap}.legal-footer a{text-decoration:none;color:var(--navy)}
