/* Broad illustrations carry the page; portraits and painted objects carry actions. */
.text-link{font-size:14px;color:#955123;border-bottom:1px solid #95512350;padding:6px 0;display:inline-block;border-radius:0}.text-link:hover{color:#61371f;border-color:currentColor}
.welcome-cover{width:100%;overflow:hidden;max-height:900px}.welcome-cover img{width:100%;height:auto;display:block}.welcome-section .intro{margin-bottom:38px}.companion-doors{display:grid;grid-template-columns:repeat(4,1fr);max-width:1220px;gap:40px;margin:0 auto;padding:50px 5vw 80px}.companion-door{background:none;border:0;padding:0;text-align:center;border-radius:10px}.companion-portrait{display:block;background-image:url('assets/redrawn/portraits-v3.png');background-size:200% 200%;width:100%;aspect-ratio:1;mix-blend-mode:multiply}.companion-door .companion-portrait{transition:transform .35s ease;transform-origin:50% 80%;margin-bottom:20px}.companion-door:hover .companion-portrait,.companion-door:focus-visible .companion-portrait{transform:translateY(-5px) scale(1.055)}.companion-door h3{font-size:29px;margin:0 0 9px}.companion-door p{font-size:14px;color:var(--muted);margin-bottom:15px}.dialog-portrait{width:200px;margin:0 auto 22px}.meeting-art{width:calc(100% + 90px);max-width:none;margin:-45px -45px 30px;border-radius:12px 12px 0 0}.close{z-index:3;background:#f6f0e2eb;line-height:1.1;top:12px;right:12px}
.voyage{background:var(--paper)}.voyage-scenery{position:relative;width:100%;max-height:660px;aspect-ratio:2.1;overflow:hidden;mask-image:linear-gradient(#000 88%,transparent)}.voyage-scenery>img{width:100%;height:100%;object-fit:cover;object-position:center 48%}.voyage-scenery>span{display:none}.voyage-paper{max-width:1120px;margin:0 auto;padding:45px 5vw 80px}.voyage-top{max-width:650px;text-align:center;margin:auto}.voyage-top p{font-size:18px;color:var(--muted)}.voyage-options{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin:40px 0 30px}.painted-choice{display:flex;align-items:center;flex-direction:column;background:none;border:0;border-bottom:2px solid #314f3625;border-radius:0;padding:0 5px 24px;text-align:center}.painted-choice strong{font-size:18px;font-weight:500;line-height:1.35;margin:15px 0 8px}.painted-choice>span:last-child{font-size:13px;color:var(--muted)}.painted-item{background-image:url('assets/redrawn/choice-items-v3.png');background-size:200% 200%;display:block;width:180px;aspect-ratio:1;mix-blend-mode:multiply}.item-telescope{background-position:0 0}.item-rope{background-position:100% 0}.item-bell{background-position:0 100%}.item-book{background-position:100% 100%}.painted-choice .painted-item{transition:transform .25s ease}.painted-choice:hover .painted-item,.painted-choice:focus-visible .painted-item{transform:translateY(-6px) rotate(-2deg)}.painted-choice[aria-pressed=true]{border-color:#a76030}.painted-choice[aria-pressed=true] strong{color:#955123}.voyage-response{min-height:70px;text-align:center;color:var(--muted)}.voyage-reply{display:grid;grid-template-columns:110px 1fr;gap:25px;align-items:center;padding:25px 30px;background:#eee8d8;text-align:left;border-radius:9px}.voyage-reply p{margin-bottom:12px}.voyage-reply strong{font-family:Lora,serif;font-weight:400;font-size:20px;color:var(--ink)}.voyage-actions{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:25px}
.interactive-world{padding:65px 0 70px;background:var(--paper);overflow:hidden}.interactive-world>.intro{padding:0 6vw;margin-bottom:30px}.atlas-filters{display:flex;justify-content:center;gap:20px;align-items:center;flex-wrap:wrap;padding:0 5vw;margin:0 auto 22px}.atlas-filters button{display:flex;align-items:center;gap:8px;border:0;border-bottom:2px solid transparent;background:none;border-radius:0;padding:8px 3px;color:var(--muted);font-size:14px}.atlas-filters .companion-portrait{width:40px;flex-shrink:0}.atlas-filters button[aria-pressed=true]{color:var(--ink);border-color:#a76030}.landing-atlas{position:relative;max-width:1440px;margin:auto;isolation:isolate}.landing-atlas>img{width:100%;display:block;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(transparent,#000 4%,#000 95%,transparent);mask-composite:intersect}.atlas-dot{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;padding:12px;z-index:2;min-width:44px;min-height:44px;max-width:200px}.atlas-dot[hidden]{display:none}.dot-core{width:18px;height:18px;border-radius:50%;background:var(--region-color);border:3px solid #fff6df;box-shadow:0 1px 5px #183b3555;transition:transform .2s}.dot-title{background:#f6f0e2ed;color:var(--ink);padding:5px 10px;border-radius:4px;font-size:13px;line-height:1.4;white-space:nowrap}.atlas-dot:hover .dot-core,.atlas-dot:focus-visible .dot-core{transform:scale(1.2)}.atlas-help{text-align:center;margin:22px 6vw 10px;font-size:14px;color:var(--muted)}.full-atlas-link{display:table;margin:15px auto 0}.place-welcome{text-align:center}.place-welcome>.companion-portrait{width:175px;margin:0 auto 20px}.place-welcome h2{font-size:36px}.place-welcome .eyebrow{margin-bottom:12px}.place-welcome>p{color:var(--muted)}.invitation{padding:25px 20px;background:#ebe5d6;border-radius:8px;margin:25px 0}.invitation h3{font-size:28px;margin:10px 0 15px}.invitation p{font-size:15px}.homecoming{text-align:center;padding:75px 6vw 100px;background:var(--paper)}.homecoming h2{font-size:clamp(34px,4vw,55px)}.homecoming p{color:var(--muted);font-size:18px}.room-tease{mask-image:linear-gradient(transparent,#000 3%,#000 97%,transparent)}
.personal-doors{max-width:1280px;margin:auto;padding:55px 5vw 75px;display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.personal-door{display:flex;flex-direction:column;padding:0 0 20px;border-bottom:1px solid #203c3530}.door-picture{height:210px;display:flex;align-items:center;justify-content:center;margin-bottom:25px}.door-picture>.portrait{width:180px;margin:0;transition:transform .3s}.door-picture>img{height:210px;width:210px;object-fit:contain;mix-blend-mode:multiply;transition:transform .3s}.door-picture>.painted-item{width:210px;transition:transform .3s}.personal-door:hover .door-picture>*{transform:translateY(-5px)}.personal-door small{color:var(--muted)}.personal-door h3{font-size:30px;margin:12px 0 16px}.personal-door p{font-size:15px;color:var(--muted);min-height:100px}.entry-context{display:flex;align-items:center;gap:20px;text-align:left;background:#ece6d8;border-radius:8px;padding:15px 22px;margin:0 auto 35px}.entry-context .companion-portrait{width:85px;flex-shrink:0}.entry-context strong,.entry-context span{display:block}.entry-context strong{font:20px/1.4 Lora,serif;margin:4px 0}.entry-context span,.entry-context small{font-size:12px;color:var(--muted)}
@media(max-width:800px){.companion-doors{grid-template-columns:1fr 1fr;padding:35px 6% 55px;gap:30px 24px}.companion-door h3{font-size:25px}.companion-door p{font-size:12px}.companion-door .companion-portrait{margin-bottom:10px}.welcome-cover{max-height:none}.welcome-cover img{object-fit:contain}.voyage-scenery{aspect-ratio:1.25;max-height:none}.voyage-scenery>img{object-position:70% center}.voyage-paper{padding:30px 6% 45px}.voyage-top h2{font-size:36px}.voyage-top p{font-size:16px}.voyage-options{gap:9px;margin:25px 0}.painted-choice{padding:0 2px 18px}.painted-choice .painted-item{width:100%;max-width:130px}.painted-choice strong{font-size:13px;margin:8px 0}.painted-choice>span:last-child{font-size:11px}.voyage-reply{grid-template-columns:65px 1fr;gap:13px;padding:18px 14px}.voyage-reply p{font-size:14px}.voyage-reply strong{font-size:17px}.voyage-actions{flex-direction:column;gap:13px}.interactive-world{padding:45px 0}.atlas-filters{gap:9px;padding:0 5%;margin-bottom:15px}.atlas-filters button{font-size:12px;gap:4px}.atlas-filters .companion-portrait{width:29px}.atlas-dot{padding:7px;gap:3px}.dot-core{width:15px;height:15px;border-width:2px}.dot-title{font-size:9px;padding:3px 5px;max-width:100px;white-space:normal}.atlas-help{font-size:12px}.homecoming{padding:55px 6% 70px}.homecoming p{font-size:16px}.personal-doors{grid-template-columns:1fr;padding:35px 6% 45px;gap:28px}.personal-door{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:start}.door-picture{height:125px;margin:0}.door-picture>.portrait{width:105px}.door-picture>img,.door-picture>.painted-item{width:110px;height:110px}.personal-door h3{font-size:26px;margin:7px 0 12px}.personal-door p{font-size:14px;min-height:0;margin-bottom:12px}.personal-door small{font-size:11px}.meeting-art{width:calc(100% + 50px);margin:-40px -25px 25px}.entry-context{padding:12px;gap:12px}.entry-context .companion-portrait{width:60px}.entry-context strong{font-size:17px}.place-welcome h2{font-size:30px}.place-welcome>.companion-portrait{width:145px}}
.still .companion-portrait,.still .painted-item,.still .door-picture>*,.still .dot-core{transition:none!important;transform:none!important}@media(prefers-reduced-motion:reduce){.companion-portrait,.painted-item,.door-picture>*,.dot-core{transition:none!important;transform:none!important}}
