@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;1,400&display=swap');
:root{--navy:#0b233e;--gold:#a17c42;--cream:#f5f4ef;--muted:#5c6570;--line:#dce0e3;--gutter:7%}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:white;color:var(--navy);font:16px/1.6 'DM Sans',Arial,sans-serif}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.skip{position:absolute;left:12px;top:-80px;padding:10px;background:white;z-index:10}.skip:focus{top:10px}
header{min-height:126px;padding:10px var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;border-bottom:1px solid var(--line)}
.brand-logo{display:block;width:154px}.logo-window{display:block;width:154px;height:104px;overflow:hidden}.logo-window img{display:block;width:100%;height:100%;object-fit:contain}
nav{display:flex;gap:34px;font-size:14px}nav a:hover,.text-link:hover{color:var(--gold)}header>.button{justify-self:end}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid var(--navy);background:var(--navy);padding:16px 23px;color:white;font-size:14px;cursor:pointer}.button:hover{background:#183957}.button.small{padding:12px 19px;gap:25px}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.1;letter-spacing:-2px}h1{font-size:clamp(44px,4.7vw,68px);margin-bottom:25px}h2{font-size:49px;margin-bottom:0}h3{font-size:19px;line-height:1.3;font-weight:500}em{font-weight:400;color:var(--gold)}
.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.hero-copy{padding:52px 11% 52px 14%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:700;margin:0 0 24px;color:var(--gold)}.intro{max-width:410px;color:var(--muted);font-size:17px;margin-bottom:30px}.hero-phone,.hero-email{display:block;font-size:14px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.hero-phone{margin-top:23px;font-weight:600}.hero-email{margin-top:7px}.hero-note{font-size:11px;color:var(--muted);margin:12px 0 0}.hero-photo{min-height:460px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.section{padding:60px var(--gutter)}.simple-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px;margin-top:35px}.simple-services article>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}.service-copy{padding-top:20px}.simple-services h3{margin-bottom:10px}.simple-services p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}.fine{font-size:11px;color:var(--muted);margin:20px 0 0}
.contact{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.contact-copy h2{margin-bottom:24px}.contact-copy>p{font-size:14px;color:var(--muted);margin:22px 0}.contact-phone,.contact-email{display:block;font-size:18px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.contact-phone{margin-bottom:8px;font-weight:600}.text-link{font-size:13px;border-bottom:1px solid var(--gold);padding-bottom:7px}.contact-form{padding:28px;background:white;min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;font-size:13px;font-weight:600;margin-bottom:18px}.contact-form input,.contact-form textarea{display:block;width:100%;min-width:0;border:1px solid #cbd0d5;background:#fff;border-radius:0;padding:12px 10px;color:var(--navy);font-size:16px;margin-top:7px}.contact-form input{height:48px}.contact-form textarea{resize:vertical}.contact-form>.button{width:100%}.contact-form .fine{line-height:1.6}.contact-form .fine a{text-decoration:underline}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
footer{background:var(--navy);color:#fff;padding:30px var(--gutter) 25px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}footer>p{font-size:12px;color:#c9d1da;margin:0}footer>a:last-of-type{font-size:12px}.footer-logo{display:none}.footer-bottom{width:100%;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #35465a;padding-top:24px;font-size:10px;color:#b9c3ce;flex-wrap:wrap}.footer-contact{display:flex;gap:16px;flex-wrap:wrap}
@media(min-width:1600px){body{max-width:1700px;margin:auto}}
@media(min-width:701px) and (max-width:1150px){header{gap:16px}nav{gap:20px}.contact{gap:36px}.simple-services{grid-template-columns:repeat(2,minmax(0,1fr))}.contact .form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:700px){header{min-height:102px;grid-template-columns:1fr auto;gap:12px}.brand-logo,.logo-window{width:124px}.logo-window{height:84px}nav{display:none}.button.small{font-size:11px;padding:11px 13px;gap:15px}.hero{grid-template-columns:1fr}.hero-copy{padding:35px var(--gutter)}h1{font-size:45px}.intro{font-size:15px}.hero-photo{height:280px;min-height:0}.section{padding:40px var(--gutter)}h2{font-size:34px}.simple-services{grid-template-columns:1fr;gap:32px;margin-top:25px}.contact{grid-template-columns:1fr;gap:20px}.contact-form{padding:22px}.contact-email{font-size:17px}.hero-email{font-size:13px}.form-row{grid-template-columns:1fr;gap:0}footer{padding:42px var(--gutter) 25px}footer>p{font-size:11px}.footer-bottom{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
