:root{--paper: #fffaf0;--cream: #f5ead8;--ink: #231b16;--muted: #65584f;--line: #ddcdbb;--espresso: #2a1a13;--leaf: #3e6f54;--tomato: #b64d32;--brass: #bd8f4d;--white: #ffffff;--shadow: 0 24px 70px rgba(42, 26, 19, .14);color-scheme:light}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:Avenir Next,Segoe UI,sans-serif;scroll-behavior:smooth}body{margin:0;min-width:320px;background:linear-gradient(90deg,rgba(189,143,77,.08) 1px,transparent 1px),linear-gradient(180deg,rgba(189,143,77,.08) 1px,transparent 1px),var(--paper);background-size:44px 44px}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:radial-gradient(rgba(35,27,22,.12) .7px,transparent .7px);background-size:8px 8px;z-index:-1}a{color:inherit}img{display:block;max-width:100%}.site-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(35,27,22,.12);background:#fffaf0f0;backdrop-filter:blur(18px)}.nav-wrap{width:min(1180px,calc(100% - 32px));margin:0 auto;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;flex-direction:column;text-decoration:none;line-height:1}.brand strong,.display{font-family:Georgia,Times New Roman,serif}.brand strong{font-size:1.35rem;letter-spacing:0}.brand span{margin-top:6px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.nav-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.nav-links a{min-height:40px;display:inline-flex;align-items:center;border-radius:999px;padding:0 13px;color:var(--muted);text-decoration:none;font-weight:700;font-size:.92rem}.nav-links a:hover,.nav-links a[aria-current=page]{background:var(--espresso);color:var(--paper)}.button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--espresso);border-radius:999px;padding:0 18px;background:var(--espresso);color:var(--paper);text-decoration:none;font-weight:800}.button.secondary{background:transparent;color:var(--espresso)}.button.tertiary{border-color:var(--line);background:var(--white);color:var(--espresso)}.section{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:72px 0}.section.tight{padding:42px 0}.eyebrow{margin:0 0 12px;color:var(--tomato);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;letter-spacing:0}h1{font-size:clamp(2.35rem,6vw,4.4rem);line-height:.98;margin-bottom:18px}.page-title h1{max-width:830px;font-size:clamp(2.15rem,5vw,3.4rem)}h2{font-size:clamp(1.75rem,4vw,2.45rem);line-height:1.08;margin-bottom:18px}h3{font-size:1.28rem;line-height:1.2}p{color:var(--muted);line-height:1.7}.lead{max-width:700px;color:#4f443d;font-size:clamp(1.05rem,2vw,1.25rem)}.hero{width:min(1240px,calc(100% - 24px));margin:18px auto 0;min-height:calc(100vh - 118px);display:grid;grid-template-columns:1.02fr .98fr;gap:18px;align-items:stretch}.hero-copy,.hero-media{min-height:590px}.hero-copy{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,58px);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}.hero-media{position:relative;overflow:hidden;background:var(--espresso)}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(35,27,22,.6))}.hero-badge{position:absolute;left:24px;right:24px;bottom:24px;z-index:1;display:flex;justify-content:space-between;gap:16px;color:var(--paper);font-weight:800}.stat-grid,.card-grid,.preview-grid,.contact-grid{display:grid;gap:18px}.stat-grid{grid-template-columns:repeat(4,1fr);margin-top:28px}.stat{padding:18px;border-left:4px solid var(--brass);background:#f5ead8a6}.stat strong{display:block;font-size:1.38rem}.stat span{color:var(--muted);font-weight:700;font-size:.88rem}.card-grid{grid-template-columns:repeat(3,1fr)}.preview-grid,.contact-grid{grid-template-columns:repeat(2,1fr)}.card,.cms-card,.visit-panel{background:#ffffffdb;border:1px solid var(--line);border-radius:8px;padding:24px}.cms-card{display:flex;flex-direction:column;gap:12px}.cms-card img,.gallery-card img,.image-tile img{width:100%;object-fit:cover}.cms-card img{aspect-ratio:4 / 3}.meta{color:var(--tomato);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.image-tile,.gallery-card{overflow:hidden;border:1px solid var(--line);background:var(--white)}.image-tile img{aspect-ratio:1}.gallery-card img{aspect-ratio:4 / 3}.gallery-card figcaption,.image-tile figcaption{padding:12px 14px;color:var(--muted);font-size:.92rem;line-height:1.5}.hours{width:100%;border-collapse:collapse}.hours th,.hours td{padding:12px 0;border-bottom:1px solid var(--line);text-align:left}.hours th{width:38%;color:var(--ink)}.list-clean{margin:0;padding:0;list-style:none}.list-clean li{padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted)}.quote{border-left:4px solid var(--leaf)}.quote blockquote{margin:0 0 12px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.18rem;line-height:1.45}.portable :where(p,blockquote,ul,ol){color:var(--muted);line-height:1.7}.portable :where(h2,h3){margin-top:18px}.site-footer{border-top:1px solid var(--line);background:var(--espresso);color:var(--paper)}.footer-wrap{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:42px 0;display:grid;grid-template-columns:1fr auto;gap:24px}.footer-wrap p,.footer-wrap a{color:#fffaf0c2}.footer-links{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-end}@media(max-width:880px){.hero,.preview-grid,.contact-grid,.footer-wrap{grid-template-columns:1fr}.hero{min-height:0}.hero-copy,.hero-media{min-height:auto}.hero-media{min-height:360px}.stat-grid,.card-grid,.image-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.nav-wrap{align-items:flex-start;flex-direction:column;padding:14px 0}.nav-links{justify-content:flex-start}.nav-links a{padding:0 10px;font-size:.86rem}.stat-grid,.card-grid,.image-grid{grid-template-columns:1fr}.section{padding:52px 0}}
