.colophon .footer-action { appearance:none; border:0; padding:0; background:none; color:inherit; font:inherit; cursor:pointer; text-align:left; }
.colophon .footer-action:hover { color:#e1b570; }
.colophon .footer-action:focus-visible { outline:2px solid #e1b570; outline-offset:6px; }
.colophon [data-research-toggle] { color:#ddbd88; text-shadow:0 0 10px #d7a75c30; }
.colophon [data-research-toggle][aria-expanded="false"] { animation:research-invitation 4.6s 1.2s ease-in-out infinite; }
.colophon [data-research-toggle]:is(:hover,:focus-visible) { animation:none; color:#ffe5b6; text-shadow:0 0 8px #e1b57099,0 0 20px #d7a75c66; }
@keyframes research-invitation {
  0%,24%,100% { color:#ddbd88; text-shadow:0 0 6px #d7a75c20,0 0 18px #d7a75c00; }
  52% { color:#ffe5b6; text-shadow:0 0 8px #e1b570b3,0 0 22px #d7a75c88; }
}
.still .colophon [data-research-toggle] { animation:none; }
@media(prefers-reduced-motion:reduce) { .colophon [data-research-toggle] { animation:none; } }
.foundation-stage { position:relative; overflow:clip; background:radial-gradient(ellipse at 25% 280px,#355352 0,#14252d 740px); }
.bedrock-research { appearance:none; position:absolute; z-index:3; bottom:0; left:0; width:100%; height:150px; margin:0; padding:0; border:0; background:transparent; cursor:pointer; }
.bedrock-research:focus-visible { outline:2px solid #dfb271; outline-offset:-8px; }
.anchor-in-motion:not(.anchor-grounded) .bedrock-research { visibility:hidden; }
@media(max-width:700px) { .bedrock-research { height:105px; } }
.trailer-edition .foundation-stage .full-book-offer { background:transparent; }
.foundation-scenery { position:absolute; top:var(--foundation-top,700px); right:0; bottom:0; left:0; z-index:0; overflow:clip; pointer-events:none; }
.foundation-mask-defs { position:absolute; pointer-events:none; }
.foundation-occlusion-ready .foundation-scenery { mask:url(#foundation-metal-cutout); }
.foundation-arrival,.foundation-quake { position:absolute; inset:0; }
.foundation-art { position:absolute; width:var(--foundation-width,1800px); top:var(--foundation-offset,-68px); left:var(--foundation-left,calc(52% - 936px)); }
.foundation-fissures { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; filter:drop-shadow(0 0 3px #cd9b514d); }
.foundation-opening .foundation-quake { animation:foundation-quake 1350ms linear both; }
.research-foundation { position:relative; z-index:2; overflow:hidden; background:transparent; color:#eaddbf; scroll-margin-top:100px; }
.research-foundation[hidden] { display:none; }
.research-inner { max-width:1180px; margin:auto; padding:64px clamp(24px,5.4vw,104px) 80px; text-shadow:0 1px 12px #101c25; }
.research-measuring { position:absolute; width:100%; visibility:hidden; pointer-events:none; }
.foundation-opening { overflow-anchor:none; }
@keyframes foundation-quake {
  0%,8% { transform:translate(0,0); }
  14% { transform:translate(-2px,2px); }
  19% { transform:translate(4px,-3px); }
  24% { transform:translate(-5px,5px); }
  29% { transform:translate(3px,-2px); }
  35% { transform:translate(-3px,3px); }
  43% { transform:translate(2px,-1px); }
  52% { transform:translate(-1px,2px); }
  65% { transform:translate(.5px,-.5px); }
  82%,100% { transform:translate(0,0); }
}
@media(prefers-reduced-motion:reduce) { .foundation-stage *, .foundation-stage *::before, .foundation-stage *::after { animation:none !important; } }
.still .foundation-stage *, .still .foundation-stage *::before, .still .foundation-stage *::after { animation:none !important; }
.research-heading { display:flex; gap:24px; align-items:center; justify-content:space-between; margin-bottom:34px; }
.research-heading h2 { font:400 clamp(36px,5vw,60px)/1.1 Prologue,Georgia,serif; margin:0; }
.research-close { border:0; padding:12px 0 12px 20px; color:#c4ccc8; background:none; cursor:pointer; font:inherit; }
.research-papers { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 48px; }
.research-papers li { border-top:1px solid #d5af6b4d; }
.research-papers a,.research-paper-unpublished { display:grid; grid-template-columns:28px 1fr 18px; gap:14px; padding:24px 0; color:inherit; text-decoration:none; }
.research-papers a:hover .paper-title { color:#ecc58a; }
.paper-number { color:#d6a45e; font:14px/1.8 Companion,Arial,sans-serif; }
.paper-title { font:400 clamp(21px,2vw,27px)/1.18 Prologue,Georgia,serif; }
.paper-detail { display:block; margin-top:8px; font:14px/1.6 Companion,Arial,sans-serif; color:#bac5c1; }
.paper-arrow { color:#d6a45e; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.4; }
.research-foundation :focus-visible { outline:2px solid #e1b570; outline-offset:6px; }
.contact-dialog { width:min(620px,calc(100% - 36px)); max-height:calc(100dvh - 36px); box-sizing:border-box; border:1px solid #d4ad7040; padding:clamp(24px,4vw,44px); background:#12232b; color:#eee2c8; }
.contact-dialog::backdrop { background:#07131be8; }
.contact-dialog h2 { margin:0 35px 14px 0; font:400 clamp(32px,4vw,46px)/1.1 Prologue,Georgia,serif; }
.contact-dialog > p { color:#bcc9c6; font-size:16px; line-height:1.6; margin:0; }
.contact-close { position:absolute; top:16px; right:16px; width:44px; height:44px; border:0; background:none; color:#eee2c8; font-size:28px; cursor:pointer; }
.contact-dialog .preorder-form { border:0; padding:0; margin-top:26px; }
.contact-dialog input[type=email],.contact-dialog textarea { display:block; width:100%; box-sizing:border-box; border:1px solid #8c9c9a; border-radius:0; background:#0d1c24; color:#eee2c8; padding:12px; font:16px/1.5 Companion,Arial,sans-serif; }
.contact-dialog textarea { resize:vertical; min-height:130px; }
.contact-dialog .field-label { margin-top:20px; }
.contact-dialog .field-label span { color:#9aaca8; }
.contact-dialog .contact-optin { display:flex; gap:12px; align-items:flex-start; margin:22px 0; font-size:15px; line-height:1.55; }
.contact-optin input { flex:none; width:18px; height:18px; margin:3px 0 0; accent-color:#d4ad70; }
.contact-dialog .preorder-note { font-size:14px; color:#aebfba; line-height:1.6; }
.contact-dialog .preorder-status { color:#ecd1a0; font-size:16px; line-height:1.6; }
.contact-dialog :focus-visible { outline:2px solid #e1b570; outline-offset:4px; }
.contact-page { position:relative; margin:clamp(24px,8vh,80px) auto; max-height:none; }
.contact-page h1 { margin:0 0 14px; font:400 clamp(32px,4vw,46px)/1.1 Prologue,Georgia,serif; }
.contact-page .contact-return { display:inline-block; margin-top:24px; }
@media(max-width:700px) { .research-papers { grid-template-columns:1fr; } .research-inner { padding-top:40px; } }
