/* Brandbook v2: approved copper / indigo, shared by storefront and cabinets. */
:root{--ink:#10263e;--paper:#fffcf6;--canvas:#f4f0e8;--lime:#dcd3bd;--lilac:#e7dfd0;--line:#cec5b5;--muted:#5a615f;--quiet:#e9e2d6;--field:#fffcf6;--field-line:#918c81;--placeholder:#66685f;--focus:#b75f28;--nav-float:#f4f0e8f5;--bg:var(--canvas);--fg:var(--ink);--surface:var(--paper);--sub:var(--muted);--border:var(--line);--accent:#10263e;--forest:#10263e;--onforest:#f4f0e8;--bath:#e7dfd0;--relax:#dcd3bd}
:root[data-theme=dark]{--ink:#f4f0e8;--paper:#19334e;--canvas:#10263e;--line:#486077;--muted:#c6c4bd;--quiet:#233e59;--field:#19334e;--field-line:#83919e;--placeholder:#bdc5ca;--nav-float:#10263ef5;--lilac:#293f53;--bg:var(--canvas);--fg:var(--ink);--surface:var(--paper);--sub:var(--muted);--border:var(--line);--onforest:#f4f0e8;--accent:#dcd3bd;--forest:#19334e;--bath:#19334e;--relax:#293f53}
body{font-family:Onest,'Segoe UI',Arial,sans-serif}
.brand{gap:14px}.brand-logo{width:64px;height:64px;object-fit:contain;flex-shrink:0}.brand strong,.site-header .brand>span{letter-spacing:.015em;font-weight:600}.brand-logo-dark{display:none}:root[data-theme=dark] .brand-logo-light{display:none}:root[data-theme=dark] .brand-logo-dark{display:block}
.button{background:var(--accent);color:var(--canvas)}.button.secondary{background:transparent;color:var(--fg)}
.feature{background:var(--forest);color:var(--onforest)}.feature:before{display:none}.feature-icons{visibility:visible;position:static;flex:1;min-height:180px;background:url('/brand/logo-dark.svg') center/176px no-repeat}.feature-icons>*{visibility:hidden}.feature .badge{background:transparent}.feature-cta{color:#dcd3bd}
.program.illustrated{background:var(--paper);color:var(--ink);border:1px solid var(--border);min-height:390px}.program.illustrated .program-top{min-height:130px;align-items:flex-start}.program.illustrated .program-top span{background:transparent;padding:0;color:var(--sub)}.program.illustrated .program-top svg{width:96px;height:96px;color:#b75f28;stroke-width:1}.program.illustrated .program-bottom p{color:var(--sub)}.program.illustrated .round-arrow{color:var(--ink)}
.program.illustrated.relax,.program.illustrated.group{background:var(--relax)}.program.illustrated.archery{background:var(--bath)}
.booking-panel{background:var(--quiet);color:var(--ink);border-top:4px solid #b75f28}.booking-panel .button{background:var(--accent);color:var(--canvas)}
.service-card.featured,.social-frame,.metric:first-child{background:var(--lime);color:#10263e;--ink:#10263e}.service-card.featured p,.service-card.featured .card-footer span,.metric:first-child span{color:#33485a}.service-card[data-tone=ink]{background:#10263e}.main-nav button[aria-current=true]{color:#10263e}.theme-toggle[aria-checked=true] .theme-thumb{background:#10263e}.switch i{background:var(--ink)}:root[data-theme=dark] .switch i{background:#10263e}
a:focus-visible,button:focus-visible{outline-color:var(--focus)}.skip{background:var(--accent);color:var(--canvas)}
@media(max-width:600px){.brand-logo{width:48px;height:48px}.brand{gap:10px}.feature-icons{min-height:150px;background-size:144px}.program.illustrated{min-height:350px}.program.illustrated .program-top{min-height:112px}.program.illustrated .program-top svg{width:80px;height:80px}}

.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.offer-card{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:28px;border:1px solid var(--border);border-radius:22px;background:var(--surface)}.offer-card .button{margin-top:auto}.offer-card h3{font-size:26px}.offer-card p{line-height:1.6}.offer-editor{display:grid;gap:16px}.offer-editor label{display:grid;gap:8px}.offer-editor input,.offer-editor textarea,.offer-editor select{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;width:100%;min-width:0}.offer-editor textarea{min-height:120px;resize:vertical}.offer-editor .offer-active{display:flex;align-items:center}.offer-active input{width:20px;height:20px}.offer-editor [role=alert]{min-height:24px}@media(max-width:650px){.offer-grid{grid-template-columns:1fr}.offer-card{padding:22px}.offer-card .button{width:100%;white-space:normal}}
