:root:not([data-review]) [data-editor] { display: none !important; }
.vista[data-noimg] img { display: none; }
.vista[data-noimg] { background: linear-gradient(160deg, #0f5c66 0%, #0b4652 45%, #052630 100%); }
.office__grid[data-nomap] { grid-template-columns: minmax(0, 1fr); }
.dive { position: relative; height: 100svh; min-height: 520px; background: var(--deep); }   
.dive__stage { position: relative; height: 100%; overflow: hidden; contain: paint; color: #fff; background: #0e2a38 url("data:image/webp;base64,UklGRuAAAABXRUJQVlA4INQAAABwBQCdASogABIAPq1GnEmmJCKhMAwAwBWJZACdIKngwxf1VWfstKmMw/fm/TvM2L+dsyMAAOHsptRrvcN8yPDuQSzF196sv3dU0F4zT8JhyeITU3azJcJvgBfBsQbjvLz2hNil8C2Q/37hfm5CncdMYc4mJpqhVx0HaabM6vNH4YMZxn4jfGXdBDN+HOPsp1JlOF0C+axodyqrbjq1hPqkVAXgoFIsMcF/Gqftdpjw0RqXM9fQEtw5aD4ohoHfEt4oJYGgO3K4aLiDIcTshEAKNYtAAA==") 50% 50% / cover no-repeat; }
@media (max-aspect-ratio: 5/6) { .dive__stage { background-image: url("data:image/webp;base64,UklGRgQBAABXRUJQVlA4IPgAAAAQBwCdASoSACQAPrVUoU2nJKKiJWsw4BaJZgCpLUFVvgGQDR2wJ48Me430DSQ6R0IGye/q/RFDhAwNDrE1i/kq4ADdnr/aVXFW3Rsw9s2JBF9V3yrrPbvI2d57QRq7hrgovR5RUGtIaB5PHRzYzbHfdyB+kpKV/zwrkhVZ1QUMiHrcOcsUVxomLWhpgGJzKbCAguELPKfCbH6zexDeXXYk7BXhnqceIF6JtW9AVDkBSAZ1LT0k+2BRNWG5fAGvYBwPohWROe0l/rH1+IzAbSguablj/6111J3/n+VIWhaeugmF3SpFuS5mXktcSeTg4PqnJzVrKpAAAA=="); } }
.dive__poster, .dive__poster img, .dive__clip, .dive__still { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.dive__clip, .dive__still { opacity: 0; pointer-events: none; transition: opacity .25s linear; }
.dive:is([data-phase="play"], [data-phase="done"]) .dive__clip, .dive[data-phase="still"] .dive__still { opacity: 1; }
.dive:is([data-phase="play"], [data-phase="done"], [data-phase="still"]) :is(.dive__copy[data-copy-top], .dive__scrim, .dive__hint) { opacity: 0; pointer-events: none; }
.dive__copy[data-copy-top], .dive__scrim, .dive__hint { transition: opacity .6s ease; }
.dive[data-marlin] .dive__clip { animation: diveDrift 16s ease-in-out 1.2s infinite alternate; }
@keyframes diveDrift { from { transform: scale(1) translate3d(0, 0, 0); } to { transform: scale(1.045) translate3d(-1.2%, 0, 0); } }
.dive__copy--under { transition: opacity .8s ease .1s, transform .9s cubic-bezier(.3, .1, .3, 1) .1s; transform: translate3d(0, 18px, 0); }
.dive[data-marlin] .dive__copy--under { opacity: 1; transform: none; }
.dive[data-phase="boat"] .dive__copy--under { transition: none; }   
.dive__wait { position: absolute; left: 50%; bottom: calc(30px + env(safe-area-inset-bottom, 0px)); z-index: 4; transform: translateX(-50%); display: grid; justify-items: center; gap: 10px; padding: 10px 18px; border-radius: 18px; background: rgba(3, 22, 30, .55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #fff; font-size: 14px; line-height: 1.2; white-space: nowrap; opacity: 0; transition: opacity .35s; }
.dive__wait.on { opacity: 1; }
.dive__wait b { font-weight: 600; font-variant-numeric: tabular-nums; }
.dive__wait i { display: block; width: 180px; height: 2px; border-radius: 2px; background: rgba(255, 255, 255, .22); overflow: hidden; }
.dive__wait s { display: block; height: 100%; background: #fff; transform-origin: 0 50%; transform: scaleX(0); transition: transform .3s; }
.dive__skip { border: 0; border-radius: 999px; padding: 8px 16px; background: #fff; color: #0b2c38; font: 600 14px/1 inherit; cursor: pointer; }
@media (max-width: 760px) { .dive__wait { bottom: calc(86px + env(safe-area-inset-bottom, 0px)); } }
html.pf-lock { overscroll-behavior: none; }
html.pf-lock--touch, html.pf-lock--touch body { overflow: hidden; }
.dive__scrim { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(3, 26, 33, .74) 0%, rgba(3, 26, 33, .42) 40%, rgba(3, 26, 33, 0) 66%); pointer-events: none; }
.dive__copy { position: absolute; left: max(var(--pad), env(safe-area-inset-left, 0px)); right: var(--pad); top: 0; bottom: 0; display: flex; flex-direction: column; justify-content: center; max-width: min(1180px, 84vw); will-change: opacity, transform; }
.dive__h1 { font: 700 clamp(32px, 6.2vw, 104px)/.98 var(--disp); letter-spacing: -0.045em; margin: 0; max-width: 15.5ch; }
.dive__lead { font-size: clamp(17px, 1.5vw, 22px); line-height: 1.45; max-width: 36ch; margin: 26px 0 0; }
.dive__acts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.dive__copy--under { left: auto; right: max(var(--pad), env(safe-area-inset-right, 0px)); justify-content: flex-end; align-items: flex-end; text-align: right; max-width: min(560px, 46vw); padding-bottom: clamp(72px, 11vh, 128px); opacity: 0; pointer-events: none; text-shadow: 0 2px 22px rgba(2, 18, 28, .55); }
.dive__say { font: 600 clamp(26px, 3vw, 46px)/1.06 var(--disp); letter-spacing: -0.035em; margin: 0; }
.dive__note { font-size: clamp(16px, 1.2vw, 19px); max-width: 36ch; margin: 14px 0 0; opacity: .88; }
.dive__hint { position: absolute; right: max(var(--pad), env(safe-area-inset-right, 0px)); bottom: 28px; margin: 0; font-size: 15px; }
.dive__hint::after { content: ''; display: block; width: 2px; height: 34px; margin: 10px 0 0 auto; background: currentColor; animation: hint 1.8s var(--ease) infinite; transform-origin: top; }
.dive[data-still] :is(.dive__clip, .dive__still, .dive__copy--under, .dive__hint) { display: none; }
@media (max-width: 760px) {
.dive__copy { max-width: none; justify-content: flex-start; padding-top: calc(104px + env(safe-area-inset-top, 0px)); }
.dive__lead { margin-top: 16px; }
.dive__acts { margin-top: 22px; }
.dive__acts .btn { flex: 1 1 100%; }
.dive__scrim { background: linear-gradient(to bottom, rgba(3, 26, 33, .74) 0%, rgba(3, 26, 33, .32) 48%, rgba(3, 26, 33, 0) 72%); }
.dive__copy--under { left: max(var(--pad), env(safe-area-inset-left, 0px)); right: max(var(--pad), env(safe-area-inset-right, 0px)); max-width: none; align-items: flex-start; text-align: left; padding-top: 0; padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
.dive__hint { bottom: calc(18px + env(safe-area-inset-bottom, 0px)); }
.dive__copy--under { justify-content: flex-end; }
}
@media (max-height: 560px) and (orientation: landscape) {
.dive__copy { justify-content: flex-start; padding-top: calc(74px + env(safe-area-inset-top, 0px)); }
.dive__h1 { font-size: 30px; }
.dive__lead { font-size: 14px; margin-top: 8px; max-width: 52ch; }
.dive__acts { margin-top: 12px; }
.dive__acts .btn { min-height: 42px; }
.dive__hint { display: none; }
.dive__copy--under { padding-bottom: 28px; }
.dive__say { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
.dive :is(.dive__clip, .dive__still, .dive__copy--under, .dive__hint) { display: none; }
}
.atlas { background: #041a24; color: #fff; }
.atlas__scene { position: relative; height: 100svh; min-height: 620px; max-height: 1100px; overflow: hidden; isolation: isolate; touch-action: pan-y;
background: linear-gradient(to bottom, var(--sea-top, #14505c) 0, var(--sea-mid, #0b3340) 58%, var(--sea-bot, #041c26) 100%); }
.atlas__scene::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
background: radial-gradient(120% 45% at 50% -8%, rgba(150, 210, 222, .22), rgba(150, 210, 222, 0) 70%); }
.atlas__amb { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.atlas__back { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; }
.atlas__fishes { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.fl { position: absolute; transform-origin: 50% 50%; will-change: transform, opacity; opacity: 0; }
.fl__v { display: block; width: 100%; height: 100%; max-width: none; object-fit: fill; }
.atlas__scene::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 34%; z-index: 3; pointer-events: none; background: linear-gradient(to top, rgba(2, 14, 20, .62), rgba(2, 14, 20, 0)); }
.atlas__head { position: absolute; z-index: 5; left: max(var(--pad), env(safe-area-inset-left, 0px)); right: max(var(--pad), env(safe-area-inset-right, 0px)); top: calc(94px + env(safe-area-inset-top, 0px)); pointer-events: none; }
.atlas__title { margin: 0; font: 700 clamp(24px, 2.3vw, 34px)/1.04 var(--disp); letter-spacing: -0.04em; text-wrap: balance; text-shadow: 0 2px 18px rgba(0, 0, 0, .25); }
.atlas__card { position: absolute; z-index: 5; left: max(var(--pad), env(safe-area-inset-left, 0px)); bottom: calc(clamp(30px, 4.5vh, 52px) + env(safe-area-inset-bottom, 0px)); max-width: min(640px, 54vw); }
.fc__name { margin: 0; font: 700 clamp(40px, 5.2vw, 80px)/.94 var(--disp); letter-spacing: -0.05em; text-shadow: 0 4px 30px rgba(0, 0, 0, .25); }
.fc__lat { margin: 12px 0 0; font-size: 18px; opacity: .88; }
.atlas__nav { position: absolute; z-index: 5; right: max(var(--pad), env(safe-area-inset-right, 0px)); bottom: calc(clamp(30px, 4.5vh, 52px) + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; gap: 10px; }
.atlas__arrow { width: 52px; height: 52px; flex: none; border-radius: 50%; border: 0; background: var(--buoy); color: var(--ink); display: grid; place-items: center; cursor: pointer;
box-shadow: 0 8px 24px -10px rgba(0, 0, 0, .5); transition: background-color .2s, transform .3s var(--spring), box-shadow .2s; }
.atlas__arrow svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.atlas__arrow:hover { transform: scale(1.06); background: #e6ff7a; }
.atlas__arrow:active { transform: scale(.94); background: #c6ec2c; }
.atlas__arrow:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.atlas__arrow:disabled { opacity: .4; cursor: default; transform: none; }
.knots { position: relative; display: flex; align-items: center; height: 52px; padding: 0 4px; }
.knots::before { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(236, 246, 248, .45); }
.knot { position: relative; width: 34px; height: 52px; border: 0; padding: 0; background: none; cursor: pointer; color: #fff; }
.knot i { position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; translate: -50% -50%; border-radius: 50%; border: 1.5px solid rgba(236, 246, 248, .85); background: #072a35; transition: width .25s var(--spring), height .25s var(--spring), background-color .2s; }
.knot[aria-selected='true'] i { width: 15px; height: 15px; background: var(--buoy); border-color: var(--buoy); }
.knot span { position: absolute; left: 50%; bottom: calc(100% - 4px); translate: -50% 0; white-space: nowrap; font-size: 13px; font-weight: 600; background: rgba(3, 22, 30, .78); padding: 4px 9px; border-radius: 8px; opacity: 0; pointer-events: none; transition: opacity .2s; }
.knot:hover span, .knot:focus-visible span { opacity: 1; }
.knot:focus-visible { outline: 2px solid #fff; outline-offset: -6px; border-radius: 10px; }
@media (max-width: 760px) {
.atlas__scene { min-height: 600px; max-height: none; }
.atlas__head { top: calc(82px + env(safe-area-inset-top, 0px)); }
.atlas__title { font-size: 19px; white-space: nowrap; }
.atlas__card { right: max(var(--pad), env(safe-area-inset-right, 0px)); max-width: none; bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
.fc__name { font-size: 36px; }
.fc__lat { font-size: 15px; margin-top: 8px; }
.atlas__nav { left: max(var(--pad), env(safe-area-inset-left, 0px)); bottom: calc(14px + env(safe-area-inset-bottom, 0px)); justify-content: space-between; gap: 6px; }
.atlas__arrow { width: 46px; height: 46px; }
.knots { height: 46px; flex: 1; justify-content: space-between; padding: 0; }
.knot { width: 28px; height: 46px; }
.knot span { display: none; }
}
@media (max-height: 560px) and (orientation: landscape) {
.atlas__scene { min-height: 360px; }
.atlas__head { top: calc(80px + env(safe-area-inset-top, 0px)); }
.atlas__title { font-size: 18px; white-space: nowrap; }
.atlas__card { bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
.fc__name { font-size: 28px; }
.fc__lat { font-size: 13px; margin-top: 4px; }
.atlas__nav { bottom: calc(10px + env(safe-area-inset-bottom, 0px)); }
.atlas__arrow { width: 42px; height: 42px; }
.knots { height: 42px; } .knot { width: 26px; height: 42px; } .knot span { display: none; }
}
.voices { padding-block: var(--gap); background: var(--paper); }
.vrail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 20px) / 2); column-gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; padding-bottom: 4px; }
.vrail::-webkit-scrollbar { display: none; }
.vrail:focus-visible { outline: 3px solid var(--lagoon); outline-offset: 4px; border-radius: 26px; }
.vcard { scroll-snap-align: start; display: grid; grid-template-columns: 148px minmax(0, 1fr); gap: 22px; align-items: start; background: var(--card); border-radius: 26px; padding: 22px; min-width: 0; box-shadow: 0 18px 40px -30px rgba(6, 34, 42, .45); }
.vcard__ph { width: 148px; height: 185px; object-fit: cover; border-radius: 18px; display: block; background: var(--paper); }
.vcard__body { display: grid; gap: 12px; min-width: 0; }
.vcard__stars { margin: 0; display: flex; gap: 3px; color: #f5b301; }
.vcard__stars svg { width: 18px; height: 18px; fill: currentColor; }
.vcard__q { margin: 0; font-size: clamp(16px, 1.15vw, 18px); line-height: 1.55; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; overflow-wrap: anywhere; }
.vcard__q p { margin: 0; }
.vcard__q p::before { content: '«'; } .vcard__q p::after { content: '»'; }
.vcard[data-open] .vcard__q { -webkit-line-clamp: unset; display: block; }
.vcard__more { justify-self: start; padding: 0; border: 0; background: none; color: var(--lagoon, #0b6d7c); font: 600 15px/1.2 inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.vcard__src { margin: 0; font-size: 13px; color: var(--ink-3); }
.vcard__src a { color: inherit; }
.vnav { display: flex; align-items: center; gap: 12px; margin-top: 22px; flex-wrap: wrap; }
.vnav .atlas__arrow { width: 48px; height: 48px; }
.vnav__n { margin: 0; min-width: 7ch; font-weight: 600; color: var(--ink-2, #33505a); }
.vnav__tg { margin-left: auto; font-weight: 600; color: var(--ink); text-underline-offset: 4px; }
@media (max-width: 760px) {
.vrail { grid-auto-columns: 100%; column-gap: 12px; }
.vcard { grid-template-columns: minmax(0, 1fr); padding: 18px; gap: 16px; }
.vcard__ph { width: 100%; height: auto; aspect-ratio: 4 / 5; max-height: 360px; }
.vcard__q { -webkit-line-clamp: 7; }
.vnav__tg { margin-left: 0; flex-basis: 100%; }
}
.office__map { position: relative; min-height: 460px; border-radius: 26px; overflow: hidden; background: #0d3d4a; display: grid; align-items: end; justify-items: start; padding: clamp(14px, 2vw, 22px); }
.office__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mapcard { position: relative; z-index: 1; display: grid; gap: 10px; max-width: 440px; background: rgba(3, 26, 33, .9); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-radius: 20px; padding: 18px; box-shadow: 0 18px 40px -20px rgba(0, 0, 0, .6); }
.mapcard p { margin: 0; }
.mapcard__t { font: 600 20px/1.15 var(--disp); letter-spacing: -0.03em; }
.mapcard__s { font-size: 14px; opacity: .8; overflow-wrap: anywhere; }
.mapcard__acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.mapcard__acts .btn { min-height: 46px; font-size: 15px; padding: 0 16px; }
.office__dl dd a { overflow-wrap: anywhere; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .35); text-underline-offset: 3px; }
@media (max-width: 760px) {
.office__map { min-height: 380px; }
.mapcard { max-width: none; width: 100%; }
.mapcard__acts .btn { flex: 1 1 100%; }
}
.reels { padding-top: var(--gap); }
.reels__row, .vgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.reel { display: grid; gap: 8px; align-content: start; min-width: 0; }
.reel__pic { position: relative; display: block; border-radius: 18px; overflow: hidden; }
.reel__pic img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; transition: transform .5s var(--ease); }
.reel__pic:hover img { transform: scale(1.04); }
.reel__play { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 56px; height: 56px; border-radius: 50%; background: var(--buoy); display: grid; place-items: center; }
.reel__play svg { width: 22px; height: 22px; fill: var(--ink); margin-left: 3px; }
.reel__t { margin: 0; font: 600 18px/1.2 var(--disp); letter-spacing: -0.02em; }
.reel__m { margin: 0; font-size: 14px; color: var(--ink-3); }
.player { position: fixed; inset: 0; z-index: 90; background: rgba(2, 12, 16, .92); display: grid; place-items: center; padding: 16px; }
.player video { max-width: min(1200px, 100%); max-height: 86vh; border-radius: 14px; background: #000; }
.player__x { position: absolute; top: calc(12px + env(safe-area-inset-top, 0px)); right: 12px; width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .14); color: #fff; font-size: 28px; cursor: pointer; }
@media (max-width: 1000px) { .reels__row, .vgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .reels__row, .vgrid { grid-template-columns: minmax(0, 1fr); } }
.vpage { padding-top: calc(120px + env(safe-area-inset-top, 0px)); padding-bottom: var(--gap); background: var(--paper); min-height: 70vh; }
.vpage__crumb { margin: 0 0 10px; font-size: 14px; color: var(--ink-3); }
.vpage__crumb a { color: inherit; }
.vpage__empty { background: var(--card); border-radius: 26px; padding: clamp(22px, 3vw, 36px); max-width: 720px; }
.vpage__empty p { margin: 0; font-size: 18px; }
.vpage__acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
