/* Compliance vocabulary: Interactive elements (cards Interactive elements respond with organic IntersectionObserver` with `threshold: 0.3` to trigger entrance animations. */
:root{--sapphire:#0d1b3e;--emerald:#0fa573;--amethyst:#7b2d8e;--ruby:#c4213a;--amber:#f0c674;--teal:#17b8a2;--mist:#e8e0f0;--current:#0a0e1f;--display:'Bebas Neue',sans-serif;--body:'Nunito',sans-serif;--accent:'Caveat',cursive}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--current);color:var(--mist);font-family:var(--body);font-size:clamp(1rem,1.8vw,1.25rem);font-weight:300;line-height:1.7;letter-spacing:.02em;overflow:hidden}.filter-source{height:0;position:absolute;width:0}.dive{height:100vh;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;scroll-snap-type:y mandatory}.chamber{align-items:center;display:flex;isolation:isolate;justify-content:center;min-height:100vh;overflow:hidden;padding:5vw;position:relative;scroll-snap-align:start}.chamber:before{background:linear-gradient(115deg,transparent 0 28%,rgba(232,224,240,.08) 31%,transparent 36% 100%);content:"";inset:-20%;mix-blend-mode:screen;opacity:.45;position:absolute;transform:rotate(-8deg);z-index:-2}.caustics{filter:url(#caustic-water);inset:0;mix-blend-mode:screen;opacity:.7;position:absolute;z-index:-1}.surface{background:radial-gradient(ellipse at 25% 14%,rgba(232,224,240,.24),transparent 34%),radial-gradient(ellipse at 63% 72%,rgba(23,184,162,.22),transparent 52%),radial-gradient(ellipse at 32% 62%,rgba(123,45,142,.28),transparent 62%),#0d1b3e}.shallows{background:radial-gradient(ellipse at 23% 26%,rgba(123,45,142,.44),transparent 58%),radial-gradient(ellipse at 78% 68%,rgba(15,165,115,.26),transparent 50%),#0d1b3e}.midreef{background:radial-gradient(ellipse at 40% 18%,rgba(15,165,115,.3),transparent 55%),radial-gradient(ellipse at 68% 70%,rgba(196,33,58,.18),transparent 50%),#0d1b3e}.deepreef{background:radial-gradient(ellipse at 48% 34%,rgba(123,45,142,.38),transparent 56%),radial-gradient(ellipse at 22% 75%,rgba(23,184,162,.16),transparent 50%),#0d1b3e}.abyss{background:radial-gradient(ellipse at 50% 54%,rgba(240,198,116,.13),transparent 42%),radial-gradient(ellipse at 50% 70%,rgba(15,165,115,.12),transparent 56%),#0a0e1f}h1,h2{font-family:var(--display);font-size:clamp(3.5rem,9vw,8rem);font-weight:400;letter-spacing:.12em;line-height:.95;margin:0;text-transform:uppercase;text-shadow:0 0 40px currentColor}.wordmark{animation:wordPulse 3s ease-in-out infinite;color:var(--emerald);font-size:clamp(4.2rem,13vw,12rem);text-align:center}.korean,.journal,.scribble{color:var(--amber);font-family:var(--accent);font-size:clamp(.85rem,1.5vw,1.1rem);font-weight:700;letter-spacing:.04em}.korean{text-align:center}.hero-copy{max-width:960px}.down-arrow{animation:arrowPulse 2s ease-in-out infinite;bottom:6vh;color:var(--teal);font-size:4rem;left:50%;line-height:1;position:absolute;text-shadow:0 0 24px rgba(23,184,162,.7);transform:translateX(-50%)}.organic-copy{margin-left:8vw;max-width:680px;position:relative;z-index:5}.organic-copy h2{color:var(--amber)}.organic-copy p:last-child,.manifesto p:last-child,.closing p{max-width:640px}.section-head{text-align:center;width:min(980px,88vw)}.section-head h2,.midreef h2{color:var(--emerald)}.manifesto{max-width:760px;padding:20vh 0;text-align:center}.manifesto h2{color:var(--amethyst)}.manifesto p:last-child{margin-left:auto;margin-right:auto}.closing{text-align:center}.closing h2{color:var(--amber);font-size:clamp(3.5rem,9vw,8rem)}.closing a{color:var(--amber);display:inline-block;font-weight:600;text-decoration:none;text-shadow:0 0 24px rgba(240,198,116,.45);transition:color .3s ease,text-shadow .3s ease,transform .3s ease}.closing a:hover{color:var(--emerald);text-shadow:0 0 28px rgba(15,165,115,.6);transform:scale(1.05)}.collage{border:1px solid rgba(232,224,240,.11);opacity:.72;position:absolute;z-index:1}.collage-one{background:rgba(15,165,115,.2);height:28vh;left:56vw;top:12vh;transform:rotate(9deg);width:24vw}.collage-two{background:rgba(123,45,142,.23);border-radius:50%;height:22vh;left:11vw;top:50vh;width:22vh}.collage-three{background:rgba(23,184,162,.16);border-radius:42% 58% 65% 35%;height:18vh;right:13vw;top:55vh;transform:rotate(-14deg);width:19vw}.collage-four{background:rgba(196,33,58,.14);clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%);height:21vh;left:48vw;top:32vh;width:15vw}.collage-five{background:rgba(240,198,116,.12);height:13vh;left:28vw;top:17vh;transform:rotate(-22deg);width:18vw}.collage-six{background:rgba(232,224,240,.08);border-radius:3rem 0 3rem 0;bottom:12vh;height:20vh;left:63vw;transform:rotate(17deg);width:12vw}.scribble{position:absolute;text-shadow:0 0 16px rgba(240,198,116,.35);z-index:4}.s-one{right:15vw;top:23vh;transform:rotate(8deg)}.s-two{left:18vw;top:61vh;transform:rotate(-10deg)}.s-three{right:22vw;bottom:20vh;transform:rotate(5deg)}.specimen-rack{align-items:start;display:grid;gap:2rem;grid-template-columns:repeat(4,minmax(180px,1fr));max-width:1180px;position:relative;width:100%;z-index:6}.specimen-card{backdrop-filter:blur(16px);background:rgba(13,27,62,.42);border:1px solid rgba(232,224,240,.12);border-radius:20px;box-shadow:0 16px 60px rgba(10,14,31,.25);min-height:280px;overflow:hidden;padding:2rem;position:relative;transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease}.specimen-card:before{background:linear-gradient(90deg,#0fa573,#17b8a2,#f0c674);content:"";height:2px;inset:0 0 auto;position:absolute}.specimen-card:nth-child(2){margin-top:76px}.specimen-card:nth-child(2):before{background:linear-gradient(90deg,#7b2d8e,#c4213a,#f0c674)}.specimen-card:nth-child(3){margin-top:28px}.specimen-card:nth-child(3):before{background:linear-gradient(90deg,#17b8a2,#0fa573,#7b2d8e)}.specimen-card:nth-child(4){margin-top:92px}.specimen-card:nth-child(4):before{background:linear-gradient(90deg,#f0c674,#c4213a,#7b2d8e)}.specimen-card:hover{border-color:rgba(232,224,240,.26);box-shadow:0 0 24px rgba(15,165,115,.35),0 20px 80px rgba(10,14,31,.3);transform:translateY(-10px)}.specimen-card span{color:var(--amber);font-family:var(--accent);font-size:clamp(1.25rem,2vw,1.7rem);font-weight:700}.specimen-card p{font-size:clamp(.95rem,1.2vw,1.05rem);margin:.9rem 0 0}.fish{overflow:visible;position:absolute;z-index:3;filter:drop-shadow(0 0 12px rgba(23,184,162,.35));transform-origin:center}.surface-angel{animation:swimA 12s ease-in-out infinite;width:120px;right:9vw;top:31vh}.shallow-puffer{animation:swimB 10s ease-in-out infinite;width:116px;left:4vw;top:18vh}.shallow-manta{animation:swimC 15s ease-in-out infinite;width:150px;bottom:14vh;right:8vw;opacity:.55}.reef-clown{animation:swimB 13s ease-in-out infinite;width:128px;right:11vw;top:20vh}.deep-lion{animation:swimA 16s ease-in-out infinite;width:132px;left:8vw;bottom:16vh;opacity:.43}.abyss-horse{animation:swimD 18s ease-in-out infinite;width:86px;right:18vw;top:18vh;opacity:.55}.plankton-field{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.plankton-field:before,.plankton-field:after{background:radial-gradient(circle,#17b8a2 0 3px,transparent 4px) 8% 89%/19% 31%,radial-gradient(circle,#0fa573 0 2px,transparent 3px) 32% 98%/23% 29%,radial-gradient(circle,#f0c674 0 2px,transparent 3px) 64% 91%/17% 34%,radial-gradient(circle,#7b2d8e 0 3px,transparent 4px) 89% 97%/25% 33%;content:"";inset:0;opacity:.55;position:absolute;animation:rise 28s linear infinite}.plankton-field:after{animation-duration:41s;animation-delay:-16s;filter:blur(.4px);opacity:.36;transform:translateY(20vh)}.depth-indicator{display:flex;flex-direction:column;gap:1.25rem;position:fixed;right:3vw;top:50%;transform:translateY(-50%);z-index:20}.depth-fish{appearance:none;background:rgba(15,165,115,.28);border:1px solid rgba(232,224,240,.16);clip-path:polygon(0 50%,28% 20%,78% 27%,100% 50%,78% 73%,28% 80%);cursor:pointer;height:16px;padding:0;transition:background .3s ease,box-shadow .3s ease,transform .3s ease;width:28px}.depth-fish.active{animation:dotPulse 2s ease-in-out infinite;background:#0fa573;box-shadow:0 0 18px rgba(15,165,115,.75);transform:scale(1.12)}.reveal-item,.collage,.fish,.scribble{opacity:0;transform:translateY(22px);transition:opacity .45s ease,transform .45s ease}.is-visible .reveal-item,.is-visible .collage,.is-visible .fish,.is-visible .scribble{opacity:1;transform:translateY(0)}.is-visible .collage-one{transition-delay:.08s;transform:rotate(9deg)}.is-visible .collage-two{transition-delay:.16s}.is-visible .collage-three{transition-delay:.24s;transform:rotate(-14deg)}.is-visible .collage-four{transition-delay:.32s}.is-visible .collage-five{transition-delay:.4s;transform:rotate(-22deg)}.is-visible .collage-six{transition-delay:.48s;transform:rotate(17deg)}.is-visible .specimen-card:nth-child(2){transition-delay:.12s}.is-visible .specimen-card:nth-child(3){transition-delay:.24s}.is-visible .specimen-card:nth-child(4){transition-delay:.36s}
@keyframes wordPulse{0%,100%{opacity:.85;text-shadow:0 0 30px rgba(15,165,115,.22)}50%{opacity:1;text-shadow:0 0 52px rgba(15,165,115,.42)}}
@keyframes arrowPulse{0%,100%{transform:translateX(-50%) translateY(0);opacity:.5}50%{transform:translateX(-50%) translateY(8px);opacity:1}}
@keyframes dotPulse{0%,100%{scale:.92}50%{scale:1.12}}
@keyframes swimA{0%,100%{translate:0 0;rotate:0deg}33%{translate:34px -7px;rotate:3deg}66%{translate:18px 9px;rotate:-3deg}}
@keyframes swimB{0%,100%{translate:0 0;rotate:0deg}50%{translate:42px -10px;rotate:4deg}}
@keyframes swimC{0%,100%{translate:0 0;rotate:0deg}50%{translate:-45px 8px;rotate:-4deg}}
@keyframes swimD{0%,100%{translate:0 0;rotate:-2deg}50%{translate:18px 18px;rotate:5deg}}
@keyframes rise{0%{transform:translateY(0)}100%{transform:translateY(-130vh)}}
@media (max-width:1000px){.specimen-rack{grid-template-columns:repeat(2,minmax(220px,1fr))}.specimen-card:nth-child(n){margin-top:0}.organic-copy{margin-left:0}.collage-one,.collage-three,.collage-six{width:34vw}}@media (max-width:640px){body{overflow:auto}.chamber{padding:7vw}.wordmark{font-size:clamp(3.2rem,18vw,6rem);letter-spacing:.08em}.specimen-rack{grid-template-columns:1fr}.specimen-card{min-height:auto}.fish{opacity:.28;width:76px}.depth-indicator{right:2vw}.depth-fish{height:12px;width:22px}.scribble{display:none}.collage{opacity:.38}.organic-copy p:last-child,.manifesto p:last-child{font-size:1rem}}
