@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
footer img{filter:brightness(0)}
:root{--ink:#252520;--cream:#f8f6f1;--sand:#e9e3d9;--olive:#777b65;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:white;padding:10px;z-index:9}.topbar{height:86px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:var(--cream)}.brand img{width:120px;height:66px;object-fit:contain}.topbar nav{display:flex;align-items:center;gap:36px;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.topbar nav a:hover,.text-link:hover{color:var(--olive)}.nav-cta{border-bottom:1px solid;padding:6px 0}.menu{display:none}.hero{height:min(690px,78vw);min-height:510px;position:relative;display:grid;place-items:center;overflow:hidden;color:white;text-align:center;background:#47463e}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-photo{object-position:center 43%}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.44),rgba(0,0,0,.18),rgba(0,0,0,.38))}.hero-copy{position:relative;z-index:1;max-width:760px;padding:30px}.hero-logo{width:min(285px,62vw);max-height:160px;object-fit:contain;filter:brightness(0) invert(1);margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--olive);font-weight:600}.hero .eyebrow{color:#f0e9df}.hero h1{font:400 clamp(32px,5vw,58px)/1.12 var(--serif);text-transform:capitalize;margin:12px 0}.hero-copy>p:not(.eyebrow){font-size:15px;max-width:550px;margin:18px auto 28px}.button{display:inline-flex;gap:26px;align-items:center;border:1px solid rgba(255,255,255,.8);padding:12px 20px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;transition:.2s}.button:hover{background:white;color:var(--ink)}.scroll{position:absolute;bottom:22px;left:6vw;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.section{padding:100px 10vw}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:center}.section h2,.contact h2{font:400 clamp(34px,4vw,52px)/1.15 var(--serif);margin:12px 0}.section h2 em{color:var(--olive)}.intro-text p,.about p:not(.eyebrow){max-width:550px;color:#5e5e56}.text-link{display:inline-block;margin-top:16px;border-bottom:1px solid #999;padding-bottom:4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.text-link span{padding-left:12px}.portfolio{background:#f0ede6}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:38px}.section-heading>p{max-width:300px;color:#666}.gallery{display:grid;grid-template-columns:1fr 1fr 1fr;grid-auto-rows:260px;gap:16px}.gallery figure{margin:0;position:relative;overflow:hidden;background:#ddd}.gallery figure.tall{grid-row:span 2}.gallery figure.wide{grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 18px 14px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.45));font:18px var(--serif)}.services{background:#e6e3d9}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:50px 0}.service-grid article{border-top:1px solid #a9a99d;padding-top:20px}.service-grid span{font-size:11px;color:var(--olive)}.service-grid h3{font:24px var(--serif)}.service-grid p{color:#5e5e56;font-size:14px}.button.dark{border-color:var(--ink)}.button.dark:hover{background:var(--ink);color:white}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:center}.about>img{width:100%;height:520px;object-fit:cover;object-position:center 30%}.about>div{max-width:540px}.faq{background:#f0ede6;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.questions details{border-top:1px solid #c6c2b9;padding:18px 0}.questions details:last-child{border-bottom:1px solid #c6c2b9}.questions summary{cursor:pointer;font:19px var(--serif);list-style:none}.questions summary:after{content:'+';float:right;font:20px var(--sans)}.questions details[open] summary:after{content:'−'}.questions p{font-size:14px;color:#666}.contact{text-align:center;padding:90px 20px;background:#777b65;color:white}.contact .eyebrow{color:#e5e4da}.contact h2{font-size:clamp(36px,5vw,58px)}.contact>p:not(.eyebrow){margin:12px 0 28px}.contact small{display:block;margin-top:30px;color:#e0dfd4;font-size:11px}footer{padding:34px 6vw;display:flex;justify-content:space-between;align-items:center;gap:22px;font-size:11px;color:#666}footer img{width:90px;height:55px;object-fit:contain}footer p{margin:0}footer span{white-space:nowrap}@media(max-width:760px){.topbar{height:70px;padding:0 22px}.brand img{width:95px;height:56px}.menu{display:block;border:0;background:none;font-size:23px;color:var(--ink)}.topbar nav{display:none;position:absolute;z-index:5;top:70px;left:0;right:0;padding:24px;background:var(--cream);flex-direction:column;gap:18px}.topbar nav.open{display:flex}.hero{min-height:570px;height:78vh}.hero-photo{object-position:57% center}.hero-logo{width:220px}.hero-copy{padding:22px}.section{padding:70px 7vw}.intro,.about,.faq{grid-template-columns:1fr;gap:28px}.section-heading{align-items:start;gap:15px;flex-direction:column}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:200px;gap:10px}.gallery figure.tall{grid-row:span 2}.gallery figure.wide{grid-column:span 2}.service-grid{grid-template-columns:1fr;gap:25px;margin:30px 0}.about>img{height:400px;max-width:440px}.faq{gap:8px}footer{padding:28px 7vw;flex-wrap:wrap}footer p{width:calc(100% - 120px)}}
