@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--ink:#3a362f;--brown:#78513b;--paper:#f8f6f0;--muted:#746b61;--line:#e2ddd1;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px}a{color:inherit}.wrap{width:min(1320px,calc(100% - clamp(40px,7vw,120px)));margin:auto}.skip{position:absolute;top:-80px;left:10px;z-index:10;background:white;padding:12px}.skip:focus{top:10px}a:focus-visible{outline:3px solid #8c5538;outline-offset:4px}.header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font:400 17px/.95 var(--serif);letter-spacing:-.02em}.brand b{font-weight:400;color:var(--brown)}.brand-mark{position:relative;display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#78513b;color:#fffaf0;font:28px var(--serif)}.brand-mark span{position:absolute;top:4px;right:5px;color:#e9c1a2;font:10px var(--sans)}nav{display:flex;align-items:center;gap:30px}nav a{font-size:12px;font-weight:700;text-decoration:none}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{border:1px solid #b19d8a;padding:13px 16px}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,5vw,80px);align-items:center;min-height:calc(100svh - 100px);padding-block:50px}.hero-copy{min-width:0}.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.14em;font-weight:700;color:var(--brown)}.eyebrow span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b88163;margin-right:7px}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}h1{font-size:clamp(55px,6vw,86px);line-height:1.02;margin:24px 0}h1 em,h2 em{font-weight:400;color:#98684e}.lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:490px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:#78513b;color:#fffaf4;text-decoration:none;padding:18px 20px;font-size:13px;font-weight:700;min-width:225px}.button:hover{background:#5e3d2e}.text-link{font-size:12px;font-weight:700;text-decoration:none}.note{font-size:11px;color:var(--muted);margin-top:22px}.hero-image{position:relative;margin:0;height:min(570px,calc(100svh - 190px));overflow:hidden;background:#e8dfd0}.hero-image img{width:100%;height:100%;object-fit:cover;display:block}.hero-image figcaption{position:absolute;right:12px;bottom:12px;color:white;background:#3a3028ba;font-size:8px;letter-spacing:.1em;padding:5px 7px}.intro{padding-top:115px;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end}.intro h2,.callout h2{font-size:clamp(43px,4.7vw,64px);line-height:1.08;margin:25px 0 0}.intro>p,.callout-inner>div>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted);max-width:440px}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);margin-top:70px;margin-bottom:120px}.services article{padding:25px 30px 10px 0}.services article+article{border-left:1px solid var(--line);padding-left:30px}.services article span{font-size:11px;color:#a57b62}.services h3{font-size:27px;margin:55px 0 12px}.services p{color:var(--muted);font-size:14px;line-height:1.7}.callout{background:#57473b;color:#f8f4ea;padding:110px 0}.callout-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:end}.callout .eyebrow{color:#dfbba1}.callout h2 em{color:#e0bca1}.callout-inner>div>p:not(.eyebrow){color:#e3d9cd}.button.light{background:#f8f4ea;color:#57473b}.button.light:hover{background:#e9d8c8}.callout-phone{font-size:12px!important;margin-top:22px}.footer{display:flex;justify-content:space-between;gap:30px;padding-block:45px;font-size:12px}.footer-brand{font:24px var(--serif);text-decoration:none}.footer p{color:var(--muted);line-height:1.6}.footer div:last-child{text-align:right}.footer a{text-underline-offset:4px}@media(max-width:850px){.wrap{width:calc(100% - 40px)}.header{height:76px}nav>a:not(.nav-contact){display:none}.nav-contact{font-size:11px;padding:11px}.hero{grid-template-columns:minmax(0,1fr);min-height:0;gap:30px;padding-block:42px 65px}.hero-image{height:auto;aspect-ratio:1.35}.intro{padding-top:75px;grid-template-columns:1fr;gap:15px}.services{grid-template-columns:1fr;margin-top:40px;margin-bottom:75px}.services article,.services article+article{border-left:0;border-bottom:1px solid var(--line);padding:22px 0}.services h3{margin:20px 0 10px}.callout{padding:75px 0}.callout-inner{grid-template-columns:1fr;gap:28px}.footer{flex-wrap:wrap}.footer div:last-child{text-align:left}}@media(max-width:520px){h1{font-size:clamp(47px,12vw,60px)}.lead{font-size:16px}.actions{align-items:stretch;flex-direction:column;gap:19px}.actions .button{width:100%}.hero-image{aspect-ratio:1.08}.intro h2,.callout h2{font-size:clamp(38px,10vw,48px)}.header nav .nav-contact{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep the opening composition together on phones and tablets. */
@media(max-width:850px){
  .hero{min-height:calc(100svh - 76px);gap:clamp(18px,2.5svh,26px);padding-top:clamp(20px,3svh,30px);padding-bottom:clamp(20px,3svh,30px);align-content:center}
  .hero-image{height:clamp(150px,24svh,260px);aspect-ratio:auto}
}
@media(max-width:350px){.hero-image{height:clamp(120px,20svh,160px)}}
