/* Gabriel Daniels / fluid interface layer. The editorial identity stays intact. */
:root {
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --glass: rgba(26, 27, 23, .78);
  font-size: 100%;
  font-optical-sizing: auto;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  scrollbar-gutter: stable;
}
body { font-size: 1rem; letter-spacing: 0; }
a, button { touch-action: manipulation; }
button, .button, .text-link, .email-link, .scroll-cue, .footer-links a { min-height: 2.75rem; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; border-radius: .25rem; }
.light a:focus-visible, .light button:focus-visible, .article-dialog button:focus-visible { outline-color: #695331; }
section[tabindex='-1']:focus, main[tabindex='-1']:focus { outline: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Floating structural glass: consistent height, no scroll-induced layout shift. */
.header, .header.scrolled {
  top: max(.875rem, env(safe-area-inset-top));
  left: var(--gutter); right: var(--gutter); width: auto;
  padding: .5rem 1.25rem; min-height: 4.25rem; gap: 1.5rem;
  border: 1px solid rgba(240,237,229,.14); border-top-color: rgba(240,237,229,.25);
  border-radius: 1.5rem; background: var(--glass);
  -webkit-backdrop-filter: blur(22px) saturate(135%); backdrop-filter: blur(22px) saturate(135%);
  box-shadow: 0 8px 32px #0002, inset 0 1px 0 #ffffff05;
  transition: background 180ms ease, box-shadow 180ms ease;
}
.header.scrolled { background: rgba(26,27,23,.9); box-shadow: 0 10px 35px #0003; }
.header::after { content: ''; position: absolute; inset: 100% 1rem auto; height: .75rem; background: linear-gradient(#15151216, transparent); pointer-events: none; }
.wordmark { font-size: 1.0625rem; letter-spacing: -.035em; }
.desktop-nav { gap: .375rem; margin-left: 0; font-size: .8125rem; }
.desktop-nav a { display: flex; align-items: center; min-height: 2.75rem; padding: .5rem .875rem; border-radius: .75rem; color: #d4d2c9; }
.desktop-nav a::after { display: none; }
.desktop-nav a.active { background: #f0ede514; color: #fff8ed; }
.desktop-nav a:hover { background: #f0ede50b; }
.header-contact { border: 0; border-radius: .875rem; padding: .625rem 1rem; min-height: 2.75rem; font-size: .8125rem; gap: 1rem; background: #f0ede514; }
.menu-button { min-height: 2.75rem; min-width: 4.75rem; padding: .5rem .625rem; font-size: .8125rem; border-radius: .75rem; }
.menu-lines { transition: transform 150ms ease; }
.menu-scrim, .article-scrim { position: fixed; inset: 0; background: #0e100d85; opacity: 0; visibility: hidden; }
.menu-scrim { z-index: 98; }
.article-scrim { z-index: 110; pointer-events: none; background: #0e100d99; -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }
.menu-scrim.surface-visible, .article-scrim.surface-visible { visibility: visible; }
.mobile-menu, .menu-open .mobile-menu {
  inset: max(6rem, calc(env(safe-area-inset-top) + 5.125rem)) var(--gutter) auto;
  max-height: calc(100dvh - 7.25rem); padding: 1.75rem; gap: .375rem;
  max-width: 32rem; margin-left: auto; border-radius: 1.5rem;
  background: rgba(29,30,26,.94); border: 1px solid #f0ede528;
  -webkit-backdrop-filter: blur(28px) saturate(135%); backdrop-filter: blur(28px) saturate(135%);
  box-shadow: 0 25px 80px #0006; visibility: hidden; opacity: 0;
  transform: translateY(-12px) scale(.965); transition: none;
}
.mobile-menu.surface-visible { visibility: visible; }
.mobile-menu a { font-size: clamp(2rem, 7vw, 3.5rem); padding: .5rem .25rem; min-height: 3.5rem; border-radius: .5rem; }
.mobile-menu a span { font-size: .6875rem; }
.menu-caption { margin-bottom: .75rem; font-size: .6875rem; }
.menu-footer { margin-top: 1.25rem; font-size: .6875rem; }

/* Instant input acknowledgment; release follows the pointer, not a timeout. */
.button, .header-contact, .menu-button, .dialog-close, .motion-toggle, .contact-button { transition: background 150ms ease, color 150ms ease, box-shadow 150ms ease, scale 120ms ease; }
.button:active, .header-contact:active, .menu-button:active, .dialog-close:active, .motion-toggle:active, .contact-button:active { scale: .97; transition: none; }
.desktop-nav a:active, .mobile-menu a:active, .footer-links a:active { background: #cfb58c22; transition: none; }
.venture-card:active .venture-art, .journal-entry:active .journal-cover { filter: brightness(.9); transition: none; }
.text-link:active, .email-link:active, .scroll-cue:active { opacity: .65; }
.button { border-radius: .875rem; font-size: .875rem; padding: .875rem 1.375rem; min-height: 3.25rem; }
.button-arrow, .text-link > span, .header-contact span { transition-duration: 180ms; }

/* Scale + weight + leading: system text for UI, distinctive serif for display. */
h1, h2, h3 { font-optical-sizing: auto; }
h1 { font-size: clamp(4rem, 1rem + 9.2vw, 9.75rem); line-height: .94; letter-spacing: -.045em; }
h2, .about-heading h2 { font-size: clamp(3.25rem, 1.5rem + 4.8vw, 6rem); line-height: 1.02; letter-spacing: -.035em; }
.hero { height: auto; min-height: min(56.25rem, 100svh); padding-top: 9rem; padding-bottom: 8.5rem; }
.hero-copy { margin-top: 2.5rem; }
.hero-copy p { font-size: 1rem; line-height: 1.7; max-width: 24rem; color: #c2c1b7; margin-top: 2rem; }
.hero-top { font-size: .6875rem; letter-spacing: .12em; }
.eyebrow { font-size: .6875rem; letter-spacing: .12em; }
.section-side-label { font-size: .6875rem; }
.hero-bottom { font-size: .6875rem; letter-spacing: .03em; }
.hero-edition { color: #a6a799; }
.about-copy p { font-size: 1rem; line-height: 1.8; }
.about-copy .lead { font-size: 1.25rem; line-height: 1.55; }
.text-link, .email-link { font-size: .875rem; align-items: center; }
.section-heading p { font-size: 1rem; line-height: 1.65; }
.credentials-intro p { font-size: .875rem; }
.credential-label, .venture-index, .venture-destination, .art-coordinate { font-size: .6875rem; }
.venture-destination { color: #b5b7ab; }
.venture-info h3 { font-size: clamp(2.25rem, 1rem + 2.5vw, 3rem); }
.venture-art, .journal-cover { border-radius: 1.125rem; }
.venture-art { transition: filter 150ms; will-change: auto; }
.venture-card:hover .venture-art { will-change: transform; }
.venture-card .wire-sphere, .venture-card .glass-stack, .venture-card .ribbon, .venture-card .lens { animation: none; }
.scroll-cue span { animation: none; }
.circle-arrow, .contact-arrow { transition-duration: 180ms; }
.journal-meta { font-size: .6875rem; letter-spacing: .05em; }
.journal-entry h3 { font-size: clamp(2rem, 1.25rem + 1.5vw, 2.5rem); line-height: 1.13; }
.journal-cover > span { font-size: clamp(3rem, 1rem + 4.5vw, 5rem); }
.journal-cover > small, .art-notation, .manifesto-signoff { font-size: .625rem; }
.journal-entry:hover .paper-fold, .journal-entry:hover .journal-sphere, .journal-entry:hover .journal-cover > span { transform: none; }
.paper-fold, .journal-sphere, .journal-cover > span { transition: none; }
.journal-entry .paper-fold, .journal-entry:hover .paper-fold { transform: rotate(24deg); }
.contact h2 { font-size: clamp(4rem, 1.5rem + 8vw, 9.6875rem); line-height: .98; }
.contact-bottom p, .contact-button { font-size: .9375rem; }
.contact-bottom { max-width: 55rem; }
.contact-watermark { pointer-events: none; }
.copyright { font-size: .6875rem; }
.footer-links { font-size: .8125rem; align-items: center; }
.footer-links a { display: inline-flex; align-items: center; }
.motion-toggle { font-size: .6875rem; min-height: 2.75rem; padding: .5rem .875rem; bottom: max(1rem, env(safe-area-inset-bottom)); color: #e0dbcd; background: #23251eef; }
.motion-icon { font-size: .8125rem; }

/* Reading surfaces: substantial material, native focus containment, local scrolling. */
.article-dialog { --surface-progress: 1; width: min(47.5rem, calc(100% - 2rem)); max-height: calc(100dvh - 3rem); overflow: hidden; border: 1px solid #ffffff77; border-radius: 1.75rem; background: #f0ede5; box-shadow: 0 35px 120px #0006; }
.article-dialog[open] { display: flex; flex-direction: column; animation: none; }
.article-dialog::backdrop { background: transparent; backdrop-filter: none; }
.article-top { flex: 0 0 auto; padding: 1rem 1.5rem; background: #e9e5da; border-bottom-color: #d4cebf; }
.article-top .eyebrow { font-size: .6875rem; color: #66573e; }
.dialog-close { flex-shrink: 0; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: #dad5c8; color: #45483b; font-size: 1.75rem; display: grid; place-items: center; }
.article-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 2.5rem 3.5rem 3rem; }
.article-body > .eyebrow { font-size: .6875rem; color: #66573e; }
.article-body h2 { font-size: clamp(2.5rem, 1rem + 3vw, 3.875rem); line-height: 1.06; margin: 1.25rem 0 1.75rem; }
.article-body p { font-size: 1rem; line-height: 1.8; color: #555a4d; margin-bottom: 1.25rem; }
.article-body .article-lead { font-size: 1.75rem; line-height: 1.4; }
.article-note { font-size: .75rem; line-height: 1.6; }
.sheet-grab-zone { display: none; }
.reveal { transition: opacity 350ms ease; }
.motion-ready .reveal.pending { translate: none; }
.motion-ready .reveal.visible { translate: none; }

@media (max-width: 1000px) and (min-width: 761px) {
  .header { left: 1.5rem; right: 1.5rem; gap: .75rem; padding-inline: 1rem; }
  .desktop-nav a { padding-inline: .5rem; }
  .header-contact { gap: .5rem; padding-inline: .75rem; }
  .hero { min-height: 49rem; }
}
@media (max-width: 760px) {
  :root { --gutter: 1.5rem; }
  .header, .header.scrolled { left: 1rem; right: 1rem; padding: .375rem .875rem; gap: .5rem; min-height: 3.875rem; border-radius: 1.25rem; }
  .wordmark { font-size: 1rem; }
  .mobile-menu, .menu-open .mobile-menu { left: 1rem; right: 1rem; padding: 1.5rem; }
  .hero { min-height: 0; padding-top: 8rem; padding-bottom: 0; }
  .hero-copy { margin-top: 1.75rem; }
  h1 { font-size: clamp(3.25rem, .75rem + 12vw, 6.875rem); line-height: .95; }
  .hero-top { font-size: .625rem; letter-spacing: .075em; }
  .title-italic { white-space: normal; }
  .hero-copy p { font-size: .9375rem; margin: 1.5rem 0; }
  .art-stage { height: 24rem; margin-top: -.5rem; }
  .hero-bottom { font-size: .625rem; gap: .75rem; }
  .hero-bottom > span { max-width: 52%; }
  .scroll-cue { gap: .5rem; }
  .eyebrow, .section-side-label { font-size: .625rem; }
  .section-kicker { gap: 1rem; }
  h2, .about-heading h2 { font-size: clamp(2.75rem, 1.25rem + 8vw, 4.5rem); }
  .about-copy p { font-size: 1rem; }
  .about-copy .lead { font-size: 1.125rem; }
  .credentials-intro p { font-size: .8125rem; }
  .venture-info h3 { font-size: 2.5rem; }
  .section-heading p { font-size: .9375rem; }
  .journal-meta { flex-wrap: wrap; font-size: .625rem; }
  .journal-entry h3 { font-size: 2rem; }
  .contact h2 { font-size: clamp(3.5rem, 1rem + 11vw, 6rem); }
  .contact-bottom { flex-wrap: wrap; gap: 1.5rem; }
  .contact-bottom p, .contact-button { font-size: .875rem; }
  .email-link { font-size: .8125rem; overflow-wrap: anywhere; }
  .copyright, .footer-links { font-size: .6875rem; }
  .footer { padding-bottom: 6rem; }
  .footer-links { gap: 1rem; }
  .article-dialog { inset: auto 0 0; margin: 0 auto; width: 100%; max-height: 90dvh; border-radius: 1.75rem 1.75rem 0 0; border-bottom: 0; }
  .sheet-grab-zone { display: grid; place-items: center; flex: 0 0 2.75rem; touch-action: none; cursor: grab; background: #e9e5da; }
  .sheet-grab-zone.is-dragging { cursor: grabbing; }
  .sheet-grab-zone > span[aria-hidden] { width: 2.5rem; height: .3rem; border-radius: 1rem; background: #aaa596; }
  .article-top { padding: 0 1.25rem .75rem; }
  .article-body { padding: 1.75rem 1.5rem max(2rem, env(safe-area-inset-bottom)); }
  .article-body h2 { font-size: 2.75rem; }
}
@media (max-width: 370px) {
  :root { --gutter: 1.25rem; }
  .wordmark { font-size: .875rem; }
  .menu-button { min-width: 4.25rem; gap: .625rem; }
  .hero-top { flex-wrap: wrap; gap: .5rem; }
  .hero-bottom { flex-wrap: wrap; }
  .hero-bottom > span { max-width: 100%; }
  .article-body h2 { font-size: 2.25rem; }
}
/* Independent accessibility preferences, including live OS changes. */
.motion-paused *, .motion-paused *::before, .motion-paused *::after { transition: none !important; animation: none !important; }
.motion-paused .venture-art { transform: none !important; }
.motion-paused :is(.button,.header-contact,.menu-button,.dialog-close,.motion-toggle,.contact-button):active { scale: 1; filter: brightness(.88); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal, .motion-ready .reveal.pending { opacity: 1; translate: none; }
  .venture-art, .mobile-menu, .article-dialog { transform: none !important; }
  :is(.button,.header-contact,.menu-button,.dialog-close,.motion-toggle,.contact-button):active { scale: 1; filter: brightness(.88); }
}
@media (prefers-reduced-transparency: reduce) {
  .header, .header.scrolled, .mobile-menu, .motion-toggle { background: #23251f; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .article-scrim { background: #10120eaa; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .glass-sheet { background: #52645e; }
}
@media (prefers-contrast: more) {
  .header, .header.scrolled, .mobile-menu, .motion-toggle { background: #191a16; border: 2px solid #f0ede5; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .article-dialog { border: 2px solid #191a16; }
  .light :is(p,.eyebrow,.text-link,.journal-meta,.credential-label,.article-note) { color: #34382e; }
  .dark :is(p,.eyebrow,.venture-destination,.copyright) { color: #e5e2d7; }
  a:focus-visible, button:focus-visible { outline-width: 3px; }
}
@media (forced-colors: active) {
  .header, .mobile-menu, .article-dialog { border: 1px solid CanvasText; }
  .dialog-close, .menu-button, .button, .motion-toggle { border: 1px solid ButtonText; }
}
