/**
 * AIC Summit design-system foundation — 1.80.0
 *
 * This layer intentionally sits after the preserved visual cascade. It does not
 * redesign existing components. It names the dimensions already in use and
 * supplies shared structural rules for future work, plus safe alignment rules
 * where equivalent components had drifted.
 */
:root {
  /* 4px spacing grid. Existing compositions retain their current values; new
     and revised components should use these tokens rather than one-off gaps. */
  --aic-space-0: 0;
  --aic-space-1: 4px;
  --aic-space-2: 8px;
  --aic-space-3: 12px;
  --aic-space-4: 16px;
  --aic-space-5: 20px;
  --aic-space-6: 24px;
  --aic-space-8: 32px;
  --aic-space-10: 40px;
  --aic-space-12: 48px;
  --aic-space-16: 64px;
  --aic-space-20: 80px;
  --aic-space-24: 96px;
  --aic-space-30: 120px;
  --aic-space-40: 160px;

  /* Typography roles derived from the established site, not a new scale. */
  /* Licensed families only. No browser/system family is part of the design system. */
  --aic-serif: "GT Alpina";
  --aic-sans: "GT Planar VF";
  --aic-font-display: var(--aic-serif);
  --aic-font-body: var(--aic-sans);
  --aic-leading-display: .88;
  --aic-leading-heading: 1;
  --aic-leading-body: 1.5;
  --aic-leading-meta: 1.2;
  --aic-tracking-display: -.05em;
  --aic-tracking-body: -.01em;
  --aic-tracking-meta: .14em;

  /* Layout rails preserve the dimensions already established in the theme. */
  --aic-container-wide: var(--aic-max, 1540px);
  --aic-container-standard: var(--max, 1480px);
  --aic-page-gutter: var(--aic-pad, max(4vw, 24px));
  --aic-control-height: 54px;
  --aic-rule: 1px solid var(--line);
}

/* Predictable inheritance across native UI without changing its visual design. */
button,
input,
select,
textarea {
  font-family: inherit;
  letter-spacing: inherit;
}

/* Reusable structure for all new or intentionally migrated sections. */
.aic-container,
.aic-container--wide {
  width: min(100% - (2 * var(--aic-page-gutter)), var(--aic-container-wide));
  margin-inline: auto;
}
.aic-container--standard {
  width: min(100% - (2 * var(--aic-page-gutter)), var(--aic-container-standard));
  margin-inline: auto;
}
.aic-stack { display: flex; flex-direction: column; gap: var(--aic-space-6); }
.aic-cluster { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--aic-space-4); }
.aic-grid { display: grid; gap: var(--aic-space-6); }
.aic-baseline-row { display: flex; align-items: baseline; }

/* Shared metadata rhythm. Selectors are limited to small supporting copy and
   preserve any component-specific font size already won by the legacy layer. */
.aic-kicker,
.aic-result-batch-v19__date,
.aic-result-batch-v19__mobile-date,
.aic-result-batch-v19__count,
.aic-strain-facts dt,
.aic-footer-bottom {
  line-height: var(--aic-leading-meta);
}

/* Batch header: retain the perfected horizontal grid and type sizes while
   enforcing one real baseline for the title, date, and +/× control. */
@media (max-width: 600px) {
  .aic-result-batch-v19__toggle {
    align-items: baseline !important;
  }
  .aic-result-batch-v19__toggle > strong,
  .aic-result-batch-v19__toggle > .aic-result-batch-v19__count,
  .aic-result-batch-v19__mobile-date,
  .aic-result-batch-v19__count b {
    align-self: baseline !important;
    line-height: 1 !important;
    vertical-align: baseline !important;
  }
  .aic-result-batch-v19__toggle > .aic-result-batch-v19__count {
    display: inline-flex !important;
    align-items: baseline !important;
  }
}

/* Accessibility rhythm: keyboard focus is consistent without altering mouse UI. */
:where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
  }
}


/* RC4.4 — semantic cultivar-facts grid.
 * Core facts keep fixed positions even when optional fields are hidden. This
 * prevents nth-child flow from moving Type/Experience between columns.
 */
.aic-strain-facts-v15--semantic {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.aic-strain-facts-v15--semantic > .aic-strain-facts-v15__fact {
  padding-left: 0;
  padding-right: 0;
  border-left: 0;
}
.aic-strain-facts-v15--semantic > .aic-strain-facts-v15__fact--breeder {
  grid-column: 1;
  grid-row: 1;
  padding-right: 22px;
}
.aic-strain-facts-v15--semantic > .aic-strain-facts-v15__fact--type {
  grid-column: 2;
  grid-row: 1;
  padding-left: 22px;
  border-left: 1px solid var(--aic-line);
}
.aic-strain-facts-v15--semantic > .aic-strain-facts-v15__fact--experience {
  grid-column: 1;
  grid-row: 2;
  padding-right: 22px;
}
.aic-strain-facts-v15--semantic > .aic-strain-facts-v15__fact--flavor {
  grid-column: 1;
  grid-row: 3;
  padding-right: 22px;
}
.aic-strain-facts-v15--semantic > .aic-strain-facts-v15__fact--thca {
  grid-column: 1;
  grid-row: 4;
  padding-right: 22px;
}
.aic-strain-facts-v15--semantic > .aic-strain-facts-v15__fact--cannabinoids {
  grid-column: 2;
  grid-row: 4;
  padding-left: 22px;
  border-left: 1px solid var(--aic-line);
}
@media (max-width: 760px) {
  .aic-strain-facts-v15--semantic > .aic-strain-facts-v15__fact {
    grid-column: 1 !important;
    grid-row: auto !important;
    padding-left: 0;
    padding-right: 0;
    border-left: 0;
  }
}

/* RC4.5 — badge artwork must always preserve its full intrinsic silhouette. */
.aic-cultivars-v15 .aic-cultivar-card-v15--badge-only .aic-cultivar-card-v15__media,
.aic-brand-page-v15 .aic-cultivar-card-v15--badge-only .aic-cultivar-card-v15__media,
.aic-cultivars-v15 .aic-cultivar-card--badge-only .aic-cultivar-card__media,
.aic-brand-page-v15 .aic-cultivar-card--badge-only .aic-cultivar-card__media{
  aspect-ratio:auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  padding:clamp(8px,1vw,18px)!important;
}
.aic-cultivars-v15 .aic-cultivar-card-v15--badge-only .aic-cultivar-card-v15__media img,
.aic-brand-page-v15 .aic-cultivar-card-v15--badge-only .aic-cultivar-card-v15__media img,
.aic-cultivars-v15 .aic-cultivar-card--badge-only .aic-cultivar-card__media img,
.aic-brand-page-v15 .aic-cultivar-card--badge-only .aic-cultivar-card__media img{
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* RC5.3 — licensed typography enforcement.
 * The historical visual cascade contains old system-font declarations. Keep
 * those as archive history, but make the final computed type system explicit:
 * GT Planar for interface/body copy and GT Alpina for display typography. */
/* RC5.7 — hard licensed-font boundary. Every theme-owned text node inherits
 * GT Planar unless it is explicitly assigned the GT Alpina display role below.
 * The WordPress admin toolbar is intentionally outside these roots so Dashicons
 * remain functional for logged-in administrators. */
body,
.aic-site-header,
.aic-menu-drawer,
.aic-age-gate,
main,
.aic-site-footer,
.aic-site-header *,
.aic-menu-drawer *,
.aic-age-gate *,
main *,
.aic-site-footer *,
button,
input,
select,
textarea {
  font-family: var(--aic-sans) !important;
}
.aic-site-header *::before,
.aic-site-header *::after,
.aic-menu-drawer *::before,
.aic-menu-drawer *::after,
.aic-age-gate *::before,
.aic-age-gate *::after,
main *::before,
main *::after,
.aic-site-footer *::before,
.aic-site-footer *::after {
  font-family: inherit !important;
}
h1,h2,h3,h4,h5,h6,
.aic-footer-mark-v15,
.aic-footer-v19__identity strong,
.aic-about-v19__lead,
.aic-brand-archive-hero h1,
.aic-brand-archive-intro h2,
.aic-strain-v15__info h1,
.aic-legacy-info-v15__copy h1,
.aic-selected-results-v19__head h1 {
  font-family: var(--aic-serif) !important;
  font-synthesis: none;
}


/* RC6.0 — typography role correction.
 * GT Planar owns navigation, utility copy, labels, metadata, controls, filters,
 * table/directory headers, compact links, and other small text. GT Alpina is
 * reserved for actual display typography rather than being applied merely
 * because an element happens to be a heading. */
.aic-site-header,
.aic-site-header *,
.aic-menu-drawer,
.aic-menu-drawer *,
.aic-menu-index-v17,
.aic-menu-index-v17 *,
.aic-menu-table-v17,
.aic-menu-table-v17 *,
.aic-menu-contents-v17,
.aic-menu-contents-v17 *,
.aic-menu-about-v17,
.aic-menu-about-v17 *,
.aic-menu-credits-v59,
.aic-menu-credits-v59 *,
.aic-kicker,
.aic-cultivars-toolbar-v19,
.aic-cultivars-toolbar-v19 *,
.aic-cultivar-filters-v19,
.aic-cultivar-filters-v19 *,
.aic-lab-toolbar-v19,
.aic-lab-toolbar-v19 *,
.aic-lab-filters-v19,
.aic-lab-filters-v19 *,
.aic-lab-directory-v19__head,
.aic-lab-directory-v19__head *,
.aic-lab-directory-v19__row,
.aic-lab-directory-v19__row *,
.aic-result-table-v19__head,
.aic-result-table-v19__head *,
.aic-result-batch-v19,
.aic-result-batch-v19 *,
.aic-selected-results-v19__head > a,
.aic-selected-results-v19__meta,
.aic-selected-results-v19__meta *,
.aic-strain-facts-v15 dt,
.aic-legacy-info-v15 dt,
.aic-brand-filter-v15,
.aic-brand-filter-v15 *,
.aic-brand-directory-filter,
.aic-brand-directory-filter *,
.aic-inline-glyph,
label,
button,
input,
select,
textarea {
  font-family: var(--aic-sans) !important;
  font-synthesis: none;
}

/* Compact textual headings are interface labels, not display headlines. */
.aic-menu-drawer h1,
.aic-menu-drawer h2,
.aic-menu-drawer h3,
.aic-menu-drawer h4,
.aic-menu-drawer h5,
.aic-menu-drawer h6,
.aic-lab-toolbar-v19 h2,
.aic-lab-toolbar-v19 h3,
.aic-lab-directory-v19 h2,
.aic-lab-directory-v19 h3,
.aic-cultivars-toolbar-v19 h2,
.aic-cultivars-toolbar-v19 h3 {
  font-family: var(--aic-sans) !important;
  font-synthesis: none;
}

/* True display roles retain GT Alpina. */
h1,
.aic-page-head-v15 h1,
.aic-page-head-v19 h1,
.aic-page-hero h1,
.aic-home-hero-v15__content h1,
.aic-home-find-v15__copy h2,
.aic-about-v19__title h1,
.aic-about-v19__lead,
.aic-brand-archive-hero h1,
.aic-brand-archive-intro h2,
.aic-strain-v15__info h1,
.aic-legacy-info-v15__copy h1,
.aic-selected-results-v19__head h1,
.aic-footer-mark-v15,
.aic-footer-v19__identity strong {
  font-family: var(--aic-serif) !important;
  font-synthesis: none;
}

/* About and Lab Results are intentionally restored to their established light
 * surfaces; no RC5.3 dark-page body classes are emitted anymore. */


/* RC6.1 — definitive type-role correction.
 * Small text is Planar regardless of semantic tag. Headings do NOT imply
 * display typography. Alpina is opt-in only for explicit large display roles. */
.aic-site-header,
.aic-site-header *,
.aic-menu-drawer,
.aic-menu-drawer *,
main,
main *,
.aic-site-footer,
.aic-site-footer *,
.aic-age-gate,
.aic-age-gate *,
button,
input,
select,
textarea,
label,
h1,h2,h3,h4,h5,h6,
p,small,dt,dd,li,a,span,strong,b,em {
  font-family: var(--aic-sans) !important;
}

/* Navigation + expanded catalogue: every textual element is interface type. */
.aic-header-primary,
.aic-header-primary *,
.aic-menu-drawer,
.aic-menu-drawer *,
.aic-menu-index-v17,
.aic-menu-index-v17 *,
.aic-menu-table-v17,
.aic-menu-table-v17 *,
.aic-menu-contents-v17,
.aic-menu-contents-v17 *,
.aic-menu-about-v17,
.aic-menu-about-v17 *,
.aic-menu-credits-v59,
.aic-menu-credits-v59 * {
  font-family: var(--aic-sans) !important;
  font-synthesis: none;
}

/* Utility / taxonomy / search / directory copy stays Planar even when markup
 * uses headings or strong tags for structure. */
.aic-kicker,
.aic-catalog-toolbar-v15,
.aic-catalog-toolbar-v15 *,
.aic-catalog-filters-v15,
.aic-catalog-filters-v15 *,
.aic-cultivars-toolbar-v19,
.aic-cultivars-toolbar-v19 *,
.aic-cultivar-filters-v19,
.aic-cultivar-filters-v19 *,
.aic-lab-toolbar-v19,
.aic-lab-toolbar-v19 *,
.aic-lab-filters-v19,
.aic-lab-filters-v19 *,
.aic-lab-directory-v19__head,
.aic-lab-directory-v19__head *,
.aic-lab-row-v19,
.aic-lab-row-v19 *,
.aic-lab-table-v19__head,
.aic-lab-table-v19__head *,
.aic-result-table-v19__head,
.aic-result-table-v19__head *,
.aic-result-batch-v19,
.aic-result-batch-v19 *,
.aic-selected-results-v19__head > a,
.aic-selected-results-v19__meta,
.aic-selected-results-v19__meta *,
.aic-strain-facts-v15 dt,
.aic-strain-facts-v15 dd,
.aic-legacy-info-v15 dt,
.aic-brand-filter-v15,
.aic-brand-filter-v15 *,
.aic-brand-directory-filter,
.aic-brand-directory-filter *,
.aic-inline-glyph,
.aic-button,
.aic-button *,
.aic-footer-v19__contact,
.aic-footer-v19__contact *,
.aic-footer-v19__legal,
.aic-footer-v19__legal * {
  font-family: var(--aic-sans) !important;
  font-synthesis: none;
}

/* Alpina is opt-in display typography only. */
.aic-page-head-v14 h1,
.aic-page-head-v15 h1,
.aic-page-head-v19 h1,
.aic-page-hero h1,
.aic-home-hero-v15__content h1,
.aic-home-find-v15__copy h2,
.aic-home-brand-v15__logo strong,
.aic-about-v19__title h1,
.aic-about-v19__lead,
.aic-brand-head-v15__copy h1,
.aic-brand-head-v15__logo strong,
.aic-brand-archive-hero h1,
.aic-brand-archive-intro h2,
.aic-cultivar-card h2,
.aic-cultivar-card-v14 h2,
.aic-cultivar-card-v15 h2,
.aic-strain-v15__info h1,
.aic-legacy-info-v15__copy h1,
.aic-selected-results-v19__head h1,
.aic-contact-v15__layout h1,
.aic-footer-mark-v15,
.aic-footer-v19__identity strong,
.aic-404 h1 {
  font-family: var(--aic-serif) !important;
  font-synthesis: none;
}


/* RC6.6 — upright typography baseline. Planar's VF has a slnt axis; functional
 * and body typography is locked to 0deg. Alpina is upright by default too. */
body, .aic-site-header, .aic-menu-drawer, .aic-age-gate, main, .aic-site-footer,
.aic-site-header *, .aic-menu-drawer *, .aic-age-gate *, main *, .aic-site-footer *,
button, input, select, textarea, label {
  font-style: normal !important;
  font-synthesis: none !important;
}
body, .aic-site-header *, .aic-menu-drawer *, .aic-age-gate *, main *, .aic-site-footer *,
button, input, select, textarea, label {
  font-variation-settings: "slnt" 0 !important;
}

/* Display Alpina is upright for the clean baseline. */
h1, .aic-page-head-v14 h1, .aic-page-head-v15 h1, .aic-page-head-v19 h1,
.aic-page-hero h1, .aic-home-hero-v15__content h1, .aic-home-find-v15__copy h2,
.aic-home-brand-v15__logo strong, .aic-about-v19__title h1, .aic-about-v19__lead,
.aic-brand-head-v15__copy h1, .aic-brand-head-v15__logo strong, .aic-brand-archive-hero h1,
.aic-brand-archive-intro h2, .aic-cultivar-card h2, .aic-cultivar-card-v14 h2,
.aic-cultivar-card-v15 h2, .aic-strain-v15__info h1, .aic-legacy-info-v15__copy h1,
.aic-selected-results-v19__head h1, .aic-contact-v15__layout h1, .aic-footer-mark-v15,
.aic-footer-v19__identity strong, .aic-404 h1 {
  font-family: var(--aic-serif) !important;
  font-style: normal !important;
  font-variation-settings: normal !important;
}

/* Wordmark exception: AIC = Alpina Regular; Cultivators = Alpina Regular Italic. */
.aic-site-logo__type, .aic-site-logo__type > span, .aic-site-logo__type > em {
  font-family: var(--aic-serif) !important;
  font-synthesis: none !important;
  font-variation-settings: normal !important;
}
.aic-site-logo__type > span { font-style: normal !important; font-weight: 400 !important; }
.aic-site-logo__type > em { font-style: italic !important; font-weight: 400 !important; }

/* RC6.7 — calibrated type hierarchy + intentional motion */
:root{
  --aic-ui-thin:300;
  --aic-ui-light:350;
  --aic-ui-regular:400;
  --aic-ui-medium:500;
}

/* Expanded directory: light featured data, regular on interaction. */
.aic-menu-table-v17__row,
.aic-menu-table-v17__row span,
.aic-menu-table-v17__more{
  font-family:var(--aic-sans)!important;
  font-weight:var(--aic-ui-thin)!important;
  font-style:normal!important;
  font-variation-settings:"slnt" 0!important;
  transition:font-weight .16s ease, background-color .16s ease, color .16s ease, padding-left .16s ease;
}
.aic-menu-table-v17__row:hover,
.aic-menu-table-v17__row:focus-visible,
.aic-menu-table-v17__row:hover span,
.aic-menu-table-v17__row:focus-visible span{
  font-weight:var(--aic-ui-regular)!important;
}
.aic-menu-table-v17__columns span,
.aic-menu-contents-v17__heading strong{
  font-family:var(--aic-sans)!important;
  font-weight:var(--aic-ui-medium)!important;
  font-style:normal!important;
  font-variation-settings:"slnt" 0!important;
}
.aic-menu-contents-v17__heading,
.aic-menu-contents-v17{
  padding-left:0!important;
}
.aic-menu-contents-v17__heading strong,
.aic-menu-contents-v17 a{margin-left:0!important;}

/* Type credit: each family demonstrates itself, upright. */
.aic-menu-credit-v59--type span,
.aic-menu-credit-v59--type span > *{font-style:normal!important;}
.aic-menu-credit-v59--type span{font-family:var(--aic-sans)!important;}
.aic-menu-credit-v59--type em{
  font-family:var(--aic-serif)!important;
  font-style:normal!important;
  font-variation-settings:normal!important;
}

/* About: quieter body; intentional forward-slant pull quote. */
.aic-about-v19__copy,
.aic-about-v19__copy p{
  font-family:var(--aic-sans)!important;
  font-weight:var(--aic-ui-light)!important;
  font-style:normal!important;
  font-variation-settings:"slnt" 0!important;
}
.aic-about-v19__lead,
.aic-about-v19__lead span{
  font-family:var(--aic-sans)!important;
  font-weight:var(--aic-ui-regular)!important;
  font-style:normal!important;
  font-variation-settings:"slnt" 15!important;
}

/* Brand descriptions: Planar in the directory/home system; Alpina on brand pages. */
.aic-cultivars-v15 .aic-brand-overview-v15 p,
.aic-home-brand-v15__copy p{
  font-family:var(--aic-sans)!important;
  font-weight:var(--aic-ui-thin)!important;
  font-style:normal!important;
  font-variation-settings:"slnt" 0!important;
}
.aic-brand-page-v15 .aic-brand-head-v15__copy p,
.aic-brand-archive .aic-brand-archive-intro p,
.aic-brand-archive .aic-brand-archive-hero__tagline{
  font-family:var(--aic-serif)!important;
  font-weight:400!important;
  font-style:normal!important;
  font-variation-settings:normal!important;
}

/* Contact fields: lighter Planar, including WPForms labels/inputs. */
.aic-contact-v15__form label,
.aic-contact-v15__form input,
.aic-contact-v15__form textarea,
.aic-contact-v15__form select,
.aic-contact-v15__form .wpforms-field-label,
.aic-contact-v15__form .wpforms-field-description{
  font-family:var(--aic-sans)!important;
  font-weight:var(--aic-ui-light)!important;
  font-style:normal!important;
  font-variation-settings:"slnt" 0!important;
}

/* Lab directory: lighter rows, regular on hover/focus. */
.aic-lab-row-v19,
.aic-lab-row-v19 strong,
.aic-lab-row-v19 span{
  font-family:var(--aic-sans)!important;
  font-weight:var(--aic-ui-light)!important;
  font-style:normal!important;
  font-variation-settings:"slnt" 0!important;
  transition:font-weight .16s ease, background-color .16s ease, color .16s ease;
}
.aic-lab-row-v19:hover,
.aic-lab-row-v19:focus-visible,
.aic-lab-row-v19:hover strong,
.aic-lab-row-v19:hover span,
.aic-lab-row-v19:focus-visible strong,
.aic-lab-row-v19:focus-visible span{
  font-weight:var(--aic-ui-regular)!important;
}

/* Individual result page: lightweight data, stronger column titles. */
.aic-selected-results-v19__head h1{
  transition:transform .2s ease;
}
.aic-selected-results-v19__head h1:hover{
  font-style:italic!important;
  transform:translateX(.025em);
}
.aic-result-batch-v19__toggle,
.aic-result-batch-v19__toggle strong,
.aic-result-batch-v19__toggle span,
.aic-result-document-v19{
  font-family:var(--aic-sans)!important;
  font-weight:var(--aic-ui-light)!important;
  font-style:normal!important;
  font-variation-settings:"slnt" 0!important;
}
.aic-result-table-v19__head,
.aic-result-table-v19__head span{
  font-family:var(--aic-sans)!important;
  font-weight:var(--aic-ui-medium)!important;
  font-style:normal!important;
  font-variation-settings:"slnt" 0!important;
}

/* Cultivar detail description is deliberately quieter than facts/controls. */
.aic-strain-v15__description,
.aic-strain-v15__description p,
.aic-legacy-info-v15__copy .aic-strain-v15__description,
.aic-legacy-info-v15__copy > p{
  font-family:var(--aic-sans)!important;
  font-weight:var(--aic-ui-light)!important;
  font-style:normal!important;
  font-variation-settings:"slnt" 0!important;
}

/* Masthead words use the Planar slnt axis interactively. */
.aic-menu-masthead-word{
  font-family:var(--aic-sans)!important;
  font-style:normal!important;
  font-weight:400!important;
  font-variation-settings:"slnt" var(--masthead-slnt,0)!important;
  transition:opacity .42s ease, transform .62s cubic-bezier(.22,.72,.18,1), clip-path .62s cubic-bezier(.22,.72,.18,1), font-variation-settings .12s linear!important;
}
@media (prefers-reduced-motion:reduce){.aic-menu-masthead-word{--masthead-slnt:0!important;}}

/* RC6.8: Homepage Find Us display title is an intentional Alpina italic accent. */
.aic-home-find-v15__copy h2{
  font-family:var(--aic-serif)!important;
  font-weight:400!important;
  font-style:italic!important;
  font-variation-settings:normal!important;
}


/* RC6.9 — menu, directory and canonical-link consistency. */
/* Typeface credit demonstrates Alpina in its intended italic face. */
.aic-menu-credit-v59--type em{
  font-family:var(--aic-serif)!important;
  font-style:italic!important;
  font-weight:400!important;
  font-variation-settings:normal!important;
}

/* Lab Results directory: headers are medium; rows remain light even on hover.
   Hover is communicated by the brand-colour surface only, not a weight jump. */
.aic-lab-table-v19__head,
.aic-lab-table-v19__head span{
  font-family:var(--aic-sans)!important;
  font-weight:500!important;
  font-style:normal!important;
  font-variation-settings:"slnt" 0!important;
}
.aic-lab-row-v19,
.aic-lab-row-v19 strong,
.aic-lab-row-v19 span,
.aic-lab-row-v19:hover,
.aic-lab-row-v19:focus-visible,
.aic-lab-row-v19:hover strong,
.aic-lab-row-v19:hover span,
.aic-lab-row-v19:focus-visible strong,
.aic-lab-row-v19:focus-visible span{
  font-weight:350!important;
}


/* RC7.0 — mobile cultivar economy + brand typography rhythm. */
/* The badge already carries the cultivar name on phones; keep the facts and
   lineage visible without spending another large title block of vertical space. */
@media (max-width:820px){
  .aic-strain-v15__info > h1,
  .aic-legacy-info-v15__copy > h1{
    display:none!important;
  }
}

/* Individual brand landing pages keep the editorial Alpina italic voice. */
.aic-brand-page-v15 .aic-brand-head-v15__copy--description-only p{
  font-family:var(--aic-serif)!important;
  font-style:italic!important;
  font-weight:400!important;
  font-variation-settings:normal!important;
}

/* Homepage brand blurbs stay light Planar. Happy Trails and Lift Ticket get a
   little more measure so their wrapping matches Black Mountain's visual rhythm. */
.aic-home-brand-v15__copy p{
  font-family:var(--aic-sans)!important;
  font-style:normal!important;
  font-weight:300!important;
  font-variation-settings:"slnt" 0!important;
}
.aic-home-brand-v15[data-brand="happy-trails"] .aic-home-brand-v15__copy p,
.aic-home-brand-v15[data-brand="lift-ticket"] .aic-home-brand-v15__copy p{
  max-width:44ch!important;
}
.aic-home-brand-v15[data-brand="black-mountain"] .aic-home-brand-v15__copy p{
  max-width:35ch!important;
}

/* RC7.5 — hover precision, marker-like About highlight, homepage copy measure. */
/* Individual Lab Results cultivar title only reacts when the pointer is over
   the visible text, not the full heading/grid cell. */
.aic-selected-results-v19__head h1{
  display:inline-block!important;
  width:fit-content!important;
  max-width:100%!important;
  font-style:normal!important;
  font-variation-settings:"slnt" 0!important;
}
.aic-selected-results-v19__head h1:hover{
  font-style:normal!important;
  font-variation-settings:"slnt" 15!important;
}
/* Directory strain names get the same direct-text-only slant behavior. */
.aic-lab-row-v19 > strong{
  display:inline-block;
  width:fit-content;
  font-style:normal!important;
  font-variation-settings:"slnt" 0!important;
  transition:font-variation-settings .16s ease, background-color .16s ease, color .16s ease;
}
.aic-lab-row-v19 > strong:hover{
  font-style:normal!important;
  font-variation-settings:"slnt" 15!important;
}

/* About pull quote: a marker stroke behind the middle/lower body of each line,
   not a full-height rectangular block. */
.aic-about-v19__lead span{
  background-image:linear-gradient(
    to bottom,
    transparent 0 43%,
    color-mix(in srgb,var(--aic-orange,#ef8126) 42%,transparent) 43% 88%,
    transparent 88% 100%
  )!important;
  padding:.02em .14em .06em!important;
  line-height:1.58!important;
}
/* Selected text on About should read as translucent marker ink rather than a
   solid orange slab. */
.aic-about-v19 ::selection{
  background:color-mix(in srgb,var(--aic-orange,#ef8126) 34%,transparent)!important;
  color:inherit!important;
}
.aic-about-v19 ::-moz-selection{
  background:rgba(239,129,38,.34)!important;
  color:inherit!important;
}

/* Homepage brand copy: force the two shorter measures wider instead of merely
   raising max-width; Black Mountain keeps its established measure. */
.aic-home-brand-v15[data-brand="happy-trails"] .aic-home-brand-v15__copy p,
.aic-home-brand-v15[data-brand="lift-ticket"] .aic-home-brand-v15__copy p,
.aic-home-brand-grid-v15 > .aic-home-brand-v15:nth-child(2) .aic-home-brand-v15__copy p,
.aic-home-brand-grid-v15 > .aic-home-brand-v15:nth-child(3) .aic-home-brand-v15__copy p{
  width:min(43ch,100%)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.aic-home-brand-v15[data-brand="black-mountain"] .aic-home-brand-v15__copy p,
.aic-home-brand-grid-v15 > .aic-home-brand-v15:nth-child(1) .aic-home-brand-v15__copy p{
  width:min(35ch,100%)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
\n\n/* RC7.7 — deterministic menu population + controlled homepage brand copy. */\n@media (min-width:821px){\n  .aic-home-brand-v15__description--controlled{\n    width:auto!important;\n    max-width:none!important;\n  }\n  .aic-home-brand-v15__description--controlled > span{\n    display:block;\n    white-space:nowrap;\n  }\n}\n@media (max-width:820px){\n  .aic-home-brand-v15__description--controlled > span{display:inline;}\n  .aic-home-brand-v15__description--controlled > span + span::before{content:" ";}\n}\n
/* RC7.10 — Lab Results hover timing + detail-title interaction. */
/* Individual result-page cultivar name is Alpina display type; use the actual
   italic face on direct text hover instead of the Planar variable slnt axis. */
.aic-selected-results-v19__head h1,
.aic-selected-results-v19__head h2{
  display:inline-block!important;
  width:fit-content!important;
  max-width:100%!important;
  font-style:normal!important;
  font-variation-settings:normal!important;
  cursor:default;
  transition:font-style .12s ease, transform .12s ease!important;
}
.aic-selected-results-v19__head h1:hover,
.aic-selected-results-v19__head h2:hover{
  font-style:italic!important;
  font-variation-settings:normal!important;
  transform:translateX(.018em);
}

/* Main Lab Results directory: the white type is the primary hover cue. The
   brand-colour fill arrives a beat later and at reduced intensity. */
.aic-lab-row-v19{
  background-color:transparent!important;
  transition:color .08s ease 0s, background-color .18s ease .07s, padding-left .18s ease!important;
}
.aic-lab-row-v19:hover,
.aic-lab-row-v19:focus-visible{
  color:#fff!important;
  background-color:color-mix(in srgb,var(--row-color) 72%,transparent)!important;
}
.aic-lab-row-v19 strong,
.aic-lab-row-v19 span{
  color:inherit!important;
  transition:color .08s ease 0s, font-variation-settings .14s ease!important;
}

/* RC7.12 — About pull quote repair.
 * Older motion CSS made the quote transparent/cream and animated a full-height
 * background. Keep this editorial moment stable: dark text with a restrained
 * translucent marker stroke behind each wrapped line. */
.aic-about-v19__lead,
.aic-about-v19__lead span,
html.aic-motion-enabled .aic-about-v19__opening[data-page-motion] .aic-about-v19__lead span,
html.aic-motion-enabled .aic-about-v19__opening[data-page-motion].is-motion-visible .aic-about-v19__lead span {
  color: var(--aic-ink, #102820) !important;
  opacity: 1 !important;
  transition: none !important;
}
.aic-about-v19__lead span,
html.aic-motion-enabled .aic-about-v19__opening[data-page-motion] .aic-about-v19__lead span,
html.aic-motion-enabled .aic-about-v19__opening[data-page-motion].is-motion-visible .aic-about-v19__lead span {
  display: inline !important;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  background-image: linear-gradient(
    to bottom,
    transparent 0 56%,
    rgba(239, 129, 38, .24) 56% 88%,
    transparent 88% 100%
  ) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  background-position: 0 0 !important;
  padding: 0 .08em .03em !important;
  line-height: 1.58 !important;
}
.aic-about-v19 ::selection {
  background: rgba(239, 129, 38, .28) !important;
  color: var(--aic-ink, #102820) !important;
}
.aic-about-v19 ::-moz-selection {
  background: rgba(239, 129, 38, .28) !important;
  color: var(--aic-ink, #102820) !important;
}

/* RC7.13 — global badge authority + mobile Lab Result detail rhythm. */
/* Mobile result detail should share the same page gutter and calm vertical
   rhythm as the main Lab Results directory instead of looking like a separate
   inset panel. */
@media (max-width:820px){
  .aic-lab-v19--detail .aic-lab-directory-v19{
    padding-top:calc(var(--nav-h) + var(--aic-mobile-directory-gap,9px))!important;
    padding-left:clamp(18px,4.3vw,36px)!important;
    padding-right:clamp(18px,4.3vw,36px)!important;
  }
  .aic-lab-v19--detail .aic-selected-results-v19{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .aic-lab-v19--detail .aic-selected-results-v19__head{
    width:100%!important;
    margin:0 0 22px!important;
    padding:0!important;
    border:0!important;
    min-height:0!important;
    grid-template-columns:1fr auto!important;
    grid-template-rows:auto auto!important;
    gap:12px 18px!important;
    align-items:end!important;
  }
  .aic-lab-v19--detail .aic-selected-results-v19__head>a:first-child{
    grid-column:1!important;
    grid-row:1!important;
  }
  .aic-lab-v19--detail .aic-selected-results-v19__head>a:last-child,
  .aic-lab-v19--detail .aic-legacy-results-v19 .aic-selected-results-v19__head>a:last-child{
    grid-column:2!important;
    grid-row:1!important;
    text-align:right!important;
  }
  .aic-lab-v19--detail .aic-selected-results-v19__head h1,
  .aic-lab-v19--detail .aic-selected-results-v19__head h2{
    grid-column:1 / -1!important;
    grid-row:2!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(2.25rem,10vw,3rem)!important;
    line-height:.98!important;
  }
  .aic-lab-v19--detail .aic-result-table-v19--batches{
    width:100%!important;
    margin:0!important;
    border-top:1px solid var(--aic-rule)!important;
  }
  .aic-lab-v19--detail .aic-result-batch-v19__toggle{
    min-height:0!important;
    padding:16px 12px!important;
    margin:0!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:baseline!important;
  }
  .aic-lab-v19--detail .aic-result-batch-v19__toggle > strong{
    font-size:1rem!important;
    line-height:1.15!important;
  }
  .aic-lab-v19--detail .aic-result-batch-v19__count{
    font-size:.82rem!important;
    gap:7px!important;
  }
  .aic-lab-v19--detail .aic-result-batch-v19__documents{
    padding:0 12px 14px!important;
  }
}

@media (max-width:600px){
  .aic-lab-v19--detail .aic-result-batch-v19__toggle{
    padding-top:14px!important;
    padding-bottom:14px!important;
  }
}


/* RC7.14 — restore Clones result product + exact expanded-menu column rail. */
@media (min-width:821px){
  /* Cultivators masthead starts on the exact same rail as Contents + links. */
  .aic-menu-masthead-word--cultivators{padding-left:0!important;}
  .aic-menu-contents-v17__heading strong{white-space:pre!important;}
}

/* RC7.15 — restore the earlier green About pull-quote panel and tighten story rhythm. */
.aic-about-v19__lead{
  align-self:center!important;
  justify-self:center!important;
  display:block!important;
  min-height:0!important;
  max-width:34ch!important;
  margin:0!important;
  padding:clamp(22px,2.6vw,38px) clamp(24px,3vw,42px)!important;
  background:var(--aic-ink,#102820)!important;
  color:var(--aic-cream,#f4eedf)!important;
  text-align:center!important;
}
.aic-about-v19__lead span,
html.aic-motion-enabled .aic-about-v19__opening[data-page-motion] .aic-about-v19__lead span,
html.aic-motion-enabled .aic-about-v19__opening[data-page-motion].is-motion-visible .aic-about-v19__lead span{
  display:inline!important;
  padding:0!important;
  background:none!important;
  background-image:none!important;
  color:var(--aic-cream,#f4eedf)!important;
  opacity:1!important;
  transition:none!important;
  -webkit-box-decoration-break:slice!important;
  box-decoration-break:slice!important;
}
.aic-about-v19__body{
  padding-top:clamp(18px,2vw,28px)!important;
  padding-bottom:clamp(24px,3vw,40px)!important;
}
.aic-about-v19__copy p:first-child{margin-top:0!important;}
.aic-about-v19__copy p:last-child{margin-bottom:0!important;}

@media (max-width:820px){
  .aic-about-v19__lead{
    max-width:none!important;
    width:100%!important;
    padding:22px 20px!important;
  }
  .aic-about-v19__body{
    padding-top:18px!important;
    padding-bottom:28px!important;
  }
}


/* RC7.16 — unified light surface, About marker/body scale, profile-route consistency. */
:root{--aic-light-surface:#fefaf1;}

/* All intentionally light templates share one paper color. Dark catalogue,
   contact, brand and menu surfaces retain their established dark treatments. */
body.aic-summit:not(.aic-catalog-surface){background:var(--aic-light-surface)!important;}
.aic-about-v19,
.aic-strain-v15,
.aic-lab-v19,
.aic-lab-v19--detail,
.aic-selected-results-v19,
.aic-legacy-results-v19,
.aic-page-head-v19,
.aic-page-head-v15{
  background:var(--aic-light-surface)!important;
}

/* About: restore the earlier green marker/highlighter, line by line — not a
   single green panel and not the orange text-selection experiment. */
.aic-about-v19__lead{
  display:block!important;
  width:auto!important;
  max-width:36ch!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:var(--aic-cream,#f4eedf)!important;
  text-align:center!important;
}
.aic-about-v19__lead span,
html.aic-motion-enabled .aic-about-v19__opening[data-page-motion] .aic-about-v19__lead span,
html.aic-motion-enabled .aic-about-v19__opening[data-page-motion].is-motion-visible .aic-about-v19__lead span{
  display:inline!important;
  -webkit-box-decoration-break:clone!important;
  box-decoration-break:clone!important;
  padding:.05em .18em .09em!important;
  background-image:linear-gradient(178deg,transparent 5%,rgba(16,40,32,.94) 7% 91%,transparent 93%)!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
  background-position:center!important;
  color:var(--aic-cream,#f4eedf)!important;
  opacity:1!important;
  line-height:1.62!important;
  transition:none!important;
}

/* About story is supporting copy, not a second headline. */
.aic-about-v19__copy,
.aic-about-v19__copy p{
  font-size:clamp(.98rem,1.05vw,1.08rem)!important;
  line-height:1.52!important;
  font-weight:var(--aic-ui-light,350)!important;
}
.aic-about-v19__body{
  padding-top:clamp(14px,1.5vw,22px)!important;
  padding-bottom:clamp(18px,2vw,30px)!important;
}

@media(max-width:820px){
  .aic-about-v19__lead{max-width:none!important;width:100%!important;}
  .aic-about-v19__copy,
  .aic-about-v19__copy p{font-size:1rem!important;line-height:1.5!important;}
  .aic-about-v19__body{padding-top:14px!important;padding-bottom:22px!important;}
}

/* RC7.17 — final pre-sync profile lock + About closing rhythm. */
/* Keep a little more breathing room between the compact About story and footer. */
.aic-about-v19__body{
  padding-bottom:clamp(34px,3.5vw,52px)!important;
}
@media(max-width:820px){
  .aic-about-v19__body{padding-bottom:34px!important;}
}


/* RC7.40 — mobile cultivar detail background parity.
   An older mobile stacking safeguard painted the entire info column cream.
   Keep the page's shared off-white visible instead so all cultivar details
   match the desktop surface and other light pages. */
@media (max-width:820px){
  .aic-strain-v15__info{
    background:transparent!important;
  }
}


/* AIC Summit 1.90.2 — decorative mobile hero video + clean brand taps. */
.aic-hero-loop--video{
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  -webkit-touch-callout:none!important;
  -webkit-appearance:none!important;
}
.aic-hero-loop--video::-webkit-media-controls,
.aic-hero-loop--video::-webkit-media-controls-panel,
.aic-hero-loop--video::-webkit-media-controls-play-button,
.aic-hero-loop--video::-webkit-media-controls-start-playback-button,
.aic-hero-loop--video::-webkit-media-controls-overlay-play-button{
  display:none!important;
  -webkit-appearance:none!important;
  opacity:0!important;
  pointer-events:none!important;
}

@media (max-width:820px){
  /* iOS preserves link hover/tap state unusually aggressively. Brand cards
     should never look selected on touch: only their intentional brand stripe
     remains visible behind the logo. */
  .aic-home-brand-v15,
  .aic-home-brand-v15 *{
    -webkit-tap-highlight-color:transparent!important;
  }
  .aic-home-brand-v15,
  .aic-home-brand-v15:link,
  .aic-home-brand-v15:visited,
  .aic-home-brand-v15:hover,
  .aic-home-brand-v15:focus,
  .aic-home-brand-v15:focus-visible,
  .aic-home-brand-v15:active{
    background:transparent!important;
    color:inherit!important;
    opacity:1!important;
    filter:none!important;
    box-shadow:none!important;
    outline:none!important;
  }
  .aic-home-brand-v15:active .aic-home-brand-v15__logo img,
  .aic-home-brand-v15:hover .aic-home-brand-v15__logo img,
  .aic-home-brand-v15:focus .aic-home-brand-v15__logo img{
    opacity:1!important;
    filter:drop-shadow(0 12px 14px rgba(16,40,32,.12))!important;
    transform:none!important;
  }
}


/* 1.90.3 — age-wall wordmark typography. Keep the desktop panel editorially
   clean while matching the mobile identity to the persistent navigation. */
.aic-age-gate__mobile-brand{
  display:none!important;
  margin:0 0 1.05rem!important;
  font-family:var(--aic-serif)!important;
  font-size:clamp(1.85rem,7vw,2.45rem)!important;
  line-height:.95!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
  color:var(--aic-ink,var(--ink))!important;
}
.aic-age-gate__mobile-brand > span,
.aic-age-gate__mobile-brand > em{
  font-family:var(--aic-serif)!important;
  font-weight:400!important;
}
.aic-age-gate__mobile-brand > span{font-style:normal!important}
.aic-age-gate__mobile-brand > em{font-style:italic!important}

/* Large artwork-side AIC mark: GT Alpina Regular, not a bold interface face. */
.aic-age-gate__identity strong{
  font-family:var(--aic-serif)!important;
  font-style:normal!important;
  font-weight:400!important;
  letter-spacing:-.035em!important;
}

@media (max-width:900px){
  .aic-age-gate__mobile-brand{display:block!important}
}

/* 1.90.4 — mobile homepage is an interactive composition, not a text canvas.
   Prevent Safari long-press/drag selection from painting the global orange
   ::selection highlight across brand artwork or homepage copy. Keep form
   controls selectable should one be introduced later. */
@media (max-width:820px){
  body.home :where(main, header, footer) :not(input):not(textarea):not([contenteditable="true"]){
    -webkit-user-select:none!important;
    user-select:none!important;
    -webkit-touch-callout:none!important;
  }
  body.home :where(main, header, footer) ::selection{
    background:transparent!important;
    color:inherit!important;
  }
  body.home :where(main, header, footer) ::-moz-selection{
    background:transparent!important;
    color:inherit!important;
  }
  body.home img{
    -webkit-user-drag:none!important;
  }
}


/* AIC Summit 1.90.7 — static mobile hero fallback.
   Phones never instantiate the hero video; the poster image already rendered
   beneath it remains visible. Desktop/tablet continue to use the configured
   MP4/WebM loop. */
@media (max-width:820px){
  .aic-hero-loop--video{display:none!important;}
}


/* 1.90.13 — Mobile cultivar detail rhythm.
 * The badge already carries the cultivar name, so the mobile title remains hidden.
 * Restore the semantic LINEAGE label and give the header/facts stack deliberate spacing. */
@media (max-width: 767px) {
  .aic-strain-v15__info h1,
  .aic-legacy-info-v15__copy h1 {
    display: none !important;
  }

  .aic-strain-v15__utility {
    margin-bottom: 0 !important;
  }

  .aic-strain-v15__lineage {
    margin: 0 !important;
    padding: 12px 0 14px !important;
    border-bottom: 1px solid var(--aic-line) !important;
    font-size: 1.02rem !important;
    line-height: 1.32 !important;
  }

  .aic-strain-v15__lineage::before {
    content: "Lineage";
    display: block;
    margin: 0 0 6px;
    font-family: var(--aic-sans) !important;
    font-size: .58rem;
    line-height: 1;
    letter-spacing: .17em;
    text-transform: uppercase;
    font-weight: 500;
  }

  .aic-strain-facts-v15 {
    border-top: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
  }

  .aic-strain-facts-v15 > div {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }

  .aic-strain-v15__story {
    margin-top: 8px;
  }
}

/* 1.90.15 — breeder-hidden desktop facts reflow. */
@media (min-width: 761px) {
  .aic-strain-facts-v15--semantic.has-no-breeder > .aic-strain-facts-v15__fact--type {
    grid-column: 1;
    grid-row: 1;
    padding-left: 0;
    padding-right: 22px;
    border-left: 0;
  }
  .aic-strain-facts-v15--semantic.has-no-breeder > .aic-strain-facts-v15__fact--experience {
    grid-column: 2;
    grid-row: 1;
    padding-left: 22px;
    padding-right: 0;
    border-left: 1px solid var(--aic-line);
  }
  .aic-strain-facts-v15--semantic.has-no-breeder > .aic-strain-facts-v15__fact--thca {
    grid-row: 2;
  }
  .aic-strain-facts-v15--semantic.has-no-breeder > .aic-strain-facts-v15__fact--cannabinoids {
    grid-row: 2;
  }
}

/* Lab Results archive: intentionally quiet and secondary to current tests. */
.aic-lab-archive-v19 { margin-top: clamp(42px, 6vw, 86px); border-top: 1px solid var(--aic-line); }
.aic-lab-archive-v19 > summary { list-style: none; cursor: pointer; padding: 20px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; font-family:var(--aic-sans); text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; }
.aic-lab-archive-v19 > summary::-webkit-details-marker { display:none; }
.aic-lab-archive-v19 > summary::after { content:'＋'; font-size:1rem; }
.aic-lab-archive-v19[open] > summary::after { content:'−'; }
.aic-lab-archive-v19__note { margin:0 0 16px; opacity:.68; font-size:.86rem; }
.aic-lab-archive-v19 .aic-lab-row-v19 { opacity:.72; }
.aic-lab-archive-v19 .aic-lab-row-v19:hover { opacity:1; }


/* 1.90.20 — exact six-row curated mobile hamburger selection.
   Older legacy rules hide rows by nth-child position to keep the menu short.
   The curated rows are appended after the desktop set, so those positional
   rules accidentally hid every curated row. Treat desktop/mobile as two
   explicit row sets instead: desktop shows its normal selection; the mobile
   menu shows all six curated rows regardless of DOM child position. */
.aic-menu-table-v17__row--mobile-curated { display: none !important; }
@media (max-width: 820px) {
  .aic-menu-table-v17__row--desktop,
  .aic-menu-table-v17__row--desktop:nth-child(n) {
    display: none !important;
  }
  .aic-menu-table-v17__row--mobile-curated,
  .aic-menu-table-v17__row--mobile-curated:nth-child(n) {
    display: grid !important;
  }
  .aic-menu-table-v17__rows {
    display: block !important;
  }
}

/* 1.90.21 — mobile cultivar facts keep Type + Experience on one row. */
@media (max-width: 760px) {
  .aic-strain-facts-v15--semantic {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .aic-strain-facts-v15--semantic > .aic-strain-facts-v15__fact {
    padding-left: 0;
    padding-right: 0;
    border-left: 0;
  }

  .aic-strain-facts-v15--semantic.has-no-breeder > .aic-strain-facts-v15__fact--type {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding-right: 14px;
  }

  .aic-strain-facts-v15--semantic.has-no-breeder > .aic-strain-facts-v15__fact--experience {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding-left: 14px;
    border-left: 1px solid var(--aic-line);
  }

  .aic-strain-facts-v15--semantic.has-no-breeder > .aic-strain-facts-v15__fact--thca {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding-right: 14px;
  }

  .aic-strain-facts-v15--semantic.has-no-breeder > .aic-strain-facts-v15__fact--cannabinoids {
    grid-column: 2 !important;
    grid-row: 2 !important;
    padding-left: 14px;
    border-left: 1px solid var(--aic-line);
  }

  .aic-strain-facts-v15--semantic:not(.has-no-breeder) > .aic-strain-facts-v15__fact--breeder {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    padding-right: 0;
  }

  .aic-strain-facts-v15--semantic:not(.has-no-breeder) > .aic-strain-facts-v15__fact--type {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding-right: 14px;
  }

  .aic-strain-facts-v15--semantic:not(.has-no-breeder) > .aic-strain-facts-v15__fact--experience {
    grid-column: 2 !important;
    grid-row: 2 !important;
    padding-left: 14px;
    border-left: 1px solid var(--aic-line);
  }

  .aic-strain-facts-v15--semantic:not(.has-no-breeder) > .aic-strain-facts-v15__fact--thca {
    grid-column: 1 !important;
    grid-row: 3 !important;
    padding-right: 14px;
  }

  .aic-strain-facts-v15--semantic:not(.has-no-breeder) > .aic-strain-facts-v15__fact--cannabinoids {
    grid-column: 2 !important;
    grid-row: 3 !important;
    padding-left: 14px;
    border-left: 1px solid var(--aic-line);
  }

  .aic-strain-facts-v15 dd {
    font-size: 0.93rem;
    line-height: 1.34;
  }
}

/* 1.90.22 — mobile Lab Results detail layout. Keep every detail page on a
 * simple two-rail phone grid, prevent horizontal clipping, and let short
 * result sets end naturally instead of forcing a 70vh content well. */
@media (max-width: 820px) {
  .aic-lab-v19--detail {
    min-height: 0 !important;
    overflow-x: clip;
  }

  .aic-lab-v19--detail .aic-lab-directory-v19 {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    padding-top: calc(var(--nav-h) + 14px) !important;
    padding-right: 18px !important;
    padding-bottom: 48px !important;
    padding-left: 18px !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19,
  .aic-lab-v19--detail .aic-result-table-v19--batches,
  .aic-lab-v19--detail .aic-result-batch-v19,
  .aic-lab-v19--detail .aic-result-batch-v19__toggle,
  .aic-lab-v19--detail .aic-result-batch-v19__documents,
  .aic-lab-v19--detail .aic-result-batch-v19__documents-inner,
  .aic-lab-v19--detail .aic-result-document-v19 {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Utility links share one clean rail; the cultivar title gets its own row. */
  .aic-lab-v19--detail .aic-selected-results-v19__head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    column-gap: 16px !important;
    row-gap: 24px !important;
    align-items: baseline !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 32px !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head > a {
    min-width: 0 !important;
    font-size: .76rem !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head > a:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head > a:last-child,
  .aic-lab-v19--detail .aic-legacy-results-v19 .aic-selected-results-v19__head > a:last-child {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    max-width: 46vw !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: right !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head h1,
  .aic-lab-v19--detail .aic-selected-results-v19__head h2 {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: clamp(3rem, 13.5vw, 4.3rem) !important;
    line-height: .9 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
  }

  /* Batch table becomes a consistent two-column phone grid: batch at left,
     date + state control at right. Product form is intentionally omitted here
     because the selected cultivar already establishes the result context. */
  .aic-lab-v19--detail .aic-result-table-v19--batches {
    border-top: 0 !important;
    margin: 0 !important;
  }

  .aic-lab-v19--detail .aic-result-table-v19__head {
    display: none !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19 {
    width: 100% !important;
    margin: 0 0 12px !important;
    border: 0 !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19__toggle {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
    gap: 12px !important;
    align-items: baseline !important;
    width: 100% !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 17px 12px !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19__toggle > strong {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    padding: 0 !important;
    font-size: 1rem !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19__toggle > .aic-result-batch-v19__form,
  .aic-lab-v19--detail .aic-result-batch-v19__toggle > .aic-result-batch-v19__date {
    display: none !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19__toggle > .aic-result-batch-v19__count {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 9px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: .78rem !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    text-align: right !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19__document-count {
    display: none !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19__mobile-date {
    display: inline !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19__count b {
    display: inline !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: .9rem !important;
    line-height: 1 !important;
  }

  /* Closed rows remain the compact tinted cards; the open row stays on paper
     and its certificate links form a full-width two-column list. */
  .aic-lab-v19--detail .aic-result-batch-v19:not(.is-open) .aic-result-batch-v19__toggle {
    background: rgba(111, 166, 157, .14) !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19.is-open {
    margin-bottom: 18px !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19.is-open .aic-result-batch-v19__toggle {
    padding-bottom: 13px !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19__documents {
    width: 100% !important;
    padding: 0 12px 6px !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19__documents-inner {
    width: 100% !important;
  }

  .aic-lab-v19--detail .aic-result-document-v19 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 16px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 10px 0 !important;
    border-top: 0 !important;
  }

  .aic-lab-v19--detail .aic-result-document-v19::before {
    display: none !important;
  }

  .aic-lab-v19--detail .aic-result-document-v19 > span {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .aic-lab-v19--detail .aic-result-document-v19 > small {
    justify-self: end !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 430px) {
  .aic-lab-v19--detail .aic-lab-directory-v19 {
    padding-right: 17px !important;
    padding-left: 17px !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head {
    column-gap: 10px !important;
    row-gap: 22px !important;
    margin-bottom: 28px !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head > a {
    font-size: .72rem !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head h1,
  .aic-lab-v19--detail .aic-selected-results-v19__head h2 {
    font-size: clamp(2.8rem, 14vw, 3.8rem) !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19__toggle {
    padding-right: 11px !important;
    padding-left: 11px !important;
  }
}

/* 1.90.23 — mobile lab-detail hierarchy + touch equivalent of title slant. */
@media (max-width: 820px) {
  .aic-lab-v19--detail .aic-selected-results-v19__head {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    row-gap: 18px !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head h1,
  .aic-lab-v19--detail .aic-selected-results-v19__head h2 {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head > a:first-child {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: start !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head > a:last-child,
  .aic-lab-v19--detail .aic-legacy-results-v19 .aic-selected-results-v19__head > a:last-child {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: end !important;
  }

  .aic-selected-results-v19__head h1.is-touch-slanted,
  .aic-selected-results-v19__head h2.is-touch-slanted {
    font-style: italic !important;
    transform: translateX(.025em) !important;
  }
}

/* 1.90.24 — finish mobile Lab Results header rhythm.
 * Keep the cultivar name on the outer page rail, then tuck the utility links
 * into the same inner text rail used by batch/date and document rows. */
@media (max-width: 820px) {
  .aic-lab-v19--detail .aic-selected-results-v19__head {
    row-gap: 7px !important;
    margin-bottom: 12px !important;
    align-items: baseline !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head h1,
  .aic-lab-v19--detail .aic-selected-results-v19__head h2 {
    margin: 0 !important;
    padding: 0 0 2px !important;
    line-height: .88 !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head > a:first-child {
    margin-left: 12px !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head > a:last-child,
  .aic-lab-v19--detail .aic-legacy-results-v19 .aic-selected-results-v19__head > a:last-child {
    margin-right: 12px !important;
    max-width: calc(46vw - 12px) !important;
  }

  .aic-lab-v19--detail .aic-result-batch-v19.is-open .aic-result-batch-v19__toggle {
    padding-top: 14px !important;
  }
}

@media (max-width: 430px) {
  .aic-lab-v19--detail .aic-selected-results-v19__head {
    row-gap: 6px !important;
    margin-bottom: 10px !important;
  }
}

/* 1.90.25 — restore breathing room around the mobile cultivar title without
 * disturbing the aligned utility/results rails established in 1.90.24. */
@media (max-width: 820px) {
  .aic-lab-v19--detail .aic-lab-directory-v19 {
    padding-top: calc(var(--nav-h) + 26px) !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head {
    row-gap: 16px !important;
    margin-bottom: 16px !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head h1,
  .aic-lab-v19--detail .aic-selected-results-v19__head h2 {
    padding-bottom: 1px !important;
  }
}

@media (max-width: 430px) {
  .aic-lab-v19--detail .aic-selected-results-v19__head {
    row-gap: 15px !important;
    margin-bottom: 15px !important;
  }
}

/* 1.90.26 — use the exact main Lab Results mobile page gutter on cultivar
 * result detail pages. Utility links and batch-card edges now share the same
 * outer rail as the mobile directory instead of adding a second inset. */
@media (max-width: 820px) {
  .aic-lab-v19--detail .aic-lab-directory-v19 {
    padding-left: var(--aic-grid-pad) !important;
    padding-right: var(--aic-grid-pad) !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head > a:first-child {
    margin-left: 0 !important;
  }

  .aic-lab-v19--detail .aic-selected-results-v19__head > a:last-child,
  .aic-lab-v19--detail .aic-legacy-results-v19 .aic-selected-results-v19__head > a:last-child {
    margin-right: 0 !important;
    max-width: 46vw !important;
  }
}

/* 1.90.27 — mobile lab detail uses the same wide list geometry as the main
 * Lab Results directory: a narrow outer list gutter with text inset inside
 * each row, so tinted/interactive row surfaces reach the list edges. */
@media (max-width: 820px) {
  .aic-lab-v19--detail .aic-lab-directory-v19 {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* Keep the display title on the normal 20px text rail while allowing the
     navigation/list surfaces below it to use the wider Lab Results rail. */
  .aic-lab-v19--detail .aic-selected-results-v19__head h1,
  .aic-lab-v19--detail .aic-selected-results-v19__head h2 {
    margin-left: 12px !important;
    margin-right: 12px !important;
    width: calc(100% - 24px) !important;
  }

  /* Utility links line up with the text inside the batch rows. */
  .aic-lab-v19--detail .aic-selected-results-v19__head > a:first-child {
    margin-left: 12px !important;
  }
  .aic-lab-v19--detail .aic-selected-results-v19__head > a:last-child,
  .aic-lab-v19--detail .aic-legacy-results-v19 .aic-selected-results-v19__head > a:last-child {
    margin-right: 12px !important;
    max-width: calc(46vw - 12px) !important;
  }

  /* Closed batch fills span the full wide list rail; their labels retain the
     same 12px internal inset used throughout the mobile Lab Results list. */
  .aic-lab-v19--detail .aic-result-table-v19--batches,
  .aic-lab-v19--detail .aic-result-batch-v19 {
    width: 100% !important;
    max-width: none !important;
  }
}

/* 1.90.28 — mobile closed batch surfaces truly full-bleed, matching the main
 * Lab Results directory hover/focus fill. Text remains on the same 18px rail. */
@media (max-width: 820px) {
  .aic-lab-v19--detail .aic-result-batch-v19:not(.is-open) .aic-result-batch-v19__toggle {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }
}

/* 1.90.30 — complete menu exits + coherent same-site page transitions. */
html.aic-motion-enabled body main,
html.aic-motion-enabled body .aic-site-footer {
  transition: opacity .18s ease, transform .22s cubic-bezier(.22,.72,.18,1);
}
html.aic-motion-enabled.aic-page-leaving body main,
html.aic-motion-enabled.aic-page-leaving body .aic-site-footer {
  opacity: 0;
  transform: translateY(5px);
}

/* Keep the menu visually dominant while it performs its full close sequence. */
html.aic-page-leaving body.aic-menu-open main,
html.aic-page-leaving body.aic-menu-open .aic-site-footer {
  transition-duration: .12s;
}

@media (prefers-reduced-motion: reduce) {
  html.aic-motion-enabled body main,
  html.aic-motion-enabled body .aic-site-footer {
    transition: none !important;
  }
}

/* 1.90.31 — site-wide load choreography. No loader screen: the persistent
 * chrome resolves first, then the document settles into place, while images
 * fade only when their pixels are available. */
html.aic-load-pending body .aic-site-header {
  opacity: 0;
  transform: translateY(-5px);
}
html.aic-load-pending body main,
html.aic-load-pending body .aic-site-footer {
  opacity: 0;
  transform: translateY(9px);
}

html.aic-motion-enabled body .aic-site-header {
  transition: opacity .22s ease, transform .34s cubic-bezier(.22,.72,.18,1);
}
html.aic-motion-enabled body main {
  transition: opacity .30s ease .055s, transform .42s cubic-bezier(.22,.72,.18,1) .055s;
}
html.aic-motion-enabled body .aic-site-footer {
  transition: opacity .30s ease .10s, transform .42s cubic-bezier(.22,.72,.18,1) .10s;
}
html.aic-page-ready body .aic-site-header,
html.aic-page-ready body main,
html.aic-page-ready body .aic-site-footer {
  opacity: 1;
  transform: none;
}

/* Media reveal is independent of layout so dimensions never collapse or jump
 * while an image decodes. */
html.aic-motion-enabled main img.aic-load-media {
  opacity: 0;
  transition: opacity .34s ease;
}
html.aic-motion-enabled main img.aic-load-media.is-aic-media-ready {
  opacity: 1;
}

/* Exit overrides the entrance timing if a link is followed immediately. */
html.aic-motion-enabled.aic-page-leaving body main,
html.aic-motion-enabled.aic-page-leaving body .aic-site-footer {
  opacity: 0;
  transform: translateY(5px);
  transition-delay: 0s !important;
}

@media (prefers-reduced-motion: reduce) {
  html.aic-load-pending body .aic-site-header,
  html.aic-load-pending body main,
  html.aic-load-pending body .aic-site-footer,
  html.aic-motion-enabled main img.aic-load-media {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* 1.90.33 — page-aware transition canvas. The current document uses its
 * server-resolved initial surface; on an internal exit, the canvas switches to
 * the destination page's surface underneath the fading content. */
html, body {
  background-color: var(--aic-initial-surface, #fefaf1);
}
html.aic-page-leaving,
html.aic-page-leaving body {
  background-color: var(--aic-transition-surface, var(--aic-initial-surface, #fefaf1)) !important;
}

/* 1.90.34 — performance pass: complete the menu exit in ~.35s instead of
 * holding navigation for ~.72s. The choreography remains intact, just tighter. */
.aic-menu-drawer-v17.is-closing .aic-menu-drawer-v17__panel { transition-delay: .10s !important; transition-duration: .20s !important; }
.aic-menu-drawer-v17.is-closing .aic-menu-drawer-v17__masthead:after { transition-delay: .03s !important; transition-duration: .22s !important; }
.aic-menu-drawer-v17.is-closing .aic-menu-close-v17 { transition-delay: .08s !important; transition-duration: .18s !important; }
.aic-menu-drawer-v17.is-closing .aic-menu-close-v17 i:first-child,
.aic-menu-drawer-v17.is-closing .aic-menu-close-v17 i:last-child { transition-duration: .18s !important; }
.aic-menu-drawer-v17.is-closing .aic-menu-index-v17__head,
.aic-menu-drawer-v17.is-closing .aic-menu-index-v17__body:after,
.aic-menu-drawer-v17.is-closing .aic-menu-about-v17:after { transition-duration: .22s !important; }
.aic-menu-drawer-v17.is-closing .aic-menu-table-v17__row { transition-delay: calc(var(--menu-index,0)*.006s) !important; transition-duration: .12s !important; }


/* 1.90.37 — direct document transitions. No intermediate loading state.
 * Navigation begins immediately; outgoing content simply clears over the
 * destination-colored canvas and incoming HTML paints without a global gate. */
html.aic-load-pending body .aic-site-header,
html.aic-load-pending body main,
html.aic-load-pending body .aic-site-footer {
  opacity: 1 !important;
  transform: none !important;
}

html.aic-motion-enabled body .aic-site-header,
html.aic-motion-enabled body main,
html.aic-motion-enabled body .aic-site-footer {
  transition-delay: 0s !important;
}

html.aic-motion-enabled.aic-page-leaving body main,
html.aic-motion-enabled.aic-page-leaving body .aic-site-footer {
  opacity: 0;
  transform: none;
  transition: opacity .10s ease !important;
}

/* Do not stage the whole incoming document. Individual existing page/component
 * motion and media readiness can still animate without blocking useful text. */
html.aic-page-ready body .aic-site-header,
html.aic-page-ready body main,
html.aic-page-ready body .aic-site-footer {
  opacity: 1;
  transform: none;
}

/* 1.90.38 — seamless document handoff.
 * The outgoing page chrome leaves with its content so a cream catalogue nav
 * can never hang over a dark destination while the next document is arriving.
 * The destination surface is already painted underneath by leaveFor(). */
html.aic-motion-enabled.aic-page-leaving body .aic-site-header {
  opacity: 0 !important;
  transform: none !important;
  transition: opacity .085s linear !important;
  transition-delay: 0s !important;
}

/* Homepage is fundamentally a dark photographic environment. Keep its first
 * paint and the space beneath the hero media dark; the poster/video simply
 * resolves over this surface instead of revealing cream/blue between states. */
body.aic-home,
body.aic-home .aic-home-v15,
body.aic-home .aic-home-hero-v15 {
  background-color: #102820;
}

@media (prefers-reduced-motion: reduce) {
  html.aic-motion-enabled.aic-page-leaving body .aic-site-header {
    opacity: 1 !important;
    transition: none !important;
  }
}

/* 1.90.41 — no blank document interstitial. The current page stays fully
 * visible while the next WordPress document is in flight. Only the menu drawer
 * performs an exit animation before menu-link navigation. */
html.aic-motion-enabled.aic-page-leaving body .aic-site-header,
html.aic-motion-enabled.aic-page-leaving body main,
html.aic-motion-enabled.aic-page-leaving body .aic-site-footer {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
html.aic-page-leaving,
html.aic-page-leaving body {
  background-color: var(--aic-initial-surface, #fefaf1) !important;
}

/* 1.90.44 — reversible cross-document choreography.
 * The current document remains fully painted during network/server wait. Once
 * the destination is ready, named content snapshots unwind in reverse reading
 * order; expanded result documents collapse first. The destination then enters
 * with the same restrained staged fade language. */
@view-transition {
  navigation: auto;
}

::view-transition-group(root) {
  animation-duration: .55s;
  animation-timing-function: cubic-bezier(.22,.72,.18,1);
}

::view-transition-old(root) {
  animation: aic-document-shell-out .10s ease .30s both;
}

::view-transition-new(root) {
  animation: aic-document-shell-in .14s ease .30s both;
}

@keyframes aic-piece-out {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-7px); }
}

@keyframes aic-piece-collapse-out {
  from { opacity: 1; transform: scaleY(1); clip-path: inset(0 0 0 0); }
  to { opacity: 0; transform: scaleY(.08); clip-path: inset(0 0 92% 0); }
}

@keyframes aic-piece-in {
  from { opacity: 0; transform: translateY(9px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes aic-document-shell-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes aic-document-shell-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation-duration: .001ms !important;
    animation-delay: 0s !important;
  }
}

/* 1.90.43 — menu-link document handoff.
 * Clicking a navigation destination keeps the complete drawer frozen in its
 * fully-open state while the next document is in flight. Do not run the X
 * close choreography (which exposes the old page / strips mobile rows early).
 * The native cross-document transition removes the whole old document only
 * once the destination has actually arrived. */
.aic-menu-drawer-v17.is-navigating {
  pointer-events: none !important;
}
.aic-menu-drawer-v17.is-navigating,
.aic-menu-drawer-v17.is-navigating .aic-menu-drawer-v17__panel,
.aic-menu-drawer-v17.is-navigating .aic-menu-drawer-v17__masthead,
.aic-menu-drawer-v17.is-navigating .aic-menu-index-v17__head,
.aic-menu-drawer-v17.is-navigating .aic-menu-index-v17__body,
.aic-menu-drawer-v17.is-navigating .aic-menu-table-v17__row,
.aic-menu-drawer-v17.is-navigating .aic-menu-about-v17,
.aic-menu-drawer-v17.is-navigating .aic-menu-close-v17 {
  animation-play-state: paused !important;
}

/* 1.90.45 — full-height page shell.
 * Short pages stretch their own surface to the viewport so the footer always
 * lands on the bottom edge. Long pages continue to grow and scroll normally.
 */
html {
  min-height: 100%;
}
body {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
body > main {
  flex: 1 0 auto;
  width: 100%;
}
body > .aic-site-footer {
  flex: 0 0 auto;
  margin-top: auto;
  width: 100%;
}

/* 1.90.46 — restore nav-link collapse at the ready-state handoff.
 * Menu links keep the fully-open drawer on screen during network/server wait.
 * Once the destination document is ready, its individual menu contents unwind
 * in reverse and the complete dark drawer collapses upward last. This preserves
 * the link-close animation without ever exposing the previous page underneath. */
@keyframes aic-menu-shell-out {
  0% {
    opacity: 1;
    transform: translateY(0);
    clip-path: inset(0 0 0 0);
  }
  62% {
    opacity: 1;
    transform: translateY(-3px);
    clip-path: inset(0 0 0 0);
  }
  100% {
    opacity: 0;
    transform: translateY(-10px);
    clip-path: inset(0 0 100% 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  @keyframes aic-menu-shell-out {
    from { opacity: 1; }
    to { opacity: 0; }
  }
}

/* 1.90.47 — cultivar info badge artwork sits directly on the page surface.
 * The badge already carries its own composition, so remove the legacy
 * brand-tinted art-panel fill without changing badge sizing or spacing. */
.aic-strain-v15__art {
  background: transparent !important;
}

/* 1.90.48 — directory exits mirror their staged entrances.
 * Lab Results rows and Cultivar badges are transitioned individually only when
 * visible in the viewport. Give those named snapshots enough handoff time to
 * finish their reverse cascade before the destination root becomes dominant. */
::view-transition-group(root) {
  animation-duration: .82s;
}
::view-transition-old(root) {
  animation: aic-document-shell-out .10s ease .60s both;
}
::view-transition-new(root) {
  animation: aic-document-shell-in .14s ease .62s both;
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation-duration: .001ms !important;
    animation-delay: 0s !important;
  }
}


/* 1.90.49 — transition integrity pass.
 * Dynamic JS now sets root timing from the actual visible outgoing pieces.
 * Keep a safe no-piece fallback here and never stretch every handoff to the
 * old fixed .82s window (which created blank frames on short transitions). */
::view-transition-group(root) {
  animation-duration: .18s;
  animation-timing-function: ease;
}
::view-transition-old(root) {
  animation: aic-document-shell-out .10s ease .04s both;
}
::view-transition-new(root) {
  animation: aic-document-shell-in .12s ease .05s both;
}

/* 1.90.50 — mobile/cross-document transition cleanup.
 * The destination is held until the old sequence is genuinely finished, so
 * Safari never composites outgoing badges/rows over the incoming detail page.
 * Menu-link navigation keeps the dark drawer intact through its row unwind,
 * then collapses the complete old document upward as one final gesture. */
@keyframes aic-menu-document-shell-out {
  from {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: translateY(0);
  }
  to {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
    transform: translateY(-4px);
  }
}

/* Keep cross-document snapshots isolated from browser default blending. */
::view-transition-image-pair(root) {
  isolation: isolate;
}
::view-transition-old(root),
::view-transition-new(root) {
  mix-blend-mode: normal;
}

@media (max-width: 760px) {
  /* Mobile needs a slightly shorter physical move; larger translations read
   * as layout jumps on the narrow viewport. */
  @keyframes aic-piece-out {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(-4px); }
  }
}
