@import url("fonts/inter.css");

:root {
  color-scheme: light;
  --sy-ink: #171914;
  --sy-ink-soft: #292d23;
  --sy-paper: #f5f5ee;
  --sy-white: #fff;
  --sy-muted: #575b4f;
  --sy-line: #d9dcd0;
  --sy-lime: #e2fb73;
  --sy-lime-hover: #d2ed56;
  --sy-tint: #e8ebde;
  --sy-error: #872d26;
  --sy-font: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sy-width: 1384px;
  --sy-gutter: clamp(14px, 3.2vw, 52px);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-padding-top: 24px; }
body {
  margin: 0;
  background: var(--sy-paper);
  color: var(--sy-ink);
  font: 400 15px/1.55 var(--sy-font);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, p { margin: 0; }
img { display: block; max-width: 100%; }
svg { display: block; flex: none; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { color: inherit; font: inherit; }
button, select { cursor: pointer; }
button:disabled { cursor: default; opacity: .55; }
:focus-visible { outline: 2px solid #5a6e1b; outline-offset: 3px; }
::selection { color: var(--sy-ink); background: var(--sy-lime); }

.at-wrap { width: min(calc(100% - 2 * var(--sy-gutter)), var(--sy-width)); margin-inline: auto; }
.at-skip {
  position: fixed;
  inset: 8px auto auto 8px;
  transform: translateY(-160%);
  z-index: 20;
  padding: 10px 16px;
  background: var(--sy-lime);
  color: var(--sy-ink);
}
.at-skip:focus { transform: none; }
.at-top { border-bottom: 1px solid var(--sy-line); background: var(--sy-white); }
.sy-utility { color: #e6e9de; background: var(--sy-ink); }
.sy-utility-inner {
  min-height: 35px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px 22px;
  font-size: 11px;
  font-weight: 580;
}
.sy-utility a { display: inline-flex; align-items: center; gap: 6px; }
.sy-utility a:hover { color: var(--sy-lime); }
.sy-utility-inner > span {
  display: flex;
  gap: 7px;
  align-items: center;
  color: var(--sy-lime);
  font-size: 10px;
  font-weight: 740;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.sy-utility-inner > span::before {
  content: "";
  width: 7px;
  height: 7px;
  border: 1px solid currentColor;
  transform: rotate(45deg);
  flex: none;
}
.sy-utility-links { display: flex; align-items: center; gap: 19px; }
.at-top-inner {
  min-height: 79px;
  display: grid;
  grid-template-columns: minmax(142px, .72fr) minmax(190px, 1.4fr) auto;
  align-items: center;
  gap: clamp(12px, 2.8vw, 38px);
}
.at-brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: max-content;
  white-space: nowrap;
  color: var(--sy-ink);
  font-size: clamp(21px, 2.1vw, 28px);
  font-weight: 860;
  line-height: 1;
  letter-spacing: -.09em;
}
.at-brand img { width: 38px; height: 38px; flex: none; }
.at-brand b { margin-left: 1px; font-weight: inherit; }
.at-brand i { color: #6e7c43; font-size: 13px; font-style: normal; letter-spacing: -.05em; }
.at-nav-band { border-top: 1px solid var(--sy-line); }
.at-nav {
  display: flex;
  align-items: center;
  gap: 0;
  min-height: 45px;
}
.at-nav a {
  display: inline-flex;
  min-height: 45px;
  align-items: center;
  gap: 8px;
  border-bottom: 2px solid transparent;
  padding: 0 clamp(9px, 1.6vw, 22px);
  color: var(--sy-muted);
  font-size: 12px;
  font-weight: 670;
  white-space: nowrap;
}
.at-nav a:first-child { margin-left: -12px; }
.at-nav a:hover, .at-nav a[aria-current=page] {
  color: var(--sy-ink);
  background: #f3f5e9;
  border-color: var(--sy-ink);
}
.at-nav a.sy-nav-deal { color: var(--sy-ink); }
.at-nav a.sy-nav-deal svg { color: #6b7c20; }
.at-controls, .sy-choices { display: flex; gap: 6px; align-items: center; }
.at-switch {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-height: 34px;
  padding: 0 5px 0 7px;
  border: 1px solid var(--sy-line);
}
.at-switch select {
  width: auto;
  max-width: 100px;
  border: 0;
  background: transparent;
  color: var(--sy-ink);
  font-size: 11px;
  font-weight: 660;
}
.at-cart-link, .at-icon-button, .at-menu-toggle {
  display: inline-flex;
  min-width: 39px;
  min-height: 39px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid var(--sy-ink);
  padding: 0 9px;
  background: var(--sy-white);
  font-size: 12px;
  font-weight: 700;
}
.at-cart-link { background: var(--sy-lime); white-space: nowrap; }
.at-cart-link:hover, .at-icon-button:hover:not(:disabled), .at-menu-toggle:hover { background: var(--sy-lime-hover); }
.at-cart-link b {
  display: grid;
  min-width: 19px;
  height: 19px;
  place-items: center;
  background: var(--sy-ink);
  color: var(--sy-white);
  font-size: 10px;
}
.at-menu-toggle, .at-mobile-search, .at-mobile-nav { display: none; }
.at-locales-fallback { display: flex; gap: 6px; flex-wrap: wrap; margin-block: 8px; }
.at-search-form {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  background: var(--sy-paper);
  border: 1px solid var(--sy-line);
  padding-left: 10px;
}
.at-search-form > svg { color: var(--sy-muted); }
.at-search-form input {
  min-width: 0;
  flex: 1;
  min-height: 37px;
  border: 0;
  padding: 0 3px;
  background: transparent;
  font-size: 13px;
}
.at-search-form button { min-height: 38px; font-size: 12px; }
.at-btn, .at-btn-outline {
  display: inline-flex;
  min-height: 43px;
  max-width: 100%;
  width: max-content;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--sy-ink);
  padding: 8px 15px;
  background: var(--sy-ink);
  color: var(--sy-white);
  font-size: 13px;
  line-height: 1.3;
  font-weight: 690;
  text-align: center;
  overflow-wrap: anywhere;
  transition: background-color .16s, color .16s;
}
.at-btn:hover { background: var(--sy-ink-soft); }
.at-btn-outline { background: transparent; color: var(--sy-ink); }
.at-btn-outline:hover { background: var(--sy-lime); }
.at-link {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  color: #46541f;
  text-decoration: underline;
  text-underline-offset: .22em;
  font-size: 13px;
  font-weight: 680;
  overflow-wrap: anywhere;
}
.at-link:hover { color: var(--sy-ink); }
.at-link svg { align-self: center; }

.at-main { min-height: 54vh; padding-block: clamp(23px, 4.4vw, 58px) clamp(48px, 6.1vw, 91px); }
.sy-home .at-main { padding-top: clamp(16px, 2vw, 28px); }
.sy-home-top {
  display: grid;
  grid-template-columns: minmax(146px, .48fr) minmax(0, 2.65fr);
  gap: 13px;
}
.sy-shelf {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid var(--sy-line);
  background: var(--sy-white);
}
.sy-shelf-heading, .sy-shelf-foot {
  padding: 15px 13px;
  color: var(--sy-muted);
  font-size: 10px;
  font-weight: 720;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.sy-shelf nav { padding-inline: 8px; }
.sy-shelf nav a {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 43px;
  padding: 7px;
  font-size: 12px;
  font-weight: 650;
  overflow-wrap: anywhere;
}
.sy-shelf nav a + a { border-top: 1px solid var(--sy-line); }
.sy-shelf nav a svg:last-child { margin-left: auto; }
.sy-shelf nav a:hover { background: var(--sy-lime); }
.sy-shelf-foot { display: flex; align-items: center; gap: 6px; border-top: 1px solid var(--sy-line); }
.sy-shelf-foot svg { color: #5f7029; }
.at-hero {
  display: grid;
  min-height: clamp(320px, 38vw, 480px);
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  gap: 1px;
  border: 1px solid var(--sy-ink);
  background: var(--sy-ink);
}
.at-hero-copy {
  position: relative;
  isolation: isolate;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(12px, 2vw, 24px);
  padding: clamp(22px, 4.1vw, 61px);
  overflow: hidden;
  background: var(--sy-lime);
}
.at-hero-copy::after {
  position: absolute;
  z-index: -1;
  content: "";
  width: 190px;
  height: 190px;
  right: -83px;
  bottom: -93px;
  border: 1px solid #99ac40;
  box-shadow: 0 0 0 13px #d5ee63, 0 0 0 14px #a3b648, 0 0 0 27px #d5ee63, 0 0 0 28px #a3b648;
  transform: rotate(45deg);
}
.at-eyebrow {
  color: #4d5a2a;
  font-size: 10px;
  font-weight: 790;
  letter-spacing: .13em;
  line-height: 1.4;
  text-transform: uppercase;
}
.at-hero h1 {
  font-size: clamp(34px, 5vw, 77px);
  font-weight: 840;
  letter-spacing: -.085em;
  line-height: .98;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
html:not([lang=en]) .at-hero h1 { font-size: clamp(31px, 4.25vw, 61px); letter-spacing: -.06em; }
.at-hero-copy > p:not(.at-eyebrow) { max-width: 38ch; color: #353b23; font-size: clamp(13px, 1.2vw, 16px); }
.at-hero-actions, .at-product-actions, .at-shop-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.at-hero-image, .at-hero-art { position: relative; min-width: 0; overflow: hidden; background: #cbd3bb; }
.at-hero-image > img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.at-hero-image > img[src$="catalog-fallback.svg"] { object-fit: contain; }
.at-hero-feature {
  position: absolute;
  inset: auto 13px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 12px 12px 15px;
  background: var(--sy-white);
  color: var(--sy-ink);
  border: 1px solid var(--sy-ink);
}
.at-hero-feature small { display: block; color: var(--sy-muted); font-size: 9px; font-weight: 720; letter-spacing: .13em; text-transform: uppercase; }
.at-hero-feature strong {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: clamp(13px, 1.25vw, 18px);
  line-height: 1.28;
}
.at-hero-feature-icon { display: grid; flex: none; width: 34px; height: 34px; place-items: center; background: var(--sy-lime); }
.at-hero-art { display: grid; place-items: center; color: #576346; }
.at-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  border: 1px solid var(--sy-ink);
  margin-top: 13px;
  background: var(--sy-ink);
  color: var(--sy-white);
}
.at-fact {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 58px;
  padding: 9px 12px;
  font-size: 12px;
}
.at-fact + .at-fact { border-left: 1px solid #4b5044; }
.at-fact:hover { background: var(--sy-ink-soft); }
.at-fact > svg:last-child { margin-left: auto; color: var(--sy-lime); }
.at-fact-icon { color: var(--sy-lime); }
.at-section { margin-top: clamp(35px, 5vw, 72px); }
.at-section-head {
  min-width: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px 18px;
  border-top: 1px solid var(--sy-ink);
  padding-top: 12px;
  margin-bottom: 15px;
}
.at-section-head > div { min-width: 0; }
.at-section-head h2, .at-split-strip h2 {
  font-size: clamp(24px, 3.2vw, 44px);
  font-weight: 780;
  letter-spacing: -.07em;
  line-height: 1.03;
}
.at-section-head p, .at-split-strip p { margin-top: 7px; color: var(--sy-muted); font-size: 14px; }
.at-section-head > a { flex: 0 1 auto; min-width: 0; }
.at-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 15px; }
.at-chip {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 3px 9px;
  border: 1px solid var(--sy-line);
  background: var(--sy-white);
  color: var(--sy-muted);
  font-size: 12px;
  font-weight: 650;
}
.at-chip:hover { border-color: var(--sy-ink); background: var(--sy-lime); color: var(--sy-ink); }
.at-grid, .at-guide-grid, .at-video-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(8px,1.4vw,20px); }
.at-card { min-width: 0; background: var(--sy-white); border: 1px solid var(--sy-line); }
.at-card:hover { border-color: #7b8466; }
.at-product-card { display: flex; flex-direction: column; }
.at-card-media, .at-guide-media {
  display: grid;
  position: relative;
  place-items: center;
  overflow: hidden;
  aspect-ratio: 1.14;
  background: var(--sy-tint);
}
.at-card-media img, .at-guide-media img { width: 100%; height: 100%; object-fit: cover; }
.at-card-media img[src$="catalog-fallback.svg"] { object-fit: contain; }
.at-card-body { padding: clamp(9px, 1.25vw, 17px); }
.at-product-card .at-card-body { display: flex; flex: 1; flex-direction: column; }
.at-card-body h3 { font-size: clamp(13px, 1.25vw, 16px); font-weight: 740; line-height: 1.33; overflow-wrap: anywhere; }
.at-card-body h3 a:hover { text-decoration: underline; text-underline-offset: .15em; }
.at-card-body > p:not(.at-card-kicker,.at-card-meta) { color: var(--sy-muted); font-size: 12px; margin-top: 6px; }
.at-card-kicker { margin-bottom: 4px; color: #596333; font-size: 10px; font-weight: 790; letter-spacing: .055em; text-transform: uppercase; }
.at-card-meta { color: var(--sy-muted); font-size: 11px; margin-top: 5px; }
.at-card-bottom { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 5px; margin-top: auto; padding-top: 10px; }
.at-card-price { font-size: clamp(13px,1.35vw,18px); font-weight: 810; letter-spacing: -.055em; overflow-wrap: anywhere; }
.at-card-bottom .at-icon-button { min-width: 34px; min-height: 34px; padding: 0 5px; background: var(--sy-lime); }
.at-card-bottom form { margin-left: auto; }
.at-guide-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.at-guide-media, .at-video-media { aspect-ratio: 1.8; }
.at-guide-media > svg { color: #4d5a33; }
.at-play { position: absolute; bottom: 10px; left: 10px; padding: 8px; background: var(--sy-ink); color: var(--sy-lime); }
.at-image-empty { display: grid; place-items: center; min-height: 60px; color: #677359; }
.at-directory-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.at-directory-card {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 64px;
  padding: 9px;
  background: var(--sy-white);
  border: 1px solid var(--sy-line);
}
.at-directory-card:hover { background: var(--sy-lime); border-color: var(--sy-ink); }
.at-directory-card h3 { font-size: 13px; font-weight: 730; overflow-wrap: anywhere; line-height: 1.22; }
.at-directory-card p { color: var(--sy-muted); font-size: 11px; overflow-wrap: anywhere; }
.at-directory-card img, .at-directory-mark { width: 38px; height: 38px; object-fit: contain; }
.at-directory-mark { display: grid; place-items: center; background: var(--sy-tint); color: var(--sy-ink); font-size: 12px; font-weight: 750; }
.at-split-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: clamp(19px, 3.4vw, 43px);
  border: 1px solid var(--sy-ink);
  background: var(--sy-lime);
}
.at-split-strip p { color: #384220; }

.at-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; margin-bottom: 15px; color: var(--sy-muted); font-size: 12px; }
.at-breadcrumb a:hover { color: var(--sy-ink); text-decoration: underline; }
.at-crumb-current { min-width: 0; max-width: 100%; color: var(--sy-ink); overflow-wrap: anywhere; }
.at-heading { max-width: 76ch; margin-bottom: clamp(18px,2.5vw,33px); }
.at-heading .at-eyebrow { margin-bottom: 8px; }
.at-heading h1, .at-product-info h1 {
  font-size: clamp(31px,5vw,65px);
  font-weight: 800;
  letter-spacing: -.073em;
  line-height: 1.01;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.at-heading > p:not(.at-eyebrow) { color: var(--sy-muted); margin-top: 10px; font-size: 14px; }
.at-filter {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) repeat(3,minmax(0,1fr)) auto;
  align-items: end;
  gap: 9px;
  padding: 13px;
  background: var(--sy-white);
  border: 1px solid var(--sy-line);
  margin-bottom: 13px;
}
.at-field { display: grid; align-content: start; gap: 4px; min-width: 0; color: #34392d; font-size: 12px; font-weight: 680; overflow-wrap: anywhere; }
.at-field input, .at-field textarea, .at-field select {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 41px;
  border: 1px solid #bcc0b2;
  padding: 7px 8px;
  border-radius: 0;
  background: var(--sy-white);
  color: var(--sy-ink);
  font-weight: 500;
}
.at-field textarea { min-height: 125px; resize: vertical; }
.at-field select { text-overflow: ellipsis; }
.at-results { display: flex; align-items: center; justify-content: space-between; gap: 6px 12px; margin-block: 12px; color: var(--sy-muted); font-size: 12px; font-weight: 670; }
.at-empty { padding: 25px 18px; border: 1px dashed #a9b19d; background: #f0f2e8; }
.at-empty h2 { font-size: 19px; }
.at-empty p { margin-top: 5px; color: var(--sy-muted); }
.at-pagination { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 20px; }
.at-page { display: grid; min-width: 40px; min-height: 39px; place-items: center; padding: 5px; background: var(--sy-white); border: 1px solid var(--sy-line); color: var(--sy-ink); font-weight: 690; }
.at-page:hover, .at-page[aria-current=page] { background: var(--sy-lime); border-color: var(--sy-ink); }

.at-detail { display: grid; grid-template-columns: minmax(0,1.04fr) minmax(0,.96fr); gap: clamp(12px, 2.3vw, 36px); align-items: start; }
.at-gallery { min-width: 0; }
.at-gallery-main { display: grid; place-items: center; aspect-ratio: 1.1; background: var(--sy-tint); border: 1px solid var(--sy-line); overflow: hidden; }
.at-gallery-main img { width: 100%; height: 100%; object-fit: contain; }
.at-gallery-thumbs { display: flex; gap: 7px; overflow-x: auto; padding: 5px 3px; margin-top: 5px; }
.at-gallery-thumbs a { flex: 0 0 56px; width: 56px; height: 56px; border: 1px solid var(--sy-line); background: var(--sy-white); }
.at-gallery-thumbs a[aria-current=true] { border-color: var(--sy-ink); outline: 1px solid var(--sy-ink); }
.at-gallery-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.at-product-info {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: clamp(15px, 2.8vw, 40px);
  background: var(--sy-white);
  border: 1px solid var(--sy-line);
}
.at-product-info h1 { font-size: clamp(27px, 4.4vw, 57px); }
.at-product-intro { color: var(--sy-muted); font-size: 14px; }
.at-price-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 9px; }
.at-price-line strong { font-size: clamp(25px,3vw,42px); font-weight: 820; line-height: 1; letter-spacing: -.065em; }
.at-price-line small { color: var(--sy-muted); }
.at-specs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--sy-line); border: 1px solid var(--sy-line); margin: 0; }
.at-spec { min-width: 0; background: var(--sy-white); padding: 6px 8px; overflow-wrap: anywhere; }
.at-spec dt { color: var(--sy-muted); font-size: 10px; font-weight: 720; text-transform: uppercase; }
.at-spec dd { margin: 0; font-size: 13px; font-weight: 680; }
.at-add-form, .at-quantity { display: inline-flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.at-quantity { gap: 0; }
.at-quantity input { min-width: 0; width: 37px; height: 39px; border: 1px solid var(--sy-ink); border-inline: 0; padding: 2px; text-align: center; font-size: 13px; appearance: textfield; }
.at-quantity input::-webkit-inner-spin-button, .at-quantity input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.at-quantity .at-icon-button { width: 31px; min-width: 31px; padding-inline: 3px; }
.sy-price-note {
  display: flex;
  align-items: center;
  gap: 8px;
  border-top: 1px solid var(--sy-line);
  padding-top: 10px;
  color: var(--sy-muted);
  font-size: 12px;
}
.sy-price-note > svg { color: #65752e; }

.at-pane, .at-article {
  min-width: 0;
  padding: clamp(15px, 2.45vw, 35px);
  border: 1px solid var(--sy-line);
  background: var(--sy-white);
  overflow-wrap: anywhere;
}
.at-pane > h2, .at-article h2 { margin-bottom: 9px; font-size: clamp(19px,2.6vw,31px); line-height: 1.12; letter-spacing: -.045em; }
.at-pane p + p, .at-article p + p { margin-top: 8px; }
.at-pane :where(h2,h3):not(:first-child), .at-article :where(h2,h3):not(:first-child) { margin-top: 20px; }
.at-longform { max-width: 87ch; }
.at-longform a:not(.at-btn,.at-btn-outline), .at-note a { color: #46541f; text-decoration: underline; text-underline-offset: .17em; }
.at-longform img { height: auto; }
.at-longform li + li { margin-top: 5px; }
.at-longform ul, .at-longform ol { padding-inline-start: 23px; }
.at-note { color: var(--sy-muted); font-size: 12px; }
.at-topic-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, .34fr); align-items: start; gap: 13px; }
.at-topic-figure { margin: 0 0 18px; background: var(--sy-tint); }
.at-topic-figure img { width: 100%; height: auto; max-height: 420px; object-fit: cover; }
.at-topic-cover img { max-height: 200px; object-fit: contain; }
.at-player { display: grid; position: relative; place-items: center; aspect-ratio: 1.77; background: var(--sy-ink); color: var(--sy-white); }
.at-player img, .at-player iframe { position: absolute; width: 100%; height: 100%; border: 0; object-fit: cover; }
.at-player button, .at-player a { position: relative; }
.at-form, .at-checkout-form { display: grid; gap: 11px; max-width: 100%; }
.at-form > .at-btn { justify-self: start; }
.at-hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.at-consent { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 3px 6px; color: var(--sy-muted); font-size: 12px; }
.at-consent input { flex: none; accent-color: #62742b; margin: 3px 0 0; }
.at-consent span { min-width: 0; flex: 1; }
.at-notice { margin: 0 0 13px; padding: 9px 12px; border-left: 4px solid #849655; background: #f0f3df; color: #333b25; font-size: 13px; }
.at-notice-error { background: #f8e9e5; color: var(--sy-error); border-color: var(--sy-error); }

.at-shop-layout { display: grid; grid-template-columns: minmax(0,1.42fr) minmax(250px,.58fr); align-items: start; gap: 13px; }
.at-shop-aside { display: grid; gap: 10px; background: #ecf0e0; border-color: #a6ae92; }
.at-shop-aside > h2 { margin-bottom: 0; }
.at-cart-lines { display: grid; }
.at-cart-line {
  display: grid;
  grid-template-columns: minmax(36px,57px) minmax(0,1fr) auto auto;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--sy-line);
  overflow-wrap: anywhere;
}
.at-cart-line img, .at-cart-image { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; background: var(--sy-tint); }
.at-cart-image { display: grid; place-items: center; color: var(--sy-muted); }
.at-cart-name { min-width: 0; font-size: 13px; font-weight: 710; }
.at-cart-name p { margin-top: 3px; color: var(--sy-muted); font-size: 11px; font-weight: 500; }
.at-cart-line-total { min-width: 0; font-size: 13px; overflow-wrap: anywhere; }
.at-cart-pane > .at-shop-actions, .at-order-pane > .at-shop-actions { margin-top: 13px; }
.at-cart-pane > .at-note { margin-top: 8px; }
.at-cart-empty { display: grid; align-items: start; justify-items: start; gap: 9px; }
.at-cart-empty > svg { color: #5d6e3b; }
.at-shop-totals { margin: 0; display: grid; gap: 3px; }
.at-shop-totals > div { display: flex; justify-content: space-between; gap: 8px; padding-block: 4px; color: #3f4538; font-size: 13px; }
.at-shop-totals dt, .at-shop-totals dd { min-width: 0; overflow-wrap: anywhere; }
.at-shop-totals dd { margin: 0; color: var(--sy-ink); font-weight: 660; text-align: right; }
.at-shop-totals .at-shop-grand { border-top: 1px solid var(--sy-ink); margin-top: 5px; padding-top: 9px; color: var(--sy-ink); font-size: 15px; font-weight: 790; }
.at-checkout-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.at-field-wide { grid-column: 1/-1; }
.at-payment-callout, .sy-payment-options {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  border: 1px solid #b5bf9e;
  padding: 9px;
  background: #f0f4e3;
  color: var(--sy-ink);
  font-size: 13px;
}
.at-payment-callout p, .sy-payment-options small { display: block; color: var(--sy-muted); font-size: 11px; }
.sy-payment-options { display: grid; gap: 6px; }
.sy-payment-options legend { padding: 0 4px; font-size: 12px; font-weight: 740; }
.sy-payment-options label { display: flex; gap: 8px; align-items: flex-start; padding: 6px 0; }
.sy-payment-options label + label { border-top: 1px solid var(--sy-line); }
.sy-payment-options input { margin: 4px 0 0; accent-color: #677634; }
.at-order-status {
  width: max-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 9px;
  margin-bottom: 10px;
  background: #e9edde;
  color: #334021;
  border: 1px solid #b7c39f;
  font-weight: 720;
}
.at-order-paid { background: var(--sy-lime); border-color: #7c9142; }
.at-order-expired, .at-order-review, .at-order-cancelled { background: #f7e8e0; color: var(--sy-error); border-color: #d9aaa0; }
.at-order-pane .at-note { margin-top: 8px; }
.at-shop-actions form { display: flex; flex-wrap: wrap; gap: 6px; }
.at-track-pane { max-width: 580px; }

.at-sticky-contact {
  position: fixed;
  inset: auto 16px 18px auto;
  z-index: 8;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  max-width: min(180px,calc(100% - 32px));
  min-height: 40px;
  border: 1px solid var(--sy-ink);
  box-shadow: 4px 4px 0 #33382b;
  color: var(--sy-ink);
  background: var(--sy-lime);
  font-size: 12px;
  font-weight: 740;
  overflow-wrap: anywhere;
}
.at-sticky-contact:hover { background: var(--sy-lime-hover); }
.at-footer { background: var(--sy-ink); color: #e7e9df; }
.at-foot-inner {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(180px,1.25fr) minmax(0,.75fr) minmax(0,1fr);
  align-items: start;
  gap: 14px 28px;
  padding-block: clamp(26px, 4.4vw, 57px) clamp(54px, 6vw, 90px);
}
.at-footer .at-brand { color: var(--sy-white); }
.at-footer .at-brand i { color: var(--sy-lime); }
.at-footer p { margin-top: 9px; max-width: 36ch; color: #b7bcab; font-size: 12px; }
.at-foot-links { display: grid; gap: 5px; font-size: 12px; font-weight: 620; }
.at-foot-links strong { margin-bottom: 4px; color: var(--sy-lime); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.at-foot-links a { width: max-content; max-width: 100%; overflow-wrap: anywhere; }
.at-foot-links a:hover { color: var(--sy-lime); text-decoration: underline; text-underline-offset: .15em; }

@media (max-width: 1000px) {
  .sy-home-top { grid-template-columns: minmax(0, 1fr); }
  .sy-shelf { display: none; }
  .at-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .at-directory-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .at-shop-layout { grid-template-columns: minmax(0,1.16fr) minmax(220px,.84fr); }
  .at-cart-line { grid-template-columns: minmax(32px,49px) minmax(0,1fr) auto; }
  .at-cart-line .at-quantity { grid-column: 2; grid-row: 2; }
  .at-cart-line-total { grid-column: 3; grid-row: 1; }
}

@media (max-width: 750px) {
  .sy-utility-inner { min-height: 30px; }
  .sy-utility-links { gap: 8px; }
  .sy-utility-links a:last-child { display: none; }
  .at-top-inner { grid-template-columns: minmax(0,1fr) auto; min-height: 56px; gap: 7px; }
  .at-brand { gap: 6px; font-size: 22px; }
  .at-brand img { width: 31px; height: 31px; }
  .at-brand i { display: none; }
  .at-header-search, .at-nav-band { display: none; }
  .at-menu-toggle { display: inline-flex; }
  .at-switch select { max-width: 67px; }
  .at-cart-link span { display: none; }
  .at-mobile-nav:not([hidden]) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; padding-bottom: 9px; }
  .at-mobile-nav a { display: flex; gap: 5px; align-items: center; min-height: 38px; padding: 4px 7px; background: var(--sy-paper); color: var(--sy-ink); font-size: 12px; overflow-wrap: anywhere; }
  .at-mobile-nav a[aria-current=page], .at-mobile-nav a:hover { background: var(--sy-lime); }
  .at-mobile-search { display: block; margin-bottom: 12px; }
  .at-hero { min-height: 295px; }
  .at-hero h1 { font-size: clamp(31px,6.4vw,53px); }
  html:not([lang=en]) .at-hero h1 { font-size: clamp(28px,5.6vw,46px); }
  .at-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .at-filter { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 8px; }
  .at-filter .at-btn { grid-column: 1/-1; }
  .at-detail, .at-topic-layout, .at-shop-layout { grid-template-columns: minmax(0,1fr); }
  .at-shop-aside .at-cart-line { grid-template-columns: minmax(28px,46px) minmax(0,1fr) auto; }
  .at-foot-inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .at-foot-inner > div:first-child { grid-column: 1/-1; }
}

@media (max-width: 480px) {
  .at-controls, .sy-choices { gap: 3px; }
  .at-switch { min-height: 31px; padding-inline: 2px; }
  .at-switch svg { display: none; }
  .at-switch select { max-width: 57px; font-size: 10px; }
  .at-cart-link, .at-menu-toggle { min-height: 34px; min-width: 32px; padding-inline: 4px; }
  .at-cart-link b { height: 14px; min-width: 14px; font-size: 8px; }
  .sy-utility-inner > span { font-size: 8px; }
  .sy-utility-inner a { font-size: 10px; }
  .at-hero { min-height: 0; grid-template-columns: minmax(0,1fr); }
  .at-hero-copy { gap: 11px; padding: 19px 16px; }
  .at-hero h1 { font-size: clamp(33px,9.7vw,50px); }
  html:not([lang=en]) .at-hero h1 { font-size: clamp(30px,7.5vw,42px); }
  .at-hero-image, .at-hero-art { min-height: 183px; }
  .at-hero-feature { inset: auto 7px 7px; padding: 7px 8px; }
  .at-hero-feature-icon { width: 28px; height: 28px; }
  .at-fact { gap: 3px; padding: 5px 4px; min-height: 48px; font-size: 9px; line-height: 1.2; overflow-wrap: anywhere; }
  .at-fact-icon svg { width: 13px; height: 13px; }
  .at-fact > svg:last-child { display: none; }
  .at-section-head { align-items: flex-start; }
  .at-section-head > a { max-width: 36%; }
  .at-grid, .at-guide-grid, .at-video-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .at-directory-card { grid-template-columns: 26px minmax(0,1fr) auto; gap: 4px; padding: 5px; min-height: 46px; }
  .at-directory-card img, .at-directory-mark { width: 26px; height: 26px; }
  .at-directory-card h3 { font-size: 11px; }
  .at-directory-card > svg { width: 10px; }
  .at-card-body { padding: 7px; }
  .at-card-bottom .at-icon-button { min-width: 29px; min-height: 29px; }
  .at-split-strip { align-items: flex-start; flex-direction: column; }
  .at-checkout-fields { grid-template-columns: minmax(0,1fr); }
  .at-sticky-contact { inset: auto 10px 12px auto; max-width: 42px; width: 40px; justify-content: center; padding: 4px; }
  .at-sticky-contact span { display: none; }
}

@media (max-width: 350px) {
  .at-brand { font-size: 19px; }
  .at-brand img { width: 27px; height: 27px; }
  .at-controls { gap: 2px; }
  .at-switch select { max-width: 51px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
