/* Finishing layer: warmer light, quiet geometry, and clearer navigation. */
:root{--accent:#debea0;--muted:#a5abb4;--line:rgba(222,231,243,.19)}
html{scroll-padding-top:96px}
.reading-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--accent);transform:scaleX(var(--reading-progress,0));transform-origin:left;z-index:31;pointer-events:none}
.site-header{position:fixed;height:104px;transition:height .4s,background .4s,border-color .4s,backdrop-filter .4s;border-bottom:1px solid transparent}
body.scrolled .site-header{height:78px;background:#080c12bb;border-bottom-color:#e1e8f015;backdrop-filter:blur(22px)}
.brand-lockup{transition:opacity .25s;flex-shrink:0}
.brand:hover .brand-lockup{opacity:.72}
.header-note{font-size:12px;letter-spacing:.08em;transition:color .2s}
.header-note:hover{color:var(--accent)}
.menu-toggle{min-height:44px;border:1px solid #dce4ee33;padding:9px 16px;border-radius:3px;transition:background .25s,border-color .25s}
.menu-toggle:hover{background:#f1f3f008;border-color:#dce4ee66}
.hero-top{color:#c2c5cb}
.hero-top .bracket{color:#d0b59788}
.title-line{display:block;transform-origin:left bottom}
.hero .serif{color:#e5c6a6}
.js .hero-title-wrap .eyebrow{animation:quiet-enter .9s .05s both}
.js .title-line{animation:title-enter 1.25s cubic-bezier(.19,1,.22,1) both}
.js .title-line:nth-child(2){animation-delay:.13s}
.js .hero-description,.js .hero-link{animation:quiet-enter 1.1s .25s both}
.hero-title-wrap{top:31%}
.hero-description{color:#d0d2d6;font-size:17px;line-height:1.65}
.hero-link{border:1px solid #e1c19d55;padding:15px 20px;gap:45px;margin-top:24px;background:#090c1040;backdrop-filter:blur(8px);border-radius:2px}
.hero-link:hover{border-color:var(--accent);background:#e5c6a60d}
.hero-bottom{padding-top:24px;border-top:1px solid #e7e9ee1a;bottom:102px}
.moon-annotation{top:31%;padding:14px 0 14px 14px;border-top:1px solid #d0d7e538;border-bottom:1px solid #d0d7e514}
#rotate-moon{border:1px solid #ccd6e134;border-radius:50%;transition:background .25s,border-color .25s,transform .25s}
#rotate-moon:hover{border-color:#e5c6a6a0;background:#e5c6a610}
.chapter-heading{align-items:center;position:relative;letter-spacing:.1em}
.chapter-heading:before{content:'';position:absolute;top:-1px;left:0;height:2px;width:42px;background:var(--accent)}
.chapter-heading span:first-child{color:#cdc3b5}
.chapter-copy>p:not(.eyebrow){color:#bcc2ca;line-height:1.75}
.chapter-copy .eyebrow{color:#c4ad94}
.chapter-copy .text-link,.horizon-bottom .text-link{position:relative;overflow:hidden;border-color:#828a9477;min-height:48px}
.chapter-copy .text-link:after,.horizon-bottom .text-link:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.chapter-copy .text-link:hover:after,.chapter-copy .text-link:focus-visible:after,.horizon-bottom .text-link:hover:after{transform:scaleX(1)}
.moon-chapter:before,.power-chapter:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 25%,#070b1130 48%,#070b119c)}
.extract-chapter:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#070a10a6,transparent 75%)}
.lunar-caption{border-left:1px solid #dec1a160;padding-left:22px;line-height:1.9}
.lunar-caption .caption-line{display:none}
.resource-chain{border-bottom:1px solid var(--line);background:#080c1252;backdrop-filter:blur(10px)}
.resource-chain li{position:relative;gap:14px;padding-top:27px;padding-bottom:28px;transition:background .35s}
.resource-chain li:before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .45s}
.resource-chain li:hover{background:#e8ccac09}
.resource-chain li:hover:before{transform:scaleX(1)}
.resource-chain li>.meta{color:#c4ab8e}
.resource-chain li>span:not(.meta){font-size:27px}
.resource-chain small{color:#a7afb9;line-height:1.5}
.energy-caption{padding-left:24px;border-left:1px solid #d7bd9a66}
.energy-caption>span:not(.energy-rule){position:relative;line-height:1.7}
.energy-caption>span:nth-child(-n+3):before{content:'';position:absolute;left:-27px;top:8px;width:5px;height:5px;border:1px solid #d2b591;background:var(--ink)}
.energy-rule{background:linear-gradient(90deg,var(--accent),transparent);width:120px}
.horizon-content .eyebrow{color:#c2ae98}
.horizon-content h2 em{color:#ddc2a2}
.horizon-bottom{border-top:1px solid #d3deef24;padding-top:28px}
.contact-intro{max-width:1000px}
.contact-intro .eyebrow{color:#ceb99e}
.contact-status{padding-top:24px;border-top:1px solid var(--line);width:fit-content;margin-top:38px;gap:80px}
.contact-status strong{color:#d9c2a6}
.contact-email{font-size:clamp(18px,2.8vw,36px);letter-spacing:-.045em;line-height:1.6}
.contact-actions>.text-link{color:#a6adb7;font-size:12px}
.footer-wordmark{padding-top:50px;border-top:1px solid #d3deef24;margin-top:75px}
.footer-lettering{transition:opacity .35s}
.footer-wordmark:hover .footer-lettering{opacity:.72}
.chapter-nav,.scene-controls{bottom:22px;border:1px solid #d3dceb26;background:#0a101bcc;backdrop-filter:blur(22px);border-radius:4px;box-shadow:0 8px 35px #0004}
.chapter-nav{padding:6px 14px}
.chapter-nav a{position:relative;width:25px;height:34px}
.chapter-nav a:after{content:attr(aria-label);position:absolute;bottom:calc(100% + 18px);left:50%;transform:translate(-50%,5px);white-space:nowrap;font-family:Mono,monospace;font-size:12px;line-height:1.4;background:#111823;border:1px solid #e9edf328;padding:8px 11px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.chapter-nav a:hover:after,.chapter-nav a:focus-visible:after{opacity:1;transform:translate(-50%,0)}
.chapter-nav a[aria-current] span{background:var(--accent);box-shadow:0 0 0 4px #e2bd9812}
#chapter-number{padding-left:15px;margin-left:12px;border-left:1px solid var(--line);font-size:11px;color:#ccd0d7}
#chapter-name{margin-left:18px;min-width:84px;font-size:10px;color:#b7a38b;letter-spacing:.03em}
.scene-controls{gap:16px;padding:6px 12px}
.scene-controls>button{min-height:34px;min-width:34px}
.scene-controls .icon-control{border-left:1px solid #d3dceb26;padding-left:14px;min-width:40px}
.scene-controls #survey-toggle{font-size:11px;min-width:123px}
.scene-controls>button[aria-pressed=true]{color:var(--accent)}
#orbit-tooltip{border-color:#d3b28c8a;color:#e5ccb0;background:#0a0e1440;font-size:11px;letter-spacing:.02em}
dialog{border-radius:4px}
#detail-dialog{background:linear-gradient(135deg,#141d2a,#0a0e14 65%);border-color:#d6c0a334}
#detail-dialog[open]{animation:dialog-enter .35s ease-out}
#detail-title{max-width:560px}
#detail-label{color:#d3b999}
.close-button{min-height:44px}
#menu-dialog{background:linear-gradient(135deg,#101925,#070a0f 70%)}
.menu-layout>p{padding-top:20px;line-height:2.2;color:#a0aab8}
.menu-layout nav a{transition:color .25s,padding-left .3s}
.menu-layout nav a:hover,.menu-layout nav a:focus-visible{padding-left:12px}
.menu-footer{border-top:1px solid var(--line);padding-top:24px}
.menu-email{color:#d3bda3}
@keyframes title-enter{from{opacity:0;transform:translateY(35px) rotate(1.5deg);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes quiet-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(min-width:1800px){.hero-title-wrap{top:32%}}
@media(min-width:651px) and (max-height:850px){.hero{min-height:880px}.hero-title-wrap{top:29%}.hero-bottom{bottom:100px}}
@media(max-width:1100px){#chapter-name{display:none}.header-note{margin-right:3vw}.chapter-copy.align-right{margin-left:49%;max-width:51%}.moon-annotation{top:25%}}
@media(max-width:800px){.scene-controls{gap:10px}.chapter-nav{padding:6px 10px}#chapter-number{display:none}.hero-bottom .drag-hint{display:none}}
@media(max-width:650px){
  html{scroll-padding-top:86px}
  .site-header{height:90px}.site-header .brand-lockup{width:168px}
  body.scrolled .site-header{height:74px}
  .menu-toggle{padding:7px 11px;font-size:11px;gap:10px}.menu-glyph{width:19px}
  .hero{height:100svh;min-height:850px;max-height:none}
  .hero-top{top:125px}
  .hero-title-wrap{top:38%}.hero .eyebrow{font-size:10px}
  .hero-description{font-size:16px;line-height:1.7;margin-top:26px}
  .hero-link{padding:14px 16px;margin-top:22px;font-size:11px;gap:34px}
  .hero-bottom{bottom:103px;padding-top:18px}
  .moon-annotation{top:24%;padding:8px 0 8px 8px;gap:8px;font-size:10px}
  #rotate-moon{min-width:38px;min-height:38px}
  .chapter:not(.hero){min-height:0;padding-top:90px;padding-bottom:115px}
  .chapter-copy,.chapter-copy.align-right,.extract-chapter .chapter-copy,.power-chapter .chapter-copy{margin:305px 0 0;max-width:100%}
  .chapter-copy>p:not(.eyebrow){line-height:1.75}
  .chapter-copy .text-link{font-size:11px;gap:25px}
  .moon-chapter:before,.power-chapter:before{background:linear-gradient(0deg,#080c13b8,transparent 75%)}
  .extract-chapter:before{background:linear-gradient(0deg,#080c13cc,transparent 90%)}
  .lunar-caption{font-size:10px;padding-left:15px;top:173px}
  .resource-chain li{padding-top:22px;padding-bottom:23px}
  .resource-chain li>span:not(.meta){font-size:23px}
  .resource-chain small{font-size:13px}
  .energy-caption{top:170px;padding-left:18px}
  .energy-caption>span:nth-child(-n+3):before{left:-21px}
  .horizon-content{margin-top:245px}.horizon-bottom{padding-top:24px;margin-top:35px}
  .contact-intro{margin-top:60px}.contact-status{gap:28px;margin-top:30px;padding-top:20px}
  .contact-email{font-size:clamp(16px,4.4vw,21px);gap:12px}.detail-email{font-size:16px}
  .footer-wordmark{margin-top:60px;padding-top:35px}
  .contact-chapter{padding-bottom:30px!important}
  .chapter-nav{left:16px;bottom:17px;padding:2px 6px}
  .chapter-nav a{width:16px;height:42px}.chapter-nav a:after{display:none}
  .scene-controls{right:16px;bottom:17px;gap:0;padding:2px 5px}
  .scene-controls #survey-toggle{min-width:44px;justify-content:center}.scene-controls #survey-label{display:none}
  .scene-controls>button,.scene-controls .icon-control{min-width:44px;min-height:42px;padding:0}
  .scene-controls .control-cross{font-size:23px}
  .scene-controls .icon-control svg{width:20px}
  .menu-layout nav a{font-size:34px}.menu-layout nav a:hover{padding-left:6px}
  .menu-footer{margin-top:35px;font-size:10px;gap:14px}.menu-email{font-size:14px}
}
@media(max-width:360px){.site-header .brand-lockup{width:144px}.site-header{gap:14px}.hero-link{gap:25px}}
@media(prefers-reduced-motion:reduce){.js .title-line,.js .hero-title-wrap .eyebrow,.js .hero-description,.js .hero-link,#detail-dialog[open]{animation:none}.menu-layout nav a:hover{padding-left:0}}
body.motion-paused .title-line,body.motion-paused .hero-title-wrap .eyebrow,body.motion-paused .hero-description,body.motion-paused .hero-link{animation:none;opacity:1;transform:none;filter:none}
