:root {
  color-scheme: light;
  --ink: #17130d;
  --muted: #665f50;
  --paper: #f8f1dd;
  --white: #fffdf7;
  --line: #d9ceb4;
  --error: #a82a22;
  --gold: #f4c430;
  --green: #0b6b3a;
  --green-dark: #064729;
  --red: #c9342d;
  --deep: #071b12;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.5;
}

body.cart-drawer-open { overflow: hidden; }

button, input, select, textarea { font: inherit; }
button { color: inherit; }
[hidden] { display: none !important; }

.shop-skip-link {
  position: fixed;
  left: 1rem;
  top: -5rem;
  z-index: 100;
  padding: .7rem 1rem;
  background: var(--ink);
  color: var(--white);
}

.shop-skip-link:focus { top: 1rem; }
.shirt-shop { min-height: 100vh; }

.shirt-product {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  min-height: 100vh;
}

.shirt-product-media {
  display: grid;
  place-items: center;
  min-width: 0;
  margin: 0;
  padding: clamp(1.5rem, 5vw, 5rem);
  background: linear-gradient(145deg, #fffdf8 0%, #f7f0db 100%);
}

.page--divine-apparel .shirt-product-media {
  position: relative;
  overflow: hidden;
}

.page--divine-apparel .shirt-product-media::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: .55rem;
  background: linear-gradient(90deg, var(--green) 0 42%, var(--gold) 42% 72%, var(--red) 72% 100%);
  content: "";
}

.shirt-product-media img {
  display: block;
  width: min(100%, 760px);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
}

.divine-product-media-stack {
  align-content: center;
  gap: clamp(1rem, 2.5vw, 2rem);
}

.divine-product-media-stack > img:first-child {
  width: min(100%, 34rem);
  aspect-ratio: auto;
}

.divine-product-media-stack .divine-art-preview {
  width: min(62%, 24rem);
  aspect-ratio: auto;
  padding: .75rem 1rem;
  border: 1px solid var(--line);
  border-radius: .35rem;
  background: var(--paper);
}

.shirt-product-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  min-height: 100vh;
  padding: clamp(1.5rem, 4vw, 4rem);
}

.shirt-product-details {
  display: flex;
  min-width: 0;
  background: var(--white);
  border-left: 1px solid var(--line);
}

.shirt-product-utility {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 1rem;
}

.page--divine-apparel .shirt-product-utility {
  justify-content: flex-end;
}

.divine-announcement {
  position: relative;
  z-index: 20;
  overflow: hidden;
  border-bottom: 3px solid var(--gold);
  background: var(--green-dark);
  color: var(--white);
}

.divine-announcement::before,
.divine-announcement::after {
  position: absolute;
  inset-block: 0;
  width: .42rem;
  content: "";
}

.divine-announcement::before { left: 0; background: var(--red); }
.divine-announcement::after { right: 0; background: var(--gold); }
.divine-announcement p { display: flex; align-items: center; justify-content: center; gap: 1rem; min-height: 2.15rem; margin: 0; padding: .4rem 1.25rem; font-size: .66rem; font-weight: 850; letter-spacing: .13em; text-align: center; text-transform: uppercase; }
.divine-announcement i { width: .28rem; height: .28rem; border-radius: 50%; background: var(--gold); }

.divine-site-header {
  position: sticky;
  top: 0;
  z-index: 18;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 253, 247, .96);
  box-shadow: 0 .5rem 1.8rem rgba(46, 38, 20, .045);
  backdrop-filter: blur(14px);
}

.divine-site-header__inner {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) auto minmax(14rem, 1fr);
  align-items: center;
  width: min(100% - 2.5rem, 90rem);
  min-height: 5rem;
  margin: 0 auto;
  gap: 2rem;
}

.divine-brand {
  display: inline-flex;
  align-items: baseline;
  gap: .38rem;
  color: var(--ink);
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.divine-brand span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.9rem, 2.6vw, 2.65rem);
  color: var(--green-dark);
}

.divine-brand strong {
  font-size: .72rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.divine-brand strong::after {
  display: inline-block;
  width: .42rem;
  height: .42rem;
  margin-left: .45rem;
  border-radius: 50%;
  background: var(--red);
  content: "";
}

.divine-site-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1rem, 2.5vw, 2.5rem);
}

.divine-header-actions {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: .55rem;
}

.divine-account-link,
.divine-bag-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 2.75rem;
  padding: .55rem .8rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--green-dark);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

.divine-account-link {
  border-color: transparent;
  background: transparent;
  cursor: pointer;
}

.divine-account-link svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.divine-account-link:hover,
.divine-account-link.is-signed-in { border-color: var(--line); background: var(--paper); }
.divine-account-link.is-signed-in svg { color: var(--red); }
.divine-bag-link img,
.divine-mobile-bag img { filter: invert(18%) sepia(25%) saturate(1544%) hue-rotate(102deg) brightness(91%); }
.divine-bag-link b { display: grid; place-items: center; min-width: 1.35rem; min-height: 1.35rem; border-radius: 50%; background: var(--gold); font-size: .65rem; }
.divine-mobile-menu,
.divine-mobile-bag { display: none; }

.divine-site-nav a,
.divine-site-footer a {
  color: inherit;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-decoration: none;
  text-transform: uppercase;
}

.divine-site-nav a { padding: 1.9rem 0 1.65rem; border-bottom: 3px solid transparent; }
.divine-site-nav a:hover,
.divine-site-nav a[aria-current="page"] { border-bottom-color: var(--green); color: var(--green); }

.divine-shop-link,
.divine-shop-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.7rem;
  padding: .65rem 1rem;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: var(--green);
  color: var(--white);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .18s ease, transform .18s ease;
}

.divine-shop-link:hover,
.divine-shop-cta a:hover { background: var(--green-dark); transform: translateY(-1px); }

.divine-site-header--checkout .divine-site-header__inner { grid-template-columns: 1fr auto; max-width: 72rem; }
.divine-secure-label { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.page--divine-apparel .shirt-product,
.page--divine-apparel .shirt-product-copy { min-height: calc(100vh - 5rem); }

.divine-breadcrumb {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-height: 3rem;
  padding: .65rem max(1.25rem, calc((100vw - 90rem) / 2));
  border-bottom: 1px solid var(--line);
  background: var(--paper);
  color: var(--muted);
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.divine-breadcrumb a { color: var(--green); text-underline-offset: .2em; }
.divine-breadcrumb strong { overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }

.divine-buy-reassurance {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .45rem 1rem;
  margin-top: 1rem;
  color: var(--green);
  font-size: .7rem;
  font-weight: 800;
}

.divine-product-assurance {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border-block: 1px solid var(--line);
}

.divine-product-assurance article {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: 1rem;
  align-items: start;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: var(--paper);
}

.divine-product-assurance article > span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--green); color: var(--gold); font-family: Georgia, "Times New Roman", serif; font-weight: 800; }
.divine-product-assurance strong { display: block; margin-bottom: .25rem; font-size: .82rem; letter-spacing: .03em; }
.divine-product-assurance p { margin: 0; color: var(--muted); font-size: .76rem; }

.divine-site-footer {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(24rem, .85fr);
  gap: 2.5rem 4rem;
  padding: clamp(2.5rem, 5vw, 5rem) max(1.25rem, calc((100vw - 90rem) / 2));
  background: var(--deep);
  color: var(--white);
  border-top: .55rem solid var(--gold);
}

.divine-brand--footer { color: var(--white); }
.divine-brand--footer span { color: var(--gold); }
.divine-site-footer p { max-width: 28rem; margin: 1rem 0 0; color: #bbb4a8; }
.divine-footer-brand > b { display: block; margin-top: 2rem; color: var(--gold); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.35rem, 2.2vw, 2rem); font-weight: 400; letter-spacing: -.02em; }
.divine-footer-links { display: grid; grid-template-columns: 1.25fr .75fr; gap: 2rem; }
.divine-site-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: .8rem; }
.divine-site-footer nav > strong { margin-bottom: .35rem; color: var(--gold); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; }
.divine-site-footer nav a { color: #d9d3c7; font-size: .7rem; }
.divine-site-footer nav a:hover { color: var(--gold); }
.divine-site-footer small { display: flex; justify-content: space-between; grid-column: 1 / -1; padding-top: 1.5rem; border-top: 1px solid #224334; color: #94a89c; }
.divine-site-footer small span { color: var(--gold); }

.divine-info-main { min-height: 70vh; }
.divine-info-hero,
.divine-info-content,
.divine-shop-cta { width: min(100% - 2.5rem, 74rem); margin-inline: auto; }
.divine-info-hero { padding: clamp(4rem, 10vw, 9rem) 0 clamp(3rem, 6vw, 5rem); }
.divine-info-hero > p,
.divine-shop-cta > p { margin: 0 0 1rem; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .18em; }
.divine-info-hero h1 { max-width: 12ch; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(4rem, 10vw, 8rem); font-weight: 400; letter-spacing: -.055em; line-height: .88; }
.divine-info-hero div { max-width: 42rem; margin-top: 2rem; color: var(--muted); font-size: clamp(1.05rem, 2vw, 1.35rem); }
.divine-info-content { display: grid; gap: 3rem; padding-bottom: clamp(4rem, 9vw, 8rem); }
.divine-info-content > section { padding-top: 2.5rem; border-top: 1px solid var(--line); }
.divine-info-content h2 { margin: 0 0 1rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 400; letter-spacing: -.035em; }
.divine-info-content p { max-width: 48rem; color: var(--muted); }

.divine-info-content > .divine-delivery-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(19rem, .78fr);
  align-items: stretch;
  padding: 0;
  overflow: hidden;
  border-top: .55rem solid var(--gold);
  background: var(--deep);
}

.divine-delivery-feature figure,
.divine-delivery-feature picture { display: block; min-width: 0; height: 100%; margin: 0; }
.divine-delivery-feature picture { overflow: hidden; }
.divine-delivery-feature img { display: block; width: 100%; height: 100%; min-height: 30rem; object-fit: cover; }
.divine-delivery-feature > div { align-self: center; padding: clamp(2rem, 5vw, 4.5rem); }
.divine-delivery-feature > div > p:first-child { margin: 0 0 1rem; color: var(--gold); font-size: .65rem; font-weight: 900; letter-spacing: .16em; }
.divine-delivery-feature h2 { margin-bottom: 1.35rem; color: var(--white); font-size: clamp(2.6rem, 5vw, 4.8rem); line-height: .92; }
.divine-delivery-feature > div > p:last-child { margin: 0; color: #b8c9be; }

.divine-story-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(20rem, .84fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 4.5rem);
}

.divine-story-feature figure { margin: 0; border: 1px solid var(--line); background: var(--white); }
.divine-story-feature picture { display: block; overflow: hidden; }
.divine-story-feature img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.divine-story-feature figcaption { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1.5rem; align-items: start; padding: 1.25rem; background: var(--deep); color: var(--white); }
.divine-story-feature figcaption span,
.divine-story-feature__copy > p:first-child,
.divine-story-roots header > p:first-child,
.divine-story-manifesto > p { color: var(--gold); font-size: .65rem; font-weight: 900; letter-spacing: .16em; }
.divine-story-feature figcaption p { margin: 0; color: #c9d8cd; font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; line-height: 1.35; }
.divine-story-feature__copy > p:first-child { margin: 0 0 1rem; }
.divine-story-feature__copy h2 { line-height: .94; }
.divine-story-feature__copy h2 em { color: var(--green); font-weight: 400; }
.divine-story-feature__copy blockquote { margin: 2rem 0 0; padding: 1.35rem 1.5rem; border-left: .35rem solid var(--gold); background: #f1e9d2; color: var(--green-dark); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.4; }

.divine-info-content > .divine-story-roots { padding: clamp(2rem, 5vw, 4.5rem); border-top: .55rem solid var(--gold); background: var(--deep); color: var(--white); }
.divine-story-roots header { display: grid; grid-template-columns: minmax(0, .85fr) minmax(18rem, 1.15fr); gap: 1.25rem 4rem; align-items: end; }
.divine-story-roots header > p:first-child { grid-column: 1 / -1; margin: 0; }
.divine-story-roots h2 { margin: 0; color: var(--white); font-size: clamp(2.6rem, 5vw, 4.8rem); line-height: .92; }
.divine-story-roots header > p:last-child { margin: 0; color: #b8c9be; }
.divine-story-roots__chapters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: clamp(2.5rem, 5vw, 4.5rem); border-top: 1px solid #315041; border-bottom: 1px solid #315041; }
.divine-story-roots__chapters article { min-width: 0; padding: 1.6rem 1.6rem 1.6rem 0; }
.divine-story-roots__chapters article + article { padding-left: 1.6rem; border-left: 1px solid #315041; }
.divine-story-roots__chapters span { color: var(--gold); font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; }
.divine-story-roots__chapters h3 { margin: 2.5rem 0 .6rem; color: var(--white); font-size: 1rem; }
.divine-story-roots__chapters p { margin: 0; color: #9fb3a6; font-size: .88rem; }

.divine-story-process {
  display: grid;
  grid-template-columns: minmax(17rem, .72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.divine-story-process > div { padding: clamp(.5rem, 2vw, 2rem); }
.divine-story-process > div > p:first-child { margin: 0 0 1rem; color: var(--green); font-size: .65rem; font-weight: 900; letter-spacing: .16em; }
.divine-story-process h2 { max-width: 11ch; margin-bottom: 1.35rem; color: var(--green-dark); font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: .92; }
.divine-story-process > div > p:not(:first-child) { max-width: 34rem; }
.divine-story-process figure { min-width: 0; margin: 0; padding: .55rem; background: var(--gold); box-shadow: 1rem 1rem 0 var(--deep); }
.divine-story-process picture { display: block; overflow: hidden; }
.divine-story-process img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }

.divine-story-manifesto { display: grid; grid-template-columns: minmax(10rem, .45fr) minmax(0, 1.55fr); gap: 2rem 5rem; align-items: start; }
.divine-story-manifesto > p { margin: .7rem 0 0; color: var(--green); }
.divine-story-manifesto h2 { max-width: 15ch; font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: .92; }
.divine-story-manifesto div > p { max-width: 44rem; }
.divine-story-manifesto strong { display: block; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--line); color: var(--green-dark); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.25rem, 2.3vw, 1.75rem); font-weight: 400; }

.divine-info-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.divine-info-grid article { min-height: 15rem; padding: 1.5rem; border: 1px solid var(--line); background: var(--white); }
.divine-info-grid article > span { color: var(--gold); font-family: Georgia, "Times New Roman", serif; font-size: 2rem; }
.divine-info-grid h3 { margin: 3.5rem 0 .5rem; font-size: 1rem; }
.divine-info-grid p { margin: 0; font-size: .92rem; }
.divine-info-content > .divine-faq-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(20rem, .88fr);
  align-items: stretch;
  padding: 0;
  overflow: hidden;
  border-top: .55rem solid var(--gold);
  background: var(--deep);
  color: var(--white);
}
.divine-faq-feature figure,
.divine-faq-feature picture { display: block; min-width: 0; height: 100%; margin: 0; }
.divine-faq-feature picture { overflow: hidden; }
.divine-faq-feature img { display: block; width: 100%; height: 100%; min-height: 32rem; object-fit: cover; }
.divine-faq-feature > div { align-self: center; padding: clamp(2rem, 5vw, 4.5rem); }
.divine-faq-feature > div > p:first-child,
.divine-faq-directory > p,
.divine-faq-group header p { margin: 0 0 1rem; color: var(--gold); font-size: .65rem; font-weight: 900; letter-spacing: .16em; }
.divine-faq-feature h2 { margin-bottom: 1.35rem; color: var(--white); font-size: clamp(2.6rem, 5vw, 4.8rem); line-height: .92; }
.divine-faq-feature > div > p:nth-of-type(2) { margin: 0; color: #b8c9be; }
.divine-faq-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #315041; }
.divine-faq-highlights span { color: #b8c9be; font-size: .68rem; line-height: 1.35; }
.divine-faq-highlights b { display: block; margin-bottom: .2rem; color: var(--gold); font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; font-weight: 400; }

.divine-info-content > .divine-faq-layout { display: grid; grid-template-columns: minmax(15rem, .58fr) minmax(0, 1.42fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; padding-top: 3.5rem; }
.divine-faq-directory { position: sticky; top: 7.5rem; padding: 1.6rem; border-top: .45rem solid var(--green); background: #f1e9d2; }
.divine-faq-directory h2 { margin-bottom: 1.5rem; color: var(--green-dark); font-size: clamp(2rem, 3.3vw, 3rem); }
.divine-faq-directory > a:not(.divine-faq-directory__link) { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; gap: .75rem; align-items: center; padding: 1rem 0; border-top: 1px solid #d6c9aa; color: var(--green-dark); }
.divine-faq-directory > a:not(.divine-faq-directory__link):last-of-type { border-bottom: 1px solid #d6c9aa; }
.divine-faq-directory > a span { color: var(--green); font-family: Georgia, "Times New Roman", serif; }
.divine-faq-directory > a strong { font-size: .76rem; line-height: 1.35; }
.divine-faq-directory > a b { color: var(--green); transition: transform .2s ease; }
.divine-faq-directory > a:hover b { transform: translateX(.25rem); }
.divine-faq-directory__link { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1.5rem; color: var(--green); font-size: .72rem; font-weight: 900; letter-spacing: .04em; }

.divine-faq-groups { display: grid; gap: clamp(3.5rem, 7vw, 6rem); min-width: 0; }
.divine-faq-group { scroll-margin-top: 8rem; }
.divine-faq-group > header { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1.25rem; align-items: start; margin-bottom: 1.5rem; }
.divine-faq-group > header > span { display: grid; place-items: center; width: 4rem; height: 4rem; background: var(--gold); color: var(--deep); font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; }
.divine-faq-group header p { margin-bottom: .55rem; color: var(--green); }
.divine-faq-group h2 { margin: 0; color: var(--green-dark); font-size: clamp(2.2rem, 4vw, 3.6rem); line-height: .95; }
.divine-faq { display: grid; gap: .7rem; }
.divine-faq details { border: 1px solid var(--line); background: var(--white); transition: border-color .2s ease, box-shadow .2s ease; }
.divine-faq details[open] { border-color: #d4b33f; box-shadow: .4rem .4rem 0 #eadfbe; }
.divine-faq summary { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1.25rem 1.35rem; color: var(--ink); font-size: .9rem; font-weight: 850; line-height: 1.35; list-style: none; cursor: pointer; }
.divine-faq summary::-webkit-details-marker { display: none; }
.divine-faq summary span { display: grid; flex: 0 0 auto; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--paper); color: var(--green); font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 400; transition: transform .2s ease, background .2s ease; }
.divine-faq details[open] summary { color: var(--green-dark); }
.divine-faq details[open] summary span { transform: rotate(45deg); background: var(--gold); color: var(--deep); }
.divine-faq details p { max-width: 44rem; margin: 0; padding: 0 4.6rem 1.5rem 1.35rem; color: var(--muted); font-size: .9rem; }
.divine-shop-cta { margin-bottom: clamp(4rem, 9vw, 8rem); padding: clamp(2rem, 5vw, 4rem); background: var(--gold); }
.divine-shop-cta h2 { margin: 0 0 2rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 400; letter-spacing: -.045em; }

.divine-shop-main {
  width: min(100% - 2.5rem, 90rem);
  min-height: 70vh;
  margin-inline: auto;
  padding-bottom: clamp(4rem, 9vw, 8rem);
}

.divine-collection-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr);
  align-items: end;
  gap: 2rem 4rem;
  padding: clamp(4rem, 9vw, 8rem) 0 clamp(3rem, 6vw, 5rem);
}

.divine-collection-hero > p,
.divine-product-card > div > p {
  margin: 0;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.divine-collection-hero > p { grid-column: 1 / -1; }
.divine-collection-hero h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(4rem, 8vw, 7.5rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .88;
}
.divine-collection-hero div { max-width: 34rem; color: var(--muted); font-size: 1.08rem; }

.divine-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
}

.divine-product-card {
  min-width: 0;
  border: 1px solid var(--line);
  background: var(--white);
}

.divine-product-card__image {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  overflow: hidden;
  background: #f8f7f4;
}

.divine-product-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .25s ease;
}

.divine-product-card:hover .divine-product-card__image img { transform: scale(1.025); }
.divine-product-card > div { padding: 1.25rem; }
.divine-product-card h2 { margin: .45rem 0 1.35rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.6rem, 2.5vw, 2.35rem); font-weight: 400; line-height: 1; }
.divine-product-card h2 a { color: inherit; text-decoration: none; }
.divine-product-card > div > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.divine-product-card > div strong { font-size: .86rem; }
.divine-product-card__action { color: var(--ink); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-underline-offset: .25em; text-transform: uppercase; }

.divine-product-card {
  position: relative;
  border-radius: .55rem;
  box-shadow: 0 .8rem 2.4rem rgba(63, 50, 21, .055);
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease;
}

.divine-product-card:hover { box-shadow: 0 1.2rem 3rem rgba(33, 57, 31, .12); transform: translateY(-3px); }
.divine-product-card__image { position: relative; }
.divine-product-card__image > span { position: absolute; top: 1rem; left: 1rem; z-index: 1; padding: .42rem .7rem; border-radius: 999px; background: var(--green-dark); color: var(--white); font-size: .62rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.divine-product-card > div { border-top: 4px solid var(--gold); }
.divine-product-card > div { text-align: center; }
.divine-product-card h2 { min-height: 2.4rem; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .96rem; font-weight: 900; letter-spacing: .035em; line-height: 1.2; text-transform: uppercase; }
.divine-product-card__swatches { display: flex !important; align-items: center; justify-content: center !important; gap: .32rem !important; min-height: 1.35rem; margin: -.55rem 0 1.1rem; }
.divine-product-card__swatches i { width: .85rem; height: .85rem; border: 1px solid rgba(0, 0, 0, .14); border-radius: 50%; background: var(--swatch); }
.divine-product-card__swatches span { margin-left: .2rem; color: var(--muted); font-size: .68rem; }
.divine-product-card__buy { display: flex !important; align-items: stretch; justify-content: center !important; flex-direction: column; gap: .8rem !important; }
.divine-product-card__buy strong { color: var(--green-dark); font-size: 1rem !important; }
.divine-product-card__buy small { font-size: .62rem; letter-spacing: .09em; }
.divine-product-card__action { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 2.75rem; padding: .7rem .8rem; border-radius: .28rem; background: var(--green-dark); color: var(--white); text-decoration: none; }
.divine-product-card__action span { color: var(--gold); font-size: 1rem; line-height: .7; }

.divine-collection-hero em { color: var(--green); font-weight: 400; }
.divine-collection-hero div > span { display: inline-block; margin-bottom: .8rem; padding: .4rem .65rem; border-radius: 999px; background: var(--gold); color: var(--ink); font-size: .62rem; font-weight: 850; letter-spacing: .1em; }
.divine-shop-toolbar { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; padding: .9rem 1rem; border-block: 1px solid var(--line); color: var(--muted); font-size: .72rem; font-weight: 750; }
.divine-shop-toolbar strong { color: var(--green-dark); }
.divine-shop-toolbar span { padding-left: 1rem; border-left: 1px solid var(--line); }
.divine-shop-toolbar a { margin-left: auto; color: var(--green); text-underline-offset: .22em; }
.divine-shop-generation { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(20rem, .75fr); margin-top: clamp(3rem, 7vw, 6rem); overflow: hidden; background: var(--gold); }
.divine-shop-generation figure { min-height: 34rem; margin: 0; overflow: hidden; }
.divine-shop-generation img { display: block; width: 100%; height: 100%; object-fit: cover; }
.divine-shop-generation > div { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(2.5rem, 5vw, 5rem); }
.divine-shop-generation > div > p:first-child { margin: 0 0 1rem; color: var(--red); font-size: .68rem; font-weight: 900; letter-spacing: .18em; }
.divine-shop-generation h2 { margin: 0 0 1.5rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.8rem, 5vw, 5rem); font-weight: 400; letter-spacing: -.05em; line-height: .9; }
.divine-shop-generation h2 em { color: var(--green-dark); font-weight: 400; }
.divine-shop-generation > div > p:not(:first-child) { max-width: 30rem; color: #3c341f; }
.divine-shop-generation a { display: inline-flex; gap: .55rem; margin-top: 1rem; padding: .75rem 1rem; border: 1px solid var(--green-dark); color: var(--green-dark); font-size: .7rem; font-weight: 900; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.divine-collection-message { position: relative; margin-top: clamp(3rem, 7vw, 7rem); padding: clamp(2.5rem, 6vw, 6rem); overflow: hidden; background: var(--green-dark); color: var(--white); }
.divine-collection-message::after { position: absolute; top: -35%; right: -7%; width: 20rem; height: 20rem; border: 4rem solid rgba(244, 196, 48, .16); border-radius: 50%; content: ""; }
.divine-collection-message p { margin: 0 0 1rem; color: var(--gold); font-size: .68rem; font-weight: 850; letter-spacing: .18em; }
.divine-collection-message h2 { position: relative; z-index: 1; max-width: 18ch; margin: 0 0 2rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.6rem, 6vw, 5.5rem); font-weight: 400; letter-spacing: -.045em; line-height: .95; }
.divine-collection-message a { position: relative; z-index: 1; color: var(--white); font-size: .72rem; font-weight: 850; letter-spacing: .09em; text-underline-offset: .3em; text-transform: uppercase; }

.divine-home-hero {
  display: grid;
  grid-template-columns: minmax(24rem, .9fr) minmax(30rem, 1.1fr);
  min-height: min(49rem, calc(100vh - 7rem));
  background: var(--paper);
}

.divine-home-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3rem, 7vw, 7rem) max(1.5rem, calc((100vw - 90rem) / 2));
  padding-right: clamp(2rem, 5vw, 5rem);
}

.divine-home-hero__copy > p,
.divine-featured-collection header p,
.divine-community-banner > div > p:first-child {
  margin: 0 0 1rem;
  color: var(--red);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .18em;
}

.divine-home-hero h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(4rem, 7.5vw, 7.6rem); font-weight: 400; letter-spacing: -.065em; line-height: .82; }
.divine-home-hero h1 em { color: var(--green); font-weight: 400; }
.divine-home-hero__copy > div { max-width: 37rem; margin-top: 2.2rem; }
.divine-home-hero__copy > div > p { color: var(--muted); font-size: 1.05rem; }
.divine-home-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.divine-home-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 3.15rem; padding: .75rem 1.15rem; border: 1px solid var(--green-dark); color: var(--green-dark); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.divine-home-actions a:first-child { gap: .65rem; background: var(--green); color: var(--white); }
.divine-home-actions a:first-child span { color: var(--gold); font-size: 1rem; }
.divine-home-hero blockquote { margin: 2.5rem 0 0; padding-left: 1rem; border-left: 3px solid var(--gold); color: var(--green-dark); font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; font-style: italic; }
.divine-home-hero blockquote cite { display: block; margin-top: .25rem; color: var(--muted); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .62rem; font-style: normal; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }

.divine-home-hero__products { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; min-height: 42rem; background: var(--green-dark); }
.divine-home-hero__products a { position: relative; display: grid; place-items: center; min-width: 0; overflow: hidden; border-left: 1px solid rgba(255, 255, 255, .18); background: #f9f6ed; }
.divine-home-hero__products a:first-child { grid-row: 1 / 3; background: #ede8dc; }
.divine-home-hero__products a:nth-child(2) { border-bottom: 1px solid rgba(11, 107, 58, .2); }
.divine-home-hero__products img { width: 100%; height: 100%; object-fit: contain; transition: transform .28s ease; }
.divine-home-hero__products a:hover img { transform: scale(1.035); }
.divine-home-hero__products span { position: absolute; right: 1rem; bottom: 1rem; padding: .42rem .7rem; background: var(--green-dark); color: var(--white); font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }

.divine-home-hero {
  display: grid;
  grid-template-columns: minmax(25rem, .72fr) minmax(0, 1.28fr);
  min-height: clamp(38rem, 44vw, 45rem);
  overflow: hidden;
  background: var(--green-dark);
}

.divine-home-hero::after { display: none; }

.divine-home-hero__media { grid-column: 2; grid-row: 1; display: block; width: 100%; height: 100%; overflow: hidden; }
.divine-home-hero__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.divine-home-hero__copy { grid-column: 1; grid-row: 1; justify-content: center; width: auto; min-height: inherit; padding: clamp(3.5rem, 5.5vw, 6rem); color: var(--white); }
.divine-home-hero h1 { max-width: 8.5ch; color: var(--white); font-size: clamp(4rem, 6vw, 6.2rem); text-shadow: 0 2px 2rem rgba(0, 0, 0, .2); }
.divine-home-hero h1 em { color: var(--gold); }
.divine-home-hero__copy > p { color: #ff8479; }
.divine-home-hero__copy > div > p { color: #e7eee9; }
.divine-home-actions a { border-color: var(--gold); color: var(--gold); }
.divine-home-actions a:first-child { border-color: var(--gold); background: var(--gold); color: var(--green-dark); }
.divine-home-actions a:first-child span { color: var(--red); }
.divine-home-hero blockquote { display: none; }
.divine-home-hero blockquote cite { color: #bdcdc3; }

.divine-values-ribbon { display: flex; align-items: center; justify-content: space-around; gap: 1.5rem; padding: 1rem 1.5rem; overflow: hidden; background: var(--gold); color: var(--ink); font-size: .68rem; font-weight: 900; letter-spacing: .13em; white-space: nowrap; }
.divine-values-ribbon i { color: var(--green-dark); font-style: normal; }

.divine-featured-collection { width: min(100% - 2.5rem, 90rem); margin: 0 auto; padding: clamp(4rem, 8vw, 8rem) 0; }
.divine-featured-collection > header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 2rem; margin-bottom: 2.5rem; }
.divine-featured-collection > header > div { grid-column: 2; text-align: center; }
.divine-featured-collection > header h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.8rem, 4vw, 4rem); font-weight: 400; letter-spacing: -.055em; line-height: .9; }
.divine-featured-collection > header > a { grid-column: 3; justify-self: end; }
.divine-featured-collection > header > a { color: var(--green-dark); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-underline-offset: .28em; text-transform: uppercase; }

.divine-everybody { display: grid; grid-template-columns: minmax(18rem, .7fr) minmax(0, 1.3fr) minmax(13rem, .45fr); width: min(100% - 2.5rem, 90rem); min-height: 36rem; margin: 0 auto clamp(4rem, 8vw, 8rem); overflow: hidden; box-shadow: 0 1.5rem 4rem rgba(33, 57, 31, .12); }
.divine-everybody__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(2.25rem, 4vw, 4.5rem); background: #f1ead9; }
.divine-everybody__copy > p:first-child { margin: 0 0 1rem; color: var(--red); font-size: .67rem; font-weight: 900; letter-spacing: .17em; }
.divine-everybody h2 { margin: 0 0 1.5rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.55rem, 3.5vw, 3.5rem); font-weight: 400; letter-spacing: -.05em; line-height: .92; }
.divine-everybody h2 span,
.divine-everybody h2 em { display: block; white-space: nowrap; }
.divine-everybody h2 em { color: var(--green); font-weight: 400; }
.divine-everybody__copy > p:not(:first-child) { color: var(--muted); }
.divine-everybody__copy a { display: inline-flex; gap: .55rem; margin-top: .7rem; color: var(--green-dark); font-size: .7rem; font-weight: 900; letter-spacing: .09em; text-underline-offset: .3em; text-transform: uppercase; }
.divine-everybody figure { min-width: 0; margin: 0; overflow: hidden; }
.divine-everybody figure img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.divine-everybody aside { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(2rem, 3vw, 3rem); background: var(--green-dark); color: var(--white); }
.divine-everybody aside span { color: var(--gold); font-size: .65rem; font-weight: 900; letter-spacing: .17em; }
.divine-everybody aside blockquote { margin: auto 0; color: #eff5f0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.35rem, 2.2vw, 2.2rem); font-style: italic; line-height: 1.18; }
.divine-everybody aside b { color: var(--gold); font-size: .7rem; letter-spacing: .12em; line-height: 1.6; }

.divine-community-banner { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(25rem, .85fr); min-height: 34rem; overflow: hidden; background: var(--green-dark); color: var(--white); }
.divine-community-banner figure { position: relative; z-index: 1; min-height: 34rem; margin: 0; overflow: hidden; }
.divine-community-banner figure::after { position: absolute; inset: 0; border: .6rem solid rgba(244, 196, 48, .22); content: ""; pointer-events: none; }
.divine-community-banner figure picture { display: block; height: 100%; }
.divine-community-banner figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.divine-community-banner > div { position: relative; z-index: 1; width: auto; margin: auto 0; padding: clamp(3rem, 6vw, 6rem); }
.divine-community-banner h2 { max-width: 21ch; margin: 0 0 1.5rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.8rem, 6vw, 5.5rem); font-weight: 400; letter-spacing: -.045em; line-height: .94; }
.divine-community-banner > div > p:not(:first-child) { max-width: 40rem; color: #c9d8cd; font-size: 1.02rem; }
.divine-community-banner a { display: inline-flex; margin-top: 1.2rem; padding: .7rem 1rem; border: 1px solid var(--gold); color: var(--gold); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.divine-community-banner > strong { position: absolute; right: -2rem; bottom: -4rem; color: rgba(244, 196, 48, .09); font-family: Georgia, "Times New Roman", serif; font-size: clamp(7rem, 16vw, 16rem); font-weight: 400; letter-spacing: -.08em; line-height: .7; white-space: nowrap; }

.divine-service-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(100% - 2.5rem, 90rem); margin: 0 auto; padding: clamp(3rem, 6vw, 6rem) 0; }
.divine-service-strip article { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; padding: 1.5rem; border-left: 1px solid var(--line); }
.divine-service-strip article:last-child { border-right: 1px solid var(--line); }
.divine-service-strip b { color: var(--red); font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; }
.divine-service-strip strong { font-size: .86rem; }
.divine-service-strip p { margin: .35rem 0 0; color: var(--muted); font-size: .78rem; }

.shirt-product-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.25rem;
  margin: .55rem 0 0;
}

.shirt-product-nav a {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-decoration-thickness: 1px;
  text-underline-offset: .3em;
  text-transform: uppercase;
}

.shirt-product-nav a:hover { color: var(--ink); }

.shirt-cart-trigger {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  flex: 0 0 auto;
  min-height: 2.6rem;
  padding: .45rem .55rem .45rem .9rem;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: transparent;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.shirt-cart-trigger span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  background: var(--ink);
  color: var(--white);
  font-size: .75rem;
}

.shirt-kicker,
.shirt-order-heading > p,
.shirt-payment-heading > p {
  margin: 0 0 1rem;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .19em;
}

.shirt-product h1,
.shirt-order h2,
.shirt-checkout-intro h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .98;
}

.shirt-product .shirt-kicker { margin-bottom: .5rem; }
.shirt-product h1 { font-size: clamp(3rem, 4vw, 5rem); }
.shirt-order h2 { font-size: clamp(2.4rem, 5vw, 4.8rem); }
.shirt-checkout-intro h1 { font-size: clamp(3.2rem, 7vw, 6.2rem); }

.shirt-price {
  margin: 1rem 0 .4rem;
  font-size: 1.35rem;
  font-weight: 800;
}

.shirt-price span {
  color: var(--muted);
  font-size: .72rem;
  letter-spacing: .12em;
}

.shirt-description {
  max-width: 34rem;
  margin: 0 0 1rem;
  color: var(--muted);
  font-size: 1.02rem;
}

.shirt-configurator fieldset,
.shirt-checkout-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.shirt-configurator fieldset + fieldset { margin-top: 1.35rem; }

.shirt-fixed-design {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .9rem 1rem;
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  background: var(--paper);
}

.shirt-fixed-design span { color: var(--muted); font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.shirt-fixed-design strong { color: var(--green-dark); font-size: .82rem; }

.shirt-configurator legend,
.shirt-size > span {
  display: block;
  margin-bottom: .7rem;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.variant-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.variant-swatch {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 2.55rem;
  padding: .45rem .7rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
}

.variant-swatch i {
  width: 1.2rem;
  height: 1.2rem;
  border: 1px solid rgba(0, 0, 0, .18);
  border-radius: 50%;
}

.variant-swatch span { font-size: .83rem; }

.variant-swatch[aria-pressed="true"] {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--white);
  box-shadow: 0 0 0 2px var(--paper), 0 0 0 3px var(--ink);
}

.page--divine-apparel .variant-swatch[aria-pressed="true"] {
  border-color: var(--green-dark);
  background: var(--green-dark);
  box-shadow: 0 0 0 2px var(--white), 0 0 0 3px var(--green-dark);
}

.variant-swatch:focus-visible,
.shirt-primary-action:focus-visible,
.shirt-cart-trigger:focus-visible,
.shirt-cart-close:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.cart-line-controls button:focus-visible {
  outline: 3px solid #0872d7;
  outline-offset: 2px;
}

.shirt-size {
  display: block;
  width: min(100%, 12rem);
  margin-top: 1.35rem;
}

.shirt-purchase-row {
  display: grid;
  grid-template-columns: minmax(7rem, 9rem) minmax(0, 1fr);
  gap: .75rem;
  align-items: end;
  margin-top: 1rem;
}

.shirt-purchase-row .shirt-size { width: 100%; margin-top: 0; }
.shirt-purchase-row .shirt-primary-action { margin-top: 0; }

.shirt-size select,
.shirt-checkout-form input,
.shirt-checkout-form select,
.shirt-checkout-form textarea {
  width: 100%;
  min-height: 3.15rem;
  border: 1px solid var(--line);
  border-radius: .3rem;
  background: var(--white);
  color: var(--ink);
}

.shirt-size select { padding: 0 .85rem; }

.shirt-primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.65rem;
  margin-top: 2rem;
  padding: .9rem 1.25rem;
  border: 1px solid var(--ink);
  border-radius: .25rem;
  background: var(--ink);
  color: var(--white);
  font-weight: 800;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease;
}

.shirt-primary-action:hover { background: #302c27; }
.shirt-primary-action:active { transform: translateY(1px); }
.shirt-primary-action:disabled { cursor: wait; opacity: .65; }

.page--divine-apparel .shirt-primary-action {
  border-color: var(--green-dark);
  background: var(--green);
  box-shadow: 0 .7rem 1.5rem rgba(11, 107, 58, .14);
}

.page--divine-apparel .shirt-primary-action:hover { background: var(--green-dark); }
.page--divine-apparel .shirt-cart-trigger span,
.page--divine-apparel .shirt-cart-drawer-head h2 span,
.page--divine-apparel .shirt-checkout-bag h2 span { background: var(--green); color: var(--white); }

.shirt-checkout-link { margin-top: 1.25rem; text-decoration: none; }

.shirt-microcopy {
  margin: .6rem 0 0;
  color: var(--muted);
  font-size: .75rem;
  text-align: center;
}

.shirt-order {
  padding: clamp(3.5rem, 8vw, 8rem) clamp(1.25rem, 7vw, 7rem);
  border-top: 1px solid var(--line);
  background: #ece7dd;
}

.shirt-order-heading { max-width: 72rem; margin: 0 auto 3rem; }

.shirt-cart-scrim {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: rgba(23, 21, 18, .44);
  backdrop-filter: blur(2px);
  cursor: pointer;
}

.shirt-cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 60;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(28rem, calc(100vw - 1rem));
  height: 100dvh;
  padding: 0;
  overflow: hidden;
  border-left: 1px solid var(--line);
  background: var(--paper);
  box-shadow: -1rem 0 3rem rgba(23, 21, 18, .18);
  transform: translateX(105%);
  visibility: hidden;
  pointer-events: none;
  transition: transform .24s ease, visibility 0s linear .24s;
}

body.cart-drawer-open .shirt-cart-drawer {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

.shirt-cart-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 4.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--line);
}

.shirt-cart-drawer-head h2,
.shirt-checkout-bag h2 {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
  font-size: .82rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.shirt-cart-drawer-head h2 span,
.shirt-checkout-bag h2 span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  background: var(--ink);
  color: var(--white);
  font-size: .75rem;
}

.shirt-cart-close {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--white);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}

.shirt-cart-drawer-body { overflow-y: auto; padding: 1.25rem; }
.shirt-cart-drawer-footer { padding: 0 1.25rem 1.25rem; border-top: 1px solid var(--line); }
.shirt-checkout-bag h2 { justify-content: space-between; margin-bottom: 1rem; }

.shirt-order-grid {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(1.25rem, 4vw, 4rem);
  max-width: 72rem;
  margin: 0 auto;
  align-items: start;
}

.shirt-bag,
.shirt-checkout {
  border: 1px solid var(--line);
  border-radius: .6rem;
  background: rgba(255, 255, 255, .74);
}

.shirt-bag { position: sticky; top: 1.5rem; padding: 1.5rem; }

.shirt-bag h3 {
  display: flex;
  justify-content: space-between;
  margin: 0 0 1.25rem;
  font-size: .9rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.shirt-bag h3 span {
  display: grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  background: var(--ink);
  color: var(--white);
  font-size: .75rem;
}

.shirt-empty { margin: 0; color: var(--muted); font-size: .9rem; }

.cart-line {
  display: grid;
  gap: .75rem;
  padding: 1rem 0;
  border-top: 1px solid var(--line);
}

.cart-line:first-child { border-top: 0; padding-top: 0; }
.cart-line h3 { margin: 0 0 .15rem; font-size: .95rem; letter-spacing: 0; text-transform: none; }
.cart-line p { margin: .15rem 0 0; color: var(--muted); font-size: .78rem; }

.cart-line-controls {
  display: grid;
  grid-template-columns: 2rem 2rem 2rem 1fr;
  align-items: center;
  gap: .25rem;
}

.cart-line-controls button {
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--white);
  cursor: pointer;
}

.cart-line-controls span { text-align: center; }
.cart-line-controls strong { text-align: right; }

.shirt-totals { margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.shirt-totals > p { display: flex; justify-content: space-between; gap: 1rem; margin: .45rem 0; font-size: .9rem; }
.shirt-totals .shirt-total { margin-top: .9rem; padding-top: .9rem; border-top: 1px solid var(--line); font-size: 1.05rem; }
.shirt-totals .shirt-threshold { display: block; color: var(--muted); font-size: .76rem; }

.shirt-checkout { padding: clamp(1.25rem, 4vw, 3rem); }

.shirt-checkout-page {
  min-height: 100vh;
  padding: 0 clamp(1.25rem, 6vw, 6rem) clamp(3.5rem, 7vw, 7rem);
  background: #ece7dd;
}

.shirt-flow-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 72rem;
  min-height: 4.5rem;
  margin: 0 auto;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.shirt-flow-bar a,
.shirt-edit-link,
.shirt-checkout-empty a {
  color: var(--ink);
  text-underline-offset: .22em;
}

.shirt-checkout-intro {
  max-width: 72rem;
  margin: 0 auto;
  padding: clamp(3rem, 7vw, 6.5rem) 0 clamp(2.5rem, 5vw, 4.5rem);
}

.shirt-checkout-intro > p:last-child {
  max-width: 38rem;
  margin: 1.35rem 0 0;
  color: var(--muted);
  font-size: 1.05rem;
}

.shirt-checkout-layout {
  display: grid;
  grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr);
  gap: clamp(1.25rem, 4vw, 4rem);
  align-items: start;
  max-width: 72rem;
  margin: 0 auto;
}

.shirt-checkout-bag { position: sticky; top: 1.5rem; }
.shirt-checkout-empty p { margin: 0 0 .5rem; }
.shirt-edit-link { display: inline-block; margin-top: 1.25rem; font-size: .8rem; }
.shirt-checkout-form fieldset + fieldset { margin-top: 2rem; }

.shirt-checkout-form legend {
  width: 100%;
  margin-bottom: 1rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid var(--line);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.shirt-checkout-form label { display: block; }
.shirt-checkout-form label + label { margin-top: 1rem; }
.shirt-checkout-form label > span { display: block; margin-bottom: .4rem; font-size: .82rem; font-weight: 700; }
.shirt-checkout-form small { color: var(--muted); font-weight: 400; }

.shirt-checkout-form input,
.shirt-checkout-form select,
.shirt-checkout-form textarea { padding: .72rem .8rem; }
.shirt-checkout-form textarea { resize: vertical; }

.shirt-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.shirt-form-row label + label { margin-top: 0; }

.shirt-consent {
  display: grid !important;
  grid-template-columns: auto 1fr;
  gap: .65rem;
  align-items: start;
  margin-top: 2rem;
}

.shirt-consent input { width: 1.15rem; min-height: 1.15rem; margin-top: .2rem; }
.shirt-consent span { margin: 0 !important; color: var(--muted); font-weight: 400 !important; }
.shirt-form-status { min-height: 1.5rem; margin: .8rem 0 0; color: var(--error); font-size: .85rem; }

.shirt-payment-heading h2,
.shirt-payment-heading h3,
.order-success h2,
.order-success h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 2rem; font-weight: 400; }
.shirt-payment-heading > p:last-child,
.order-success p { color: var(--muted); }
.shirt-payment-frame { min-height: 4rem; margin-top: 1.5rem; }
.square-card-container { min-height: 90px; padding: .8rem; border: 1px solid var(--line); border-radius: .3rem; background: var(--white); }
.shirt-payment-note { margin: 1rem 0 0; color: var(--muted); font-size: .76rem; }

.success-mark {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1.25rem;
  border-radius: 50%;
  background: #267446;
  color: var(--white);
  font-size: 1.35rem;
}

.merch-toast {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 20;
  max-width: min(28rem, calc(100vw - 2rem));
  padding: .9rem 1.1rem;
  border-radius: .35rem;
  background: var(--ink);
  color: var(--white);
  opacity: 0;
  transform: translateY(.75rem);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.merch-toast.is-visible { opacity: 1; transform: translateY(0); }

body.divine-account-open { overflow: hidden; }

.divine-account-overlay {
  position: fixed;
  inset: 0;
  z-index: 75;
  border: 0;
  background: rgba(7, 27, 18, .56);
  backdrop-filter: blur(4px);
  cursor: pointer;
}

.divine-account-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 80;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(32rem, calc(100vw - 1rem));
  height: 100dvh;
  overflow: hidden;
  border-left: 1px solid #204f37;
  background: var(--paper);
  box-shadow: -1.5rem 0 5rem rgba(2, 30, 17, .28);
  color: var(--ink);
  transform: translateX(105%);
  visibility: hidden;
  pointer-events: none;
  transition: transform .28s ease, visibility 0s linear .28s;
}

body.divine-account-open .divine-account-drawer {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

.divine-account-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 7rem;
  padding: 1.25rem 1.4rem;
  border-bottom: .4rem solid var(--gold);
  background: var(--green-dark);
  color: var(--white);
}

.divine-account-drawer__head p,
.divine-account-section-heading p,
.divine-account-member-card p {
  margin: 0 0 .35rem;
  color: var(--gold);
  font-size: .63rem;
  font-weight: 900;
  letter-spacing: .16em;
}

.divine-account-drawer__head h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 5vw, 2.8rem);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: .95;
}

.divine-account-drawer__head > button {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 50%;
  background: transparent;
  color: var(--white);
  font-size: 1.5rem;
  cursor: pointer;
}

.divine-account-drawer__body {
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 1.25rem;
}

.divine-account-drawer [hidden] { display: none !important; }

.divine-account-welcome {
  display: grid;
  grid-template-columns: 2.75rem 1fr;
  gap: 1rem;
  align-items: start;
  padding: 1.35rem;
  border-radius: .55rem;
  background: var(--gold);
}

.divine-account-welcome > span {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: var(--green-dark);
  color: var(--gold);
  font-size: 1.15rem;
}

.divine-account-welcome h3,
.divine-account-member-card h3,
.divine-account-section-heading h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.65rem;
  font-weight: 400;
  letter-spacing: -.03em;
  line-height: 1;
}

.divine-account-welcome p { margin: .6rem 0 0; color: #4b3d15; font-size: .86rem; }

.divine-account-benefits {
  display: grid;
  gap: 0;
  margin: 1rem 0;
  padding: 0;
  border: 1px solid var(--line);
  background: var(--white);
  list-style: none;
}

.divine-account-benefits li {
  display: grid;
  grid-template-columns: 2.4rem 1fr;
  gap: .8rem;
  padding: .9rem 1rem;
  border-top: 1px solid var(--line);
}

.divine-account-benefits li:first-child { border-top: 0; }
.divine-account-benefits b { color: var(--red); font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; }
.divine-account-benefits strong { display: block; font-size: .8rem; }
.divine-account-benefits span { color: var(--muted); font-size: .72rem; }

.divine-account-auth-card,
.divine-profile-form > section {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: .55rem;
  background: var(--white);
}

.divine-account-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--line);
  background: #f1ead9;
}

.divine-account-tabs button {
  min-height: 3.25rem;
  padding: .75rem;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
}

.divine-account-tabs button.is-active,
.divine-account-tabs button[aria-selected="true"] { border-bottom-color: var(--green); background: var(--white); color: var(--green-dark); }
.divine-account-auth-card form { padding: 1.25rem; }

.divine-account-field { display: block; }
.divine-account-field + .divine-account-field { margin-top: 1rem; }
.divine-account-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; margin-top: 1rem; }
.divine-account-field-grid .divine-account-field { margin: 0; }

.divine-account-field label,
.divine-account-locked-field > span {
  display: block;
  margin-bottom: .4rem;
  color: var(--green-dark);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .04em;
}

.divine-account-field label small { color: var(--muted); font-weight: 500; }
.divine-account-field input,
.divine-account-field select,
.divine-account-field textarea {
  display: block;
  width: 100%;
  min-height: 3.2rem;
  padding: .78rem .85rem;
  border: 1px solid #cfc3a8;
  border-radius: .32rem;
  background: #fffefa;
  color: var(--ink);
}

.divine-account-field textarea { min-height: 6rem; resize: vertical; }
.divine-account-field input:focus,
.divine-account-field select:focus,
.divine-account-field textarea:focus { border-color: var(--green); outline: 3px solid rgba(11, 107, 58, .12); }
.divine-account-field > small,
.divine-account-locked-field small { display: block; margin-top: .4rem; color: var(--muted); font-size: .68rem; }

.divine-account-primary,
.divine-account-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.35rem;
  padding: .8rem 1rem;
  border-radius: .3rem;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.divine-account-primary { margin-top: 1.25rem; border: 1px solid var(--green-dark); background: var(--green-dark); color: var(--white); }
.divine-account-primary:hover { background: var(--green); }
.divine-account-primary:disabled { cursor: wait; opacity: .65; }
.divine-account-secondary { margin-top: .6rem; border: 1px solid var(--green-dark); background: transparent; color: var(--green-dark); }

.divine-account-status { min-height: 1.25rem; margin: .7rem 0 0; color: var(--muted); font-size: .75rem; }
.divine-account-status[data-tone="success"] { color: var(--green); }
.divine-account-status[data-tone="error"] { color: var(--error); }

.divine-account-member-card {
  position: relative;
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  padding: 1.2rem;
  overflow: hidden;
  border-radius: .55rem;
  background: var(--green-dark);
  color: var(--white);
}

.divine-account-member-card::after { position: absolute; right: -1.5rem; bottom: -2.5rem; width: 7rem; height: 7rem; border: 1.6rem solid rgba(244, 196, 48, .13); border-radius: 50%; content: ""; }
.divine-account-member-card > span { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: var(--gold); color: var(--green-dark); font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 800; }
.divine-account-member-card h3 { color: var(--white); }
.divine-account-member-card small { color: #bbcec2; }
.divine-account-member-card > b { position: absolute; top: 1rem; right: 1rem; z-index: 1; padding: .35rem .55rem; border-radius: 999px; background: #5d251f; color: var(--white); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.divine-account-member-card > b[data-ready="true"] { background: var(--green); color: var(--white); }

.divine-account-menu { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin: 1rem 0; }
.divine-account-menu button { display: grid; grid-template-columns: 1.7rem 1fr auto; gap: .55rem; align-items: center; min-height: 4.7rem; padding: .8rem; border: 1px solid var(--line); border-radius: .45rem; background: var(--white); color: var(--ink); text-align: left; cursor: pointer; }
.divine-account-menu button.is-active { border-color: var(--green); box-shadow: inset 0 -3px var(--green); }
.divine-account-menu button > span { color: var(--red); font-family: Georgia, "Times New Roman", serif; font-size: 1rem; }
.divine-account-menu button strong { display: block; color: var(--green-dark); font-size: .76rem; }
.divine-account-menu button small { display: block; margin-top: .16rem; color: var(--muted); font-size: .61rem; line-height: 1.2; }
.divine-account-menu button > b { color: var(--green); }

.divine-profile-form > section { padding: 1.25rem; }
.divine-account-section-heading { margin-bottom: 1.25rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.divine-account-section-heading p { color: var(--red); }
.divine-account-section-heading > span { display: block; margin-top: .55rem; color: var(--muted); font-size: .76rem; }
.divine-account-locked-field { margin: 1rem 0; padding: .85rem; border: 1px dashed #c6b994; border-radius: .35rem; background: #f7f1e2; }
.divine-account-locked-field strong { display: block; color: var(--ink); font-size: .85rem; }
.divine-account-delivery-note { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: .75rem .85rem; border-left: 4px solid var(--gold); background: #f1ead9; color: var(--muted); font-size: .68rem; }
.divine-account-delivery-note b { color: var(--green-dark); letter-spacing: .08em; }
.divine-account-savebar { position: sticky; bottom: -1.25rem; margin: 1rem -1.25rem -1.25rem; padding: .2rem 1.25rem 1.25rem; background: linear-gradient(180deg, rgba(248, 241, 221, 0), var(--paper) 1.2rem); }
.divine-account-logout { width: 100%; margin-top: 1rem; padding: .85rem; border: 0; background: transparent; color: var(--muted); font-size: .68rem; text-decoration: underline; text-underline-offset: .25em; cursor: pointer; }

.divine-checkout-account {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  border-radius: .45rem;
  background: #f7f1e2;
}

.divine-checkout-account.is-ready { border-left-color: var(--green); background: #eef5ed; }
.divine-checkout-account__icon { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--green-dark); color: var(--gold); }
.divine-checkout-account__icon svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.divine-checkout-account strong { display: block; color: var(--green-dark); font-size: .82rem; }
.divine-checkout-account p { margin: .22rem 0 0; color: var(--muted); font-size: .72rem; }
.divine-checkout-account > button { min-height: 2.75rem; padding: .65rem .8rem; border: 1px solid var(--green-dark); border-radius: .28rem; background: var(--white); color: var(--green-dark); font-size: .68rem; font-weight: 900; cursor: pointer; }

.divine-account-link:focus-visible,
.divine-mobile-account-link:focus-visible,
.divine-account-drawer button:focus-visible,
.divine-checkout-account > button:focus-visible { outline: 3px solid #0872d7; outline-offset: 2px; }

@media (max-width: 1100px) {
  .divine-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .divine-community-banner { grid-template-columns: 1fr 1fr; }
  .divine-everybody { grid-template-columns: minmax(18rem, .75fr) minmax(0, 1.25fr); }
  .divine-everybody aside { grid-column: 1 / -1; min-height: 13rem; }
  .divine-everybody aside blockquote { margin: 2rem 0; }
}

@media (max-width: 820px) {
  html { scroll-padding-bottom: 6rem; }
  .page--divine-apparel a,
  .page--divine-apparel button,
  .page--divine-apparel summary,
  .page--divine-apparel select { touch-action: manipulation; }
  .divine-announcement p { justify-content: flex-start; min-height: 2.3rem; overflow-x: auto; }
  .divine-site-header__inner { grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem; gap: .6rem; min-height: 4.75rem; padding: .65rem 0; }
  .divine-site-header__inner > .divine-brand { justify-self: center; }
  .divine-site-header__inner > .divine-brand span { font-size: clamp(1.8rem, 7vw, 2.35rem); }
  .divine-site-header__inner > .divine-brand strong { display: none; }
  .divine-site-nav { display: none; }
  .divine-header-actions { gap: 0; }
  .divine-site-header:not(.divine-site-header--checkout) .divine-account-link { display: none; }
  .divine-account-link--checkout { width: 2.75rem; height: 2.75rem; padding: 0; border-color: var(--line); }
  .divine-account-link--checkout span { display: none; }
  .divine-bag-link { width: 2.75rem; height: 2.75rem; padding: 0; border: 0; border-radius: 0; }
  .divine-bag-link span { display: none; }
  .divine-bag-link b { position: absolute; top: .1rem; right: -.1rem; margin: 0; }
  .divine-site-header--checkout .divine-site-header__inner { grid-template-columns: 1fr auto; }
  .divine-site-header--checkout .divine-site-header__inner > .divine-brand { justify-self: start; }
  .divine-site-header--checkout .divine-site-header__inner > .divine-brand strong { display: inline; }
  .divine-mobile-menu { position: relative; display: block; z-index: 3; }
  .divine-mobile-menu summary { display: grid; align-content: center; gap: .3rem; width: 2.75rem; height: 2.75rem; cursor: pointer; list-style: none; }
  .divine-mobile-menu summary::-webkit-details-marker { display: none; }
  .divine-mobile-menu summary span { display: block; width: 1.75rem; height: 2px; border-radius: 2px; background: var(--green-dark); }
  .divine-mobile-menu nav { position: absolute; top: 3.35rem; left: 0; display: grid; min-width: 14rem; max-height: calc(100dvh - 7.5rem); padding: .65rem; overflow-y: auto; border: 1px solid var(--line); background: var(--paper); box-shadow: 0 1rem 2.5rem rgba(2, 30, 17, .18); }
  .divine-mobile-menu nav a,
  .divine-mobile-account-link { padding: .9rem 1rem; color: var(--green-dark); font-size: .75rem; font-weight: 900; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
  .divine-mobile-account-link { display: flex; align-items: center; gap: .65rem; width: 100%; border: 0; border-top: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; }
  .divine-mobile-account-link svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
  .divine-mobile-bag { position: fixed; right: max(.75rem, env(safe-area-inset-right)); bottom: max(.75rem, env(safe-area-inset-bottom)); left: max(.75rem, env(safe-area-inset-left)); z-index: 28; display: flex; align-items: center; justify-content: space-between; min-height: 4.25rem; padding: .8rem 1.15rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: .7rem; background: var(--green-dark); box-shadow: 0 .8rem 2.5rem rgba(2, 30, 17, .28); color: var(--white); font-size: .8rem; font-weight: 900; letter-spacing: .08em; text-decoration: none; }
  .divine-mobile-bag span { display: inline-flex; align-items: center; gap: .45rem; }
  .divine-mobile-bag img { filter: brightness(0) invert(1); }
  .divine-mobile-bag strong { font-size: .9rem; }
  .page--divine-apparel:not(.page--merch-checkout) { padding-bottom: calc(5.5rem + env(safe-area-inset-bottom)); }
  .divine-breadcrumb { overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
  .divine-breadcrumb::-webkit-scrollbar { display: none; }
  .divine-breadcrumb strong { overflow: visible; text-overflow: clip; }
  .divine-site-footer { grid-template-columns: 1fr; }
  .divine-site-footer small { grid-column: 1; }
  .divine-footer-links { grid-template-columns: 1fr 1fr; }
  .divine-info-grid { grid-template-columns: 1fr; }
  .divine-info-content > .divine-delivery-feature { grid-template-columns: 1fr; }
  .divine-delivery-feature img { min-height: 0; aspect-ratio: 3 / 2; }
  .divine-info-content > .divine-faq-feature { grid-template-columns: 1fr; }
  .divine-faq-feature img { min-height: 0; aspect-ratio: 3 / 2; }
  .divine-info-content > .divine-faq-layout { grid-template-columns: 1fr; gap: 3.5rem; }
  .divine-faq-directory { position: static; }
  .divine-story-feature { grid-template-columns: 1fr; }
  .divine-story-feature__copy { padding-inline: .25rem; }
  .divine-story-roots header,
  .divine-story-process,
  .divine-story-manifesto { grid-template-columns: 1fr; }
  .divine-story-process { gap: 1.5rem; }
  .divine-story-process > div { padding: 0 .25rem; }
  .divine-story-roots header > p:first-child { grid-column: 1; }
  .divine-story-roots__chapters { grid-template-columns: 1fr; }
  .divine-story-roots__chapters article { padding: 1.35rem 0; }
  .divine-story-roots__chapters article + article { padding-left: 0; border-top: 1px solid #315041; border-left: 0; }
  .divine-story-roots__chapters h3 { margin-top: 1rem; }
  .divine-story-manifesto { gap: 1rem; }
  .divine-story-manifesto > p { margin-top: 0; }
  .divine-collection-hero { grid-template-columns: 1fr; }
  .divine-collection-hero > p { grid-column: 1; }
  .divine-product-grid { grid-template-columns: 1fr; }
  .page--divine-home .divine-product-grid { display: flex; gap: 1rem; margin-right: -.75rem; padding-right: .75rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-padding-left: 0; scroll-snap-type: x mandatory; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
  .page--divine-home .divine-product-card { flex: 0 0 min(86vw, 21rem); scroll-snap-align: start; }
  .divine-shop-toolbar { align-items: flex-start; flex-wrap: wrap; }
  .divine-shop-toolbar a { width: 100%; margin-left: 0; }
  .divine-shop-generation { grid-template-columns: 1fr; }
  .divine-shop-generation figure { min-height: 0; }
  .divine-shop-generation img { height: auto; }
  .divine-product-assurance { grid-template-columns: 1fr; }
  .divine-home-hero { grid-template-columns: 1fr; min-height: 0; }
  .divine-home-hero__media { grid-column: 1; grid-row: 1; height: auto; aspect-ratio: 1.38; object-fit: cover; object-position: center; }
  .divine-home-hero__copy { grid-column: 1; grid-row: 2; min-height: 0; padding: clamp(2.75rem, 10vw, 3.5rem) 1.25rem; text-align: center; }
  .divine-home-hero__copy > div { margin-inline: auto; }
  .divine-home-hero__copy > div > p { font-size: 1rem; line-height: 1.65; }
  .divine-home-actions { justify-content: center; }
  .divine-home-actions a { width: 100%; min-height: 3.25rem; }
  .divine-home-actions a:first-child { flex: 1 1 100%; }
  .divine-home-hero__products { min-height: 35rem; }
  .divine-values-ribbon { justify-content: flex-start; overflow-x: auto; }
  .divine-featured-collection > header { display: flex; align-items: flex-start; flex-direction: column; }
  .divine-featured-collection > header > div { text-align: left; }
  .divine-featured-collection > header > a { justify-self: auto; }
  .divine-featured-collection { width: min(100% - 1.5rem, 90rem); padding: 3.5rem 0; }
  .divine-product-card__action { min-height: 3.15rem; }
  .divine-everybody { grid-template-columns: 1fr; width: min(100% - 1.5rem, 90rem); margin-bottom: 3.5rem; }
  .divine-everybody figure { min-height: 0; }
  .divine-everybody figure img { height: auto; }
  .divine-everybody__copy,
  .divine-everybody aside { padding: 2rem 1.25rem; }
  .divine-everybody aside { grid-column: 1; }
  .divine-community-banner { grid-template-columns: 1fr; }
  .divine-community-banner figure { min-height: 0; }
  .divine-community-banner figure picture { height: auto; }
  .divine-community-banner figure img { height: auto; }
  .divine-community-banner > div { padding: 3rem 1.25rem; }
  .divine-service-strip { grid-template-columns: 1fr; width: min(100% - 1.5rem, 90rem); }
  .divine-service-strip article { border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
  .divine-service-strip article:last-child { border-bottom: 1px solid var(--line); }
  .shirt-product { grid-template-columns: 1fr; }
  .shirt-product-media { padding: 1.25rem; }
  .shirt-product-details { border-top: 1px solid var(--line); border-left: 0; }
  .shirt-product-copy { min-height: auto; padding: 2rem 1rem 3rem; }
  .shirt-product h1 { font-size: clamp(2.7rem, 13vw, 4.4rem); }
  .shirt-primary-action,
  .shirt-checkout-link,
  .shirt-cart-trigger,
  .shirt-checkout-form button { min-height: 3.25rem; }
  .variant-swatch { min-height: 2.75rem; }
  .shirt-cart-close { width: 2.75rem; height: 2.75rem; }
  .cart-line-controls { grid-template-columns: 2.75rem 2rem 2.75rem 1fr; gap: .35rem; }
  .cart-line-controls button { width: 2.75rem; height: 2.75rem; }
  .shirt-size select,
  .shirt-checkout-form input:not([type="checkbox"]),
  .shirt-checkout-form select,
  .shirt-checkout-form textarea { min-height: 3rem; font-size: 16px; }
  .shirt-checkout-form textarea { min-height: 7rem; }
  .shirt-cart-drawer { width: 100%; max-width: 100%; border-left: 0; }
  .shirt-cart-drawer-head { padding-top: max(1rem, env(safe-area-inset-top)); }
  .shirt-cart-drawer-footer { padding-bottom: max(1.25rem, calc(env(safe-area-inset-bottom) + .75rem)); }
  .merch-toast { right: .75rem; bottom: calc(5.5rem + env(safe-area-inset-bottom)); left: .75rem; max-width: none; }
  .divine-account-drawer { width: 100%; max-width: 100%; border-left: 0; }
  .divine-account-drawer__head { padding-top: max(1.25rem, env(safe-area-inset-top)); }
  .divine-account-drawer__body { padding-bottom: max(1.25rem, env(safe-area-inset-bottom)); }
  .shirt-order { padding: 3.5rem 1.25rem; }
  .shirt-order-grid { grid-template-columns: 1fr; }
  .shirt-bag { position: static; }
  .shirt-checkout-page { padding-inline: 1.25rem; }
  .shirt-checkout-layout { grid-template-columns: 1fr; }
  .shirt-checkout-bag { position: static; }
}

@media (max-width: 540px) {
  .divine-announcement p span:nth-of-type(n+2),
  .divine-announcement p i:nth-of-type(n+1) { display: none; }
  .divine-announcement p { justify-content: center; }
  .divine-site-header__inner { width: min(100% - 1.5rem, 90rem); }
  .divine-footer-links { grid-template-columns: 1fr; }
  .divine-site-footer small { align-items: flex-start; flex-direction: column; gap: .5rem; }
  .divine-home-hero h1 { font-size: clamp(3rem, 15vw, 4.2rem); }
  .divine-collection-hero h1,
  .divine-info-hero h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .divine-info-hero { padding: 3rem 0 2.5rem; }
  .divine-delivery-feature > div { padding: 2rem 1.25rem 2.25rem; }
  .divine-faq-feature > div { padding: 2rem 1.25rem 2.25rem; }
  .divine-faq-highlights { grid-template-columns: 1fr; }
  .divine-faq-highlights span { display: grid; grid-template-columns: 4.2rem minmax(0, 1fr); gap: .75rem; align-items: center; }
  .divine-faq-highlights b { margin-bottom: 0; }
  .divine-faq-directory { padding: 1.25rem; }
  .divine-faq-group > header { grid-template-columns: 3rem minmax(0, 1fr); gap: .9rem; }
  .divine-faq-group > header > span { width: 3rem; height: 3rem; font-size: 1.15rem; }
  .divine-faq summary { padding: 1.1rem; font-size: .84rem; }
  .divine-faq summary span { width: 1.9rem; height: 1.9rem; }
  .divine-faq details p { padding: 0 1.1rem 1.25rem; font-size: .85rem; }
  .divine-story-feature figcaption { grid-template-columns: 1fr; gap: .65rem; }
  .divine-info-content > .divine-story-roots { padding: 2rem 1.25rem; }
  .divine-story-process figure { padding: .35rem; box-shadow: .55rem .55rem 0 var(--deep); }
  .divine-home-hero { min-height: 0; }
  .divine-home-hero__media { object-position: center; }
  .divine-home-hero__products { grid-template-columns: 1fr 1fr; min-height: 26rem; }
  .divine-home-hero__products a:first-child { grid-column: 1 / -1; grid-row: 1; }
  .divine-home-hero__products { grid-template-rows: 1.25fr .75fr; }
  .divine-home-hero__products a:nth-child(2) { border-bottom: 0; }
  .divine-product-card__buy { align-items: stretch !important; flex-direction: column; }
  .divine-product-card__action { min-height: 3.15rem; align-items: center; }
  .divine-shop-toolbar span { width: 100%; padding-left: 0; border-left: 0; }
  .divine-account-field-grid { grid-template-columns: 1fr; }
  .divine-account-menu { grid-template-columns: 1fr; }
  .divine-account-member-card { grid-template-columns: 3rem minmax(0, 1fr); padding-top: 3.25rem; }
  .divine-account-member-card > span { width: 3rem; height: 3rem; }
  .divine-checkout-account { grid-template-columns: 2.5rem minmax(0, 1fr); }
  .divine-checkout-account__icon { width: 2.5rem; height: 2.5rem; }
  .divine-checkout-account > button { grid-column: 1 / -1; min-height: 3rem; }
  .variant-swatch span { font-size: .76rem; }
  .shirt-form-row { grid-template-columns: 1fr; }
  .shirt-form-row label + label { margin-top: 1rem; }
}

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