/* GENERATED by scripts/theme-assets.mjs — edit themes/<slug>/theme.json, then re-run: node scripts/theme-assets.mjs */

.rs-root{--rs-wrap:1200px;--rs-gap:24px;--rs-radius:16px;--rs-radius-sm:10px;--rs-border:1px;--rs-band:clamp(44px,6.4vw,96px);--rs-h1:clamp(2.15rem,5vw,4.2rem);--rs-h2:clamp(1.55rem,2.8vw,2.5rem);--rs-lead:clamp(1rem,1.3vw,1.18rem);--rs-media-ratio:4 / 5;--rs-shadow:0 1px 2px rgba(16,18,22,.06),0 14px 34px -20px rgba(16,18,22,.38);--rs-motion:.28s cubic-bezier(.2,.7,.2,1);--rs-accent-2:var(--rs-accent);
  font-family:var(--rs-font-body);color:var(--rs-ink);background:var(--rs-bg);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.rs-root *,.rs-root *::before,.rs-root *::after{box-sizing:border-box}
.rs-root h1,.rs-root h2,.rs-root h3,.rs-root h4,.rs-root p,.rs-root ul,.rs-root ol,.rs-root figure,.rs-root blockquote{margin:0;padding:0}
.rs-root ul,.rs-root ol{list-style:none}
.rs-root img{display:block;max-width:100%;height:auto}
.rs-root a:not(.rs-btn){color:inherit;text-decoration:none}
.rs-root button{font:inherit;color:inherit}
.rs-root :focus-visible{outline:2px solid var(--rs-accent);outline-offset:3px;border-radius:4px}
.rs-wrap{width:100%;max-width:var(--rs-wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,32px)}
.rs-display{font-family:var(--rs-font-display);font-weight:var(--rs-display-weight);letter-spacing:var(--rs-display-tracking);line-height:1.03;text-transform:var(--rs-display-transform)}
.rs-root h1.rs-display{font-size:var(--rs-h1)}
.rs-root h2.rs-display{font-size:var(--rs-h2)}
.rs-root h3{font-size:clamp(1.02rem,1.4vw,1.22rem);font-weight:650;letter-spacing:-.01em;line-height:1.25}
.rs-kicker{font-family:var(--rs-font-mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rs-accent)}
.rs-lead{font-size:var(--rs-lead);color:var(--rs-muted);max-width:62ch}
.rs-muted{color:var(--rs-muted)}
.rs-mono{font-family:var(--rs-font-mono)}
.rs-skip{position:absolute;left:-9999px;top:0;background:var(--rs-ink);color:var(--rs-bg);padding:10px 16px;z-index:60}
.rs-skip:focus{left:12px;top:12px}

/* buttons + chips */
.rs-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.85em 1.5em;border-radius:var(--rs-radius-sm);border:var(--rs-border) solid transparent;font-weight:600;font-size:.95rem;letter-spacing:.01em;cursor:pointer;transition:transform var(--rs-motion),background var(--rs-motion),color var(--rs-motion),border-color var(--rs-motion),box-shadow var(--rs-motion);text-align:center}
.rs-btn:hover{transform:translateY(-1px)}
.rs-btn:active{transform:translateY(0)}
.rs-btn-solid{background:var(--rs-accent);color:var(--rs-accent-ink);box-shadow:var(--rs-shadow)}
.rs-btn-solid:hover{background:var(--rs-accent-2);filter:brightness(1.03)}
.rs-btn-outline{border-color:var(--rs-line);background:transparent;color:var(--rs-ink)}
.rs-btn-outline:hover{border-color:var(--rs-ink)}
.rs-btn-ink{background:var(--rs-ink);color:var(--rs-bg)}
.rs-btn-sm{padding:.6em 1.1em;font-size:.85rem}
.rs-btn-lg{padding:1em 1.8em;font-size:1rem}
.rs-btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.rs-chip{display:inline-flex;align-items:center;gap:.45em;padding:.5em .95em;border:var(--rs-border) solid var(--rs-line);border-radius:999px;font-size:.82rem;color:var(--rs-muted);transition:border-color var(--rs-motion),color var(--rs-motion),background var(--rs-motion)}
.rs-chip:hover,.rs-chip[aria-current="page"]{border-color:var(--rs-ink);color:var(--rs-ink)}
.rs-badge{display:inline-flex;align-items:center;gap:.4em;font-family:var(--rs-font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rs-muted)}
.rs-badge-solid{background:var(--rs-accent);color:var(--rs-accent-ink);padding:.35em .7em;border-radius:999px}

/* announcement + header */
.rs-announce{background:var(--rs-ink);color:var(--rs-bg);font-size:.82rem;letter-spacing:.02em}
.rs-announce p{padding:.6em 0;text-align:center}
.rs-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--rs-bg) 88%,transparent);backdrop-filter:blur(14px) saturate(160%);border-bottom:var(--rs-border) solid var(--rs-line)}
.rs-header-inner{display:flex;align-items:center;gap:clamp(14px,3vw,40px);min-height:70px;padding-block:12px}
.rs-brand{display:inline-flex;align-items:center;gap:.6em;font-family:var(--rs-font-display);font-weight:var(--rs-display-weight);letter-spacing:var(--rs-display-tracking);font-size:1.12rem;text-transform:var(--rs-display-transform);white-space:nowrap}
.rs-brand img{height:34px;width:auto;max-width:190px;object-fit:contain}
.rs-brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:calc(var(--rs-radius-sm) * .8);background:var(--rs-accent);color:var(--rs-accent-ink);font-size:1rem}
.rs-nav{display:flex;align-items:center;gap:clamp(12px,2vw,26px);font-size:.92rem;margin-inline:auto;overflow-x:auto;scrollbar-width:none}
.rs-nav::-webkit-scrollbar{display:none}
.rs-nav a:not(.rs-btn){white-space:nowrap;color:var(--rs-muted);padding-block:6px;border-bottom:2px solid transparent;transition:color var(--rs-motion),border-color var(--rs-motion)}
.rs-nav a:not(.rs-btn):hover{color:var(--rs-ink);border-color:var(--rs-accent)}
.rs-actions{display:flex;align-items:center;gap:clamp(8px,1.4vw,16px);font-size:.9rem;margin-left:auto}
.rs-actions a:not(.rs-btn){color:var(--rs-muted)}
.rs-actions a:not(.rs-btn):hover{color:var(--rs-ink)}
.rs-utility{background:var(--rs-surface2);border-bottom:var(--rs-border) solid var(--rs-line);font-size:.78rem;color:var(--rs-muted)}
.rs-utility .rs-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:.5em}
.rs-utility nav{display:flex;gap:16px}
.rs-v-stacked .rs-header-inner{flex-direction:column;gap:6px;padding-block:16px}
.rs-v-stacked .rs-nav{margin-inline:0;justify-content:center;width:100%}
.rs-v-stacked .rs-actions{margin-left:0}
.rs-v-split .rs-brand{order:2;margin-inline:auto}
.rs-v-split .rs-nav{order:1;margin-inline:0}
.rs-v-split .rs-actions{order:3}
.rs-v-utility .rs-header-inner{min-height:64px}
.rs-v-utility .rs-nav{margin-inline:auto}

/* hero */
.rs-hero{position:relative;overflow:hidden}
.rs-hero-copy{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.rs-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.rs-hero-points{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:6px;font-size:.86rem;color:var(--rs-muted)}
.rs-hero-points li{display:flex;align-items:center;gap:.5em}
.rs-hero-points li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--rs-accent);flex:none}
.rs-hero-media{position:relative;border-radius:var(--rs-radius);overflow:hidden;background:var(--rs-surface2);box-shadow:var(--rs-shadow);aspect-ratio:var(--rs-media-ratio)}
.rs-hero-media img{width:100%;height:100%;object-fit:cover}
.rs-hero-media--wide{aspect-ratio:16 / 10}
.rs-monogram{display:grid;place-items:center;width:100%;height:100%;font-family:var(--rs-font-display);font-size:clamp(3rem,9vw,6rem);color:var(--rs-accent);background:linear-gradient(145deg,var(--rs-surface2),var(--rs-surface))}
.rs-v-split .rs-hero-inner{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;padding-block:var(--rs-band)}
.rs-v-full .rs-hero-inner{position:relative;display:grid;align-items:end;min-height:clamp(420px,62vh,640px);padding-block:clamp(48px,7vw,110px);color:#fff;border-radius:0}
.rs-v-full .rs-hero-media{position:absolute;inset:0;border-radius:0;box-shadow:none;aspect-ratio:auto}
.rs-v-full .rs-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,8,14,.16),rgba(6,8,14,.78))}
.rs-v-full .rs-hero-copy{position:relative;z-index:1;max-width:54rem}
.rs-v-full .rs-hero-copy .rs-lead{color:rgba(255,255,255,.86)}
.rs-v-full .rs-hero-points{color:rgba(255,255,255,.82)}
.rs-v-full .rs-kicker{color:rgba(255,255,255,.9)}
.rs-v-editorial .rs-hero-inner{display:flex;flex-direction:column;gap:22px;padding-block:var(--rs-band)}
.rs-v-editorial h1.rs-display{font-size:clamp(2.6rem,7.4vw,6rem);max-width:22ch}
.rs-v-editorial .rs-hero-copy{max-width:60rem}
.rs-v-editorial .rs-hero-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:clamp(20px,3vw,40px)}
.rs-v-editorial .rs-hero-strip .rs-hero-media{aspect-ratio:3 / 4;border-radius:var(--rs-radius-sm)}
.rs-v-editorial .rs-hero-strip .rs-hero-media:first-child{grid-column:span 2;aspect-ratio:auto}
.rs-v-stat .rs-hero-inner{display:grid;gap:clamp(24px,4vw,60px);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;padding-block:var(--rs-band)}
.rs-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--rs-gap);border-top:var(--rs-border) solid var(--rs-line);padding-top:22px}
.rs-facts div strong{display:block;font-family:var(--rs-font-display);font-size:clamp(1.5rem,3vw,2.3rem);letter-spacing:var(--rs-display-tracking);line-height:1.1}
.rs-facts div span{font-family:var(--rs-font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rs-muted)}
.rs-v-compact .rs-hero-inner{padding-block:clamp(30px,4.6vw,56px);display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:22px}
.rs-v-bento .rs-hero-inner{display:grid;gap:clamp(14px,1.6vw,22px);grid-template-columns:repeat(4,minmax(0,1fr));padding-block:var(--rs-band)}
.rs-v-bento .rs-hero-copy{grid-column:span 2;grid-row:span 2;justify-content:center}
.rs-v-bento .rs-hero-tile{position:relative;overflow:hidden;border-radius:var(--rs-radius);background:var(--rs-surface2);min-height:170px;box-shadow:var(--rs-shadow)}
.rs-v-bento .rs-hero-tile img{width:100%;height:100%;object-fit:cover;transition:transform var(--rs-motion)}
.rs-v-bento .rs-hero-tile:hover img{transform:scale(1.04)}
.rs-v-bento .rs-hero-tile figcaption{position:absolute;inset:auto 0 0 0;padding:14px 16px;background:linear-gradient(180deg,transparent,rgba(8,10,16,.72));color:#fff;font-size:.85rem;font-weight:600;display:flex;justify-content:space-between;gap:10px}
.rs-v-bento .rs-hero-media{grid-column:span 2;grid-row:span 2}
/* The base image reset already pins images to their natural box, so the hero
   logo needs the extra specificity of the root class to size it instead. */
.rs-root .rs-hero-logo{height:clamp(72px,9vw,124px);width:auto;max-width:min(340px,60vw);object-fit:contain}
.rs-hero--center .rs-hero-copy{align-items:center;text-align:center;margin-inline:auto}
.rs-hero--center .rs-hero-copy .rs-lead{margin-inline:auto;max-width:56ch}
.rs-hero--center .rs-hero-actions,.rs-hero--center .rs-hero-points{justify-content:center}
.rs-hero--center .rs-hero-points{margin-inline:auto}
.rs-v-full.rs-hero--center .rs-hero-copy,.rs-v-editorial.rs-hero--center .rs-hero-copy{max-width:62ch}
.rs-v-compact.rs-hero--center .rs-hero-inner{flex-direction:column;align-items:center;text-align:center}

/* bands + sections */
.rs-band{padding-block:var(--rs-band)}
.rs-band--alt{background:var(--rs-surface2)}
.rs-head{display:flex;align-items:end;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-bottom:clamp(22px,3vw,40px)}
.rs-head>div{display:flex;flex-direction:column;gap:10px;max-width:62ch}
.rs-head a.rs-link{font-size:.9rem;color:var(--rs-muted);border-bottom:1px solid var(--rs-line)}
.rs-head a.rs-link:hover{color:var(--rs-ink);border-color:var(--rs-accent)}
.rs-band-copy{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.rs-location-grid{display:grid;gap:clamp(18px,2.4vw,30px);grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr);align-items:stretch}
.rs-store-map{min-height:clamp(280px,32vw,420px);border-radius:var(--rs-radius);overflow:hidden;border:var(--rs-border) solid var(--rs-line);background:var(--rs-surface2);box-shadow:var(--rs-shadow)}
.rs-store-map .leaflet-container{font-family:var(--rs-font-body)}
.rs-location-meta{display:flex;flex-direction:column;gap:10px;justify-content:center;padding:clamp(18px,2.4vw,28px);border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius);background:var(--rs-surface)}
.rs-location-address{font-weight:600;line-height:1.5}
.rs-location-coords{font-family:var(--rs-font-mono);font-size:.75rem;letter-spacing:.1em;color:var(--rs-muted)}
.rs-location-contact{display:flex;flex-direction:column;gap:10px}
.rs-location-contact-title{margin:0;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rs-muted)}
.rs-location-line,.rs-location-hours{margin:0;line-height:1.5;color:var(--rs-muted);font-size:.92rem}
.rs-location-actions{display:flex;flex-wrap:wrap;gap:10px}
.rs-location--solo .rs-location-grid{grid-template-columns:minmax(0,1fr)}
.rs-store-pin{background:transparent;border:0}
.rs-store-pin-dot{display:block;width:18px;height:18px;border-radius:50%;background:var(--rs-accent);border:3px solid #fff;box-shadow:0 2px 10px rgba(8,10,16,.45)}

/* grid + cards */
.rs-grid{display:grid;gap:var(--rs-gap);grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.rs-card{display:flex;flex-direction:column;gap:14px;background:var(--rs-surface);border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius);overflow:hidden;transition:transform var(--rs-motion),box-shadow var(--rs-motion),border-color var(--rs-motion)}
.rs-card:hover{transform:translateY(-3px);box-shadow:var(--rs-shadow);border-color:color-mix(in srgb,var(--rs-accent) 45%,var(--rs-line))}
.rs-card-image{position:relative;display:block;aspect-ratio:var(--rs-media-ratio);background:var(--rs-surface2);overflow:hidden}
.rs-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--rs-motion)}
.rs-card:hover .rs-card-image img{transform:scale(1.045)}
.rs-card-image .rs-empty{display:grid;place-items:center;width:100%;height:100%;font-family:var(--rs-font-display);font-size:2.4rem;color:var(--rs-accent);background:linear-gradient(150deg,var(--rs-surface2),var(--rs-surface))}
.rs-card-flag{position:absolute;top:12px;left:12px}
.rs-card-body{display:flex;flex-direction:column;gap:8px;padding:0 18px 18px;flex:1}
.rs-card-body h3 a:hover{color:var(--rs-accent)}
.rs-card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:auto}
.rs-price{font-family:var(--rs-font-display);font-weight:600;font-size:1.02rem;letter-spacing:-.01em}
.rs-price del{font-family:var(--rs-font-body);font-weight:400;font-size:.84rem;color:var(--rs-muted);margin-left:.5em}
.rs-card-form{margin-top:auto}
.rs-card-form .rs-btn{width:100%}
.rs-v-frame .rs-card{border-width:var(--rs-border);background:var(--rs-surface);padding:12px;gap:12px}
.rs-v-frame .rs-card-image{border-radius:calc(var(--rs-radius) - 6px)}
.rs-v-frame .rs-card-body{padding:4px 6px 6px;align-items:center;text-align:center}
.rs-v-tile .rs-card{border:0;position:relative;background:transparent}
.rs-v-tile .rs-card-image{aspect-ratio:3 / 4;border-radius:var(--rs-radius)}
.rs-v-tile .rs-card-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 24%,rgba(8,10,16,.5) 52%,rgba(8,10,16,.88))}
.rs-v-tile .rs-card-body{position:absolute;inset:auto 0 0 0;padding:16px;color:#fff;gap:4px;text-shadow:0 1px 10px rgba(8,10,16,.65)}
.rs-v-tile .rs-card-body .rs-muted{color:rgba(255,255,255,.88)}
.rs-v-tile .rs-price{color:#fff}
.rs-v-tile .rs-card-meta{margin-top:6px}
.rs-v-tile .rs-card-form{margin-top:10px}
.rs-v-tile .rs-card-form .rs-btn{background:#fff;color:#101216}
.rs-grid.rs-v-row{grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr));gap:14px}
.rs-v-row .rs-card{flex-direction:row;align-items:center;padding:14px}
.rs-v-row .rs-card-image{width:112px;flex:none;aspect-ratio:1 / 1;border-radius:var(--rs-radius-sm)}
.rs-v-row .rs-card-body{padding:0;gap:6px}
.rs-v-row .rs-card-meta{margin-top:4px}
.rs-v-row .rs-card-form{margin-top:6px}

/* ticker */
.rs-ticker{border-block:var(--rs-border) solid var(--rs-line);background:var(--rs-ink);color:var(--rs-bg);overflow:hidden}
.rs-ticker-track{display:flex;gap:48px;padding-block:.85em;white-space:nowrap;font-family:var(--rs-font-mono);font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;animation:rs-ticker 34s linear infinite;width:max-content}
.rs-ticker-track span{display:inline-flex;align-items:center;gap:48px}
.rs-ticker-track span::after{content:"◦";opacity:.5}
@keyframes rs-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.rs-ticker-track{animation:none}.rs-card:hover{transform:none}}

/* value strip + steps */
.rs-value{border-bottom:var(--rs-border) solid var(--rs-line)}
.rs-value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(18px,2.6vw,40px);padding-block:clamp(26px,4vw,44px)}
.rs-value-item{display:flex;gap:14px;align-items:flex-start}
.rs-value-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:calc(var(--rs-radius-sm) * .9);background:var(--rs-surface2);border:var(--rs-border) solid var(--rs-line);font-size:1rem}
.rs-value-item strong{display:block;font-size:.96rem}
.rs-value-item p{font-size:.86rem;color:var(--rs-muted)}
.rs-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--rs-gap);counter-reset:rs-step}
.rs-step{border-top:2px solid var(--rs-accent);padding-top:18px;display:flex;flex-direction:column;gap:8px}
.rs-step::before{counter-increment:rs-step;content:"0" counter(rs-step);font-family:var(--rs-font-mono);font-size:.78rem;color:var(--rs-accent);letter-spacing:.14em}
.rs-step p{color:var(--rs-muted);font-size:.92rem}

/* categories + editorial */
.rs-cats{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.rs-cat{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:26px;min-height:150px;padding:20px;border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius);background:var(--rs-surface);transition:border-color var(--rs-motion),transform var(--rs-motion),background var(--rs-motion)}
.rs-cat:hover{border-color:var(--rs-accent);transform:translateY(-2px)}
.rs-cat strong{font-family:var(--rs-font-display);font-size:1.15rem;letter-spacing:var(--rs-display-tracking)}
.rs-cat small{font-family:var(--rs-font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rs-muted)}
.rs-split{display:grid;gap:clamp(22px,3.6vw,54px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.rs-split .rs-hero-media{aspect-ratio:4 / 3}
.rs-quote{border-left:3px solid var(--rs-accent);padding-left:22px;font-family:var(--rs-font-display);font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.35}

/* journal */
.rs-posts{display:grid;gap:var(--rs-gap);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.rs-post{display:flex;flex-direction:column;gap:10px;padding:22px;border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius);background:var(--rs-surface);transition:border-color var(--rs-motion)}
.rs-post:hover{border-color:var(--rs-accent)}
.rs-post time{font-family:var(--rs-font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rs-muted)}
.rs-post h3 a:hover{color:var(--rs-accent)}
.rs-post p{color:var(--rs-muted);font-size:.92rem}

/* cta */
.rs-cta{background:var(--rs-ink);color:var(--rs-bg)}
.rs-cta .rs-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding-block:clamp(34px,5vw,64px)}
.rs-cta h2{font-size:var(--rs-h2)}
.rs-cta p{color:color-mix(in srgb,var(--rs-bg) 72%,transparent);max-width:52ch}
.rs-cta .rs-btn-solid{background:var(--rs-bg);color:var(--rs-ink)}

/* footer */
.rs-footer{border-top:var(--rs-border) solid var(--rs-line);background:var(--rs-surface2);margin-top:var(--rs-band)}
.rs-footer-inner{display:grid;gap:clamp(24px,3.4vw,48px);grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,.9fr));padding-block:clamp(34px,5vw,60px)}
.rs-footer h2{font-family:var(--rs-font-mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rs-muted);margin-bottom:12px}
.rs-footer nav{display:flex;flex-direction:column;gap:9px;font-size:.92rem}
.rs-footer nav a{color:var(--rs-muted)}
.rs-footer nav a:hover{color:var(--rs-ink)}
.rs-footer-brand p{color:var(--rs-muted);font-size:.92rem;margin-top:10px;max-width:34ch}
.rs-footer-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.rs-footer-badges span{font-family:var(--rs-font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rs-muted);border:var(--rs-border) solid var(--rs-line);padding:.4em .7em;border-radius:999px}
.rs-pay{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.rs-pay-badge{font-size:.76rem;border:var(--rs-border) solid var(--rs-line);border-radius:999px;padding:.4em .8em;color:var(--rs-muted);background:var(--rs-surface)}
.rs-footer-note{border-top:var(--rs-border) solid var(--rs-line);padding-block:18px;font-size:.82rem;color:var(--rs-muted);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rs-v-compact .rs-footer-inner{grid-template-columns:1fr;padding-block:26px;gap:18px}
.rs-v-mega .rs-footer-inner{grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr))}
.rs-footer.rs-content .rs-footer-inner{grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,.8fr))}

/* product detail */
.rs-detail{padding-block:clamp(26px,4vw,54px)}
.rs-crumb{font-size:.84rem;color:var(--rs-muted);display:flex;gap:8px;margin-bottom:20px}
.rs-crumb a:hover{color:var(--rs-ink)}
.rs-detail-grid{display:grid;gap:clamp(24px,3.8vw,56px);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start}
.rs-detail-media{border-radius:var(--rs-radius);overflow:hidden;background:var(--rs-surface2);border:var(--rs-border) solid var(--rs-line);aspect-ratio:1 / 1}
.rs-detail-media img{width:100%;height:100%;object-fit:cover}
.rs-detail-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;margin-top:12px}
.rs-detail-thumbs img{border-radius:var(--rs-radius-sm);aspect-ratio:1 / 1;object-fit:cover;border:var(--rs-border) solid var(--rs-line)}
.rs-detail-info{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.rs-detail-price{font-family:var(--rs-font-display);font-size:clamp(1.3rem,2.4vw,1.8rem)}
.rs-prose{color:var(--rs-muted);max-width:70ch}
.rs-buy{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:18px;border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius);background:var(--rs-surface);width:100%}
.rs-buy label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:var(--rs-muted)}
.rs-buy input[type=number]{width:92px;padding:.7em .8em;border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius-sm);background:var(--rs-bg);color:var(--rs-ink)}
.rs-facts-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;width:100%;border-top:var(--rs-border) solid var(--rs-line);padding-top:16px}
.rs-facts-list div span{display:block;font-family:var(--rs-font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rs-muted)}
.rs-facts-list div strong{font-weight:600;font-size:.95rem}
.rs-v-stacked .rs-detail-grid{grid-template-columns:minmax(0,1fr)}
.rs-v-stacked.rs-detail .rs-detail-media{max-width:760px}
.rs-out{padding:16px 18px;border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius);background:var(--rs-surface2);color:var(--rs-muted);font-size:.92rem}

/* shop + search + article + status */
.rs-page-head{padding-block:clamp(30px,4.6vw,60px) 0;display:flex;flex-direction:column;gap:14px}
.rs-filters{display:flex;flex-wrap:wrap;gap:10px;padding-block:22px}
.rs-search{display:flex;gap:10px;flex-wrap:wrap;padding-block:22px}
.rs-search input{flex:1;min-width:220px;padding:.85em 1em;border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius-sm);background:var(--rs-surface);color:var(--rs-ink)}
.rs-empty{padding:clamp(28px,4vw,54px);border:var(--rs-border) dashed var(--rs-line);border-radius:var(--rs-radius);text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}
.rs-article{padding-block:clamp(30px,4.6vw,64px);max-width:78ch}
.rs-article h1{margin-bottom:16px}
.rs-article .rs-prose{font-size:1.02rem;line-height:1.75}
.rs-status{padding-block:clamp(60px,9vw,130px);display:flex;flex-direction:column;gap:16px;align-items:flex-start}

/* booking + tracking */
.rs-form{display:flex;flex-direction:column;gap:16px;max-width:640px}
.rs-form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--rs-muted)}
.rs-form input,.rs-form textarea,.rs-form select{padding:.85em .9em;border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius-sm);background:var(--rs-surface);color:var(--rs-ink);font:inherit;width:100%}
.rs-form textarea{min-height:88px;resize:vertical}
.rs-form .rs-form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rs-form fieldset{border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius);padding:14px 16px;display:flex;flex-direction:column;gap:10px;margin:0}
.rs-form legend{padding-inline:8px;font-family:var(--rs-font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rs-muted)}
.rs-form .rs-choice{flex-direction:row;align-items:center;gap:10px;font-size:.92rem;color:var(--rs-ink)}
.rs-form .rs-choice input{width:auto;accent-color:var(--rs-accent)}
.rs-quote{display:flex;flex-direction:column;gap:10px;padding:18px;border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius);background:var(--rs-surface);max-width:640px}
.rs-quote div{display:flex;justify-content:space-between;gap:14px;font-size:.95rem}
.rs-quote div + div{border-top:var(--rs-border) solid var(--rs-line);padding-top:10px}
.rs-quote .rs-quote-total{font-weight:600}
.rs-steps-list{display:flex;flex-direction:column;gap:14px;max-width:560px}
.rs-step{display:flex;gap:14px;align-items:flex-start}
.rs-step-dot{width:26px;height:26px;border-radius:50%;border:var(--rs-border) solid var(--rs-line);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-family:var(--rs-font-mono);color:var(--rs-muted);flex:none}
.rs-step.rs-done .rs-step-dot{border-color:var(--rs-accent);background:var(--rs-accent);color:var(--rs-accent-ink)}
.rs-step.rs-current .rs-step-dot{border-color:var(--rs-accent);color:var(--rs-accent)}
.rs-step small{display:block;color:var(--rs-muted);margin-top:2px}

/* commerce pages: cart, checkout, order and account bodies are written by
   lib/storefront-commerce-routes.js and must read as part of the theme. */
.rs-commerce{display:flex;flex-direction:column;gap:16px;padding-block:clamp(30px,4.6vw,60px);max-width:900px}
.rs-commerce h2{font-size:1.15rem}
.rs-commerce p,.rs-commerce address{color:var(--rs-muted);font-style:normal}
.rs-commerce form{display:flex;flex-direction:column;gap:14px;max-width:640px;padding:18px;border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius);background:var(--rs-surface)}
.rs-commerce label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--rs-muted)}
.rs-commerce input,.rs-commerce textarea,.rs-commerce select{padding:.85em .9em;border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius-sm);background:var(--rs-bg);color:var(--rs-ink);font:inherit;width:100%}
.rs-commerce textarea{min-height:88px;resize:vertical}
.rs-commerce fieldset{border:var(--rs-border) solid var(--rs-line);border-radius:var(--rs-radius);padding:14px 16px;display:flex;flex-direction:column;gap:10px;margin:0}
.rs-commerce legend{padding-inline:8px;font-family:var(--rs-font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rs-muted)}
.rs-commerce .tenant-checkout-choice{flex-direction:row;align-items:center;gap:10px;font-size:.92rem;color:var(--rs-ink)}
.rs-commerce .tenant-checkout-choice input{width:auto;accent-color:var(--rs-accent)}
.rs-commerce button,.rs-commerce .tenant-store-button{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:.8em 1.4em;border:0;border-radius:var(--rs-radius-sm);background:var(--rs-accent);color:var(--rs-accent-ink);font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.rs-commerce table{width:100%;border-collapse:collapse;font-size:.95rem}
.rs-commerce th,.rs-commerce td{text-align:left;padding:10px 12px;border-bottom:var(--rs-border) solid var(--rs-line)}
.rs-commerce th{font-family:var(--rs-font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rs-muted)}
.rs-commerce td form{padding:0;border:0;background:none;flex-direction:row;align-items:center;gap:8px;max-width:none}
.rs-commerce td input[type=number]{width:88px}
.rs-commerce td button{padding:.5em .9em;font-size:.82rem}
.rs-commerce .rs-order-items{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0;margin:0}
.rs-commerce .rs-order-items li{display:flex;flex-wrap:wrap;gap:12px;padding-bottom:8px;border-bottom:var(--rs-border) solid var(--rs-line)}
.rs-commerce ul:not(.rs-order-items){display:flex;flex-direction:column;gap:10px;padding-left:1.1em}
.rs-commerce [role=alert]{padding:14px 16px;border-radius:var(--rs-radius);border:var(--rs-border) solid var(--rs-accent);background:var(--rs-surface2);color:var(--rs-ink)}
.rs-commerce [role=status]{padding:14px 16px;border-radius:var(--rs-radius);background:var(--rs-surface2);color:var(--rs-ink)}

.rs-preview{background:#0a1730;color:#eaf1ff;font-size:.82rem;display:flex;justify-content:center}
.rs-preview .rs-wrap{display:flex;gap:14px;align-items:center;justify-content:center;padding-block:.6em;flex-wrap:wrap}
.rs-preview strong{color:#fff}

/* Floating WhatsApp launcher. Only emitted for a store that has saved a
   WhatsApp number, so no existing storefront gains it. */
.rs-wa{position:fixed;right:clamp(16px,2.4vw,28px);bottom:clamp(16px,2.4vw,28px);z-index:60;display:flex;align-items:center;gap:9px;padding:12px 17px;border-radius:999px;background:#1faa54;color:#fff;font-size:.88rem;font-weight:600;line-height:1;box-shadow:0 10px 26px -8px rgba(8,40,20,.55);transition:transform var(--rs-motion),box-shadow var(--rs-motion)}
.rs-wa:hover,.rs-wa:focus-visible{transform:translateY(-2px);color:#fff;box-shadow:0 14px 30px -8px rgba(8,40,20,.6)}
.rs-wa svg{width:21px;height:21px;flex:none;fill:currentColor}

@media (max-width:1000px){
  .rs-v-split .rs-hero-inner,.rs-v-stat .rs-hero-inner,.rs-split,.rs-detail-grid{grid-template-columns:minmax(0,1fr)}
  .rs-v-bento .rs-hero-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rs-v-bento .rs-hero-copy,.rs-v-bento .rs-hero-media{grid-column:span 2;grid-row:auto}
  .rs-location-grid{grid-template-columns:minmax(0,1fr)}
  .rs-footer-inner,.rs-v-mega .rs-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rs-footer.rs-content .rs-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:680px){
  .rs-header-inner{flex-wrap:wrap;min-height:0}
  .rs-nav{order:3;width:100%;margin-inline:0}
  .rs-v-split .rs-brand{order:1;margin-inline:0}
  .rs-v-bento .rs-hero-inner{grid-template-columns:1fr}
  .rs-v-bento .rs-hero-copy,.rs-v-bento .rs-hero-media{grid-column:span 1}
  .rs-footer-inner,.rs-v-mega .rs-footer-inner{grid-template-columns:1fr}
  .rs-footer.rs-content .rs-footer-inner{grid-template-columns:1fr}
  .rs-form .rs-form-row{grid-template-columns:1fr}
  .rs-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .rs-wa span{display:none}
  .rs-wa{padding:14px;gap:0}
}
