
:root{--bg:#F8FBFB;--surface:#EEF5F6;--card:#fff;--ink:#0F2A35;--ink2:#3F5762;--muted:#6B808A;--line:#DCE8EA;
--brand:#0E7C86;--brand-soft:#D9F0F2;--cta:#F26B4F;--cta-h:#DB553A;--navy:#0B2F3A;--gold:#F5B72E;
--mint:#DDF2EA;--sky:#E1EEFB;--sand:#FFF1D6;--rose:#FDE4DC;--lilac:#ECE6FA;
--shadow:0 2px 4px rgba(11,47,58,.05),0 10px 30px rgba(11,47,58,.09);--r:18px;--wrap:1220px;
--fd:"DM Serif Display",Georgia,serif;--fu:"Mulish","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--fu);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--fd);font-weight:400;line-height:1.15;margin:0;color:var(--ink);text-wrap:balance}
p{margin:0}img{display:block;max-width:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:28px}@media(max-width:600px){.wrap{padding-inline:16px}}
.announce{background:var(--navy);color:#fff;font-size:14px;font-weight:600;text-align:center;padding:9px 16px}
.announce a{color:var(--gold);font-weight:800;text-decoration:underline}
.hdr{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:20px;height:72px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);white-space:nowrap}.logo:hover{text-decoration:none}
.logo-mark{width:38px;height:38px;border-radius:50%;background:none;display:grid;place-items:center;flex:none}.logo-mark svg{display:block;width:38px;height:38px}
.logo-word{font-family:var(--fd);font-size:25px}.logo-word i{font-style:normal;color:var(--brand)}
.nav{display:flex;gap:2px;flex:1;align-items:center}
.nav>a,.dd>a{color:var(--ink);font-weight:700;font-size:15.5px;padding:10px 12px;border-radius:999px;display:inline-block;white-space:nowrap}
.nav>a:hover,.dd>a:hover{background:var(--surface);text-decoration:none}
.nav a.on{color:var(--brand)}
.dd{position:relative}.dd-menu{position:absolute;left:0;top:100%;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px;display:none;z-index:50}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:grid}.dd-menu a{color:var(--ink);padding:9px 12px;border-radius:10px;font-weight:600;font-size:15px}.dd-menu a:hover{background:var(--surface);text-decoration:none}
.hdr-cta{margin-left:auto}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:800;font-size:15px;border:2px solid transparent;cursor:pointer;font-family:var(--fu);transition:.15s}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-cta{background:var(--cta);color:#fff}.btn-cta:hover{background:var(--cta-h)}
.btn-dark{background:var(--navy);color:#fff}.btn-line{border-color:var(--line);background:#fff;color:var(--ink)}.btn-sm{padding:8px 15px;font-size:13.5px}
.burger{display:none;margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;font-size:22px;cursor:pointer}
@media(max-width:980px){.burger{display:block}.hdr-cta{display:none}.nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--bg);flex-direction:column;align-items:stretch;padding:12px 16px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.dd-menu{position:static;display:grid;box-shadow:none;border:0;padding:0 0 0 12px}}
/* hero */
.hero{position:relative;color:#fff;min-height:540px;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s}.hero .bg.on{opacity:1}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,47,58,.55),rgba(11,47,58,.35) 45%,rgba(11,47,58,.8))}
.hero .wrap{position:relative;z-index:2;padding-block:70px}
.eyebrow{color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:13px;margin-bottom:12px}
.hero h1{color:#fff;font-size:clamp(38px,6vw,68px);max-width:800px;margin-bottom:16px}
.hero p.lede{font-size:20px;max-width:620px;color:#E6F3F5;margin-bottom:26px}
.time-box{background:rgba(255,255,255,.96);color:var(--ink);border-radius:22px;padding:18px 20px;max-width:760px;box-shadow:var(--shadow)}
.time-box b{display:block;font-size:14px;margin-bottom:10px;color:var(--ink2)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 16px;border-radius:999px;font-weight:700;font-size:14.5px;cursor:pointer;font-family:var(--fu)}
.chip:hover{border-color:var(--brand)}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.time-box .chip{background:var(--brand-soft);border:0}.time-box .chip:hover{background:var(--brand);color:#fff;text-decoration:none}
.search{position:relative;margin-top:14px}.search input{width:100%;padding:14px 18px;border-radius:999px;border:1px solid var(--line);font:600 16px var(--fu)}
.sres{position:absolute;left:0;right:0;top:100%;margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:30;overflow:hidden}
.sres a{display:flex;gap:10px;padding:10px 14px;color:var(--ink);font-weight:700;border-bottom:1px solid var(--line)}.sres a small{color:var(--muted);font-weight:600}
/* sections */
.sec{padding:60px 0}.sec-alt{background:var(--surface)}
.sh{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.sh h2{font-size:clamp(28px,4vw,40px)}.sh p{color:var(--ink2);max-width:560px;margin-top:6px}
.grid{display:grid;gap:22px}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:1000px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}}
.tile{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;color:#fff;display:flex;align-items:flex-end;box-shadow:var(--shadow)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.tile:hover img{transform:scale(1.05)}.tile:hover{text-decoration:none}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,47,58,.85),rgba(11,47,58,0) 60%)}
.tile div{position:relative;z-index:2;padding:20px}.tile h3{color:#fff;font-size:26px}.tile span{font-size:14px;color:#D7EDF0;font-weight:600}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:.2s;color:var(--ink)}
.card:hover{transform:translateY(-3px);text-decoration:none}
.card .ph{aspect-ratio:4/3;overflow:hidden;position:relative;background:var(--surface)}.card .ph img{width:100%;height:100%;object-fit:cover}
.card .bd{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}.card h3{font-size:21px}.card p{font-size:14.5px;color:var(--ink2)}
.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:var(--brand-soft);color:var(--brand);padding:4px 10px;border-radius:999px}
.tag.hot{background:var(--rose);color:#C4452B}.tag.gold{background:var(--sand);color:#946200}
.fav{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.95);font-size:19px;cursor:pointer;z-index:3;color:#C4452B}
.spon{position:absolute;top:10px;left:10px;background:rgba(11,47,58,.85);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:999px;z-index:3}
.price{font-weight:800;color:var(--ink)}
/* itinerary band */
.band{border-radius:26px;padding:30px;background:linear-gradient(120deg,var(--navy),#145766);color:#fff;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}
.band h2{color:#fff}.band p{color:#CFE6EA}@media(max-width:800px){.band{grid-template-columns:1fr}}
.dur{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.dur a{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:16px;color:#fff;font-weight:800}.dur a small{display:block;font-weight:600;color:#CFE6EA;margin-top:3px}.dur a:hover{background:rgba(255,255,255,.2);text-decoration:none}
/* ads */
.ad{display:block;margin:26px auto;text-align:center;max-width:100%}.ad-lbl{display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ad-box{margin:0 auto;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#F1F6F7,#F1F6F7 10px,#EAF1F3 10px,#EAF1F3 20px);border:1px dashed #C5D6DA;border-radius:12px;color:#8AA0A8;font-weight:700;font-size:13px}
.ad-leader .ad-box{width:728px;max-width:100%;height:90px}.ad-rect .ad-box{width:300px;height:250px}.ad-tall .ad-box{width:300px;height:600px}
.anchor{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:6px;text-align:center;display:none}.anchor.show{display:block}
.anchor .ad{margin:0}.anchor .ad-box{width:728px;max-width:100%;height:60px}.anchor button{position:absolute;right:8px;top:6px;border:0;background:none;font-size:20px;cursor:pointer}
/* page layouts */
.crumbs{font-size:14px;color:var(--muted);padding:20px 0 6px;font-weight:600}.crumbs a{color:var(--ink2)}
.ph-hero{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:56px 0 46px}.ph-hero img.bgi{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.ph-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,47,58,.55),rgba(11,47,58,.8))}.ph-hero .wrap{position:relative;z-index:2}
.ph-hero h1{color:#fff;font-size:clamp(32px,5vw,54px)}.ph-hero p{color:#DDEEF1;max-width:640px;margin-top:10px;font-size:18px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;padding-block:34px 60px}@media(max-width:1000px){.layout{grid-template-columns:1fr}}
.rail{display:flex;flex-direction:column;gap:22px}.rail .box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}.rail h4{font-family:var(--fu);font-weight:900;font-size:15px;margin-bottom:10px}
.rail ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.rail li a{font-weight:700;color:var(--ink)}
.art{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:var(--shadow)}.art h2{font-size:28px;margin:26px 0 10px}.art p{margin-bottom:14px;color:var(--ink2)}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.facts div{background:var(--surface);border-radius:14px;padding:12px 14px;font-size:14.5px}.facts b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:14px}.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:14px;background:var(--surface);border-radius:16px;padding:14px}
.steps li::before{content:counter(s);width:40px;height:40px;border-radius:50%;background:var(--brand);color:#fff;font-weight:900;display:grid;place-items:center}.steps b{display:block}.steps span{font-size:14.5px;color:var(--ink2)}
.aff{background:var(--sand);border-radius:18px;padding:20px;margin:26px 0}.aff h3{font-size:22px;margin-bottom:12px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:700px){.pgrid{grid-template-columns:1fr 1fr}}
.pc{background:#fff;border-radius:14px;overflow:hidden;border:1px solid #EFE3C6;display:flex;flex-direction:column}.pc img{aspect-ratio:1;object-fit:cover;width:100%}.pc div{padding:10px 12px;display:flex;flex-direction:column;gap:6px;flex:1}.pc b{font-size:14.5px;line-height:1.3}.pc .btn{margin-top:auto;justify-content:center}
.nl{background:var(--brand-soft);border-radius:26px;padding:34px;display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:center}@media(max-width:800px){.nl{grid-template-columns:1fr}}
.nl form{display:flex;gap:8px;flex-wrap:wrap}.nl input{flex:1;min-width:200px;padding:13px 18px;border-radius:999px;border:1px solid var(--line);font:600 16px var(--fu)}
footer{background:var(--navy);color:#CFE6EA;padding:54px 0 90px;margin-top:30px;font-size:15px}footer h4{color:var(--gold);font-family:var(--fu);font-weight:900;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}footer a{color:#CFE6EA}footer .fine{border-top:1px solid rgba(255,255,255,.15);margin-top:30px;padding-top:18px;font-size:13px;color:#9DBBC2}
.disc{font-size:12.5px;color:var(--muted);margin-top:14px}
.empty{padding:40px;text-align:center;color:var(--muted)}
.wx{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:26px}
.wx form{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:14px 0}.wx label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:grid;gap:4px}
.wx input{padding:11px 14px;border:1px solid var(--line);border-radius:12px;font:600 16px var(--fu)}
.wxd{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:16px 0}.wxd div{background:var(--surface);border-radius:14px;padding:10px;text-align:center;font-size:13px}.wxd b{display:block;font-size:12px;color:var(--muted)}.wxd big{display:block;font-size:20px;font-weight:800;margin:2px 0}
.wxs{background:var(--sky);border-radius:16px;padding:16px;font-size:15px}.wxs h4{font-family:var(--fu);font-weight:900;margin-bottom:6px}
.note{background:var(--sand);border-radius:14px;padding:12px 16px;font-size:13.5px;color:#7A5A12;margin:14px 0}
.art h3{font-size:22px;margin:20px 0 8px}.art ul{color:var(--ink2);padding-left:20px}.art li{margin-bottom:6px}
.books{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.bk{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow)}.bk small{color:var(--muted);font-weight:700}.bk p{font-size:14.5px;color:var(--ink2)}.bk .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.book-n{font-family:var(--fd);font-size:34px;color:var(--brand);line-height:1}
.book-box{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}@media(max-width:700px){.book-box{grid-template-columns:1fr}}
.tier{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff}.tier h3{font-size:22px}.tier.hl{border:2px solid var(--brand)}
.partners{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.partners a{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;color:var(--ink);font-weight:800;display:block}.partners a small{display:block;color:var(--muted);font-weight:600;margin-top:2px}.partners a:hover{border-color:var(--brand);text-decoration:none}

/* Added: real ads fill the v3 placeholder boxes without the striped preview background. */
.ad-box.filled{background:none;border:0;border-radius:0}
/* Added: stops the sidebar layout from pushing past the screen edge on phones (v3 scrolled sideways at 390px). */
.layout>*{min-width:0}
/* Time-in-port box on the home page: same dark glass panels as the "Plan by the clock" band. */
.time-box{background:rgba(11,47,58,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:22px;padding:22px;max-width:820px;box-shadow:0 18px 50px rgba(0,0,0,.25)}
.tb-h{display:flex;align-items:baseline;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;margin-bottom:14px}
.tb-h h2{color:#fff;font-size:26px;margin:0}
.tb-h span{color:#CFE6EA;font-size:14.5px;font-weight:600}
.tb-opts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tb-o{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:14px;color:#fff;transition:background .15s,transform .15s,border-color .15s}
.tb-o svg{flex:none;color:var(--gold)}
.tb-o span{min-width:0}
.time-box .tb-o b{display:block;margin:0;color:#fff;font-size:16.5px;font-weight:800;line-height:1.2}
.tb-o small{display:block;color:#CFE6EA;font-size:13px;font-weight:600;line-height:1.3;margin-top:2px}
.tb-o:hover,.tb-o:focus-visible{background:#fff;border-color:#fff;color:var(--navy);text-decoration:none;transform:translateY(-2px)}
.time-box .tb-o:hover b,.time-box .tb-o:focus-visible b{color:var(--navy)}
.tb-o:hover small,.tb-o:focus-visible small{color:var(--ink2)}
.tb-o:hover svg,.tb-o:focus-visible svg{color:var(--cta)}
.time-box .search{margin-top:12px}
.time-box .search .s-ic{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.time-box .search input{padding-left:48px;border:0;color:var(--ink)}
@media(max-width:900px){.tb-opts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.time-box{padding:16px}.tb-h h2{font-size:22px}.tb-o{padding:12px;gap:10px}.tb-o svg{width:20px;height:20px}.time-box .tb-o b{font-size:15px}.tb-o small{font-size:12.5px}}
/* Text that must fit: header button never wraps, long words in tiles and cards break cleanly, tighter menu on mid-size screens. */
.hdr-cta{white-space:nowrap;flex:none}
.tile h3,.card h3,.tb-o b{overflow-wrap:break-word;hyphens:auto}
.tile div{max-width:100%}
@media(min-width:981px) and (max-width:1200px){.nav>a,.dd>a{padding:10px 8px;font-size:14.5px}.hdr-in{gap:12px}.logo-word{font-size:22px}}
@media(max-width:1180px){.layout .g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.layout .g3{grid-template-columns:1fr}}
.pc .btn{white-space:nowrap;padding-inline:12px}
.btn{justify-content:center;text-align:center}
@media(max-width:420px){.pgrid{grid-template-columns:1fr}}
/* ---------- tile system: every tile shares the "How long are you in port?" look ---------- */
:root{--tb-glass:rgba(11,47,58,.62);--tb-line:rgba(255,255,255,.22);--tb-soft:#CFE6EA}
.tb-arrow,.card .bd::after,.tile>div::after,.partners a::after{content:"";width:34px;height:34px;flex:none;border-radius:50%;border:1px solid var(--tb-line);background:rgba(255,255,255,.08) center/16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5B72E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");transition:background-color .15s,border-color .15s}
/* photo tiles: a glass label panel, like the time-in-port box */
.tile::after{background:linear-gradient(0deg,rgba(11,47,58,.55),rgba(11,47,58,0) 55%)}
.tile>div{margin:12px;width:calc(100% - 24px);padding:14px 14px 14px 16px;background:var(--tb-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center;transition:background .15s,border-color .15s,transform .15s}
.tile>div>*{grid-column:1}.tile>div::after{grid-column:2;grid-row:1/span 2}
.tile h3{font-size:22px;line-height:1.15}.tile span{color:var(--tb-soft);font-size:13.5px;margin-top:3px;display:block}
.tile:hover>div,.tile:focus-visible>div{background:#fff;border-color:#fff;transform:translateY(-2px)}
.tile:hover h3,.tile:focus-visible h3{color:var(--navy)}.tile:hover span,.tile:focus-visible span{color:var(--ink2)}
/* cards: navy body with gold accents; turns white on hover like the time-in-port options */
.card{background:var(--navy);border:1px solid var(--navy);border-radius:20px;color:#fff;transition:transform .15s,box-shadow .15s}
.card .bd{background:var(--navy);color:#fff;transition:background .15s}
.card .bd::after{margin-top:auto;align-self:flex-end}
.card h3{color:#fff}.card p{color:var(--tb-soft)}.card .price{color:#fff}
.card .tag{background:rgba(255,255,255,.1);border:1px solid var(--tb-line);color:var(--gold)}
.card .tag.hot{background:rgba(242,107,79,.16);border-color:rgba(242,107,79,.45);color:#FFB09E}
.card:hover,.card:focus-visible{transform:translateY(-3px);box-shadow:0 18px 40px rgba(11,47,58,.22)}
.card:hover .bd,.card:focus-visible .bd{background:#fff}
.card:hover h3,.card:focus-visible h3,.card:hover .price{color:var(--navy)}.card:hover p,.card:focus-visible p{color:var(--ink2)}
.card:hover .tag{background:var(--brand-soft);border-color:var(--brand-soft);color:var(--brand)}.card:hover .tag.hot{background:var(--rose);border-color:var(--rose);color:#C4452B}
.card:hover .bd::after,.card:focus-visible .bd::after,.tile:hover>div::after,.tile:focus-visible>div::after,.partners a:hover::after{border-color:var(--cta);background-color:var(--cta);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
/* sidebar time-in-port box: the same box, stacked */
.rail .box.tb-rail{background:var(--navy);border:0;color:#fff;padding:18px}
.rail .tb-rail h4{color:#fff;font-family:var(--fd);font-weight:700;font-size:20px;margin-bottom:12px}
.tb-list{display:grid;gap:8px}.tb-list .tb-o{padding:11px 12px}
.tb-list .tb-o b{display:block;margin:0;color:#fff;font-size:15.5px;font-weight:800;line-height:1.2}
.tb-list .tb-o:hover b,.tb-list .tb-o:focus-visible b{color:var(--navy)}
/* partner links, itinerary steps, facts, books, ad tiers, product picks, weather days */
.partners a{background:var(--navy);border:0;border-radius:16px;padding:14px 14px 14px 16px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;transition:background .15s,transform .15s}
.partners a small{color:var(--tb-soft);flex-basis:100%;order:2;margin-top:-6px}
.partners a:hover{background:#fff;color:var(--navy);outline:1px solid var(--line);transform:translateY(-2px);text-decoration:none}.partners a:hover small{color:var(--ink2)}
.steps li{background:var(--navy);color:#fff}.steps li::before{background:rgba(255,255,255,.08);border:1.5px solid var(--gold);color:var(--gold)}
.steps b{color:#fff}.steps span{color:var(--tb-soft)}.steps a{color:var(--gold);font-weight:800;font-size:14.5px;white-space:nowrap}
.facts div{background:var(--navy);color:#fff}.facts b{color:var(--gold)}
.bk{background:var(--navy);border-color:var(--navy);color:#fff;border-radius:20px}.bk b{color:#fff}.bk small{color:var(--gold)}.bk p{color:var(--tb-soft)}.book-n{color:var(--gold)}
.bk .btn-line,.tier .btn-line{background:transparent;color:#fff;border-color:var(--tb-line)}
.tier{background:var(--navy);border-color:var(--navy);color:#fff;border-radius:20px}.tier h3{color:#fff}.tier p,.tier li{color:var(--tb-soft)}.tier.hl{border:2px solid var(--gold)}
.pc{background:var(--navy);border-color:var(--navy);border-radius:16px}.pc b{color:#fff}
.wxd div{background:var(--navy);color:var(--tb-soft)}.wxd b{color:var(--gold)}.wxd big{color:#fff}
/* search results */
.sres a{justify-content:space-between;align-items:baseline;text-align:left}.sres a small{margin-left:auto;flex:none;font-size:12.5px}
.sres a:hover,.sres a:focus-visible{background:var(--surface);text-decoration:none}
.sres a.s-tour{background:var(--navy);color:#fff;border-bottom:0}.sres a.s-tour small{color:var(--gold)}.sres a.s-tour:hover{background:#145766}
@media(max-width:480px){.sres a{flex-wrap:wrap;gap:2px 10px}.sres a small{margin-left:0}}
.hero{overflow:visible;z-index:5}.hero .bg{overflow:hidden}
.aff.rank{background:var(--surface)}.aff.rank p{color:var(--ink2);margin-bottom:12px}.aff.rank .disc{margin:10px 0 0}
.aff-more{margin:14px 0 0;font-weight:700;font-size:14.5px;color:var(--ink2)}.aff-more a{color:var(--brand)}
.pc img{background:var(--surface)}
/* port guide listings and ranked excursions */
.plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:12px 0 8px}
.pl{position:relative;display:block;background:var(--navy);color:#fff;border-radius:16px;padding:14px 50px 14px 16px;transition:background .15s,transform .15s}
.pl::after{content:"";position:absolute;right:12px;top:14px;width:30px;height:30px;border-radius:50%;border:1px solid var(--tb-line);background:rgba(255,255,255,.08) center/14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5B72E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.pl .pl-t{display:block;color:var(--gold);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.pl b{display:block;font-size:16px;line-height:1.25;color:#fff}
.pl small{display:block;color:var(--tb-soft);font-size:13.5px;line-height:1.45;margin-top:5px}
.pl em{display:block;font-style:normal;color:var(--tb-soft);opacity:.75;font-size:12px;margin-top:8px}
.pl:hover,.pl:focus-visible{background:#fff;outline:1px solid var(--line);transform:translateY(-2px);text-decoration:none}
.pl:hover b{color:var(--navy)}.pl:hover small,.pl:hover em{color:var(--ink2)}.pl:hover .pl-t{color:var(--brand)}
.pl:hover::after{border-color:var(--cta);background-color:var(--cta);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.psrc{margin:16px 0;font-size:14px}.psrc summary{cursor:pointer;font-weight:800;color:var(--brand)}.psrc ul{margin-top:8px;columns:2;column-gap:24px}.psrc li{break-inside:avoid}
.rk{position:absolute;top:10px;left:10px;z-index:3;background:var(--gold);color:var(--navy);font-weight:900;font-size:15px;min-width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;box-shadow:0 4px 12px rgba(11,47,58,.25)}
.tr-rank{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:0}.tr-rank .rk{position:static}
.tr-tier{display:inline-block;color:var(--gold);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.tr-on{display:block;color:var(--tb-soft);font-size:12.5px;margin-top:6px}
.card:hover .tr-tier{color:var(--brand)}.card:hover .tr-on{color:var(--ink2)}
.tr-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:22px;font-weight:800;font-size:14.5px}
@media(max-width:640px){.psrc ul{columns:1}}
/* walking map */
#stmap{height:520px;border-radius:18px;overflow:hidden;border:1px solid var(--line);margin:14px 0 10px;background:var(--surface);z-index:1;position:relative}
.mlegend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;font-weight:700}.mlegend a{color:var(--ink);display:inline-flex;align-items:center;gap:6px}
.mk{display:inline-block;width:14px;height:14px;border-radius:50%;margin-right:8px;vertical-align:-1px;border:2px solid #fff;box-shadow:0 0 0 1px rgba(11,47,58,.25)}
.mlegend .mk{margin-right:0}
.stpin span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:#fff;font:800 12.5px/1 var(--fb,system-ui);border:2px solid #fff;box-shadow:0 2px 6px rgba(11,47,58,.35)}
.stpin span.dk{width:30px;height:30px;background:var(--navy);font-size:15px}
.pl-m{padding-right:16px}.pl-m::after{display:none}.pl-m:hover{transform:none}
.pl-m b{display:flex;align-items:center;gap:8px}
.mn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:#fff;font-size:12px;font-weight:800;border:2px solid rgba(255,255,255,.8)}
.pl-m small a{color:var(--gold);font-weight:700}.pl-m:hover small a{color:var(--brand)}
@media(max-width:640px){#stmap{height:420px}}

/* Photo tiles */
.ph-tile{background-image:linear-gradient(160deg,rgba(11,47,58,.50),rgba(11,47,58,.68) 70%),var(--ph)!important;background-size:cover!important;background-position:center!important;background-color:var(--navy)!important}
.band.ph-tile{background-image:linear-gradient(120deg,rgba(11,47,58,.66),rgba(20,87,102,.42)),var(--ph)!important}
.ph-tile h2,.ph-tile h3,.ph-tile h4,.ph-tile p,.ph-tile .eyebrow,.ph-tile .kicker{text-shadow:0 1px 3px rgba(0,0,0,.45)}
.nl.ph-tile{color:#fff}.nl.ph-tile h2,.nl.ph-tile h3{color:#fff}.nl.ph-tile p{color:#E6F3F5}
.sh-out.ph-tile{background-image:linear-gradient(160deg,rgba(11,47,58,.86),rgba(11,47,58,.94)),var(--ph)!important}
.nl.ph-tile p,.nl.ph-tile small,.nl.ph-tile label{color:#E6F3F5!important}
.wxd div{background-image:linear-gradient(160deg,rgba(11,47,58,.78),rgba(11,47,58,.92)),var(--ph-wx,none);background-size:cover;background-position:center}
.facts div{background-image:linear-gradient(160deg,rgba(11,47,58,.80),rgba(11,47,58,.93)),var(--ph-facts,none);background-size:cover;background-position:center}
.sh-out{background-image:linear-gradient(160deg,rgba(11,47,58,.84),rgba(11,47,58,.94)),var(--ph-ship,none)!important;background-size:cover!important;background-position:center!important}
.sh-out .sh-none{color:#E6F3F5!important}
.sh-why{background-image:linear-gradient(160deg,rgba(11,47,58,.82),rgba(11,47,58,.93)),var(--ph-wx,none)!important;background-color:var(--navy)!important;background-size:cover!important;background-position:center!important;border:0!important;color:#fff}
.sh-why h3{color:#fff!important}.sh-why p{color:#E6F3F5!important}.sh-why a{color:var(--gold)!important}
@media(min-width:981px) and (max-width:1180px){.nav>a,.dd>a{padding:9px 6px;font-size:13.5px}.hdr-cta{padding-inline:14px}}
@media(min-width:981px) and (max-width:1023px){.nav>a,.dd>a{padding:8px 4px;font-size:12.5px}.hdr-cta{padding-inline:10px;font-size:12.5px}}

/* Tighter spacing and a fuller rail */
.sec{padding:44px 0}.layout{padding-block:24px 44px;gap:30px}.ph-hero{padding:44px 0 36px}.ad{margin:18px auto}
.rail .ad-tall{position:sticky;top:90px}
.rail-links ul{display:grid;gap:2px}.rail-links li a{display:block;padding:7px 0;border-bottom:1px solid var(--line);font-size:14.5px}.rail-links li:last-child a{border-bottom:0}
.rail-pop .rp{display:flex;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);color:var(--ink)}.rail-pop .rp:last-child{border-bottom:0}
.rail-pop img{width:64px;height:64px;border-radius:12px;object-fit:cover;flex:none}.rail-pop b{display:block;font-size:14.5px;line-height:1.25}.rail-pop small{color:var(--muted);font-size:12.5px}
.facts div a{color:var(--gold)}
.rank-rail p{font-size:14px}.rank-rail .partners{grid-template-columns:1fr;gap:8px}.rank-rail .partners a{padding:11px 12px 11px 14px}.rank-rail .partners a::after{width:28px;height:28px}
.cfacts{font-size:13px;font-weight:700;color:var(--gold);letter-spacing:.01em}
.dirbar{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;justify-content:space-between;margin:-6px 0 18px}
.dirbar .seg{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.dirbar .seg span{font-size:13px;font-weight:800;color:var(--muted);margin-right:2px}
.dirbar button{font:inherit;font-size:13.5px;font-weight:700;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.dirbar button:hover{border-color:var(--brand)}
.dirbar button.on{background:var(--navy);border-color:var(--navy);color:#fff}
#dirmap{height:420px;border-radius:var(--r);overflow:hidden;margin:0 0 20px;border:1px solid var(--line);position:relative;z-index:0}
#dirmap.st-fs{height:100vh}
.dir.dir-list{grid-template-columns:1fr!important;gap:12px}
.dir.dir-list .card{flex-direction:row;border-radius:16px}
.dir.dir-list .card .ph{width:180px;flex:none;aspect-ratio:auto;min-height:120px}
.dir.dir-list .card .bd{padding:14px 16px;flex-direction:column;gap:5px}
.dir.dir-list .card h3{font-size:19px}
.dir.dir-list .card p{font-size:14px}
.dir.dir-list .card .bd::after{display:none}
.cnum{position:absolute;left:10px;top:10px;width:30px;height:30px;border-radius:50%;background:var(--cta);color:#fff;font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}
@media(max-width:600px){.dir.dir-list .card .ph{width:110px;min-height:110px}.dir.dir-list .card h3{font-size:17px}.dir.dir-list .card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#dirmap{height:340px}}
.rail .wx-rail{border-radius:var(--r);padding:18px}
.wx-rail form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 10px}
.wx-rail label{font-size:11px}
.wx-rail input{padding:8px 8px;font-size:14px;width:100%;min-width:0}
.wx-rail button{grid-column:1/-1;justify-content:center}
.wx-rail .wxs{padding:12px;font-size:13.5px}
.wx-rail .wxs h4{font-size:14px}
.wx-rail .wxd{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.wx-rail .note{font-size:13px;padding:10px 12px}
.wx-rail .disc{margin-top:6px}
.facts div small{display:block;font-size:12.5px;opacity:.8;margin-top:3px;font-weight:500}
.facts div a{color:var(--gold)}
ul.hl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 18px;padding-left:20px;margin:8px 0 16px}
.tdet{border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin:18px 0;background:var(--surface)}
.tdet h3{margin:0 0 4px}
.tdet .btn{margin-top:14px}
.toc{display:flex;flex-wrap:wrap;gap:6px 14px;background:var(--surface);border-radius:14px;padding:12px 16px;margin:14px 0 6px;font-size:14px;font-weight:700}
.toc b{width:100%;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tbl{width:100%;border-collapse:collapse;margin:12px 0 16px;font-size:15px}
.tbl th,.tbl td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.tbl td:nth-child(2){font-weight:800;white-space:nowrap}
details.faq{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:8px 0;background:#fff}
details.faq summary{font-weight:800;cursor:pointer}
details.faq p{margin:8px 0 0}
.reads{margin:26px 0 8px}
.reads h2{margin:0 0 12px}
.reads-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.rd{background:var(--sand,#FFF1D6);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.rd b{font-size:16px;line-height:1.25}
.rd small{color:var(--muted);font-weight:700}
.rd p{font-size:14px;color:var(--ink2);margin:4px 0 8px;flex:1}
.rd .btn{align-self:flex-start}
.hist{margin:30px 0}
.hist-g{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important}
.hcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;color:var(--ink);box-shadow:var(--shadow)}
.hcard:hover{text-decoration:none;border-color:var(--brand)}
.hph{aspect-ratio:16/10;background:var(--surface);overflow:hidden}
.hph img{width:100%;height:100%;object-fit:cover;filter:sepia(.15)}
.hbd{padding:14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.hsrc{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}
.hbd h3{font-size:18px;line-height:1.25}
.hbd p{font-size:14px;color:var(--ink2);flex:1}
.hgo{font-size:13.5px;font-weight:800;color:var(--brand)}
.hlinks{padding-left:20px;margin:6px 0 16px}.hlinks li{margin:4px 0}.hlinks small{color:var(--muted);margin-left:4px}

/* Juneau Times app: app home (/app/) and offline notice */
.st-offline{background:var(--gold);color:var(--navy);font-size:14px;font-weight:700;text-align:center;padding:8px 16px}
.app-day{background:var(--navy);color:#fff;border-radius:var(--r);padding:20px 22px;margin-bottom:16px}.app-day h2{color:#fff;font-size:30px;margin:4px 0 2px}.app-day p{color:#C9D8DC;font-weight:600}.app-day .eyebrow{color:var(--gold)}
.aboard{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.aboard label{display:flex;flex-direction:column;gap:4px;font-weight:800;font-size:15px}
.aboard input{font:inherit;font-weight:600;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);min-height:44px}
.ab-out{margin:12px 0 0;border-radius:14px;font-size:16px}.ab-out:empty{display:none}.ab-out.ab-ok,.ab-out.ab-soon,.ab-out.ab-late{padding:12px 16px}
.ab-ok{background:var(--mint);color:#0F4A35}.ab-soon{background:var(--sand);color:#6A4A00}.ab-late{background:var(--rose);color:#7A2A12}
.ab-clear{font:inherit;font-size:14px;font-weight:800;background:none;border:0;padding:0 0 0 6px;color:inherit;text-decoration:underline;cursor:pointer}
.app-go{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 8px}@media(max-width:600px){.app-go{grid-template-columns:repeat(2,1fr)}.app-go a:last-child:nth-child(odd){grid-column:1/-1}}
.app-go a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;color:var(--ink);font-weight:800;box-shadow:var(--shadow);min-height:44px}
.app-go a small{display:block;font-weight:600;color:var(--muted);font-size:13.5px;margin-top:2px;line-height:1.35}.app-go a:hover{border-color:var(--brand);text-decoration:none}
.app-inst{margin:26px 0}.app-inst h2{margin-top:0}.app-inst p{margin:10px 0 0}
@media(display-mode:standalone){.announce{display:none}}
.art .sh-out .sh-none{color:#C9D8DC}
.ab-more{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 0}.ab-more[hidden],[hidden].btn{display:none}
.sh-hours{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.15)}.sh-hours h4{color:#fff;font-size:18px;margin-bottom:8px}.sh-hours p{color:#C9D8DC;font-size:15px;margin:8px 0 0}.sh-hours .sh-fine{font-size:12.5px}
.sh-bars{display:grid;grid-template-columns:repeat(17,1fr);gap:3px;align-items:end;height:110px}.sh-bar{display:flex;flex-direction:column;justify-content:flex-end;height:100%;position:relative}
.sh-bar i{display:block;background:var(--gold,#F5B72E);border-radius:4px 4px 0 0;min-height:0}.sh-bar small{position:absolute;bottom:-18px;left:0;font-size:10.5px;color:#C9D8DC;white-space:nowrap}.sh-bars{margin-bottom:20px}
.tour-ctl{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.tour-tog{display:flex;gap:6px;align-items:center;font-weight:700;font-size:15px}.tour-tog input{width:20px;height:20px}
#st-tour-msg{font-weight:700;color:var(--brand)}
#tourmap,#stmap{position:relative}#tourmap{height:380px;border-radius:var(--r);margin:14px 0 6px;border:1px solid var(--line);z-index:0}@media(max-width:600px){#tourmap{height:300px}}
.tour-list{list-style:none;margin:18px 0;padding:0}.tstop{border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin:0 0 12px;background:#fff;scroll-margin-top:90px}
.tstop h3{font-size:22px;display:flex;gap:10px;align-items:center}.tstop .tn{flex:none;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;font:800 15px var(--fu);display:grid;place-items:center}
.tstop .tad{color:var(--muted);font-weight:700;font-size:13.5px}.tstop p{margin:8px 0 10px}.tbtns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.tlink{font-weight:700;font-size:14px}
.tstop.here{border-color:var(--cta);box-shadow:0 0 0 3px var(--rose)}.tstop.done .tn{background:var(--muted)}.tstop.done h3::after{content:"Visited";font:700 12px var(--fu);color:var(--muted);margin-left:auto}
.chk{list-style:none;padding:0;margin:8px 0 18px}.chk li{border-bottom:1px solid var(--line);padding:10px 0}.chk label{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.chk input{flex:none;width:22px;height:22px;margin-top:3px;accent-color:var(--brand)}.chk input:checked+span{color:var(--muted);text-decoration:line-through}
.st-locate{position:absolute;z-index:500;right:10px;bottom:10px;font:800 14px var(--fu);background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:9px 14px;box-shadow:var(--shadow);cursor:pointer;min-height:40px}.st-locate.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.st-me{width:18px;height:18px;border-radius:50%;background:#1A73E8;border:3px solid #fff;box-shadow:0 0 0 2px rgba(26,115,232,.35)}
.st-maptip{position:absolute;z-index:500;left:10px;bottom:10px;right:150px;background:#fff;border-radius:12px;padding:6px 10px;font-size:13px;font-weight:700;box-shadow:var(--shadow)}.st-maptip:empty{display:none}

.hrows .hrow{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;align-items:start;margin-bottom:22px}
.hrows .hcard{flex-direction:row}
.hrows .hph{aspect-ratio:auto;flex:0 0 38%;min-height:100%}
.hside{display:flex;flex-direction:column;gap:10px}
.hside h4{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin:4px 0 0}
.hrel{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:8px;color:var(--ink)}
.hrel:hover{text-decoration:none;border-color:var(--brand)}
.hrel img{width:64px;height:64px;object-fit:cover;border-radius:6px;flex:0 0 64px}
.hrel b{display:block;font-size:15px;line-height:1.25}
.hrel small{display:block;font-size:13px;color:var(--ink2);margin-top:2px}
@media(max-width:800px){.hrows .hrow{grid-template-columns:1fr;gap:10px;margin-bottom:30px}.hrows .hcard{flex-direction:column}.hrows .hph{aspect-ratio:16/10;flex:none}}

.tblw{overflow-x:auto;margin:14px 0}.tblw .tbl{min-width:520px}
.note.chk h3{margin:0 0 6px}.note.chk ul{margin:8px 0 0 18px}
details.srcs{margin:20px 0}details.srcs ol{margin:10px 0 0 20px;font-size:14px}details.srcs li{margin:4px 0;word-break:break-word}
.feat{margin:30px 0}.feat-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.fcard{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;color:var(--ink)}
.fcard:hover{text-decoration:none;border-color:var(--brand)}.fcard b{font-size:16px;line-height:1.3}.fcard p{font-size:14px;color:var(--ink2);flex:1;margin:0}

.hside .hbk-h{margin-top:10px}
.house{display:flex;width:100%;height:100%;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-align:left}
.house img{object-fit:cover;display:block}.house b{display:block;font-size:15px;line-height:1.25}.house small{display:block;color:var(--ink2);font-size:12.5px;line-height:1.35;margin-top:3px}.house-r .btn{font-size:13px;padding:7px 14px}
.house-l{align-items:center;gap:12px;padding-right:12px}.house-l img{width:120px;height:100%;flex:none}.house-l .house-c{flex:1;min-width:0}.house-l .btn{flex:none}
.house-r{flex-direction:column}.house-r img{width:100%;height:44%;flex:none}.house-r .house-c{padding:10px 14px 12px;display:flex;flex-direction:column;gap:2px;flex:1}.house-r .btn{margin-top:auto;align-self:flex-start}
.ad-tall .house-r img{height:60%}.ad-tall .house b{font-size:18px}.house:hover b{text-decoration:underline}
@media(max-width:640px){.house-l small{display:none}.house-l .btn{display:none}.house-l img{width:90px}}
/* "How long are you in port?" boxes: lighter, more translucent so the photo shows through (Oct 18, 2026) */
.time-box{background:linear-gradient(180deg,rgba(11,47,58,.40),rgba(11,47,58,.28));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.rail .box.tb-rail.ph-tile{background-image:linear-gradient(170deg,rgba(11,47,58,.55),rgba(11,47,58,.35) 60%,rgba(11,47,58,.55)),var(--ph)!important}
.time-box .tb-o,.tb-rail .tb-o{background:rgba(11,47,58,.30);border-color:rgba(255,255,255,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.time-box .tb-h h2,.time-box .tb-h span,.tb-rail h4,.tb-o b,.tb-o small{text-shadow:0 1px 3px rgba(0,0,0,.55)}
.tb-o small{color:#EAF5F7}
.tb-o:hover b,.tb-o:hover small,.tb-o:focus-visible b,.tb-o:focus-visible small{text-shadow:none}
/* photo on top of port listing tiles, Further reading cards and app shortcuts (Oct 18, 2026) */
.pl-ph{padding-top:0;overflow:hidden}.pl-ph .px{display:block;width:calc(100% + 66px);max-width:none;height:150px;object-fit:cover;margin:0 -50px 12px -16px}
.pl-ph::after{top:108px;z-index:1}
.fc-ph{padding-top:0;overflow:hidden}.fc-ph .px{display:block;width:calc(100% + 32px);max-width:none;height:140px;object-fit:cover;margin:0 -16px 6px}
.app-go a{overflow:hidden}.app-go a .px{display:block;width:calc(100% + 32px);max-width:none;height:96px;object-fit:cover;margin:-14px -16px 10px}
/* house ads sit inside a visible ad frame so each ad unit is easy to see (Oct 18, 2026) */
.ad-box.hb{position:relative;padding:6px;align-items:stretch;justify-content:stretch}.ad-box.hb .house{border:0;border-radius:8px}
.hb-sz{position:absolute;right:8px;bottom:-18px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ad-hb-pad{margin-bottom:34px}.ad:has(.hb){margin-bottom:34px}
.anchor .ad-box.hb{padding:4px}.anchor .hb-sz{display:none}.anchor .house-l img{width:90px}
/* video player: click to play, pre-roll first, docks to the corner while playing (Oct 18, 2026) */
.vp{margin:0 0 18px}.vbox{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--navy)}
.vbox video,.vbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.vstart{position:absolute;inset:0;width:100%;border:0;padding:0;cursor:pointer;background:var(--navy) center/cover no-repeat}
.vstart::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,47,58,.05),rgba(11,47,58,.45))}
.vplay{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--cta);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.vplay::after{content:"";position:absolute;left:31px;top:24px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent #fff}
.vstart:hover .vplay{transform:scale(1.06)}.vlen{position:absolute;left:14px;bottom:12px;background:rgba(11,47,58,.8);color:#fff;font-weight:800;font-size:13px;padding:4px 10px;border-radius:999px}
.vp-ad{position:absolute;inset:0;z-index:3;background:#000}.vp-ad video{position:absolute;inset:0;width:100%;height:100%}
.vp-lbl{position:absolute;left:10px;top:10px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:6px}
.vp-cta{position:absolute;left:10px;bottom:12px;background:var(--cta);color:#fff;font-weight:800;font-size:13px;padding:7px 12px;border-radius:999px}
.vp-skip{position:absolute;right:10px;bottom:12px;background:rgba(0,0,0,.7);color:#fff;border:1px solid rgba(255,255,255,.5);font-weight:800;font-size:13px;padding:7px 12px;border-radius:8px;cursor:pointer}.vp-skip:disabled{cursor:default;opacity:.85}
.vbox.docked{position:fixed;right:16px;bottom:84px;width:min(360px,calc(100vw - 32px));z-index:70;box-shadow:0 12px 40px rgba(0,0,0,.35);aspect-ratio:16/9}
.vundock{position:fixed;z-index:71;right:12px;bottom:calc(84px + min(360px,calc(100vw - 32px))*9/16 - 14px);width:30px;height:30px;border-radius:50%;border:0;background:#fff;color:var(--navy);font-size:20px;line-height:30px;box-shadow:var(--shadow);cursor:pointer}
.vtx{margin-top:10px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:#fff}.vtx summary{cursor:pointer;font-weight:800}.vtx p{font-size:14.5px;margin:8px 0 0;color:var(--ink2)}
.vdummy{display:none}
/* room for the Videos tab in the top menu */
@media(min-width:1201px) and (max-width:1400px){.nav>a,.dd>a{padding:10px 8px;font-size:15px}}
@media(min-width:981px) and (max-width:1200px){.nav>a,.dd>a{padding:9px 5px;font-size:13.5px}}
@media(min-width:981px) and (max-width:1100px){.nav>a,.dd>a{padding:8px 3px;font-size:12.5px}.logo-word{font-size:20px}.hdr-cta{padding-inline:10px;font-size:12.5px}}
/* Advertise page */
.adv-in{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start}.adv-in p{color:var(--ink2);margin-top:10px;max-width:68ch}
.adv-stats{background:var(--sand);border-radius:14px;padding:12px 16px;color:#7A5A12!important;font-size:15px}
.adv-ct h4{margin-bottom:6px}.adv-ct p{font-size:15px;margin:6px 0 12px}.adv-ct a:not(.btn){font-weight:800;word-break:break-all}
.adts{align-items:stretch}.adt{display:flex;flex-direction:column;gap:10px}.adt h3{font-size:20px;line-height:1.2}
.adt-p b{font:400 32px var(--fd);color:var(--gold)}.adt-p span{font-size:13px;color:var(--tb-soft)}
.adt p{font-size:14.5px;margin:0}.adt ul{margin:0;padding-left:18px;font-size:14px;display:grid;gap:4px}.adt .btn{margin-top:auto;align-self:flex-start}
.adv-rules{padding-left:20px;display:grid;gap:6px;color:var(--ink2);margin-top:10px}
.adq-w{margin-top:44px;padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;scroll-margin-top:90px}.adq-w>p{color:var(--ink2);margin:6px 0 16px}
.adq{display:grid;gap:16px;scroll-margin-top:90px}.adq-g{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.adq label{display:grid;gap:5px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.adq label small,.adq legend small{text-transform:none;letter-spacing:0;font-weight:600}
.adq input,.adq select,.adq textarea{padding:11px 14px;border:1px solid var(--line);border-radius:12px;font:600 16px var(--fu);color:var(--ink);background:#fff;text-transform:none;letter-spacing:0;width:100%;box-sizing:border-box}
.adq fieldset{border:0;padding:0;margin:0}.adq legend{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.adq-cks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.adq label.adq-ck{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:15px;font-weight:600;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer}
.adq label.adq-ck input{width:auto}.adq label.adq-ck:has(input:checked){border-color:var(--brand);background:var(--sand)}
.adq-go{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.adq-alt{font-size:14px;color:var(--ink2)}
.adq-out{background:var(--sand);border-radius:14px;padding:12px 16px;font-size:14.5px}.adq-out pre{white-space:pre-wrap;font-size:13.5px;margin:8px 0 0}
@media(max-width:900px){.adv-in{grid-template-columns:1fr}.adq-cks{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.adq-g,.adq-cks{grid-template-columns:1fr}.adq-w{padding:18px}}
.tblw .tbl.adv-spec{min-width:0}
.wrap.sec{padding-inline:28px}@media(max-width:600px){.wrap.sec{padding-inline:16px}}
/* Paid listings */
.spon.sp-paid{background:var(--gold);color:var(--navy)}
.card.is-sp{box-shadow:0 0 0 2px var(--gold)}
.tag.ft{background:var(--sand);color:#7A5A12}
.sp-note{background:var(--sand);border-radius:14px;padding:12px 16px;font-size:14.5px;color:#7A5A12;margin:0 0 16px}
.adv-vs{margin-top:18px;background:var(--sand);border-radius:14px;padding:14px 18px;color:#7A5A12;font-size:15px;max-width:none}
/* 3D walking map on /walking-map/ (the map itself lives in assets/map3d/ and loads in this frame) */
.m3d-wrap{margin-top:18px}.m3d{position:relative;height:min(78vh,760px);min-height:480px;border-radius:var(--r,18px);overflow:hidden;box-shadow:var(--shadow);background:#cfe3ec}.m3d iframe{display:block;width:100%;height:100%;border:0}.m3d .st-fsb{top:auto;bottom:16px;right:16px}.m3d-wrap .disc{margin-top:10px}
@media(max-width:760px){.m3d{height:72vh;height:72svh;min-height:420px;border-radius:12px}.m3d .st-fsb{top:10px;bottom:auto;right:10px;padding:7px 12px;font-size:13px}}
/* History rows: the article tile and the places/books column are the same height, so neither leaves empty space */
.hrows .hrow{align-items:stretch}.hrows .hbd{display:flex;flex-direction:column}.hrows .hgo{margin-top:auto;padding-top:8px}.hrows .hside .hrel{flex:1 1 auto}
/* room for the "Saved" label in the top menu */
@media(min-width:1201px) and (max-width:1400px){.nav>a,.dd>a{padding-inline:7px}}
@media(min-width:1401px) and (max-width:1600px){.nav>a,.dd>a{padding-inline:9px}}
@media(min-width:1201px) and (max-width:1279px){.nav>a,.dd>a{padding-inline:5px}}
.bf{margin:8px 0 34px}.bf h2{font-size:30px;margin-bottom:14px}
.bf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bf-c{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}
.bf-c h3{font-size:21px;margin-bottom:4px}.bf-c p{margin:0 0 8px;font-size:14.5px;color:var(--ink2)}
.bf-c ul{list-style:none;margin:0;padding:0}.bf-c li{padding:7px 0;border-top:1px solid var(--line);font-size:15px;font-weight:700;line-height:1.35}
.bf-c li small{display:block;font-weight:500;color:var(--muted);font-size:13px}
@media(max-width:900px){.bf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.bf-grid{grid-template-columns:1fr}}
.faq{margin:30px 0 8px}.faq h2{font-size:28px;margin-bottom:6px}
.faq details{margin:0;padding:12px 0;border-top:1px solid var(--line);font-size:15.5px}.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-size:16px}.faq details p{margin:8px 0 0;color:var(--ink2)}
.tr-card[hidden]{display:none!important}
.shl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.shl-r{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 16px;color:var(--ink)}
.shl-r:hover{border-color:var(--brand);text-decoration:none}.shl-r b{font-size:16.5px;color:var(--brand)}.shl-r span{font-size:14px;color:var(--ink2)}
.shd{margin:12px 0 18px;border-top:1px solid var(--line)}
.shd-r{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,1.3fr);gap:4px 14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.shd-r span{color:var(--ink2)}
@media(max-width:700px){.shl{grid-template-columns:1fr}.shd-r{grid-template-columns:1fr}}
.pp{max-width:880px;padding-top:6px;padding-bottom:40px}.pp-h{font-size:40px;margin:8px 0 6px}
.pp-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:16px 0;padding:14px 16px;background:var(--surface);border-radius:14px}
.pp-form label{display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:4px;color:var(--ink2)}
.pp-form select,.pp-form input{font:inherit;font-size:15px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);max-width:100%}
.pp-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.pp-top h2{margin:0}.pp-top p{margin:2px 0 0;color:var(--ink2)}
@media print{
 .announce,.hdr,footer,#anchor,.ad,.rail,.crumbs,.nl,.sec:has(.nl),.pp-form,.pp-btn,#hero,.aff,.partners{display:none!important}
 body{background:#fff;font-size:12pt}.pp{max-width:none;padding:0}.pp-h{font-size:22pt}
 .pp a{color:inherit;text-decoration:none}.steps li,.facts div{break-inside:avoid}
 .pp-mh{break-before:auto}.pp [data-st-map]{max-height:4.5in;overflow:hidden}
 .pp .steps li,.pp .facts div{background:#fff!important;border:1px solid #bbb!important;box-shadow:none!important}
 .pp .steps li *,.pp .facts div,.pp .facts div *{color:#111!important}.pp .facts b{color:#555!important}
 @page{size:letter;margin:.5in}
}
.ill{margin:0}.ill figcaption{font-size:12.5px;color:var(--muted);margin:6px 2px 0}
.vcard .ph{aspect-ratio:16/9}
