@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#182428;--muted:#556166;--paper:#fafaf7;--line:#d9ddd9;--gold:#e9c695}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b3762a;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}.skip{position:fixed;left:15px;top:-80px;background:white;padding:12px;z-index:99}.skip:focus{top:10px}header{height:102px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:inline-flex;flex-direction:column;line-height:1}.brand-name{font-size:36px;font-weight:600;letter-spacing:.09em}.brand-dot{color:#aa7a42}.brand-sub{font-size:11px;letter-spacing:.27em;margin-top:9px;font-weight:700}nav{display:flex;align-items:center;gap:38px;font-size:14px}nav a:hover{color:#92612c}.nav-cta{border:1px solid var(--ink);padding:13px 22px}.nav-cta span{margin-left:16px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px}.hero-copy{padding:74px 9% 30px 10%;display:flex;flex-wrap:wrap;align-content:flex-start;align-items:center}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:700;line-height:1.6}.hero .eyebrow{width:100%;margin:0 0 35px}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.03;letter-spacing:-.035em;margin:0}h1{font-size:clamp(54px,5.3vw,88px);width:100%}em{font-weight:400;color:#966630}h2{font-size:clamp(45px,4.4vw,68px)}.hero-description{font-size:17px;max-width:440px;color:var(--muted);margin:27px 0 30px;flex-basis:100%}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--ink);color:white;padding:17px 22px;font-size:14px;font-weight:600;transition:background .2s}.button:hover{background:#35474d}.text-link{font-size:14px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:5px}.hero .text-link{margin:18px 0 18px 24px}.hero-foot{display:flex;justify-content:space-between;gap:20px;width:100%;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;margin-top:52px}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo>img{position:absolute;inset:0}.photo-note{position:absolute;bottom:25px;left:28px;right:28px;padding:15px 18px;background:rgba(24,36,40,.86);color:white;display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:.09em}.photo-note span+span{letter-spacing:0}.intro-strip{background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:31px 5%}.intro-strip>span{font-family:'Libre Caslon Display',Georgia,serif;font-size:30px}.intro-strip p{margin:0;color:#ced7d8;font-size:15px}.section{padding:100px 6%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:45px}.section-heading .eyebrow{margin-top:0;margin-bottom:23px}.section-heading>p{max-width:355px;color:var(--muted);margin-bottom:5px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.project{margin:0}.project button{display:block;border:0;padding:0;width:100%;height:360px;cursor:zoom-in;background:#e5e7e5;overflow:hidden}.project img{transition:transform .45s}.project button:hover img{transform:scale(1.04)}.project figcaption{padding:13px 0 0;display:flex;justify-content:space-between;gap:15px;font-size:14px}.project figcaption span{font-size:12px;color:var(--muted)}.services{background:#eef0ed}.service-list article{display:grid;grid-template-columns:70px 1.1fr 1fr;gap:30px;align-items:start;border-top:1px solid #c9cfca;padding:29px 0}.service-list article:last-child{border-bottom:1px solid #c9cfca}.service-number{font-size:13px;padding-top:6px;color:var(--muted)}h3{font-size:24px;font-weight:500;line-height:1.3;margin:0}.service-list p{margin:0;color:var(--muted);max-width:490px}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-image{height:620px}.about-copy p:not(.eyebrow){color:var(--muted);max-width:450px}.about-copy .text-link{display:inline-block;margin-top:15px}.about-copy .text-link span{margin-left:18px}.area{border-top:1px solid var(--line);text-align:center;padding-top:70px;padding-bottom:75px}.area p:not(.eyebrow){color:var(--muted)}.area ul{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;list-style:none;padding:12px 0 0}.area li{padding:9px 18px;border:1px solid #d1d7d2;font-size:14px}.contact{background:var(--ink);color:white;display:grid;grid-template-columns:1.4fr 1fr;gap:10%;align-items:center}.contact h2 em{color:var(--gold)}.contact p{color:#c2cecf}.contact .button{margin-top:15px;background:var(--gold);color:var(--ink)}.contact .button:hover{background:#f3d9b5}.contact-details{display:flex;flex-direction:column;gap:16px;border-left:1px solid #465256;padding-left:16%}.contact-details>a{width:fit-content;overflow-wrap:anywhere}.contact-details>a:hover{text-decoration:underline}.phone{font-family:'Libre Caslon Display',Georgia,serif;font-size:38px;line-height:1.2}footer{padding:42px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p,footer>a:last-child{font-size:12px;color:var(--muted)}dialog{border:0;padding:40px 65px;background:#111b20;color:white;width:min(1200px,96vw);max-height:96vh;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.85)}dialog figure{margin:0}dialog img{height:75vh;object-fit:contain}dialog figcaption{text-align:center;padding-top:10px;font-size:14px}dialog button{position:absolute;z-index:2;background:#24333a;color:white;border:1px solid #58666c;font-size:26px;width:44px;height:44px;cursor:pointer}.close{right:10px;top:8px}.prev{left:8px;top:48%}.next{right:8px;top:48%}
@media(min-width:1500px){body{max-width:1800px;margin:auto}.hero{min-height:760px}.hero-copy{padding-top:110px}.project button{height:440px}}
@media(max-width:1050px){nav{gap:22px}.hero-copy{padding:52px 8% 25px}.hero .text-link{margin-left:0;flex-basis:auto}.hero .button{margin-right:24px}.hero-foot{flex-direction:column;gap:4px;margin-top:24px}.photo-note{flex-direction:column;gap:3px}.project button{height:280px}.about-image{height:540px}.section{padding:75px 5%}.contact-details{padding-left:10%}.phone{font-size:30px}}
@media(max-width:700px){header{height:86px;padding:0 6%}.brand-name{font-size:29px}.brand-sub{font-size:9px}nav{gap:0}nav>a:not(.nav-cta){display:none}.nav-cta{padding:10px 14px;font-size:13px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6% 26px}.hero .eyebrow{font-size:11px;margin-bottom:24px}h1{font-size:62px}.hero-description{font-size:16px;margin:24px 0}.hero .text-link{margin-left:0}.hero-foot{flex-direction:row;font-size:11px;margin-top:22px}.hero-photo{height:410px}.photo-note{flex-direction:row;left:18px;right:18px;bottom:18px;font-size:9px}.intro-strip{display:block;padding:25px 6%}.intro-strip>span{font-size:28px}.intro-strip p{font-size:14px;margin-top:8px}.section{padding:58px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:100%}.section-heading .eyebrow{margin-bottom:18px}h2{font-size:48px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.project button{height:225px}.project figcaption{font-size:12px;display:block}.project figcaption span{display:block;font-size:11px}.service-list article{grid-template-columns:30px 1fr;gap:8px 12px;padding:24px 0}.service-list h3{font-size:23px}.service-list p{grid-column:2;font-size:15px}.about{grid-template-columns:1fr;gap:35px}.about-image{height:400px}.about-copy .eyebrow{margin-top:0}.area li{font-size:13px;padding:7px 12px}.contact{grid-template-columns:1fr;gap:40px}.contact-details{border-left:0;border-top:1px solid #465256;padding:30px 0 0}.contact .phone{font-size:36px}footer{flex-wrap:wrap;padding:32px 6%}footer p{order:3;flex-basis:100%;margin:0}dialog{padding:45px 45px 20px}dialog img{height:65vh}}
@media(max-width:380px){h1{font-size:52px}.hero-foot{flex-direction:column}.gallery{grid-template-columns:1fr}.project button{height:320px}.photo-note{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
