:root{--cream:#f7f4ed;--navy:#10283e;--wood:#9e6b44;--muted:#59626a;--sand:#efe8dd;--line:#d9d2c6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--navy);font-family:Arial,Helvetica,sans-serif;line-height:1.6}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{outline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--wood)}p{margin:0 0 22px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1;margin:0 0 26px;letter-spacing:-.035em}h1{font-size:clamp(46px,4.85vw,78px);max-width:540px}h2{font-size:clamp(35px,3.7vw,56px)}h3{font-size:clamp(25px,2.1vw,32px);letter-spacing:-.025em;margin:20px 0 12px}header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:12px 5.5%;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;background:var(--cream)}.brand{display:block;width:225px;flex-shrink:0}.brand img{mix-blend-mode:multiply}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a:hover,.underlink:hover,.email-link:hover{color:var(--wood)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--navy);color:white;padding:18px 26px;border:0;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s}.button:hover{background:#284c64;color:white}.button.wood{background:var(--wood)}.button.wood:hover{background:#805231}.button.light{background:var(--cream);color:var(--navy)}.hero{display:grid;grid-template-columns:40% 60%;max-width:1800px;margin:auto}.hero-copy{padding:65px 10% 60px 13.75%;align-self:center}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;color:var(--wood);margin-bottom:26px}.rule{height:2px;width:48px;background:var(--wood);margin:0 0 25px}.lead{font-size:23px;line-height:1.5}.underlink{display:table;border-bottom:1px solid var(--wood);margin-top:20px;font-size:15px}.hero-photo{margin:0;position:relative;min-height:650px}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-photo figcaption{position:absolute;right:14px;bottom:10px;color:white;font-size:10px;text-shadow:0 1px 4px #000;background:#10283e88;padding:3px 8px}.section{padding:70px 5.5%;max-width:1600px;margin:auto}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.services img{width:100%;aspect-ratio:1.25;object-fit:cover}.services h3{display:flex;justify-content:space-between;gap:10px}.services h3 span{color:var(--wood);font-size:23px}.services p{color:var(--muted);font-size:15px}.services a:hover img{filter:brightness(.96)}.service-note{padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:22px;margin-top:25px;font-size:14px}.service-note p{margin:0}.service-note p:first-child{font-weight:bold}.service-note a{margin-left:auto;border-bottom:1px solid var(--wood);white-space:nowrap}.caption{font-size:12px;color:var(--muted);margin:14px 0 0}.projects{background:var(--sand);max-width:none}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.section-intro>p{max-width:300px;color:var(--muted)}figure{margin:0}.projects figure{max-width:1400px;margin:10px auto 0}.projects figure img{width:100%;height:auto}.projects figcaption{font-size:12px;margin-top:12px;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr}.about>img{height:100%;width:100%;object-fit:cover;min-height:520px}.about>div{padding:75px 12%;align-self:center}.about h2{max-width:330px}.about details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:30px 0}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:15px}summary::-webkit-details-marker{display:none}summary span{font-size:22px;color:var(--wood)}details[open] summary{margin-bottom:20px}details[open] summary span{transform:rotate(45deg)}details p{font-size:15px;color:var(--muted)}details p:last-child{margin:0}.coast{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--navy)}.coast>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}.coast:after{content:'';position:absolute;inset:0;background:#10283e80}.coast>div{position:relative;z-index:1;padding:65px 20px;color:white}.coast h2{max-width:650px;margin:0 auto 30px}.coast .eyebrow{color:var(--cream)}.estimate{display:grid;grid-template-columns:1fr 1.15fr;gap:9%;padding-top:85px;padding-bottom:85px}.estimate>div>p:not(.eyebrow){max-width:440px}.contact-link{display:block;font-family:Georgia,serif;font-size:30px;margin-top:25px}.email-link{display:inline-block;border-bottom:1px solid var(--wood);overflow-wrap:anywhere}form{background:var(--sand);padding:32px}label{display:block;font-size:13px;font-weight:bold;margin-bottom:18px}input,textarea,select{display:block;width:100%;border:1px solid #c8c0b5;padding:12px;margin-top:7px;background:var(--cream);border-radius:0;color:var(--navy);min-width:0;font-size:15px}textarea{resize:vertical}.optional{font-weight:normal;color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}form .button{width:100%}#form-status{font-size:13px;margin-top:15px}footer{border-top:1px solid var(--line);padding:28px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:40px}footer>div{text-align:right}footer nav{justify-content:flex-end}footer p{font-size:12px;margin:15px 0 0;color:var(--muted)}.menu{display:none}.skip{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:30}.skip:focus{top:8px}@media(min-width:1600px){.hero-copy{padding-left:85px}}@media(max-width:1000px){header{gap:20px}.brand{width:190px}nav{gap:18px}.hero-copy{padding:45px 8% 45px 12%}.hero-photo{min-height:600px}.lead{font-size:20px}.service-note{flex-wrap:wrap}.service-note a{margin-left:0}.about>div{padding:55px 9%}.estimate{gap:5%}}@media(max-width:760px){html{scroll-padding-top:95px}header{padding:10px 6%;flex-wrap:wrap}.brand{width:175px}.menu{display:flex;gap:15px;background:transparent;border:1px solid var(--line);padding:9px 12px;color:var(--navy);font-size:13px}header nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:10px 0}header nav.open{display:flex}header nav>a{padding:12px 0}header nav .button{padding:15px;margin-top:8px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6%}.hero-copy h1{max-width:530px}.hero-photo{min-height:0;aspect-ratio:1.25}.hero-photo img{object-position:center}.section{padding:48px 6%}.services{grid-template-columns:1fr;gap:30px}.services img{aspect-ratio:1.45}.services h3{font-size:30px}.services p{margin-bottom:0}.service-note{display:block}.service-note p{margin:0 0 8px}.service-note a{display:table;margin-top:12px}.section-intro{display:block}.section-intro>p{max-width:none}.about{grid-template-columns:1fr}.about>img{min-height:0;aspect-ratio:1.4;object-fit:cover}.about>div{padding:48px 6%}.about h2{max-width:none}.coast{min-height:360px}.estimate{grid-template-columns:1fr;gap:30px}form{padding:24px}.form-row{grid-template-columns:1fr;gap:0}footer{display:block;padding:30px 6%}footer .brand{margin-bottom:25px}footer>div{text-align:left}footer nav{justify-content:flex-start;gap:23px;flex-wrap:wrap}.email-link{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
