/* Landing page follows the supplied black-and-white concept. */
:root{color-scheme:light;--red:#ed171f;--paper:#f6f6f5}
*{box-sizing:border-box}body{margin:0;background:#dededc;color:#080808;font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ed171f;outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.landing-shell{max-width:1000px;min-height:100svh;margin:auto;box-shadow:0 0 70px #0002;background:var(--paper)}
.masthead{background:#000;color:white;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 4.3%;border-bottom:1px solid #555}
.mini-wordmark{display:block;flex:0 1 clamp(110px,27vw,250px);min-width:0;aspect-ratio:4.8;overflow:hidden}.mini-wordmark img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 47%}
.soon{border:2px solid #eee;border-radius:40px;padding:3px 16px;font-weight:800;text-transform:uppercase;white-space:nowrap;font-size:clamp(10px,2.4vw,23px);line-height:1}
.concept-hero{position:relative;aspect-ratio:3/1;background:#111;overflow:hidden}.tomb-art{width:100%;height:100%;object-fit:cover;display:block}.hero-tagline{position:absolute;top:53%;left:7%;width:53%;color:#fff;text-align:center;font-weight:800;text-transform:uppercase;margin:0;line-height:1.5;letter-spacing:.28em;font-size:clamp(8px,1.65vw,17px);text-shadow:0 2px 4px #000}.hero-tagline span{display:block}.hero-tagline span+span{font-size:.82em;letter-spacing:.3em}.hero-tagline span+span:before,.hero-tagline span+span:after{content:'';display:inline-block;width:7%;height:1px;background:white;vertical-align:middle;margin:0 9px}
.paper{position:relative;background:linear-gradient(100deg,#eee8,transparent 30%,#e4e4e455 75%,#fff8),repeating-linear-gradient(91deg,#00000002 0 1px,transparent 1px 5px),var(--paper);padding:0 4.5% 15px}
.paper:before{content:'';position:absolute;left:0;right:0;top:-18px;height:20px;background:var(--paper);clip-path:polygon(0 35%,2% 25%,4% 41%,6% 21%,9% 34%,12% 10%,15% 32%,18% 18%,21% 39%,24% 14%,28% 31%,31% 8%,34% 26%,37% 15%,40% 33%,43% 20%,46% 38%,49% 13%,52% 36%,55% 11%,58% 27%,61% 18%,64% 38%,67% 19%,70% 32%,73% 10%,76% 26%,79% 12%,82% 33%,85% 20%,88% 31%,91% 13%,94% 26%,97% 15%,100% 30%,100% 100%,0 100%)}
.mission{text-align:center;position:relative}.mission h2{font-size:clamp(38px,7.5vw,76px);font-weight:900;letter-spacing:-.055em;line-height:1;margin:0 0 4px}.mission-copy{font-family:'Arial Narrow','Helvetica Neue',Arial,sans-serif;font-stretch:condensed;font-weight:700;font-size:clamp(13px,2.15vw,22px);line-height:1.19;margin:0 auto;max-width:870px}.mission-ribbon{color:white;background:#060606;transform:skew(-15deg);border-radius:4px;margin:13px -1% 8px;padding:6px 9px;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(10px,1.7vw,17px);font-weight:800;font-style:italic;text-transform:uppercase;line-height:1.2}.mission blockquote{display:flex;align-items:center;gap:16px;margin:0;font-size:clamp(11px,1.7vw,17px);font-weight:700;font-style:italic;line-height:1.3}.mission blockquote:before,.mission blockquote:after{content:'';flex:1;min-width:20px;height:1px;background:#333}.mission blockquote span{flex:0 1 auto}.mission blockquote a{white-space:nowrap;text-decoration:none}.reach{font-size:clamp(12px,1.9vw,19px);font-weight:900;text-transform:uppercase;margin:5px 0 0}
.ada{display:grid;grid-template-columns:23% 1fr;gap:16px;background:#050505;color:white;border:4px solid #fff;outline:2px solid #aaa;border-radius:28px;padding:14px 18px 14px 12px;margin:55px 0 0;box-shadow:0 5px 8px #0006}.location-symbol{display:grid;place-items:center;border-right:3px solid white;padding-right:14px}.location-symbol svg{width:100%;max-height:190px;display:block}.ada-content{min-width:0;text-align:center}.ada h2{font-size:clamp(24px,4.7vw,47px);font-weight:900;line-height:1.03;text-transform:uppercase;letter-spacing:-.045em;margin:0 0 4px;white-space:nowrap}.ada p{font-size:clamp(15px,2.7vw,27px);font-weight:700;font-style:italic;line-height:1.13;margin:0 0 13px}.contact-links{display:flex;justify-content:center;align-items:center;gap:10px;border-top:2px solid white;padding-top:10px}.contact-links a{display:flex;align-items:center;justify-content:center;gap:7px;font-weight:800;text-decoration:none;white-space:nowrap;font-size:clamp(12px,2vw,20px)}.contact-links a:hover{text-decoration:underline}.contact-links svg{width:24px;height:24px;flex-shrink:0}.contact-links small{font-size:.7em;font-weight:500}.contact-links .email-link{border-left:2px solid #ccc;padding-left:10px;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(9px,1.4vw,14px);letter-spacing:-.03em}.landing-footer{text-align:center;padding-top:19px}.landing-footer button,.landing-footer a{font-size:11px;color:#555;background:none;border:0;padding:5px 12px;text-decoration:underline;text-underline-offset:3px}.primary{background:#fff;color:#080808;border:0;padding:17px 23px;font-weight:700;text-decoration:none}.primary:hover{background:var(--red);color:white}
.gate h2{margin:0 0 32px}dialog{position:fixed;inset:0;border:0;padding:0;max-width:none;max-height:none;width:100%;height:100%;height:100dvh;background:#000;color:#fff;overflow:hidden}dialog::backdrop{background:#000}.intro-controls{position:absolute;top:20px;left:24px;right:24px;display:flex;gap:12px;z-index:3}.intro-controls button{color:#ccc;border:1px solid #555;background:#111;padding:10px 14px;border-radius:30px;font-size:12px}#skip{margin-left:auto}.gate{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:75px 24px}.gate h2{font-size:clamp(40px,7vw,90px);text-transform:uppercase;letter-spacing:-.04em}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.24em;color:#aaa}.gate-caption{font-size:17px;margin:0 0 35px}.gate #silent{background:none;border:0;color:#aaa;margin-top:20px;font-size:13px;text-decoration:underline}.scene{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:85px 5vw}.scene h2{font-size:clamp(30px,5vw,68px);font-weight:800;line-height:1.17;letter-spacing:-.02em;text-transform:uppercase;margin:0}.scene .subtitle{font-size:clamp(17px,2.5vw,32px);font-weight:bold;margin:35px 0 0}.scene #verse{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#aaa;margin-top:45px;text-decoration:none}.pair{display:grid;grid-template-columns:1fr 1fr;align-items:center;width:min(90vw,1200px);min-height:42vh}.pair span{font-size:clamp(18px,3.6vw,48px);font-weight:800;text-transform:uppercase;padding:30px 18px;line-height:1.2}.pair span+span{border-left:2px solid #ddd;align-self:stretch;display:flex;align-items:center;justify-content:center}.closing{position:absolute;inset:0;display:grid;place-items:center;padding:5vw}.closing img{width:min(100%,1280px);height:auto;max-height:80vh;object-fit:contain}.progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#222}.progress span{display:block;height:100%;width:0;background:var(--red)}
@media(max-width:600px){.masthead{gap:10px;padding:6px 4%}.soon{padding:3px 9px}.concept-hero{aspect-ratio:3/1}.paper{padding-inline:4.5%}.hero-tagline{top:54%;font-size:8px}.hero-tagline span+span:before,.hero-tagline span+span:after{margin:0 4px}.mission-copy{font-size:13px;line-height:1.2}.mission-ribbon{font-size:10px;margin-top:10px}.mission blockquote{gap:8px;font-size:10px}.reach{font-size:11px}.ada{margin-top:28px;gap:10px;border-width:3px;border-radius:20px;padding:10px 10px 10px 7px;grid-template-columns:21% 1fr}.location-symbol{padding-right:9px;border-right-width:2px}.ada h2{font-size:clamp(20px,5.5vw,31px)}.ada p{font-size:clamp(13px,3.3vw,19px);margin-bottom:8px}.contact-links{gap:6px;padding-top:6px;border-top-width:1px;flex-wrap:wrap}.contact-links a{font-size:13px;gap:5px}.contact-links svg{width:17px;height:17px}.contact-links .email-link{font-size:10px;border:0;padding-left:0}.landing-footer{padding-top:14px}.intro-controls{left:12px;right:12px;gap:6px}.intro-controls button{padding:9px;font-size:11px}.pair span{padding:24px 10px}.scene #verse{margin-top:30px}.gate h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Spread extra height through the mission, keeping the contact panel and footer nearby. */
.landing-shell{width:min(100%,max(680px,112svh));max-width:1000px;display:flex;flex-direction:column;min-height:100svh;min-height:100dvh}
.masthead{flex:none}
.landing-shell>main{display:flex;flex-direction:column;flex:1;min-height:0}
.concept-hero{flex:none}
.paper{flex:1;display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(20px,3.5svh,44px);padding-bottom:max(12px,env(safe-area-inset-bottom))}
.mission{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(6px,1.2svh,16px)}
.mission h2{font-size:clamp(38px,min(9.5vw,8svh),76px);margin:0}
.mission-copy{font-size:clamp(13px,min(3vw,2.4svh),26px);line-height:1.23}
.mission-ribbon{margin:0 -1%;font-size:clamp(10px,min(2.2vw,1.8svh),20px)}
.mission blockquote{font-size:clamp(11px,min(2.2vw,1.8svh),20px)}
.reach{margin:0;font-size:clamp(12px,min(2.3vw,2svh),22px)}
.ada{margin-top:0;padding-block:clamp(10px,1.7svh,20px)}
.landing-footer{padding-top:0;padding-bottom:2px}
@media(max-width:600px){
  .mission-copy{font-size:clamp(13px,1.8svh,16px);line-height:1.25}
  .mission h2{font-size:clamp(38px,6.4svh,48px)}
  .mission-ribbon{font-size:clamp(10px,1.45svh,12px)}
  .mission blockquote{font-size:clamp(10px,1.45svh,12px)}
  .reach{font-size:clamp(11px,1.6svh,13px)}
}

/* Paired landing actions stay together when space allows and wrap on small screens. */
.landing-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 12px}
.landing-footer button,.landing-footer a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;font-family:inherit;font-size:clamp(12px,1.4vw,14px);line-height:1.4}
.landing-footer button:hover,.landing-footer a:hover{color:#111}
.location-symbol{text-decoration:none;min-width:44px;min-height:44px}
.location-symbol:hover svg{opacity:.78}
