@font-face{font-family:Raleway;font-weight:400;font-display:swap;src:url(fonts/raleway-regular.woff) format("woff")}
@font-face{font-family:Raleway;font-weight:700;font-display:swap;src:url(fonts/raleway-bold.woff) format("woff")}
:root{--g:#1f3a32;--a:#d99a3d;--ink:#1b1a18;--bg:#f3f4f1;--t:#e4e9e4}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}
body{margin:0;font:400 1.05rem/1.65 Raleway,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{line-height:1.15;margin:0 0 .6em}h2{font-size:clamp(1.8rem,4vw,2.6rem)}
a{color:var(--g)}img{max-width:100%;height:auto;display:block}
.nav{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:.5rem clamp(1rem,4vw,3rem);background:rgba(31,58,50,.94);backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:.7rem;font-size:1.15rem}.brand img{width:44px;height:44px}
.nav a{color:#fff;text-decoration:none;font-weight:700}.nav nav{display:flex;gap:1.4rem}.nav a:hover{color:var(--a)}
.hero{position:relative;min-height:88vh;display:grid;align-items:end;color:#fff;background:#222}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.1) 70%)}
.hero-copy{position:relative;z-index:1;padding:clamp(1.5rem,6vw,5rem);max-width:56rem}
.hero h1{font-size:clamp(2.6rem,8vw,6rem);font-weight:700;letter-spacing:-.02em}.hero p{font-size:1.25rem;margin:0 0 1.5rem}
.btn{display:inline-block;background:var(--a);color:#1b1a18;font:700 1rem Raleway,sans-serif;padding:.8rem 1.5rem;border:0;border-radius:.4rem;text-decoration:none;cursor:pointer;margin-right:.6rem}
.btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #fff}
.wrap{max-width:72rem;margin:auto;padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,2rem)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:center;max-width:72rem;margin:auto;padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,2rem)}
.about img{border-radius:.6rem;width:100%}
.sub{margin-top:2rem;font-size:1.3rem;color:var(--g)}
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem}
.card{background:#fff;border-radius:.6rem;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.card img{aspect-ratio:4/5;object-fit:cover;width:100%}.card div{padding:1rem}.card h3{font-size:1.1rem;margin:0 0 .3em}.card p{margin:0 0 .5em;font-size:.95rem}.price{font-weight:700;color:var(--g)}
.note{margin-top:1rem;font-style:italic}
.tint{max-width:none;background:var(--t)}.tint>*{max-width:72rem;margin-inline:auto}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}
figure{margin:0;background:#fff;border-radius:.6rem;padding:1.4rem}blockquote{margin:0 0 1rem;font-size:1.1rem}
figcaption{display:flex;align-items:center;gap:.7rem;font-weight:700}figcaption img{border-radius:50%}
form{display:grid;grid-template-columns:1fr 1fr 6rem;gap:1rem;max-width:44rem}.full{grid-column:1/-1}
label{display:grid;gap:.3rem;font-weight:700}input,select,textarea{font:inherit;padding:.65rem;border:1px solid #b9c0ba;border-radius:.4rem;background:#fff}
.visit{display:grid;grid-template-columns:1fr 1.3fr;gap:2rem;align-items:start}
dt{font-weight:700;margin-top:.8rem}dd{margin:0}.visit iframe{width:100%;height:380px;border:0;border-radius:.6rem}
footer{background:var(--g);color:#fff;text-align:center;padding:1.5rem}
:focus-visible{outline:3px solid var(--a);outline-offset:2px}
@media(max-width:760px){.about,.visit,form{grid-template-columns:1fr}.nav nav{gap:.9rem;font-size:.9rem}.brand span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero video{display:none}.hero{background:url(img/poster.webp) center/cover}}
