/*
  Doktorinn Academy brand typography layer.
  Source: BRAND_PAD.md, Typography System.
  This file intentionally loads after main.css. Page-specific CSS may still
  refine scoped presentation after the shared brand layer.
*/

:root {
  --brand-black: #000000;
  --brand-white: #FFFFFF;
  --brand-soft-white: #FFFFFF;
  --brand-warm-white: #FFFFFF;
  --brand-secondary-off-white: #F7F6F2;
  --brand-divider: #E5E5E5;
  --brand-bronze: #8A6A3E;
  --brand-logo-font: "Helvetica Neue", "Helvetica Now Display", Arial, "Inter Tight", system-ui, sans-serif;
  --font-brand: "Neue Haas Grotesk Display Pro", "Instrument Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-editorial: "Tiempos Text", Georgia, "Times New Roman", serif;
  --font-ui: "Instrument Sans", "Helvetica Neue", Arial, system-ui, sans-serif;
  --brand-type-ink: #000000;
  --brand-type-muted: #555555;
  --brand-type-bronze: #8A6A3E;
}

html {
  font-family: var(--font-ui);
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.storefront-body {
  font-family: var(--font-ui) !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  line-height: 1.52 !important;
  letter-spacing: 0 !important;
  color: var(--brand-type-ink);
  background: var(--brand-white) !important;
  background-image: none !important;
}

body.storefront-body p,
body.storefront-body li,
body.storefront-body input,
body.storefront-body textarea,
body.storefront-body select {
  font-family: var(--font-ui) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

body.storefront-body h1,
body.storefront-body h2,
body.storefront-body h3,
body.storefront-body h4,
body.storefront-body h5,
body.storefront-body h6,
body.storefront-body .site-title,
body.storefront-body .logo,
body.storefront-body .brand,
body.storefront-body .navbar-brand,
body.storefront-body .footer-brand strong,
body.storefront-body .product-title,
body.storefront-body .book-title,
body.storefront-body .course-title,
body.storefront-body .da-section-head h2,
body.storefront-body .da-feature-assessment h3,
body.storefront-body .da-assessment-card h3,
body.storefront-body .bookshelf-hero h1,
body.storefront-body .bookshelf-empty h2,
body.storefront-body .da-stage-copy h3 {
  font-family: var(--font-brand) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  text-wrap: balance;
}

body.storefront-body h1,
body.storefront-body .site-title,
body.storefront-body .logo strong,
body.storefront-body .navbar-brand,
body.storefront-body .brand,
body.storefront-body .da-hero-copy h1,
body.storefront-body .bookshelf-hero h1 {
  font-weight: 700 !important;
  line-height: 0.92 !important;
  letter-spacing: 0.025em !important;
}

body.storefront-body .logo,
body.storefront-body .logo *,
body.storefront-body .site-title,
body.storefront-body .navbar-brand,
body.storefront-body .brand {
  font-family: var(--font-brand) !important;
  text-transform: uppercase !important;
}

body.storefront-body h2,
body.storefront-body .da-section-head h2,
body.storefront-body .da-library-copy h2 {
  font-size: clamp(1.7rem, 2.9vw, 2.5rem) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
}

body.storefront-body h3,
body.storefront-body h4,
body.storefront-body h5,
body.storefront-body h6,
body.storefront-body .product-card h3,
body.storefront-body .course-card h3,
  body.storefront-body .book-card h3,
  body.storefront-body .card h3 {
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: 0.035em !important;
}

body.storefront-body .editorial,
body.storefront-body .book-intro,
body.storefront-body .quotation,
body.storefront-body blockquote {
  font-family: var(--font-editorial) !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
}

body.storefront-body nav a,
body.storefront-body .header a,
body.storefront-body .site-header a,
body.storefront-body .topbar a,
body.storefront-body .topbar summary,
body.storefront-body .nav-links a,
body.storefront-body .nav-menu-panel a,
body.storefront-body .da-hero-links a,
body.storefront-body .da-library-links a,
body.storefront-body footer a,
  body.storefront-body .footer a,
  body.storefront-body .site-footer a {
  font-family: var(--font-ui) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
}

body.storefront-body .topbar .nav-menu-group > summary,
body.storefront-body .topbar.editorial-topbar .nav-menu-group > summary {
  color: var(--brand-type-bronze) !important;
}

body.storefront-body button,
body.storefront-body .btn,
body.storefront-body .button,
body.storefront-body .cta,
body.storefront-body .da-button,
body.storefront-body .primary-button,
body.storefront-body .secondary-button,
body.storefront-body [class*="button"],
body.storefront-body input[type="submit"] {
  font-family: var(--font-ui) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

body.storefront-body .card,
body.storefront-body .product-card,
body.storefront-body .course-card,
body.storefront-body .book-card,
body.storefront-body .access-card,
body.storefront-body .purchase-card,
body.storefront-body .status-card,
body.storefront-body .lookup-card,
body.storefront-body .result-card,
body.storefront-body .da-assessment-card,
body.storefront-body .da-feature-assessment,
body.storefront-body .bookshelf,
body.storefront-body.bookshelf-page,
body.storefront-body .bookshelf-page,
body.storefront-body .da-library-shelf,
body.storefront-body .da-library-stage {
  font-family: var(--font-ui) !important;
  letter-spacing: 0 !important;
}

body.storefront-body .product-card h3,
body.storefront-body .course-card h3,
body.storefront-body .book-card h3,
  body.storefront-body .da-assessment-card h3,
  body.storefront-body .da-feature-assessment h3,
  body.storefront-body .da-stage-copy h3 {
  font-family: var(--font-brand) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
}

body.storefront-body .book-spine,
body.storefront-body .da-book-spine,
body.storefront-body .da-book-spine-title,
body.storefront-body .da-book-spine-meta,
body.storefront-body .book-title,
  body.storefront-body .book-meta {
  font-family: var(--font-ui) !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.storefront-body .book-title,
body.storefront-body .da-book-spine-title {
  letter-spacing: 0.06em !important;
}

body.storefront-body .price,
body.storefront-body .badge,
body.storefront-body .tag,
body.storefront-body .da-kicker,
body.storefront-body .bookshelf-kicker,
body.storefront-body .bookshelf-count,
body.storefront-body .da-stage-meta,
body.storefront-body .footer-eyebrow,
body.storefront-body .da-book-spine-meta,
  body.storefront-body [data-library-price],
  body.storefront-body [data-library-meta] {
  font-family: var(--font-ui) !important;
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
}

body.storefront-body .footer,
body.storefront-body footer,
body.storefront-body .site-footer {
  font-family: var(--font-ui) !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

body.storefront-body .footer p,
body.storefront-body .footer span,
body.storefront-body footer p,
body.storefront-body footer span,
body.storefront-body .site-footer p,
  body.storefront-body .site-footer span {
  font-family: var(--font-ui) !important;
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

body.storefront-body .footer-brand strong {
  font-size: clamp(1.25rem, 2vw, 1.95rem) !important;
  letter-spacing: 0.025em !important;
  text-transform: uppercase !important;
}

body.storefront-home .topbar.editorial-topbar .logo-copy strong {
  font-family: var(--font-brand) !important;
  font-weight: 700 !important;
  font-size: clamp(2.6rem, 5vw, 4.65rem) !important;
  letter-spacing: 0.025em !important;
  line-height: 0.9 !important;
}

body.storefront-home .da-hero-copy h1,
body.bookshelf-page .bookshelf-hero h1 {
  font-family: var(--font-brand) !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  line-height: 0.94 !important;
}

body.storefront-home .da-hero-links a,
body.storefront-home .da-library-links a {
  font-size: clamp(0.72rem, 1vw, 0.86rem) !important;
  letter-spacing: 0.16em !important;
}

body.bookshelf-page .bookshelf-hero h1 {
  font-size: clamp(2.5rem, 6.2vw, 4.25rem) !important;
}

body.bookshelf-page .da-stage-copy h3 {
  font-size: clamp(1.55rem, 2.8vw, 2.25rem) !important;
}

body.storefront-home .da-hero-copy h1 {
  font-size: clamp(3rem, 8.2vw, 7.4rem) !important;
}

body.storefront-home .da-library-copy h2 {
  font-size: clamp(2.35rem, 5.4vw, 5rem) !important;
  line-height: 0.95 !important;
}

body.storefront-body .da-section-head p,
body.storefront-body .da-founder-panel p,
body.storefront-body .da-access p,
body.storefront-body .product-card p,
body.storefront-body .course-card p,
body.storefront-body .book-card p,
body.storefront-body .assessment-card p,
body.storefront-body .da-assessment-card p,
body.storefront-body .da-feature-assessment p {
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

body.storefront-body .product-price,
body.storefront-body .da-feature-aside span,
body.storefront-body .da-assessment-card > span,
body.storefront-body .da-stage-meta span {
  font-family: var(--font-ui) !important;
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

body.storefront-body .da-text-link {
  font-family: var(--font-ui) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

@media (max-width: 640px) {
  body.storefront-body h1,
  body.storefront-body .site-title,
  body.storefront-body .logo strong,
  body.storefront-body .da-hero-copy h1,
  body.bookshelf-page .bookshelf-hero h1 {
    letter-spacing: 0.035em !important;
  }

  body.storefront-body nav a,
  body.storefront-body .topbar summary,
  body.storefront-body .da-hero-links a,
  body.storefront-body .da-library-links a,
  body.storefront-body footer a,
  body.storefront-body button,
  body.storefront-body .da-button {
    font-size: 0.6875rem !important;
    letter-spacing: 0.12em !important;
  }
}

/* Compact Brand Pad masthead: luxury retail scale, not poster scale. */
body.storefront-body .site-shell > .topbar.editorial-topbar {
  min-height: clamp(6.8rem, 8vw, 9.25rem) !important;
  padding: clamp(1.65rem, 2.45vw, 2.85rem) clamp(1.5rem, 4.85vw, 5rem) !important;
  align-items: center !important;
}

body.storefront-home .site-shell > .topbar.editorial-topbar {
  display: grid !important;
  grid-template-columns: minmax(15.5rem, 28rem) auto !important;
  min-height: clamp(6.9rem, 8.4vw, 9.6rem) !important;
  padding: clamp(1.75rem, 2.65vw, 3rem) clamp(1.5rem, 5vw, 5rem) !important;
  align-items: center !important;
}

body.storefront-body .topbar.editorial-topbar .logo {
  max-width: min(28rem, 42vw) !important;
}

body.storefront-body .topbar.editorial-topbar .logo-copy strong,
body.storefront-home .topbar.editorial-topbar .logo-copy strong {
  max-width: min(28rem, 42vw) !important;
  font-family: var(--font-brand) !important;
  font-size: clamp(1.65rem, 3.05vw, 3rem) !important;
  font-weight: 700 !important;
  line-height: 0.9 !important;
  letter-spacing: 0.025em !important;
}

body.storefront-body .topbar.editorial-topbar .topbar-actions,
body.storefront-body .topbar.editorial-topbar .nav-category-menu {
  align-items: center !important;
  justify-content: flex-end !important;
  gap: clamp(1.6rem, 3vw, 3rem) !important;
}

body.storefront-body .topbar.editorial-topbar .nav-menu-group > summary {
  font-size: clamp(0.72rem, 0.86vw, 0.82rem) !important;
  letter-spacing: 0.16em !important;
}

body.storefront-body .topbar.editorial-topbar .nav-menu-panel {
  top: calc(100% + 0.85rem) !important;
  padding: 1rem 1.1rem !important;
}

body.storefront-body .topbar.editorial-topbar .nav-menu-panel a {
  font-size: clamp(0.78rem, 0.95vw, 0.92rem) !important;
  letter-spacing: 0.14em !important;
}

@media (max-width: 980px) {
  body.storefront-body .site-shell > .topbar.editorial-topbar,
  body.storefront-home .site-shell > .topbar.editorial-topbar {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    padding: 1.05rem 1rem 1.2rem !important;
    gap: 0.85rem !important;
  }

  body.storefront-body .topbar.editorial-topbar .logo,
  body.storefront-body .topbar.editorial-topbar .logo-copy strong,
  body.storefront-home .topbar.editorial-topbar .logo-copy strong {
    max-width: min(22rem, 92vw) !important;
  }

  body.storefront-body .topbar.editorial-topbar .logo-copy strong,
  body.storefront-home .topbar.editorial-topbar .logo-copy strong {
    font-size: clamp(1.35rem, 7vw, 2.35rem) !important;
    line-height: 0.9 !important;
    letter-spacing: 0.02em !important;
  }

  body.storefront-body .topbar.editorial-topbar .topbar-actions,
  body.storefront-body .topbar.editorial-topbar .nav-category-menu {
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 0.9rem 1.4rem !important;
  }
}

@media (max-width: 520px) {
  body.storefront-body .site-shell > .topbar.editorial-topbar,
  body.storefront-home .site-shell > .topbar.editorial-topbar {
    padding: 0.95rem 0.9rem 1.05rem !important;
    gap: 0.75rem !important;
  }

  body.storefront-body .topbar.editorial-topbar .logo-copy strong,
  body.storefront-home .topbar.editorial-topbar .logo-copy strong {
    max-width: 17rem !important;
    font-size: clamp(1.15rem, 6.5vw, 1.8rem) !important;
    letter-spacing: 0.018em !important;
  }

  body.storefront-body .topbar.editorial-topbar .nav-menu-group > summary {
    font-size: 0.7rem !important;
    letter-spacing: 0.13em !important;
  }
}

/* Homepage typographic restraint: fewer voices, quieter hierarchy, no app-like CTAs. */
body.storefront-body .site-shell > .topbar.editorial-topbar,
body.storefront-home .site-shell > .topbar.editorial-topbar {
  min-height: clamp(5.6rem, 6.6vw, 7.8rem) !important;
  padding: clamp(1.25rem, 1.95vw, 2.25rem) clamp(1.25rem, 4.6vw, 4.8rem) !important;
}

body.storefront-body .topbar.editorial-topbar .logo,
body.storefront-home .topbar.editorial-topbar .logo {
  max-width: min(24rem, 38vw) !important;
}

body.storefront-body .topbar.editorial-topbar .logo-copy strong,
body.storefront-home .topbar.editorial-topbar .logo-copy strong {
  max-width: min(24rem, 38vw) !important;
  font-size: clamp(1.3rem, 2.35vw, 2.15rem) !important;
  font-weight: 700 !important;
  line-height: 0.92 !important;
  letter-spacing: 0.025em !important;
}

body.storefront-body .topbar.editorial-topbar .nav-category-menu,
body.storefront-home .topbar.editorial-topbar .nav-category-menu {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: clamp(1.25rem, 2.5vw, 2.7rem) !important;
}

body.storefront-body .topbar.editorial-topbar .nav-category-menu > a {
  display: inline-flex !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #3d3d3d !important;
  font-family: var(--font-ui) !important;
  font-size: clamp(0.68rem, 0.78vw, 0.78rem) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.145em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

body.storefront-body .topbar.editorial-topbar .nav-category-menu > a::before,
body.storefront-body .topbar.editorial-topbar .nav-category-menu > a::after {
  display: none !important;
  content: none !important;
}

body.storefront-body .topbar.editorial-topbar .nav-category-menu > a:hover,
body.storefront-body .topbar.editorial-topbar .nav-category-menu > a:focus-visible {
  color: var(--brand-type-bronze) !important;
  outline: 0 !important;
}

body.storefront-home .da-hero-copy {
  max-width: min(40rem, 72vw) !important;
  gap: clamp(1.2rem, 2.2vw, 2.4rem) !important;
}

body.storefront-home .da-hero-copy h1 {
  max-width: 14ch !important;
  font-family: var(--font-brand) !important;
  font-size: clamp(1.9rem, 4.5vw, 4.2rem) !important;
  font-weight: 500 !important;
  line-height: 0.98 !important;
  letter-spacing: 0.025em !important;
  text-transform: none !important;
}

body.storefront-home .da-hero-links,
body.storefront-home .da-library-links {
  gap: clamp(1.25rem, 3.6vw, 3.5rem) !important;
}

body.storefront-home .da-hero-links a,
body.storefront-home .da-library-links a {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: var(--font-ui) !important;
  font-size: clamp(0.68rem, 0.86vw, 0.78rem) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

body.storefront-home .da-library-copy h2,
body.storefront-home .da-section-head h2 {
  font-family: var(--font-brand) !important;
  font-size: clamp(1.9rem, 3.9vw, 3.65rem) !important;
  font-weight: 500 !important;
  line-height: 0.98 !important;
  letter-spacing: 0.025em !important;
}

body.storefront-home .da-section-head p,
body.storefront-home .da-studio p,
body.storefront-home .da-assessments p {
  max-width: 28rem !important;
  font-family: var(--font-ui) !important;
  font-size: clamp(0.9rem, 1.05vw, 1rem) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

body.storefront-body .da-kicker,
body.storefront-body .footer-eyebrow,
body.storefront-body .badge,
body.storefront-body .tag {
  font-size: 0.66rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.13em !important;
}

body.storefront-body .da-button,
body.storefront-body .button,
body.storefront-body .btn,
body.storefront-body .primary-button,
body.storefront-body .secondary-button,
body.storefront-body [class*="button"] {
  min-height: 2.75rem !important;
  padding: 0.85rem 1.15rem !important;
  border-radius: 0 !important;
  border-width: 1px !important;
  box-shadow: none !important;
  font-family: var(--font-ui) !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.13em !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
}

body.storefront-body .da-actions,
body.storefront-home .da-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.85rem !important;
}

body.storefront-body .da-actions .da-button,
body.storefront-home .da-actions .da-button {
  width: auto !important;
  max-width: max-content !important;
  flex: 0 0 auto !important;
}

body.storefront-body .footer.editorial-footer,
body.storefront-body .site-footer {
  display: grid !important;
  grid-template-columns: minmax(14rem, 1fr) minmax(18rem, 2fr) !important;
  gap: clamp(1.5rem, 4vw, 4rem) !important;
  padding: clamp(2.4rem, 5vw, 4.25rem) clamp(1.25rem, 5vw, 5rem) !important;
  border: 0 !important;
  background: #000000 !important;
}

body.storefront-body .footer-brand strong {
  font-size: clamp(1.05rem, 1.65vw, 1.55rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

body.storefront-body .footer-brand p,
body.storefront-body .footer-column a,
body.storefront-body .footer-column span {
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
}

body.storefront-body .footer-columns {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 0.85rem clamp(1.35rem, 3vw, 2.6rem) !important;
}

body.storefront-body .footer-column {
  min-width: auto !important;
  gap: 0.55rem !important;
}

body.storefront-body .footer.editorial-footer,
body.storefront-body footer.footer.editorial-footer,
body.storefront-body .site-footer,
body.storefront-body .footer.editorial-footer .footer-brand,
body.storefront-body .footer.editorial-footer .footer-columns,
body.storefront-body .footer.editorial-footer .footer-column {
  border: 0 !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  box-shadow: none !important;
}

body.storefront-body .footer.editorial-footer::before,
body.storefront-body .footer.editorial-footer::after,
body.storefront-body .footer.editorial-footer .footer-brand::before,
body.storefront-body .footer.editorial-footer .footer-brand::after,
body.storefront-body .footer.editorial-footer .footer-columns::before,
body.storefront-body .footer.editorial-footer .footer-columns::after,
body.storefront-body .footer.editorial-footer .footer-column::before,
body.storefront-body .footer.editorial-footer .footer-column::after {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: none !important;
  content: none !important;
}

@media (max-width: 760px) {
  body.storefront-body .site-shell > .topbar.editorial-topbar,
  body.storefront-home .site-shell > .topbar.editorial-topbar {
    padding: 1rem 1rem 1.05rem !important;
    gap: 0.8rem !important;
  }

  body.storefront-body .topbar.editorial-topbar .logo,
  body.storefront-home .topbar.editorial-topbar .logo {
    max-width: min(16rem, 76vw) !important;
  }

  body.storefront-body .topbar.editorial-topbar .logo-copy strong,
  body.storefront-home .topbar.editorial-topbar .logo-copy strong {
    max-width: min(16rem, 76vw) !important;
    font-size: clamp(1.05rem, 6vw, 1.55rem) !important;
    font-weight: 700 !important;
    line-height: 0.92 !important;
    letter-spacing: 0.018em !important;
  }

  body.storefront-body .topbar.editorial-topbar .nav-category-menu,
  body.storefront-home .topbar.editorial-topbar .nav-category-menu {
    justify-content: flex-start !important;
    gap: 0.75rem 1.05rem !important;
  }

  body.storefront-body .topbar.editorial-topbar .nav-category-menu > a {
    font-size: 0.65rem !important;
    letter-spacing: 0.12em !important;
  }

  body.storefront-home .da-hero-copy {
    max-width: min(20rem, 88vw) !important;
  }

  body.storefront-home .da-hero-copy h1 {
    max-width: 12ch !important;
    font-size: clamp(1.75rem, 11vw, 3.35rem) !important;
    letter-spacing: 0.015em !important;
  }

  body.storefront-home .da-library-copy h2,
  body.storefront-home .da-section-head h2 {
    font-size: clamp(1.8rem, 10vw, 3.15rem) !important;
  }

  body.storefront-body .footer.editorial-footer,
  body.storefront-body .site-footer {
    grid-template-columns: 1fr !important;
    padding: 2rem 1rem !important;
  }

  body.storefront-body .footer-columns {
    justify-content: flex-start !important;
  }
}

@media (min-width: 981px) {
  body.storefront-body .site-shell > .topbar.editorial-topbar,
  body.storefront-home .site-shell > .topbar.editorial-topbar {
    grid-template-columns: minmax(23rem, auto) minmax(0, 1fr) !important;
    min-height: clamp(4.65rem, 5.4vw, 6.1rem) !important;
    padding: clamp(1.15rem, 1.55vw, 1.75rem) clamp(2rem, 5vw, 5rem) !important;
    align-items: center !important;
    gap: clamp(2.2rem, 4vw, 4.8rem) !important;
    background: var(--brand-white) !important;
  }

  body.storefront-body .topbar.editorial-topbar .logo,
  body.storefront-home .topbar.editorial-topbar .logo {
    max-width: none !important;
    align-self: center !important;
  }

  body.storefront-body .topbar.editorial-topbar .logo-copy strong,
  body.storefront-home .topbar.editorial-topbar .logo-copy strong {
    display: inline-block !important;
    max-width: none !important;
    font-size: clamp(1.35rem, 1.75vw, 1.9rem) !important;
    font-weight: 700 !important;
    line-height: 0.92 !important;
    letter-spacing: 0.025em !important;
    white-space: nowrap !important;
  }

  body.storefront-body .topbar.editorial-topbar .topbar-actions,
  body.storefront-home .topbar.editorial-topbar .topbar-actions,
  body.storefront-body .topbar.editorial-topbar .nav-category-menu,
  body.storefront-home .topbar.editorial-topbar .nav-category-menu {
    align-items: center !important;
    justify-content: flex-end !important;
    justify-self: end !important;
    gap: clamp(1.35rem, 2.25vw, 2.75rem) !important;
  }

  body.storefront-body .topbar.editorial-topbar .nav-category-menu > a,
  body.storefront-home .topbar.editorial-topbar .nav-category-menu > a {
    font-size: clamp(0.68rem, 0.72vw, 0.78rem) !important;
    letter-spacing: 0.15em !important;
    line-height: 1 !important;
  }
}

/* Unboxed editorial product house: contrast and typography replace frames. */
body.storefront-body *:focus:not(:focus-visible) {
  outline: 0 !important;
}

body.storefront-body *:focus-visible {
  outline: 2px solid var(--brand-type-bronze) !important;
  outline-offset: 3px !important;
}

body.storefront-home .da-video-hero,
body.storefront-home .da-library-video,
body.storefront-home .da-studio,
body.storefront-home .da-assessments-gateway,
body.storefront-home .da-section,
body.assessments-page .assessment-catalogue-hero,
body.assessments-page .assessment-catalogue,
.product-detail-stage,
.related-products-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.storefront-home .da-studio,
body.storefront-home .da-assessments-gateway {
  min-height: clamp(26rem, 48svh, 38rem) !important;
  padding: clamp(4rem, 8vw, 7rem) clamp(1.35rem, 7vw, 7.5rem) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

body.storefront-home .da-studio {
  background: #ffffff !important;
  color: #000000 !important;
}

body.storefront-home .da-assessments-gateway {
  background: #000000 !important;
  color: #ffffff !important;
}

body.storefront-home #library,
body.storefront-home #study-studio,
body.storefront-home #assessments,
body.storefront-home #library h2,
body.storefront-home #study-studio h2,
body.storefront-home #assessments h2 {
  scroll-margin-top: calc(clamp(72px, 5.7vw, 92px) + 8px) !important;
}

body.storefront-home .da-section-head,
body.storefront-home .da-section-head-split,
body.storefront-home .da-actions,
body.storefront-home .da-studio-actions,
body.storefront-home .da-assessment-actions {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.storefront-home .da-section-head-split {
  display: grid !important;
  grid-template-columns: minmax(0, 42rem) !important;
  gap: clamp(0.95rem, 1.8vw, 1.35rem) !important;
  align-items: start !important;
  max-width: 42rem !important;
}

body.storefront-home .da-studio-actions,
body.storefront-home .da-assessment-actions {
  max-width: 42rem !important;
  width: 100% !important;
}

body.storefront-home .da-library-copy p {
  max-width: 24rem !important;
  margin: clamp(1rem, 2vw, 1.6rem) 0 0 !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-family: var(--font-ui) !important;
  font-size: clamp(0.95rem, 1.1vw, 1.05rem) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

body.storefront-home .da-assessments-gateway h2,
body.storefront-home .da-assessments-gateway p {
  color: #ffffff !important;
}

body.storefront-home .da-assessments-gateway .da-section-head > p,
body.storefront-home .da-assessments-gateway .da-section-head-split > p {
  color: rgba(255, 255, 255, 0.72) !important;
}

body.storefront-body .da-button,
body.storefront-body .button,
body.storefront-body .btn,
body.storefront-body .primary-button,
body.storefront-body .secondary-button,
body.storefront-body [class*="button"] {
  border: 0 !important;
}

body.storefront-home .da-studio .da-button,
body.storefront-home .da-button-light,
body.assessments-page .da-button,
.related-products-section .button {
  background: #000000 !important;
  color: #ffffff !important;
}

body.storefront-home .da-assessments-gateway .da-button {
  background: #ffffff !important;
  color: #000000 !important;
}

body.storefront-home .da-button:hover,
body.storefront-home .da-button:focus-visible,
body.assessments-page .da-button:hover,
body.assessments-page .da-button:focus-visible,
.related-products-section .button:hover,
.related-products-section .button:focus-visible {
  opacity: 0.78 !important;
}

body.assessments-page .assessment-catalogue-hero {
  display: flex !important;
  min-height: clamp(24rem, 44svh, 34rem) !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: clamp(4rem, 8vw, 7rem) clamp(1.35rem, 7vw, 7.5rem) !important;
  background: #000000 !important;
  color: #ffffff !important;
}

body.assessments-page .assessment-catalogue-hero h1,
body.assessments-page .assessment-catalogue-hero p {
  color: #ffffff !important;
}

body.assessments-page .assessment-catalogue-hero h1 {
  max-width: 12ch !important;
  font-size: clamp(1.9rem, 4.5vw, 4.2rem) !important;
}

body.assessments-page .assessment-catalogue-hero p {
  max-width: 26rem !important;
  margin-top: clamp(1rem, 2vw, 1.5rem) !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

body.assessments-page .assessment-catalogue {
  padding: clamp(4rem, 8vw, 7rem) clamp(1.35rem, 7vw, 7.5rem) !important;
  background: #ffffff !important;
}

body.assessments-page .assessment-catalogue-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(2.4rem, 5vw, 4.5rem) !important;
  border: 0 !important;
}

body.assessments-page .assessment-catalogue-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: clamp(1.2rem, 3vw, 3rem) !important;
  align-items: end !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.assessments-page .assessment-catalogue-card h2 {
  margin: 0 !important;
}

body.assessments-page .assessment-catalogue-copy {
  max-width: 42rem !important;
}

body.assessments-page .assessment-catalogue-copy p {
  margin: 0.8rem 0 0 !important;
  color: #666666 !important;
}

body.assessments-page .assessment-catalogue-price {
  margin: 0 !important;
  color: #000000 !important;
  white-space: nowrap !important;
}

body.assessments-page .assessment-catalogue-card .da-button {
  align-self: end !important;
  min-width: 0 !important;
}

.product-detail-stage,
.storefront-body .product-detail-stage.product-detail-stage-refined.clean-product-stage,
.product-detail-stage .detail-media-card,
.product-detail-stage .detail-intro-card,
.product-detail-stage .purchase-card,
.related-products-section,
.related-products-section .product-card,
.related-products-section .product-grid {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.storefront-body .product-detail-stage.product-detail-stage-refined.clean-product-stage {
  background: #ffffff !important;
}

.related-products-section .product-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(2rem, 4vw, 3.25rem) !important;
}

.related-products-section .product-card {
  display: grid !important;
  grid-template-columns: minmax(7rem, 10rem) minmax(0, 1fr) auto !important;
  gap: clamp(1.25rem, 3vw, 3rem) !important;
  align-items: end !important;
  padding: 0 !important;
}

.related-products-section .product-card .button {
  align-self: end !important;
}

@media (max-width: 760px) {
  body.storefront-home #library,
  body.storefront-home #study-studio,
  body.storefront-home #assessments,
  body.storefront-home #library h2,
  body.storefront-home #study-studio h2,
  body.storefront-home #assessments h2 {
    scroll-margin-top: 100px !important;
  }

  body.storefront-home .da-studio,
  body.storefront-home .da-assessments-gateway,
  body.assessments-page .assessment-catalogue-hero,
  body.assessments-page .assessment-catalogue {
    padding-right: 1.25rem !important;
    padding-left: 1.25rem !important;
  }

  body.storefront-home .da-section-head-split,
  body.assessments-page .assessment-catalogue-hero,
  body.assessments-page .assessment-catalogue-card,
  .related-products-section .product-card {
    grid-template-columns: 1fr !important;
  }

  body.assessments-page .assessment-catalogue-card .da-button,
  .related-products-section .product-card .button {
    width: auto !important;
    max-width: max-content !important;
    justify-self: start !important;
  }
}

/* Final luxury cleanup: black surfaces stay flat; no decorative bronze rules or textures. */
body.storefront-body::before,
body.dashboard-auth-body::before,
body.storefront-home::before,
body.bookshelf-page::before,
body.account-page::before,
body.recovery-page::before {
  display: none !important;
  content: none !important;
  background: none !important;
  background-image: none !important;
}

body.storefront-body .da-home-hero h1::after,
body.storefront-home .da-home-hero h1::after,
body.storefront-body .da-video-hero h1::after,
body.storefront-home .da-video-hero h1::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  background: none !important;
}

body.storefront-body .da-video-hero,
body.storefront-body .da-assessments-gateway,
body.storefront-body .assessment-catalogue-hero,
body.storefront-body .bookshelf-hero,
body.storefront-body .account-hero,
body.storefront-body .recovery-hero,
body.storefront-body .support-stage,
body.storefront-body .legal-stage,
body.dashboard-auth-body .account-hero {
  background-color: #000000 !important;
  background-image: none !important;
}

body.storefront-body .da-hero-video-scrim,
body.storefront-home .da-hero-video-scrim {
  background: transparent !important;
  background-image: none !important;
}

body.storefront-body .da-library-video-scrim,
body.storefront-home .da-library-video-scrim {
  background: rgba(0, 0, 0, 0.28) !important;
  background-image: none !important;
}

/* Doktorinn Academy wordmark system. */
body.storefront-body .brand-wordmark {
  display: inline-flex !important;
  color: currentColor !important;
  font-family: var(--brand-logo-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-rendering: geometricPrecision !important;
  text-transform: uppercase !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.storefront-body .brand-wordmark-line {
  display: block !important;
}

body.storefront-body .brand-wordmark-stacked {
  flex-direction: column !important;
  font-size: clamp(3.5rem, 9vw, 8rem) !important;
  line-height: 0.86 !important;
  letter-spacing: 0.018em !important;
}

body.storefront-body .brand-wordmark-compact {
  align-items: center !important;
  font-size: clamp(1.1rem, 1.55vw, 1.65rem) !important;
  line-height: 0.92 !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap !important;
}

body.storefront-body .brand-wordmark-inverted,
body.storefront-body .footer-brand .brand-wordmark {
  color: var(--brand-white) !important;
}

body.storefront-body .topbar.editorial-topbar .logo-copy .brand-wordmark,
body.storefront-home .topbar.editorial-topbar .logo-copy .brand-wordmark {
  max-width: none !important;
  color: var(--brand-black) !important;
  font-family: var(--brand-logo-font) !important;
  font-size: clamp(1.2rem, 1.65vw, 1.8rem) !important;
  font-weight: 700 !important;
  line-height: 0.92 !important;
  letter-spacing: 0.02em !important;
}

body.storefront-body .footer-brand strong {
  display: block !important;
}

body.storefront-body .footer-brand strong .brand-wordmark {
  font-size: clamp(0.95rem, 1.3vw, 1.25rem) !important;
  font-family: var(--brand-logo-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

body.storefront-body .footer-brand strong .brand-wordmark-line {
  color: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
}

@media (max-width: 760px) {
  body.storefront-body .topbar.editorial-topbar .logo-copy .brand-wordmark,
  body.storefront-home .topbar.editorial-topbar .logo-copy .brand-wordmark {
    font-size: clamp(0.92rem, 4.7vw, 1.25rem) !important;
    letter-spacing: 0.018em !important;
    white-space: normal !important;
  }
}

/* Pure-white Brand Pad update: white is the primary identity surface. */
html,
body.storefront-body,
body.logo-pad-page,
body.bookshelf-page,
body.assessments-page,
body.account-page,
body.recovery-page,
body.support-page,
body.legal-page,
body.storefront-body .site-shell,
body.storefront-body main,
body.storefront-body .site-shell > .topbar.editorial-topbar,
body.storefront-home .site-shell > .topbar.editorial-topbar,
body.storefront-body .bookshelf-room,
body.storefront-body .assessment-catalogue,
body.storefront-body .account-library,
body.storefront-body .recovery-panel,
body.storefront-body .support-content,
body.storefront-body .legal-content {
  background-color: var(--brand-white) !important;
  background-image: none !important;
}

body.storefront-body .logo-copy .brand-wordmark,
body.storefront-body .topbar.editorial-topbar .logo-copy .brand-wordmark,
body.storefront-home .topbar.editorial-topbar .logo-copy .brand-wordmark {
  color: var(--brand-black) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

body.storefront-body .logo-copy .brand-wordmark-compact,
body.storefront-body .topbar.editorial-topbar .logo-copy .brand-wordmark-compact,
body.storefront-home .topbar.editorial-topbar .logo-copy .brand-wordmark-compact {
  line-height: 0.92 !important;
}

body.storefront-body .brand-wordmark-stacked {
  font-weight: 700 !important;
  line-height: 0.86 !important;
  letter-spacing: 0.018em !important;
}

/* Course product pages keep the editorial serif treatment after brand overrides. */
body.storefront-body .course-product-copy h1,
body.storefront-body .course-product-inside h2,
body.storefront-body .course-related-section h2,
body.storefront-body .course-product-inside-row h3,
body.storefront-body .course-related-row h3 {
  font-family: var(--font-serif, "Cormorant Garamond", Georgia, serif) !important;
  font-weight: 520 !important;
  letter-spacing: -0.025em !important;
}

body.storefront-body .course-product-copy h1 {
  color: #000000 !important;
  overflow-wrap: normal;
}

body.storefront-body .course-product-inside h2,
body.storefront-body .course-product-inside-row h3 {
  color: #ffffff !important;
}

body.storefront-body .course-related-section h2,
body.storefront-body .course-related-row h3 {
  color: #000000 !important;
}

/* Book product pages keep the serif product-house treatment after brand overrides. */
body.book-product-page .book-product-copy h1,
body.book-product-page .book-product-editorial-head h2,
body.book-product-page .book-related-section h2,
body.book-product-page .book-product-info-row h3,
body.book-product-page .book-related-row h3 {
  font-family: var(--font-serif, "Cormorant Garamond", Georgia, serif) !important;
  font-weight: 520 !important;
  letter-spacing: -0.025em !important;
}

body.book-product-page .book-product-copy h1 {
  max-width: 10.8ch !important;
  overflow: visible !important;
  color: #000000 !important;
  font-size: clamp(4.1rem, 7.2vw, 8rem) !important;
  line-height: 0.88 !important;
  letter-spacing: -0.045em !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.book-product-page .book-product-editorial-head h2,
body.book-product-page .book-related-section h2,
body.book-product-page .book-product-info-row h3,
body.book-product-page .book-related-row h3 {
  color: #000000 !important;
}

@media (max-width: 640px) {
  body.course-product-page .site-shell {
    width: 100% !important;
    max-width: 100vw !important;
  }

  body.storefront-body .course-product-stage,
  body.storefront-body .course-product-inside,
  body.storefront-body .course-related-section {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.storefront-body .course-product-copy,
  body.storefront-body .course-product-lede,
  body.storefront-body .course-product-account-note,
  body.storefront-body .course-product-meta,
  body.storefront-body .course-product-cta {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.storefront-body .course-product-copy h1 {
    font-size: clamp(2.9rem, 11.5vw, 3.7rem) !important;
    line-height: 0.94 !important;
  }

  body.book-product-page .book-product-copy h1 {
    max-width: 100% !important;
    font-size: clamp(3rem, 15vw, 4.8rem) !important;
    line-height: 0.92 !important;
    letter-spacing: -0.035em !important;
  }

  body.storefront-body .course-product-lede,
  body.storefront-body .course-product-account-note {
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.storefront-body .course-product-cta .button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  body.storefront-body .course-product-visual {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.storefront-body .course-product-visual img {
    width: 100% !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }
}
