@import url('fonts/font.css?v=14');
@import url('vendor/open-props-easings.css');
@import url('vendor/open-props-sizes.css');
:root { color-scheme: dark; --serif: 'Well Mincho', 'Yu Mincho', serif; --reading-width: 620px; --motion-ease: var(--ease-out-3, cubic-bezier(.2,.6,.2,1)); }
.hero__species-name { font-size: 1.25rem; }
.specimen { padding-bottom: 0; overflow: clip; }
.stage { --h: min(90svh,860px); }
.specimen-open { display: block; cursor: zoom-in; text-decoration: none; }
.specimen-open:focus-visible { outline-offset: -12px; }
.specimen-name { pointer-events: none; }
.specimen-scientific { position: absolute; right: var(--gutter); bottom: 36px; margin: 0; font-family: var(--serif); letter-spacing: .03em; font-size: 1.1rem; pointer-events: none; }
.specimen-scientific span { display: block; color: var(--mist); text-align: right; font: .75rem/2 var(--sans); }
.topics { padding-block: 100px 20px; }
.topic { position: relative; padding-block: clamp(96px,14vw,180px); }
.topic__text { position: relative; z-index: 2; width: min(100%,var(--reading-width)); margin: auto; }
.topic h3 { margin: 0 0 40px; font: 500 clamp(1.65rem,3vw,2.5rem)/1.65 var(--serif); letter-spacing: .06em; text-wrap: balance; }
.topic p { margin: 0 0 1.5em; line-height: 2.2; color: var(--white); }
.topic .topic__latin { margin-top: -22px; margin-bottom: 36px; font-family: var(--serif); color: var(--mist); font-size: 1rem; letter-spacing: .015em; }
.topic .topic__footnote { font-size: .8rem; color: var(--mist); line-height: 1.9; }
.drift-picture { position: absolute; display: block; width: 190px; height: 190px; text-decoration: none; cursor: zoom-in; z-index: 1; }
.drift-picture--right { right: -32px; top: -30px; }
.mini-crop { position: absolute; inset: 0; overflow: hidden; --beetle: 180px; --x: 50%; --photo-x: 49.9%; --photo-y: 51.6%; }
.drift-ready [data-drift] { opacity: 0; transform: translate3d(0,calc(30px + var(--drift-y,0px)),0); transition: opacity 1.7s var(--motion-ease); }
.drift-ready [data-drift].is-visible { opacity: .85; transform: translate3d(0,var(--drift-y,0px),0); will-change: opacity,transform; }
.drift-ready .is-visible .mini-crop,.drift-ready .life-sighting.is-visible img { animation: well-float 8s ease-in-out infinite alternate; }
@keyframes well-float { from { translate: 0 5px; rotate: -.4deg; } to { translate: 0 -9px; rotate: .5deg; } }
.well-life { padding-block: 80px 0; overflow: clip; }
.well-life h2 { font-size: clamp(2.5rem,6vw,5rem); }
.life-intro { max-width: 600px; margin: 40px 0 0; color: var(--mist); }
.life-field { position: relative; min-height: 780px; margin-top: 40px; }
.life-sighting { position: absolute; margin: 0; width: min(35vw,350px); }
.life-sighting a { display: block; cursor: zoom-in; overflow: hidden; }
.life-sighting img { width: 100%; aspect-ratio: 1.35; object-fit: cover; object-position: 50% 48%; filter: brightness(1.3); mix-blend-mode: screen; -webkit-mask-image: radial-gradient(ellipse,black 40%,transparent 73%); mask-image: radial-gradient(ellipse,black 40%,transparent 73%); }
.life-sighting figcaption { margin-top: 10px; font: 500 1.1rem/1.5 var(--serif); letter-spacing: .14em; text-align: center; }
.life-sighting--isopod { left: 3%; top: 60px; }
.life-sighting--amphipod { right: 1%; top: 400px; }
.watch__inner { display: block; }
.watch h2 { font-size: clamp(2.5rem,6vw,5rem); margin-bottom: 64px; }
.video-embed { width: min(100%,960px); margin-left: auto; border: 1px solid var(--rule); aspect-ratio: 16/9; background: var(--ink); }
.video-embed iframe { display: block; width: 100%; height: 100%; border: 0; }
.publications { padding-block: clamp(100px,14vw,180px); }
.publications h2 { font-size: clamp(2.5rem,6vw,5rem); }
.publications__intro { margin: 40px 0 64px; color: var(--mist); }
.publication-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.publication { display: flex; flex-direction: column; gap: var(--size-5,24px); min-height: 320px; padding: var(--size-7,32px) var(--size-6,28px); border-top: 1px solid var(--rule); text-decoration: none; transition: background-color .4s; }
.publication + .publication { border-left: 1px solid var(--rule); }
.publication:hover { background-color: rgba(166,204,201,.04); }
.publication__publisher { color: var(--mist); font: .75rem/1.5 var(--sans); letter-spacing: .12em; }
.publication__title { font: 500 clamp(1.35rem,2vw,1.8rem)/1.7 var(--serif); }
.publication__title small { font-size: .75em; }
.path__note { border-left: 0; padding-left: 0; }
.path__for,.path__cta { display: none; }
.shared-contact { margin: 60px auto 0; width: min(100%,620px); }
.shared-contact .button { width: 100%; padding-block: 24px; }
@media (max-width:1050px) { .drift-picture--right { right: 0; top: -50px; width: 150px; height: 150px; } .mini-crop { --beetle: 140px; } }
@media (max-width:760px) {
    .hero__species-name { font-size: .95rem; white-space: nowrap; letter-spacing: .03em; }
 .stage { --beetle: 74vw; --h: 640px; }
 .specimen-name { bottom: 82px; }
 .specimen-scientific { bottom: 24px; right: 20px; left: 20px; text-align: center; font-size: .95rem; }
 .specimen-scientific span { text-align: center; }
 .topics { padding-top: 30px; }
 .topic { padding-block: 110px 70px; }
 .topic p { font-size: .95rem; }
 .drift-picture--right { width: 110px; height: 110px; top: -18px; right: 0; }
 .mini-crop { --beetle: 105px; }
 .life-intro { font-size: .9rem; }
 .life-field { min-height: 700px; }
 .life-sighting { width: 65vw; }
 .life-sighting--isopod { left: -6%; top: 50px; }
 .life-sighting--amphipod { right: -3%; top: 350px; }
  .life-sighting figcaption { font-size: 1rem; }
 .publication-list { grid-template-columns: 1fr; }
 .publication { min-height: 0; padding: 30px 0; gap: 20px; }
 .publication + .publication { border-left: 0; }
 .publication__title { font-size: 1.5rem; }
 .shared-contact .button { font-size: .85rem; padding-inline: 18px; gap: 10px; }
 }
@media (prefers-reduced-motion:reduce) { .drift-ready [data-drift],.drift-ready [data-drift].is-visible { opacity: .9; transform: none; transition: none; } .drift-ready .is-visible .mini-crop,.drift-ready .life-sighting.is-visible img { animation: none; } }

/* Shared surface and editorial tokens */
:root { --radius-site: 6px; --focus-ring: 2px solid #b8e1dd; --copy-leading: 2.2; }
.site-header__inner { justify-content: flex-end; }
.button,.menu-toggle,.original__close { border-radius: var(--radius-site); }
.button { transition: background-color .25s var(--motion-ease),color .25s var(--motion-ease),border-color .25s var(--motion-ease),box-shadow .25s var(--motion-ease); }
.button:hover { box-shadow: 0 4px 24px #02080b33; }
a:focus-visible,button:focus-visible { outline: var(--focus-ring); outline-offset: 5px; }
.hero__well { width: min(76vw,820px); top: -10px; }
.topic h3 { text-wrap: balance; }
.topic__lead::first-letter { float: left; font-family: var(--serif); font-size: 3.15em; line-height: 1; margin: .14em .16em 0 0; color: var(--mist); }
.topic strong { font-weight: 600; color: #e1efeb; box-decoration-break: clone; text-decoration: underline; text-decoration-color: #a6ccc955; text-underline-offset: .35em; }
i[lang="la"] { font-family: Georgia,'Times New Roman',serif; letter-spacing: .015em; }
.cutout { display: block; width: 100%; height: 100%; object-fit: contain; }
.cutout--first { position: absolute; width: min(58vw,650px); height: auto; left: var(--x); top: 50%; transform: translate(-50%,-50%); }
.mini-crop { display: grid; place-items: center; }
.scuttle { position: absolute; z-index: 1; width: clamp(140px,21vw,230px); aspect-ratio: 1; pointer-events: none; opacity: .65; }
.scuttle--left { left: -40px; bottom: -75px; }
.scuttle--right { right: -20px; bottom: -80px; }
.scuttle video,.scuttle__still { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.scuttle video { opacity: 0; }
.scuttle.is-playing video { opacity: 1; }
.scuttle.is-playing .scuttle__still { visibility: hidden; }
.scuttle-ready .scuttle { opacity: 0; }
.video-embed { border-radius: var(--radius-site); overflow: hidden; }
.video-embed--second { width: min(100%,760px); margin-top: 48px; margin-left: 0; }
.original { border-radius: var(--radius-site); }
.original__figure img { max-height: calc(88svh - 82px); }
@media(max-width:760px) {
 .hero__well { width: min(138vw,620px); top: 12px; left: 50%; }
 .site-header__inner { min-height: 64px; }
 .cutout--first { width: 94vw; }
 .scuttle { width: 130px; }
 .scuttle--left { left: -25px; bottom: -80px; }
 .scuttle--right { right: -20px; bottom: -80px; }
 .topic { padding-bottom: 150px; }
 .life-sighting figcaption { font-size: .9rem; letter-spacing: .08em; }
 .video-embed--second { margin-top: 28px; }
}
@media(prefers-reduced-motion:reduce) {
 .button { transition: none; }
 .scuttle-ready .scuttle { opacity: .65; transform: none!important; }
 .scuttle video { display: none; }
 .scuttle.is-playing .scuttle__still { visibility: visible; }
}

.scuttle--left,.scuttle--right { bottom: 12px; }

/* Typography: the cover and the reading surface have distinct roles. */
:root{--serif:'Well Display','Yu Mincho',serif;--sans:'Well Sans','Yu Gothic UI',sans-serif;--reading-width:620px;}
body{font-family:var(--sans);font-weight:400;line-height:1.95;letter-spacing:.025em;font-synthesis:none;}
.hero__title,.display{font-family:var(--serif);font-weight:800;letter-spacing:.035em;}
.topic h3,.path h3,.publication__title,.life-sighting figcaption,.specimen-name__ja{font-family:var(--serif);font-weight:700;}
.topic h3{font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:.025em;line-height:1.65;}
.topic p{font-size:1rem;line-height:2.15;text-wrap:pretty;}
.topic__lead::first-letter{float:none;font:inherit;line-height:inherit;margin:0;color:inherit;}
.hero__species-name{font-family:var(--serif);font-weight:700;}
.hero__lead{font-weight:700;}
.lead{font-family:var(--sans);}
.topic strong{font-weight:500;text-decoration-thickness:1px;}
.button,.menu-toggle,.site-nav,.original__close{font-family:var(--sans);font-weight:500;}
.site-footer__inner{justify-content:flex-end;}
.site-footer__inner nav{margin-left:auto;}
.menu-toggle,.original__close{min-height:44px;}
.site-nav a{display:inline-flex;min-height:44px;align-items:center;}
.well-life h2{font-size:clamp(2.25rem,5.8vw,4.75rem);letter-spacing:.025em;}
.well-life h2 span{white-space:nowrap;}
.original__title{font-family:var(--sans);font-weight:500;}
.species-word{display:inline-block;}
.topic__latin,.specimen-scientific{font-family:Georgia,'Times New Roman',serif;}
@media(max-width:980px){
 .publication-list{grid-template-columns:1fr;}
 .publication{min-height:0;padding:30px 0;gap:20px;}
 .publication+.publication{border-left:0;}
 .publication__title{font-size:1.5rem;}
}
@media(max-width:760px){
 .hero__title{font-size:clamp(3rem,14vw,3.8rem);line-height:1.22;}
 .hero__inner{gap:12px;}
 .hero__lead{font-size:clamp(1rem,4.5vw,1.3rem);letter-spacing:.035em;}
 .hero__species{padding-left:12px;}
 .hero__species-name{font-size:clamp(.875rem,3.9vw,.95rem);}
 .specimen-name__ja{font-size:clamp(1.25rem,5.8vw,2rem);letter-spacing:.04em;white-space:nowrap;}
 .topic p{font-size:1rem;}
 .topic h3{font-size:clamp(1.3rem,5.7vw,1.7rem);}
 .well-life h2{font-size:clamp(2rem,8vw,3.5rem);line-height:1.5;}
 .site-nav a{min-height:48px;}
}

/* Keep the photographed specimen and its two names in distinct regions. */
.hero__well{top:64px;}
.hero__well img{display:block;width:100%;height:auto;filter:saturate(.72) brightness(.84);}
.specimen-labels{display:contents;pointer-events:none;}
.well__text>.lead::first-letter,.topic__lead::first-letter{float:left;font-family:var(--serif);font-weight:700;font-size:2.7em;line-height:1;margin:.12em .16em 0 0;color:var(--mist);}
@media(max-width:999px){
 .specimen-labels{position:absolute;display:flex;flex-direction:column;align-items:center;gap:16px;left:var(--gutter);right:var(--gutter);bottom:28px;z-index:2;}
 .specimen-labels .specimen-name{position:static;display:block;writing-mode:horizontal-tb;transform:none;margin:0;}
 .specimen-labels .specimen-name__ja{display:block;font-size:clamp(1.25rem,4.8vw,2.8rem);line-height:1.35;letter-spacing:.035em;white-space:nowrap;}
 .specimen-labels .specimen-scientific{position:static;margin:0;text-align:center;font-size:clamp(.85rem,1.8vw,1.1rem);line-height:1.6;}
 .specimen-labels .specimen-scientific span{text-align:center;}
}
@media(max-width:760px){
 .hero__well{width:min(120vw,580px);top:64px;left:50%;}
 .specimen-labels{gap:12px;bottom:24px;}
}

/* Descending from daylight into groundwater, then into the dark. */
:root {
  color-scheme: light;
  --surface: #fff;
  --white: #102729;
  --mist: #3d605e;
  --rule: rgb(16 39 41 / .2);
  --rule-strong: rgb(16 39 41 / .45);
  --header-surface: rgb(255 255 255 / .94);
  --focus-ring: 2px solid var(--mist);
}
html { background: var(--surface); color: var(--white); }
body { background: none; }
.site-header.is-scrolled,
.site-header.is-menu-open { background: var(--header-surface); }
.site-header { transition: border-color .5s ease; }
.site-nav a { transition: background-size .4s ease; }
.hero__light { opacity: .35; }
.topic strong { color: var(--white); text-decoration-color: var(--rule-strong); }
.button:hover { color: var(--surface); }
.skip { background: var(--white); color: var(--surface); }
/* Enlarged photos keep a stable neutral viewing surface at every depth. */
.original {
  --white: #f2f5f4;
  --ink: #03080b;
  --focus-ring: 2px solid #153b40;
  color-scheme: light;
}
@media (max-width: 760px) {
  .js .site-nav { background: var(--header-surface); }
}

/* One entrance, followed by two lines of copy in reading order. */
.hero { display:block; min-height:0; padding:0; overflow:visible; }
.hero__viewport { position:relative; min-height:100svh; padding:88px var(--gutter) 64px; overflow:clip; }
.hero__viewport::before,.hero__viewport::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:0; }
.hero__viewport::before { background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgb(0 0 0 / .2) 100%); mask-image:linear-gradient(transparent,#000 20%,#000 78%,transparent); }
.hero__viewport::after { background:radial-gradient(ellipse 60% 35% at 50% 30%,rgb(170 225 215 / .06),transparent 70%); }
.hero__anchor { position:absolute; top:100svh; left:0; width:1px; height:1px; }
.hero__well { position:relative; width:min(80vw,640px); top:auto; left:auto; margin:0 auto; transform:none; }
.hero__well img { transform-origin:50% 56%; }
.hero .descend { position:absolute; top:56%; left:50%; transform:translate(-50%,-50%); display:flex; flex-direction:column; gap:5px; min-height:44px; padding:12px 18px; color:#fff; font:500 .875rem/1.5 var(--sans); letter-spacing:.16em; text-align:center; white-space:nowrap; text-shadow:0 1px 2px #0008; }
.hero .descend:hover { color:#fff; text-decoration:underline; text-underline-offset:5px; }
.hero .descend:focus-visible { outline-color:#fff; border-radius:6px; }
.descend__arrow { font-size:1.3rem; line-height:1; }
.hero__inner { display:flex; flex-direction:row-reverse; align-items:flex-start; justify-content:center; width:fit-content; max-width:calc(100% - 40px); gap:clamp(24px,4vw,40px); margin:36px auto 0; }
.hero__title { writing-mode:vertical-rl; font-size:clamp(34px,6.2svh,60px); line-height:1.28; letter-spacing:.08em; animation:none; }
.hero__lead { writing-mode:vertical-rl; margin:2em 0 0; font:500 clamp(14px,2.1svh,18px)/1.9 var(--sans); letter-spacing:.15em; }
.hero__title:focus { outline:none; }
.shaft { color:var(--mist); }
.shaft path[stroke="#A6CCC9"],.shaft g[stroke="#A6CCC9"] { stroke:currentColor; }
#courses path { stroke:currentColor; }
#aquiferFill stop:first-child { stop-color:#3d8b8a; stop-opacity:.26; }
#aquiferFill stop:last-child { stop-color:#3d8b8a; stop-opacity:.06; }
.aquifer__surface { stroke-width:1.3; opacity:.5; }
.aquifer__flow { stroke-width:1.4; stroke-linecap:round; stroke-dasharray:42 94; opacity:.6; animation:groundwater-flow 32s linear infinite; animation-play-state:paused; }
.water-active .aquifer__flow { animation-play-state:running; }
.aquifer__flow:nth-child(3) { animation-duration:40s; animation-delay:-16s; opacity:.4; }
.aquifer__flow:nth-child(4) { animation-duration:46s; animation-delay:-31s; opacity:.28; }
@keyframes groundwater-flow { to { stroke-dashoffset:-272; } }
.path__method { margin:18px 0 0; color:var(--mist); font-size:.85rem; line-height:1.9; }
@media(prefers-reduced-motion:no-preference) {
  .descent-ready .hero { height:200svh; }
  .descent-ready .hero__viewport { position:sticky; top:0; height:100svh; min-height:0; padding:0; }
  .descent-ready .hero__viewport::before { opacity:var(--depth-shade,0); }
  .descent-ready .hero__viewport::after { opacity:var(--copy-opacity,0); }
  .descent-ready .hero__well { position:absolute; top:46%; left:50%; margin:0; transform:translate(-50%,-50%); }
  .descent-ready .hero__well img { transform:scale(var(--well-scale,1)); opacity:var(--well-opacity,1); }
  .descent-ready .descend { opacity:var(--entry-opacity,1); }
  .descent-ready .hero__inner { position:absolute; z-index:2; inset:0; height:fit-content; transform:none; margin:auto; pointer-events:none; }
  .descent-ready .hero__title { opacity:var(--copy-opacity,0); transform:none; }
  .descent-ready .hero__lead { opacity:var(--lead-opacity,0); transform:none; }
}
@media(prefers-reduced-motion:reduce) { .aquifer__flow { animation:none; } }
@media(max-width:760px) { .descent-ready .hero__well { width:min(104vw,640px); } }
@media(max-height:560px) {
  .hero__well { width:min(65vw,72svh); }
  .hero__title { font-size:clamp(26px,7svh,40px); }
  .hero__lead { font-size:13px; }
}

/* Text navigation shares the same underline on hover and keyboard focus. */
.site-nav a,.text-link { display:inline-flex; align-items:center; min-height:44px; padding:6px 0; color:var(--mist); text-decoration:none; background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat; transition:background-size .4s var(--motion-ease); cursor:pointer; }
.site-nav a:is(:hover,:focus-visible),.text-link:is(:hover,:focus-visible) { color:var(--white); background-size:100% 1px; }
.site-footer .text-link { font:inherit; letter-spacing:inherit; }
.site-footer__meta a { text-underline-offset:.25em; text-decoration-thickness:1px; }
.site-footer__meta a:is(:hover,:focus-visible) { color:var(--white); }
.publication { background-image:linear-gradient(currentColor,currentColor); background-position:0 100%; background-repeat:no-repeat; background-size:0 1px; transition:background-color .4s,background-size .4s var(--motion-ease); }
.publication:is(:hover,:focus-visible) { background-color:rgb(166 204 201 / .04); background-size:100% 1px; }
.button:focus-visible { background:var(--mist); color:var(--surface); }
.menu-toggle:is(:hover,:focus-visible) { background:var(--mist); color:var(--surface); border-color:var(--mist); }
.original__close:focus-visible { background:var(--ink); color:var(--white); }
.contribute__possibility { max-width:760px; margin:0 0 56px; color:var(--mist); font-size:1rem; line-height:2; }

/* Crop the viewing window; keep every original photo pixel unchanged. */
.original__figure [hidden] { display:none!important; }
.original__crop { display:block; width:100%; height:auto; max-height:calc(88svh - 82px); background:#fff; }

.references { position:relative; }
.site-footer { container-type:inline-size; }
.references>summary { list-style:none; }
.references>summary::-webkit-details-marker { display:none; }
.references[open]>summary { color:var(--white); background-size:100% 1px; }
.references__panel { position:absolute; right:0; bottom:calc(100% + 16px); z-index:5; width:min(640px,calc(100vw - 2 * var(--gutter))); width:min(640px,calc(100cqw - 2 * var(--gutter))); max-height:65svh; overflow:auto; overscroll-behavior:contain; padding:clamp(20px,4vw,32px); border:1px solid var(--rule-strong); border-radius:var(--radius-site); background:var(--surface); color:var(--white); box-shadow:0 12px 42px #0006; font:400 .875rem/1.9 var(--sans); letter-spacing:.02em; }
.references__header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.references__header h2 { margin:0; font:700 1.4rem/1.5 var(--serif); }
.references__close { flex-shrink:0; min-height:44px; padding:8px 14px; border:1px solid var(--rule-strong); border-radius:var(--radius-site); background:none; color:var(--white); font:500 .8rem/1.5 var(--sans); cursor:pointer; }
.references__close:is(:hover,:focus-visible) { background:var(--mist); color:var(--surface); }
.references__panel ol { display:block; margin:0; padding-left:1.4em; list-style:decimal; }
.references__panel li+li { margin-top:22px; }
.site-footer .references__panel a { color:var(--mist); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.2em; overflow-wrap:anywhere; }
.site-footer .references__panel a:is(:hover,:focus-visible) { color:var(--white); }
@media(prefers-reduced-motion:reduce) { .site-nav a,.text-link { transition:none; } }
@media(max-width:760px) {
  .js .site-nav a { background:linear-gradient(currentColor,currentColor) 0 calc(100% - 12px) / 0 1px no-repeat; }
  .js .site-nav a:is(:hover,:focus-visible) { background-size:100% 1px; }
  .menu-toggle { width:44px; min-width:44px; min-height:44px; padding:0; gap:0; justify-content:center; }
  .menu-toggle__lines { position:relative; width:18px; height:18px; border:0; }
  .menu-toggle__lines::before,.menu-toggle__lines::after { content:""; position:absolute; left:0; top:8px; width:18px; height:1px; background:currentColor; transition:transform .32s var(--motion-ease); }
  .menu-toggle__lines::before { transform:translateY(-3px); }
  .menu-toggle__lines::after { transform:translateY(3px); }
  .menu-toggle[aria-expanded="true"] .menu-toggle__lines::before { transform:rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-toggle__lines::after { transform:rotate(-45deg); }
  .js .site-nav { display:grid; grid-template-rows:0fr; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-8px); border-bottom-color:transparent; transition:grid-template-rows .32s var(--motion-ease),opacity .25s,transform .32s var(--motion-ease),visibility .32s; }
  .js .site-nav.is-open { display:grid; grid-template-rows:1fr; opacity:1; visibility:visible; pointer-events:auto; transform:none; border-bottom-color:var(--rule); }
  .js .site-nav__inner { min-height:0; overflow:hidden; }
}
.hero__bubbles { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.hero__bubbles .bubble { position:absolute; top:calc(100% + 64px); left:calc(50% + var(--bubble-start)); width:var(--bubble-size); height:var(--bubble-size); margin-left:calc(var(--bubble-size) * -.5); opacity:0; }
.bubble>i { position:relative; display:block; width:100%; height:100%; border-radius:47% 51% 46% 52%; background:radial-gradient(ellipse at 43% 39%,transparent 42%,rgb(2 24 29 / .32) 67%,rgb(179 219 215 / .12) 78%,transparent 82%); box-shadow:inset 1px 1px 2px rgb(227 250 245 / .12),inset -1px -2px 3px rgb(0 16 22 / .18); }
.bubble>i::before { content:""; position:absolute; inset:0; border-radius:inherit; background:conic-gradient(from var(--bubble-light,0deg),rgb(226 250 245 / .08),rgb(236 255 250 / .78) 32deg,rgb(191 225 223 / .12) 86deg,rgb(0 17 22 / .5) 153deg,rgb(179 219 215 / .3) 213deg,rgb(226 250 245 / .04) 268deg,rgb(236 255 250 / .6) 323deg,rgb(226 250 245 / .08)); -webkit-mask-image:radial-gradient(ellipse closest-side,transparent calc(100% - 1.3px),#000 calc(100% - .5px)); mask-image:radial-gradient(ellipse closest-side,transparent calc(100% - 1.3px),#000 calc(100% - .5px)); }
.bubble>i::after { content:""; position:absolute; inset:10% 17%; border-top:1px solid rgb(242 255 252 / .72); border-bottom:.7px solid rgb(207 239 232 / .3); border-radius:48%; transform:rotate(-28deg); opacity:var(--bubble-glint,.7); }
.bubble--small>i { border-radius:50%; }
.bubble--small>i::after { inset:14% 25% 54%; border:0; background:radial-gradient(ellipse,rgb(236 255 249 / .65),transparent 72%); transform:none; }
.hero__bubbles .bubble--large { height:calc(var(--bubble-size) * .86); }
.bubble--large>i { border-radius:48% 47% 43% 44%; }
.is-bubbling .bubble { animation:well-bubble-rise var(--bubble-duration) var(--bubble-delay) cubic-bezier(.35,.12,.65,.9) both; }
.is-bubbling .bubble>i { animation:well-bubble-wander var(--bubble-duration) var(--bubble-delay) linear both; }
@keyframes well-bubble-rise { 0% { transform:translate3d(0,0,0); opacity:var(--bubble-alpha,.85); } 72% { opacity:calc(var(--bubble-alpha,.85) * .8); } 100% { transform:translate3d(0,calc(-100svh - 160px),0); opacity:calc(var(--bubble-alpha,.85) * .4); } }
@keyframes well-bubble-wander {
  0% { transform:translateX(0) scale(.85,1.1) rotate(-4deg); }
  18% { transform:translateX(var(--bubble-x1)) scale(1.06,.94) rotate(5deg); }
  39% { transform:translateX(var(--bubble-x2)) scale(.91,1.08) rotate(-7deg); }
  61% { transform:translateX(var(--bubble-x3)) scale(1.08,.93) rotate(6deg); }
  82% { transform:translateX(var(--bubble-x4)) scale(.96,1.04) rotate(-3deg); }
  100% { transform:translateX(var(--bubble-x5)) scale(1) rotate(0deg); }
}
.video-embed,.video-embed--second { width:min(100%,960px); margin-inline:auto; aspect-ratio:16/9; }
.roaming-field { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.roaming-field .scuttle { position:absolute; left:0; top:0; right:auto; bottom:auto; width:clamp(120px,18vw,210px); opacity:0; }
.roaming-field .scuttle.is-roaming { will-change:transform; }
.site-footer nav>ul { justify-content:flex-end; }
.icon-close { position:relative; display:inline-flex; align-items:center; justify-content:center; width:44px; min-width:44px; height:44px; padding:0; }
.icon-close[hidden] { display:none; }
.icon-close::before,.icon-close::after { content:""; position:absolute; left:50%; top:50%; width:18px; height:1px; background:currentColor; transform:translate(-50%,-50%) rotate(45deg); }
.icon-close::after { transform:translate(-50%,-50%) rotate(-45deg); }
html { scrollbar-gutter:stable; }
.js :is(h2,h3,p).reveal { transform:none; transition:opacity 1.2s ease; }
.well__species { font-weight:700; text-decoration:underline; text-decoration-color:var(--mist); text-decoration-thickness:1px; text-underline-offset:.24em; text-decoration-skip-ink:auto; }
.site-footer { padding-bottom:0; }
.footer-bed { position:relative; height:168px; margin-top:8px; overflow:hidden; pointer-events:none; }
.footer-walk { position:absolute; inset:0 auto 0 0; width:clamp(104px,10vw,112px); --footer-distance:calc(100vw + 160px); animation:footer-crossing 36s -4s linear infinite; animation-play-state:paused; }
.footer-walk .scuttle { width:100%; bottom:28px; left:0; opacity:.72; transform:rotate(45deg); }
.footer-bed.is-active .footer-walk { animation-play-state:running; }
@keyframes footer-crossing { from { transform:translateX(-140px); } to { transform:translateX(var(--footer-distance)); } }
@media(max-width:760px) { .footer-walk { animation-duration:26s; } }
@media(prefers-reduced-motion:reduce) {
  .js .site-nav,.menu-toggle__lines::before,.menu-toggle__lines::after,.publication { transition:none; }
  .hero__bubbles { display:none; }
  .roaming-field { display:none; }
  .footer-bed .footer-walk { animation:none; transform:none; left:calc(50% - 52px); }
}
