/* Marketing layouts composed for phones. Desktop remains the approved design. */
@media (max-width: 720px) {
  body { background: #151510; color: #f3e6d0; }
  .site-header { min-height: 62px; padding: calc(9px + env(safe-area-inset-top)) 20px 9px; gap: 10px; background: #151510; border-color: #b99a6040; }
  .brand { font-size: 20px; letter-spacing: -.025em; }
  .mobile-nav summary { min-height: 44px; font-size: 12px; color: #d8bf90; gap: 9px; }
  .mobile-nav nav { width: min(300px, calc(100vw - 40px)); background: #252017; border-color: #b99a6060; border-radius: 7px; padding: 8px; }
  .mobile-nav nav a { font-size: 14px; padding: 14px; }
  .button, .product-button { min-height: 50px; border-radius: 6px; padding: 13px 18px; font-size: 14px; }
  .button { background: linear-gradient(115deg, #ecd4a4, #caa46b); color: #282113; border-color: #e2c18a; }
  .button-outline { background: #231f17; color: #ead2a3; border-color: #aa8d5e80; }
  .overline, .eyebrow { font-size: 10px; letter-spacing: .11em; }
  .gateway { padding: 0 16px 24px; gap: 14px; background: #151510; }
  .gateway-title { padding: 25px 10px 16px; border: 0; background: none; }
  .gateway-title p { font-size: 9px; letter-spacing: .12em; }
  .gateway-title h1 { font-size: clamp(31px, 9vw, 42px); line-height: 1.08; margin-top: 12px; color: #f5e6ca; }
  .product { min-height: 340px; padding: 105px 22px 24px; border: 1px solid #c0a16c40; border-radius: 10px; overflow: hidden; }
  .product::before { background: linear-gradient(0deg, #151510f5, #15151095 55%, #15151010); }
  .product h2 { font-size: clamp(27px, 7.8vw, 37px); color: #faebd1; }
  .product .eyebrow { font-size: 9px; margin-bottom: 9px; }
  .product .promise { font-size: 14px; line-height: 1.6; margin-top: 10px; }
  .product .status { font-size: 11px; margin: 16px 0; color: #d0bfa2; }
  .product-button { background: #292216d9; color: #f0d398; border-color: #c3a36390; }
  .hero { min-height: 0; padding: 35px 24px 30px; background-position: 51% 35%; }
  .hero::before { background: linear-gradient(180deg, #0c15132b, #12181094 50%, #151510fa); }
  .hero .overline { margin: 0 0 20px; font-size: 10px; letter-spacing: .08em; }
  .hero h1 { font-size: clamp(34px, 10.5vw, 55px); line-height: 1.08; color: #fff0d7; }
  .hero h1 em { color: #e5c997; }
  .hero-copy > p:not(.overline) { font-size: 14px; line-height: 1.7; margin: 20px auto 24px; }
  .hero-actions { gap: 10px; max-width: 410px; }
  .hero-copy > p.hero-note, .hero-copy > p.hero-return { font-size: 11px; line-height: 1.65; max-width: 36ch; }
  .hero-copy > p.hero-note { margin-top: 17px; }
  .hero-copy > p.hero-return { margin-top: 10px; }
  .invitation-band { padding: 24px; background: #252016; border-color: #b99a6030; }
  .invitation-band p { font-size: 22px; line-height: 1.35; }
  .invitation-band > span { font-size: 10px; line-height: 1.8; max-width: 38ch; }
  .section-shell { width: calc(100% - 48px); }
  .encounters { padding-block: 40px; gap: 26px; }
  .encounter-copy h2, .rules-layout h2 { font-size: 30px; margin: 12px 0 20px; line-height: 1.12; }
  .encounter-copy > p:not(.overline), .rules-copy p { font-size: 14px; line-height: 1.8; color: #cbbfa9; }
  .encounter-copy .text-link { font-size: 13px; min-height: 44px; padding-block: 10px; }
  .encounter-portraits { gap: 12px; }
  .portrait img { height: clamp(200px, 62vw, 310px); border-radius: 7px; }
  .portrait-dryad { padding-top: 26px; }
  .portrait figcaption { margin-top: 11px; padding-top: 9px; }
  .portrait figcaption span { font-size: 20px; }
  .portrait small { font-size: 9px; line-height: 1.6; }
  .companion-voices { display: block; min-height: 0; padding: 245px 24px 32px; background: #161812; }
  .companion-voices > img { height: 340px; object-position: 43% 30%; }
  .companion-voices::after { background: linear-gradient(0deg, #161812 0%, #161812 34%, #16181288 65%, transparent); }
  .voice-story { width: 100%; max-width: none; padding: 0; }
  .voice-story h2 { font-size: 34px; margin: 14px 0 18px; }
  .voice-story .overline { font-size: 9px; letter-spacing: .09em; }
  .voice-story > p:not(.overline) { font-size: 14px; line-height: 1.8; color: #d0c4b0; }
  .voice-story > p.voice-status { font-size: 12px; margin: 15px 0; }
  .voice-story .text-link { font-size: 13px; min-height: 44px; padding-block: 11px; }
  .world-rules { padding-block: 32px; background: #252219; border-color: #ad8c5438; }
  .memory-details summary { font-size: 13px; line-height: 1.6; padding-block: 15px; }
  .memory-details > div { font-size: 14px; line-height: 1.75; }
  .adventure-shelf { padding-block: 38px; }
  .adventure-heading h2 { font-size: 33px; margin-block: 12px 18px; }
  .adventure-heading > p:last-child { font-size: 14px; line-height: 1.7; }
  .module-grid { gap: 30px; }
  .module-art { min-height: 365px; border: 1px solid #b69a6040; border-radius: 9px; }
  .module-title { left: 22px; bottom: 24px; }
  .module-title h3 { font-size: 40px; }
  .module-title > p { font-size: 9px; letter-spacing: .08em; margin-bottom: 12px; }
  .module-copy { padding-top: 17px; }
  .module-copy > p { font-size: 14px; line-height: 1.8; color: #cec0a8; }
  .module-copy > div { margin-top: 14px; padding-top: 10px; font-size: 11px; }
  .module-copy a { font-size: 13px; }
  .shelf-note { font-size: 12px; margin-top: 25px; }
  .community-invitation { background: radial-gradient(ellipse at 50% 0, #64502e33, transparent 65%), #232016; padding: 36px 0 25px; }
  .community-invitation h2 { font-size: 35px; margin: 15px 0 20px; }
  .community-invitation .section-shell > p:not(.overline) { font-size: 14px; line-height: 1.8; }
  .community-actions { gap: 10px; }
  .community-invitation .section-shell > p.community-fine { font-size: 12px; margin-top: 20px; }
  .alpha-notes { margin-top: 24px; padding-top: 20px; gap: 12px; }
  .alpha-notes p { font-size: 11px; line-height: 1.7; }
  .site-footer { background: #11120e; border-color: #c0a16b30; }
  .footer-grid { grid-template-columns: 1fr 1fr; padding: 26px 24px; gap: 23px 20px; }
  .site-footer h2 { font-size: 17px; margin-bottom: 10px; }
  .site-footer p, .site-footer a, .site-footer nav a { font-size: 11px; line-height: 1.6; }
  .site-footer .footer-grid nav { gap: 0; }
  .site-footer .footer-grid nav a { min-height: 36px; padding-block: 8px; }
  .footer-about { grid-column: 1 / -1; }
  .footer-about > a { margin-top: 8px; padding-block: 10px; }
  .footer-base { margin-inline: 24px; padding-bottom: calc(18px + env(safe-area-inset-bottom)); }
  .footer-base p { font-size: 10px; }
}
/* Revision: both choices at hand, followed by four swipeable NEQ chapters. */
@media(max-width:720px) {
 .site-header { min-height:56px;padding:6px 18px; }
 .gateway { min-height:calc(100svh - 56px);height:calc(100svh - 56px);grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);gap:10px;padding:0 14px 14px; }
 .gateway-title { padding:14px 4px 8px; }
 .gateway-title h1 { font-size:29px;line-height:1.04;margin:6px 0 0; }
 .gateway-title p { font-size:8px; }
 .product { min-height:0;padding:16px 18px;align-items:center;border-radius:9px;background-position:center 48%; }
 .product::before { background:linear-gradient(90deg,#10120de0,#11130db5 55%,#11130d35); }
 .product-copy { text-align:left; }
 .product h2 { font-size:clamp(25px,7.1vw,32px); }
 .product .eyebrow { font-size:8px;margin:0 0 5px; }
 .product .promise { font-size:12px;line-height:1.4;margin:7px 0;max-width:28ch; }
 .product .status { justify-content:flex-start;font-size:9px;line-height:1.4;margin:7px 0 11px;gap:6px; }
 .product-button { min-height:44px;padding:10px 12px;font-size:12px;width:auto;min-width:0;background:#211c13df; }
 .desktop-journey { display:none; }
 .mobile-journey { display:flex;flex-direction:column;height:calc(100svh - 56px);min-height:420px;background:#151510; }
 .journey-track { position:relative;display:flex;flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:smooth; }
 .journey-track::-webkit-scrollbar { display:none; }
 .journey-page { position:relative;isolation:isolate;flex:0 0 100%;width:100%;height:100%;min-width:0;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;overflow-y:auto;padding:26px 24px;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center; }
 .journey-page::before { content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#10170e10,#11150d80 30%,#151510ee 68%); }
 .journey-welcome { background-image:url('neq-landing-hero-v1.webp');background-position:56% center; }
 .journey-company { background-image:url('companions-tiefling.png');background-position:28% top; }
 .journey-community { background-image:url('gateway-rfp.webp'); }
 .journey-page h1,.journey-page h2 { font:400 clamp(32px,9.7vw,44px)/1.04 Georgia,serif;letter-spacing:-.035em;margin:12px 0 16px;color:#fff0d9; }
 .journey-page em { color:#e0c18a;font-weight:400; }
 .chapter-copy > p:not(.overline) { font:400 14px/1.6 system-ui,sans-serif;color:#e0d3bd;margin:12px 0 18px; }
 .chapter-actions { display:grid;gap:9px;margin-top:20px; }
 .chapter-actions .button { min-height:46px;padding:11px 14px;font-size:13px; }
 .journey-page .chapter-fine,.chapter-copy > p.chapter-fine { font:400 10px/1.5 system-ui,sans-serif;color:#d0bd9c;margin:12px 0 4px; }
 .chapter-signin { display:flex;align-items:center;justify-content:center;min-height:44px;font-size:12px;color:#e8cc95; }
 .chapter-copy > p.chapter-detail { font-size:12px;color:#d0bf9f; }
 .journey-nav { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex-shrink:0;min-height:54px;padding:4px 10px max(4px,env(safe-area-inset-bottom));border-top:1px solid #ac8b4a40;background:#1c1b14; }
 .journey-nav button { min-height:44px;padding:5px 0;border:0;border-radius:5px;background:none;color:#bfb097;font-size:10px;cursor:pointer; }
 .journey-nav button[aria-current] { color:#f3d7a1;background:#dbc18515;box-shadow:inset 0 2px #d8b879; }
 .journey-adventures { justify-content:flex-start;gap:12px;padding:22px;background:#171911; }
 .journey-adventures::before { display:none; }
 .journey-adventures h2 { font-size:31px;margin:0 0 3px; }
 .journey-adventures .overline { margin:0; }
 .chapter-module { position:relative;isolation:isolate;display:flex;align-items:flex-end;flex:1;min-height:136px;padding:18px;border:1px solid #bfa46b50;border-radius:7px;text-decoration:none;background-size:cover;background-position:center;overflow:hidden; }
 .chapter-module::before { content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#14170d05,#14170df2); }
 .chapter-thornwood { background-image:url('thornwood.png'); }
 .chapter-keep { background-image:url('keep-of-doom.png'); }
 .chapter-module small { display:block;text-transform:uppercase;letter-spacing:.07em;font-size:8px;color:#e0c18a; }
 .chapter-module strong { display:block;font:400 25px/1.1 Georgia,serif;color:#fff0d7;margin:5px 0 7px; }
 .chapter-module span span { font-size:11px;color:#dac6a5; }
 .chapter-details { margin-top:14px;font-size:12px;line-height:1.7;color:#d1c3aa; }
 .chapter-details summary { min-height:44px;display:flex;align-items:center;color:#e6ca95;cursor:pointer; }
 .chapter-details summary::after { content:'+';margin-left:auto; }
 .chapter-details[open] summary::after { content:'−'; }
 .journey-page:has(.chapter-details[open]) { justify-content:flex-start; }
 .journey-page a:focus-visible,.journey-nav button:focus-visible,.journey-track:focus-visible { outline:2px solid #e8c98e;outline-offset:-3px; }
}
@media(max-width:720px) and (max-height:700px) {
 .gateway-title { padding-top:8px; }
 .gateway-title h1 { font-size:26px; }
 .product { padding:10px 16px; }
 .product .eyebrow { display:none; }
 .product h2 { font-size:25px; }
 .journey-page { padding:18px 22px; }
 .journey-page h1,.journey-page h2 { font-size:33px; }
 .chapter-copy > p:not(.overline) { margin:10px 0;font-size:13px; }
 .chapter-actions { margin-top:14px; }
 .chapter-module { min-height:115px;padding:14px; }
 .journey-adventures { gap:9px; }
 .journey-adventures h2 { font-size:27px; }
}
@media(prefers-reduced-motion:reduce) { .journey-track { scroll-behavior:auto; } }
