@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root { color-scheme:light; --ink:#24332f; --face:#fffdf0; --blue:#3866db; --green:#328765; --yellow:#f0c544; --muted:#57675f; font-family:'DM Sans',sans-serif; color:var(--ink); background:#dff3fa; font-synthesis:none; }
* { box-sizing:border-box; }
body { margin:0; min-width:280px; background:linear-gradient(#bce3f7 0%,#e5f7fb 65%,#fbfcf0 100%); background-attachment:fixed; }
a { color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
p,h1,h2,h3 { margin:0; }
svg { stroke:var(--ink); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
[hidden] { display:none !important; }
a:focus-visible,[tabindex]:focus-visible { outline:3px solid #263e9f; outline-offset:5px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link { position:fixed; top:10px; left:10px; z-index:100; transform:translateY(-160%); padding:14px; background:var(--face); border:2px solid var(--ink); }
.skip-link:focus { transform:none; }
.hud { position:fixed; top:20px; left:clamp(18px,3vw,46px); right:clamp(18px,3vw,46px); display:flex; align-items:center; justify-content:space-between; gap:16px; z-index:20; pointer-events:none; }
.hud a,.hud nav { pointer-events:auto; }
.brand { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:700; line-height:1.25; }
.brand svg { width:29px; height:33px; }
.home-label { display:block; font-size:12px; font-weight:500; margin-top:3px; }
.hud nav { display:flex; gap:10px; }
.hud nav a { display:flex; align-items:center; gap:8px; padding:11px 15px; min-height:46px; font-size:15px; font-weight:700; }
.hud nav svg { width:21px; height:21px; fill:none; }
main { padding-top:94px; }
.world-viewport { position:relative; width:100%; height:calc(100svh - 94px); min-height:0; overflow:clip; visibility:hidden; isolation:isolate; }
.world-viewport.ready { visibility:visible; }


.projection { position:absolute; width:0; height:0; left:50%; top:46%; transform-origin:0 0; transform-style:preserve-3d; }
.camera { position:absolute; width:0; height:0; transform-origin:0 0; transform-style:preserve-3d; }
.world-viewport.animate .projection,.world-viewport.animate .camera { transition:transform 850ms cubic-bezier(.25,.7,.22,1); }
.ground,.stage-art { position:absolute; transform-style:preserve-3d; pointer-events:none; }
.ground-top,.ground-wall,.world-plane,.landing-plane,.destination-plane { position:absolute; transform-origin:0 0; }
.ground-top,.ground-wall { border:2px solid var(--ink); }
.world-plane { backface-visibility:visible; }
.scenery-panel { position:absolute; transform-origin:0 0; backface-visibility:visible; pointer-events:none; }
.scenery-panel .world-plane { position:absolute; transform:none; }
.hills-far { width:100%; height:78%; left:0; bottom:0; }
.hills-near { width:100%; height:52%; left:0; bottom:0; }
.cloud-one { width:260px; height:130px; left:28%; top:18%; }
.cloud-two { width:250px; height:120px; right:28%; top:12%; }
.front-cloud-one { width:210px; height:105px; left:2%; top:4%; }
.front-cloud-two { width:170px; height:85px; right:2%; top:18%; }
.ground-decoration { width:74px; height:54px; bottom:0; }
.decoration-left { left:1%; }
.decoration-step { width:55px; height:46px; left:16%; }
.decoration-right { right:1%; }
.landing-plane { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:200fr 160fr; backface-visibility:hidden; background:var(--face); }
.destination-plane { backface-visibility:hidden; transform-style:preserve-3d; background:var(--face); --section-color:var(--blue); }
.region-front { display:block; position:relative; border:2px solid var(--ink); min-width:0; min-height:0; --section-color:var(--blue); }
.region-apps { grid-row:1 / 3; }
.region-board { --section-color:var(--green); }
.region-about { --section-color:var(--yellow); }
.destination-plane[data-section=board] { --section-color:var(--green); }
.destination-plane[data-section=about] { --section-color:var(--yellow); }
.front-preview { position:absolute; inset:0; transform-origin:0 0; padding:25px 29px; overflow:hidden; }
.region-kicker { display:block; font-size:14px; margin-bottom:10px; }
.region-title { display:flex; align-items:center; justify-content:space-between; gap:14px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:35px; letter-spacing:-1.1px; line-height:1.1; }
.enter-arrow { display:inline-grid; place-items:center; width:32px; height:32px; font-size:25px; flex-shrink:0; }
.app-preview { display:grid; gap:17px; list-style:none; padding:0; margin:28px 0 0; }
.app-preview li { display:flex; align-items:center; gap:12px; font-weight:600; font-size:17px; }
.app-preview svg { width:27px; height:27px; fill:none; }
.front-motif { position:absolute; pointer-events:none; }
.board-preview { display:flex; gap:12px; margin-top:20px; max-width:95%; font-size:15px; line-height:1.5; }
.pin-indicator { font-size:25px; line-height:1.1; }
#board-preview-label { font-weight:700; }
#board-preview-copy { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:4px; }
#board-preview-date { display:block; font-size:12px; margin-top:4px; }
.about-preview-heading { display:flex; align-items:center; gap:18px; }
.about-preview-heading .region-title { flex:1; font-size:29px; }
.personal-emblem { width:45px; height:45px; flex-shrink:0; }
.about-preview-line { font-size:15px; margin-top:10px; }
.surface-content { position:absolute; top:0; transform:translateZ(1px); transform-origin:0 0; padding:27px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; background:var(--face); opacity:1; }
.surface-content:not([hidden]) { animation:section-arrival 180ms ease-out; }
@keyframes section-arrival { from { opacity:.6; } to { opacity:1; } }
.destination-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.destination-heading > div { display:flex; align-items:center; gap:12px; }
.destination-heading h2 { font-family:'Space Grotesk',sans-serif; font-size:33px; line-height:1.1; font-weight:700; letter-spacing:-1px; }
.section-dot { display:block; width:14px; height:28px; background:var(--section-color); }
.return-home { display:inline-flex; align-items:center; min-height:44px; padding:8px 3px; font-size:14px; }
.destination-intro { margin-top:16px; color:var(--muted); font-size:16px; line-height:1.6; }
.service-launcher { margin-top:23px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr)); gap:16px; }
.service-item { display:grid; grid-template-columns:38px minmax(0,1fr); gap:10px 12px; align-items:start; padding:17px; }
.service-icon { width:36px; height:38px; display:grid; place-items:center; }
.service-icon svg { width:26px; height:26px; fill:none; }
.service-item h3 { font-size:18px; }
.service-item p { font-size:15px; line-height:1.55; color:var(--muted); margin-top:7px; }
.service-action,.service-unconfigured { grid-column:2; justify-self:start; }
.service-action { display:inline-flex; align-items:center; min-height:44px; padding:9px 13px; font-size:14px; font-weight:700; }
.service-unconfigured { font-size:13px; color:var(--muted); }
.board-empty { margin-top:20px; max-width:540px; }
.board-empty svg { width:56px; height:50px; display:block; margin-bottom:12px; }
.board-empty h3,#about-surface h3 { font-size:22px; font-weight:600; line-height:1.4; }
.board-empty p,.about-copy { font-size:17px; line-height:1.75; margin-top:12px; max-width:570px; }
.pinned-note { margin-top:26px; padding-left:18px; border-left:5px solid var(--green); }
.pinned-label { font-size:13px; font-weight:700; color:var(--green); }
.pinned-note h3 { font-size:22px; margin:8px 0; }
.pinned-note p { font-size:17px; line-height:1.7; }
.pinned-note time { font-size:13px; color:var(--muted); }
.continuation-link { display:inline-flex; min-height:44px; align-items:center; margin-top:24px; padding:10px 14px; font-size:15px; font-weight:600; }
.about-emblem { width:70px; height:70px; display:block; margin:24px 0; }
.muted { color:var(--muted); }
.reserved-page { min-height:75svh; padding:90px 8%; }
.eyebrow { font-size:13px; font-weight:700; }
.reserved-page h1 { font-size:44px; margin:20px 0; }
.reserved-page p:not(.eyebrow) { font-size:18px; line-height:1.7; }
.return-link { display:inline-block; margin-top:30px; padding:12px 18px; border:2px solid var(--ink); }
@media(max-width:760px) {
  .landing-plane { grid-template-columns:1fr; grid-template-rows:250fr 165fr 125fr; }
  .region-apps { grid-row:auto; }
  .cloud-one { width:175px; height:88px; left:7%; top:-10%; }
  .cloud-two { width:165px; height:80px; right:5%; top:-5%; }
  .front-cloud-one { width:110px; height:55px; left:2%; top:0; }
  .front-cloud-two { width:95px; height:48px; right:2%; top:3%; }
  .ground-decoration { width:30px; height:32px; }
  .decoration-left { left:0; }
  .decoration-step { display:none; }
  .decoration-right { right:0; }
  .front-preview { padding:19px 23px; }
  .region-title { font-size:31px; }
  .region-kicker { font-size:13px; margin-bottom:8px; }
  .app-preview { margin-top:20px; gap:13px; }
  .app-preview li { font-size:16px; }
  .board-preview { margin-top:14px; font-size:14px; }
  .about-preview-heading .region-title { font-size:28px; }
  .personal-emblem { width:34px; height:34px; }
  .about-preview-line { font-size:14px; margin-top:7px; }
  .surface-content { padding:21px; }
  .destination-heading h2 { font-size:29px; }
  .destination-intro { font-size:15px; margin-top:9px; }
  .service-launcher { margin-top:18px; gap:13px; }
  .service-item { padding:13px; gap:8px 10px; }
  .service-item p { font-size:14px; }
  .board-empty { margin-top:22px; }
  .board-empty p,.about-copy { font-size:16px; }
  .about-emblem { margin:18px 0; width:55px; height:55px; }
}
@media(max-width:560px) {
  .hud { top:12px; left:14px; right:14px; flex-wrap:wrap; gap:8px; }
  .brand { gap:7px; font-size:12px; }
  .brand svg { width:24px; height:27px; }
  .home-label { display:inline; margin-left:8px; font-size:12px; }
  .hud nav { margin-left:auto; gap:7px; }
  .hud nav a { font-size:13px; padding:8px 10px; min-height:42px; gap:5px; }
  .hud nav svg { width:18px; height:18px; }
  main { padding-top:116px; }
  .world-viewport { height:calc(100svh - 116px); }
}
@media(prefers-reduced-motion:reduce) {
  .world-viewport.animate .projection,.world-viewport.animate .camera,.world-viewport.animate .surface-content { transition:none; }
}

@media(prefers-reduced-motion:reduce) { .surface-content:not([hidden]) { animation:none; } }

