/* PROTOTYPE, throwaway: prototype-voyage.js */
.vy{position:relative;grid-column:1;background:var(--nv-page)}
.vy-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--nv-sky)}
.vy-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.vy-intro{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none;padding:16px}
.vy-intro h2,.vy-step0 h2{font-size:var(--nv-h1);font-weight:800;letter-spacing:-.03em;color:var(--nv-ink);margin:0;line-height:1.05}
.vy-intro p,.vy-step0 p{color:var(--nv-ink-2);font-weight:600;margin:12px 0 0}
.vy-card{background:#fff;border-radius:var(--nv-r-card);box-shadow:var(--nv-shadow-hi);padding:var(--nv-pad);max-width:420px}
.vy-card h3{font-size:var(--nv-h2);font-weight:800;letter-spacing:-.02em;color:var(--nv-ink);margin:6px 0 8px;line-height:1.15}
.vy-card p{color:var(--nv-ink-2);margin:0 0 16px;line-height:1.5}
.vy-k{display:inline-block;font-size:var(--nv-tiny);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--nv-teal-ink);background:var(--nv-teal-soft);padding:4px 10px;border-radius:var(--nv-r-pill)}
.vy-a .vy-card{position:absolute;left:max(16px,calc(50% - 560px));top:50%;margin-top:-140px;opacity:0;transition:none}
@media(max-width:699px){.vy-a .vy-card{left:16px;right:16px;top:auto;bottom:144px;margin:0;max-width:none}}
.vy-b .vy-sheet{position:absolute;left:50%;bottom:24px;translate:-50% 0;width:min(100% - 32px,760px);max-width:none;display:grid;grid-template-columns:1fr auto;gap:4px 24px;align-items:end;opacity:0}
.vy-b .vy-sheet>*{grid-column:1}.vy-b .vy-sheet .nv-btn{grid-column:2;grid-row:1/4}
@media(max-width:699px){.vy-b .vy-sheet{display:block;top:64px;bottom:auto}.vy-step{display:none}}
.vy-step{position:absolute;top:84px;right:16px;font-weight:700;font-size:var(--nv-small);color:var(--nv-ink);background:rgba(255,255,255,.85);padding:6px 12px;border-radius:var(--nv-r-pill)}
.vy-c{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);max-width:var(--nv-max);margin:0 auto;padding:0 var(--nv-pad)}
.vy-map{grid-column:2;grid-row:1;position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center}
.vy-map svg{width:100%;max-height:92vh;border-radius:var(--nv-r-card);box-shadow:var(--nv-shadow)}
.vy-steps{grid-column:1;grid-row:1;padding:30vh 0 40vh}
.vy-step0{min-height:70vh}.vy-step0 h2{text-align:left}
.vy-c .vy-card{margin:0 0 70vh;opacity:.35;transition:opacity .3s,transform .3s}.vy-c .vy-card.is-on{opacity:1;transform:translateX(8px)}
.vy-leg,.vy-leg-on{fill:none;stroke-width:6;stroke-linecap:round}.vy-leg{stroke:#c4b8a0;stroke-dasharray:2 12}.vy-leg.is-sea{stroke:#fff;stroke-opacity:.6}
.vy-leg-on{stroke:var(--nv-ink)}.vy-leg-on.is-sea{stroke:#fff;stroke-width:7}
@media(max-width:699px){.vy-c{display:block;padding:0}.vy-map{height:52svh;z-index:3;background:var(--nv-page);padding:8px 16px}
  .vy-map svg{max-height:100%;height:100%}.vy-steps{position:relative;z-index:1;padding:10vh 16px 40vh}.vy-step0{min-height:50vh}.vy-c .vy-card{margin-bottom:35vh;opacity:.6}}
.vy-bar{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));translate:-50% 0;z-index:99;display:flex;align-items:center;gap:4px;
  background:#111;color:#fff;border-radius:999px;padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.35);font:600 14px/1 system-ui,sans-serif}
@media(min-width:700px){.vy-bar{bottom:20px}}
.vy-bar button{all:unset;cursor:pointer;width:40px;height:40px;display:grid;place-items:center;border-radius:999px;font-size:18px}
.vy-bar button:hover,.vy-bar button:focus-visible{background:#333}.vy-bar span{padding:0 10px;white-space:nowrap}
.vy-a>.vy-tall,.vy-a.vy-tall{height:820vh}.vy-ch{height:300vh}
.vy-intro--top{place-content:start center;padding-top:18vh}

.vd{position:relative;height:1100vh;background:linear-gradient(#e3f1f8,#f4f9fc 4%)}
.vd-world{position:absolute;inset:0;overflow:hidden}
.vd-land{position:absolute;inset:0;width:100%;height:100%}
.vd-world>i{position:absolute;left:calc(var(--x) * 100%);top:calc(var(--u) * 100%);translate:-50% -100%}
.vd-house{width:34px;height:30px;background:#fbf6ec;box-shadow:inset 0 -2px 0 #e6d8bc}
.vd-house::before{content:"";position:absolute;left:-4px;right:-4px;bottom:100%;height:14px;background:#d9774a;clip-path:polygon(50% 0,100% 100%,0 100%)}
.vd-tree{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 65% 60%,#5d8a4b 45%,#6f9a5a 46%)}
.vd-s{position:absolute;left:0;top:0;overflow:visible;transform-origin:0 0;will-change:transform}
.vd-sky{position:absolute;inset:0 0 auto;height:100vh;display:grid;place-content:start center;padding-top:18vh;text-align:center;pointer-events:none}
.vd-sky h2{font-size:var(--nv-h1);font-weight:800;letter-spacing:-.03em;color:var(--nv-ink);margin:0;line-height:1.05}
.vd-sky p{color:var(--nv-ink-2);font-weight:600;margin:12px 0 0}
.vd-leg{position:absolute;left:max(16px,calc(50% - 560px));width:min(400px,calc(100% - 32px))}
.vd-leg0{top:27%;height:17%}.vd-leg1{top:60%;height:16%}.vd-leg2{top:82%;height:18%}
.vd-leg .vy-card{position:sticky;top:30vh}
@media(max-width:699px){.vd-leg .vy-card{top:calc(100svh - 330px)}.vd-tree{width:30px;height:30px}.vd-house{width:24px;height:22px}}
.ve.vy-tall{height:1000vh}
.ve-c{position:absolute;inset:0;width:100%;height:100%;display:block}
.ve .vy-card{position:absolute;left:max(16px,calc(50% - 560px));top:50%;margin-top:-140px;opacity:0}
@media(max-width:699px){.ve .vy-card{left:16px;right:16px;top:auto;bottom:144px;margin:0;max-width:none}}
.ve-src{position:absolute;top:80px;right:16px;font:700 15px/1 ui-monospace,monospace;background:#111;color:#fff;padding:8px 12px;border-radius:999px;opacity:.9}
.vy-a.vy-tall{height:1300vh}
.ve-tag{position:absolute;right:16px;bottom:20px;width:min(340px,calc(100% - 32px));background:rgba(17,17,17,.88);color:#fff;border-radius:14px;padding:10px;font:500 13px/1.35 system-ui;z-index:5}
.ve-tag textarea{width:100%;box-sizing:border-box;border-radius:8px;border:0;padding:8px;font:inherit;resize:vertical}
.ve-tag div{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.ve-tag button{font:600 12px system-ui;border:0;border-radius:8px;padding:7px 10px;cursor:pointer;background:#fff;color:#111}
.ve-tag button[type=submit]{background:#e0703a;color:#fff}.ve-tag ol{margin:8px 0 0;padding-left:20px;max-height:22vh;overflow:auto}.ve-tag a{color:#9fe0f2}
@media(max-width:699px){.ve-tag{bottom:auto;top:120px}.ve .vy-card{bottom:84px}}

/* E story copy: chapter cards with changing lines, intro, end card */
.ve.vy-tall{height:1130vh}
.ve-hero{place-content:start center;padding-top:16vh}.ve-hero .vy-k{justify-self:center;margin-bottom:14px}
.ve-hero h2{text-shadow:0 1px 18px rgba(255,255,255,.7)}.ve-hero p{max-width:34ch;margin-inline:auto;text-shadow:0 1px 12px rgba(255,255,255,.8)}
.ve-jump{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px;pointer-events:auto}
.ve-jump button{font:700 var(--nv-small)/1 inherit;font-family:inherit;color:var(--nv-ink);background:rgba(255,255,255,.9);border:0;border-radius:var(--nv-r-pill);padding:10px 14px;cursor:pointer;box-shadow:var(--nv-shadow)}
.ve-jump button:hover,.ve-jump button:focus-visible{background:#fff}
.ve .ve-ch,.ve .ve-end{position:absolute;left:max(16px,calc(50% - 560px));top:50%;translate:0 -50%;margin:0;opacity:0;width:min(420px,calc(100% - 32px))}
.ve-lines{display:grid}.ve-lines h3{grid-area:1/1;opacity:0;transition:opacity .35s}.ve-lines h3.is-on{opacity:1}
.ve-dots{display:flex;gap:6px;list-style:none;padding:0;margin:4px 0 16px}.ve-dots li{width:18px;height:4px;border-radius:2px;background:var(--nv-teal-soft)}.ve-dots li.is-on{background:var(--nv-teal)}
.ve-end-a{display:grid;gap:8px}
@media(max-width:699px){.ve .ve-ch,.ve .ve-end{top:auto;bottom:84px;translate:none;left:16px;right:16px;width:auto;max-width:none}.ve-hero{padding-top:168px}}
@media(max-width:699px){.ve-tag{top:112px;bottom:auto;right:16px;left:auto;width:auto;max-width:calc(100% - 32px);padding:6px}
  .ve-tag:not(.is-open) textarea,.ve-tag:not(.is-open) ol,.ve-tag:not(.is-open) .ve-copy,.ve-tag:not(.is-open) .ve-clear{display:none}.ve-tag:not(.is-open) div{margin:0}
  .ve-tag.is-open{left:16px;bottom:auto;top:120px}
  .ve .ve-ch,.ve .ve-end{bottom:calc(140px + env(safe-area-inset-bottom))}.ve-src{font-size:11px;top:72px}}

/* animated.nautivia.eu: the film is the home page; the old hero and product cards step aside, everything after stays */
/* the film carries the live ramps and buoy fields itself, so the hero's live card steps aside with the hero */
.nv-anim .hm-hero,.nv-anim .hm-trav,.nv-anim .hm-live{display:none}.nv-anim .vy{grid-row:1}
/* animated mode has no variant switcher: cards sit just above the feedback pill (phone) */
@media(max-width:699px){.nv-anim .ve .ve-ch,.nv-anim .ve .ve-end{bottom:calc(124px + env(safe-area-inset-bottom))}
  .nv-anim .ve-fb{left:16px;right:auto;bottom:calc(68px + env(safe-area-inset-bottom))}.nv-anim .ve-fb-o{padding:10px 14px}
  .ve-lv{display:flex;flex-direction:column;overflow:hidden}.ve-lv-cam{flex:1 1 auto;min-height:0;max-height:none}.ve-lv h4{flex:none}}
/* the consent bar comes first; feedback waits until it is answered */
body:has(#nv-cc) .ve-fb{display:none}

.ve-lv{position:absolute;right:max(16px,calc(50% - 560px));top:96px;width:min(360px,calc(100% - 32px));background:#fff;border-radius:var(--nv-r-card);box-shadow:var(--nv-shadow-hi);padding:16px 18px;opacity:0;z-index:2}
.ve-lv h4{margin:0 0 10px;font-size:var(--nv-small);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--nv-teal-ink);display:flex;justify-content:space-between;gap:8px}
.ve-lv h4 small{font-weight:600;text-transform:none;letter-spacing:0;color:var(--nv-ink-2)}
.ve-lv-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--nv-line);color:var(--nv-ink);text-decoration:none;font-weight:600}
.ve-lv-row b{font-weight:700;text-align:right}.ve-lv-s{display:inline-flex;align-items:center;gap:6px}
.ve-lv-cam{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:var(--nv-sky);margin-bottom:6px}
.ve-lv-big{font-size:var(--nv-h2);font-weight:800;color:var(--nv-ink);margin:0}.ve-lv-big small{font-size:var(--nv-small);font-weight:700}
.ve-lv-n{margin:4px 0 0;color:var(--nv-ink-2);font-size:var(--nv-small)}
.ve-lv-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ve-lv-two h5{margin:0 0 6px;font-size:var(--nv-small);color:var(--nv-ink-2)}
.ve-lv-two ul{list-style:none;margin:0;padding:0}.ve-lv-two li{padding:5px 0;border-top:1px solid var(--nv-line);font-size:var(--nv-small);color:var(--nv-ink-2)}.ve-lv-two li b{color:var(--nv-ink);font-size:var(--nv-body)}
.ve-lv-more{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-weight:700;color:var(--nv-teal-ink);font-size:var(--nv-small)}.ve-lv-more svg,.ve-lv-pay svg{width:16px;height:16px}
.ve-lv-pay{margin-top:12px;width:100%;justify-content:center}
@media(max-width:699px){.ve-lv{top:64px;left:16px;right:16px;width:auto;padding:12px 14px}.ve-lv-cam{max-height:150px}.ve-lv-big{font-size:var(--nv-h3,22px)}}

.ve-fb{position:fixed;right:16px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:98;font-family:var(--nv-font)}
@media(max-width:699px){.ve-fb{bottom:calc(76px + env(safe-area-inset-bottom))}}
.ve-fb-o{font:700 var(--nv-small)/1 var(--nv-font);background:var(--nv-ink);color:#fff;border:0;border-radius:var(--nv-r-pill);padding:12px 16px;cursor:pointer;box-shadow:var(--nv-shadow-hi)}
.ve-fb-p{display:none;width:min(320px,calc(100vw - 32px));background:#fff;border-radius:var(--nv-r-card);box-shadow:var(--nv-shadow-hi);padding:16px}
.ve-fb.is-open .ve-fb-p{display:block}.ve-fb.is-open .ve-fb-o{display:none}
.ve-fb-p p{margin:0 0 10px;font-weight:700;color:var(--nv-ink)}
.ve-fb-r{display:flex;gap:6px;margin-bottom:10px}.ve-fb-r input{position:absolute;opacity:0}
.ve-fb-r span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--nv-teal-soft);color:var(--nv-teal-ink);font-weight:800;cursor:pointer}
.ve-fb-r input:checked+span{background:var(--nv-teal);color:#fff}.ve-fb-r input:focus-visible+span{outline:2px solid var(--nv-ink)}
.ve-fb-p textarea{width:100%;box-sizing:border-box;border:1px solid var(--nv-line);border-radius:10px;padding:8px;font:inherit;resize:vertical}
.ve-fb-a{display:flex;gap:8px;margin-top:10px;align-items:center}.ve-fb-x{background:none;border:0;color:var(--nv-ink-2);font-weight:700;cursor:pointer}

.ve-at-hero .ve-fb{display:none}
@media(max-width:699px){.nv-anim .ve-lv{top:calc(12px + env(safe-area-inset-top))}}
/* short phones (SE and smaller): compact card and panels so the camera and the pay button keep their room */
@media(max-width:699px) and (max-height:740px){
  .nv-anim .ve .ve-ch,.nv-anim .ve .ve-end{padding:12px 14px}
  .ve-ch h3,.ve-end h3{font-size:19px;margin:4px 0 6px}.ve-ch .vy-k,.ve-end .vy-k{font-size:10.5px;padding:3px 8px}
  .ve-dots{margin:2px 0 10px}.ve-ch .nv-btn,.ve-end .nv-btn{min-height:40px;padding-block:8px}.ve-end-a{gap:6px}
  .ve-lv{padding:10px 12px}.ve-lv h4{margin-bottom:6px;font-size:11px}.ve-lv-row{padding:5px 0;font-size:14px}
  .ve-lv-two li{padding:3px 0;font-size:12px}.ve-lv-two li b{font-size:14px}.ve-lv-two h5{font-size:11.5px;margin-bottom:3px}
  .ve-lv-more{margin-top:6px;font-size:12.5px}.ve-lv-pay{margin-top:8px;min-height:40px}
  .ve-hero h2{font-size:30px}.ve-hero p{font-size:15px}.ve-jump{gap:6px;margin-top:12px}.ve-jump button{padding:8px 11px;font-size:13px}}
