:root {
  --ink: #173d2b;
  --ink-soft: #355746;
  --cream: #f7f3e9;
  --paper: #fffdf8;
  --sand: #e9dfca;
  --gold: #bd8f45;
  --gold-light: #e4cfa8;
  --line: rgba(79, 69, 45, 0.2);
  --white: #ffffff;
  --shadow: 0 28px 70px rgba(28, 58, 42, 0.11);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --shell: min(1400px, calc(100% - 80px));
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  overflow-x: clip;
  color: var(--ink-soft);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea { font: inherit; }
::selection { color: var(--white); background: var(--ink); }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  color: var(--white);
  background: var(--ink);
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

.section-shell { width: var(--shell); margin-inline: auto; }
.section-pad { padding-block: 128px; }

.announcement {
  min-height: 34px;
  display: grid;
  place-items: center;
  padding: 6px 20px;
  color: #f8f2e5;
  background: var(--ink);
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-align: center;
  text-transform: uppercase;
}
.announcement p { margin: 0; }
.announcement span { margin-inline: 10px; color: var(--gold-light); }

.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  padding: 13px max(40px, calc((100vw - 1400px) / 2));
  border-bottom: 1px solid var(--line);
  background: rgba(255, 253, 248, 0.95);
  backdrop-filter: blur(16px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  color: var(--ink);
  text-decoration: none;
  white-space: nowrap;
}
.brand img { width: 54px; height: 54px; object-fit: cover; }
.brand span { font-family: var(--serif); font-size: clamp(1.12rem, 2vw, 1.42rem); }

.site-nav { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 34px); }
.site-nav > a:not(.button) {
  position: relative;
  color: var(--ink);
  font-size: 0.69rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
}
.site-nav > a:not(.button)::after {
  position: absolute;
  right: 0;
  bottom: -6px;
  left: 0;
  height: 1px;
  background: var(--gold);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease;
}
.site-nav > a:not(.button):hover::after,
.site-nav > a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }

.menu-button {
  display: none;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  color: var(--ink);
  border: 0;
  background: transparent;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.menu-lines, .menu-lines::before, .menu-lines::after { width: 22px; height: 1px; display: block; background: currentColor; content: ""; }
.menu-lines { position: relative; }
.menu-lines::before { position: absolute; top: -6px; }
.menu-lines::after { position: absolute; top: 6px; }

.button {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 14px 25px;
  color: var(--white);
  border: 1px solid var(--ink);
  background: var(--ink);
  font-size: 0.69rem;
  font-weight: 750;
  letter-spacing: 0.13em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.button:hover { transform: translateY(-2px); background: #24563d; border-color: #24563d; }
.button-small { min-height: 44px; padding: 11px 20px; }
.button-outline { color: var(--ink); border-color: var(--gold-light); background: transparent; }
.button-outline:hover { color: var(--white); border-color: var(--ink); background: var(--ink); }
.button-gold { color: var(--ink); border-color: var(--gold-light); background: var(--gold-light); }
.button-gold:hover { color: var(--white); border-color: var(--gold); background: var(--gold); }
.button-light { color: var(--ink); border-color: var(--paper); background: var(--paper); }

.eyebrow {
  margin: 0 0 20px;
  color: #8b682e;
  font-size: 0.67rem;
  font-weight: 750;
  letter-spacing: 0.28em;
  line-height: 1.5;
  text-transform: uppercase;
}
.eyebrow-light { color: var(--gold-light); }

h1, h2, h3 { margin-top: 0; color: var(--ink); font-family: var(--serif); font-weight: 400; line-height: 1.08; }
h1 { margin-bottom: 26px; font-size: clamp(3.35rem, 6vw, 6.4rem); letter-spacing: -0.046em; }
h2 { margin-bottom: 22px; font-size: clamp(2.55rem, 4.4vw, 4.8rem); letter-spacing: -0.038em; }
h3 { margin-bottom: 14px; font-size: clamp(1.55rem, 2.2vw, 2.2rem); letter-spacing: -0.02em; }
p { margin-top: 0; }

.hero {
  min-height: calc(100svh - 118px);
  display: grid;
  grid-template-columns: minmax(0, 920px);
  justify-content: center;
  align-items: center;
  padding-block: 74px 86px;
  text-align: center;
}
.hero-copy, .hero-visual { min-width: 0; }
.hero-copy { max-width: 920px; padding-left: 0; }
.hero-lead { max-width: 720px; margin: 0 auto 26px; font-size: clamp(1.08rem, 1.4vw, 1.35rem); line-height: 1.7; }
.hero-price { display: flex; align-items: baseline; justify-content: center; gap: 16px; margin: 0 0 30px; color: var(--ink); }
.hero-price span { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; }
.hero-price strong { font-family: var(--serif); font-size: 1.75rem; font-weight: 400; }
.button-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.microcopy { margin: 18px 0 0; color: #718074; font-size: 0.78rem; }
.hero-visual { position: relative; }
.hero-visual::before { position: absolute; inset: 22px -22px -22px 22px; z-index: -1; border: 1px solid var(--gold-light); content: ""; }
.hero-visual img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; box-shadow: var(--shadow); }
.trust-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--cream);
}
.trust-strip > div { min-height: 114px; display: grid; grid-template-columns: 32px auto; grid-template-rows: auto auto; align-content: center; column-gap: 14px; padding: 22px clamp(30px, 5vw, 80px); border-right: 1px solid var(--line); }
.trust-strip > div:last-child { border-right: 0; }
.trust-icon { grid-row: 1 / 3; align-self: center; color: var(--gold); font-size: 1.5rem; }
.trust-strip strong { color: var(--ink); font-family: var(--serif); font-size: 1.2rem; font-weight: 400; line-height: 1.3; }
.trust-strip small { color: #728177; font-size: 0.73rem; }

.section-heading { max-width: 780px; margin-bottom: 64px; }
.section-heading.centred { margin-inline: auto; text-align: center; }
.section-heading > p:last-child { max-width: 700px; margin: 0 auto; }

.intentions { border-bottom: 1px solid var(--line); }
.intention-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.intention-card { min-height: 325px; padding: 45px 50px; border-right: 1px solid var(--line); }
.intention-card:last-child { border-right: 0; }
.intention-card > span { display: block; margin-bottom: 42px; color: var(--gold); font-size: 0.67rem; font-weight: 750; letter-spacing: 0.2em; }
.intention-card p { margin-bottom: 30px; }
.intention-card a, .text-link {
  color: var(--ink);
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.11em;
  text-decoration-color: var(--gold-light);
  text-decoration-thickness: 1px;
  text-underline-offset: 7px;
  text-transform: uppercase;
}

.collection { background: var(--cream); }
.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: stretch; }
.product-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); background: var(--paper); transition: box-shadow 200ms ease, transform 200ms ease; }
.product-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.product-image { position: relative; min-width: 0; overflow: visible; border-bottom: 1px solid var(--line); background: var(--paper); }
.product-image img {
  width: 100%;
  height: auto !important;
  max-height: none;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}
.product-card:hover .product-image img { transform: none; }
.product-copy { display: flex; flex: 1; flex-direction: column; padding: 30px 32px 34px; }
.product-copy h3 { margin-bottom: 10px; }
.product-number { margin-bottom: 9px; color: #94713a; font-size: 0.62rem; font-weight: 750; letter-spacing: 0.17em; }
.traits { color: #8b682e; font-size: 0.65rem; font-weight: 750; letter-spacing: 0.13em; line-height: 1.7; text-transform: uppercase; }
.product-copy > p:not(.product-number):not(.traits) { min-height: 56px; margin-bottom: 22px; color: #64756a; font-size: 0.91rem; }
.product-link { display: flex; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 20px; color: var(--ink); border-top: 1px solid var(--line); font-size: 0.68rem; font-weight: 750; letter-spacing: 0.14em; text-decoration: none; text-transform: uppercase; }
.product-link span { color: var(--gold); }
.collection-note { grid-column: span 2; min-height: 520px; display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr); align-items: center; gap: clamp(40px, 6vw, 90px); padding: clamp(45px, 5vw, 76px); color: #e6eee8; background: var(--ink); }
.collection-note-copy { min-width: 0; }
.collection-note h3 { max-width: 600px; color: var(--white); font-size: clamp(2.3rem, 4vw, 4.2rem); }
.collection-note-copy > p:not(.eyebrow) { max-width: 620px; margin-bottom: 30px; }
.collection-note-image { position: relative; width: 100%; max-width: 560px; justify-self: end; }
.collection-note-image img { width: 100%; height: auto !important; aspect-ratio: auto !important; object-fit: contain !important; border: 1px solid rgba(228, 207, 168, 0.7); box-shadow: 0 28px 70px rgba(0,0,0,0.18); }
.wide-brand-banner { width: 100%; margin: 72px 0 0; border: 1px solid var(--gold-light); background: var(--paper); }
.wide-brand-banner img {
  width: 100%;
  height: auto !important;
  max-height: none;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}
.home-top-banner { width: var(--shell); max-width: 1400px; margin: 0 auto; }
.policy-top-banner, .about-top-banner { max-width: 1280px; margin: 0 auto; }

.ebay-feature { padding-bottom: 70px; }
.ebay-card { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 70px; padding: clamp(55px, 7vw, 100px); color: #dce6df; background: var(--ink); box-shadow: var(--shadow); }
.ebay-card h2 { max-width: 710px; color: var(--white); }
.ebay-card > div > p:not(.eyebrow) { max-width: 650px; margin-bottom: 32px; }
.assurance-list { display: grid; align-content: center; gap: 0; margin: 0; padding: 0; list-style: none; }
.assurance-list li { display: grid; grid-template-columns: 36px 1fr; gap: 14px; padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,0.16); }
.assurance-list li:last-child { border-bottom: 0; }
.assurance-list li > span { width: 26px; height: 26px; display: grid; place-items: center; color: var(--ink); border-radius: 50%; background: var(--gold-light); font-size: 0.7rem; }
.assurance-list strong { display: block; color: var(--white); font-family: var(--serif); font-size: 1.2rem; font-weight: 400; }
.assurance-list small { display: block; color: #bbcac0; font-size: 0.78rem; }

.craft-section, .ritual { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: clamp(65px, 8vw, 130px); }
.editorial-image, .ritual-image { position: relative; }
.editorial-image::before, .ritual-image::before { position: absolute; inset: -17px 17px 17px -17px; z-index: -1; border: 1px solid var(--gold-light); content: ""; }
.editorial-image img, .ritual-image img {
  width: 100%;
  height: auto !important;
  max-height: none;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}
.editorial-image video { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; background: var(--cream); }
.editorial-copy, .ritual-copy { max-width: 640px; }
.editorial-copy p { margin-bottom: 24px; }

.stone-section { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--cream); }
.stone-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.stone-grid article { min-height: 245px; display: flex; flex-direction: column; align-items: flex-start; gap: 25px; padding: 34px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,253,248,0.5); }
.stone-grid h3 { margin-bottom: 7px; font-size: 1.45rem; }
.stone-grid strong { display: block; margin-bottom: 10px; color: #8b682e; font-size: 0.63rem; letter-spacing: 0.14em; text-transform: uppercase; }
.stone-grid p { margin: 0; color: #64756a; font-size: 0.84rem; line-height: 1.65; }
.stone-orb { width: 50px; height: 50px; flex: 0 0 auto; display: block; border: 1px solid rgba(255,255,255,0.6); border-radius: 50%; box-shadow: inset 8px 8px 14px rgba(255,255,255,0.24), 0 6px 12px rgba(28,42,32,0.15); }
.pyrite { background: radial-gradient(circle at 35% 30%, #fff4b7 0 5%, #97712f 9% 22%, #cfaa51 34%, #60481e 61%, #c49b45 76%, #4b391b); }
.citrine { background: radial-gradient(circle at 35% 30%, #fff9d3, #e2b95d 38%, #a7732a 76%, #5b3b1a); }
.aventurine { background: radial-gradient(circle at 35% 30%, #b8d1a8, #6f986b 38%, #315d3d 74%, #173a2d); }
.tiger { background: repeating-radial-gradient(ellipse at 40% 30%, #e7bd66 0 5px, #5d391c 8px 12px, #c28d38 16px 21px, #261b13 25px 29px); }
.obsidian { background: radial-gradient(circle at 35% 25%, #87918b, #1e2924 24%, #050908 72%); }
.hematite { background: radial-gradient(circle at 35% 28%, #e9ecea, #8c9692 25%, #424b47 61%, #161c19); }
.labradorite { background: radial-gradient(circle at 30% 28%, #85d1ca, #4e6d73 22%, #314044 54%, #1f272b 72%, #63838a); }
.smoky { background: radial-gradient(circle at 35% 28%, #c8baa8, #74695f 35%, #423c38 70%, #251f1c); }

.ritual ol { margin: 40px 0 0; padding: 0; list-style: none; }
.ritual li { display: grid; grid-template-columns: 55px 1fr; gap: 20px; padding: 24px 0; border-top: 1px solid var(--line); }
.ritual li > span { padding-top: 4px; color: var(--gold); font-size: 0.69rem; font-weight: 750; letter-spacing: 0.16em; }
.ritual li h3 { margin-bottom: 7px; font-size: 1.45rem; }
.ritual li p { margin: 0; font-size: 0.92rem; }

.faq { border-top: 1px solid var(--line); background: var(--cream); }
.faq-shell { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: clamp(60px, 9vw, 150px); }
.faq-intro { position: sticky; top: 130px; align-self: start; }
.faq-intro a { color: var(--ink); text-underline-offset: 4px; }
.accordion { border-top: 1px solid var(--line); }
.accordion details { border-bottom: 1px solid var(--line); }
.accordion summary { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: var(--ink); cursor: pointer; font-family: var(--serif); font-size: 1.25rem; list-style: none; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary span { color: var(--gold); font-family: var(--sans); font-size: 1.2rem; transition: transform 180ms ease; }
.accordion details[open] summary span { transform: rotate(45deg); }
.accordion details p { max-width: 760px; padding: 0 54px 28px 0; color: #617267; }

.final-cta { padding-block: 120px; color: #dce6df; background: linear-gradient(105deg, rgba(17,49,34,0.98), rgba(26,72,49,0.94)), url("assets/hero-banner.webp") center/cover; text-align: center; }
.final-cta h2 { color: var(--white); }
.final-cta p:not(.eyebrow) { margin-bottom: 30px; font-size: 1.08rem; }

.site-footer { padding-top: 80px; background: var(--paper); }
.footer-main { display: grid; grid-template-columns: 1.6fr 0.7fr 0.8fr 1fr; gap: 60px; padding-bottom: 70px; }
.footer-brand > p { max-width: 390px; margin-top: 20px; color: #6e7d73; font-size: 0.9rem; }
.footer-main h2 { margin: 14px 0 20px; font-family: var(--sans); font-size: 0.66rem; font-weight: 750; letter-spacing: 0.15em; text-transform: uppercase; }
.footer-main > div:not(.footer-brand) > a:not(.button) { display: block; width: max-content; margin-bottom: 10px; color: #5f7165; font-size: 0.86rem; text-decoration: none; }
.footer-main > div:not(.footer-brand) > a:not(.button):hover { color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold-light); text-underline-offset: 4px; }
.footer-shop p { max-width: 280px; color: #6e7d73; font-size: 0.84rem; }
.footer-bottom { display: flex; justify-content: space-between; gap: 40px; padding-block: 22px 32px; border-top: 1px solid var(--line); color: #7a887e; font-size: 0.69rem; }
.footer-bottom p { margin: 0; }
.footer-bottom p:last-child { max-width: 690px; text-align: right; }

.mobile-shop { display: none; }

/* Interior pages */
.interior-main { min-height: 70vh; }
.page-hero { padding-block: 110px 90px; border-bottom: 1px solid var(--line); background: var(--cream); text-align: center; }
.page-hero h1 { max-width: 980px; margin-inline: auto; font-size: clamp(3.1rem, 6vw, 6rem); }
.page-hero .page-lead { max-width: 820px; margin: 0 auto; font-size: 1.08rem; }
.back-link { display: inline-block; margin-bottom: 48px; color: var(--ink); font-size: 0.68rem; font-weight: 750; letter-spacing: 0.13em; text-decoration: none; text-transform: uppercase; }
.about-body { max-width: 1060px; padding-block: 100px 120px; }
.about-body .prose { max-width: 880px; margin-inline: auto; }
.prose p { margin-bottom: 26px; font-size: 1.05rem; line-height: 1.85; }
.prose .sign-off { margin-top: 40px; color: var(--ink); font-family: var(--serif); font-size: 1.5rem; }
.facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 80px; padding-block: 36px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: center; }
.facts > div { border-right: 1px solid var(--line); }
.facts > div:last-child { border-right: 0; }
.facts span { display: block; margin-bottom: 8px; color: #8b682e; font-size: 0.64rem; font-weight: 750; letter-spacing: 0.17em; text-transform: uppercase; }
.facts strong { color: var(--ink); font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.about-cta { margin-top: 70px; padding: 70px; color: #dae5dd; background: var(--ink); text-align: center; }
.about-cta h2 { color: var(--white); }

.policy-wrap { padding-block: 90px 130px; }
.policy-group { margin-bottom: 90px; }
.policy-group > h2 { padding-bottom: 22px; border-bottom: 1px solid var(--gold-light); font-size: 2.5rem; }
.policy-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; }
.policy-card { padding: 34px 38px 40px 28px; border-bottom: 1px solid var(--line); border-left: 1px solid var(--gold-light); }
.policy-card h3 { margin-bottom: 13px; font-size: 1.4rem; }
.policy-card p { margin: 0; font-size: 0.91rem; line-height: 1.82; }
.policy-disclaimer { padding: 45px; border: 1px solid var(--gold-light); background: var(--cream); }
.policy-disclaimer h2 { font-size: 2rem; }
.contact-card { margin-top: 70px; padding: 60px; color: #dce6df; background: var(--ink); text-align: center; }
.contact-card h2 { color: var(--white); }
.contact-card a:not(.button) { color: var(--gold-light); }

@media (max-width: 1120px) {
  :root { --shell: min(100% - 48px, 1020px); }
  .site-header { padding-inline: 24px; }
  .site-nav { gap: 18px; }
  .site-nav > a:not(.button) { font-size: 0.62rem; }
  .collection-note { grid-column: span 2; }
  .stone-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-main { grid-template-columns: 1.4fr repeat(3, 1fr); gap: 35px; }
}

@media (max-width: 880px) {
  .section-pad { padding-block: 90px; }
  .announcement { font-size: 0.6rem; }
  .site-header { min-height: 72px; }
  .brand img { width: 46px; height: 46px; }
  .menu-button { display: inline-flex; cursor: pointer; }
  .site-nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    align-items: stretch;
    padding: 22px 24px 28px;
    border-bottom: 1px solid var(--line);
    background: var(--paper);
    box-shadow: 0 22px 44px rgba(31,54,41,0.12);
  }
  .site-nav.is-open { display: grid; }
  .site-nav > a:not(.button) { padding: 10px 0; font-size: 0.72rem; }
  .site-nav > a:not(.button)::after { display: none; }
  .site-nav .button { margin-top: 8px; }
  .hero { min-height: auto; grid-template-columns: 1fr; padding-block: 76px 70px; }
  .hero-copy { max-width: 740px; padding-left: 0; }
  .hero-visual { width: 100%; max-width: 680px; margin-inline: auto; }
  .hero-visual img { width: 100%; height: auto; object-fit: contain; }
  .trust-strip { grid-template-columns: 1fr; }
  .trust-strip > div { min-height: 94px; border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-strip > div:last-child { border-bottom: 0; }
  .intention-grid { grid-template-columns: 1fr; }
  .intention-card { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .product-grid { grid-template-columns: 1fr; }
  .collection-note { grid-column: auto; grid-template-columns: 1fr; }
  .collection-note-image { max-width: 620px; justify-self: center; }
  .intention-card:last-child { border-bottom: 0; }
  .intention-card > span { margin-bottom: 20px; }
  .ebay-card { grid-template-columns: 1fr; gap: 40px; }
  .craft-section, .ritual { grid-template-columns: 1fr; }
  .editorial-copy, .ritual-copy { max-width: 760px; }
  .faq-shell { grid-template-columns: 1fr; gap: 40px; }
  .faq-intro { position: static; }
  .footer-main { grid-template-columns: repeat(2, 1fr); }
  .footer-brand { grid-column: span 2; }
  .policy-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  :root { --shell: calc(100% - 32px); }
  body { padding-bottom: 66px; font-size: 15px; }
  .section-pad { padding-block: 72px; }
  .announcement { min-height: 38px; letter-spacing: 0.11em; }
  .site-header { padding-inline: 16px; }
  .brand span { font-size: 1.05rem; }
  h1 { font-size: clamp(2.75rem, 13vw, 4.1rem); }
  h2 { font-size: clamp(2.25rem, 10vw, 3.3rem); }
  .hero { padding-block: 58px 64px; }
  .hero-copy { text-align: center; }
  .hero-lead { font-size: 1rem; }
  .hero-price, .button-row { justify-content: center; }
  .button-row .button { width: 100%; }
  .hero-visual::before { inset: 12px -7px -12px 7px; }
  .trust-strip > div { padding-inline: 26px; }
  .section-heading { margin-bottom: 44px; }
  .intention-card { padding: 34px 22px; }
  .product-grid { grid-template-columns: 1fr; gap: 20px; }
  .collection-note { grid-column: auto; min-height: 0; padding: 44px 28px; }
  .collection-note h3 { font-size: 2.4rem; }
  .product-copy { padding: 26px 24px 28px; }
  .product-copy > p:not(.product-number):not(.traits) { min-height: 0; }
  .ebay-feature { padding-bottom: 35px; }
  .ebay-card { margin-inline: -16px; padding: 48px 24px; }
  .stone-grid { grid-template-columns: 1fr; }
  .stone-grid article { min-height: 0; display: grid; grid-template-columns: 58px 1fr; padding: 26px 22px; }
  .ritual li { grid-template-columns: 42px 1fr; }
  .final-cta { padding-block: 82px; }
  .footer-main { grid-template-columns: 1fr; gap: 32px; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { display: grid; gap: 14px; padding-bottom: 22px; }
  .footer-bottom p:last-child { text-align: left; }
  .mobile-shop { position: fixed; z-index: 150; right: 0; bottom: 0; left: 0; min-height: 66px; display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; color: var(--white); background: var(--ink); box-shadow: 0 -10px 30px rgba(20,48,34,0.18); font-size: 0.72rem; letter-spacing: 0.08em; text-decoration: none; text-transform: uppercase; }
  .mobile-shop strong { color: var(--gold-light); font-size: 0.68rem; }
  .page-hero { padding-block: 70px 64px; }
  .back-link { margin-bottom: 34px; }
  .about-body { padding-block: 70px 80px; }
  .facts { grid-template-columns: 1fr; }
  .facts > div { padding: 22px; border-right: 0; border-bottom: 1px solid var(--line); }
  .facts > div:last-child { border-bottom: 0; }
  .about-cta, .contact-card { padding: 46px 24px; }
  .wide-brand-banner { margin-top: 48px; }
  .home-top-banner { margin-top: 0; }
  .policy-top-banner, .about-top-banner { margin-top: 0; }
  .policy-wrap { padding-block: 60px 85px; }
  .policy-group { margin-bottom: 65px; }
  .policy-card { padding: 28px 20px; }
  .policy-disclaimer { padding: 30px 22px; }
}

@media (prefers-reduced-motion: no-preference) {
  .reveal.is-pending { opacity: 0; transform: translateY(24px); }
  .reveal.is-visible { opacity: 1; transform: translateY(0); transition: opacity 700ms ease, transform 700ms ease; }
  .reveal-delay.is-visible { transition-delay: 90ms; }
  .reveal-delay-2.is-visible { transition-delay: 180ms; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
