@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Raleway:wght@500;600;700&family=Source+Sans+3:wght@300;400;500;600&display=swap');

:root{--cream:#f7f6ed;--ink:#171717;--text:#4d4d4d;--gold:#d5c7a8;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:'Source Sans 3',Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,select,textarea{font:inherit}

.utility{height:30px;background:#050505;color:#cfc8b8;display:flex;justify-content:flex-end;align-items:center;padding:0 clamp(18px,4vw,60px);font:700 11px/1 'Raleway',sans-serif;letter-spacing:1.4px;text-transform:uppercase}.utility a:hover{color:#fff}
.header{position:absolute;top:30px;left:0;right:0;z-index:40;background:rgba(12,12,12,.58);border-bottom:1px solid rgba(255,255,255,.08)}
.header--inner{position:relative;top:auto;background:#171717}
.header__inner{width:min(var(--max),calc(100% - 48px));min-height:110px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:14px;color:#fff;min-width:0}.brand__mark{width:46px;height:46px;flex:0 0 auto}.brand__name{font-family:'Libre Baskerville',serif;font-weight:700;font-size:21px;letter-spacing:1.5px;white-space:nowrap}.brand__tag{font-family:'Libre Baskerville',serif;font-style:italic;font-size:11px;color:#eee5d4;margin-top:2px;white-space:nowrap}
.nav ul{display:flex;list-style:none;margin:0;padding:0;gap:34px}.nav a{display:block;color:#fff;font:700 12px/1 'Raleway',sans-serif;letter-spacing:1.35px;text-transform:uppercase;padding:11px 0 8px;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current="page"]{border-color:#fff}.nav-toggle{display:none;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.65);padding:9px 12px;text-transform:uppercase;font:700 11px 'Raleway';letter-spacing:1px}

.hero{position:relative;height:calc(100vh - 30px);min-height:640px;background:#111;overflow:hidden}.slide{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;transform:scale(1.015);transition:opacity 1.25s ease,transform 7s linear}.slide.active{opacity:1;transform:scale(1.055)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.08) 45%,rgba(0,0,0,.26) 100%);pointer-events:none}.arrow{position:absolute;z-index:3;top:55%;transform:translateY(-50%);width:44px;height:44px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.28);color:#fff;display:grid;place-items:center;font-size:25px;cursor:pointer}.arrow:hover{background:rgba(0,0,0,.55)}.arrow.prev{left:32px}.arrow.next{right:32px}.dots{position:absolute;z-index:3;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:9px}.dots button{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:transparent;padding:0;cursor:pointer}.dots button.active{background:#fff}

.page-banner{position:relative;height:205px;background:url('../images/wood-texture.webp') center/cover;display:flex;align-items:flex-end}.page-banner:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.62)}.page-banner__inner{position:relative;width:min(var(--max),calc(100% - 48px));margin:auto;padding-bottom:35px}.page-banner h1{margin:0;color:#fff;font:400 25px/1.25 'Libre Baskerville',serif;text-transform:uppercase;letter-spacing:.4px}
.section{padding:82px 24px}.container{width:min(1080px,100%);margin:auto}.lede{max-width:760px;margin:0 auto 34px;text-align:center;font-size:18px;line-height:1.55;color:#454545}.eyebrow{font:700 11px 'Raleway';letter-spacing:1.6px;text-transform:uppercase;color:#8a7d66;margin-bottom:12px}.title{font:400 29px/1.3 'Libre Baskerville',serif;color:#383838;margin:0 0 22px}.copy p{margin:0 0 20px}.two-col{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:62px}.two-col+.two-col{margin-top:85px}.photo{box-shadow:0 8px 30px rgba(0,0,0,.12)}.photo img{aspect-ratio:4/3;object-fit:cover}.button{display:inline-block;background:#292929;color:#fff;padding:12px 23px;margin-top:5px;font:600 13px 'Raleway';letter-spacing:.4px}.button:hover{background:#000}

.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 30px}.service-card{background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.06);transition:transform .25s ease,box-shadow .25s ease}.service-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.12)}.service-card__image{overflow:hidden;aspect-ratio:16/9}.service-card__image img{height:100%;object-fit:cover;transition:transform .45s ease}.service-card:hover img{transform:scale(1.035)}.service-card__body{text-align:center;padding:20px 20px 22px}.service-card h2{font:700 17px/1.35 'Libre Baskerville',serif;color:#3e3e3e;margin:0 0 5px}.service-card p{font:italic 14px 'Libre Baskerville',serif;margin:0;color:#777}

.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}.field label{display:block;font:700 11px 'Raleway';letter-spacing:.8px;text-transform:uppercase;color:#454545;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #cecbbf;background:#fff;padding:12px;color:#333}.field textarea{min-height:150px;resize:vertical}.form-note{font-size:13px;color:#777}.contact-card{background:#202020;color:#eee;padding:36px}.contact-card h2{color:#fff;font:400 23px 'Libre Baskerville';margin:0 0 20px}.contact-card a{text-decoration:underline;text-underline-offset:3px}.contact-card .big-phone{font:700 24px 'Libre Baskerville';text-decoration:none;display:inline-block;margin:18px 0}

.footer{background:#111;color:#bdb7aa;border-top:1px solid #292929}.footer__inner{width:min(var(--max),calc(100% - 48px));min-height:100px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px}.footer a{text-decoration:underline;text-underline-offset:3px}.footer__copy{font-size:12px;color:#8c877d}

@media(max-width:900px){.header__inner{min-height:90px}.brand__name{font-size:17px}.brand__tag{font-size:10px}.nav-toggle{display:block}.nav{display:none;position:absolute;top:90px;left:0;right:0;background:#171717;padding:13px 24px 20px}.nav.open{display:block}.nav ul{display:block}.nav a{padding:14px 0}.hero{min-height:580px}.services,.two-col,.contact-grid{grid-template-columns:1fr}.two-col{gap:30px}.two-col+.two-col{margin-top:62px}.two-col .copy{order:1}.two-col .photo{order:2}.contact-grid{gap:34px}}
@media(max-width:600px){.utility{height:26px}.header{top:26px}.header__inner{width:calc(100% - 30px);min-height:82px}.brand__mark{width:38px;height:38px}.brand__name{font-size:14px;letter-spacing:.8px}.brand__tag{font-size:8.5px}.hero{height:72vh;min-height:520px}.arrow{width:38px;height:38px}.arrow.prev{left:14px}.arrow.next{right:14px}.page-banner{height:165px}.page-banner__inner{width:calc(100% - 32px);padding-bottom:25px}.section{padding:58px 18px}.services{grid-template-columns:1fr;gap:26px}.form-row{grid-template-columns:1fr;gap:0}.footer__inner{width:calc(100% - 34px);padding:24px 0;display:block}.footer__copy{margin-top:7px}.lede{font-size:16px}}
