@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/fonts/HankenGrotesk-Variable.woff2') format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/HankenGrotesk-Italic.woff2') format('woff2')}
:root{--font-sans:'Hanken Grotesk',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;--font-weight-body:400;--font-weight-display:600}

:root{
/* Neutral ramp (light-first) */
--paper:#FBFAF7;--surface:#F4F1EA;--mist:#E9E4D8;--line:#D9D3C4;--white:#FFFFFF;
/* Ink & text */
--ink:#22241D;--text-secondary:#5C5A50;
/* Accent — Cedar Olive. Standard = graphics/fills/large text only (≥3:1). Text-safe = body text & buttons (≥4.5:1). */
--accent:#6F7C55;--accent-text:#4B5639;--accent-hover:#404930;--accent-press:#363E29;
/* Semantic */
--success:#2F6A45;--success-tint:#E3EDE3;--error:#A3392B;--error-tint:#F4E4DE;
/* Logo reference only — never used in UI or templates */
--logo-red:#D32D23;
/* Semantic aliases */
--surface-page:var(--paper);--surface-raised:var(--white);--surface-tint:var(--surface);
--text-body:var(--ink);--text-on-accent:var(--white);--text-on-ink:var(--white);
--border-hairline:var(--line);
/* Text-over-photo scrim: text only in the bottom two-thirds of the scrim (opacity ≥ .68; computed AA floor .62 on white) */
--scrim-photo:linear-gradient(180deg,rgba(34,36,29,0) 0%,rgba(34,36,29,.68) 32%,rgba(34,36,29,.92) 100%); /* @kind other */
}

:root{
/* Mobile-first scale (px). Max two weights per layout: 400 + 600. */
--text-display:34px;--leading-display:40px;--tracking-display:-0.015em;
--text-heading:22px;--leading-heading:28px;--tracking-heading:-0.01em;
--text-body:16px;--leading-body:24px;
--text-caption:13px;--leading-caption:18px;
/* All-caps letterspaced label */
--text-label:12px;--leading-label:16px;--tracking-label:0.1em;
--weight-body:400;--weight-display:600;
/* Prices & schedules always tabular lining figures */
--numeric-tabular:tabular-nums lining-nums; /* @kind other */
}

:root{
/* 4/8pt scale */
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;
/* Canvas specs. Story 1080×1920: keep content out of top 220 / bottom 340 (IG UI). Post 1080×1350. */
--story-margin-x:64px;--story-safe-top:220px;--story-safe-bottom:340px;
--post-margin:72px;
/* Whitespace rule: ≥40% of any layout stays empty; one message per template. */
}

:root{
--radius-s:6px;--radius-m:10px;--radius-l:14px;--radius-xl:20px;--radius-pill:999px;
--stroke-hairline:1px;--stroke-emphasis:1.5px;
/* Shadow policy: flat. --shadow-1 ONLY for elements floating over photos. Never paper-on-paper. */
--shadow-1:0 2px 8px rgba(34,36,29,.10);
/* The one CTA style, reused everywhere */
--cta-fill:var(--accent-text);--cta-text:var(--white);--cta-radius:var(--radius-m);--cta-pad:12px 20px;--cta-size:16px;--cta-weight:600;--cta-min-height:44px;
--focus-ring:2px solid var(--accent);--focus-offset:2px;
}

*{margin:0;box-sizing:border-box}
body{font-family:var(--font-sans);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.5}
a{color:var(--accent-text)}a:hover{color:var(--ink)}
img{display:block}
img[width]{height:auto}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;width:100%}
.nav{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding-top:14px;padding-bottom:14px}
.nav img{height:40px}
.nav .links{display:flex;gap:4px 18px;flex-wrap:wrap;margin-left:auto;align-items:center}
.nav a{font-size:15px;font-weight:600;text-decoration:none}
.nav a[aria-current="page"]{color:var(--ink)}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 20px;border-radius:var(--cta-radius);background:var(--cta-fill);color:#fff !important;font-size:16px;font-weight:600;text-decoration:none;border:none;cursor:pointer;font-family:var(--font-sans)}
.cta:hover{background:var(--accent-hover)}
.cta:active{background:var(--accent-press)}
.cta:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}
.nav .cta{min-height:44px;padding:10px 18px;font-size:15px}
h1{font-size:clamp(32px,5vw,44px);font-weight:600;letter-spacing:-.015em;line-height:1.1}
h2{font-size:22px;font-weight:600;letter-spacing:-.01em}
.label{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text)}
.muted{color:var(--text-secondary)}
.tint{background:var(--surface);border-radius:var(--radius-l)}
.num{font-variant-numeric:tabular-nums}
.hours{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.hours:last-of-type{border-bottom:none}
.hero{position:relative;min-height:560px;display:flex;align-items:flex-end;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .scrim{position:absolute;left:0;right:0;bottom:0;height:75%;background:var(--scrim-photo)}
.hero .wrap{position:relative;padding-bottom:56px}
.hero h1{color:#fff;font-size:clamp(38px,6vw,64px)}
.hero p{color:#fff;opacity:.94;max-width:560px;margin-top:14px;font-size:clamp(16px,2.2vw,20px)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:var(--surface);border-radius:var(--radius-l);padding:24px}
.card p{margin-top:8px}
.price{background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);padding:28px 24px;display:flex;flex-direction:column;gap:6px}
.price.featured{background:var(--surface);border:2px solid var(--accent-text)}
.price .amount{font-size:40px;font-weight:600;font-variant-numeric:tabular-nums}
.price .note{font-size:14px;color:var(--text-secondary);margin-top:4px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-xl)}
.zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.zone{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:var(--radius-m);padding:14px 16px;font-weight:600;font-size:15px}
.zone i{width:24px;height:24px;flex:none;background:var(--ink)}
.ic{-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
input,textarea{min-height:44px;padding:10px 14px;border-radius:var(--radius-m);border:1px solid var(--line);background:#fff;font:400 16px var(--font-sans);color:var(--ink);width:100%}
textarea{resize:vertical}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}
footer{background:var(--ink);color:#fff;margin-top:64px}
footer .wrap{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;padding-top:40px;padding-bottom:40px}
footer img{height:56px}
footer div{font-size:14px;line-height:1.7;opacity:.92}
footer .cta{margin-left:auto}
@media (max-width:720px){footer .cta{margin-left:0}.hero{min-height:480px}}
section.pad{padding:56px 0}
section.padt{padding:48px 0 56px}
