/* Visual refresh */
.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;padding:12px 20px;background:var(--teal);color:white;border-radius:10px}
.skip-link:focus{top:12px}
body{animation:none}
body.pg-out{opacity:1}
.rv{opacity:1;transform:none}
.rv.in{animation:visual-reveal .45s ease both}
@keyframes visual-reveal{from{transform:translateY(10px)}to{transform:translateY(0)}}
.visual-tile{padding:0;background:#f8f7f2}
.visual-tile>img,.aw>img{width:100%;height:100%;object-fit:cover;display:block}
.visual-tile>img{transition:transform .55s ease}
.card:hover .visual-tile>img{transform:scale(1.035)}
.arttile.visual-tile::before,.arttile.visual-tile::after{display:none}
.hero{background:#f4f6ef}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,248,245,.98) 0%,rgba(247,248,245,.92) 38%,rgba(247,248,245,.35) 100%),url('assets/visuals/home-river-hero.webp') center/cover;pointer-events:none}
.hero .blob,.hero>.cont{opacity:.12}
.hero .arch{box-shadow:0 28px 70px -28px rgba(20,92,89,.5)}
.hero .float{animation:none}
.hero .wave{animation:river-wave 8s ease-in-out 1}
@keyframes river-wave{50%{transform:translateY(8px)}}
.visual-figure{margin:28px 0 36px}
.visual-zoom{display:block;position:relative;width:100%;background:#f7f8f5;border:1px solid var(--line);border-radius:20px;overflow:hidden;cursor:zoom-in}
.visual-zoom img{display:block;width:100%;height:auto}
.zoom-label{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#fff;color:var(--teal);font-size:.86rem;font-weight:700;border-top:1px solid var(--line)}
.visual-figure figcaption,.visual-note{color:var(--mute);font-size:.82rem;margin:10px 0 20px;line-height:1.6}
.visual-figure figcaption{text-align:center}
.thesis .tart{display:none}
.thesis+ .visual-figure{max-width:1000px;margin:24px auto 0}
.mh>img[src^="assets/visuals/"]{height:auto;max-height:540px;object-fit:contain;width:100%}
.mh:has(>img[src^="assets/visuals/"]){height:auto;background:#f7f8f5}
.figure:has(img[src^="assets/visuals/"]){aspect-ratio:auto}
.figure img[src^="assets/visuals/"]{width:100%;height:auto;object-fit:contain}
.travel-index .ph{background:linear-gradient(90deg,rgba(247,248,245,.96),rgba(247,248,245,.8)),url('assets/visuals/travel-river-journey.webp') center/cover}
.travel-index .ph>.cont{opacity:.06}
.f .fplane{position:relative;width:100%;height:120px;margin:0 0 18px;inset:auto;opacity:1}
.f .fplane img{width:100%;height:100%;object-fit:cover;object-position:center 65%;border-radius:16px}
.aw>img{transition:transform .4s}
.card:hover .aw>img{transform:scale(1.025)}
.lb .stage img{object-fit:contain}
.lb .stage{min-width:0}
a.bg:focus-visible .bd.on{filter:brightness(.8)}
@media(max-width:1100px){
 .nl.open{overflow-y:auto;overscroll-behavior:contain;max-height:calc(100dvh - 74px)}
}
@media(max-width:760px){
 .hero::before{background:linear-gradient(rgba(247,248,245,.93),rgba(247,248,245,.8)),url('assets/visuals/home-river-hero.webp') 65% center/cover}
 .hero .wrap{gap:32px}
 .visual-figure{margin:22px 0}
 .visual-zoom{border-radius:14px}
 .aw{aspect-ratio:3/2}
 .f .fplane{height:100px}
 .ph .s{max-width:100%}
 .pd>div,.ct>div{min-width:0}
}
@media(prefers-reduced-motion:reduce){
 .rv.in,.hero .wave{animation:none}
 .visual-tile>img,.aw>img{transition:none}
 .card:hover .visual-tile>img,.card:hover .aw>img{transform:none}
}

.conference-photo{margin:-24px -24px 22px;aspect-ratio:16/9;overflow:hidden}
.conference-photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){
 p,.prose p,.ph .s{text-align:left;hyphens:none;word-spacing:normal}
}

.card p{text-align:left;word-spacing:normal}
.original-image{display:inline-block;margin-top:8px;color:var(--teal);text-decoration:underline;font-weight:700;font-size:.85rem}
