/* ============================================================
   MEDATLAS LEARNING MINDS
   MEDATLAS LIBRARY
   Institutional Curated Knowledge Collection
   ============================================================ */


/* ============================================================
   TOKENS
   ============================================================ */

:root {

  --navy:
    #14213d;

  --navy-deep:
    #0d1830;

  --navy-soft:
    #263654;

  --gold:
    #ad7a20;

  --gold-deep:
    #8d6118;

  --gold-soft:
    #d7b56f;

  --ivory:
    #faf7ef;

  --ivory-deep:
    #f1eadc;

  --paper:
    #fffdf8;

  --white:
    #ffffff;

  --ink:
    #1d2a42;

  --text-soft:
    #43516a;

  --muted:
    #6a7586;

  --border:
    rgba(
      173,
      122,
      32,
      0.20
    );

  --border-strong:
    rgba(
      173,
      122,
      32,
      0.38
    );

  --navy-border:
    rgba(
      20,
      33,
      61,
      0.11
    );

  --shadow:
    0 20px 55px
    rgba(
      45,
      35,
      20,
      0.08
    );

  --shadow-raised:
    0 28px 75px
    rgba(
      38,
      29,
      17,
      0.14
    );

  --max-width:
    1440px;

}


/* ============================================================
   RESET
   ============================================================ */

* {

  box-sizing:
    border-box;

}


html {

  scroll-behavior:
    smooth;

  background:
    var(--ivory);

}


body {

  margin:
    0;

  min-height:
    100vh;

  color:
    var(--ink);

  background:
    radial-gradient(
      circle at 82% 5%,
      rgba(
        215,
        181,
        111,
        0.16
      ),
      transparent 25%
    ),

    radial-gradient(
      circle at 8% 29%,
      rgba(
        20,
        33,
        61,
        0.045
      ),
      transparent 27%
    ),

    linear-gradient(
      180deg,
      #fffdf8 0%,
      #faf7ef 38%,
      #f4eee2 100%
    );

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  overflow-x:
    hidden;

}


a {

  color:
    inherit;

  text-decoration:
    none;

}


/* ============================================================
   HEADER
   ============================================================ */

.site-header {

  position:
    sticky;

  top:
    0;

  z-index:
    100;

  min-height:
    76px;

  display:
    grid;

  grid-template-columns:
    1fr
    auto
    1fr;

  align-items:
    center;

  gap:
    24px;

  padding:
    11px
    max(
      24px,
      calc(
        (100vw - var(--max-width))
        / 2
      )
    );

  border-bottom:
    1px solid
    var(--border);

  background:
    rgba(
      250,
      247,
      239,
      0.94
    );

  backdrop-filter:
    blur(18px);

  box-shadow:
    0 4px 25px
    rgba(
      35,
      28,
      18,
      0.035
    );

}


.brand {

  justify-self:
    start;

  display:
    flex;

  align-items:
    center;

  gap:
    11px;

}


.brand-seal {

  width:
    47px;

  height:
    47px;

  object-fit:
    contain;

  filter:
    drop-shadow(
      0 5px 8px
      rgba(
        32,
        25,
        14,
        0.08
      )
    );

}


.brand-copy {

  display:
    flex;

  flex-direction:
    column;

  line-height:
    1;

}


.brand-copy strong {

  color:
    var(--navy);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    20px;

  font-weight:
    600;

  letter-spacing:
    0.045em;

}


.brand-copy small {

  margin-top:
    5px;

  color:
    var(--gold-deep);

  font-size:
    9px;

  font-weight:
    800;

  letter-spacing:
    0.21em;

}


.header-identity {

  justify-self:
    center;

  display:
    flex;

  align-items:
    center;

  gap:
    10px;

  padding:
    7px 16px;

  border-left:
    1px solid
    var(--border);

  border-right:
    1px solid
    var(--border);

}


.header-identity span {

  color:
    var(--gold-deep);

  font-size:
    8px;

  font-weight:
    800;

  letter-spacing:
    0.17em;

}


.header-identity strong {

  color:
    var(--navy);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    17px;

  font-weight:
    500;

}


.site-nav {

  justify-self:
    end;

  display:
    flex;

  align-items:
    center;

  gap:
    3px;

}


.site-nav a {

  padding:
    9px
    10px;

  border-radius:
    8px;

  color:
    var(--text-soft);

  font-size:
    11px;

  font-weight:
    650;

  transition:
    color
    180ms ease,
    background
    180ms ease;

}


.site-nav a:hover,
.site-nav a[aria-current="page"] {

  color:
    var(--navy);

  background:
    rgba(
      173,
      122,
      32,
      0.07
    );

}


/* ============================================================
   SHELL
   ============================================================ */

.library-shell {

  width:
    min(
      var(--max-width),
      calc(
        100% - 48px
      )
    );

  margin:
    0 auto;

  padding:
    48px
    0
    42px;

}


/* ============================================================
   HERO
   ============================================================ */

.library-hero {

  min-height:
    510px;

  display:
    grid;

  grid-template-columns:
    minmax(
      0,
      1.05fr
    )
    minmax(
      390px,
      0.95fr
    );

  align-items:
    center;

  gap:
    50px;

  padding:
    28px
    10px
    40px;

}


.hero-copy {

  max-width:
    790px;

}


.eyebrow,
.section-kicker {

  margin:
    0;

  color:
    var(--gold-deep);

  font-size:
    10px;

  font-weight:
    800;

  letter-spacing:
    0.19em;

  text-transform:
    uppercase;

}


.library-hero h1 {

  margin:
    11px
    0
    0;

  color:
    var(--navy);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(
      3.8rem,
      7.5vw,
      7rem
    );

  font-weight:
    500;

  line-height:
    0.92;

  letter-spacing:
    -0.06em;

}


.hero-subtitle {

  margin:
    17px
    0
    13px;

  color:
    var(--gold-deep);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(
      1.25rem,
      2.1vw,
      1.8rem
    );

  font-style:
    italic;

}


.hero-lead {

  max-width:
    680px;

  margin:
    0;

  color:
    var(--muted);

  font-size:
    1rem;

  line-height:
    1.75;

}


.hero-actions {

  display:
    flex;

  flex-wrap:
    wrap;

  gap:
    11px;

  margin-top:
    28px;

}


.primary-action,
.secondary-action {

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  min-height:
    45px;

  padding:
    0 18px;

  border-radius:
    9px;

  font-size:
    11px;

  font-weight:
    750;

  transition:
    transform
    180ms ease,
    box-shadow
    180ms ease,
    background
    180ms ease;

}


.primary-action {

  color:
    white;

  border:
    1px solid
    var(--navy);

  background:
    linear-gradient(
      135deg,
      var(--navy),
      var(--navy-soft)
    );

  box-shadow:
    0 10px 25px
    rgba(
      20,
      33,
      61,
      0.14
    );

}


.secondary-action {

  color:
    var(--gold-deep);

  border:
    1px solid
    var(--border-strong);

  background:
    rgba(
      255,
      255,
      255,
      0.62
    );

}


.primary-action:hover,
.secondary-action:hover {

  transform:
    translateY(-2px);

}


/* ============================================================
   LIBRARY EMBLEM
   ============================================================ */

.library-emblem {

  position:
    relative;

  width:
    min(
      440px,
      100%
    );

  aspect-ratio:
    1;

  justify-self:
    center;

  display:
    grid;

  place-items:
    center;

}


.emblem-core {

  position:
    relative;

  z-index:
    5;

  width:
    260px;

  height:
    260px;

  display:
    flex;

  flex-direction:
    column;

  align-items:
    center;

  justify-content:
    center;

  border:
    1px solid
    rgba(
      215,
      181,
      111,
      0.65
    );

  border-radius:
    50%;

  color:
    white;

  background:
    radial-gradient(
      circle at 33% 25%,
      #40516f 0%,
      #263654 24%,
      #14213d 58%,
      #0d1830 100%
    );

  box-shadow:
    0 28px 60px
    rgba(
      20,
      33,
      61,
      0.20
    ),

    inset
    0 0 0 8px
    rgba(
      255,
      255,
      255,
      0.025
    ),

    inset
    -24px
    -28px
    50px
    rgba(
      0,
      0,
      0,
      0.20
    );

  animation:
    libraryPresence
    5.5s
    ease-in-out
    infinite;

}


.emblem-core::after {

  content:
    "";

  position:
    absolute;

  inset:
    14px;

  border:
    1px solid
    rgba(
      215,
      181,
      111,
      0.25
    );

  border-radius:
    50%;

}


.emblem-kicker {

  position:
    relative;

  z-index:
    2;

  color:
    var(--gold-soft);

  font-size:
    8px;

  font-weight:
    800;

  letter-spacing:
    0.22em;

}


.emblem-core > strong {

  position:
    relative;

  z-index:
    2;

  margin-top:
    7px;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    24px;

  font-weight:
    500;

  letter-spacing:
    0.05em;

}


.emblem-core > small {

  position:
    relative;

  z-index:
    2;

  margin-top:
    7px;

  color:
    #e5d4ae;

  font-size:
    7px;

  font-weight:
    800;

  letter-spacing:
    0.14em;

}


.emblem-book {

  position:
    relative;

  z-index:
    2;

  width:
    94px;

  height:
    60px;

  margin-top:
    13px;

}


.book-page {

  position:
    absolute;

  top:
    4px;

  width:
    46px;

  height:
    48px;

  border:
    1px solid
    var(--gold-soft);

  background:
    rgba(
      250,
      247,
      239,
      0.95
    );

}


.page-left {

  left:
    2px;

  border-radius:
    5px 1px 10px 5px;

  transform:
    skewY(5deg);

}


.page-right {

  right:
    2px;

  border-radius:
    1px 5px 5px 10px;

  transform:
    skewY(-5deg);

}


.book-spine {

  position:
    absolute;

  z-index:
    3;

  left:
    50%;

  top:
    3px;

  width:
    1px;

  height:
    51px;

  background:
    var(--gold);

}


.emblem-orbit {

  position:
    absolute;

  border-radius:
    50%;

}


.orbit-one {

  inset:
    45px;

  border:
    1px solid
    rgba(
      173,
      122,
      32,
      0.28
    );

  animation:
    libraryOrbit
    24s
    linear
    infinite;

}


.orbit-two {

  inset:
    16px;

  border:
    1px dashed
    rgba(
      20,
      33,
      61,
      0.15
    );

  animation:
    libraryOrbit
    34s
    linear
    infinite
    reverse;

}


.orbit-three {

  inset:
    75px;

  border:
    1px dotted
    rgba(
      173,
      122,
      32,
      0.23
    );

  animation:
    libraryOrbit
    28s
    linear
    infinite
    reverse;

}


.emblem-node {

  position:
    absolute;

  z-index:
    6;

  width:
    8px;

  height:
    8px;

  border-radius:
    50%;

  background:
    var(--gold);

  box-shadow:
    0 0 0 6px
    rgba(
      173,
      122,
      32,
      0.08
    );

}


.node-one {

  top:
    17%;

  right:
    18%;

}


.node-two {

  left:
    7%;

  bottom:
    33%;

}


.node-three {

  right:
    14%;

  bottom:
    17%;

}


/* ============================================================
   DIVIDER
   ============================================================ */

.institutional-divider {

  display:
    grid;

  grid-template-columns:
    1fr
    auto
    1fr;

  align-items:
    center;

  gap:
    15px;

  color:
    var(--gold);

  margin:
    0
    0
    32px;

}


.institutional-divider span {

  height:
    1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(
        173,
        122,
        32,
        0.32
      )
    );

}


.institutional-divider span:last-child {

  background:
    linear-gradient(
      90deg,
      rgba(
        173,
        122,
        32,
        0.32
      ),
      transparent
    );

}


.institutional-divider strong {

  font-weight:
    400;

}


/* ============================================================
   GOVERNANCE
   ============================================================ */

.governance-strip {

  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      1fr
    );

  border:
    1px solid
    var(--border);

  border-radius:
    18px;

  background:
    rgba(
      255,
      253,
      248,
      0.72
    );

  box-shadow:
    0 12px 36px
    rgba(
      45,
      35,
      20,
      0.045
    );

  overflow:
    hidden;

}


.governance-strip article {

  min-height:
    130px;

  display:
    grid;

  grid-template-columns:
    auto
    1fr;

  gap:
    15px;

  padding:
    24px;

  border-right:
    1px solid
    var(--border);

}


.governance-strip article:last-child {

  border-right:
    0;

}


.governance-number {

  color:
    var(--gold);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    13px;

}


.governance-strip strong {

  color:
    var(--navy);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    17px;

  font-weight:
    500;

}


.governance-strip p {

  margin:
    8px
    0
    0;

  color:
    var(--muted);

  font-size:
    12px;

  line-height:
    1.6;

}


/* ============================================================
   SPECIALTY SECTION
   ============================================================ */

.specialty-section {

  padding-top:
    72px;

}


.section-heading {

  display:
    flex;

  justify-content:
    space-between;

  align-items:
    flex-end;

  gap:
    30px;

  margin-bottom:
    27px;

}


.section-heading h2 {

  margin:
    6px
    0
    0;

  color:
    var(--navy);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(
      2.2rem,
      4vw,
      3.7rem
    );

  font-weight:
    500;

  letter-spacing:
    -0.045em;

}


.section-intro {

  max-width:
    420px;

  margin:
    0;

  color:
    var(--muted);

  font-size:
    13px;

  line-height:
    1.65;

  text-align:
    right;

}


/* ============================================================
   SUITE GRID
   ============================================================ */

.suite-grid {

  display:
    grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(
        280px,
        1fr
      )
    );

  gap:
    19px;

}


/* ============================================================
   SUITE CARD
   ============================================================ */

.suite-card {

  position:
    relative;

  min-height:
    385px;

  display:
    grid;

  grid-template-rows:
    215px
    1fr;

  overflow:
    hidden;

  border:
    1px solid
    var(--border);

  border-radius:
    20px;

  color:
    var(--ink);

  background:
    linear-gradient(
      155deg,
      rgba(
        255,
        255,
        255,
        0.96
      ),
      rgba(
        250,
        247,
        239,
        0.92
      )
    );

  box-shadow:
    0 10px 34px
    rgba(
      42,
      33,
      20,
      0.055
    );

  isolation:
    isolate;

  transition:
    transform
    200ms ease,
    border-color
    200ms ease,
    box-shadow
    200ms ease;

  animation:
    suiteArrival
    600ms
    both;

  animation-delay:
    calc(
      var(--suite-index)
      * 45ms
    );

}


.suite-card::before {

  content:
    "";

  position:
    absolute;

  z-index:
    4;

  top:
    0;

  left:
    16%;

  width:
    68%;

  height:
    1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--gold-soft),
      transparent
    );

  opacity:
    0.8;

}


.suite-card::after {

  content:
    "";

  position:
    absolute;

  z-index:
    -1;

  width:
    170px;

  height:
    170px;

  top:
    -85px;

  right:
    -75px;

  border-radius:
    50%;

  background:
    radial-gradient(
      circle,
      rgba(
        215,
        181,
        111,
        0.17
      ),
      transparent 70%
    );

  transition:
    transform
    350ms ease;

}


.suite-card:hover {

  transform:
    translateY(-6px);

  border-color:
    var(--border-strong);

  box-shadow:
    var(--shadow-raised);

}


.suite-card:hover::after {

  transform:
    scale(1.35);

}


.suite-card:focus-visible {

  outline:
    3px solid
    rgba(
      173,
      122,
      32,
      0.27
    );

  outline-offset:
    4px;

}


/* ============================================================
   DEDICATED VISUAL CHAMBER
   ============================================================ */

.suite-card-visual {

  position:
    relative;

  min-height:
    215px;

  display:
    grid;

  place-items:
    center;

  overflow:
    hidden;

  pointer-events:
    none;

  border-bottom:
    1px solid
    rgba(
      173,
      122,
      32,
      0.11
    );

  background:
    radial-gradient(
      circle at 50% 48%,
      rgba(
        215,
        181,
        111,
        0.13
      ),
      transparent 35%
    ),

    radial-gradient(
      circle at 50% 45%,
      rgba(
        20,
        33,
        61,
        0.035
      ),
      transparent 62%
    ),

    linear-gradient(
      180deg,
      rgba(
        255,
        255,
        255,
        0.86
      ),
      rgba(
        250,
        247,
        239,
        0.46
      )
    );

}


.suite-card-visual::before {

  content:
    "";

  position:
    absolute;

  width:
    145px;

  height:
    145px;

  left:
    50%;

  top:
    50%;

  transform:
    translate(
      -50%,
      -50%
    );

  border:
    1px solid
    rgba(
      173,
      122,
      32,
      0.13
    );

  border-radius:
    50%;

}


.suite-card-visual::after {

  content:
    "";

  position:
    absolute;

  inset:
    0;

  background:
    linear-gradient(
      115deg,
      transparent 0%,
      transparent 38%,
      rgba(
        255,
        255,
        255,
        0.55
      ) 48%,
      transparent 58%,
      transparent 100%
    );

  transform:
    translateX(-130%);

  transition:
    transform
    800ms ease;

}


.suite-card:hover
.suite-card-visual::after {

  transform:
    translateX(130%);

}


/* ============================================================
   MANIFESTATION SVG
   CENTERED ABOVE COPY
   ============================================================ */

.suite-manifest-svg {

  position:
    relative;

  z-index:
    2;

  display:
    block;

  width:
    84%;

  max-width:
    300px;

  height:
    190px;

  margin:
    0 auto;

  overflow:
    visible;

  transform:
    translateY(1px);

  filter:
    drop-shadow(
      0 11px 15px
      rgba(
        20,
        33,
        61,
        0.07
      )
    );

  transition:
    transform
    260ms ease,
    filter
    260ms ease;

}


.suite-card:hover
.suite-manifest-svg {

  transform:
    translateY(-4px)
    scale(1.025);

  filter:
    drop-shadow(
      0 15px 20px
      rgba(
        20,
        33,
        61,
        0.11
      )
    );

}


/* ============================================================
   CARD COPY
   ============================================================ */

.suite-card-content {

  position:
    relative;

  z-index:
    3;

  display:
    flex;

  flex-direction:
    column;

  align-items:
    center;

  justify-content:
    flex-start;

  padding:
    22px
    22px
    24px;

  text-align:
    center;

  background:
    linear-gradient(
      180deg,
      rgba(
        255,
        253,
        248,
        0.92
      ),
      rgba(
        255,
        255,
        255,
        0.98
      )
    );

}


.suite-card-kicker {

  display:
    block;

  margin-bottom:
    8px;

  color:
    var(--gold-deep);

  font-size:
    8px;

  font-weight:
    800;

  letter-spacing:
    0.17em;

}


.suite-card-title {

  margin:
    0;

  color:
    var(--navy);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    1.55rem;

  font-weight:
    500;

  line-height:
    1.12;

  letter-spacing:
    -0.025em;

}


.suite-card-governance {

  display:
    inline-flex;

  align-items:
    center;

  gap:
    6px;

  margin-top:
    12px;

  color:
    var(--muted);

  font-size:
    9px;

  font-weight:
    700;

  letter-spacing:
    0.035em;

}


.suite-card-governance::before {

  content:
    "";

  width:
    5px;

  height:
    5px;

  border-radius:
    50%;

  background:
    var(--gold);

  box-shadow:
    0 0 0 3px
    rgba(
      173,
      122,
      32,
      0.09
    );

}


.suite-card-action {

  display:
    inline-block;

  margin-top:
    15px;

  color:
    var(--navy);

  font-size:
    10px;

  font-weight:
    800;

  letter-spacing:
    0.07em;

  text-transform:
    uppercase;

}


.suite-card-action::after {

  content:
    " →";

  color:
    var(--gold);

}


/* ============================================================
   MANIFESTATION PRESENTATION
   ============================================================ */

.manifest-pulse,
.manifest-breathe,
.manifest-float,
.manifest-spin,
.manifest-signal,
.manifest-flow {

  transform-box:
    fill-box;

  transform-origin:
    center;

}


.suite-card:hover
.manifest-pulse {

  animation:
    manifestPulse
    1.35s
    ease-in-out
    infinite;

}


.suite-card:hover
.manifest-breathe {

  animation:
    manifestBreathe
    4.6s
    ease-in-out
    infinite;

}


.suite-card:hover
.manifest-float {

  animation:
    manifestFloat
    3.4s
    ease-in-out
    infinite;

}


.suite-card:hover
.manifest-spin {

  animation:
    manifestSpin
    18s
    linear
    infinite;

}


.suite-card:hover
.manifest-signal {

  animation:
    manifestSignal
    1.5s
    ease-in-out
    infinite;

}


.suite-card:hover
.manifest-flow {

  animation:
    manifestFlow
    2.6s
    ease-in-out
    infinite;

}


/* ============================================================
   COLLECTION BOUNDARY
   ============================================================ */

.collection-boundary {

  margin-top:
    88px;

  padding:
    46px;

  display:
    grid;

  grid-template-columns:
    0.72fr
    1.28fr;

  gap:
    46px;

  align-items:
    center;

  border:
    1px solid
    rgba(
      215,
      181,
      111,
      0.25
    );

  border-radius:
    24px;

  color:
    white;

  background:
    radial-gradient(
      circle at 88% 20%,
      rgba(
        215,
        181,
        111,
        0.11
      ),
      transparent 25%
    ),

    linear-gradient(
      135deg,
      #0d1830,
      #14213d 58%,
      #1e3153
    );

  box-shadow:
    0 26px 65px
    rgba(
      20,
      33,
      61,
      0.18
    );

}


.collection-boundary
.section-kicker {

  color:
    var(--gold-soft);

}


.boundary-copy h2 {

  margin:
    9px
    0
    0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    clamp(
      2rem,
      4vw,
      3.5rem
    );

  font-weight:
    500;

  line-height:
    1.03;

  letter-spacing:
    -0.04em;

}


.boundary-columns {

  display:
    grid;

  grid-template-columns:
    1fr
    1fr;

  gap:
    14px;

}


.boundary-card {

  min-height:
    210px;

  padding:
    24px;

  border:
    1px solid
    rgba(
      255,
      255,
      255,
      0.11
    );

  border-radius:
    16px;

  background:
    rgba(
      255,
      255,
      255,
      0.045
    );

}


.boundary-card > span {

  color:
    var(--gold-soft);

  font-size:
    8px;

  font-weight:
    800;

  letter-spacing:
    0.17em;

}


.boundary-card h3 {

  margin:
    9px
    0
    0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    20px;

  font-weight:
    500;

}


.boundary-card p {

  margin:
    12px
    0
    0;

  color:
    rgba(
      255,
      255,
      255,
      0.67
    );

  font-size:
    12px;

  line-height:
    1.7;

}


.boundary-card strong,
.boundary-card a {

  display:
    inline-block;

  margin-top:
    19px;

  color:
    var(--gold-soft);

  font-size:
    10px;

  font-weight:
    750;

}


/* ============================================================
   FOOTER
   ============================================================ */

.library-footer {

  margin-top:
    68px;

  padding:
    29px
    3px
    5px;

  display:
    grid;

  grid-template-columns:
    1fr
    1.4fr
    1fr;

  align-items:
    center;

  gap:
    25px;

  border-top:
    1px solid
    var(--border);

  color:
    var(--muted);

}


.footer-brand {

  display:
    flex;

  align-items:
    center;

  gap:
    10px;

}


.footer-brand img {

  width:
    37px;

  height:
    37px;

  object-fit:
    contain;

}


.footer-brand div {

  display:
    flex;

  flex-direction:
    column;

}


.footer-brand strong {

  color:
    var(--navy);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    15px;

  letter-spacing:
    0.05em;

}


.footer-brand span {

  margin-top:
    3px;

  color:
    var(--gold-deep);

  font-size:
    7px;

  font-weight:
    800;

  letter-spacing:
    0.18em;

}


.library-footer > p {

  margin:
    0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:
    12px;

  font-style:
    italic;

  text-align:
    center;

}


.library-footer nav {

  display:
    flex;

  justify-content:
    flex-end;

  gap:
    14px;

  font-size:
    10px;

  font-weight:
    650;

}


.library-footer a:hover {

  color:
    var(--gold-deep);

}


/* ============================================================
   ANIMATION
   ============================================================ */

@keyframes libraryOrbit {

  to {

    transform:
      rotate(360deg);

  }

}


@keyframes libraryPresence {

  50% {

    transform:
      scale(1.018);

  }

}


@keyframes suiteArrival {

  from {

    opacity:
      0;

    transform:
      translateY(12px);

  }

  to {

    opacity:
      1;

    transform:
      translateY(0);

  }

}


@keyframes manifestPulse {

  0%,
  100% {

    transform:
      scale(1);

  }

  18% {

    transform:
      scale(1.035);

  }

  32% {

    transform:
      scale(1);

  }

  45% {

    transform:
      scale(1.018);

  }

}


@keyframes manifestBreathe {

  0%,
  100% {

    transform:
      scale(
        0.985,
        0.98
      );

  }

  50% {

    transform:
      scale(
        1.025,
        1.035
      );

  }

}


@keyframes manifestFloat {

  0%,
  100% {

    transform:
      translateY(0);

  }

  50% {

    transform:
      translateY(-5px);

  }

}


@keyframes manifestSpin {

  to {

    transform:
      rotate(360deg);

  }

}


@keyframes manifestSignal {

  0%,
  100% {

    opacity:
      0.68;

  }

  50% {

    opacity:
      1;

  }

}


@keyframes manifestFlow {

  0%,
  100% {

    opacity:
      0.62;

  }

  50% {

    opacity:
      1;

  }

}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (
  max-width:
  1120px
) {

  .site-header {

    grid-template-columns:
      1fr
      auto;

  }


  .header-identity {

    display:
      none;

  }


  .library-hero {

    grid-template-columns:
      1fr
      390px;

  }


  .governance-strip {

    grid-template-columns:
      1fr;

  }


  .governance-strip article {

    min-height:
      auto;

    border-right:
      0;

    border-bottom:
      1px solid
      var(--border);

  }


  .governance-strip article:last-child {

    border-bottom:
      0;

  }


  .collection-boundary {

    grid-template-columns:
      1fr;

  }

}


@media (
  max-width:
  780px
) {

  .site-header {

    position:
      relative;

    grid-template-columns:
      1fr;

    gap:
      11px;

    padding:
      13px
      18px;

  }


  .brand {

    justify-self:
      center;

  }


  .site-nav {

    justify-self:
      center;

    justify-content:
      center;

    flex-wrap:
      wrap;

  }


  .library-shell {

    width:
      min(
        calc(
          100% - 26px
        ),
        var(--max-width)
      );

    padding-top:
      26px;

  }


  .library-hero {

    min-height:
      auto;

    grid-template-columns:
      1fr;

    gap:
      28px;

    padding:
      18px
      3px
      35px;

  }


  .library-hero h1 {

    font-size:
      clamp(
        3.5rem,
        18vw,
        5.2rem
      );

  }


  .library-emblem {

    width:
      min(
        340px,
        100%
      );

  }


  .emblem-core {

    width:
      215px;

    height:
      215px;

  }


  .section-heading {

    align-items:
      flex-start;

    flex-direction:
      column;

    gap:
      9px;

  }


  .section-intro {

    text-align:
      left;

  }


  .suite-grid {

    grid-template-columns:
      1fr;

  }


  .suite-card {

    min-height:
      365px;

  }


  .collection-boundary {

    margin-top:
      60px;

    padding:
      30px
      21px;

  }


  .boundary-columns {

    grid-template-columns:
      1fr;

  }


  .library-footer {

    grid-template-columns:
      1fr;

    text-align:
      center;

  }


  .footer-brand {

    justify-content:
      center;

  }


  .library-footer nav {

    justify-content:
      center;

    flex-wrap:
      wrap;

  }

}


@media (
  prefers-reduced-motion:
  reduce
) {

  *,
  *::before,
  *::after {

    scroll-behavior:
      auto !important;

    animation-duration:
      0.001ms !important;

    animation-iteration-count:
      1 !important;

    transition-duration:
      0.001ms !important;

  }

}
