/** Shopify CDN: Minification failed

Line 204:0 Unexpected ")"

**/
/*
 * Abba & Co. page sections (info pages,
 * Why Abba, How each cap is made, Gift a cap, Seasons, The way to the Father,
 * Community guidelines): their tokens and only the rules they use.
 * The new design system restyles them through the token remap at the end.
 */

:root {
  /* Color */
  --ab-bone: #f5f1e8; /* dominant background */
  --ab-sand: #ebe5da; /* secondary surfaces, bands, dividers, image placeholders */
  --ab-ink: #20231f; /* body text, footer */
  --ab-navy: #1f2a44; /* dark story panels, hero fallback */
  --ab-accent: #ff6b2c; /* Blaze: buttons, fills, underlines, focus; Ink text on top */
  --ab-accent-on-dark: #ff6b2c; /* Blaze text is allowed on Navy (4.1:1) and Ink (5.4:1) only */
  --ab-accent-deep: #ff6b2c; /* One orange throughout (owner, 6 Oct 2026) */
  --ab-muted: #4a5265; /* labels, secondary text, input borders */
  --ab-scrim: rgba(32, 35, 31, 0.45); /* drawer backdrop */
  --ab-rule-on-dark: rgba(245, 241, 232, 0.2); /* dividers on navy/ink */
  --ab-input-on-dark: rgba(245, 241, 232, 0.55);

  /* Type */
  --ab-font-display: 'Abba Display', Georgia, serif;
  --ab-font-accent: 'Abba Libre Baskerville', 'Libre Baskerville', Baskerville, Georgia, serif; /* quotes, verse text, references, numerals; 400 only */
  --ab-font-ui: 'Abba Jost', 'Jost', Arial, sans-serif;

  --ab-text-hero: clamp(64px, 8.6vw, 124px); /* lh 0.94, ls -0.02em, 500 */
  --ab-text-numeral: clamp(168px, 25vw, 360px); /* side reference, lh 0.78, ls -0.04em */
  --ab-text-quote-xl: clamp(64px, 10vw, 160px); /* italic 400, lh 0.95 */
  --ab-text-h2: var(--font-size--h2); /* lh 1.04, ls -0.015em, 500 */
  --ab-text-h1-product: var(--font-size--h1); /* lh 1, ls -0.015em */
  --ab-text-h3: var(--font-size--h3); /* lh 1.06 */
  --ab-text-lead-serif: var(--font-size--h2); /* lh 1.28 */
  --ab-text-verse: var(--font-size--h3); /* italic, lh 1.42 */
  --ab-text-card-title: var(--font-size--h3); /* serif 500, lh 1.1 */
  --ab-text-body-lg: var(--font-size--paragraph); /* lh 1.65 */
  --ab-text-body: var(--font-size--paragraph); /* lh 1.5–1.55 */
  --ab-text-price: var(--font-size--paragraph);
  --ab-text-eyebrow: var(--font-size--h6); /* 600, ls 0.24em, uppercase, muted */
  --ab-text-nav: var(--font-size--h6); /* 500, ls 0.24em, uppercase */

  /* Layout */
  --ab-container: 1440px;
  --ab-gutter: clamp(20px, 5.6vw, 80px);
  --ab-section-y: clamp(96px, 11vw, 160px);
  --ab-section-y-sm: clamp(80px, 9vw, 128px);
  --ab-grid-gap: 24px;
  --ab-header-h: 88px; /* desktop ≥1024 */
  --ab-header-h-mobile: 64px;

  /* Shape and controls */
  --ab-radius: 2px;
  --ab-btn-h: 56px;
  --ab-btn-h-sm: 52px;
  --ab-btn-pad-x: 32px;
  --ab-hit: 44px;
  --ab-underline-offset: 8px; /* 6px on small links */
  --ab-focus: 2px solid var(--ab-accent);
  --ab-focus-offset: 3px;

  /* Motion (all disabled under prefers-reduced-motion) */
  --ab-dur-fast: 180ms; /* color, underline */
  --ab-dur-base: 220ms; /* header, dropdown, menu */
  --ab-dur-drawer: 240ms;
  --ab-dur-reveal: 260ms;
  --ab-ease: ease;

  /* Legacy aliases used by earlier abbaco-* sections */
  --abba-bone: var(--ab-bone);
  --abba-sand: var(--ab-sand);
  --abba-ink: var(--ab-ink);
  --abba-navy: var(--ab-navy);
  --abba-muted: var(--ab-muted);
  --abba-font-display: var(--ab-font-display);
  --abba-font-body: var(--ab-font-ui);
  --abba-space-1: 0.8rem;
  --abba-space-2: 1.6rem;
  --abba-space-3: 2.4rem;
  --abba-space-4: 3.2rem;
  --abba-space-5: 4.8rem;
  --abba-space-6: 6.4rem;
  --abba-space-7: 9.6rem;
  --abba-radius: var(--ab-radius);

  /* Dawn overrides */
  --font-heading-family: var(--ab-font-display);
  --font-heading-style: normal;
  --font-heading-weight: 500;
  --font-body-family: var(--ab-font-ui);
  --font-body-style: normal;
  --font-body-weight: 400;
  --font-body-weight-bold: 600;
  --alpha-link: 1;
  --focused-base-outline: var(--ab-focus);
  --focused-base-outline-offset: var(--ab-focus-offset);
  --focused-base-box-shadow: none;
}
:root {
  /* Color */
  --ab-bone: #f5f1e8; /* dominant background */
  --ab-sand: #ebe5da; /* secondary surfaces, bands, dividers, image placeholders */
  --ab-ink: #20231f; /* body text, footer */
  --ab-navy: #1f2a44; /* dark story panels, hero fallback */
  --ab-accent: #ff6b2c; /* Blaze: buttons, fills, underlines, focus; Ink text on top */
  --ab-accent-on-dark: #ff6b2c; /* Blaze text is allowed on Navy (4.1:1) and Ink (5.4:1) only */
  --ab-accent-deep: #ff6b2c; /* One orange throughout (owner, 6 Oct 2026) */
  --ab-muted: #4a5265; /* labels, secondary text, input borders */
  --ab-scrim: rgba(32, 35, 31, 0.45); /* drawer backdrop */
  --ab-rule-on-dark: rgba(245, 241, 232, 0.2); /* dividers on navy/ink */
  --ab-input-on-dark: rgba(245, 241, 232, 0.55);

  /* Type */
  --ab-font-display: 'Abba Display', Georgia, serif;
  --ab-font-accent: 'Abba Libre Baskerville', 'Libre Baskerville', Baskerville, Georgia, serif; /* quotes, verse text, references, numerals; 400 only */
  --ab-font-ui: 'Abba Jost', 'Jost', Arial, sans-serif;

  --ab-text-hero: clamp(64px, 8.6vw, 124px); /* lh 0.94, ls -0.02em, 500 */
  --ab-text-numeral: clamp(168px, 25vw, 360px); /* side reference, lh 0.78, ls -0.04em */
  --ab-text-quote-xl: clamp(64px, 10vw, 160px); /* italic 400, lh 0.95 */
  --ab-text-h2: var(--font-size--h2); /* lh 1.04, ls -0.015em, 500 */
  --ab-text-h1-product: var(--font-size--h1); /* lh 1, ls -0.015em */
  --ab-text-h3: var(--font-size--h3); /* lh 1.06 */
  --ab-text-lead-serif: var(--font-size--h2); /* lh 1.28 */
  --ab-text-verse: var(--font-size--h3); /* italic, lh 1.42 */
  --ab-text-card-title: var(--font-size--h3); /* serif 500, lh 1.1 */
  --ab-text-body-lg: var(--font-size--paragraph); /* lh 1.65 */
  --ab-text-body: var(--font-size--paragraph); /* lh 1.5–1.55 */
  --ab-text-price: var(--font-size--paragraph);
  --ab-text-eyebrow: var(--font-size--h6); /* 600, ls 0.24em, uppercase, muted */
  --ab-text-nav: var(--font-size--h6); /* 500, ls 0.24em, uppercase */

  /* Layout */
  --ab-container: 1440px;
  --ab-gutter: clamp(20px, 5.6vw, 80px);
  --ab-section-y: clamp(96px, 11vw, 160px);
  --ab-section-y-sm: clamp(80px, 9vw, 128px);
  --ab-grid-gap: 24px;
  --ab-header-h: 88px; /* desktop ≥1024 */
  --ab-header-h-mobile: 64px;

  /* Shape and controls */
  --ab-radius: 2px;
  --ab-btn-h: 56px;
  --ab-btn-h-sm: 52px;
  --ab-btn-pad-x: 32px;
  --ab-hit: 44px;
  --ab-underline-offset: 8px; /* 6px on small links */
  --ab-focus: 2px solid var(--ab-accent);
  --ab-focus-offset: 3px;

  /* Motion (all disabled under prefers-reduced-motion) */
  --ab-dur-fast: 180ms; /* color, underline */
  --ab-dur-base: 220ms; /* header, dropdown, menu */
  --ab-dur-drawer: 240ms;
  --ab-dur-reveal: 260ms;
  --ab-ease: ease;

  /* Legacy aliases used by earlier abbaco-* sections */
  --abba-bone: var(--ab-bone);
  --abba-sand: var(--ab-sand);
  --abba-ink: var(--ab-ink);
  --abba-navy: var(--ab-navy);
  --abba-muted: var(--ab-muted);
  --abba-font-display: var(--ab-font-display);
  --abba-font-body: var(--ab-font-ui);
  --abba-space-1: 0.8rem;
  --abba-space-2: 1.6rem;
  --abba-space-3: 2.4rem;
  --abba-space-4: 3.2rem;
  --abba-space-5: 4.8rem;
  --abba-space-6: 6.4rem;
  --abba-space-7: 9.6rem;
  --abba-radius: var(--ab-radius);

  /* Dawn overrides */
  --font-heading-family: var(--ab-font-display);
  --font-heading-style: normal;
  --font-heading-weight: 500;
  --font-body-family: var(--ab-font-ui);
  --font-body-style: normal;
  --font-body-weight: 400;
  --font-body-weight-bold: 600;
  --alpha-link: 1;
  --focused-base-outline: var(--ab-focus);
  --focused-base-outline-offset: var(--ab-focus-offset);
  --focused-base-box-shadow: none;
}
:root {
  --ab-sand-light: #efe9de; /* the ampersand / In good company pairing */
}
:root {
  --ab-home-y: 64px;
  --ab-kraft: #dcc7a6; /* A reminder in every detail (owner, 5 Oct 2026) */
}
:root {
  --ab-accent-small-on-navy: #ff6b2c;
}

). Abba & Co. relies on some intentionally empty ones: the header
   spacer, Sand image placeholders, and live status regions. */
.ab-header__spacer:empty,
.ab-media:empty,
p.ab-newsletter__msg:empty,
p.ab-notify__msg:empty,
p.ab-footer__msg:empty,
.ab-gift-status:empty {
  display: block;
}

/* Container used by every abbaco-* section */
.ab-container {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--ab-container);
  margin-inline: auto;
  padding-inline: var(--ab-gutter);
}

/* ---------------------------------------------------------------------------
 * Type utilities (token scale)
 * ------------------------------------------------------------------------- */

.ab-eyebrow,
.abba-label {
  margin: 0;
  font-family: var(--ab-font-ui);
  font-size: var(--ab-text-eyebrow);
  font-weight: 600;
  letter-spacing: 0.24em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--ab-muted);
}

.abba-on-dark .ab-eyebrow,
.abba-on-dark .abba-label {
  color: var(--ab-sand);
}

.ab-display {
  margin: 0;
  font-family: var(--ab-font-display);
  font-weight: 500;
  color: inherit;
  text-wrap: balance;
}

.ab-h2 {
  font-size: var(--ab-text-h2);
  line-height: 1.04;
  letter-spacing: -0.015em;
}

.ab-body-lg {
  font-size: var(--ab-text-body-lg);
  line-height: 1.65;
}

.ab-muted {
  color: var(--ab-muted);
}

.abba-on-dark .ab-muted {
  color: var(--ab-sand);
}

/* ---------------------------------------------------------------------------
 * Links: Ink text, 1px Blaze underline at 8px (6px small); hover keeps Ink
 * and thickens the Blaze underline to 2px (v5: no orange text on Bone/Sand).
 * On dark: Bone text, Blaze underline; hover turns the text Blaze.
 * ------------------------------------------------------------------------- */

.ab-link,
.rte a:not(.button),
.underlined-link {
  color: var(--ab-ink);
  text-decoration: underline;
  text-decoration-color: var(--ab-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: var(--ab-underline-offset);
  transition: text-decoration-color var(--ab-dur-fast) var(--ab-ease), color var(--ab-dur-fast) var(--ab-ease);
}

.ab-link:hover,
.rte a:not(.button):hover,
.underlined-link:hover {
  color: var(--ab-ink);
  text-decoration-color: var(--ab-accent);
  text-decoration-thickness: 2px;
}

.abba-on-dark .ab-link,
.abba-on-dark .rte a:not(.button) {
  color: var(--ab-bone);
  text-decoration-color: var(--ab-accent-on-dark);
}

.abba-on-dark .ab-link:hover,
.abba-on-dark .rte a:not(.button):hover {
  color: var(--ab-accent-on-dark);
  text-decoration-color: var(--ab-accent-on-dark);
}

/* ---------------------------------------------------------------------------
 * Buttons (README "Buttons")
 * Primary: 56px, 32px padding, Blaze bg, Ink text, Jost 16/500; hover Ink with Bone text.
 *   On dark sections (.abba-on-dark) hover turns Bone with Ink text.
 * Secondary: 1px Ink border, transparent; hover fills Ink, Bone text.
 *   On navy: Bone border; hover fills Bone with Navy text.
 * Colors come from the scheme (button = Blaze, label = Ink on every scheme);
 * these rules only fix shape, type, and hover.
 * ------------------------------------------------------------------------- */

.button,
.shopify-challenge__button,
.customer button,
.ab-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: var(--ab-btn-h);
  min-width: 0;
  padding: 0 var(--ab-btn-pad-x);
  border: 1px solid transparent;
  border-radius: var(--ab-radius);
  font-family: var(--ab-font-ui);
  font-size: var(--font-size--h4);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--ab-dur-fast) var(--ab-ease), color var(--ab-dur-fast) var(--ab-ease),
    border-color var(--ab-dur-fast) var(--ab-ease);
}

.ab-btn--primary {
  background-color: var(--ab-accent);
  color: var(--ab-ink);
}

.button:not(.button--secondary):not(.button--tertiary):not([disabled]):hover,
.shopify-challenge__button:hover,
.customer button:hover,
.ab-btn--primary:hover {
  background-color: var(--ab-ink);
  color: var(--ab-bone);
}

.abba-on-dark .button:not(.button--secondary):not(.button--tertiary):not([disabled]):hover,
.abba-on-dark .ab-btn--primary:hover {
  background-color: var(--ab-bone);
  color: var(--ab-ink);
}

.button--secondary,
.ab-btn--secondary {
  min-height: var(--ab-btn-h-sm);
  padding: 0 28px;
  border-color: var(--ab-ink);
  background-color: transparent;
  color: var(--ab-ink);
}

.button--secondary:not([disabled]):hover,
.ab-btn--secondary:hover {
  background-color: var(--ab-ink);
  color: var(--ab-bone);
}

.abba-on-dark .button--secondary,
.abba-on-dark .ab-btn--secondary {
  border-color: var(--ab-bone);
  color: var(--ab-bone);
}

.abba-on-dark .button--secondary:not([disabled]):hover,
.abba-on-dark .ab-btn--secondary:hover {
  background-color: var(--ab-bone);
  color: rgb(var(--color-background));
}

/* ---------------------------------------------------------------------------
 * Image placeholder (README "Image placeholders"): Sand box at a fixed
 * aspect ratio; "Replace image" shows only in the theme editor.
 * ------------------------------------------------------------------------- */

.ab-media {
  position: relative;
  display: block;
  overflow: hidden;
  background-color: var(--ab-sand);
}

.ab-media > img,
.ab-media > picture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ab-media__hint {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 1;
  padding: 4px 8px;
  background: var(--ab-bone);
  color: var(--ab-ink);
  font-size: var(--font-size--h6);
  line-height: 1.4;
  pointer-events: none;
}

.ab-media__shot {
  position: absolute;
  inset: auto 12px 12px;
  z-index: 1;
  font-size: var(--font-size--h6);
  line-height: 1.4;
  color: var(--ab-muted);
  pointer-events: none;
}

/* Prelaunch placeholder warning (editor only) */
.ab-prelaunch {
  display: inline-block;
  margin: 8px 0 0;
  padding: 4px 8px;
  background: var(--ab-sand);
  color: var(--ab-ink);
  font-family: var(--ab-font-ui);
  font-size: var(--font-size--h6);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-left: 2px solid var(--ab-accent);
}

.ab-gallery__item .ab-media {
  aspect-ratio: 4 / 5 !important;
}

@media screen and (min-width: 768px) {
  .ab-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 0;
    overflow: visible;
  }

  .ab-gallery__item--lead {
    grid-column: span 2;
  }

  .ab-gallery__item:not(.ab-gallery__item--lead) .ab-media {
    aspect-ratio: 1 / 1 !important;
  }

  .ab-gallery__count {
    display: none;
  }
}

.ab-reveal__toggle .ab-icon__plus-v {
  transition: opacity var(--ab-dur-fast) var(--ab-ease);
}

.ab-reveal__toggle[aria-expanded='true'] .ab-icon__plus-v {
  opacity: 0;
}

.ab-stack-24 {
  margin-bottom: 24px;
}

.ab-split__label {
  flex: 1 1 200px;
  max-width: 300px;
  margin-top: 14px;
}

.ab-split__body {
  flex: 3 1 560px;
  max-width: 900px;
}

.ab-hero-sec .ab-media__hint {
  top: 104px;
  left: auto;
  right: var(--ab-gutter);
}

.ab-hero-sec .ab-media__shot {
  top: 136px;
  bottom: auto;
  left: auto;
  right: var(--ab-gutter);
  max-width: 320px;
  color: var(--ab-sand);
  text-align: right;
}

.ab-pathways__head .ab-icon {
  flex: none;
}

.ab-drawer .ab-drawer__close .ab-icon {
  width: 20px;
  height: 20px;
}

.ab-search-panel__none .ab-muted {
  margin: 12px 0 0;
  font-size: var(--font-size--paragraph);
  line-height: 1.55;
}

.ab-collection-page__none .ab-muted {
  max-width: 52ch;
  margin: 0;
  font-size: var(--font-size--paragraph);
  line-height: 1.55;
}

.ab-collection-page__none-actions .ab-btn--secondary {
  min-height: var(--ab-btn-h);
  padding: 0 32px;
}

.ab-check__box .ab-icon {
  opacity: 0;
  stroke-width: 2;
}

.ab-check input:checked + .ab-check__box .ab-icon {
  opacity: 1;
}

.ab-season-caps__none .ab-muted {
  margin: 20px 0 0;
  font-size: var(--font-size--paragraph);
  line-height: 1.55;
}

/* ---------------------------------------------------------------------------
 * Seasons landing (Seasons.dc.html) + collection list (Collections.dc.html)
 * ------------------------------------------------------------------------- */

.ab-landing-intro {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 48px;
  padding-top: clamp(64px, 8vw, 128px);
  padding-bottom: clamp(64px, 7vw, 104px);
}

.ab-landing-intro__title {
  font-size: clamp(52px, 6.6vw, 96px);
  line-height: 0.98;
  letter-spacing: -0.02em;
}

.ab-landing-intro__text {
  max-width: 52ch;
  margin: 32px 0 0;
}

.ab-toc {
  padding-bottom: var(--ab-section-y);
}

.ab-toc__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid var(--ab-ink);
}

.ab-toc__item {
  border-top: 1px solid var(--ab-sand);
}

.ab-toc__item:first-child {
  border-top-color: var(--ab-ink);
}

.ab-toc__link {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 16px clamp(24px, 3vw, 48px);
  align-items: start;
  padding: clamp(32px, 4vw, 56px) 0;
  color: var(--ab-ink);
  text-decoration: none;
}

@media screen and (min-width: 640px) {
  .ab-toc__link {
    grid-template-columns: 120px minmax(0, 1fr);
  }
}

@media screen and (min-width: 1024px) {
  .ab-toc__link {
    grid-template-columns: 200px minmax(0, 6fr) minmax(0, 5fr);
  }
}

.ab-toc__num {
  grid-row: span 3;
  font-family: var(--ab-font-accent);
  font-weight: 400;
  font-size: clamp(55.68px, 6.96vw, 111.36px);
  line-height: 0.8;
  letter-spacing: -0.03em;
  font-variant-numeric: lining-nums;
}

.ab-toc__main {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ab-toc__name {
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h1);
  line-height: 1.02;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 10px;
  transition: text-decoration-color var(--ab-dur-fast) var(--ab-ease);
}

.ab-toc__link:hover .ab-toc__name {
  text-decoration-color: var(--ab-accent);
}

.ab-toc__desc {
  max-width: 40ch;
  font-size: var(--font-size--paragraph);
  line-height: 1.6;
}

.ab-toc__caps {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 10px;
}

.ab-toc__cap {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
}

.ab-toc__cap-name {
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h4);
  line-height: 1.15;
}

.ab-toc__cap-ref {
  font-family: var(--ab-font-accent);
  font-style: italic;
  font-size: var(--font-size--paragraph);
  font-weight: 400;
}

.ab-toc__empty {
  font-size: var(--font-size--paragraph);
  line-height: 1.55;
}

.ab-toc__enter {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  font-size: var(--font-size--paragraph);
}

.ab-toc__enter .ab-icon {
  transition: transform var(--ab-dur-fast) var(--ab-ease);
}

.ab-toc__link:hover .ab-toc__enter .ab-icon {
  transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
  .ab-toc__link:hover .ab-toc__enter .ab-icon {
    transform: none;
  }
}

/* Sand band (seasons landing, gift card) */
.ab-band {
  background: var(--ab-sand);
  color: var(--ab-ink);
}

.ab-band__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 40px 48px;
  padding-top: var(--ab-section-y-sm);
  padding-bottom: var(--ab-section-y-sm);
}

.ab-band__body {
  flex: 1 1 400px;
  max-width: 640px;
}

.ab-band__text {
  font-size: var(--font-size--h2);
  line-height: 1.15;
}

.ab-band__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 32px;
}

.ab-band__btn {
  min-height: var(--ab-btn-h);
  padding: 0 32px;
}

.ab-search-result-page__text .ab-muted {
  font-size: var(--font-size--paragraph);
  line-height: 1.5;
}

.ab-hero-sec .ab-btn--primary:hover {
  background: var(--ab-bone);
  color: var(--ab-ink);
}

.ab-launch__head .ab-h2,
.ab-preorders__title,
.ab-reviews__title {
  margin: 0;
}

.ab-launch__front,
.ab-launch__worn,
.ab-precard__front,
.ab-precard__worn {
  position: absolute;
  inset: 0;
}

.ab-launch__front {
  transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.ab-launch__worn,
.ab-precard__worn {
  opacity: 0;
  transition: opacity 400ms ease;
  pointer-events: none;
}

.ab-launch__link:hover .ab-launch__front {
  transform: scale(1.03);
}

.ab-launch__link:hover .ab-launch__worn,
.ab-precard:hover .ab-precard__worn {
  opacity: 1;
}

.ab-launch__worn .ab-media:not(:has(img)),
.ab-precard__worn .ab-media:not(:has(img)) {
  display: none;
}

.ab-ritual .ab-media__hint,
.ab-ritual .ab-media__shot {
  pointer-events: none;
}

.ab-insta .ab-media__shot {
  display: none;
}

.ab-accordion__icon {
  flex: none;
  transition: transform 220ms ease;
}

.ab-accordion[open] .ab-accordion__icon {
  transform: rotate(45deg);
}

.ab-details__cell--inside .ab-eyebrow {
  color: var(--ab-sand);
}

.ab-other__link:hover .ab-launch__worn {
  opacity: 1;
}

/* ---------------------------------------------------------------------------
 * Content pages (Made.dc.html, Gift.dc.html): page intro, layer rows, spec
 * grid, steps, closing band
 * ------------------------------------------------------------------------- */

.ab-pintro {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 48px;
  padding-block: clamp(64px, 8vw, 128px) clamp(56px, 6vw, 88px);
}

.ab-pintro__label {
  flex: 1 1 200px;
  max-width: 300px;
  margin: 16px 0 0;
}

.ab-pintro__body {
  flex: 3 1 560px;
  max-width: 960px;
}

.ab-pintro__title {
  margin: 0;
  font-weight: 500;
  font-size: clamp(52px, 7vw, 108px);
  line-height: 0.96;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.ab-pintro__text {
  max-width: 54ch;
  margin: 36px 0 0;
  font-size: var(--font-size--paragraph);
  line-height: 1.65;
}

.ab-pintro__hero {
  position: relative;
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--ab-sand);
}

@media screen and (min-width: 768px) {
  .ab-pintro__hero {
    aspect-ratio: 21 / 9;
  }
}

.ab-pintro__layer {
  position: absolute;
  inset: -10% 0;
}

/* Layer rows */
.ab-lrows {
  padding-block: clamp(96px, 11vw, 160px);
}

.ab-lrows__title {
  margin: 0 0 clamp(48px, 6vw, 88px);
}

.ab-lrows__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px clamp(48px, 7vw, 112px);
  padding: clamp(40px, 5vw, 72px) 0;
  border-top: 1px solid var(--ab-sand);
}

.ab-lrows__media {
  position: relative;
  flex: 1 1 380px;
  max-width: 640px;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--ab-sand);
}

.ab-lrows__layer {
  position: absolute;
  inset: -6% 0;
}

.ab-lrows__copy {
  flex: 1 1 380px;
  max-width: 540px;
}

.ab-lrows__num {
  display: block;
  font-family: var(--ab-font-accent);
  font-size: clamp(76.56px, 8.7vw, 139.2px);
  line-height: 0.8;
  color: var(--ab-ink);
  font-weight: 400;
  font-variant-numeric: lining-nums;
}

.ab-lrows__name {
  margin: 28px 0 0;
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h1);
  line-height: 1.04;
}

.ab-lrows__text {
  margin: 20px 0 0;
  font-size: var(--font-size--paragraph);
  line-height: 1.65;
}

.ab-lrows__specs {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0 24px;
  margin: 28px 0 0;
  border-bottom: 1px solid var(--ab-sand);
  font-size: var(--font-size--paragraph);
}

.ab-lrows__specs dt,
.ab-lrows__specs dd {
  margin: 0;
  padding: 12px 0;
  border-top: 1px solid var(--ab-sand);
}

.ab-lrows__specs dt {
  color: var(--ab-muted);
}

/* A row without an image: full width, the spec list in its own column */
.ab-lrows__row--text .ab-lrows__copy {
  flex: 1 1 100%;
  max-width: none;
}

@media screen and (min-width: 990px) {
  .ab-lrows__row--text .ab-lrows__copy {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: clamp(48px, 7vw, 112px);
  }

  .ab-lrows__row--text .ab-lrows__num,
  .ab-lrows__row--text .ab-lrows__name,
  .ab-lrows__row--text .ab-lrows__text {
    grid-column: 1;
  }

  .ab-lrows__row--text .ab-lrows__specs {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: end;
    margin: 0;
  }
}

/* Spec grid */
.ab-specs {
  background: var(--ab-navy);
  color: var(--ab-bone);
}

.ab-specs__inner {
  padding-block: clamp(96px, 11vw, 160px);
}

.ab-specs__title {
  margin: 24px 0 0;
}

.ab-specs__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 40px 32px;
  margin: clamp(48px, 6vw, 80px) 0 0;
  padding: 0;
  list-style: none;
}

.ab-specs__item {
  padding-top: 24px;
  border-top: 1px solid var(--ab-rule-on-dark);
}

.ab-specs__name {
  display: block;
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h3);
}

.ab-specs__text {
  display: block;
  margin-top: 10px;
  font-size: var(--font-size--paragraph);
  line-height: 1.6;
  color: var(--ab-sand);
}

.ab-specs__note {
  margin: 48px 0 0;
  font-size: var(--font-size--h5);
  color: var(--ab-sand);
}

/* Steps */
.ab-steps {
  padding-block: clamp(96px, 11vw, 160px);
}

.ab-steps__title {
  margin: 0;
}

.ab-eyebrow + .ab-steps__title {
  margin-top: 20px;
}

.ab-steps__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  margin: clamp(48px, 6vw, 80px) 0 0;
  padding: 0;
  border-top: 1px solid var(--ab-ink);
  list-style: none;
}

.ab-steps__item {
  padding: 28px 24px 28px 0;
}

.ab-steps__num {
  display: block;
  font-size: var(--font-size--h6);
  font-weight: 600;
  letter-spacing: 0.24em;
  color: var(--ab-ink);
}

.ab-steps__name {
  display: block;
  margin-top: 16px;
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h3);
  line-height: 1.1;
}

.ab-steps__text {
  display: block;
  margin-top: 10px;
  font-size: var(--font-size--paragraph);
  line-height: 1.55;
  color: var(--ab-muted);
}

/* Closing band */
.ab-ctaband__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 32px 48px;
  padding-block: clamp(80px, 9vw, 128px);
}

.ab-ctaband__text {
  flex: 1 1 400px;
  max-width: 700px;
  margin: 0;
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h1);
  line-height: 1.1;
}

.ab-ctaband__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

/* Steps: cards style (Gift a cap) */
.ab-steps--cards .ab-steps__list {
  gap: 40px 32px;
  margin-top: 0;
  border-top: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

.ab-steps--cards .ab-steps__title.visually-hidden + .ab-steps__list,
.ab-steps--cards .ab-steps__list:first-child {
  margin-top: 0;
}

.ab-steps--cards .ab-steps__item {
  padding: 24px 0 0;
  border-top: 1px solid var(--ab-ink);
}

.ab-steps--cards .ab-steps__num {
  font-family: var(--ab-font-accent);
  font-size: var(--font-size--h1);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: 0;
  font-variant-numeric: lining-nums;
}

.ab-steps--cards .ab-steps__name {
  margin-top: 20px;
  font-size: var(--font-size--h3);
}

.ab-steps--cards .ab-steps__text {
  line-height: 1.6;
}

/* Image hero (inner pages) */
.ab-ihero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: clamp(560px, 78vh, 820px);
  overflow: hidden;
  background: var(--ab-navy);
  color: var(--ab-bone);
}

.ab-ihero__layer {
  position: absolute;
  inset: -12% 0;
}

.ab-ihero__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(32, 35, 31, 0.72), rgba(32, 35, 31, 0) 60%);
  pointer-events: none;
}

.ab-ihero__inner {
  position: relative;
  padding-block: clamp(56px, 8vw, 112px);
  pointer-events: none;
}

.ab-ihero .ab-eyebrow {
  margin: 0;
  color: var(--ab-sand);
}

.ab-ihero__title {
  max-width: 14ch;
  margin: 20px 0 0;
  font-weight: 500;
  font-size: clamp(56px, 8vw, 124px);
  line-height: 0.94;
  letter-spacing: -0.02em;
}

/* Choose the cap */
.ab-choose {
  padding-block: clamp(96px, 11vw, 160px);
}

.ab-choose__title {
  margin: 0 0 clamp(40px, 5vw, 64px);
}

.ab-choose__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 48px 24px;
}

.ab-choose__card {
  display: flex;
  flex-direction: column;
  color: var(--ab-ink);
  text-decoration: none;
}

.ab-choose__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--ab-sand);
}

.ab-choose__card:hover .ab-launch__worn {
  opacity: 1;
}

.ab-choose__who {
  margin-top: 20px;
}

.ab-choose__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-top: 10px;
}

.ab-choose__name {
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h2);
  line-height: 1;
}

.ab-choose__price {
  font-size: var(--font-size--paragraph);
}

.ab-choose__inside {
  margin-top: 8px;
  font-family: var(--ab-font-accent);
  font-style: italic;
  font-size: var(--font-size--paragraph);
  color: var(--ab-muted);
  font-weight: 400;
}

.ab-choose__cta {
  align-self: flex-start;
  margin-top: 16px;
  font-size: var(--font-size--paragraph);
  text-decoration: underline;
  text-decoration-color: var(--ab-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
}

.ab-choose__card:hover .ab-choose__cta {
  text-decoration-color: var(--ab-accent);
  text-decoration-thickness: 2px;
}

.ab-choose__giftcard {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px 32px;
  margin-top: 48px;
  padding: 28px 32px;
  border: 1px solid var(--ab-ink);
  color: var(--ab-ink);
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h3);
  text-decoration: none;
  transition: background-color var(--ab-dur-fast) ease, color var(--ab-dur-fast) ease;
}

.ab-choose__giftcard:hover {
  background: var(--ab-ink);
  color: var(--ab-bone);
}

/* Note preview */
.ab-notep {
  background: var(--ab-sand);
}

.ab-notep__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 56px clamp(48px, 7vw, 112px);
  padding-block: clamp(96px, 11vw, 160px);
}

.ab-notep__copy {
  flex: 1 1 400px;
  max-width: 560px;
}

.ab-notep__title {
  margin: 20px 0 0;
  font-weight: 500;
  font-size: var(--font-size--h1);
  line-height: 1.04;
}

.ab-notep__text {
  margin: 24px 0 0;
  font-size: var(--font-size--paragraph);
  line-height: 1.65;
}

.ab-notep__label {
  display: block;
  margin-top: 32px;
  font-size: var(--font-size--paragraph);
  font-weight: 500;
}

.ab-notep__input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin-top: 8px;
  padding: 12px 14px;
  border: 1px solid var(--ab-muted);
  border-radius: 2px;
  background: var(--ab-bone);
  font-family: var(--ab-font-ui);
  font-size: var(--font-size--paragraph);
  line-height: 1.5;
  color: var(--ab-ink);
  resize: vertical;
}

.ab-notep__input:focus {
  border-color: var(--ab-ink);
}

.ab-notep__hint {
  margin: 8px 0 0;
  font-size: var(--font-size--h5);
  color: var(--ab-muted);
}

.ab-notep__card-wrap {
  display: flex;
  flex: 1 1 360px;
  justify-content: center;
  max-width: 520px;
}

.ab-notep__card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  max-width: 440px;
  aspect-ratio: 5 / 7;
  padding: clamp(28px, 4vw, 48px);
  background: var(--ab-bone);
  transform: rotate(-2deg);
}

.ab-notep__card img {
  width: 28px;
  height: auto;
}

.ab-notep__preview {
  margin: 0;
  font-family: var(--ab-font-accent);
  font-style: italic;
  font-size: var(--font-size--h4);
  line-height: 1.4;
  color: var(--ab-ink);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-weight: 400;
}

.ab-notep__preview.is-empty {
  color: var(--ab-muted);
}

.ab-notep__sign {
  margin: 0;
}

/* Link list */
.ab-llist {
  padding-block: clamp(96px, 11vw, 160px);
}

.ab-llist__title {
  margin: 0;
}

.ab-llist__list {
  margin: clamp(40px, 5vw, 64px) 0 0;
  padding: 0;
  border-bottom: 1px solid var(--ab-sand);
  list-style: none;
}

.ab-llist__item {
  border-top: 1px solid var(--ab-sand);
}

.ab-llist__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: clamp(20px, 2.4vw, 32px) 0;
  color: var(--ab-ink);
  text-decoration: none;
}

.ab-llist__text {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 32px;
}

.ab-llist__name {
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h2);
  line-height: 1.1;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
  transition: text-decoration-color var(--ab-dur-fast) ease;
}

.ab-llist__line {
  font-size: var(--font-size--paragraph);
  color: var(--ab-muted);
}

.ab-llist__link svg {
  transition: transform var(--ab-dur-fast) ease;
}

.ab-llist__link:hover .ab-llist__name {
  text-decoration-color: var(--ab-accent);
}

.ab-llist__link:hover svg {
  transform: translateX(6px);
}

/* Detail columns */
.ab-dcols {
  border-top: 1px solid var(--ab-sand);
}

.ab-dcols__inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 40px 48px;
  padding-block: clamp(64px, 7vw, 104px) clamp(96px, 11vw, 160px);
}

.ab-dcols .ab-eyebrow {
  margin: 0;
}

.ab-dcols__text {
  margin-top: 12px;
  font-size: var(--font-size--paragraph);
  line-height: 1.6;
}

.ab-dcols__text p {
  margin: 0;
}

.ab-dcols__text a {
  color: var(--ab-ink);
  text-decoration: underline;
  text-decoration-color: var(--ab-accent);
  text-underline-offset: 5px;
}

/* ---------------------------------------------------------------------------
 * Journal and article (Journal.dc.html, Article.dc.html)
 * ------------------------------------------------------------------------- */

.ab-journal-card .ab-media,
.ab-zoom {
  overflow: hidden;
}

.ab-journal-card .ab-media img,
.ab-zoom img {
  transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.ab-journal-card:hover .ab-media img,
a:hover > .ab-zoom img,
a:hover .ab-zoom img {
  transform: scale(1.04);
}

.ab-journal__intro .ab-eyebrow {
  margin: 0;
}

.ab-container + .ab-article__body {
  padding-top: clamp(64px, 7vw, 104px);
}

.ab-container + .ab-article__body > p:first-child {
  margin-top: 0;
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h3);
  line-height: 1.32;
}

@media (prefers-reduced-motion: reduce) {
  .ab-article__progress,
  .ab-journal-card .ab-media img,
  .ab-zoom img {
    transition: none;
  }
}

/* ---------------------------------------------------------------------------
 * Help and legal page (Info Page.dc.html) — sections/abbaco-info-page
 * ------------------------------------------------------------------------- */

.ab-info {
  display: block;
}

.ab-info__mast {
  background: var(--ab-sand);
  border-bottom: 1px solid var(--ab-sand);
}

.ab-info--legal .ab-info__mast {
  background: var(--ab-bone);
  border-bottom-color: var(--ab-ink);
}

.ab-info__mast-inner {
  padding-block: 20px clamp(48px, 6vw, 88px);
}

.ab-info__crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--font-size--paragraph);
  color: var(--ab-muted);
}

.ab-info__crumbs a {
  color: var(--ab-muted);
  text-decoration: none;
}

.ab-info__crumbs a:hover {
  color: var(--ab-ink);
  text-decoration: underline;
  text-decoration-color: var(--ab-accent);
  text-underline-offset: 5px;
}

.ab-info__crumbs [aria-current='page'] {
  color: var(--ab-ink);
}

.ab-info__mast-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px 64px;
  margin-top: clamp(40px, 5vw, 72px);
}

.ab-info__mast-copy {
  flex: 1 1 560px;
  max-width: 900px;
}

.ab-info__mast-copy .ab-eyebrow {
  margin: 0;
}

.ab-info__title {
  margin: 20px 0 0;
  font-weight: 500;
  font-size: clamp(52px, 7vw, 104px);
  line-height: 0.96;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.ab-info__lede {
  max-width: 52ch;
  margin: 24px 0 0;
  font-size: var(--font-size--paragraph);
  line-height: 1.65;
}

.ab-info__meta {
  margin: 20px 0 0;
  font-size: var(--font-size--h5);
  color: var(--ab-muted);
}

.ab-info__num {
  margin: 0;
  font-family: var(--ab-font-accent);
  font-weight: 400;
  font-size: clamp(104.4px, 13.92vw, 208.8px);
  line-height: 0.78;
  letter-spacing: -0.04em;
  color: var(--ab-ink);
  font-variant-numeric: lining-nums;
}

.ab-info__glance {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  margin: 0;
  border-bottom: 1px solid var(--ab-sand);
}

.ab-info__fact {
  padding: 28px 24px 28px 0;
}

@media screen and (min-width: 960px) {
  .ab-info__fact:not(:last-child) {
    border-right: 1px solid var(--ab-sand);
  }

  .ab-info__fact + .ab-info__fact {
    padding-left: 24px;
  }
}

.ab-info__fact dd {
  margin: 10px 0 0;
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h3);
  line-height: 1.15;
}

.ab-info__layout {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 48px clamp(48px, 6vw, 96px);
  padding-block: clamp(56px, 6vw, 96px) clamp(96px, 11vw, 160px);
}

.ab-info__rail {
  flex: 1 1 240px;
  order: 2;
  max-width: 100%;
}

.ab-info__toc {
  display: none;
}

@media screen and (min-width: 960px) {
  .ab-info__rail {
    position: sticky;
    top: 150px;
    order: 0;
    max-width: 300px;
  }

  .ab-info__toc {
    display: block;
  }
}

.ab-info__rail-label {
  margin: 0 0 10px;
}

.ab-info__toc-list {
  margin: 0 0 40px;
  padding: 0;
  border-left: 1px solid var(--ab-sand);
  list-style: none;
}

.ab-info__toc-link {
  display: flex;
  gap: 12px;
  margin-left: -1px;
  padding: 8px 0 8px 16px;
  border-left: 2px solid transparent;
  font-size: var(--font-size--paragraph);
  line-height: 1.4;
  color: var(--ab-muted);
  text-decoration: none;
  transition: color var(--ab-dur-fast) ease, border-color var(--ab-dur-fast) ease;
}

.ab-info__toc-link:hover,
.ab-info__toc-link[aria-current='location'] {
  color: var(--ab-ink);
}

.ab-info__toc-link[aria-current='location'] {
  border-left-color: var(--ab-accent);
}

.ab-info__toc-num {
  color: var(--ab-ink);
  font-variant-numeric: tabular-nums;
}

.ab-info__fam {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--ab-ink);
  list-style: none;
}

.ab-info__fam li {
  border-bottom: 1px solid var(--ab-sand);
}

.ab-info__fam-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  font-size: var(--font-size--paragraph);
  color: var(--ab-ink);
  text-decoration: none;
}

.ab-info__fam-link:hover {
  color: var(--ab-ink);
}

.ab-info__fam-link[aria-current='page'] {
  font-weight: 600;
}

.ab-info__fam-num {
  font-size: var(--font-size--h5);
  font-weight: 400;
  color: var(--ab-muted);
  font-variant-numeric: tabular-nums;
}

.ab-info__body {
  flex: 3 1 560px;
  min-width: 0;
  max-width: 820px;
}

.ab-info__note {
  display: inline-block;
  margin: 0 0 32px;
  padding: 4px 8px;
  background: var(--ab-sand);
  font-size: var(--font-size--h6);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ab-muted);
}

.ab-info__sec {
  padding-bottom: clamp(48px, 5vw, 72px);
  scroll-margin-top: 150px;
}

.ab-info__h2 {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: baseline;
  margin: 0 0 24px;
  padding-top: 20px;
  border-top: 1px solid var(--ab-ink);
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h2);
  line-height: 1.1;
}

.ab-info__h2-num {
  font-family: var(--ab-font-ui);
  font-size: var(--font-size--h5);
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--ab-ink);
}

@media screen and (min-width: 960px) {
  .ab-info__sec-body {
    padding-left: 56px;
  }
}

.ab-info__prose {
  max-width: 64ch;
  font-size: var(--font-size--paragraph);
  line-height: 1.75;
}

.ab-info__prose p {
  margin: 0 0 18px;
}

.ab-info__prose h3,
.ab-info__policy h2,
.ab-info__policy h3 {
  margin: 32px 0 12px;
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h3);
  line-height: 1.2;
}

.ab-info__prose > h3:first-child {
  margin-top: 0;
}

.ab-info__prose a {
  color: var(--ab-ink);
  text-decoration: underline;
  text-decoration-color: var(--ab-accent);
  text-underline-offset: 5px;
}

.ab-info__dl {
  display: grid;
  grid-template-columns: minmax(120px, 220px) minmax(0, 1fr);
  margin: 0;
  border-bottom: 1px solid var(--ab-sand);
  font-size: var(--font-size--paragraph);
}

.ab-info__dl dt,
.ab-info__dl dd {
  margin: 0;
  padding: 14px 0;
  border-top: 1px solid var(--ab-sand);
}

.ab-info__dl dt {
  padding-right: 16px;
  color: var(--ab-muted);
}

.ab-info__steps-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}

.ab-info__steps {
  flex: 1 1 320px;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--ab-sand);
  list-style: none;
}

.ab-info__steps li {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  padding: 16px 0;
  border-top: 1px solid var(--ab-sand);
  font-size: var(--font-size--paragraph);
  line-height: 1.6;
}

.ab-info__step-num {
  color: var(--ab-ink);
  font-variant-numeric: tabular-nums;
}

.ab-info__steps-media {
  position: relative;
  flex: 1 1 260px;
  aspect-ratio: 4 / 3;
  background: var(--ab-sand);
}

.ab-info__tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 16px;
}

.ab-info__tile {
  padding: 24px;
  background: var(--ab-sand);
}

.ab-info__tile-name {
  margin: 0;
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h4);
}

.ab-info__tile-text {
  margin: 10px 0 0;
  font-size: var(--font-size--paragraph);
  line-height: 1.65;
}

.ab-info__faq {
  border-bottom: 1px solid var(--ab-sand);
}

.ab-info__q {
  border-top: 1px solid var(--ab-sand);
}

.ab-info__q-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  min-height: 64px;
  padding: 14px 0;
  list-style: none;
  cursor: pointer;
}

.ab-info__q-summary::-webkit-details-marker {
  display: none;
}

.ab-info__q-title {
  margin: 0;
  font-family: var(--ab-font-ui);
  font-size: var(--font-size--paragraph);
  font-weight: 500;
  line-height: 1.4;
  color: var(--ab-ink);
}

.ab-info__q[open] .ab-accordion__icon {
  transform: rotate(45deg);
}

.ab-info__q-answer {
  max-width: 64ch;
  margin: 0;
  padding: 0 40px 22px 0;
  font-size: var(--font-size--paragraph);
  line-height: 1.7;
}

.ab-info__track {
  padding: clamp(24px, 3vw, 36px);
  background: var(--ab-navy);
  color: var(--ab-bone);
}

.ab-info__track-text {
  margin: 0 0 16px;
  font-size: var(--font-size--paragraph);
  color: var(--ab-sand);
}

.ab-info__track-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ab-info__track-input {
  flex: 1 1 200px;
  min-width: 0;
  height: 52px;
  padding: 0 14px;
  border: 1px solid var(--ab-input-on-dark);
  border-radius: 2px;
  background: transparent;
  font-family: var(--ab-font-ui);
  font-size: var(--font-size--paragraph);
  color: var(--ab-bone);
}

.ab-info__track-input::placeholder {
  color: rgba(245, 241, 232, 0.6);
}

.ab-info__track-btn {
  height: 52px;
  padding: 0 28px;
  border: 0;
  border-radius: 2px;
  background: var(--ab-accent);
  color: var(--ab-ink);
  font-family: var(--ab-font-ui);
  font-size: var(--font-size--paragraph);
  font-weight: 500;
  cursor: pointer;
  transition: background-color var(--ab-dur-fast) ease, color var(--ab-dur-fast) ease;
}

.ab-info__track-btn:hover {
  background: var(--ab-bone);
  color: var(--ab-ink);
}

.ab-info__track-note {
  margin: 12px 0 0;
  font-size: var(--font-size--h5);
  color: var(--ab-sand);
}

.ab-info__contact {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ab-info__contact-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.ab-info__contact-row .ab-info__field {
  flex: 1 1 200px;
}

.ab-info__field label {
  display: block;
  margin-bottom: 8px;
  font-size: var(--font-size--paragraph);
  font-weight: 500;
}

.ab-info__label-row {
  display: flex !important;
  justify-content: space-between;
}

.ab-info__input {
  box-sizing: border-box;
  width: 100%;
  height: 52px;
  padding: 0 14px;
  border: 1px solid var(--ab-muted);
  border-radius: 2px;
  background: var(--ab-bone);
  font-family: var(--ab-font-ui);
  font-size: var(--font-size--paragraph);
  color: var(--ab-ink);
}

.ab-info__input:focus {
  border-color: var(--ab-ink);
}

.ab-info__input[aria-invalid='true'] {
  border-color: var(--ab-accent);
}

.ab-info__textarea {
  height: auto;
  padding: 12px 14px;
  line-height: 1.5;
  resize: vertical;
}

.ab-info__send {
  align-self: flex-start;
}

.ab-info__contact-msg {
  margin: 0;
  font-size: var(--font-size--paragraph);
  line-height: 1.6;
}

.ab-info__contact-msg.is-error {
  color: var(--ab-ink);
}

.ab-info__related {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 16px;
  margin-top: 16px;
}

.ab-info__rel {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px;
  border: 1px solid var(--ab-ink);
  color: var(--ab-ink);
  text-decoration: none;
  transition: background-color var(--ab-dur-fast) ease, color var(--ab-dur-fast) ease;
}

.ab-info__rel:hover {
  background: var(--ab-ink);
  color: var(--ab-bone);
}

.ab-info .ab-info__rel-fam {
  color: inherit;
  opacity: 0.75;
}

.ab-info__rel-name {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h3);
  line-height: 1.1;
}

.ab-info__band {
  background: var(--ab-navy);
  color: var(--ab-bone);
}

.ab-info__band-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 24px 48px;
  padding-block: clamp(56px, 6vw, 88px);
}

.ab-info__band-title {
  margin: 0;
  font-family: var(--ab-font-display);
  font-weight: 500;
  font-size: var(--font-size--h2);
  line-height: 1.1;
}

.ab-info__band-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 32px;
}

.ab-info__band-btn {
  display: inline-flex;
  align-items: center;
  height: 56px;
  padding: 0 32px;
  border-radius: 2px;
  background: var(--ab-accent);
  color: var(--ab-ink);
  font-size: var(--font-size--paragraph);
  font-weight: 500;
  text-decoration: none;
  transition: background-color var(--ab-dur-fast) ease, color var(--ab-dur-fast) ease;
}

.ab-info__band-btn:hover {
  background: var(--ab-bone);
  color: var(--ab-ink);
}

p.ab-info__contact-msg:empty {
  display: block;
}

.ab-404 .ab-eyebrow {
  margin: 0;
}

.ab-password .ab-eyebrow {
  margin: 0;
  color: var(--ab-sand);
}

.ab-shopcard__link:hover .ab-launch__worn {
  opacity: 1;
}

.ab-shopcard__link:hover .ab-launch__front {
  transform: scale(1.03);
}

.ab-season-others__head .ab-eyebrow {
  margin: 0;
}

.ab-steps__num,
.ab-article__quote footer,
.ab-word__verse footer,
.ab-why-page__ref,
.ab-reveal__ref,
.ab-featured__ref,
.ab-pverses__label,
.ab-season-cap__quote footer {
  font-family: var(--ab-font-accent);
  font-size: var(--font-size--h6);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Tagline format (v6): lead-in, "In good company.", the ampersand */
.ab-tagline {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.ab-tagline__lead {
  margin: 0;
  font-size: var(--font-size--paragraph);
  line-height: 1.6;
}

.ab-tagline__line {
  margin: 16px 0 0;
  font-family: var(--ab-font-accent);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(44px, 6vw, 88px);
  line-height: 1.05;
}

.ab-tagline__amp {
  display: block;
  width: 40px;
  height: auto;
  margin-top: 28px;
}

/* Community guidelines (v6) */
.ab-guidelines {
  padding-block: clamp(72px, 9vw, 144px) clamp(96px, 11vw, 160px);
}

.ab-guidelines__inner {
  max-width: 720px;
  margin: 0 auto;
}

.ab-guidelines__eyebrow {
  color: var(--ab-ink);
}

.ab-guidelines__title {
  margin: 20px 0 0;
  font-size: clamp(48px, 6vw, 88px);
  line-height: 0.98;
  letter-spacing: -0.02em;
}

.ab-guidelines__body {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin-top: clamp(32px, 4vw, 56px);
  font-size: var(--font-size--paragraph);
  line-height: 1.75;
  text-wrap: pretty;
}

.ab-guidelines__body p {
  margin: 0;
}

.ab-guidelines__list {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px 0;
  border-top: 1px solid var(--ab-sand);
  border-bottom: 1px solid var(--ab-sand);
}

.ab-guidelines__list strong {
  font-weight: 600;
}

.ab-guidelines__tagline {
  margin-top: clamp(56px, 6vw, 88px);
}

/* ---------------------------------------------------------------------------
 * Image placeholder (handoff 2026-10-05, section 1). Sand with the brand
 * ampersand at 10% opacity, scaled to the spot (snippets/ac-placeholder).
 * --ac-amp is set in layout/theme.liquid because this file is not Liquid.
 * ------------------------------------------------------------------------- */

.ac-ph {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: var(--ab-sand, #ebe5da);
  container-type: size;
  overflow: hidden;
}

/* Dawn hides empty divs (base.css div:empty) */
.ac-ph:empty {
  display: block;
}

.ac-ph::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: min(44cqw, 60cqh);
  aspect-ratio: 1603 / 1375;
  background: var(--ac-amp) center / contain no-repeat;
  opacity: .10;
  pointer-events: none;
}

@supports not (width: 1cqw) {
  .ac-ph::after {
    width: 40%;
    max-height: 50%;
  }
}

/* Inside abbaco-media the wrapper sets the size; the placeholder fills it */
.ab-media > .ac-ph {
  position: absolute;
  inset: 0;
}

.ab-first3__card:hover .ab-first3__see .ab-link {
  text-decoration-thickness: 2px;
}

.ab-every__media .ab-media > img {
  object-position: var(--ab-pos, 50% 50%);
  transform: scale(var(--ab-zoom, 1));
  transform-origin: var(--ab-pos, 50% 50%);
}

/* "In good company." is always Libre Baskerville italic (handoff 2026-10-05,
   rule 0.7): the Gift page note preview's sign-off */
.ab-notep__sign {
  font-family: var(--ab-font-accent);
  font-size: var(--font-size--paragraph);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.ab-storyb__journal .ab-link {
  color: var(--ab-accent-small-on-navy);
  text-decoration-color: var(--ab-accent-small-on-navy);
}


/* ---------------------------------------------------------------------------
   New design system for the carried-over pages: the same sections, now in
   bone, charcoal, olive and sand, Libre Baskerville headings and Jost text,
   with sizes tuned for Baskerville. Scoped to the page content, so the
   approved footer keeps its own look; the approved ampersand section on the
   homepage keeps its original tokens below.
   --------------------------------------------------------------------------- */
#MainContent {
  --ab-bone: #f5f1e8;
  --ab-ink: #20231f;
  --ab-sand: #ebe5da;
  --ab-sand-light: #ebe5da;
  --ab-navy: #1f2a44;
  --ab-accent: #ff6b2c;
  --ab-accent-on-dark: #ff6b2c;
  --ab-muted: #4d4f49;
  --ab-font-display: var(--font-heading--family), Georgia, serif;
  --ab-font-accent: var(--font-heading--family), Georgia, serif;
  --ab-font-ui: var(--font-body--family), Arial, sans-serif;
  --ab-text-hero: clamp(52px, 7.2vw, 108px);
  --ab-text-quote-xl: clamp(52px, 8vw, 128px);
  --ab-text-h2: var(--font-size--h2);
  --ab-text-h3: var(--font-size--h3);
  --ab-text-h1-product: var(--font-size--h1);
  --ab-text-lead-serif: var(--font-size--h3);
  --ab-text-verse: var(--font-size--h3);
  --ab-text-card-title: var(--font-size--h4);
  --ab-radius: 0;
}

#MainContent .section-abbaco-ampersand-panels {
  --ab-bone: #f5f1e8;
  --ab-ink: #20231f;
  --ab-sand: #ebe5da;
  --ab-navy: #1f2a44;
  --ab-accent: #ff6b2c;
  --ab-muted: #4a5265;
  --ab-font-display: 'Abba Display', Georgia, serif;
  --ab-font-accent: 'Abba Libre Baskerville', 'Libre Baskerville', Baskerville, Georgia, serif;
  --ab-font-ui: 'Abba Jost', 'Jost', Arial, sans-serif;
}

#MainContent .ab-display,
#MainContent [class*='__title'] {
  letter-spacing: -0.015em;
}

/* Button type comes from the one button spec in abbaco-system.css */
#MainContent .ab-btn {
  border-radius: 0;
}

/* Empty photo slots collapse on the storefront, frames included */
.ab-media--empty,
figure:has(.ab-media--empty),
:is(.wa-5, .wa-30, .ab-lrows__media, .ab-info__steps-media, .ab-pintro__layer, .ab-lrows__layer, .ab-ihero__layer):has(.ab-media--empty) {
  display: none;
}

.ab-lrows__row:has(.ab-media--empty) {
  grid-template-columns: minmax(0, 1fr);
}

/* Product page story band */
/* Section eyebrow with the short orange rule (THE FIRST THREE, YOUR TURN…) */
.ab-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  font-family: var(--ab-font-ui);
  font-size: var(--font-size--h6);
  font-weight: 600;
  letter-spacing: 0.24em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--ab-muted);
}

.ab-kicker::before {
  content: "";
  flex: none;
  width: 22px;
  height: 2px;
  background: var(--ab-accent);
}

/* 6.2 The story behind this cap (Navy band) */
.ab-storyb {
  background: var(--ab-navy);
  color: var(--ab-bone);
  text-align: center;
}

.ab-storyb__inner {
  box-sizing: border-box;
  max-width: 920px;
  margin: 0 auto;
  padding: clamp(96px, 10vw, 152px) var(--ab-gutter);
}

.ab-storyb__eyebrow {
  justify-content: center;
  color: var(--ab-sand);
}

.ab-storyb__verse {
  margin: 28px 0 0;
  padding: 0;
  border: 0;
  font-style: normal; /* Dawn sets blockquote italic */
}

.ab-storyb__verse p {
  margin: 0;
  font-family: var(--ab-font-display);
  font-size: var(--font-size--h2);
  font-style: italic;
  line-height: 1.2;
  text-wrap: balance;
}

.ab-storyb__ref {
  margin-top: 18px;
  font-family: var(--ab-font-accent);
  font-size: var(--font-size--h5);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ab-sand);
}

.ab-storyb__story {
  max-width: 560px;
  margin: 40px auto 0;
  font-size: var(--font-size--paragraph);
  line-height: 1.7;
}

.ab-storyb__rule {
  width: 64px;
  height: 1px;
  margin: 48px auto;
  border: 0;
  background: var(--ab-rule-on-dark);
}

.ab-storyb__living-label {
  margin: 0;
  font-size: var(--font-size--h6);
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--ab-sand);
}

.ab-storyb__living {
  max-width: 640px;
  margin: 16px auto 0;
  font-family: var(--ab-font-display);
  font-size: var(--font-size--h3);
  font-weight: 500;
  line-height: 1.35;
}

.ab-storyb__closing {
  margin: 28px 0 0;
  font-family: var(--ab-font-display);
  font-size: var(--font-size--h3);
  font-style: italic;
  font-weight: 500;
  color: var(--ab-accent-on-dark);
}

/* Text on kraft (WCAG AA): Ink for the eyebrow, intro, numbers and card text (9.2:1) */
.section-abbaco-every-detail .ab-kicker,
.section-abbaco-every-detail .ab-every__intro,
.section-abbaco-every-detail .ab-every__text {
  color: var(--ab-ink);
}

.ab-storyb__journal {
  margin: 24px 0 0;
}


/* ==========================================================================
   Why Abba pages (Our story, What Abba & Co. means, An everyday reminder,
   The way to the Father): one system, everything scoped to .abw
   ========================================================================== */
.abw {color-scheme: light;
  --bone: #F5F1E8;
  --sand: #EBE5DA;
  --navy: #1F2A44;
  --navy-tonal: #25324F;
  --ink: #20231F;
  --blaze: #FF6B2C;
  --muted: #4A5265;
  --muted-dark: #C6C5C4;
  --rule: #CFC8B9;
  --card: #EFE9DE;
  --serif: var(--font-heading--family, "Libre Baskerville"), Georgia, serif;
  --sans: var(--font-body--family, "Jost"), "Helvetica Neue", Arial, sans-serif;
  --gutter-l: max(16px, env(safe-area-inset-left, 0px));
  --gutter-r: max(16px, env(safe-area-inset-right, 0px));
  --header-h: 60px;}
.abw, .abw * {box-sizing: border-box;}
.abw {background: var(--bone); color: var(--ink); font-family: var(--sans); font-size: 18px; line-height: 1.75; -webkit-font-smoothing: antialiased;}
.abw img {display: block; max-width: 100%; height: auto;}
.abw a {color: inherit;}
.abw :focus-visible {outline: 2px solid var(--blaze); outline-offset: 3px;}
.abw .wrap {padding-left: var(--gutter-l); padding-right: var(--gutter-r);}
.abw .col {max-width: 640px; margin: 0 auto; display: flex; flex-direction: column; gap: 24px;}
.abw .col > * {min-width: 0;}
.abw .label {margin: 0; font: 500 12px/1.4 var(--sans); letter-spacing: 0.24em; text-transform: uppercase; color: var(--muted);}
.abw .title {margin: 0; font: 400 clamp(38px, 6vw, 60px)/1.06 var(--serif); letter-spacing: -0.015em; text-wrap: balance;}
.abw .key {margin: 0; position: relative; padding-top: 22px; font: italic 400 clamp(26px, 3.4vw, 36px)/1.25 var(--serif); text-wrap: balance;}
.abw .key::before {content: ""; position: absolute; top: 0; left: 0; width: 48px; height: 2px; background: var(--blaze);}
.abw .body {margin: 0;}
.abw .statement {margin: 8px 0; font: 400 clamp(25px, 3vw, 32px)/1.3 var(--serif); text-wrap: balance;}
.abw .list {display: flex; flex-direction: column; gap: 8px; margin: 4px 0; font: 400 clamp(21px, 2.4vw, 25px)/1.35 var(--serif);}
.abw .list p {margin: 0;}
.abw .amp {color: var(--blaze);}
.abw .head {display: flex; flex-direction: column; gap: 12px; margin-bottom: 8px;}
.abw section {padding-block: clamp(80px, 11vw, 140px);}
.abw .verse {margin: 8px 0; background: var(--card);}
.abw .verse summary {list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 16px; padding: 24px clamp(20px, 3vw, 32px);}
.abw .verse summary::-webkit-details-marker {display: none;}
.abw .verse__ref {font: 400 clamp(56px, 10vw, 92px)/0.95 var(--serif); letter-spacing: -0.02em; font-variant-numeric: lining-nums;}
.abw .verse__ref .c {color: var(--blaze);}
.abw .verse__book {display: block; margin-top: 10px; font: 500 12px/1.4 var(--sans); letter-spacing: 0.24em; text-transform: uppercase; color: var(--muted);}
.abw .verse__hint {font: 500 12px/1.4 var(--sans); letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink); display: inline-flex; align-items: center; gap: 10px; padding-bottom: 6px; white-space: nowrap;}
.abw .verse__hint::after {content: ""; width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform 300ms ease;}
.abw .verse[open] .verse__hint::after {transform: rotate(-135deg) translateY(-1px);}
.abw .verse[open] .verse__hint .t-open {display: none;}
.abw .verse:not([open]) .verse__hint .t-close {display: none;}
.abw .verse__in {padding: 0 clamp(20px, 3vw, 32px) 26px; display: flex; flex-direction: column; gap: 14px;}
.abw .verse__in blockquote {margin: 0; padding-top: 20px; border-top: 1px solid var(--rule); font: italic 400 clamp(20px, 2.2vw, 24px)/1.5 var(--serif);}
.abw .verse__cite {font: 500 12px/1.4 var(--sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted);}
.abw .verse__cap {font: 500 14px/1.4 var(--sans); text-decoration: underline; text-decoration-color: var(--blaze); text-underline-offset: 5px; text-decoration-thickness: 1.5px; align-self: flex-start;}
.abw .verse[open] .verse__in {animation: open 420ms cubic-bezier(.2,.7,.2,1);}
@keyframes open { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.abw .on-navy .verse {background: rgb(245 241 232 / 0.07);}
.abw .on-navy .verse__book, .abw .on-navy .verse__cite {color: var(--muted-dark);}
.abw .on-navy .verse__hint {color: var(--bone);}
.abw .on-navy .verse__in blockquote {border-top-color: rgb(245 241 232 / 0.2);}
.abw .stack {display: flex; flex-direction: column; gap: 16px;}
.abw .fourteen {font: 400 clamp(150px, 34vw, 320px)/0.82 var(--serif); letter-spacing: -0.05em; margin: 0 0 8px -0.04em; color: var(--ink); font-variant-numeric: lining-nums;}
.abw .band {padding-left: var(--gutter-l); padding-right: var(--gutter-r);}
.abw .on-navy {background: var(--navy); color: var(--bone);}
.abw .on-navy .label {color: var(--muted-dark);}
.abw .on-sand {background: var(--sand);}
.abw .giant {margin: 0.05em 0 0; font: 400 clamp(110px, 24vw, 260px)/0.9 var(--serif); letter-spacing: -0.04em;}
.abw .trio {position: relative; left: 50%; translate: -50% 0; width: min(calc(100vw - 32px), 1000px); margin: 24px 0 16px;}
.abw .trio__stripe {display: grid; grid-template-rows: 3px 3px 3px;}
.abw .trio__stripe i:nth-child(1) {background: var(--navy);}
.abw .trio__stripe i:nth-child(2) {background: var(--bone);}
.abw .trio__stripe i:nth-child(3) {background: var(--blaze);}
.abw .trio__row {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));}
.abw .trio__p {min-width: 0; overflow: hidden; display: flex; flex-direction: column; gap: 0; min-height: clamp(300px, 30vw, 360px); padding: clamp(24px, 3vw, 36px);}
.abw .trio__p--abba {background: var(--navy); color: var(--bone);}
.abw .trio__p--amp {background: var(--bone); box-shadow: inset 0 -1px 0 var(--rule), inset 0 1px 0 var(--rule);}
.abw .trio__p--co {background: var(--sand);}
.abw .trio__n {opacity: 0.7;font:var(--t-label);letter-spacing:var(--t-label-track);text-transform:var(--t-label-case)}
.abw .trio__w {display: block; font: 400 clamp(60px, 6.8vw, 96px)/0.9 var(--serif); letter-spacing: -0.035em;}
.abw .trio__amp {width: clamp(70px, 7.4vw, 104px); height: auto;}
.abw .trio__t {margin: 0;max-width: 15em;text-wrap: pretty;font:var(--t-statement);letter-spacing:var(--t-statement-track);text-transform:var(--t-statement-case)}
.abw .trio__mid {display: flex; flex-direction: column; gap: 18px; margin-top: clamp(24px, 4vw, 56px);}
.abw .trio__mark {display: flex; align-items: flex-end; height: clamp(64px, 7vw, 100px);}
@media (max-width: 760px) {
.abw .trio__row {grid-template-columns: 1fr;}
.abw .trio__p {min-height: 0; flex-direction: row; align-items: flex-end; gap: 22px;}
.abw .trio__mid {flex: 1; min-width: 0;}
.abw .trio__w {font-size: clamp(64px, 18vw, 92px);}
.abw .trio__mark {height: auto;}
.abw .trio__mid {margin: 0;}
.abw .trio__amp {width: clamp(70px, 19vw, 96px);}
.abw .trio__n {display: none;}
}
.abw .split {max-width: 1200px; margin: 0 auto; display: grid; gap: clamp(28px, 5vw, 80px);}
.abw .split__l, .abw .split__r {display: flex; flex-direction: column; gap: 24px; min-width: 0;}
@media (min-width: 900px) {
.abw .split {grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start;}
.abw .split__l {position: sticky; top: calc(var(--abw-head, 80px) + 48px);}
}
.abw .giant .dot {color: var(--blaze);}
.abw .split .giant {font-size: clamp(96px, 12.5vw, 190px);}
.abw .closing {max-width: 1100px; margin: clamp(72px, 9vw, 128px) auto 0; display: flex; flex-direction: column; align-items: center; gap: clamp(18px, 3vw, 28px); text-align: center;}
.abw .closing .key {text-align: center; max-width: 18em; font-style: normal; font-size: clamp(28px, 3.6vw, 46px);}
.abw .closing .key::before {left: 50%; translate: -50% 0;}
.abw .closing .tag {margin: 0; font: italic 400 clamp(54px, 11vw, 150px)/1 var(--serif); letter-spacing: -0.02em;}
.abw .closing img {width: 56px;}
.abw .caps {display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; max-width: 1080px; margin: 40px auto 0;}
.abw .cap {background: var(--card); display: flex; flex-direction: column; min-width: 0;}
.abw .cap .verse {margin: 0; background: transparent; flex: 1;}
.abw .cap .verse summary {grid-template-columns: 1fr; gap: 12px;}
.abw .cap__name {margin: 0; padding: 0 clamp(20px, 3vw, 28px); font: 400 22px/1.3 var(--serif);}
.abw .cap__buy {display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 18px clamp(20px, 3vw, 28px) 24px;}
.abw .cap .verse__ref {font-size: clamp(48px, 5.2vw, 72px);}
.abw .cap__date {font-size: 14px; line-height: 1.4; color: var(--muted);}
.abw .btn {display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 22px; background: var(--blaze); color: var(--ink); border: 0; border-radius: 0; font: 500 13px/1 var(--sans); letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: transform 150ms ease; white-space: nowrap;}
.abw .btn:hover {transform: translateY(-1px);}
@media (prefers-reduced-motion: reduce) {
.abw .verse[open] .verse__in {animation: none;}
.abw .btn {transition: none;}
}
@media (max-width: 520px) {
.abw {font-size: 17px;}
.abw .verse summary {grid-template-columns: 1fr;}
.abw .verse__hint {padding-bottom: 0;}
.abw .cap__buy {flex-direction: column; align-items: stretch;}
}
.abw section {padding-block: 0;}
.abw {--header-h: 105px; --max: 1200px; --space: clamp(96px, 11vw, 160px);}
.abw .page[hidden] {display: none !important;}
.abw [id] {scroll-margin-top: calc(var(--header-h) + 12px);}
.abw {text-rendering: optimizeLegibility; font-kerning: normal;}
.abw .switch {background: var(--bone); border-bottom: 1px solid var(--rule);}
.abw .switch__in {max-width: var(--max); margin: 0 auto; padding-left: var(--gutter-l); padding-right: var(--gutter-r); display: flex; gap: clamp(18px, 3.4vw, 40px); overflow-x: auto; scrollbar-width: none;}
.abw .switch__in::-webkit-scrollbar {display: none;}
.abw .switch a {flex: none;display: inline-flex;align-items: center;min-height: 44px;text-decoration: none;color: var(--muted);box-shadow: inset 0 -2px 0 transparent;transition: color 160ms ease;font:var(--t-label);letter-spacing:var(--t-label-track);text-transform:var(--t-label-case)}
.abw .switch a:hover {color: var(--ink);}
.abw .switch a[aria-current="page"] {color: var(--ink); box-shadow: inset 0 -2px 0 var(--blaze);}
.abw .switch a.is-off {opacity: 0.55; cursor: default;}
.abw .ul {color: inherit; text-decoration: underline; text-decoration-color: var(--blaze); text-decoration-thickness: 1.5px; text-underline-offset: 5px; transition: text-underline-offset 160ms ease;}
.abw .ul:hover {text-underline-offset: 8px;}
.abw .small-link {font: 500 12px/1.4 var(--sans); letter-spacing: 0.2em; text-transform: uppercase;}
.abw .frame {max-width: var(--max); margin: 0 auto; padding-left: var(--gutter-l); padding-right: var(--gutter-r);}
.abw .measure {max-width: 680px;}
.abw .stacky {display: flex; flex-direction: column; gap: 22px;}
.abw .stacky > * {min-width: 0;}
.abw .photo {position: relative; margin: 0; max-width: 100%; overflow: hidden; background-color: var(--sand);
  background-image: repeating-linear-gradient(135deg, rgb(32 35 31 / 0.035) 0 1px, transparent 1px 14px);}
.abw .photo--wide {aspect-ratio: 21 / 9;}
.abw .photo--land {aspect-ratio: 3 / 2;}
.abw .photo--port {aspect-ratio: 4 / 5;}
.abw .photo--sq {aspect-ratio: 1 / 1;}
@media (max-width: 700px) {
.abw .photo--wide, .abw .photo--land {aspect-ratio: 4 / 5;}
}
.abw .photo .ab-verse-card {justify-content: flex-end; gap: 10px; padding: clamp(20px, 3vw, 44px);
  background: linear-gradient(to top, rgb(32 35 31 / 0.74) 0%, rgb(32 35 31 / 0.34) 34%, rgb(32 35 31 / 0) 60%);}
.abw .photo .ab-verse-card > span {max-width: 34em;}
.abw .photo .ab-verse-card__title {font-size: var(--font-size--h2);}
.abw .photo .ab-verse-card__verse {font-size: var(--font-size--h5);}
.abw .on-navy .photo {background-color: var(--navy-tonal); background-image: repeating-linear-gradient(135deg, rgb(245 241 232 / 0.05) 0 1px, transparent 1px 14px);}
.abw .photo-band {padding-top: var(--space);}
.abw .q {margin: 6px 0; padding: 0; display: flex; flex-direction: column; gap: 12px;}
.abw .q blockquote {margin: 0; font: italic 400 clamp(19px, 2vw, 23px)/1.55 var(--serif); text-indent: -0.42em;}
.abw .q cite {font: 500 11px/1.4 var(--sans); font-style: normal; letter-spacing: 0.22em; text-transform: uppercase; color: var(--muted); display: flex; align-items: center; gap: 12px;}
.abw .q cite::before {content: ""; width: 28px; height: 1.5px; background: var(--blaze);}
.abw .on-navy .q cite {color: var(--muted-dark);}
.abw .s-hero {padding-block: clamp(56px, 8vw, 104px) 0;}
.abw .s-hero__top {display: grid; gap: clamp(24px, 4vw, 48px); align-items: end;}
@media (min-width: 900px) {
.abw .s-hero__top {grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);}
}
.abw .s-hero h1 {margin: 0; font: 400 clamp(48px, 8vw, 104px)/0.98 var(--serif); letter-spacing: -0.025em;}
.abw .s-hero__side {display: flex; flex-direction: column; gap: 18px;}
.abw .s-hero .lede {margin: 0; font: italic 400 clamp(20px, 2.2vw, 24px)/1.45 var(--serif);}
.abw .s-hero .who {margin: 0; font-size: 17px; line-height: 1.65; color: var(--muted);}
.abw .listen {display: inline-flex; align-items: center; gap: 14px; font: 500 12px/1.3 var(--sans); letter-spacing: 0.18em; text-transform: uppercase;}
.abw .listen__btn {flex: none; width: 44px; height: 44px; display: grid; place-items: center; background: var(--blaze); color: var(--ink); border: 0; border-radius: 0; cursor: pointer;}
.abw .listen__btn svg {width: 14px; height: 14px;}
.abw .listen small {display: block; margin-top: 4px; font: 400 12px/1.3 var(--sans); letter-spacing: 0; text-transform: none; color: var(--muted);}
.abw .s-hero .photo {margin-top: clamp(40px, 6vw, 72px);}
.abw .thirty {margin-top: clamp(40px, 6vw, 64px); display: grid; gap: 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);}
@media (min-width: 900px) {
.abw .thirty {grid-template-columns: auto repeat(3, minmax(0, 1fr));}
}
.abw .thirty > * {padding: 22px clamp(0px, 2vw, 24px);}
.abw .thirty h2 {margin: 0; font: 500 11px/1.4 var(--sans); letter-spacing: 0.24em; text-transform: uppercase; color: var(--muted); padding-left: 0; white-space: nowrap;}
.abw .thirty p {margin: 0; font: 400 clamp(17px, 1.6vw, 19px)/1.5 var(--serif);}
@media (min-width: 900px) {
.abw .thirty p {border-left: 1px solid var(--rule);}
}
@media (max-width: 899px) {
.abw .thirty > * {padding: 14px 0;}
.abw .thirty p + p {border-top: 1px solid var(--rule);}
}
.abw .chap {padding-top: var(--space);}
.abw .chap__grid {display: grid; gap: clamp(28px, 4vw, 48px);}
@media (min-width: 900px) {
.abw .chap__grid {grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); column-gap: clamp(48px, 6vw, 96px);}
.abw .chap__side {position: sticky; top: calc(var(--abw-head, 80px) + 40px); align-self: start;}
}
.abw .chap__side {display: flex; flex-direction: column; gap: 14px;}
.abw .chap__num {font: 400 clamp(64px, 7vw, 96px)/0.9 var(--serif); letter-spacing: -0.03em; color: var(--blaze); font-variant-numeric: lining-nums;}
.abw .chap__side .label {margin-top: 6px;}
.abw .chap__side .title {font-size: clamp(34px, 3.8vw, 52px);}
.abw .chap .photo {margin-bottom: clamp(48px, 7vw, 88px);}
.abw .chap .fourteen {margin: 0; font-size: clamp(150px, 20vw, 260px);}
.abw .next {padding-block: var(--space);}
.abw .next__card {display: grid; gap: 20px; padding: clamp(28px, 5vw, 56px); background: var(--navy); color: var(--bone); text-decoration: none;}
@media (min-width: 900px) {
.abw .next__card {grid-template-columns: minmax(0, 1fr) auto; align-items: end;}
}
.abw .next__card .label {color: var(--muted-dark);}
.abw .next__card strong {display: block; margin-top: 10px; font: 400 clamp(34px, 5vw, 60px)/1.04 var(--serif); letter-spacing: -0.015em;}
.abw .next__card p {margin: 14px 0 0; color: var(--muted-dark); font-size: 17px; line-height: 1.6; max-width: 34em;}
.abw .next__card:hover .btn {transform: translateY(-1px);}
.abw .next__more {margin-top: 18px; display: flex; gap: 24px; flex-wrap: wrap;}
.abw .n-hero {padding-block: clamp(56px, 8vw, 104px) clamp(64px, 8vw, 104px);}
.abw .n-hero h1 {margin: 0; font: 400 clamp(48px, 8vw, 104px)/0.98 var(--serif); letter-spacing: -0.025em; text-wrap: balance;}
.abw .answer {margin: 0; font: 400 clamp(21px, 2.4vw, 27px)/1.45 var(--serif); text-wrap: pretty;}
.abw .n-hero .head2 {display: grid; gap: 24px; margin-bottom: clamp(32px, 5vw, 56px);}
@media (min-width: 900px) {
.abw .n-hero .head2 {grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end;}
}
.abw .n-hero .after {margin-top: clamp(28px, 4vw, 44px); display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 16px 32px;}
.abw .n-hero .meta {margin: 0; font: 500 12px/1.4 var(--sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted);}
.abw .trio {left: auto; translate: none; width: 100%; margin: 0;}
.abw .trio .dot {color: var(--blaze);}
.abw .trio--nav .trio__p {text-decoration: none; color: var(--ink); position: relative; transition: background 200ms ease; min-height: clamp(300px, 28vw, 360px);}
.abw .trio--nav .trio__p--abba {color: var(--bone);}
.abw .trio--nav .trio__t {display: block;}
.abw .trio__go {margin-top: auto;padding-top: 20px;display: inline-flex;align-items: center;gap: 10px;font:var(--t-label);letter-spacing:var(--t-label-track);text-transform:var(--t-label-case)}
.abw .trio__go i {width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform 200ms ease;}
.abw .trio--nav a:hover .trio__go i {transform: rotate(45deg) translate(2px, -1px);}
.abw .trio--nav .trio__p--abba:hover {background: var(--navy-tonal);}
.abw .trio--nav .trio__p--amp:hover {background: var(--card);}
.abw .trio--nav .trio__p--co:hover {background: #E3DCCF;}
.abw .trio--nav a:hover .trio__t {text-decoration: underline; text-decoration-color: var(--blaze); text-underline-offset: 5px;}
@media (max-width: 760px) {
.abw .trio--nav .trio__p {min-height: 0; flex-wrap: wrap;}
.abw .trio--nav .trio__go {padding-top: 0; margin: 0 0 6px auto; font-size: 0; gap: 0;}
.abw .trio--nav .trio__go i {width: 10px; height: 10px;}
}
.abw .band {padding-block: var(--space);}
.abw .split {max-width: var(--max);}
.abw .split .giant {font-size: clamp(96px, 12.5vw, 190px);}
.abw .band .photo {margin-top: 8px;}
.abw .way {padding-block: var(--space) 0;}
.abw .way__in {max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: clamp(18px, 2.6vw, 28px); text-align: center;}
.abw .way__sin {margin: 0; font: 400 clamp(26px, 3.6vw, 40px)/1.2 var(--serif); color: var(--muted); text-wrap: balance;}
.abw .way__amp {width: clamp(150px, 24vw, 260px); height: auto; margin-block: 8px;}
.abw .way__line {margin: 0; font: italic 400 clamp(30px, 4.4vw, 50px)/1.15 var(--serif); text-wrap: balance;}
.abw .way__sub {margin: 0; max-width: 26em; font-size: clamp(17px, 1.9vw, 20px); line-height: 1.55; color: var(--muted);}
.abw .way__text {padding-block: clamp(64px, 8vw, 104px) var(--space);}
.abw .way__text .measure {margin: 0 auto;}
.abw .closing {margin-top: var(--space);}
.abw .r-hero {padding-block: clamp(56px, 8vw, 104px) 0;}
.abw .r-hero__grid {display: grid; gap: clamp(28px, 4vw, 56px); align-items: center;}
@media (min-width: 900px) {
.abw .r-hero__grid {grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);}
}
.abw .r-hero h1 {margin: 0; font: 400 clamp(48px, 7.4vw, 96px)/0.98 var(--serif); letter-spacing: -0.025em;}
.abw .r-hero .key {margin-top: 8px;}
.abw .carries {padding-top: var(--space);}
.abw .carries__head {display: grid; gap: 18px; margin-bottom: clamp(32px, 5vw, 56px);}
@media (min-width: 900px) {
.abw .carries__head {grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: end;}
}
.abw .carries__head h2 {margin: 0; font: 400 clamp(36px, 4.6vw, 60px)/1.04 var(--serif); letter-spacing: -0.015em;}
.abw .carries__grid {display: grid; gap: clamp(16px, 2vw, 24px); grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));}
.abw .carry {display: flex; flex-direction: column; gap: 14px; min-width: 0;}
.abw .carry__n {display: flex; align-items: baseline; gap: 12px; font: 400 15px/1 var(--serif); color: var(--blaze); font-variant-numeric: tabular-nums;}
.abw .carry__n::after {content: ""; flex: 1; height: 1px; background: var(--rule);}
.abw .carry h3 {margin: 0; font: 400 clamp(21px, 2vw, 24px)/1.25 var(--serif);}
.abw .carry p {margin: 0; font-size: 16px; line-height: 1.55; color: var(--muted);}
.abw .why {padding-top: var(--space);}
.abw .why__grid {display: grid; gap: clamp(28px, 4vw, 48px);}
@media (min-width: 900px) {
.abw .why__grid {grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(48px, 6vw, 96px);}
}
.abw .shop {padding-top: var(--space);}
.abw .shop__head {display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: clamp(28px, 4vw, 48px);}
.abw .shop__head h2 {margin: 0; font: 400 clamp(36px, 4.6vw, 60px)/1.04 var(--serif); letter-spacing: -0.015em;}
.abw .caps {max-width: none; margin: 0; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(16px, 2vw, 24px);}
.abw .cap {background: transparent; gap: 16px;}
.abw .cap .verse {background: var(--card);}
.abw .cap .verse summary {padding: 18px 20px;}
.abw .cap .verse__in {padding: 0 20px 20px;}
.abw .cap .verse__ref {font-size: clamp(44px, 4.4vw, 60px);}
.abw .cap__row {display: flex; align-items: baseline; justify-content: space-between; gap: 12px;}
.abw .cap__name {padding: 0; font: 400 clamp(22px, 2vw, 25px)/1.25 var(--serif);}
.abw .cap__price {font: 500 15px/1 var(--sans); font-variant-numeric: tabular-nums; padding: 4px 8px; border: 1px dashed var(--rule); color: var(--muted);}
.abw .cap__buy {padding: 0; gap: 10px;}
.abw .cap__date {font-size: 14px; color: var(--muted);}
.abw .grace {padding-block: var(--space); text-align: center;}
.abw .grace .stackwrap {max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 22px;}
.abw .grace .statement {margin: 0; font-size: clamp(30px, 4vw, 46px);}
.abw .grace .key {text-align: center;}
.abw .grace .key::before {left: 50%; translate: -50% 0;}
.abw .start {background: var(--navy); color: var(--bone); text-align: center; padding-block: var(--space);}
.abw .start .col {align-items: center;}
.abw .start .label {color: var(--muted-dark);}
.abw .start h2 {margin: 0; font: 400 clamp(36px, 5.6vw, 64px)/1.06 var(--serif); letter-spacing: -0.015em; text-wrap: balance;}
.abw .start p.body {color: var(--muted-dark); max-width: 30em;}
.abw .start__verse {margin: 0; max-width: 24em; font: italic 400 clamp(20px, 2.3vw, 25px)/1.45 var(--serif);}
.abw .start__verse span {display: block; margin-top: 12px; font: 500 11px/1.4 var(--sans); font-style: normal; letter-spacing: 0.22em; text-transform: uppercase; color: var(--muted-dark);}
.abw .start .ul {color: var(--bone);}
@media (prefers-reduced-motion: reduce) {
.abw .ul, .abw .switch a, .abw .trio--nav .trio__p, .abw .trio__go i {transition: none;}
}
.abw .cap__row {min-height: 2.6em; align-items: flex-start;}
@media (max-width: 560px) {
.abw .cap__row {min-height: 0;}
}
.abw .n-top {display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 32px; margin-bottom: clamp(28px, 4vw, 44px);}
.abw .n-top > div {display: flex; flex-direction: column; gap: 14px;}
.abw .n-hero h1 {font-size: clamp(36px, 4.8vw, 64px); line-height: 1.04; letter-spacing: -0.02em;}
.abw .n-top .meta {margin: 0 0 8px;}
.abw .trio--nav .trio__w {font-size: clamp(72px, 8.4vw, 124px);}
.abw .trio--nav .trio__amp {width: clamp(84px, 9vw, 130px);}
.abw .trio--nav .trio__mark {height: clamp(80px, 9vw, 130px);}
.abw .trio__src {display: block;margin-top: 14px;color: var(--muted-dark);font:var(--t-label);letter-spacing:var(--t-label-track);text-transform:var(--t-label-case)}
.abw .n-after {margin-top: clamp(28px, 4vw, 44px); max-width: 30em;}
@media (max-width: 760px) {
.abw .trio__src {margin-top: 8px;}
}
.abw .trinity {margin: 10px 0; padding: clamp(28px, 4vw, 44px); display: flex; flex-direction: column; gap: 10px; box-shadow: inset 0 3px 0 var(--blaze);}
.abw .trinity p {margin: 0; font: 400 clamp(24px, 2.8vw, 34px)/1.25 var(--serif);}
.abw .closing.frame {margin-top: var(--space);}
.abw .closing img {width: 48px;}
.abw .shop__head .q {max-width: 36em;}
.abw .cap__row {min-height: 0;}
.abw .cap__name {min-height: 2.5em;}
@media (max-width: 560px) {
.abw .cap__name {min-height: 0;}
}
.abw {--header-h: 60px;}
@media (min-width: 1100px) {
.abw {font-size: 19.5px;}
.abw .q blockquote {font-size: 23px;}
}
.abw .label {color: #3E4657;}
.abw .hero {padding-block: clamp(56px, 8vw, 104px) 0;}
.abw .hero > .frame > .label {margin-bottom: 20px;}
.abw .hero h1, .abw .n-hero h1, .abw .r-hero h1 {margin: 0; font: 400 clamp(46px, 6.4vw, 84px)/1 var(--serif); letter-spacing: -0.022em; text-wrap: balance;}
.abw .hero__row {display: grid; gap: clamp(24px, 4vw, 48px); align-items: end;}
@media (min-width: 900px) {
.abw .hero__row {grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);}
}
.abw .hero__row--tight {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 32px; margin-bottom: clamp(28px, 4vw, 44px);}
.abw .hero__row--tight .meta {margin: 0 0 10px;}
.abw .hero__side {display: flex; flex-direction: column; gap: 18px;}
.abw .hero .lede {margin: 0; font: italic 400 clamp(20px, 2.2vw, 24px)/1.45 var(--serif);}
.abw .hero .who {margin: 0; font-size: 17px; line-height: 1.65; color: var(--muted);}
.abw .hero .photo {margin-top: clamp(40px, 6vw, 72px);}
.abw .n-hero {padding-bottom: clamp(64px, 8vw, 104px);}
.abw .r-hero__grid .stacky > .label {margin-bottom: 0;}
.abw .meta {font: 500 12px/1.4 var(--sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted);}
.abw .chap__side .title {margin-top: 6px;}
.abw .bleed {margin-bottom: clamp(48px, 7vw, 88px);}
.abw .bleed .photo {aspect-ratio: 21 / 9; max-height: 78vh; width: 100%;}
@media (max-width: 700px) {
.abw .bleed .photo {aspect-ratio: 4 / 5;}
}
.abw .pair {display: grid; gap: clamp(24px, 4vw, 56px); align-items: center; margin-bottom: clamp(48px, 7vw, 88px);}
@media (min-width: 900px) {
.abw .pair {grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);}
}
.abw .pair .photo {margin: 0;}
.abw .pair__q {margin: 0; position: relative; padding-top: 24px; font: 400 clamp(30px, 3.8vw, 50px)/1.15 var(--serif); letter-spacing: -0.01em; text-wrap: balance;}
.abw .pair__q::before {content: ""; position: absolute; top: 0; left: 0; width: 48px; height: 2px; background: var(--blaze);}
.abw .chap--side .chap__side .photo {margin: 18px 0 0; max-width: 300px;}
@media (max-width: 899px) {
.abw .chap--side .chap__side .photo {max-width: 220px;}
}
.abw .beat {padding-top: var(--space); text-align: center;}
.abw .beat .frame {display: flex; flex-direction: column; align-items: center; gap: 18px;}
.abw .beat__line {margin: 0; font: italic 400 clamp(40px, 6vw, 80px)/1.05 var(--serif); letter-spacing: -0.02em; text-wrap: balance;}
.abw .beat__sub {margin: 0; font-size: clamp(17px, 1.9vw, 20px); color: var(--muted);}
.abw .way__sin {color: var(--ink);}
@media (max-width: 700px) {
.abw .carries__grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px;}
.abw .carry h3 {font-size: 18px;}
.abw .carry p {font-size: 14px;}
.abw .caps {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px;}
.abw .cap .verse summary {padding: 14px;}
.abw .cap .verse__in {padding: 0 14px 14px;}
.abw .cap .verse__ref {font-size: 34px;}
.abw .cap .verse__hint {font-size: 10px; letter-spacing: 0.12em;}
.abw .cap__name {font-size: 18px; min-height: 2.5em;}
.abw .cap__row {flex-direction: column; gap: 6px;}
.abw .cap .btn {min-height: 44px; padding: 0 8px; font-size: 11px; letter-spacing: 0.12em;}
.abw .cap__date {font-size: 12px;}
}
.abw .next--quiet {padding-block: clamp(48px, 6vw, 72px);}
.abw .nq {display: grid; gap: 10px; padding-top: 28px; border-top: 1px solid var(--rule); text-decoration: none; max-width: 760px;}
.abw .nq__t {font: 400 clamp(28px, 3.4vw, 42px)/1.1 var(--serif); letter-spacing: -0.01em;}
.abw .nq__t i {font-style: normal; color: var(--blaze); display: inline-block; transition: transform 160ms ease;}
.abw .nq:hover .nq__t i {transform: translateX(6px);}
.abw .nq__d {font-size: 16px; line-height: 1.55; color: var(--muted);}
.abw .beat {padding-bottom: var(--space);}
@media (prefers-reduced-motion: reduce) {
.abw .nq__t i {transition: none;}
}
.abw .start__lead {margin: 0; font: italic 400 clamp(36px, 5.4vw, 68px)/1.05 var(--serif); letter-spacing: -0.02em; color: var(--bone); text-wrap: balance;}
.abw .start__lead2 {margin: 0 0 clamp(8px, 2vw, 20px); font: italic 400 clamp(22px, 2.6vw, 30px)/1.3 var(--serif); color: var(--muted-dark);}
.abw .start__lead + .start__lead2 {margin-top: -4px;}
.abw .start h2 {position: relative; padding-top: 26px;}
.abw .start h2::before {content: ""; position: absolute; top: 0; left: 50%; translate: -50% 0; width: 48px; height: 2px; background: var(--blaze);}
.abw .shop {padding-bottom: var(--space);}
.abw #s6 {padding-bottom: var(--space);}
.abw .contents {margin-top: clamp(32px, 5vw, 56px); display: grid; gap: 14px;}
.abw .contents ol {margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); border-top: 1px solid var(--rule);}
.abw .contents li {border-bottom: 1px solid var(--rule);}
.abw .contents a {display: flex; gap: 14px; align-items: baseline; padding: 14px 0; text-decoration: none; font-size: 16px;}
.abw .contents a span {font: 400 15px/1 var(--serif); color: var(--blaze); font-variant-numeric: tabular-nums;}
.abw .contents a:hover {text-decoration: underline; text-decoration-color: var(--blaze); text-underline-offset: 5px;}
.abw .tag--sm {margin: 0; font: italic 400 clamp(34px, 4.6vw, 56px)/1 var(--serif); color: var(--blaze);}
.abw .chap .key + .body, .abw .chap--pair .stacky > .body:first-child {font: 400 clamp(20px, 1.9vw, 23px)/1.6 var(--serif);}
.abw .brk {margin: 18px 0; text-align: center; color: var(--blaze); font: 400 28px/1 var(--serif);}
.abw .nowreading {display: flex; gap: 12px; align-items: baseline; max-width: var(--max); margin: 0 auto; padding: 8px var(--gutter-r) 10px var(--gutter-l); font: 500 11px/1.3 var(--sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted);}
.abw .nowreading__n {font: 400 15px/1 var(--serif); letter-spacing: 0; color: var(--blaze);}
.abw .chap__next {margin-top: 18px; align-self: flex-start; display: inline-flex; gap: 10px; align-items: baseline; padding-top: 18px; border-top: 1px solid var(--rule); font: 500 12px/1.4 var(--sans); letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none; color: var(--ink);}
.abw .chap__next i {font-style: normal; color: var(--blaze); transition: transform 160ms ease;}
.abw .chap__next:hover i {transform: translateX(5px);}
.abw .contents a em {margin-left: auto; font: 400 13px/1 var(--sans); font-style: normal; color: var(--muted); padding-right: 16px;}
.abw .contents a {width: 100%;}
.abw .vref {margin: 2px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);}
.abw .vref summary {list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 48px; padding: 10px 0;}
.abw .vref summary::-webkit-details-marker {display: none;}
.abw .vref__ref {font: 400 clamp(17px, 1.6vw, 19px)/1.3 var(--serif);}
.abw .vref__act {display: inline-flex; align-items: center; gap: 10px; font: 500 11px/1 var(--sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); white-space: nowrap;}
.abw .vref__act::after {content: "+"; font: 400 20px/1 var(--sans); color: var(--blaze); letter-spacing: 0; transition: transform 200ms ease;}
.abw .vref[open] .vref__act::after {transform: rotate(45deg);}
.abw .vref[open] .t-open, .abw .vref:not([open]) .t-close {display: none;}
.abw .vref__in {margin: 0 0 18px;}
.abw .vref[open] .vref__in {animation: open 320ms cubic-bezier(.2,.7,.2,1);}
.abw .on-navy .vref {border-color: rgb(245 241 232 / 0.18);}
.abw .on-navy .vref__act {color: var(--muted-dark);}
.abw mark {background: none; color: inherit; text-decoration: underline; text-decoration-color: var(--blaze); text-decoration-thickness: 2px; text-underline-offset: 5px;}
.abw .temple {margin: 8px 0; display: flex; flex-direction: column; gap: 10px;}
.abw .temple svg {width: 100%; height: auto; max-width: 100%;}
.abw .temple figcaption {color: var(--muted);font:var(--t-small);letter-spacing:var(--t-small-track);text-transform:var(--t-small-case)}
.abw .tm-l {font: 400 18px var(--serif); fill: var(--ink);}
.abw .tm-s {font: 400 12px var(--sans); fill: var(--muted);}
.abw .tm-inv {fill: var(--bone);}
.abw .tm-c {font: 500 11px var(--sans); letter-spacing: 0.16em; text-transform: uppercase; fill: var(--blaze);}
.abw .share-row {display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding-block: 0 clamp(8px, 2vw, 16px);}
.abw .share {min-height: 44px; padding: 0 18px; background: transparent; border: 1px solid var(--ink); border-radius: 0; color: var(--ink); font: 500 12px/1 var(--sans); letter-spacing: 0.18em; text-transform: uppercase; cursor: pointer;}
.abw .share:hover {background: var(--card);}
.abw .share__note {font-size: 14px; color: var(--ink);}
.abw .share__hint {font-size: 14px; color: var(--muted);}
.abw .cap__why {margin: -6px 0 0; font: italic 400 16px/1.45 var(--serif); color: var(--muted);}
.abw .faq {padding-block: var(--space);}
.abw .faq__grid {display: grid; gap: clamp(24px, 4vw, 48px);}
@media (min-width: 900px) {
.abw .faq__grid {grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);}
}
.abw .faq__h {margin: 0; font: 400 clamp(36px, 4.6vw, 60px)/1.04 var(--serif);}
.abw .faq__list details {border-top: 1px solid var(--rule);}
.abw .faq__list details:last-child {border-bottom: 1px solid var(--rule);}
.abw .faq__list summary {list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; padding: 18px 0; font: 400 clamp(19px, 1.9vw, 22px)/1.3 var(--serif);}
.abw .faq__list summary::-webkit-details-marker {display: none;}
.abw .faq__list summary::after {content: "+"; color: var(--blaze); font: 400 22px/1 var(--sans); transition: transform 200ms ease;}
.abw .faq__list details[open] summary::after {transform: rotate(45deg);}
.abw .faq__list p {margin: 0 0 20px; max-width: 40em;}
@media (prefers-reduced-motion: reduce) {
.abw .vref[open] .vref__in {animation: none;}
.abw .chap__next i, .abw .vref__act::after, .abw .faq__list summary::after {transition: none;}
}
.abw .nowreading[hidden] {display: none;}
.abw .tm-l {font-size: 24px;}
.abw .tm-s {font-size: 16px;}
.abw .tm-c {font-size: 14px;}
.abw .temple svg {overflow: visible;}
.abw .tm-h {font: 400 34px var(--serif); fill: var(--ink);}
.abw .tm-s {font: 400 21px var(--sans); fill: var(--muted);}
.abw .tm-n {font: 400 19px var(--sans); fill: var(--ink);}
.abw .tm-c {font: 500 18px var(--sans); letter-spacing: 0.16em; text-transform: uppercase; fill: var(--blaze);}
.abw .tm-inv {fill: var(--bone);}
.abw .tm-ic, .abw .tm-ic path, .abw .tm-ic rect {fill: none; stroke: var(--ink); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round;}
.abw .tm-ic--inv, .abw .tm-ic--inv path, .abw .tm-ic--inv rect {stroke: var(--bone);}
.abw .temple {margin-block: 16px;}
.abw .temple__scroll {overflow-x: auto; max-width: 100%;}
@media (max-width: 700px) {
.abw .temple__scroll svg {min-width: 660px;}
.abw .temple figcaption::after {content: " Swipe to see the whole plan."; color: var(--muted);}
}

/* In good company section (restored) */
.abw .igc-sec {padding-block: var(--space);}
.abw .igc-grid {display: grid; gap: clamp(32px, 5vw, 64px);}
@media (min-width: 900px) { .abw .igc-grid {grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(48px, 6vw, 96px);} }
@media (min-width: 900px) { .abw .igc-side {position: sticky; top: calc(var(--abw-head, 80px) + 40px); align-self: start;} }
.abw .igc-side {display: flex; flex-direction: column; gap: 22px;}
.abw .igc-tag {margin: 0; font: 400 clamp(38px, 4.6vw, 60px)/1.05 var(--serif); letter-spacing: -0.015em; text-wrap: balance;}
/* Theme additions: real photos in the slots, the page tabs, the reading line */
.abw .cap__price { border: 0; padding: 0; color: var(--ink); }
.abw .cap__link { text-decoration: none; }
.abw .cap__link:hover { text-decoration: underline; text-decoration-color: var(--blaze); text-underline-offset: 5px; }
.abw .photo { background-image: none; }
.abw .photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.abw .photo--empty { display: grid; place-items: center; padding: 16px; text-align: center; font: 500 11px/1.4 var(--sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); }
.abw .chap--side .chap__side .photo:not(.photo--port) { aspect-ratio: 4 / 5; }
.abw .amp-img { display: inline-block; width: 0.9em; height: auto; vertical-align: -0.12em; }
.abw .brk img { width: 34px; margin: 0 auto; }
.abw .trio__amp, .abw .way__amp { display: block; }
.abw .closing .tag { color: var(--blaze); }
.abw-read { position: fixed; left: 0; right: 0; top: var(--abw-top, 0px); z-index: 25; pointer-events: none; }
.abw-read__bar { height: 2px; }
.abw-read__bar i { display: block; height: 100%; background: #1F2A44; opacity: 0.35; transform-origin: left; transform: scaleX(var(--read, 0)); }
.abw-read .nowreading { background: rgb(245 241 232 / 0.96); border-bottom: 1px solid #CFC8B9; }
.abw-read .nowreading[hidden] { display: none; }
.abw-read .nowreading { display: flex; gap: 12px; align-items: baseline; max-width: none; margin: 0; padding: 8px max(16px, calc((100vw - 1200px) / 2)) 10px; font: 500 11px/1.3 var(--font-body--family, "Jost"), sans-serif; letter-spacing: 0.2em; text-transform: uppercase; color: #4A5265; }
.abw-read .nowreading__n { font: 400 15px/1 var(--font-heading--family, "Libre Baskerville"), serif; letter-spacing: 0; color: #FF6B2C; }
.abw .switch { position: relative; z-index: 2; }
@media (prefers-reduced-motion: reduce) { .abw .verse[open] .verse__in, .abw .vref[open] .vref__in { animation: none; } }
  .abw [id] { scroll-margin-top: calc(var(--abw-head, 80px) + 44px); }

/* The way to the Father */
.abw.way-page {overflow-x: clip;}
.abw.way-page abba-share-page {display: block;}
.abw.way-page .title, .abw.way-page .statement, .abw.way-page .q blockquote, .abw.way-page .body {overflow-wrap: break-word;}
/* Calm and still: no movement on this page, not even on hover */
.abw.way-page *, .abw.way-page *::before, .abw.way-page *::after {animation: none !important; transition: none !important;}
.abw.way-page .btn:hover {transform: none;}
.abw.way-page .ul:hover {text-underline-offset: 5px;}
.abw .way-hero .meta {margin: 0;}
.abw .way-intro {padding-top: clamp(56px, 7vw, 96px);}
.abw .way-intro .statement {margin: 4px 0;}
.abw .way-step .chap__side .title {font-size: clamp(34px, 3.8vw, 52px);}
.abw .way-ref {margin: 14px 0 0; display: flex; flex-direction: column;}
.abw .way-ref .verse__ref {font-size: clamp(64px, 8vw, 104px);}
.abw .way-ref .verse__book {margin-top: 12px;}
.abw .way-step .stacky > .q:first-child {margin-top: 0;}
.abw.way-page #s6 {padding-bottom: 0;}
.abw .way-panels {margin-top: clamp(48px, 6vw, 80px);}
.abw .way-home {margin-top: clamp(40px, 5vw, 64px);}
.abw .way-home .statement {margin: 0; max-width: 680px;}
.abw .way-king {margin-top: var(--space);}
.abw .way-king__in {max-width: var(--max); margin: 0 auto;}
.abw .way-king .measure {margin: 0 auto;}
.abw .way-lead {font: 400 clamp(20px, 1.9vw, 23px)/1.6 var(--serif);}
.abw .way-wait {margin: 8px 0; font: italic 400 clamp(30px, 3.6vw, 42px)/1.2 var(--serif);}
.abw .way-sub {margin: 20px 0 0; font: 400 clamp(22px, 2.3vw, 28px)/1.3 var(--serif); text-wrap: balance;}
.abw .way-sub--first {margin-top: 36px; padding-top: 36px; border-top: 1px solid var(--rule);}
.abw .way-turn {margin: 20px 0 0;}
.abw .way-king .key {margin-top: 12px;}
.abw .way-short {margin: 24px 0 8px; padding-top: 32px; border-top: 1px solid var(--rule); display: flex; flex-direction: column; gap: 18px;}
.abw .way-short .way-sub {margin: 0;}
.abw .way-short__list {margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule);}
.abw .way-short__list li {display: flex; flex-direction: column; gap: 6px; padding: 18px 0; border-bottom: 1px solid var(--rule);}
.abw .way-short__list strong {font: 400 clamp(21px, 2.4vw, 25px)/1.35 var(--serif);}
.abw .way-sec {padding-top: var(--space);}
.abw .way-sec .title {font-size: clamp(34px, 3.8vw, 52px);}
.abw .way-prayer {position: relative; margin: 8px 0; padding: clamp(32px, 4.4vw, 48px) clamp(24px, 4vw, 44px) clamp(28px, 4vw, 44px); background: var(--bone); border: 1px solid var(--rule);}
.abw .way-prayer::before {content: ""; position: absolute; top: -1px; left: clamp(24px, 4vw, 44px); width: 48px; height: 2px; background: var(--blaze);}
.abw .way-prayer p {margin: 0; font: italic 400 clamp(20px, 2.2vw, 24px)/1.6 var(--serif);}
.abw .way-note {color: var(--muted);}
.abw .way-two {display: grid; gap: var(--space) clamp(48px, 6vw, 96px);}
@media (min-width: 900px) {
.abw .way-two {grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start;}
}
.abw .way-first {margin: 4px 0; padding: 0; list-style: none; display: flex; flex-direction: column; border-top: 1px solid var(--rule);}
.abw .way-first li {display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 8px; padding: 18px 0; border-bottom: 1px solid var(--rule);}
.abw .way-first__n {padding-top: 0.55em; font: 500 12px/1.4 var(--sans); letter-spacing: 0.24em; text-transform: uppercase; color: #3E4657;}
.abw .way-first strong {font-weight: 500;}
.abw .way-form {margin: 8px 0 0;}
.abw .way-form__fields {display: flex; flex-direction: column; gap: 18px;}
.abw .way-form__label {display: block; margin-bottom: 6px; font-weight: 500;}
.abw .way-form__label span {font-weight: 400; color: var(--muted);}
.abw .way-form__input {display: block; width: 100%; min-height: 52px; padding: 0 14px; border: 1px solid var(--muted); border-radius: 0; background: var(--bone); color: var(--ink); font: inherit;}
.abw .way-form__area {min-height: 140px; padding: 12px 14px; line-height: 1.55; resize: vertical;}
.abw .way-form__msg {margin: 0;}
.abw .way-form__msg:empty {display: none;}
.abw .way-form .btn {align-self: flex-start;}
.abw .way-form__small {margin: 0; font-size: 15px; line-height: 1.55; color: var(--muted);}
.abw .way-form__sent {margin: 8px 0 0; padding: 24px; border: 1px solid var(--ink);}
.abw .way-share__btn {display: inline-flex; align-items: center; gap: 10px;}
.abw .way-share .share__note:empty {display: none;}
.abw .way-close {margin-top: var(--space);}
.abw .way-close .start__lead2 {margin: 0;}
.abw .way-close__link {font-size: 17px;}

/* Audit 2026-10-19 */
/* Phones: two-column fact tables stack, so the right column is not squeezed */
@media screen and (max-width: 749px) {
  .ab-info__dl {grid-template-columns: minmax(0, 1fr);}
  .ab-info__dl dt {padding-bottom: 0; padding-right: 0;}
  .ab-info__dl dd {padding-top: 4px; border-top: 0;}
}
/* Long values such as the email address wrap instead of running off the screen */
.ab-info__fact dd {overflow-wrap: anywhere;}
/* Track an order: the theme's field style filled these boxes with Bone and hid the placeholders */
.ab-info .ab-info__track .ab-info__track-input {background: transparent; color: var(--ab-bone);}
