:root{--navy:#213847;--navy-dark:#142832;--cream:#f6f3ec;--sand:#e9e2d5;--white:#fff;--text:#263337;--muted:#657176;--line:#d8d5cc;--orange:#bf673b;--font:"Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--text);font-family:var(--font);margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{display:block}.site-header{z-index:10;border-bottom:1px solid var(--line);background:#fffffff5;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding:14px clamp(20px,5vw,72px);display:grid;position:sticky;top:0}.brand{flex-direction:column;align-items:center;width:fit-content;line-height:1;display:flex}.brand-logo-wrap{width:220px;height:52px;display:block;overflow:hidden}.brand-logo{width:100%;height:auto;transform:translateY(-9px)}.brand small{color:var(--muted);margin-top:1px;font-size:12px;line-height:1.2}.site-header nav{gap:26px;font-size:14px;font-weight:600;display:flex}.site-header nav a:hover,.site-header nav .message-nav{color:var(--orange)}.header-actions{justify-self:end;align-items:center;gap:9px;display:flex}.header-message{color:var(--orange);border:1px solid var(--orange);white-space:nowrap;border-radius:3px;gap:.25em;padding:9px 13px;font-size:13px;font-weight:800;display:none}.header-message:hover{color:#fff;background:var(--orange)}.header-phone{color:#fff;background:var(--navy);white-space:nowrap;border-radius:3px;padding:10px 15px;font-size:14px;font-weight:700}.hero{background:var(--cream);grid-template-columns:.92fr 1.08fr;min-height:680px;display:grid}.hero-copy{flex-direction:column;justify-content:center;padding:80px clamp(28px,6vw,96px);display:flex}.local-label,.kicker{color:var(--orange);text-transform:uppercase;letter-spacing:.12em;margin:0 0 18px;font-size:12px;font-weight:800}h1,h2,h3{letter-spacing:-.025em;margin:0;line-height:1.15}h1{max-width:620px;color:var(--navy-dark);font-size:clamp(52px,6.2vw,88px)}.hero-lead{max-width:620px;color:var(--muted);margin:26px 0 30px;font-size:clamp(18px,1.5vw,21px)}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.button{border-radius:3px;justify-content:center;align-items:center;gap:15px;padding:14px 20px;font-size:15px;font-weight:800;display:inline-flex}.button.primary{color:#fff;background:var(--orange)}.button.primary:hover{background:#a9532d}.button.secondary{border:1px solid var(--navy);color:var(--navy)}.small-note{max-width:480px;color:var(--muted);margin:28px 0 0;font-size:14px}.hero-photo{background:var(--sand);border-radius:4px;min-height:520px;margin:32px 32px 32px 0;position:relative;overflow:hidden}.hero-photo img{object-fit:cover;object-position:center 48%}.photo-label{color:#fff;background:#142832db;border-radius:2px;padding:8px 11px;font-size:12px;font-weight:700;position:absolute;bottom:16px;right:16px}.trust-strip{color:#fff;background:var(--navy);grid-template-columns:repeat(3,1fr);padding:25px clamp(28px,7vw,108px);display:grid}.trust-strip p{border-left:1px solid #ffffff2e;flex-direction:column;margin:0;padding:0 35px;display:flex}.trust-strip p:first-child{border-left:0;padding-left:0}.trust-strip strong{font-size:17px}.trust-strip span{color:#ffffffa3;font-size:13px}.section{padding:100px clamp(28px,7vw,108px)}.section-heading{grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(40px,8vw,130px);display:grid}.section-heading h2,.about h2,.contact h2{max-width:820px;color:var(--navy-dark);font-size:clamp(38px,4.7vw,66px)}.service-list{border-top:1px solid var(--line);margin-top:70px}.service-list article{border-bottom:1px solid var(--line);grid-template-columns:80px .8fr;gap:30px;padding:28px 0;display:grid}.service-list article>span{color:var(--orange);padding-top:5px;font-size:13px;font-weight:800}.service-list h3{color:var(--navy);margin-bottom:7px;font-size:26px}.service-list p{max-width:620px;color:var(--muted);margin:0}.work{background:#fff}.work-heading{grid-template-columns:1fr auto;align-items:end}.work-heading a,.inline-link{color:var(--navy);border-bottom:1px solid var(--navy);white-space:nowrap;font-size:14px;font-weight:800}.project-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:340px;gap:12px;margin-top:52px;display:grid}.project-grid figure{background:var(--sand);border-radius:3px;margin:0;position:relative;overflow:hidden}.project-grid img{object-fit:cover}.project-caption{color:var(--muted);margin:14px 0 0;font-size:13px}.about{background:var(--sand);grid-template-columns:.85fr 1.15fr;gap:clamp(55px,10vw,160px);display:grid}.about-copy{color:#4e5d61;max-width:720px;padding-top:8px;font-size:18px}.about-copy p{margin:0 0 22px}.about-copy .inline-link{margin-top:13px;display:inline-block}.contact{color:#fff;background:var(--navy-dark);grid-template-columns:.85fr 1.15fr;gap:clamp(60px,10vw,150px);display:grid}.contact h2{color:#fff}.contact-details>p:not(.kicker){color:#ffffffad;max-width:500px;margin:22px 0 34px;font-size:17px}.contact address{flex-direction:column;gap:17px;font-style:normal;display:flex}.contact address a,.contact address p{flex-direction:column;margin:0;display:flex}.contact address span{color:#ffffff7a;text-transform:uppercase;letter-spacing:.09em;font-size:12px}.contact address strong{font-size:16px}.contact-form{flex-direction:column;gap:24px;padding-top:5px;scroll-margin-top:120px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contact-form label{color:#ffffffbd;flex-direction:column;gap:7px;font-size:14px;display:flex}.contact-form label span{opacity:.62}.contact-form input,.contact-form textarea{color:#fff;background:#ffffff0b;border:1px solid #ffffff38;border-radius:3px;outline:none;width:100%;padding:12px 13px}.contact-form input:focus,.contact-form textarea:focus{border-color:#e2a27e}.contact-form textarea{resize:vertical;min-height:130px}.contact-form textarea::placeholder{color:#ffffff4d}.website-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-footer{grid-template-columns:auto 1fr;align-items:center;gap:20px;display:grid}.contact-form button{color:#fff;background:var(--orange);cursor:pointer;border:0;border-radius:3px;justify-content:space-between;align-items:center;gap:35px;padding:14px 18px;font-weight:800;display:inline-flex}.contact-form button:hover{background:#a9532d}.contact-form button:disabled{opacity:.65;cursor:wait}.form-status{color:#ffffffa6;min-height:22px;margin:0;font-size:13px}.form-status.sent{color:#b8dbb9}.form-status.error{color:#f0b7ad}footer{color:#ffffffb8;background:#0c1b22;grid-template-columns:1.2fr 1fr 1fr;align-items:start;gap:40px;padding:38px clamp(28px,7vw,108px);font-size:14px;display:grid}.footer-brand,footer>div:nth-child(2){flex-direction:column;display:flex}.footer-brand strong{color:#fff;font-size:18px}.footer-brand span{color:#ffffff75}footer>div:nth-child(2) a:hover{color:#fff}footer p{margin:0}@media (max-width:900px){.site-header{grid-template-columns:1fr auto;gap:16px}.site-header nav{display:none}.header-message{display:inline-flex}.hero{grid-template-columns:1fr}.hero-copy{padding-top:70px;padding-bottom:50px}.hero-photo{min-height:560px;margin:0 24px 24px}.section-heading,.about,.contact{grid-template-columns:1fr}.section-heading{gap:25px}.work-heading{grid-template-columns:1fr}.work-heading a{width:fit-content;margin-top:10px}.about,.contact{gap:48px}footer{grid-template-columns:1fr 1fr}footer p{grid-column:1/-1}}@media (max-width:620px){.site-header{padding:11px 16px}.brand-logo-wrap{width:155px;height:40px}.brand-logo{transform:translateY(-8px)}.brand small{display:none}.header-actions{gap:6px}.header-message,.header-phone{padding:8px 9px;font-size:11px}.hero-copy{padding:56px 22px 42px}h1{font-size:44px}.hero-photo{min-height:430px;margin:0 16px 16px}.trust-strip{grid-template-columns:1fr;padding:10px 22px}.trust-strip p,.trust-strip p:first-child{border-top:1px solid #ffffff26;border-left:0;padding:14px 0}.trust-strip p:first-child{border-top:0}.section{padding:72px 22px}.section-heading h2,.about h2,.contact h2{font-size:38px}.service-list{margin-top:45px}.service-list article{grid-template-columns:40px 1fr;gap:10px}.service-list h3{font-size:23px}.project-grid{grid-template-columns:1fr;grid-auto-rows:300px}.form-row,.form-footer{grid-template-columns:1fr}.contact-form button{width:100%}footer{grid-template-columns:1fr}footer p{grid-column:auto}}@media (max-width:460px){.header-message-prefix{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
