/* RITERIUM: a shared page frame and artwork composed with the hero copy. */
body { --page-art:var(--page-art-desktop); --hero-height:clamp(640px,calc(100svh - 88px),800px); }
.page-world,.home-atlas { position:relative; isolation:isolate; overflow:hidden; min-height:var(--hero-height); background:#f4f8ff; }
.page-background { position:absolute; inset:0; z-index:-2; display:block; pointer-events:none; }
.page-world>.page-background { left:auto; width:min(100%,calc(var(--hero-height) * 1.5)); height:var(--hero-height); }
.page-background img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.page-world::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#f4f8ff 0%,#f4f8ffed 22%,#f4f8ff77 45%,transparent 70%); }
.page-world-copy { position:relative; padding-top:48px; padding-bottom:48px; }
.page-world-copy h1 { max-width:690px; font-size:clamp(44px,4.1vw,64px); line-height:1.08; letter-spacing:-.04em; }
.page-world-copy>p { max-width:560px; margin:22px 0 26px; font-size:17px; line-height:1.65; color:#314459; }
.page-world-copy .button { position:relative; }
.home-atlas .home-atlas-copy { position:relative; inset:auto; z-index:5; padding-block:48px 40px; pointer-events:none; }
.home-atlas-copy>h1,.home-atlas-copy>p,.home-atlas-copy>.eyebrow,.home-atlas-copy .actions a { pointer-events:auto; }
.home-atlas .home-atlas-copy h1 { max-width:760px; font-size:clamp(44px,4.1vw,64px); line-height:1.08; }
.home-atlas-copy>p { max-width:580px; font-size:16px; line-height:1.65; margin:22px 0 26px; }
.home-atlas-copy .actions { align-items:center; gap:24px; }
.home-atlas-copy .inline-link { pointer-events:auto; font-size:13px; }
.home-atlas .atlas { position:absolute; inset:0 0 auto auto; width:min(100%,calc(var(--hero-height) * 1.5)); height:var(--hero-height); aspect-ratio:auto; max-width:none; margin:0; }
.home-atlas .terrain-picture img { object-fit:cover; }
.home-atlas .terrain-picture::before { content:''; position:absolute; inset:0 auto 0 0; width:18%; height:100%; background:linear-gradient(90deg,#f4f8ff,transparent); z-index:1; }
.home-atlas .route-note { z-index:4; width:340px; max-width:40%; bottom:24px; padding:14px 18px; }
.home-atlas .route-note p { font-size:12px; }
.home-demo-world { padding:36px 0 18px; background:#e8f2ff; border-top:1px solid #d1e4f5; }
.home-demo-world .section-heading { margin-bottom:0; }
.home-demo-world .section-heading h2 { max-width:650px; font-size:42px; }
.home-demo-world .section-heading p { max-width:390px; }
.home-demo-world .demo-tabs { margin-top:20px; }
.scene-links { position:absolute; left:0; right:0; bottom:24px; display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.scene-links a { display:flex; align-items:center; gap:10px; min-height:68px; padding:13px; background:#f7fbfff5; border:1px solid #c9dcef; border-radius:10px; box-shadow:0 8px 20px #24416d14; font-size:11px; font-weight:650; line-height:1.45; }
.scene-links a>span { flex:none; display:grid; place-items:center; width:24px; height:24px; background:#e2edff; color:#064bff; border-radius:50%; }
.scene-links a:hover { border-color:#064bff; }
.detail-world .breadcrumbs { position:relative; z-index:1; }
.detail-world .detail-hero { display:block; padding-top:20px; padding-bottom:40px; }
.detail-world .detail-hero>div { max-width:700px; }
.detail-world .detail-hero h1 { font-size:clamp(44px,4.1vw,64px); line-height:1.08; max-width:690px; }
.detail-world .detail-hero>div>p { max-width:560px; font-size:17px; line-height:1.65; margin:22px 0 26px; color:#314459; }
.detail-world .proposal-note { max-width:540px; background:#f6faffed; border:1px solid #d2e2f5; }
.detail-world .eyebrow { margin-bottom:20px; }
.feature-scene { background-image:var(--surface-art,var(--page-art)); background-size:cover; background-position:center; }
.founder-visual::before { background-image:var(--page-art); }
.about-world.page-world { padding-block:48px; }
.about-world .about-copy h1 { max-width:690px; font-size:clamp(44px,4.1vw,64px); }
.about-world .about-copy>p { max-width:560px; }
.about-world .about-manifesto { max-width:640px; background:#f5faffed; font-size:16px; }
.contacts-world { position:relative; isolation:isolate; background:#edf4fd; }
.contacts-world>.page-background { height:min(100%,900px); }
.contacts-world>.page-background img { object-position:50% 45%; }
.contacts-world .project-form { background:#f4f9fff7; }
.contacts-world .contact-copy { padding:24px; border-radius:20px; background:#f4f9ffed; align-self:start; }
.demo-section .section-background img { opacity:.4; }
.scope-layout>* { min-width:0; }
.scope-rows article>div { min-width:0; }
.scope-rows h3 { overflow-wrap:anywhere; }
@media(max-width:1100px) {
 .scene-links { grid-template-columns:repeat(3,1fr); gap:8px; }
 .scene-links a { min-height:55px; }
 .page-world-copy h1,.detail-world .detail-hero h1,.home-atlas .home-atlas-copy h1,.about-world .about-copy h1 { max-width:650px; font-size:50px; }
 .page-world-copy>p,.detail-world .detail-hero>div>p { max-width:540px; }
}
@media(min-width:681px) and (max-width:900px) {
 body { --hero-height:720px; }
 .page-world-copy,.home-atlas .home-atlas-copy { padding-top:35px; }
 .home-atlas .route-note { width:280px; }
}
@media(max-width:680px) {
 body { --page-art:var(--page-art-mobile); }
 .page-world,.home-atlas { min-height:0; padding:0; }
 .page-world>.page-background { inset:0; width:100%; height:100%; overflow:hidden; }
 .page-world>.page-background img { position:absolute; top:-110px; bottom:auto; width:100%; height:calc(100% + 110px); max-height:none; object-fit:cover; object-position:center; mask-image:none; }
 .page-world::after { background:linear-gradient(180deg,#f4f8fff0 0%,#f4f8ffe6 20%,#f4f8ff90 48%,transparent 75%); }
 .page-world-copy { padding-top:28px; padding-bottom:220px; }
 .page-world-copy h1,.detail-world .detail-hero h1,.home-atlas .home-atlas-copy h1,.about-world .about-copy h1 { max-width:none; font-size:34px; line-height:1.1; }
 .page-world-copy>p,.detail-world .detail-hero>div>p,.home-atlas-copy>p { max-width:none; font-size:14px; line-height:1.65; margin:18px 0 22px; }
 .page-world-copy .button { max-width:100%; }
 .home-atlas .home-atlas-copy { padding-top:26px; padding-bottom:335px; }
 .home-atlas-copy .eyebrow { font-size:9px; margin-bottom:14px; }
 .home-atlas-copy .actions { flex-direction:row; align-items:center; flex-wrap:wrap; gap:8px 18px; }
 .home-atlas-copy .button,.home-atlas-copy .inline-link { font-size:12px; }
 .home-atlas .atlas { inset:0; width:100%; height:100%; margin:0; pointer-events:none; }
 .home-atlas .terrain-picture { overflow:hidden; }
 .home-atlas .terrain-picture img { position:absolute; top:-90px; width:100%; height:calc(100% + 90px); object-fit:cover; object-position:center; }
 .home-atlas .terrain-picture::before { inset:0 0 auto; width:100%; height:65%; background:linear-gradient(180deg,#f8faffed,#f8faffb8 50%,transparent); }
 .home-atlas .mobile-route,.home-atlas .route-hotspots { top:auto; bottom:120px; height:190px; width:100%; }
 .home-atlas .route-point { flex-direction:column; transform:translate(-8px,-8px); font-size:11px; gap:5px; }
 .home-atlas .point-0 { left:8%; top:82%; }
 .home-atlas .point-1 { left:50%; top:57%; align-items:center; transform:translate(-50%,-8px); }
 .home-atlas .point-2 { left:90%; top:20%; align-items:end; transform:translate(calc(-100% + 8px),-8px); }
 .home-atlas .route-note { left:var(--page-gutter); bottom:20px; width:calc(100% - var(--page-gutter) * 2); max-width:none; }
 .home-demo-world { padding:30px 0 20px; }
 .home-demo-world .section-heading h2 { font-size:32px; }
 .home-demo-world .section-heading p { font-size:14px; }
 .scene-links { position:relative; inset:auto; grid-template-columns:1fr 1fr; padding-bottom:20px; margin-top:0; }
 .page-world:has(.scene-links)>.page-background { height:calc(100% - 195px); }
 .scene-links a { font-size:11px; padding:10px; min-height:60px; gap:8px; }
 .detail-world .detail-hero { padding-top:14px; padding-bottom:210px; }
 .detail-world .detail-hero>div { max-width:none; }
 .detail-world .detail-hero .button { width:auto; max-width:100%; }
 .detail-world .detail-hero .eyebrow { margin-bottom:17px; }
 .detail-world .detail-hero .proposal-note { font-size:11px!important; line-height:1.6; }
 .about-world.page-world { padding:28px 0 220px; }
 .about-world .about-manifesto { margin-top:22px; padding:18px; font-size:15px; gap:10px; }
 .about-world .about-copy>p { font-size:15px; }
 .contacts-world { padding-top:26px; }
 .contacts-world>.page-background { height:760px; overflow:hidden; }
 .contacts-world>.page-background img { position:absolute; top:-110px; height:870px; object-fit:cover; object-position:center; }
 .contacts-world .contact-copy { padding:18px; }
 .contacts-world .contact-layout { position:relative; }
 .contacts-world .project-form { margin-top:0; }
 .contacts-world .page-background::after { content:''; position:absolute; bottom:0; left:0; right:0; height:180px; background:linear-gradient(transparent,#edf4fd); }
}
@media(max-width:360px) {
 .page-world-copy h1,.detail-world .detail-hero h1,.home-atlas .home-atlas-copy h1,.about-world .about-copy h1 { font-size:30px; }
 .home-atlas-copy .button,.home-atlas-copy .inline-link { font-size:11px; }
 .scene-links a { font-size:10px; gap:6px; }
 .scene-links a>span { width:21px; height:21px; }
}
/* Keep the copy legible where the landscape moves behind it on tablets. */
@media(min-width:681px) and (max-width:1100px) {
 .home-atlas .terrain-picture::after { content:''; position:absolute; inset:0; background:linear-gradient(115deg,#f4f8ffe6 0%,#f4f8ffad 32%,transparent 62%); }
}
