.hero-panel {
  position: relative;
  display: grid;
  align-items: end;
  min-height: var(--panel-min);
  overflow: hidden;
  isolation: isolate;
  background: var(--forest);
  color: var(--cream);
}
.hero-panel::before,
.hero-panel::after {
  position: absolute;
  z-index: -1;
  content: '';
  pointer-events: none;
}
.hero-panel::before {
  inset: 0;
  opacity: .24;
  background-image: linear-gradient(rgba(242,235,221,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(242,235,221,.16) 1px, transparent 1px);
  background-size: 4rem 4rem;
  mask-image: linear-gradient(135deg, black, transparent 78%);
}
.hero-panel::after {
  top: 12%;
  right: 7%;
  width: clamp(9rem, 22vw, 24rem);
  aspect-ratio: 1;
  border: 1px solid rgba(197,138,58,.7);
  border-radius: 50%;
  box-shadow: 0 0 0 2rem rgba(197,138,58,.04), 0 0 0 5rem rgba(197,138,58,.025);
}
.hero-panel .panel-inner {
  position: relative;
  display: grid;
  align-content: space-between;
  min-height: var(--panel-min);
  padding-block: clamp(2.5rem, 7vw, 7rem);
}
.hero-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
}
.hero-topline .brand img { height: 2.45rem; }
.hero-coordinate {
  max-width: 16rem;
  text-align: right;
  color: #c4cdbb;
  font: 400 var(--text-xs)/1.45 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hero-copy {
  position: relative;
  z-index: 2;
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  max-width: 68rem;
  background: rgba(32,59,44,.94);
  padding-block: 2rem;
}
.hero-copy h1 {
  max-width: 12ch;
  color: var(--cream);
  font-size: clamp(2.7rem, 6.2vw, 7.2rem);
  letter-spacing: -.045em;
  line-height: .94;
}
.hero-copy h1 em {
  display: inline-block;
  color: var(--signal);
  font-style: normal;
  border-bottom: 1px solid var(--signal);
}
.hero-copy .lead { max-width: 34rem; color: #d7daca; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.hero-actions .button { min-width: 10rem; }
.hero-field {
  position: absolute;
  z-index: -1;
  top: 17%;
  right: 4%;
  width: min(48vw, 48rem);
  max-width: 58%;
  opacity: .72;
  transform: rotate(3deg);
}
.hero-field img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  mix-blend-mode: screen;
  filter: saturate(.72) contrast(1.08);
}
.hero-field::before,
.hero-field::after {
  position: absolute;
  content: '';
  pointer-events: none;
}
.hero-field::before { inset: 0; border: 1px solid rgba(197,138,58,.7); }
.hero-field::after { right: -1.5rem; bottom: -1.5rem; width: 5rem; height: 5rem; border-right: 1px solid var(--signal); border-bottom: 1px solid var(--signal); }
.hero-index {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .8rem;
  color: #c4cdbb;
  font: 400 var(--text-xs)/1.3 var(--mono);
  text-transform: uppercase;
  letter-spacing: .1em;
}
.hero-index::after { height: 1px; content: ''; background: rgba(242,235,221,.3); }
.hero-foot {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  color: #c4cdbb;
  font: 400 var(--text-xs)/1.45 var(--mono);
}
.rotating-word { position: relative; display: inline-block; min-width: 5ch; }
.rotating-word::after { display: inline-block; width: 1px; height: .9em; margin-left: .2em; content: ''; background: var(--signal); vertical-align: -.04em; }

.index-panel { background: var(--paper); }
.index-intro { display: grid; grid-template-columns: minmax(12rem, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 8vw, 10rem); align-items: end; }
.index-intro h2 { max-width: 9ch; }
.index-intro .lead { max-width: 42rem; }
.index-mark { display: flex; align-items: center; gap: 1rem; color: var(--moss); font: 500 var(--text-xs) var(--mono); text-transform: uppercase; letter-spacing: .1em; }
.index-mark::before { width: 3rem; height: 1px; content: ''; background: var(--signal); }
.catalogue-toolbar + .shelf { margin-top: 2rem; }
.shelf-head { display: grid; grid-template-columns: minmax(7rem, 1.1fr) minmax(12rem, 2fr) minmax(7rem, .8fr) minmax(14rem, 1.4fr); gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--bark); color: var(--bark); font: 500 var(--text-xs) var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.shelf-empty { padding: 3rem 1rem; border-bottom: 1px solid var(--line); color: var(--muted); font-family: var(--mono); }

.coordinates-panel { background: var(--cream); }
.coordinates-layout { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(18rem, .98fr); gap: clamp(2rem, 7vw, 8rem); align-items: center; }
.coordinates-photo { position: relative; padding: 1.15rem 1.15rem 0 0; }
.coordinates-photo::before { position: absolute; z-index: 0; inset: 1.15rem 0 0 1.15rem; content: ''; background: var(--bark); }
.coordinates-photo .image-frame { position: relative; z-index: 1; }
.coordinates-photo .coordinate { position: absolute; z-index: 2; right: .4rem; top: 50%; writing-mode: vertical-rl; color: var(--cream); background: var(--forest); padding: .4rem; }
.matrix { display: grid; border-top: 1px solid var(--line); }
.matrix-row { display: grid; grid-template-columns: minmax(6rem, .7fr) minmax(0, 1fr); gap: 1rem; align-items: center; min-height: 4.2rem; padding: .75rem 0; border-bottom: 1px solid var(--line); }
.matrix-row dt { color: var(--moss); font: 500 var(--text-xs) var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.matrix-row dd { margin: 0; font-family: var(--display); font-size: var(--text-lg); }
.matrix-row dd span { display: inline-block; margin-right: .55rem; color: var(--bark); font: 400 var(--text-xs) var(--mono); }

.routine-panel { background: var(--paper); }
.routine-layout { display: grid; grid-template-columns: minmax(16rem, .76fr) minmax(0, 1.24fr); gap: clamp(2rem, 8vw, 9rem); align-items: center; }
.routine-photo { order: 2; }
.routine-copy { order: 1; }
.routine-list { display: grid; gap: 0; margin-top: 2rem; border-top: 1px solid var(--line); }
.routine-item { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 1rem; padding: 1.35rem 0; border-bottom: 1px solid var(--line); }
.routine-item strong { color: var(--moss); font: 500 var(--text-xs) var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.routine-item p { color: var(--muted); font-size: var(--text-sm); }

.gifts-panel { background: var(--forest); color: var(--cream); }
.gifts-panel h2, .gifts-panel h3 { color: var(--cream); }
.gift-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(16rem, .92fr); gap: clamp(2rem, 8vw, 9rem); align-items: start; }
.gift-reasons { display: flex; flex-wrap: wrap; gap: .6rem; margin: 2rem 0 2.5rem; }
.gift-reasons .chip { border-color: var(--line-dark); color: var(--cream); }
.gift-reasons .chip:hover { background: var(--paper); color: var(--ink); }
.gift-reasons .chip[aria-pressed='true'] { background: var(--cream); color: var(--ink); }
.gift-reasons .chip[aria-pressed='true']:hover { background: var(--signal); color: var(--ink); }
.gift-reasons .chip:active { background: var(--bark); color: var(--cream); }
.gift-suggestions { display: grid; border-top: 1px solid var(--line-dark); }
.gift-suggestion { display: grid; grid-template-columns: minmax(8rem, .7fr) minmax(0, 1.3fr); gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line-dark); }
.gift-suggestion strong { color: var(--accent-text); font: 500 var(--text-xs) var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.gift-suggestion p { color: #d7daca; font-size: var(--text-sm); }
.gift-photo { align-self: center; }
.gift-photo .image-frame { background: var(--bark); }
.gift-photo figcaption { background: var(--ink); }

.quantity-panel { background: var(--bark); color: var(--cream); }
.quantity-panel h2, .quantity-panel h3 { color: var(--cream); }
.quantity-layout { display: grid; grid-template-columns: minmax(13rem, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 7vw, 8rem); align-items: start; }
.quantity-card { padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid rgba(242,235,221,.35); background: rgba(23,34,28,.22); }
.quantity-card .field label { color: #d7daca; }
.quantity-card .field input { background: var(--paper); }
.quantity-output { display: grid; gap: .75rem; margin-top: 1.25rem; padding: 1.2rem 0 0; border-top: 1px solid var(--signal); }
.quantity-number { color: var(--signal); font: 500 clamp(2.2rem, 5vw, 4.5rem)/1 var(--mono); letter-spacing: -.07em; }
.quantity-formula { color: #d7daca; font: 400 var(--text-sm)/1.5 var(--mono); }
.quantity-note { margin-top: 1.5rem; color: #d7daca; font-size: var(--text-sm); }

.contact-panel { background: var(--cream); }
.contact-layout { display: grid; grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 8vw, 9rem); align-items: start; }
.contact-panel .contact-lead { max-width: 27rem; }
.contact-facts { display: grid; margin-top: 3rem; border-top: 1px solid var(--line); }
.contact-fact { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.contact-fact dt { color: var(--moss); font: 500 var(--text-xs) var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.contact-fact dd { margin: 0; overflow-wrap: anywhere; }
.contact-form { padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--paper); border-top: 2px solid var(--signal); }
.contact-form h2 { font-size: var(--text-xl); }
.contact-form .form-grid { margin-top: 1.5rem; }

.page-intro { display: grid; grid-template-columns: minmax(12rem, .68fr) minmax(0, 1.32fr); gap: clamp(2rem, 7vw, 8rem); align-items: end; padding-block: clamp(5rem, 12vw, 11rem) clamp(3.5rem, 7vw, 7rem); border-bottom: 1px solid var(--line); }
.page-intro h1 { max-width: 11ch; }
.page-intro .lead { max-width: 42rem; }
.page-intro .meta { margin-bottom: 1.25rem; }
.page-content { padding-block: clamp(3.5rem, 8vw, 8rem); }
.page-content > .panel-inner { display: grid; gap: clamp(3rem, 7vw, 7rem); }
.page-hero-dark { background: var(--forest); color: var(--cream); }
.page-hero-dark h1 { color: var(--cream); }
.page-hero-dark .lead { color: #d7daca; }

.catalogue-page .page-content { background: var(--paper); }
.catalogue-page .catalogue-toolbar { position: sticky; z-index: 4; top: 0; background: rgba(251,248,240,.96); }
.catalogue-page .shelf-row { grid-template-columns: minmax(8rem, 1fr) minmax(14rem, 2.3fr) minmax(8rem, .9fr) minmax(15rem, 1.5fr); }
.filter-group { display: flex; flex-wrap: wrap; gap: .5rem; min-width: 0; }
.filter-group .filter-button { white-space: nowrap; }
.filter-label { width: 100%; color: var(--moss); font: 500 var(--text-xs) var(--mono); letter-spacing: .08em; text-transform: uppercase; }

.family-page .family-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(14rem, .75fr); gap: clamp(2rem, 7vw, 8rem); align-items: center; }
.family-page .family-intro .image-frame { order: 2; }
.family-page .family-intro .family-copy { order: 1; }
.family-page .family-copy h2 { max-width: 11ch; }
.family-page .family-note { width: min(100%, 40rem); margin-top: 1.5rem; color: var(--muted); }
.product-rows { display: grid; margin-top: 3rem; border-top: 1px solid var(--line); }
.product-row { display: grid; grid-template-columns: minmax(11rem, 1fr) minmax(15rem, 2fr) minmax(9rem, .8fr) auto; gap: 1.25rem; align-items: center; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.product-row h3 { font-size: var(--text-lg); }
.product-row p { color: var(--muted); font-size: var(--text-sm); }
.product-row .product-format, .product-row .product-price { color: var(--moss); font: 500 var(--text-xs) var(--mono); text-transform: uppercase; letter-spacing: .05em; }
.product-row .product-price { color: var(--bark); }
.product-row .shelf-link { justify-self: end; }
.family-boundary { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, .65fr); gap: 2rem; padding-top: 3rem; border-top: 1px solid var(--line); }
.family-boundary p { color: var(--muted); }

.notes-page { background: var(--cream); }
.notes-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.note-entry { display: grid; align-content: space-between; min-height: 17rem; padding: clamp(1.25rem, 3vw, 2.25rem); background: var(--paper); }
.note-entry:nth-child(3n) { background: var(--forest); color: var(--cream); }
.note-entry:nth-child(3n) h2, .note-entry:nth-child(3n) h3 { color: var(--cream); }
.note-entry h2, .note-entry h3 { font-size: var(--text-xl); }
.note-entry p { margin-top: 1.5rem; color: var(--muted); }
.note-entry:nth-child(3n) p { color: #d7daca; }
.note-entry footer { margin-top: 2.5rem; color: var(--moss); font: 500 var(--text-xs) var(--mono); text-transform: uppercase; letter-spacing: .06em; }

.tool-page .tool-layout { display: grid; grid-template-columns: minmax(15rem, .75fr) minmax(0, 1.25fr); gap: clamp(2rem, 8vw, 9rem); align-items: start; }
.tool-page .quantity-card { background: var(--forest); color: var(--cream); }
.quantity-card h2, .quantity-card h3 { color: var(--cream); }
.quantity-card .text-button, .quantity-card .chip { color: var(--cream); border-color: var(--line-dark); }
.quantity-card .text-button:hover, .quantity-card .chip:hover { background: var(--signal); color: var(--ink); }
.quantity-card .text-button:active, .quantity-card .chip:active { background: var(--cream); color: var(--ink); }
.quantity-card .chip[aria-pressed='true'] { background: var(--cream); color: var(--ink); }
.quantity-card .chip[aria-pressed='true']:hover { background: var(--signal); }
.quantity-card .chip[aria-pressed='true']:active { background: var(--paper); }
.formula-box { padding: 1.5rem; border: 1px solid var(--line); background: var(--paper); }
.formula-box code { display: block; color: var(--bark); font-size: clamp(.85rem, 1.2vw, 1rem); line-height: 1.8; overflow-wrap: anywhere; }
.tool-explanation { display: grid; gap: 1.5rem; }
.tool-explanation h2 { font-size: var(--text-xl); }
.tool-explanation .data-line { margin-top: 1rem; }

.about-page .method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.method-step { min-height: 13rem; padding: 1.75rem; background: var(--paper); }
.method-step:nth-child(even) { background: var(--forest); color: var(--cream); }
.method-step:nth-child(even) h3 { color: var(--cream); }
.method-step .step-number { color: var(--accent-text); font: 500 var(--text-xs) var(--mono); }
.method-step h3 { margin-top: 2rem; font-size: var(--text-xl); }
.method-step p { margin-top: .8rem; color: var(--muted); font-size: var(--text-sm); }
.method-step:nth-child(even) p { color: #d7daca; }
.boundary-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 2rem; list-style: none; padding: 0; }
.boundary-list li { padding: 1rem 0; border-top: 1px solid var(--line); }

.legal-page { background: var(--paper); }
.at-a-glance { display: grid; grid-template-columns: minmax(12rem, .7fr) minmax(0, 1.3fr); gap: clamp(2rem, 7vw, 7rem); padding: clamp(1.5rem, 4vw, 3rem); background: var(--forest); color: var(--cream); }
.at-a-glance h2 { color: var(--cream); font-size: var(--text-xl); }
.glance-table { width: 100%; border-collapse: collapse; }
.glance-table th, .glance-table td { padding: .9rem .65rem; border-bottom: 1px solid var(--line-dark); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.glance-table th { width: 36%; color: #c4cdbb; font: 500 var(--text-xs) var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.glance-table td { color: var(--cream); font-size: var(--text-sm); }
.privacy-page .legal-reading { padding-top: 0; }
.summary-first .page-content > .panel-inner { display: block; }
.summary-first-panel { margin-bottom: clamp(3rem, 7vw, 7rem); min-width: 0; }
.summary-first-panel .glance-table { table-layout: fixed; }
.summary-first-panel .glance-table td, .summary-first-panel .glance-table th { overflow-wrap: anywhere; word-break: normal; }
.summary-first-panel .glance-table { order: -1; }
.summary-first-reading { width: min(100%, 48rem); margin-inline: auto; }
.summary-first-reading > section { padding-block: clamp(2rem, 4vw, 4rem); border-bottom: 1px solid var(--line); }
.summary-first-reading > section:first-child { padding-top: 0; }
.summary-first-reading > section:last-child { border-bottom: 0; }
.summary-first-reading > section h2 { margin-top: .65rem; }
@media (max-width: 24rem) {
  .summary-first-panel { margin-inline: -.25rem; }
  .summary-first-reading { width: 100%; }
}
.legal-reading { width: min(100%, var(--reading)); }
.legal-reading h2 { margin-top: 4rem; font-size: clamp(1.75rem, 2.6vw, 2.8rem); }
.legal-reading h3 { margin-top: 2.5rem; font-size: var(--text-lg); }
.legal-reading h2:first-child, .legal-reading h3:first-child { margin-top: 0; }
.legal-reading p + p { margin-top: 1.25rem; }
.legal-reading ul { margin-top: 1rem; }
.legal-reading .legal-label { color: var(--moss); font: 500 var(--text-xs) var(--mono); letter-spacing: .09em; text-transform: uppercase; }

.cookies-page .page-content { padding-top: 0; }
.jump-chips { position: sticky; z-index: 5; top: 0; display: flex; gap: .55rem; overflow-x: auto; margin-inline: calc(var(--gutter) * -1); padding: 1rem var(--gutter); background: rgba(242,235,221,.97); border-bottom: 1px solid var(--line); scrollbar-width: thin; }
.jump-chips a { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 44px; padding: .6rem .8rem; border: 1px solid var(--line); color: var(--bark); font: 500 var(--text-xs) var(--mono); text-decoration: none; }
.jump-chips a:hover { background: var(--paper); border-color: var(--signal); transform: translateY(-1px); }
.jump-chips a:active { background: rgba(197,138,58,.25); transform: none; }
.jump-chips a:focus-visible { background: var(--paper); border-color: var(--signal); box-shadow: var(--focus); }
.cookie-section { padding-block: clamp(3rem, 7vw, 6.5rem); border-bottom: 1px solid var(--line); scroll-margin-top: 5rem; }
.cookie-section:first-of-type { padding-top: 0; }
.cookie-section .standfirst { max-width: 42rem; margin-top: 1rem; color: var(--muted); font-size: var(--text-lg); }
.cookie-section .legal-reading { margin-top: 2rem; }
.ad-table-wrap { overflow-x: auto; max-width: 100%; margin-top: 2rem; border-top: 1px solid var(--line); }
.ad-table { width: 100%; min-width: 42rem; border-collapse: collapse; }
.ad-table th, .ad-table td { padding: 1rem .75rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.ad-table th { color: var(--bark); font: 500 var(--text-xs) var(--mono); text-transform: uppercase; }

.terms-page .question-list { display: grid; gap: 0; }
.question-block { display: grid; grid-template-columns: minmax(13rem, .75fr) minmax(0, 1.25fr); gap: clamp(2rem, 7vw, 8rem); padding-block: clamp(2.5rem, 6vw, 5rem); border-bottom: 1px solid var(--line); scroll-margin-top: 2rem; }
.question-block:first-child { padding-top: 0; }
.question-block h2 { max-width: 9ch; font-size: var(--text-question); }
.question-block .answer { width: min(100%, 44rem); }
.question-block .answer p + p { margin-top: 1.25rem; }
.question-block .answer a { color: var(--bark); }

.faq-list { display: grid; border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.5rem; padding: 1rem 0; cursor: pointer; list-style: none; font-family: var(--display); font-size: var(--text-lg); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { flex: 0 0 auto; content: '+'; color: var(--signal); font: 500 1.5rem var(--mono); }
.faq-item[open] summary::after { content: '−'; }
.faq-answer { padding: 0 3rem 1.5rem 0; color: var(--muted); }

.contact-page .contact-split { display: grid; grid-template-columns: minmax(13rem, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 8vw, 9rem); }
.contact-page .contact-card { padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--forest); color: var(--cream); }
.contact-page .contact-card h2 { color: var(--cream); font-size: var(--text-xl); }
.contact-page .contact-card .contact-fact { border-color: var(--line-dark); }
.contact-page .contact-card dt { color: #c4cdbb; }
.contact-page .contact-card a { color: var(--cream); }
.request-page .request-form { width: min(100%, 48rem); padding: clamp(1.25rem, 4vw, 3rem); background: var(--paper); border-top: 2px solid var(--signal); }
.request-page .request-types { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.5rem 0; }
.request-page .request-types label { display: inline-flex; align-items: center; min-height: 44px; padding: .65rem .8rem; border: 1px solid var(--line); font: 500 var(--text-xs) var(--mono); }
.request-page .request-types label:hover { border-color: var(--signal); background: rgba(197,138,58,.1); }
.request-page .request-types input { margin-right: .5rem; accent-color: var(--forest); }

.process-page .process-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.process-step { min-height: 15rem; padding: clamp(1.25rem, 3vw, 2.25rem); background: var(--paper); }
.process-step:nth-child(odd) { background: var(--forest); color: var(--cream); }
.process-step:nth-child(odd) h2 { color: var(--cream); }
.process-step .meta { margin-bottom: 2rem; }
.process-step h2 { font-size: var(--text-xl); }
.process-step p { margin-top: 1rem; color: var(--muted); }
.process-step:nth-child(odd) p { color: #d7daca; }

.thanks-page .confirmation { display: grid; grid-template-columns: minmax(14rem, .7fr) minmax(0, 1.3fr); gap: clamp(2rem, 8vw, 9rem); align-items: start; padding: clamp(2rem, 6vw, 5rem); background: var(--forest); color: var(--cream); }
.confirmation h2 { color: var(--cream); }
.confirmation p { color: #d7daca; }
.confirmation .text-button { color: var(--cream); }
.confirmation .cluster { margin-top: 2rem; }
.not-found-page .recovery { display: grid; grid-template-columns: minmax(12rem, .65fr) minmax(0, 1.35fr); gap: clamp(2rem, 8vw, 9rem); padding: clamp(2rem, 6vw, 5rem); background: var(--bark); color: var(--cream); }
.recovery h2 { color: var(--cream); font-size: clamp(4rem, 13vw, 12rem); line-height: .8; }
.recovery p { color: #d7daca; }

.site-footer + .cookie-banner { max-width: 70rem; }
[data-reveal] { transform-origin: center; }
[data-depth] { will-change: transform; }

@media (max-width: 70rem) {
  .hero-field { right: 1%; width: 48vw; }
  .shelf-head, .catalogue-page .shelf-row { grid-template-columns: minmax(6rem, .9fr) minmax(11rem, 1.7fr) minmax(7rem, .8fr); }
  .shelf-head > :last-child, .catalogue-page .shelf-row > :last-child { grid-column: 2 / -1; }
  .product-row { grid-template-columns: minmax(10rem, 1fr) minmax(13rem, 1.6fr) minmax(8rem, .8fr); }
  .product-row .shelf-link { grid-column: 2 / -1; justify-self: start; }
}
@media (max-width: 52rem) {
  .hero-panel .panel-inner { min-height: min(100svh, 52rem); }
  .hero-field { top: 21%; right: -8%; max-width: 68%; opacity: .48; }
  .hero-copy { padding-top: 11rem; }
  .index-intro, .coordinates-layout, .routine-layout, .gift-layout, .quantity-layout, .contact-layout, .page-intro, .family-page .family-intro, .tool-page .tool-layout, .at-a-glance, .question-block, .contact-page .contact-split, .thanks-page .confirmation, .not-found-page .recovery { grid-template-columns: 1fr; gap: 2.5rem; }
  .routine-photo, .family-page .family-intro .image-frame { order: 1; }
  .routine-copy, .family-page .family-intro .family-copy { order: 2; }
  .page-intro h1, .question-block h2 { max-width: 14ch; }
  .coordinates-photo { max-width: 40rem; }
  .at-a-glance { padding: 1.5rem; }
  .question-block h2 { font-size: clamp(2.2rem, 7vw, 4rem); }
  .hero-foot { align-items: flex-start; flex-direction: column; gap: .75rem; }
}
@media (max-width: 42rem) {
  .hero-topline { align-items: flex-start; flex-direction: column; }
  .hero-coordinate { text-align: left; }
  .hero-copy h1 { max-width: 10ch; }
  .hero-field { top: 27%; right: -20%; max-width: 88%; }
  .hero-actions { align-items: stretch; flex-direction: column; width: min(100%, 18rem); }
  .hero-actions .button { width: 100%; }
  .matrix-row { grid-template-columns: 1fr; gap: .3rem; }
  .gift-suggestion, .contact-fact { grid-template-columns: 1fr; gap: .35rem; }
  .notes-grid, .method-grid, .boundary-list, .process-page .process-steps { grid-template-columns: 1fr; }
  .product-row { display: block; padding-block: 1.25rem; }
  .product-row > * + * { display: block; margin-top: .55rem; }
  .product-row .shelf-link { margin-top: .8rem; }
  .glance-table th, .glance-table td { display: block; width: 100%; }
  .glance-table th { padding-bottom: .2rem; border-bottom: 0; }
  .glance-table td { padding-top: .2rem; }
  .jump-chips { margin-inline: -1rem; padding-inline: 1rem; }
}
@media (max-width: 24rem) {
  .hero-panel .panel-inner { padding-block: 2rem; }
  .hero-copy { padding-top: 8rem; }
  .hero-copy h1 { font-size: clamp(2.35rem, 11.3vw, 3.2rem); }
  .hero-field { top: 30%; right: -30%; max-width: 105%; }
  .hero-panel::after { right: -3rem; }
  .quantity-card, .contact-form, .request-page .request-form { padding: 1rem; }
  .cookie-section { scroll-margin-top: 4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-field, .hero-field img, [data-depth] { transform: none !important; }
  .rotating-word { transition: none !important; }
}
