/* Memory sea. Full spheres, a continuous submerged contour, and a water surface in front. */
.world-view{min-height:100svh}
.world-view .cosmos-bg{background-image:linear-gradient(180deg,#030b1730 0%,#030b1730 48%,#03101c4d 100%),url('assets/gaedo-universe.webp');background-size:cover;background-position:50% 50%}
.world-view .site-header{grid-template-columns:1fr;background:#040e2824;border-color:#fff5e219}
.world-main{height:max(710px,calc(100svh - 150px));min-height:0;display:block;overflow:visible}
.world-field{width:100%;max-width:none;height:100%;min-height:0;margin:0 auto;isolation:isolate}
.world-dust{display:none}
.open-memories{position:absolute;left:50%;top:9%;width:min(850px,75%);display:flex;justify-content:space-evenly;align-items:flex-start;gap:clamp(24px,5vw,94px);transform:translateX(-50%);z-index:3}
.memory-orb{position:relative;display:flex;flex-direction:column;align-items:center;width:clamp(190px,20vw,290px);min-width:0;filter:drop-shadow(0 10px 20px #00030d85);text-decoration:none}
.orb-art{display:block;width:100%;aspect-ratio:1;position:relative}
.orb-art img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s,filter .3s}
.orb-identity{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:-4px;color:#f9efda;text-shadow:0 3px 13px #06111d,0 1px 6px #06111d}
.orb-identity small{color:#dfd0b2;font:12px Georgia,serif;letter-spacing:.08em}
.orb-identity strong{font-size:clamp(26px,2.5vw,40px);font-weight:400;letter-spacing:.18em;padding-left:.18em}
.orb-identity em{font-style:normal;font-size:11px;letter-spacing:.075em;color:#f4e7d0e0;padding:8px 3px 3px;min-height:34px}
.memory-orb:focus-visible{border-radius:35px;outline:1px solid #fff0cf;outline-offset:8px}
.memory-orb:focus-visible .orb-art img{filter:brightness(1.1) drop-shadow(0 0 18px #e0e4f473)}
@media(hover:hover){.memory-orb .orb-art:hover img{transform:translateY(-5px) scale(1.025);filter:brightness(1.1) drop-shadow(0 0 17px #d2e5ff48)}.ttemma-orb .orb-art:hover img{filter:brightness(1.1) drop-shadow(0 0 20px #ffc76e54)}}
.sea-memories{position:absolute;inset:0;pointer-events:none}
.sea-memory{--water-level:51%;--orb-size:clamp(76px,6.9vw,115px);position:absolute;width:var(--orb-size);height:auto;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;z-index:2;isolation:isolate}
.water-crest{position:relative;width:100%;aspect-ratio:1;overflow:visible;isolation:isolate;flex-shrink:0;animation:sea-bob 8s ease-in-out infinite;animation-delay:var(--delay,0s)}
.dormant-orb-image,.submerged-globe img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.dormant-orb-image{z-index:3;filter:saturate(.72) brightness(.8) contrast(.96);clip-path:polygon(0 0,100% 0,100% calc(var(--water-level) - 1%),85% var(--water-level),67% calc(var(--water-level) + 1%),50% calc(var(--water-level) + 2%),33% calc(var(--water-level) + 1%),15% var(--water-level),0 calc(var(--water-level) - 1%))}
.submerged-globe{position:absolute;inset:0;z-index:1;overflow:hidden;clip-path:inset(var(--water-level) 0 0 0);mask-image:linear-gradient(to bottom,#000 46%,#000c 58%,#0006 76%,#0000 98%)}
.submerged-globe img{opacity:.42;filter:sepia(.36) saturate(.42) hue-rotate(135deg) brightness(.77) blur(.3px);transform:translateY(1.5%) scaleX(1.045);transform-origin:50% var(--water-level)}
.water-skin{position:absolute;inset:var(--water-level) 1% 0;z-index:2;border-radius:0 0 50% 50%;background:repeating-linear-gradient(177deg,transparent 0 8%,#afdae00d 8.5% 9%,transparent 10% 19%),linear-gradient(#0c354729,#09253609);mask-image:radial-gradient(ellipse at 50% 0,#000 12%,#000a 62%,transparent 74%)}
.surface-ring{position:absolute;left:-5%;width:110%;top:calc(var(--water-level) - 4%);height:9%;border-radius:50%;pointer-events:none}
.ring-back{z-index:0;border-top:1px solid #b0cedc57;box-shadow:0 -2px 6px #a3cfd315}
.ring-front{z-index:5;border-bottom:1.3px solid #c7e1de9c;border-left:1px solid #9bbac536;border-right:1px solid #9bbac536;box-shadow:0 3px 5px -2px #bedfe34d;clip-path:inset(35% -10px -10px)}
.water-ripple{position:absolute;left:-20%;width:140%;top:calc(var(--water-level) - 7%);height:15%;z-index:4;border:1px solid #a1c5d326;border-radius:50%;transform:rotate(-2deg);mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent)}
.ripple-two{left:-36%;width:172%;top:calc(var(--water-level) - 10%);height:21%;border-color:#a1c5d313;transform:rotate(2deg)}
.sea-label{position:relative;z-index:7;display:flex;flex-direction:column;align-items:center;color:#f5eededa;font-size:clamp(11px,.95vw,14px);letter-spacing:.08em;text-align:center;white-space:nowrap;text-shadow:0 2px 8px #020c1c,0 0 12px #061528;margin-top:-7%;line-height:1.5}
.sea-label small{font:9px/1.4 Georgia,serif;color:#e7dfcdb8;letter-spacing:.1em}
.sea-pos-1{left:15%;top:84%;--delay:-2s;--water-level:49%}
.sea-pos-2{left:30%;top:89%;--delay:-5s;--water-level:54%}
.sea-pos-3{left:42%;top:78%;--delay:-1s;--water-level:57%;--orb-size:clamp(70px,6.2vw,101px)}
.sea-pos-4{left:54%;top:89%;--delay:-3s}
.sea-pos-5{left:67%;top:76%;--delay:-6s;--water-level:56%;--orb-size:clamp(72px,6.3vw,104px)}
.sea-pos-6{left:78%;top:83%;--delay:-4s;--water-level:48%}
.sea-pos-7{left:89%;top:76%;--delay:-7s;--water-level:56%;--orb-size:clamp(70px,6.1vw,100px)}
.sea-pos-8{left:92%;top:91%;--delay:-2.5s;--water-level:52%}
.site-footer{background:#020c173b;border-color:#f8ebd012}
@keyframes sea-bob{0%,100%{translate:0 0}50%{translate:0 -2px}}
@media(max-width:760px){
 .world-main{height:1000px;min-height:0}
 .world-field{height:100%;width:100%;min-height:0}
 .world-view .cosmos-bg{background-size:auto 100%;background-position:51% center}
 .open-memories{top:13%;width:100%;padding:0 8px;gap:8px;justify-content:center}
 .memory-orb{width:min(46%,184px)}
 .orb-identity{margin-top:-1px}.orb-identity small{font-size:10px}.orb-identity strong{font-size:clamp(24px,6.4vw,33px)}.orb-identity em{font-size:10px;min-height:38px}
 .sea-memory{--orb-size:clamp(60px,17.6vw,100px)}
 .sea-label{font-size:11px;line-height:1.4;margin-top:-7%}.sea-label small{font-size:9px}
 .sea-pos-1{left:14%;top:76%;--orb-size:clamp(58px,16.5vw,90px)}
 .sea-pos-2{left:38%;top:74%;--orb-size:clamp(58px,16.5vw,90px)}
 .sea-pos-3{left:62%;top:75%;--orb-size:clamp(58px,16.5vw,90px)}
 .sea-pos-4{left:85%;top:74%;--orb-size:clamp(58px,16.5vw,90px)}
 .sea-pos-5{left:14%;top:90%;--orb-size:clamp(60px,18.5vw,100px)}
 .sea-pos-6{left:38%;top:88%;--orb-size:clamp(60px,18.5vw,100px)}
 .sea-pos-7{left:62%;top:89%;--orb-size:clamp(60px,18.5vw,100px)}
 .sea-pos-8{left:86%;top:88%;--orb-size:clamp(60px,18.5vw,100px)}
}
@media(max-width:380px){.world-main{height:940px}.open-memories{top:15%}}
@media(prefers-reduced-motion:reduce){.water-crest{animation:none}.orb-art img{transition:none}}
/* Contacts follow clear water between the harbor's fixed boats and piers. */
@media(min-width:761px){
 .sea-pos-1{left:15%;top:87.5%}
 .sea-pos-2{left:30%;top:92.5%}
 .sea-pos-3{left:43%;top:85%}
 .sea-pos-4{left:50%;top:90%}
 .sea-pos-5{left:61%;top:81%}
 .sea-pos-6{left:75%;top:87%}
 .sea-pos-7{left:95%;top:75%}
 .sea-pos-8{left:86%;top:84%}
}
@media(max-width:760px){.sea-pos-8{left:86%;top:82%}}

/* Portrait painting and orb contacts share the exact same stage coordinates. */
.orb-identity em{border:1px solid #e5d4b052;border-radius:30px;padding:10px 20px;min-height:44px;margin-top:8px;background:#06182466;backdrop-filter:blur(5px)}
@media(max-width:760px){
 .world-view .cosmos-bg{display:none}.world-view:before{display:none}
 .world-main{height:auto;min-height:0;background:linear-gradient(#03101d12,#03101d19),url('assets/memory-sea-mobile.webp') center/100% 100% no-repeat;aspect-ratio:9/20}
 .world-field{position:absolute;inset:0;height:100%}.open-memories{top:28%;padding:0 10px;gap:8px}.memory-orb{width:46%}
 .orb-identity strong{font-size:28px}.orb-identity em{font-size:11px;padding:9px 16px;margin-top:7px;min-height:42px}
 .sea-memory{--orb-size:17vw}.sea-label{font-size:11px;text-shadow:0 2px 5px #00101c}
 .sea-pos-1{left:14%;top:70%;--orb-size:16vw}.sea-pos-2{left:38%;top:72%;--orb-size:16vw}.sea-pos-3{left:62%;top:70%;--orb-size:16vw}.sea-pos-4{left:86%;top:73%;--orb-size:16vw}
 .sea-pos-5{left:14%;top:88%;--orb-size:18vw}.sea-pos-6{left:38%;top:86%;--orb-size:18vw}.sea-pos-7{left:62%;top:89%;--orb-size:18vw}.sea-pos-8{left:86%;top:87%;--orb-size:18vw}
}
