/* ==========================================================================
   Content pages — banner, pioneer, call-to-action, default page, policy pages, contact, link cards, collection list,
   blog, article, 404, password, gift card.
   ========================================================================== */
@layer sections {

  /* ------------------------------------------------------------------ page banner (About) */
  .banner__inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2.5rem, 6vw, 7rem); align-items: center; }
  .banner__title { max-width: 11ch; }
  .banner__text { max-width: 46ch; }
  .banner__text.rte { color: var(--fg-soft); font-size: var(--fs-xl); line-height: 1.55; }
  .banner__figure { position: relative; margin: 0; }
  .banner__frame { position: relative; overflow: hidden; aspect-ratio: 5 / 4; border-radius: var(--radius-xl); background: var(--c-ink); box-shadow: 0 60px 100px -50px rgb(0 0 0 / 0.8); }
  .banner__img { position: absolute; inset: -6% 0; width: 100%; height: 112%; object-fit: cover; }
  .banner__tag { position: absolute; left: -1.25rem; bottom: 1.5rem; display: inline-flex; align-items: center; gap: 0.8rem; padding: 0.5rem 1.3rem 0.5rem 0.6rem; border-radius: var(--radius-pill); background: var(--c-gold); color: var(--c-ink); font-size: var(--fs-s); font-weight: 700; box-shadow: 0 24px 40px -20px rgb(0 0 0 / 0.7); }
  .banner__tag .hex-icon { width: 2.2rem; background: var(--c-ink); color: var(--c-honey); }
  .banner__tag .hex-icon .icon { width: 1rem; height: 1rem; }
  @media (max-width: 989px) { .banner__inner { grid-template-columns: minmax(0, 1fr); } .banner__tag { left: 1rem; } }

  /* ------------------------------------------------------------------ pioneer */
  .pioneer { overflow-x: clip; isolation: isolate; }
  .pioneer > *:not(.sunburst) { position: relative; z-index: 1; }
  .pioneer__inner { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2.5rem, 6vw, 7rem); align-items: center; }
  .pioneer__portrait { margin: 0; justify-self: center; width: min(100%, 26rem); }
  .pioneer__hex { --hex: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); position: relative; aspect-ratio: 1 / 1.1547; clip-path: var(--hex); background: var(--c-gold); display: grid; place-items: center; }
  .pioneer__hex::before { content: ''; position: absolute; inset: 4px; clip-path: var(--hex); background: linear-gradient(160deg, color-mix(in oklab, var(--c-gold) 24%, var(--c-cocoa)), var(--c-ink)); }
  .pioneer__img { position: absolute; inset: 4px; width: calc(100% - 8px); height: calc(100% - 8px); object-fit: cover; clip-path: var(--hex); }
  .pioneer__monogram { position: relative; display: grid; place-items: center; width: 70%; }
  .pioneer__badge { width: 100%; height: auto; filter: drop-shadow(0 24px 40px rgb(0 0 0 / 0.5)); }
  .pioneer__title { max-width: 12ch; }
  .pioneer__quote { position: relative; margin: 0; padding-left: clamp(0rem, 4vw, 4.5rem); font-family: var(--font-display); font-size: clamp(1.7rem, 1.1rem + 2.6vw, 3.4rem); line-height: 1.18; letter-spacing: -0.02em; font-variation-settings: 'SOFT' var(--heading-soft, 40); text-wrap: balance; }
  .pioneer__mark { position: absolute; left: 0; top: 0.2em; color: var(--c-gold); opacity: 0.8; }
  .pioneer__mark .icon { width: clamp(2rem, 4vw, 3.4rem); height: clamp(2rem, 4vw, 3.4rem); }
  .pioneer__name { display: grid; gap: 0.2rem; padding-left: clamp(0rem, 4vw, 4.5rem); font-size: var(--fs-s); }
  .pioneer__name strong { font-family: var(--font-display); font-size: 1.35rem; font-weight: 500; }
  .pioneer__name span { color: var(--fg-soft); letter-spacing: 0.08em; text-transform: uppercase; font-size: var(--fs-xs); }
  @media (max-width: 989px) { .pioneer__inner { grid-template-columns: minmax(0, 1fr); } .pioneer__portrait { width: min(100%, 18rem); } }
  @media (max-width: 749px) { .pioneer__quote { padding: 2.9rem 0 0; } .pioneer__mark { top: 0; } .pioneer__name { padding-left: 0; } }

  /* ------------------------------------------------------------------ call to action */
  .cta { overflow-x: clip; isolation: isolate; }
  .cta > *:not(.sunburst) { position: relative; z-index: 1; }
  .cta__inner { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: clamp(2.5rem, 6vw, 7rem); align-items: center; }
  .cta__title { max-width: 11ch; }
  .cta__text.rte { color: var(--fg-soft); font-size: var(--fs-xl); line-height: 1.55; max-width: 44ch; }
  .cta__card { display: grid; gap: 1.1rem; justify-items: start; padding: clamp(1.5rem, 1rem + 2vw, 2.5rem); border-radius: var(--radius-xl); background: color-mix(in oklab, var(--c-cream) 6%, transparent); border: 1px solid var(--line); backdrop-filter: blur(8px); }
  .cta__address { font-style: normal; font-family: var(--font-display); font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.8rem); line-height: 1.3; letter-spacing: -0.01em; }
  .cta__note { color: var(--fg-soft); font-size: var(--fs-s); }
  @media (max-width: 989px) { .cta__inner { grid-template-columns: minmax(0, 1fr); } }

  /* ------------------------------------------------------------------ default page + policies */
  .page-body__content { font-size: 1.125rem; }
  .page-body__content > :first-child { margin-top: 0; }
  .legal__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3rem; align-items: start; }
  .legal.has-toc .legal__inner { grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 1fr); gap: clamp(2.5rem, 6vw, 7rem); }
  .legal__toc { position: sticky; top: calc(var(--header-h) + 1.5rem); padding: 1.5rem 1.5rem 1.6rem; border-radius: var(--radius-l); background: var(--card); border: 1px solid var(--line); }
  .legal__toc-title { margin-bottom: 1rem; font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--fg-soft); }
  .legal__toc-list { display: grid; gap: 0.15rem; list-style: none; margin: 0; padding: 0; counter-reset: toc; }
  .legal__toc-list li { counter-increment: toc; }
  .legal__toc-list a { display: grid; grid-template-columns: 1.6rem 1fr; padding: 0.4rem 0; font-size: var(--fs-s); line-height: 1.35; text-decoration: none; color: var(--fg-soft); transition: color var(--dur-s), transform 0.5s var(--ease-out); }
  .legal__toc-list a::before { content: counter(toc, decimal-leading-zero); font-variant-numeric: tabular-nums; font-size: var(--fs-2xs); letter-spacing: 0.08em; padding-top: 0.2em; color: var(--accent-text); }
  .legal__toc-list a:hover, .legal__toc-list a[aria-current='true'] { color: var(--fg); transform: translateX(4px); }
  .legal__toc-list a[aria-current='true'] { font-weight: 600; }
  .legal__content { max-width: 70ch; }
  .legal__content h2 { font-size: var(--fs-h3); margin-top: 2.4em; }
  .legal__content h2:first-child { margin-top: 0; }
  .legal__help { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem 2rem; margin-top: clamp(3rem, 6vw, 5rem); padding: 1.75rem 2rem; border-radius: var(--radius-l); background: color-mix(in oklab, var(--c-gold) 14%, var(--bg)); border: 1px solid color-mix(in oklab, var(--c-gold) 40%, transparent); font-family: var(--font-display); font-size: 1.3rem; }
  @media (max-width: 989px) { .legal.has-toc .legal__inner { grid-template-columns: minmax(0, 1fr); } .legal__toc { position: static; } }

  /* ------------------------------------------------------------------ contact */
  .contact__inner { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 6rem); align-items: start; }
  .contact__info { display: grid; gap: 1.25rem; }
  .contact__card { display: grid; gap: 1rem; justify-items: start; padding: clamp(1.4rem, 1rem + 1.4vw, 2.25rem); border-radius: var(--radius-xl); background: var(--card); border: 1px solid var(--line); transition: transform 0.7s var(--ease-out), box-shadow 0.7s var(--ease-out); }
  .contact__card:hover { transform: translateY(-4px); box-shadow: 0 34px 60px -40px rgb(73 40 17 / 0.55); }
  .contact__card .hex-icon { width: 3rem; background: var(--c-bark); color: var(--c-honey); }
  .contact__card-title { font-family: var(--font-display); font-size: var(--fs-h4); line-height: 1.1; font-weight: 450; letter-spacing: -0.015em; }
  .contact__list { display: grid; gap: 0.35rem; width: 100%; list-style: none; margin: 0; padding: 0; }
  .contact__list a { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; padding: 0.7rem 0.4rem; border-radius: var(--radius-m); text-decoration: none; font-weight: 600; transition: background var(--dur-s), transform 0.5s var(--ease-out); }
  .contact__list a:hover { background: color-mix(in oklab, var(--c-gold) 14%, transparent); transform: translateX(6px); }
  .contact__list .icon { width: 1.35rem; height: 1.35rem; color: var(--c-maroon); }
  .contact__list small { display: block; font-size: var(--fs-2xs); font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--fg-soft); }
  .contact__address { font-style: normal; font-size: var(--fs-l); line-height: 1.6; }
  .contact__form-wrap { position: sticky; top: calc(var(--header-h) + 1.25rem); display: grid; gap: 1.1rem; padding: clamp(1.6rem, 1rem + 2.4vw, 3rem); border-radius: var(--radius-xl); background: var(--c-ink); color: var(--c-cream); box-shadow: 0 60px 100px -50px rgb(21 12 8 / 0.8); scroll-margin-top: calc(var(--header-h) + 1rem); }
  .contact__form-wrap .muted { color: color-mix(in oklab, var(--c-cream) 70%, transparent); }
  .contact__form-title { font-family: var(--font-display); font-size: var(--fs-h3); line-height: 1.05; font-weight: 450; letter-spacing: -0.02em; }
  .contact__form { display: grid; gap: 1rem; margin-top: 0.5rem; --fg: var(--c-cream); --line: color-mix(in oklab, var(--c-cream) 22%, transparent); --fg-soft: color-mix(in oklab, var(--c-cream) 70%, transparent); --accent: var(--c-gold); }
  .contact__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .contact__form .btn { justify-self: start; }
  .contact__form .form-message ul { margin: 0.4rem 0 0; padding-left: 1.1rem; }
  @media (max-width: 989px) { .contact__inner { grid-template-columns: minmax(0, 1fr); } .contact__form-wrap { position: static; } }
  @media (max-width: 549px) { .contact__row { grid-template-columns: minmax(0, 1fr); } }

  /* ------------------------------------------------------------------ link cards (Information hub) */
  .hub__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 0.5rem + 2vw, 2rem); list-style: none; margin: 0; padding: 0; }
  .hub__card { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 0.4rem 1.4rem; align-items: center; height: 100%; padding: clamp(1.5rem, 1rem + 1.6vw, 2.5rem); border-radius: var(--radius-xl); background: var(--card); border: 1px solid var(--line); text-decoration: none; overflow: hidden; isolation: isolate; transition: transform 0.7s var(--ease-out), box-shadow 0.7s var(--ease-out), border-color var(--dur-s), color var(--dur-s); }
  .hub__card::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--c-ink); transform: translateY(101%); border-radius: 50% 50% 0 0 / 30% 30% 0 0; transition: transform 0.7s var(--ease-out), border-radius 0.7s var(--ease-out); }
  .hub__card:hover { color: var(--c-cream); transform: translateY(-4px); box-shadow: 0 40px 70px -40px rgb(21 12 8 / 0.7); }
  .hub__card:hover::before { transform: none; border-radius: 0; }
  .hub__card .hex-icon { grid-row: 1 / 3; width: 3.4rem; background: var(--c-bark); color: var(--c-honey); transition: background var(--dur-m), color var(--dur-m), transform 0.8s var(--ease-spring); }
  .hub__card:hover .hex-icon { background: var(--c-gold); color: var(--c-ink); transform: rotate(60deg); }
  .hub__card:hover .hex-icon .icon { transform: rotate(-60deg); }
  .hub__title { font-family: var(--font-display); font-size: var(--fs-h4); line-height: 1.1; font-weight: 450; letter-spacing: -0.015em; }
  .hub__text { grid-column: 2; color: var(--fg-soft); font-size: var(--fs-s); line-height: 1.6; max-width: 40ch; transition: color var(--dur-m); }
  .hub__card:hover .hub__text { color: color-mix(in oklab, var(--c-cream) 72%, transparent); }
  .hub__arrow { position: absolute; top: 1.25rem; right: 1.25rem; display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 1px solid currentColor; opacity: 0.6; transition: transform 0.7s var(--ease-spring), opacity var(--dur-s), background var(--dur-s), color var(--dur-s); }
  .hub__card:hover .hub__arrow { opacity: 1; transform: rotate(45deg); background: var(--c-gold); color: var(--c-ink); border-color: var(--c-gold); }
  @media (max-width: 749px) { .hub__grid { grid-template-columns: minmax(0, 1fr); } }

  /* ------------------------------------------------------------------ collection list */
  .collections__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 0.5rem + 2vw, 2.25rem); list-style: none; margin: 0; padding: 0; }
  .ccard { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: var(--radius-xl); overflow: hidden; isolation: isolate; text-decoration: none; color: var(--c-cream); background: var(--c-ink); box-shadow: 0 40px 70px -45px rgb(21 12 8 / 0.8); }
  .ccard__media { position: absolute; inset: 0; }
  .ccard__img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ease-out); }
  .ccard:hover .ccard__img { transform: scale(1.07); }
  .ccard__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgb(21 12 8 / 0.82) 8%, rgb(21 12 8 / 0.05) 60%); }
  .ccard__body { position: absolute; inset: auto 0 0 0; display: grid; gap: 0.3rem; padding: clamp(1.25rem, 1rem + 1.5vw, 2.25rem); }
  .ccard__count { font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-honey); }
  .ccard__title { font-family: var(--font-display); font-size: var(--fs-h3); line-height: 1.05; letter-spacing: -0.02em; font-weight: 450; max-width: 14ch; }
  .ccard__arrow { position: absolute; right: clamp(1.25rem, 1rem + 1.5vw, 2.25rem); bottom: clamp(1.25rem, 1rem + 1.5vw, 2.25rem); display: grid; place-items: center; width: 3.2rem; height: 3.2rem; border-radius: 50%; border: 1px solid currentColor; transition: transform 0.8s var(--ease-spring), background var(--dur-s), color var(--dur-s); }
  .ccard:hover .ccard__arrow { transform: rotate(45deg); background: var(--c-gold); color: var(--c-ink); border-color: var(--c-gold); }
  @media (max-width: 749px) { .collections__grid { grid-template-columns: minmax(0, 1fr); } }

  /* ------------------------------------------------------------------ blog */
  .blog__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin: 0.5rem 0 0; padding: 0; }
  .page-hero .chip { color: var(--c-cream); border-color: color-mix(in oklab, var(--c-cream) 28%, transparent); text-decoration: none; }
  .page-hero .chip:hover, .page-hero .chip.is-active { background: var(--c-gold); color: var(--c-ink); border-color: var(--c-gold); }
  .blog__tags .chip { text-decoration: none; }
  .blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 1rem + 3vw, 4rem) clamp(1rem, 0.5rem + 2vw, 2.25rem); list-style: none; margin: 0; padding: 0; }
  .blog__cell--featured { grid-column: 1 / -1; }
  @media (max-width: 989px) { .blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 649px) { .blog__grid { grid-template-columns: minmax(0, 1fr); } }

  .acard { display: grid; gap: 1.25rem; align-content: start; }
  .acard__media { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: var(--radius-l); overflow: hidden; background: linear-gradient(150deg, var(--c-sand), color-mix(in oklab, var(--c-gold) 28%, var(--c-sand))); }
  .acard__img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease-out); }
  .acard:hover .acard__img { transform: scale(1.06); }
  .acard__placeholder { position: absolute; inset: 0; display: grid; place-items: center; }
  .acard__badge { width: 38%; height: auto; opacity: 0.85; }
  .acard__meta { display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-soft); }
  .acard__title { font-family: var(--font-display); font-size: clamp(1.35rem, 1.1rem + 0.9vw, 1.9rem); line-height: 1.15; letter-spacing: -0.015em; font-weight: 450; text-wrap: balance; }
  .acard__title a { text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size var(--dur-m) var(--ease-out); }
  .acard__title a:hover { background-size: 100% 1px; }
  .acard__excerpt { color: var(--fg-soft); font-size: var(--fs-s); line-height: 1.65; max-width: 52ch; }
  .acard__more { justify-self: start; }
  .acard--featured { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
  .acard--featured .acard__media { aspect-ratio: 16 / 11; }
  .acard--featured .acard__title { font-size: var(--fs-h3); }
  @media (max-width: 749px) { .acard--featured { grid-template-columns: minmax(0, 1fr); } }

  /* ------------------------------------------------------------------ article */
  .article__title { max-width: 18ch; }
  .article__figure { margin: 0 0 clamp(2rem, 5vw, 3.5rem); border-radius: var(--radius-xl); overflow: hidden; box-shadow: 0 50px 90px -50px rgb(73 40 17 / 0.6); }
  .article__img { width: 100%; height: auto; }
  .article__content { font-size: 1.125rem; }
  .article__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
  .article__foot .blog__tags { margin: 0; }
  .blog__grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  @media (max-width: 989px) { .blog__grid--three { grid-template-columns: minmax(0, 1fr); } }
  .comments { margin-top: clamp(3rem, 6vw, 5rem); display: grid; gap: 1.5rem; }
  .comments__title { font-family: var(--font-display); font-size: var(--fs-h4); font-weight: 450; }
  .comments__list { display: grid; gap: 1.25rem; list-style: none; margin: 0; padding: 0; }
  .comment { padding: 1.25rem 1.5rem; border-radius: var(--radius-l); background: var(--card); border: 1px solid var(--line); }
  .comment__meta { font-size: var(--fs-s); color: var(--fg-soft); margin-bottom: 0.5rem; }
  .comments__form { display: grid; gap: 1rem; }

  /* ------------------------------------------------------------------ 404 */
  .e404 { position: relative; isolation: isolate; overflow-x: clip; min-height: calc(100svh - var(--header-h) - 8rem); display: grid; align-items: center; }
  .e404 > *:not(.sunburst) { position: relative; z-index: 1; }
  .e404__inner { display: grid; justify-items: center; gap: 1.5rem; text-align: center; }
  .e404__art { display: flex; align-items: center; justify-content: center; gap: clamp(0.25rem, 1vw, 1rem); }
  .e404__num { font-family: var(--font-display); font-weight: 800; font-size: clamp(7rem, 4rem + 18vw, 20rem); line-height: 0.8; letter-spacing: -0.05em; font-variation-settings: 'SOFT' 100; background: linear-gradient(180deg, var(--c-honey), var(--c-gold) 60%, #b4741f); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .e404__badge { width: clamp(6.5rem, 4rem + 13vw, 15rem); animation: e404-float 6s ease-in-out infinite; }
  .e404__logo { width: 100%; height: auto; filter: drop-shadow(0 30px 50px rgb(0 0 0 / 0.55)); }
  @keyframes e404-float { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-14px) rotate(3deg); } }
  .e404__title { max-width: 18ch; }
  .e404__text { max-width: 44ch; }
  .e404__search { margin-top: 0.5rem; }
  .e404__actions { justify-content: center; margin-top: 0.5rem; }
  @media (prefers-reduced-motion: reduce) { .e404__badge { animation: none; } }

  /* ------------------------------------------------------------------ password */
  .pw { position: relative; isolation: isolate; overflow: clip; min-height: 100svh; display: grid; place-items: center; padding: clamp(1.5rem, 5vw, 4rem) var(--gutter); background: var(--c-ink); }
  .pw > *:not(.sunburst) { position: relative; z-index: 1; }
  .pw__inner { display: grid; justify-items: center; gap: 1.25rem; text-align: center; width: min(100%, 36rem); }
  .intro.intro--inline { position: relative; inset: auto; display: block; z-index: auto; cursor: auto; width: 100%; }
  .intro--inline .intro__curtain { display: none; }
  .intro--inline .intro__stage { position: relative; inset: auto; transition: none; }
  .intro--inline .intro__logo-wrap { width: clamp(220px, 46vw, 340px); margin-inline: auto; }
  .intro--inline:not(.is-play) * { animation: none !important; }
  .pw__title { max-width: 16ch; }
  .pw__text { max-width: 40ch; }
  .pw__signup, .pw__form { width: 100%; display: grid; gap: 0.75rem; margin-top: 0.5rem; }
  .pw__signup-row { display: flex; gap: 0.5rem; padding: 0.4rem 0.4rem 0.4rem 1.25rem; border: 1px solid color-mix(in oklab, var(--c-cream) 28%, transparent); border-radius: var(--radius-pill); background: color-mix(in oklab, var(--c-cream) 6%, transparent); transition: border-color var(--dur-s), box-shadow var(--dur-s); }
  .pw__signup-row:focus-within { border-color: var(--c-gold); box-shadow: 0 0 0 4px color-mix(in oklab, var(--c-gold) 22%, transparent); }
  .pw__input { flex: 1; min-width: 0; background: none; border: 0; color: inherit; font-size: var(--fs-m); }
  .pw__input:focus { outline: 0; }
  .pw__fine { font-size: var(--fs-xs); color: var(--fg-soft); }
  .pw__enter { width: 100%; margin-top: 0.75rem; }
  .pw__enter summary { display: inline-flex; align-items: center; gap: 0.6rem; font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-soft); transition: color var(--dur-s); }
  .pw__enter summary:hover { color: var(--c-gold); }
  .pw__enter summary .icon { width: 1rem; height: 1rem; }
  .pw__enter[open] summary { margin-bottom: 1rem; }
  .pw__admin { font-size: var(--fs-xs); }
  .pw__admin a { color: var(--fg-soft); text-underline-offset: 0.3em; }
  @media (prefers-reduced-motion: reduce) {
    .intro--inline * { animation: none !important; }
    .intro--inline .lb-sky, .intro--inline .lb-ch, .intro--inline .lb-glow { opacity: 1 !important; }
    .intro--inline .lb-rtxt { clip-path: none !important; }
    .intro--inline .lb-hair, .intro--inline .lb-frame { stroke-dasharray: none !important; fill-opacity: 1 !important; }
  }

  /* ------------------------------------------------------------------ gift card */
  .giftcard { position: relative; isolation: isolate; overflow: clip; min-height: 100svh; display: grid; place-items: center; padding: clamp(1.5rem, 5vw, 4rem) var(--gutter); background: var(--c-ink); color: var(--c-cream); }
  .giftcard > *:not(.sunburst) { position: relative; z-index: 1; }
  .giftcard__inner { display: grid; justify-items: center; gap: 1.25rem; text-align: center; width: min(100%, 40rem); }
  .giftcard__logo { width: clamp(6rem, 18vw, 9rem); }
  .giftcard__badge { width: 100%; height: auto; filter: drop-shadow(0 20px 36px rgb(0 0 0 / 0.5)); }
  .giftcard__card { display: grid; gap: 1.1rem; justify-items: center; width: 100%; padding: clamp(1.75rem, 1rem + 3vw, 3rem); border-radius: var(--radius-xl); background: linear-gradient(150deg, color-mix(in oklab, var(--c-gold) 30%, var(--c-cocoa)), var(--c-cocoa)); border: 1px solid color-mix(in oklab, var(--c-gold) 50%, transparent); box-shadow: 0 50px 90px -40px rgb(0 0 0 / 0.8); }
  .giftcard__amount { font-family: var(--font-display); font-size: clamp(3rem, 2rem + 6vw, 6rem); line-height: 1; letter-spacing: -0.03em; font-weight: 500; color: var(--c-honey); }
  .giftcard__balance, .giftcard__expires { font-size: var(--fs-s); color: color-mix(in oklab, var(--c-cream) 72%, transparent); }
  .giftcard__code { display: flex; gap: 0.5rem; width: 100%; padding: 0.4rem 0.4rem 0.4rem 1.25rem; border: 1px dashed color-mix(in oklab, var(--c-cream) 40%, transparent); border-radius: var(--radius-pill); background: rgb(0 0 0 / 0.2); }
  .giftcard__code-input { flex: 1; min-width: 0; background: none; border: 0; color: inherit; font-family: ui-monospace, 'SFMono-Regular', Menlo, monospace; font-size: var(--fs-l); letter-spacing: 0.12em; text-transform: uppercase; }
  .giftcard__code-input:focus { outline: 0; }
  .giftcard__actions { justify-content: center; }
  @media print { .giftcard { background: #fff; color: #000; } .giftcard__actions, .sunburst { display: none; } }
}
