*{box-sizing:border-box}html{scroll-padding-top:100px}body{overflow-wrap:break-word}a,button,input,select,textarea,summary{touch-action:manipulation}button,select,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bf5300;outline-offset:4px}.skip-link{position:fixed;left:10px;top:-100px;z-index:999;background:#fff;color:#13253f;padding:14px}.skip-link:focus{top:10px}.planner-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.planner label{display:block;font-weight:700}.planner input:not([type=checkbox]),.planner textarea{display:block;width:100%;padding:12px;border:1px solid var(--muted);border-radius:8px;background:var(--card);color:var(--ink)}.planner .full{grid-column:1/-1}.planner fieldset{border:1px solid var(--line);padding:16px;border-radius:10px;margin:18px 0}.planner .check{display:flex;align-items:flex-start;gap:10px;padding:10px 0;font-weight:400}.check input{width:20px;height:20px;flex-shrink:0}.planner-actions,.extra-filters{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0;align-items:center}.planner-actions button,.extra-filters button,.save-port{border:1px solid var(--blue);border-radius:8px;background:var(--card);color:var(--ink);padding:10px 16px;min-height:44px}.extra-filters select{padding:10px;background:var(--card);color:var(--ink)}.guide{padding-top:36px;padding-bottom:48px;max-width:1000px}.directory{columns:2;line-height:2}.directory li{break-inside:avoid}.nav nav{flex-wrap:wrap;gap:12px}.save-port{margin:14px 0}.psec{scroll-margin-top:100px}footer nav{line-height:2}footer a{color:#fff}.note{line-height:1.6}#day-planner [data-time-warning]{color:var(--ink);font-weight:800}.btn-orange{color:#13253f!important}.toc a{display:block;padding:5px 0} @media(max-width:760px){.nav .wrap{flex-wrap:wrap}.nav nav .hide-sm{display:inline}.nav nav{font-size:14px}.planner-fields{grid-template-columns:1fr}.directory{columns:1}.guide{padding-left:20px;padding-right:20px}.nav{position:relative!important}.side{position:static!important}html{scroll-padding-top:20px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{header,footer,.side,.home-strip,.skip-link,.planner-actions,.save-port{display:none!important}.layout,.port-layout{display:block!important}.planner{break-before:page}body{color:#000!important;background:#fff!important}input,textarea{color:#000!important;background:#fff!important}.wrap{max-width:none!important}.psec{break-inside:avoid}a{color:#000!important}}
.access-tools{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;padding:8px 16px;background:var(--bg-alt);color:var(--ink);font-size:14px}.access-tools button{padding:8px 12px;border:1px solid var(--muted);border-radius:6px;color:var(--ink);background:var(--card);min-height:44px}.access-tools button[aria-pressed=true]{outline:2px solid var(--ink)}html.large-text body{font-size:20px}html.large-text p,html.large-text li,html.large-text label,html.large-text input,html.large-text textarea{font-size:1.15em!important}html.high-contrast{--bg:#fff;--bg-alt:#fff;--card:#fff;--ink:#000;--muted:#222;--line:#555;--blue:#003c85;--orange:#b54700;--blue-deep:#001f4c;color-scheme:light}html.high-contrast .hero,html.high-contrast .p-hero,html.high-contrast footer{background:#001f4c!important;color:#fff}html.high-contrast a:not(.btn){text-decoration:underline}html.high-contrast .region,html.high-contrast .band{background:#003c85!important}@media print{.access-tools{display:none!important}}

.destination-photo{margin:0 0 28px}.destination-photo img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:16px}.destination-photo figcaption{font-size:13px;line-height:1.6;color:var(--muted);padding:10px 2px}.port .photo-band{height:180px;padding:0;overflow:hidden}.photo-band img{width:100%;height:100%;object-fit:cover}.photo-credit-note{font-size:14px}@media print{.destination-photo{max-width:500px}.destination-photo img{max-height:220px}}

.destination-photo{margin:0 0 28px}.destination-photo img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:16px}.destination-photo figcaption{font-size:13px;line-height:1.6;color:var(--muted);padding:10px 2px}.port .photo-band{height:180px;padding:0;overflow:hidden}.photo-band img{width:100%;height:100%;object-fit:cover}.photo-credit-note{font-size:14px}@media print{.destination-photo{max-width:500px}.destination-photo img{max-height:220px}}

/* researched port access */
.access-experiences{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem}.access-experience{border:1px solid currentColor;border-radius:12px;padding:1rem}.access-experience h4{font-size:1.12rem;margin:0 0 .65rem}.access-experience p:last-child{margin-bottom:0}.researched-access a{overflow-wrap:anywhere}

/* cruise-line pier tables */
.pier-accent{color:var(--blue)}.pier-table-wrap{border:1px solid var(--line);border-radius:18px;overflow-x:auto;background:var(--card);margin-top:1.25rem;overscroll-behavior-inline:contain}.pier-table{width:100%;min-width:570px;border-collapse:collapse}.pier-table caption{caption-side:top;text-align:center;padding:.65rem 1rem;color:var(--muted);font-size:.95rem;line-height:1.45}.pier-table thead th{background:var(--bg-alt);color:var(--muted);font-size:.82rem;letter-spacing:.025em;text-transform:uppercase;vertical-align:middle}.pier-table th,.pier-table td{text-align:left;padding:1.1rem 1.2rem;border-bottom:1px solid var(--line);vertical-align:middle;white-space:normal}.pier-table tbody th{font-size:1rem;font-weight:700;color:var(--ink);background:transparent;width:31%}.pier-table td:nth-child(2){width:48%}.pier-table td:last-child{width:21%}.pier-table tbody tr:last-child>*{border-bottom:0}.pier-table a{text-underline-offset:4px;overflow-wrap:anywhere}.pier-table .dk{display:inline-block;white-space:normal;line-height:1.4}.pier-table-wrap:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.pier-data-status{margin-top:1rem}@media(max-width:600px){.pier-table th,.pier-table td{padding:.9rem}.pier-table caption{text-align:left}.pier-table-wrap{max-width:100%}}@media print{.pier-table-wrap{overflow:visible}.pier-table{min-width:0}.pier-table th,.pier-table td{padding:.5rem}}

/* pier row labels and status contrast */
.pier-table tbody th{text-transform:none;letter-spacing:normal}.pier-table .dk.d{background:#e8f5ef;color:#13783c}.pier-table .dk.t{background:#fff0db;color:#8b4800}
