html { scrollbar-gutter: stable; }
.brand-link { display: inline-flex; align-items: center; gap: 12px; }
.brand-symbol { display: block; flex: 0 0 64px; width: 64px; }
.brand-symbol:empty { display: none; }
svg.brand-mark { display: block; width: 100%; height: auto; overflow: visible; fill: none; stroke: none; }
.brand-ink { fill: none; stroke: currentColor; stroke-width: 7.5; stroke-linecap: butt; stroke-linejoin: round; }
.brand-lenses { opacity: 0; transition: opacity 350ms ease; }
a.brand-link:focus-visible .brand-lenses, .brand-link[aria-pressed="true"] .brand-lenses { opacity: 1; }
@media (hover: hover) {
  .brand-link:hover .brand-lenses { opacity: 1; }
}

[data-intro-content] { transition: opacity 250ms ease; }
.brand-loading body { overflow: hidden; }
.brand-loading [data-intro-content] { opacity: 0; }
.brand-loading.brand-revealing [data-intro-content] { opacity: 1; }
.brand-loading .brand-symbol { opacity: 0; }
.brand-loading:not(.brand-revealing) [data-intro-content] * { animation-play-state: paused !important; }
.brand-intro { position: fixed; inset: 0; z-index: 100; color: var(--foreground, var(--mint, #e3f0da)); }
.brand-intro-backdrop { position: absolute; inset: 0; background: var(--background, var(--plum, #302536)); transition: opacity 300ms ease; }
.brand-revealing .brand-intro-backdrop { opacity: 0; }
.brand-intro-mark { position: absolute; left: 50%; top: 50%; width: min(65vw, 420px, 65svh); transform: translate(-50%, -50%); transform-origin: center; will-change: transform; }

@media (max-width: 1000px) and (min-width: 761px) {
  .site-header .header-caption { display: none; }
}
@media (max-width: 600px) {
  .brand-symbol { flex-basis: 56px; width: 56px; }
  .site-header .brand-symbol:not(:empty) + .brand-name { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .brand-lenses, [data-intro-content], .brand-intro-backdrop { transition: none; }
}

/* A single glass navigation bar, with the original text labels. */
:is(.site-header,.poster) .header-nav,.header nav[aria-label="Main navigation"]{
  display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:nowrap;
  gap:4px;padding:6px;border:1px solid #deefdc30;border-radius:999px;
  background:linear-gradient(120deg,#ffffff10,#141017b3);
  box-shadow:inset 0 1px 1px #ffffff18,0 8px 24px #00000015;
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
}
:is(.site-header,.poster) .header-nav a,.header nav[aria-label="Main navigation"] a{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:12px 18px;min-height:44px;border-radius:999px;white-space:nowrap;
  font-size:13px;transition:background-color .2s ease,color .2s ease;
}
:is(.site-header,.poster) .header-nav a:hover,.header nav[aria-label="Main navigation"] a:hover,
.header nav[aria-label="Main navigation"] a[aria-current="page"]{
  background:#deefdc24;color:inherit;
}
:is(.site-header,.poster) .header-nav a:focus-visible,.header nav[aria-label="Main navigation"] a:focus-visible{outline-offset:1px}
@media(max-width:760px){
  .site-header{flex-wrap:wrap;padding-block:16px;gap:16px}
  :is(.site-header,.poster) .header-nav,.header nav[aria-label="Main navigation"]{width:100%;gap:2px;padding:5px}
  :is(.site-header,.poster) .header-nav a,.header nav[aria-label="Main navigation"] a{flex:1;padding:10px 8px;font-size:12px;gap:5px}
  :is(.site-header,.poster) .header-nav svg{width:14px;height:14px}
}
@media(prefers-reduced-motion:reduce){:is(.site-header,.poster) .header-nav a,.header nav[aria-label="Main navigation"] a{transition:none}}

/* Desktop header navigation; a minimal bottom dock on phones. */
@media(max-width:760px){
  .site-header .header-nav,.header nav[aria-label="Main navigation"]{
    position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));
    transform:translateX(-50%);width:calc(100% - 28px);max-width:470px;
    z-index:50;margin:0;background:linear-gradient(120deg,#302536ed,#141017ed);
    color:#e3f0da;border-color:#deefdc40;
  }
  .site-header,.header{z-index:50}
  .contact-footer,.footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  html{scroll-padding-bottom:100px}
}

/* Shared footer palette switch. */
.mood-button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px;background:transparent;border:0;color:inherit;font:inherit;font-size:12px;cursor:pointer}
.mood-swatch{display:inline-block;width:14px;height:14px;border:1px solid currentColor;border-radius:50%;background:linear-gradient(90deg,#302536 50%,#dce9cd 50%)}
.mood-button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
:root[data-mood="mint"]{color-scheme:light;--plum:#dce9cd;--mint:#302536;--muted:#5e5663;--lime:#42334b;--line:#30253630}
:root[data-mood="mint"] .header nav[aria-label="Main navigation"],:root[data-mood="mint"] .site-header .header-nav{background:#dce9cdeF;color:#302536;border-color:#30253640}
:root[data-mood="mint"] .header nav[aria-label="Main navigation"] a:hover,:root[data-mood="mint"] .header nav[aria-label="Main navigation"] a[aria-current="page"],:root[data-mood="mint"] .site-header .header-nav a:hover{background:#30253618}
.footer{flex-wrap:wrap}

.page-intro{display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,4vw,56px);margin-bottom:32px;padding-block:16px}
.page-intro h1{min-width:0;max-width:10ch;margin:0;font:400 clamp(2rem,5vw,5.75rem)/1.08 var(--display);letter-spacing:-.035em}
.page-intro img{display:block;flex-shrink:0;width:clamp(104px,24vw,320px);height:auto;border-radius:2px}

.journal-invite{border-top:1px solid var(--line);padding-block:40px;margin-top:24px}
.journal-invite h2{font:400 clamp(2.2rem,4vw,4rem)/1.12 var(--display);letter-spacing:-.025em;margin:16px 0}
.journal-invite>p:not(.eyebrow){max-width:38rem;color:var(--muted)}
.journal-invite>a{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;font-size:.9rem;text-decoration:underline;text-underline-offset:5px}

/* Flat navigation. */
:is(.site-header,.poster) .header-nav,.header nav[aria-label="Main navigation"]{box-shadow:none}
