@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap");:root{--navy:#102b3d;--ivory:#f5f0e7;--paper:#fffdf8;--copper:#a55738;--line:#cfc8bc;--sans:"DM Sans",sans-serif;--serif:"Libre Caslon Display",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--navy);font-family:var(--sans);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}:focus-visible{outline:3px solid #d88a60;outline-offset:3px}img{object-fit:cover}.header{height:92px;padding:10px max(3vw,24px);display:flex;align-items:center;gap:40px;background:linear-gradient(180deg,rgba(6,24,35,.7),transparent);position:absolute;inset:0 0 auto;z-index:20;color:#fff}.logo{width:176px;height:66px;display:block}.logo img{width:100%;height:100%;object-fit:contain;object-position:left center}.header nav{display:flex;gap:34px;margin-left:auto;font-size:14px;font-weight:600}.header nav a{padding:12px 0;border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--copper)}.call,.primary,.secondary{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 24px;font-size:14px;font-weight:600}.call,.primary{background:var(--copper);color:#fff}.call:hover,.primary:hover{background:#89442c}.menu{display:none}.hero{min-height:100svh;height:760px;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.hero>img{object-position:center 58%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,35,.78),rgba(6,24,35,.52) 48%,rgba(6,24,35,.2))}.heroCopy{position:relative;z-index:2;width:min(1240px,calc(100% - 8vw));margin:0 auto;padding:0 0 10vh}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:600;margin:0 0 18px}.about h2,.contact h2,.hero h1,.section h2,.work h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:.94;margin:0}.hero h1{font-size:clamp(54px,7.2vw,108px);max-width:1050px}.hero h1 em{font-weight:400;color:#e2b091}.lead{font-size:18px;max-width:470px;margin:26px 0}.actions{display:flex;gap:12px}.secondary{border:1px solid hsla(0,0%,100%,.65);color:#fff}.secondary:hover{background:#fff;color:var(--navy)}.photoLabel{position:absolute;right:4vw;bottom:28px;z-index:2;font-size:11px;letter-spacing:.14em}.photoLabel,.trust{text-transform:uppercase}.trust{min-height:86px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;gap:7vw;font-size:12px;letter-spacing:.11em}.trust span:before{content:"—";color:#c77b57;margin-right:20px}.section{max-width:1240px;margin:auto;padding:120px 24px}.services{display:grid;grid-template-columns:1fr 1.05fr;grid-gap:10vw;gap:10vw}.copper{color:var(--copper)}.about h2,.contact h2,.section h2,.work h2{font-size:clamp(44px,5vw,74px)}.serviceList{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:42px 1fr 24px;align-items:center;min-height:86px;border-bottom:1px solid var(--line)}.service span{font-size:11px;color:var(--copper)}.service h3{font-family:var(--serif);font-size:27px;font-weight:400;margin:0}.service i{font-style:normal;font-size:18px}.work{background:var(--navy);color:#fff;padding:1px 0 110px;overflow:hidden}.workHead{display:flex;justify-content:space-between;align-items:flex-end}.workHead>p{max-width:390px;color:#cbd3d8}.projectRail{width:calc(100% - 48px);max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:26px;gap:26px}.project{width:auto;margin:0}.projectCompare{grid-column:1/-1}.projectImg{aspect-ratio:4/3;position:relative;overflow:hidden}.projectImg img{transition:transform .5s ease}.compareImg{display:grid;grid-template-columns:1fr 1fr}.comparePanel{position:relative;min-width:0;overflow:hidden}.comparePanel+.comparePanel{border-left:1px solid hsla(39,41%,93%,.75)}.comparePanel img{object-fit:cover}.compareBefore img{object-position:82% 28%}.compareAfter img{object-position:92% 50%}.compareLabel{position:absolute;z-index:2;top:14px;padding:6px 10px;background:var(--ivory);color:var(--navy);font-size:10px;font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:.13em}.compareBefore .compareLabel{left:14px}.compareAfter .compareLabel{right:14px;background:var(--copper);color:#fff}.project:hover img{transform:scale(1.025)}.project figcaption{display:flex;justify-content:space-between;padding:18px 0}.project figcaption b{font-family:var(--serif);font-size:22px;font-weight:400}.project figcaption span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#bdc7cd}.process{display:grid;grid-template-columns:1fr 1fr;grid-gap:10vw;gap:10vw}.process ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.process li{display:grid;grid-template-columns:60px 1fr;grid-gap:18px;gap:18px;padding:28px 0;border-bottom:1px solid var(--line)}.process li>span{font-size:11px;color:var(--copper)}.process h3{font-family:var(--serif);font-size:27px;font-weight:400;margin:0 0 5px}.process p{margin:0;color:#53636d}.faq{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:10vw;gap:10vw}.faqList{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:0}.faq summary{cursor:pointer;font-family:var(--serif);font-size:24px;line-height:1.25;padding:26px 40px 26px 0;position:relative;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:4px;color:var(--copper)}.faq details[open] summary:after{content:"−"}.faq details p{margin:-8px 40px 26px 0;color:#53636d;max-width:650px}.about{display:grid;grid-template-columns:1.05fr .95fr;min-height:730px;background:#ded2c2}.aboutImage{position:relative;min-height:650px}.aboutImage img{object-position:center}.aboutCopy{padding:10vw 7vw;align-self:center}.aboutCopy p:not(.eyebrow){font-size:18px;max-width:570px}.aboutCopy>a{display:inline-flex;justify-content:space-between;border-bottom:1px solid var(--navy);padding:14px 0;min-width:245px;font-weight:600;margin-top:20px}.contact{display:grid;grid-template-columns:1fr 1fr;grid-gap:10vw;gap:10vw;background:var(--ivory)}.contactCopy>p:not(.eyebrow){max-width:420px}.contactLinks{display:flex;gap:22px;flex-wrap:wrap;margin-top:40px}.contactLinks a{border-bottom:1px solid var(--navy);padding-bottom:4px}.mailPanel{display:grid;grid-gap:18px;gap:18px;border-top:1px solid var(--navy);padding-top:30px}.mailPanel h3{font-family:var(--serif);font-size:30px;margin:0}.mailPanel p{margin:0;color:#54626a}.mailPanel textarea{width:100%;border:1px solid #8d989e;background:#fff;padding:14px;color:var(--navy);font:inherit;font-size:14px;resize:vertical}.mailActions{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-top:2px}.mailActions a{border-bottom:1px solid var(--navy);padding:10px 0;font-size:14px}.mailAlt{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid #d5cdc0;padding-top:16px}.mailAlt a{border-bottom:1px solid var(--navy);padding:8px 0;font-size:14px}.mailBack{background:none;border:0;justify-self:start;padding:10px 0;cursor:pointer;color:#54626a;font:inherit;border-bottom:1px solid #8d989e}.mailBack:hover,.mailPanel a:hover,.mailPanel button:hover{color:var(--navy)}.contact a:focus-visible,.contact button:focus-visible,.mailPanel textarea:focus-visible{outline:2px solid var(--copper);outline-offset:3px}.contact form{display:grid;grid-gap:20px;gap:20px}.contact label{display:grid;grid-gap:7px;gap:7px;font-size:13px;font-weight:600}.contact input,.contact select,.contact textarea{width:100%;border:0;border-bottom:1px solid #8d989e;background:transparent;padding:12px 4px;border-radius:0;color:var(--navy)}.contact textarea{border:1px solid #8d989e;padding:12px;resize:vertical}.contact form button{border:0;cursor:pointer;justify-self:start}.contact small{color:#67747b}footer{background:#091f2e;color:#fff;padding:48px max(4vw,24px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}.footLogo{display:block;width:176px;height:112px}.footLogo img{width:100%;height:100%;object-fit:contain;object-position:left center}footer p{font-size:12px;color:#aeb9c0;text-align:center}footer>div{display:flex;gap:24px;justify-content:flex-end;font-size:12px}.mobileCall{display:none}@media(max-width:760px){.header{height:76px;padding:6px 20px}.logo{width:140px;height:56px}.menu{display:block;margin-left:auto;background:transparent;border:0;min-height:44px;font-weight:600;color:#fff}.headcall,.header nav{display:none}.header nav{position:absolute;top:76px;left:0;right:0;background:var(--navy);padding:20px;flex-direction:column;gap:0;border-top:1px solid hsla(0,0%,100%,.2);color:#fff}.header nav.open{display:flex}.header nav a{min-height:50px;display:flex;align-items:center;border-bottom:1px solid hsla(0,0%,100%,.2)}.hero{height:680px;min-height:100svh;align-items:flex-end}.hero>img{object-position:48% center}.shade{background:linear-gradient(90deg,rgba(6,24,35,.76),rgba(6,24,35,.48))}.heroCopy{width:calc(100% - 40px);padding-bottom:54px}.hero h1{font-size:50px}.lead{font-size:16px;margin:20px 0}.actions{flex-direction:column;align-items:stretch}.actions a{width:100%}.actions .secondary,.photoLabel{display:none}.trust{padding:16px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;grid-gap:10px 16px;gap:10px 16px;white-space:normal}.trust span{font-size:10px}.trust span:before{margin-right:8px}.section{padding:78px 20px}.contact,.faq,.process,.services{grid-template-columns:1fr;gap:56px}.about h2,.contact h2,.section h2,.work h2{font-size:44px}.service h3{font-size:23px}.work{padding-bottom:78px}.workHead{display:block}.workHead>p{margin-top:28px}.projectRail{width:100%;display:grid;grid-template-columns:1fr;margin:0;padding:0 20px;grid-gap:32px;gap:32px;overflow:visible}.project{width:100%;max-width:none}.projectCompare{grid-column:auto}.projectImg{width:100%;aspect-ratio:4/3}.project figcaption{display:grid;grid-gap:4px;gap:4px;padding:16px 0}.project figcaption span{text-align:left;line-height:1.4}.about{grid-template-columns:1fr}.aboutImage{min-height:500px}.aboutImage img{object-position:54% center}.aboutCopy{padding:78px 20px}.contactLinks{gap:14px}.contact form button{width:100%}footer{grid-template-columns:1fr;gap:24px;padding:46px 20px}footer p{text-align:left}footer>div{justify-content:flex-start}.mobileCall{display:flex;position:relative;width:100%;min-height:58px;padding-bottom:env(safe-area-inset-bottom);background:var(--copper);color:#fff;align-items:center;justify-content:center;font-weight:600}.photoLabel{right:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}