/* Supernova – voyage site. Layout follows the SuzeScapes theme; colours and headings follow the Supernova logo. */
:root{
  /* Logo blues: sky #9fceec · bright #1b97d3 · mid #0075be · deep #00609d */
  --sky:#9fceec;--bright:#1b97d3;--mid:#0075be;--navy:#00609d;--deep:#004b7c;
  --gold:var(--bright);--gold-dark:var(--mid);
  --grey:#eaf2f8;--paper:#fbfdfe;--text:#2c3640;--muted:#5a6773;
  --line:rgba(0,96,157,.16);--max:1320px;--head:"Kalnia",Georgia,"Times New Roman",serif;--body:"Open Sans",Arial,sans-serif;
  --logo-gradient:linear-gradient(90deg,#1b97d3 0%,#0f88c8 45%,#00609d 100%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.65}
a{color:var(--navy);text-decoration:none}
img{max-width:100%;height:auto;display:block}
.snv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.snv-container{width:min(var(--max),calc(100% - 32px));margin:0 auto}
.snv-heading{margin:0;color:var(--navy);font-family:var(--head);font-weight:500;line-height:1.15;letter-spacing:.01em;font-size:clamp(30px,3.8vw,48px);text-wrap:balance;width:fit-content;max-width:100%}
@supports (-webkit-background-clip:text) or (background-clip:text){.snv-heading{background:var(--logo-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-bottom:.08em}}
.snv-intro .snv-heading,.snv-page-head .snv-heading,.snv-post-photos .snv-heading{margin-left:auto;margin-right:auto}
.snv-heading-sm{font-size:clamp(22px,2.4vw,30px);margin:48px 0 20px}
.snv-text-link{font-family:var(--body);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);white-space:nowrap}
.snv-text-link span{color:var(--gold-dark);display:inline-block;transition:transform .2s}
.snv-text-link:hover span{transform:translateX(3px)}
.snv-btn{display:inline-block;padding:12px 22px;background:var(--deep);color:#fff;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:0;cursor:pointer}
.snv-btn:hover{background:var(--navy)}
.snv-btn-plain{background:transparent;border:1px solid var(--line);color:var(--navy);padding:10px 16px;font:600 12px var(--body);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.snv-btn-link{background:none;border:0;color:var(--gold-dark);cursor:pointer;font:inherit;text-decoration:underline;padding:0}
.snv-meta{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.snv-meta a{color:var(--muted);border-bottom:1px solid var(--gold)}
.snv-empty{padding:40px 0;text-align:center;color:var(--muted)}
.snv-notice{background:#e8f4fc;border-left:4px solid var(--gold);padding:10px 14px;font-size:14px}

/* Admin bar (only visible to crew) */
.snv-adminbar{background:var(--deep);display:flex;gap:18px;padding:6px 16px;font-size:13px;justify-content:flex-end}
.snv-adminbar a{color:#fff}

/* Header */
.snv-header{position:relative;z-index:30;background:#fff;border-bottom:1px solid var(--line)}
.snv-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--sky),var(--bright) 30%,var(--navy) 60%,var(--bright) 85%,var(--sky))}
.snv-header-inner{width:min(var(--max),calc(100% - 32px));margin:0 auto;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.snv-brand{display:flex;align-items:center;gap:14px;color:var(--navy)}
.snv-logo{height:clamp(52px,7vw,84px);width:auto;max-width:62vw}
.snv-star{width:42px;height:42px;color:var(--gold-dark);flex:none}
.snv-wordmark{display:flex;flex-direction:column}
.snv-wordmark-name{font-family:var(--head);font-size:clamp(24px,3vw,34px);letter-spacing:.22em;text-transform:uppercase;line-height:1}
.snv-wordmark-sub{margin-top:8px;font-family:var(--head);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
.snv-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px;align-items:center}
.snv-nav a{color:var(--navy);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;position:relative;padding-bottom:8px}
.snv-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .2s}
.snv-nav a:hover:after,.snv-nav .is-current a:after{transform:scaleX(1)}
.snv-nav .is-current a{font-weight:700}
.snv-nav-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}
.snv-nav-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0;transition:transform .2s,opacity .2s}
@media (max-width:900px){
  .snv-header-inner{min-height:84px}
  .snv-nav-toggle{display:block}
  .snv-nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.08);display:none}
  .snv-nav.is-open{display:block}
  .snv-nav ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px}
  .snv-nav li{border-top:1px solid var(--line)}
  .snv-nav a{display:block;padding:14px 0}
  .snv-nav a:after{display:none}
  .snv-nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .snv-nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
  .snv-nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .snv-star{width:32px;height:32px}
}

/* Hero carousel */
.snv-hero{position:relative;height:min(72vh,640px);min-height:340px;background:#0b3a5c;overflow:hidden}
.snv-hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease;color:#fff}
.snv-hero-slide.is-active{opacity:1;z-index:1}
.snv-hero-info{position:absolute;left:clamp(16px,4vw,48px);bottom:clamp(20px,4vw,44px);max-width:min(560px,80%);background:rgba(0,60,100,.55);padding:12px 18px;backdrop-filter:blur(2px)}
.snv-hero-info strong{display:block;font-family:var(--head);font-weight:500;font-size:clamp(17px,2vw,24px)}
.snv-hero-info em{display:block;font-style:normal;font-size:13px;letter-spacing:.08em;opacity:.9}
.snv-hero-nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:48px;height:64px;border:0;background:rgba(0,60,100,.35);color:#fff;font-size:38px;line-height:1;cursor:pointer}
.snv-hero-nav:hover{background:rgba(0,60,100,.65)}
.snv-hero-prev{left:0}.snv-hero-next{right:0}
.snv-hero-dots{position:absolute;z-index:3;right:clamp(16px,4vw,48px);bottom:clamp(24px,4vw,48px);display:flex;gap:8px}
.snv-hero-dots button{width:9px;height:9px;border-radius:50%;border:1px solid #fff;background:transparent;padding:0;cursor:pointer}
.snv-hero-dots button.is-active{background:#fff}
.snv-hero-empty{background:linear-gradient(160deg,var(--navy),var(--bright) 65%,var(--sky))}
.snv-hero-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.snv-hero-placeholder span{font-family:var(--head);color:#fff;font-size:clamp(40px,8vw,96px);letter-spacing:.3em;text-transform:uppercase;opacity:.9}
@media (max-width:600px){.snv-hero-nav{display:none}.snv-hero-dots{left:16px;right:auto;bottom:auto;top:16px}}

/* Intro */
.snv-intro{max-width:820px;margin:0 auto;padding:64px 16px 40px;text-align:center}
.snv-intro-text{font-size:17px;color:#4e555b;margin-top:18px}
.snv-intro-text p{margin:0 0 12px}
.snv-stats{list-style:none;margin:32px 0 0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:12px 48px}
.snv-stats li{display:flex;flex-direction:column;align-items:center}
.snv-stats strong{font-family:var(--head);font-weight:500;color:var(--navy);font-size:40px;line-height:1.1}
.snv-stats span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* Sections */
.snv-section{padding:56px 0}
.snv-section-grey{background:var(--grey)}
.snv-section-tight{padding-bottom:56px}
.snv-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-bottom:24px}
.snv-section-head .snv-heading-sm{margin:48px 0 0}
.snv-page-head{max-width:820px;margin:0 auto;padding:48px 16px 32px;text-align:center}
.snv-page-head p{color:var(--muted);font-size:17px;margin:14px 0 0}

/* Tracker */
.snv-tracker-section{padding:24px 0 56px}
.snv-status{display:inline-flex;align-items:center;gap:10px;margin:0;padding:8px 14px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--navy)}
.snv-page-head .snv-status{margin-top:16px}
.snv-status-dot{width:10px;height:10px;border-radius:50%;background:#2f9e6f;box-shadow:0 0 0 0 rgba(47,158,111,.5);animation:snv-pulse 2.4s infinite;flex:none}
@keyframes snv-pulse{70%{box-shadow:0 0 0 10px rgba(47,158,111,0)}100%{box-shadow:0 0 0 0 rgba(47,158,111,0)}}
@media (prefers-reduced-motion:reduce){.snv-status-dot{animation:none}.snv-hero-slide{transition:none}}
.snv-tracker-frame{position:relative;height:var(--h,620px);max-height:80vh;min-height:420px;background:var(--grey) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M24 2l4.2 17.8L46 24l-17.8 4.2L24 46l-4.2-17.8L2 24l17.8-4.2z' fill='%23c7ced5'/%3E%3C/svg%3E") center no-repeat;border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,60,100,.08)}
.snv-tracker-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.snv-tracker-tall{height:78vh;max-height:none}
.snv-tracker-note{font-size:14px;color:var(--muted);margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between}

/* Log cards */
.snv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:28px}
.snv-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.snv-card-media{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--grey)}
.snv-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.snv-card:hover .snv-card-media img{transform:scale(1.03)}
.snv-card-noimg{display:block;width:100%;height:100%;background:linear-gradient(160deg,var(--navy),var(--bright) 70%,var(--sky))}
.snv-card-body{padding:20px 22px 24px}
.snv-card-body h3{margin:0 0 10px;font-family:var(--head);font-weight:500;font-size:23px;line-height:1.25}
.snv-card-body p{margin:0;color:#4e555b;font-size:15px}
.snv-card-body .snv-card-leg{margin-top:14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark);font-weight:600}

/* Leg cards (collections) */
.snv-collections{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px}
.snv-collection-card{position:relative;aspect-ratio:3/4;overflow:hidden;background:#bfc1bc;display:block}
.snv-collection-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.snv-collection-card:hover img{transform:scale(1.04)}
.snv-collection-placeholder{position:absolute;inset:0;background:linear-gradient(160deg,var(--navy),var(--bright) 70%,var(--sky))}
.snv-collection-shade{position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.65))}
.snv-collection-content{position:absolute;left:16px;right:16px;bottom:20px;color:#fff;text-align:center}
.snv-collection-title{display:block;font-family:var(--head);font-weight:500;font-size:21px;line-height:1.2}
.snv-collection-dates{display:block;margin-top:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.9}

/* Recent photos strip */
.snv-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.snv-strip-item{aspect-ratio:1;overflow:hidden;background:var(--grey)}
.snv-strip-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.snv-strip-item:hover img{transform:scale(1.05)}
@media (max-width:700px){.snv-strip{grid-template-columns:repeat(3,1fr)}.snv-strip-item:nth-child(n+10){display:none}}

/* Gallery */
.snv-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:18px}
.snv-chip{border:1px solid var(--line);background:#fff;color:var(--navy);padding:8px 14px;font:600 12px var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.snv-chip.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.snv-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:10px}
.snv-filters input[type=search],.snv-filters select{font:15px var(--body);padding:10px 12px;border:1px solid var(--line);background:#fff;color:var(--text);min-width:0;flex:1 1 170px;max-width:280px}
.snv-filters input[type=search]{flex-basis:240px;max-width:340px}
.snv-count{text-align:center;color:var(--muted);font-size:14px;margin:6px 0 18px}
.snv-tagnote{text-align:center;margin:-8px 0 18px;font-size:14px}
.snv-grid{columns:4 260px;column-gap:10px}
.snv-tile{display:block;position:relative;margin:0 0 10px;break-inside:avoid;overflow:hidden;background:var(--grey)}
.snv-tile img{width:100%;height:auto;transition:transform .5s,opacity .3s}
.snv-tile:hover img{transform:scale(1.03)}
.snv-tile-title{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 10px;color:#fff;font-size:13px;font-weight:600;background:linear-gradient(transparent,rgba(0,0,0,.6));opacity:0;transition:opacity .25s}
.snv-tile:hover .snv-tile-title,.snv-tile:focus-visible .snv-tile-title{opacity:1}
@media (hover:none){.snv-tile-title{opacity:1}}
.snv-tile[hidden]{display:none}

/* Badges */
.snv-badges{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.snv-badge{display:inline-block;border:1px solid var(--line);background:#fff;color:var(--navy);padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--body)}
.snv-badge-tag{color:var(--gold-dark)}
.snv-badge:hover{border-color:var(--navy)}

/* Lightbox */
.snv-lightbox{position:fixed;inset:0;z-index:100;background:#06131f;display:none;color:#eef1f3}
.snv-lightbox.is-open{display:block}
.snv-lb-inner{position:absolute;inset:0;display:grid;grid-template-columns:1fr 340px}
.snv-lb-media{display:flex;align-items:center;justify-content:center;padding:56px 64px;min-height:0}
.snv-lb-media img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.snv-lb-text{background:#0b2133;padding:64px 28px 28px;overflow:auto}
.snv-lb-title{font-family:var(--head);font-weight:500;font-size:26px;margin:0 0 12px;color:#fff;line-height:1.25}
.snv-lb-caption{margin:0 0 14px;font-size:15px;color:#cfd6dc;white-space:pre-line}
.snv-lb-where{margin:0 0 6px;font-size:13px;color:#aab4bd;letter-spacing:.04em}
.snv-lb-badges .snv-badge{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.snv-lb-badges .snv-badge-tag{color:var(--sky)}
.snv-lb-badges{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.snv-lb-links{display:flex;gap:18px;margin-top:18px}
.snv-lb-links a{color:var(--sky);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.snv-lb-close,.snv-lb-prev,.snv-lb-next{position:absolute;z-index:2;background:rgba(255,255,255,.08);border:0;color:#fff;cursor:pointer}
.snv-lb-close{top:10px;right:10px;width:44px;height:44px;font-size:30px;line-height:1}
.snv-lb-prev,.snv-lb-next{top:50%;transform:translateY(-50%);width:48px;height:72px;font-size:40px}
.snv-lb-prev{left:6px}.snv-lb-next{right:346px}
.snv-lb-counter{position:absolute;top:18px;left:20px;font-size:13px;letter-spacing:.1em;color:#aab4bd;z-index:2}
.snv-lb-close:hover,.snv-lb-prev:hover,.snv-lb-next:hover{background:rgba(255,255,255,.2)}
@media (max-width:900px){
  .snv-lb-inner{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
  .snv-lb-media{padding:52px 8px 8px}
  .snv-lb-text{padding:16px 18px 22px;max-height:38vh}
  .snv-lb-next{right:6px}
  .snv-lb-prev,.snv-lb-next{top:40%;width:40px;height:60px;background:rgba(0,0,0,.35)}
}

/* Photo page */
.snv-photo-page{padding-bottom:56px}
.snv-photo-media{position:relative;background:#16202b;display:flex;justify-content:center}
.snv-photo-media img{max-height:82vh;width:auto;object-fit:contain}
.snv-photo-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:72px;display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff;background:rgba(0,60,100,.45)}
.snv-photo-prev{left:0}.snv-photo-next{right:0}
.snv-photo-text{max-width:820px;padding-top:24px}
.snv-back{margin:0 0 20px}
.snv-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:24px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.snv-facts dt{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.snv-facts dd{margin:2px 0 0}

/* Post */
.snv-post-cover{height:min(60vh,520px);background-size:cover;background-position:center}
.snv-post-inner{max-width:760px;margin:0 auto;padding:44px 16px 8px}
.snv-post-inner .snv-heading{margin-bottom:24px}
.snv-prose{font-size:17px;line-height:1.75}
.snv-prose p{margin:0 0 1.1em}
.snv-prose h2,.snv-prose h3{font-family:var(--head);font-weight:500;color:var(--navy);letter-spacing:.03em;margin:1.6em 0 .6em}
.snv-prose a{border-bottom:1px solid var(--gold)}
.snv-prose blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:3px solid var(--gold);font-style:italic;color:#4e555b}
.snv-prose-center{max-width:760px;margin:0 auto}
.snv-inline-photo{margin:1.6em 0}
.snv-inline-photo img{width:100%}
.snv-inline-photo figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.snv-post-photos .snv-heading-sm{text-align:center}
.snv-prevnext{display:flex;justify-content:space-between;gap:20px;padding:32px 0;border-top:1px solid var(--line);margin-top:40px;font-size:14px;font-weight:600}
.snv-prevnext span:last-child{text-align:right}
.snv-pager{display:flex;justify-content:center;gap:24px;margin-top:40px;font-weight:600}

/* Voyage + leg */
.snv-legs{list-style:none;margin:0;padding:0;display:grid;gap:24px;counter-reset:leg}
.snv-leg{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:28px;background:#fff;border:1px solid var(--line)}
.snv-leg-media{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--grey)}
.snv-leg-media img{width:100%;height:100%;object-fit:cover}
.snv-leg-body{padding:22px 22px 22px 0;align-self:center}
.snv-leg-body h2{margin:0 0 10px;font-family:var(--head);font-weight:500;font-size:28px}
.snv-leg-body p{margin:0 0 8px;color:#4e555b}
.snv-leg-counts{font-size:13px}
@media (max-width:700px){.snv-leg{grid-template-columns:1fr;gap:0}.snv-leg-body{padding:18px 20px 22px}}
.snv-leg-hero{min-height:min(56vh,480px);background:linear-gradient(160deg,var(--navy),var(--bright) 70%,var(--sky)) center/cover;display:flex;align-items:flex-end;position:relative}
.snv-leg-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.6))}
.snv-leg-hero-text{position:relative;width:min(var(--max),calc(100% - 32px));margin:0 auto;padding:40px 0;color:#fff}
.snv-leg-hero-text .snv-heading{color:#fff;background:none;-webkit-text-fill-color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.snv-leg-hero-text .snv-meta{color:rgba(255,255,255,.85)}
.snv-leg-hero-text p{max-width:640px;margin:12px 0 0;font-size:17px}
.snv-leg-hero + .snv-container > .snv-prose{padding-top:40px}

/* Footer */
.snv-footer{background:var(--grey);padding:36px 0;text-align:center;font-size:13px;color:var(--muted);letter-spacing:.04em}
.snv-footer a{color:var(--muted)}
.snv-footer span{margin:0 8px;opacity:.5}
.snv-social{display:flex;justify-content:center;gap:16px;margin-bottom:14px}
.snv-social a{color:var(--navy);width:28px;height:28px;display:block}
.snv-social svg{width:100%;height:100%}

/* Tracker button panel (used when the map can't be shown inside the page) */
.snv-tracker-card{position:relative;display:flex;align-items:center;gap:28px;padding:36px clamp(20px,4vw,48px);min-height:240px;overflow:hidden;color:#fff;background:linear-gradient(120deg,var(--navy),var(--mid) 45%,var(--bright) 80%,var(--sky));box-shadow:0 10px 30px rgba(0,75,124,.18)}
.snv-tracker-card img{position:relative;width:96px;height:96px;background:#fff;border-radius:50%;padding:10px;flex:none}
.snv-tracker-card-sea{position:absolute;inset:auto 0 0 0;height:45%;background:repeating-linear-gradient(180deg,rgba(255,255,255,.12) 0 3px,transparent 3px 16px)}
.snv-tracker-card-text{position:relative;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.snv-tracker-card-text strong{font-family:var(--head);font-weight:500;font-size:clamp(24px,3vw,34px);line-height:1.15}
.snv-tracker-card-text .snv-btn{margin-top:10px;background:#fff;color:var(--navy)}
.snv-tracker-card:hover .snv-btn{background:var(--paper)}
@media (max-width:600px){.snv-tracker-card{flex-direction:column;align-items:flex-start;gap:16px}}

/* Leg page with "Who's on board" sidebar */
.snv-leg-layout{padding:40px 0 16px}
.snv-leg-layout.has-crew{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"main crew";gap:48px;align-items:start}
.snv-leg-main{grid-area:main;min-width:0}
.snv-leg-main > .snv-prose{max-width:760px}
.snv-leg-main > .snv-heading-sm:first-child,.snv-leg-main > .snv-section-head:first-child .snv-heading-sm{margin-top:0}
.snv-leg-side{grid-area:crew;display:grid;gap:24px}
.snv-crew{background:#fff;border:1px solid var(--line);padding:24px 22px;box-shadow:0 8px 24px rgba(0,75,124,.06)}
.snv-crew:before{content:"";display:block;height:3px;margin:-24px -22px 20px;background:var(--logo-gradient)}
.snv-crew-title{margin:0 0 18px;font-family:var(--head);font-weight:500;font-size:26px;line-height:1.15;color:var(--navy)}
.snv-crew-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.snv-crew-member{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center}
.snv-crew-member img,.snv-crew-initials{width:72px;height:72px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--sky)}
.snv-crew-initials{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bright),var(--navy));color:#fff;font-family:var(--head);font-size:24px}
.snv-crew-member strong{display:block;font-size:16px;color:var(--text);line-height:1.3}
.snv-crew-role{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);margin-top:2px}
.snv-crew-member p{margin:6px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}
.snv-grid-narrow{columns:3 220px}
@media (max-width:960px){
  .snv-leg-layout.has-crew{grid-template-columns:1fr;grid-template-areas:"crew" "main";gap:32px}
  .snv-leg-side{position:static}
  .snv-crew-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
}
.snv-leg-crew{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin:10px 0}
.snv-leg-crew img,.snv-leg-crew span{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-right:-8px;background:linear-gradient(135deg,var(--bright),var(--navy));color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center}
.snv-leg-crew small{margin-left:18px;color:var(--muted);font-size:13px}

/* Passage counter at the top of each leg page */
.snv-passage{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 6px 20px rgba(0,75,124,.06)}
.snv-passage-inner{display:grid;grid-template-columns:1fr minmax(0,1.3fr) 1fr;gap:20px;align-items:end;padding:22px 0 20px}
.snv-passage-k{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.snv-passage-end strong{display:block;font-size:15px;font-weight:600;color:var(--text)}
.snv-passage-to{text-align:right}
.snv-passage-mid{text-align:center}
.snv-passage-count{display:block;font-family:var(--head);font-weight:500;font-size:clamp(28px,3.6vw,42px);line-height:1.05;background:var(--logo-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.snv-passage-line{position:relative;display:block;height:4px;border-radius:2px;background:var(--grey);margin:0 0 14px}
.snv-passage-line i{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:var(--logo-gradient)}
.snv-passage-line b{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;border:3px solid var(--bright);left:var(--pos,50%)}
.snv-passage-line:before,.snv-passage-line:after{content:"";position:absolute;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--navy)}
.snv-passage-line:before{left:-5px}.snv-passage-line:after{right:-5px}
.snv-passage.is-before .snv-passage-line b{display:none}
.snv-passage.is-done .snv-passage-line b{display:none}
.snv-passage.is-under_way .snv-passage-k[data-passage-label]{color:#2f9e6f}
@media (max-width:700px){
  .snv-passage-inner{grid-template-columns:1fr 1fr;grid-template-areas:"mid mid" "from to";gap:14px 16px;padding:18px 0}
  .snv-passage-mid{grid-area:mid}.snv-passage-from{grid-area:from}.snv-passage-to{grid-area:to}
  .snv-passage-end strong{font-size:13px}
}
.snv-crew-admin{border-style:dashed;background:#f7fbfe}
.snv-crew-admin p{font-size:14px;color:var(--muted);margin:0 0 14px}

/* Videos */
.snv-play{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:rgba(0,60,100,.55);box-shadow:0 0 0 2px rgba(255,255,255,.9);pointer-events:none;transition:transform .2s}
.snv-play:after{content:"";position:absolute;left:23px;top:17px;border-style:solid;border-width:12px 0 12px 19px;border-color:transparent transparent transparent #fff}
.snv-tile:hover .snv-play{transform:scale(1.08)}
.snv-strip-item{position:relative}
.snv-strip-item .snv-play{width:42px;height:42px;margin:-21px 0 0 -21px}
.snv-strip-item .snv-play:after{left:16px;top:12px;border-width:9px 0 9px 14px}
.snv-lb-media video{max-width:100%;max-height:100%;background:#000;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.snv-lb-media img[hidden],.snv-lb-media video[hidden]{display:none}
.snv-photo-media video{max-height:82vh;width:auto;max-width:100%;background:#000}
.snv-inline-photo video{width:100%;background:#000}
.snv-embed{position:relative;aspect-ratio:16/9;margin:1.6em 0;background:#000}
.snv-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Ship's log list in the leg sidebar */
.snv-crew-title small{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:6px}
.snv-leglog-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;counter-reset:log}
.snv-leglog-list a{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;padding:6px;margin:0 -6px;border-radius:4px}
.snv-leglog-list a:hover{background:var(--grey)}
.snv-leglog-list img,.snv-leglog-noimg{width:64px;height:48px;object-fit:cover;border-radius:3px;display:block}
.snv-leglog-noimg{background:linear-gradient(135deg,var(--bright),var(--navy))}
.snv-leglog-list small{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.snv-leglog-list strong{display:block;font-size:15px;line-height:1.3;color:var(--navy);font-weight:600}
@media (max-width:960px){.snv-leg-side{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start}}

/* Featured latest entry on a leg page */
.snv-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);background:#fff;border:1px solid var(--line);margin-bottom:8px}
.snv-feature-media{display:block;min-height:240px;background:var(--grey);overflow:hidden}
.snv-feature-media img{width:100%;height:100%;object-fit:cover}
.snv-feature-body{padding:24px 26px}
.snv-feature-body h3{margin:0 0 10px;font-family:var(--head);font-weight:500;font-size:26px;line-height:1.2}
.snv-feature-body p{color:#4e555b;margin:0 0 14px}
@media (max-width:700px){.snv-feature{grid-template-columns:1fr}.snv-feature-media{min-height:0;aspect-ratio:3/2}}

/* Home: Current status + Who's on board now */
.snv-now{padding:0 0 48px}
.snv-now-inner{display:grid;gap:24px;max-width:860px}
.snv-now.is-two .snv-now-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:var(--max)}
.snv-now-card{position:relative;background:#fff;border:1px solid var(--line);padding:26px 28px;box-shadow:0 8px 24px rgba(0,75,124,.06)}
.snv-now-card:before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--logo-gradient)}
.snv-now-title{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.snv-now-where{margin:0 0 8px;font-family:var(--head);font-weight:500;font-size:clamp(24px,2.8vw,32px);line-height:1.2;color:var(--navy)}
.snv-now-detail{margin:0 0 16px;color:#4e555b}
.snv-now-dep{display:grid;gap:2px;margin:16px 0 0;padding:14px 16px;background:var(--grey);border-left:3px solid var(--bright)}
.snv-now-k{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.snv-now-dep strong{font-size:18px;color:var(--text)}
.snv-now-in{font-size:14px;color:var(--mid)}
.snv-now-in b{font-weight:700}
.snv-now-updated{margin:14px 0 0;font-size:12px;color:var(--muted)}
.snv-now-people{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:18px 12px}
.snv-now-people li{display:flex;flex-direction:column;align-items:center;text-align:center}
.snv-now-people img,.snv-now-people .snv-crew-initials{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-bottom:8px;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--sky)}
.snv-now-people strong{font-size:15px;line-height:1.25}
.snv-now-people span{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);margin-top:2px}
.snv-now-leg{margin:0}
.snv-now-leg .snv-text-link{white-space:normal}
@media (max-width:800px){.snv-now.is-two .snv-now-inner{grid-template-columns:1fr}.snv-now-card{padding:22px 20px}}

/* Compact status strip above the map */
.snv-tracker-section .snv-section-head{margin-bottom:16px}
.snv-status-strip{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.2fr);background:#fff;border:1px solid var(--line);border-top:3px solid var(--bright);margin:0 0 18px;box-shadow:0 6px 18px rgba(0,75,124,.05)}
.snv-status-strip.cols-2{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.snv-status-strip.cols-1{grid-template-columns:1fr}
.snv-ss-cell{padding:16px 20px;min-width:0}
.snv-ss-cell + .snv-ss-cell{border-left:1px solid var(--line)}
.snv-ss-k{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.snv-ss-k .snv-status-dot{width:8px;height:8px}
.snv-ss-where{margin:0;font-family:var(--head);font-weight:500;font-size:clamp(20px,2vw,25px);line-height:1.2;color:var(--navy)}
.snv-ss-detail{margin:6px 0 0;font-size:14px;line-height:1.5;color:#4e555b}
.snv-ss-small{margin:8px 0 0;font-size:12px;color:var(--muted)}
.snv-ss-small a{color:var(--mid);font-weight:600}
.snv-ss-box{background:var(--grey)}
.snv-ss-big{margin:0;font-size:18px;font-weight:700;color:var(--text);line-height:1.3}
.snv-ss-count{margin:4px 0 0;font-size:14px;color:var(--mid)}
.snv-ss-count b{font-weight:700}
.snv-ss-people{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 14px}
.snv-ss-people li{display:flex;flex-direction:column;align-items:center;width:64px;text-align:center}
.snv-ss-people img,.snv-ss-people .snv-crew-initials{width:52px;height:52px;border-radius:50%;object-fit:cover;font-size:17px;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--sky)}
.snv-ss-people span{margin-top:5px;font-size:12px;font-weight:600;line-height:1.2}
@media (max-width:900px){
  .snv-status-strip,.snv-status-strip.cols-2{grid-template-columns:1fr 1fr}
  .snv-ss-crew{grid-column:1/-1;border-left:0!important;border-top:1px solid var(--line)}
  .snv-status-strip.cols-1 .snv-ss-cell,.snv-status-strip.cols-2 .snv-ss-crew{grid-column:auto}
}
@media (max-width:560px){
  .snv-status-strip,.snv-status-strip.cols-2{grid-template-columns:1fr}
  .snv-ss-cell + .snv-ss-cell{border-left:0;border-top:1px solid var(--line)}
}

/* Supernova's own live map */
.snv-livemap{background:#0b3a5c}
.snv-livemap-map{position:absolute;inset:0}
.snv-livemap .leaflet-container{font-family:var(--body);background:#0b3a5c}
.snv-livemap-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:500;background:rgba(255,255,255,.94);padding:14px 20px;max-width:80%;text-align:center;font-size:15px;color:var(--navy)}
.snv-livemap-hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:500;border:0;border-radius:20px;background:rgba(0,60,100,.85);color:#fff;font:600 13px var(--body);padding:8px 16px;cursor:pointer}
.snv-livemap-hint[hidden]{display:none}
.snv-boat{position:relative}
.snv-boat-dot{position:absolute;left:4px;top:4px;width:14px;height:14px;border-radius:50%;background:#f2b65b;border:3px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.45)}
.snv-boat-pulse{position:absolute;left:-9px;top:-9px;width:40px;height:40px;border-radius:50%;background:rgba(242,182,91,.45);animation:snv-boatpulse 2.2s ease-out infinite}
@keyframes snv-boatpulse{0%{transform:scale(.3);opacity:1}100%{transform:scale(1.3);opacity:0}}
@media (prefers-reduced-motion:reduce){.snv-boat-pulse{animation:none;opacity:.4}}
.snv-livemap .leaflet-popup-content{font-size:14px;line-height:1.5;margin:12px 16px}
.snv-livemap .leaflet-popup-content strong{font-family:var(--head);font-weight:500;font-size:18px;color:var(--navy)}
.snv-ago{color:var(--muted)}
.snv-tracker-note strong{font-weight:600;color:var(--text)}

/* Tighter home page spacing, tinted status strip, crew row */
.snv-intro{padding:40px 16px 20px}
.snv-intro-text{margin-top:12px}
.snv-tracker-section{padding:8px 0 40px}
.snv-section{padding:40px 0}
.snv-status-strip{background:linear-gradient(100deg,#e3f1fa,#eef6fc);border:0;border-top:3px solid var(--bright);box-shadow:none;margin-bottom:12px}
.snv-ss-cell + .snv-ss-cell{border-left:1px solid rgba(0,96,157,.14)}
.snv-ss-box{background:rgba(0,96,157,.07)}
.snv-crewnow{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;background:#fff;border:1px solid var(--line);padding:12px 20px;margin:0 0 12px}
.snv-crewnow .snv-ss-k{margin:0;flex:none}
.snv-crewnow-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;flex:1 1 auto}
.snv-crewnow-list li{display:flex;align-items:center;gap:10px}
.snv-crewnow-list img,.snv-crewnow-list .snv-crew-initials{width:52px;height:52px;border-radius:50%;object-fit:cover;font-size:17px;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--sky);flex:none}
.snv-crewnow-list strong{display:block;font-size:15px;line-height:1.25}
.snv-crewnow-list small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mid)}
.snv-crewnow-leg{font-size:13px;font-weight:600;color:var(--mid);white-space:nowrap}
@media (max-width:700px){.snv-crewnow{padding:12px 14px}.snv-crewnow-list{gap:10px 16px}.snv-crewnow-list img,.snv-crewnow-list .snv-crew-initials{width:44px;height:44px}}

/* Voyage legs grouped: Current / Next / Later / Previous */
.snv-leggroups{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:flex-start}
.snv-leggroup{flex:0 1 auto;min-width:0}
.snv-leggroup-title{margin:0 0 10px;font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.snv-leggroup-current .snv-leggroup-title{color:#2f9e6f}
.snv-leggroup-cards{display:flex;flex-wrap:wrap;gap:10px}
.snv-leggroup .snv-collection-card{width:220px;flex:none}
.snv-leggroup-current .snv-collection-card{width:280px;box-shadow:0 0 0 3px var(--bright)}
.snv-collection-badge{position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.94);color:var(--navy);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px}
.snv-collection-badge .snv-status-dot{width:8px;height:8px}
.snv-collection-content .snv-collection-dates:first-child{margin:0 0 4px;opacity:.85}
@media (max-width:600px){
  .snv-leggroups,.snv-leggroup{width:100%}
  .snv-leggroup-cards{display:grid;grid-template-columns:1fr 1fr}
  .snv-leggroup .snv-collection-card,.snv-leggroup-current .snv-collection-card{width:auto}
  .snv-leggroup-current .snv-leggroup-cards,.snv-leggroup-next .snv-leggroup-cards{grid-template-columns:1fr}
  .snv-leggroup-current .snv-collection-card,.snv-leggroup-next .snv-collection-card{aspect-ratio:16/9}
}
.snv-voyage-group{margin:32px 0 14px}
.snv-voyage-group:first-child{margin-top:0}
.snv-credit{margin-top:8px;font-size:12px;opacity:.85}

/* Leg route maps */
.snv-legmap{position:absolute;inset:0;display:block;background:#a9c8dd;pointer-events:none}
.snv-legmap .leaflet-container,.snv-legmap.leaflet-container{background:#a9c8dd;font-family:var(--body)}
.snv-leg-media{position:relative}
.snv-leg-hero.has-map{background:#a9c8dd;overflow:hidden}
.snv-leg-hero.has-map .snv-legmap{z-index:0}
.snv-leg-hero.has-map:before{z-index:1;pointer-events:none}
.snv-leg-hero-text{z-index:2}
.snv-leg-hero.has-map .snv-legmap .leaflet-control-attribution{position:relative;z-index:3;pointer-events:auto}
.snv-legmap-label{background:rgba(255,255,255,.95);border:0;border-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.25);font:700 12px var(--body);letter-spacing:.04em;color:var(--navy);padding:3px 8px}
.snv-legmap-label:before{display:none}
.snv-leg-hero.has-map .leaflet-top.leaflet-right,.snv-leg-hero.has-map .leaflet-bottom.leaflet-right{z-index:3}
.snv-legmap{z-index:0}
.snv-collection-shade{z-index:1}
.snv-collection-content{z-index:2}

.snv-preview-banner{position:sticky;top:0;z-index:50;background:#e8f4fc;border-left-color:var(--bright)}

/* Leg cards: what's ahead on one row, the next/current leg outlined */
.snv-leggroup-ahead .snv-collection-card.is-main{box-shadow:0 0 0 4px #d64545;outline:none}
.snv-leggroup-current .snv-collection-card{box-shadow:none}
.snv-badge-next{background:#d64545;color:#fff}
.snv-leg-from,.snv-leg-to{display:block}
.snv-leg-to{font-size:.78em;opacity:.92;margin-top:2px}
.snv-legs .snv-leg-to{font-size:.8em}
.snv-adminbar-edit{font-weight:700;background:rgba(255,255,255,.14);padding:0 8px;border-radius:3px}
.snv-legmap-label-sm{font-size:10px;padding:2px 5px;letter-spacing:.02em}
@media (max-width:700px){
  .snv-leggroup-ahead .snv-collection-card.is-main{grid-column:1/-1;aspect-ratio:16/9}
}

/* Voyage page: quick links, and later/previous legs two to a row */
.snv-legjump{display:flex;flex-wrap:wrap;gap:14px 28px;padding:16px 18px;margin:0 0 28px;background:#fff;border:1px solid var(--line)}
.snv-legjump-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.snv-legjump-k{flex-basis:100%;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.snv-legjump a{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 5px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--navy);text-decoration:none;background:#f7fafc;white-space:nowrap}
.snv-legjump a:hover{border-color:var(--bright);background:#fff}
.snv-legjump a b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px}
.snv-legjump-current a,.snv-legjump-next a{border-color:#d64545}
.snv-legjump-current a b,.snv-legjump-next a b{background:#d64545}
.snv-legs-wide .snv-leg{box-shadow:0 0 0 3px #d64545;border-color:transparent}
.snv-legs-2col{grid-template-columns:repeat(2,minmax(0,1fr))}
.snv-legs-2col .snv-leg{grid-template-columns:1fr;gap:0;align-content:start}
.snv-legs-2col .snv-leg-media{aspect-ratio:16/9}
.snv-legs-2col .snv-leg-body{padding:18px 20px 22px;align-self:start}
.snv-legs-2col .snv-leg-body h2{font-size:24px}
.snv-leg{scroll-margin-top:16px}
@media (max-width:760px){.snv-legs-2col{grid-template-columns:1fr}.snv-legjump a{white-space:normal}}

/* Numbers: the plain font, not the heading font */
.snv-num{font-family:var(--body);font-weight:600;font-size:.86em;letter-spacing:0;font-variant-numeric:lining-nums}
.snv-passage-count,.snv-ss-big,.snv-stats strong,.snv-num-block{font-family:var(--body);font-weight:600;letter-spacing:-.01em}
.snv-passage-count{font-size:clamp(24px,3vw,36px)}
/* Leg names: arrival as big as departure, with a small "to" between */
.snv-leg-to{font-size:1em;opacity:1;margin-top:0}
.snv-legs .snv-leg-to{font-size:1em}
.snv-leg-word{font-family:var(--body);font-weight:600;font-size:.5em;letter-spacing:.14em;text-transform:uppercase;vertical-align:.25em;margin-right:.35em;opacity:.85}

/* Status strip: one compact row – status | departure | who's on board */
.snv-status-strip.cols-3{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) minmax(0,1.2fr)}
.snv-status-strip .snv-ss-cell{padding:12px 18px}
.snv-ss-k{margin-bottom:4px}
.snv-ss-upd{font-weight:600;letter-spacing:.04em;text-transform:none;font-size:12px;color:var(--muted)}
.snv-ss-where{font-size:clamp(19px,1.8vw,22px)}
.snv-ss-detail{margin-top:3px}
.snv-ss-big{font-size:16px}
.snv-ss-count{margin-top:2px}
.snv-ss-crew .snv-ss-k a{color:var(--mid);text-decoration:none;letter-spacing:.06em}
.snv-ss-people{gap:6px 10px}
.snv-ss-people li{width:54px}
.snv-ss-people img,.snv-ss-people .snv-crew-initials{width:38px;height:38px;font-size:14px}
.snv-ss-people span{margin-top:3px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media (max-width:900px){.snv-status-strip.cols-3{grid-template-columns:1fr 1fr}.snv-status-strip.cols-3 .snv-ss-crew{grid-column:1/-1;border-left:0!important;border-top:1px solid rgba(0,96,157,.14)}}
@media (max-width:560px){.snv-status-strip.cols-3{grid-template-columns:1fr}.snv-status-strip .snv-ss-cell + .snv-ss-cell{border-left:0;border-top:1px solid rgba(0,96,157,.14)}}
/* Less space under the map and the ship's log */
.snv-tracker-section{padding:8px 0 16px}
.snv-tracker-section + .snv-section{padding-top:20px;padding-bottom:24px}
.snv-tracker-section + .snv-section .snv-section-head{margin-bottom:16px}

/* Log typography */
.snv-post-inner{max-width:720px;padding-top:48px}
.snv-post-title{font-size:clamp(28px,4vw,40px);line-height:1.15;text-wrap:balance;margin:0 0 12px!important}
.snv-post-meta{margin:0 0 30px;line-height:1.6}
.snv-post .snv-prose{font-size:18px;line-height:1.7;max-width:66ch;hyphens:manual}
.snv-post .snv-prose p{margin:0 0 1.25em}
.snv-card-body h3{font-size:22px;line-height:1.22;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.snv-card-body h3 .snv-num{font-size:.88em}
.snv-card-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.6}

/* Leg page: the latest updates as tiles (no leg name on them – it's this leg) */
.snv-cards-leg{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:22px;margin-bottom:12px}
.snv-cards-leg .snv-card-leg{display:none}
.snv-leg-main .snv-section-head{margin-top:8px}

/* Leg page photos: two tidy rows of squares, newest first */
.snv-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:36px}
.snv-strip .snv-tile{margin:0;aspect-ratio:1/1}
.snv-strip .snv-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.snv-strip .snv-tile:hover img{transform:scale(1.04)}
.snv-head-links{display:flex;flex-wrap:wrap;gap:8px 22px}
.snv-count{font-family:var(--body);font-size:14px;font-weight:600;color:var(--muted);vertical-align:middle;margin-left:4px}
@media (max-width:1100px){.snv-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.snv-strip .snv-tile:nth-child(n+9){display:none}}
@media (max-width:600px){.snv-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.snv-strip .snv-tile:nth-child(n+7){display:none}}

/* Leg page sidebar: every leg, this one highlighted */
.snv-legnav-list{list-style:none;margin:0 0 16px;padding:0}
.snv-legnav-list li a{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none;font-size:15px;line-height:1.35}
.snv-legnav-list li:last-child a{border-bottom:0}
.snv-legnav-list b{flex:none;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--grey);color:var(--navy);font-size:11px;font-weight:700;transform:translateY(-1px)}
.snv-legnav-list a:hover span{color:var(--bright)}
.snv-legnav-list li.is-this a{font-weight:700;color:var(--navy)}
.snv-legnav-list li.is-this b{background:#d64545;color:#fff}

/* Voyage page: leg name on one line; crew and counts share a line */
.snv-legs .snv-leg-from,.snv-legs .snv-leg-to{display:inline}
.snv-legs .snv-leg-word{margin-left:.15em}
.snv-leg-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;margin-top:12px}
.snv-leg-foot .snv-leg-crew{margin:0}
.snv-leg-foot .snv-leg-counts{margin:0;color:var(--muted);white-space:nowrap}

/* Even spacing either side of "TO" when the names share a line */
.snv-leg-word{margin-right:.5em}
.snv-legs .snv-leg-word{margin-left:.5em}

/* Map tabs: the boat's track / the rally fleet */
.snv-maptabs{display:flex;gap:6px;margin:0 0 10px;flex-wrap:wrap}
.snv-maptabs button{font:inherit;font-size:14px;font-weight:600;padding:8px 14px;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;cursor:pointer}
.snv-maptabs button.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.snv-livemap{position:relative}
.snv-fleet{position:absolute;inset:0;z-index:1200;background:#dfe9f2}
.snv-fleet iframe{width:100%;height:100%;border:0;display:block}
.snv-fleet-open{position:absolute;right:10px;bottom:10px;background:rgba(255,255,255,.95);padding:6px 10px;border-radius:6px;font-size:13px;font-weight:600;color:var(--navy);text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.15)}
