:root,:root[data-theme]{
  --ink:#10201a; --muted:#4a5a53; --bg:#f3f5f1; --card:#ffffff; --deep:#0f2a22; --accent:#ff5a1f; --accent-ink:#ffffff; --line:#d9e0da;
  --ginta-accent:#ff5a1f; --ginta-accent-ink:#ffffff; --ginta-radius:10px;
  --step-0:clamp(1rem,.96rem + .2vw,1.125rem); --step-1:clamp(1.25rem,1.1rem + .6vw,1.6rem); --step-2:clamp(1.7rem,1.3rem + 1.6vw,2.6rem); --step-3:clamp(2.4rem,1.6rem + 3.6vw,4.6rem);
  --section:clamp(3.5rem,2.5rem + 4vw,6.5rem); --container:72rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--step-0)/1.6 Inter,system-ui,sans-serif}
h1,h2{font-family:"Bricolage Grotesque",Inter,sans-serif;line-height:1.05;letter-spacing:-.02em;margin:0}
h1{font-size:var(--step-3);font-weight:800}
h2{font-size:var(--step-2);font-weight:800}
a{color:inherit}
img{max-width:100%;display:block}
.kc-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,3rem);max-width:var(--container);margin:0 auto}
.kc-logo{font:800 1.35rem/1 "Bricolage Grotesque",sans-serif;text-decoration:none;display:flex;flex-direction:column}
.kc-logo span{font:600 .8rem/1.4 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#c2410c}
.kc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.4rem;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:600;text-decoration:none;border:0;cursor:pointer;font-size:1rem}
.kc-btn:hover{filter:brightness(.95)}
.kc-btn-small{min-height:44px;padding:.55rem 1.1rem}
.kc-btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.kc-hero{max-width:var(--container);margin:0 auto;padding:clamp(1.5rem,3vw,3rem) clamp(1rem,4vw,3rem) var(--section);display:grid;gap:clamp(2rem,4vw,4rem);align-items:center}
@media (min-width:860px){.kc-hero{grid-template-columns:1.1fr .9fr}}
.kc-kicker{font-weight:600;color:#c2410c;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;margin:0 0 1rem}
.kc-lede{font-size:var(--step-1);line-height:1.45;color:var(--muted);max-width:34rem;margin:1.25rem 0 2rem}
.kc-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.kc-hero-photo{margin:0;border-radius:18px;overflow:hidden;background:var(--deep);aspect-ratio:6/7}
.kc-hero-photo img{width:100%;height:100%;object-fit:cover}
.kc-steps{background:var(--deep);color:#eef4f0;padding:var(--section) 0}
.kc-steps h2,.kc-steps ol{max-width:var(--container);margin-left:auto;margin-right:auto;padding-left:clamp(1rem,4vw,3rem);padding-right:clamp(1rem,4vw,3rem)}
.kc-steps ol{list-style:none;padding:0;margin-top:2.5rem;display:grid;gap:1.5rem;counter-reset:s}
@media (min-width:760px){.kc-steps ol{grid-template-columns:repeat(3,1fr)}}
.kc-steps li{counter-increment:s;border-top:2px solid rgba(255,255,255,.2);padding-top:1.25rem;color:#c9d6cf}
.kc-steps li::before{content:counter(s,decimal-leading-zero);display:block;font:800 var(--step-2)/1 "Bricolage Grotesque",sans-serif;color:var(--accent);margin-bottom:.75rem}
.kc-steps b{color:#fff}
.kc-book{max-width:var(--container);margin:0 auto;padding:var(--section) clamp(1rem,4vw,3rem)}
.kc-book-head{max-width:38rem;margin-bottom:2rem}
.kc-book-head p{color:var(--muted)}
.kc-visit{max-width:var(--container);margin:0 auto;padding:0 clamp(1rem,4vw,3rem) var(--section);display:grid;gap:2rem}
@media (min-width:760px){.kc-visit{grid-template-columns:1fr 1fr;align-items:end}}
.kc-address{font-size:var(--step-1);line-height:1.35;margin:1rem 0 .5rem}
.kc-link{color:#c2410c;font-weight:600}
.kc-hours{margin:0;background:var(--card);border-radius:14px;padding:.5rem 1.25rem;border:1px solid var(--line)}
.kc-hours div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}
.kc-hours div:last-child{border-bottom:0}
.kc-hours dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}
.kc-contact{max-width:46rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem) var(--section)}
.kc-contact>p{color:var(--muted)}
.kc-form{display:grid;gap:1rem;margin-top:1.5rem}
@media (min-width:640px){.kc-form{grid-template-columns:1fr 1fr}.kc-wide{grid-column:1/-1}}
.kc-form label span{display:block;font-weight:600;font-size:.95rem;margin-bottom:.35rem}
.kc-form input,.kc-form textarea{width:100%;font:inherit;padding:.75rem .9rem;border:1px solid #b9c4bd;border-radius:10px;background:#fff;color:var(--ink)}
.kc-form button{justify-self:start}
.kc-hidden{display:none}
.kc-sent{display:none;background:#e3f4e8;border-radius:10px;padding:1rem;margin-top:1rem}
.kc-sent:target{display:block}
.kc-foot{background:var(--deep);color:#c9d6cf;padding:2.5rem clamp(1rem,4vw,3rem);font-size:.95rem}
.kc-foot p{max-width:var(--container);margin:.25rem auto}
.kc-foot b{color:#fff}
.kc-demo{opacity:.85}
.legal{max-width:65ch;margin:0 auto;padding:2rem clamp(1rem,4vw,3rem) var(--section)}
