
:root {
  --display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ink:#17262B; --ink-soft:#3F4F52; --slate:#4A5A5C;
  --paper:#F5F0E4; --paper-2:#ECE4D2; --surface:#FBF8F0; --surface-2:#F1EADA; --line:#D8CDB4;
  --brand:#08666F; --brand-deep:#064B54; --brand-ink:#FFFFFF;
  --accent:#D9A400; --accent-deep:#F0BE1E; --accent-hover:#FFD23F; --accent-ink:#1B2A12;
  --sea:#1E8E9C; --sea-deep:#064B54;
  --olive:#4F6A24; --footer:#0C3A41; --inverse:#0C3A41; --inverse-ink:#F5F0E4;
  --footer-ink:#D6E6E4; --footer-link:#F5F0E4; --footer-mute:#A9C6C6; --footer-line:#1C5560;
  --focus:#08666F;
  --lgb-land:#EFE7D3; --lgb-lake:#8CCBD3; --lgb-coast:#1E8E9C; --lgb-offbg:#4F6A24; --lgb-offfg:#FFFFFF;
  --lgb-pin:#F0BE1E; --lgb-pinfg:#1B2A12;
  --radius: 14px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ink:#F2EEDC; --ink-soft:#C6D2CF; --slate:#ADBDBA;
    --paper:#0F262B; --paper-2:#153339; --surface:#1A3B42; --surface-2:#143036; --line:#32575E;
    --brand:#6FC2CE; --brand-deep:#9EDDE6; --brand-ink:#0A2226;
    --accent:#F2C94C; --accent-deep:#F2C94C; --accent-hover:#FFE08A; --accent-ink:#1F2A10;
    --sea:#7FB6C0; --olive:#9CC271; --footer:#08191D; --inverse:#08191D;
    --focus:#F2C94C;
    --lgb-land:#16333A; --lgb-lake:#2B6F7C; --lgb-coast:#6FC2CE; --lgb-offbg:#9CC271; --lgb-offfg:#10200A;
  }
}
:root[data-theme="dark"] {
  --ink:#F2EEDC; --ink-soft:#C6D2CF; --slate:#ADBDBA;
  --paper:#0F262B; --paper-2:#153339; --surface:#1A3B42; --surface-2:#143036; --line:#32575E;
  --brand:#6FC2CE; --brand-deep:#9EDDE6; --brand-ink:#0A2226;
  --accent:#F2C94C; --accent-deep:#F2C94C; --accent-hover:#FFE08A; --accent-ink:#1F2A10;
  --sea:#7FB6C0; --olive:#9CC271; --footer:#08191D; --inverse:#08191D;
  --focus:#F2C94C;
  --lgb-land:#16333A; --lgb-lake:#2B6F7C; --lgb-coast:#6FC2CE; --lgb-offbg:#9CC271; --lgb-offfg:#10200A;
}

.band-paper,main>section.section:not([class*="band-"]):nth-of-type(5n+1){--band-bg:#F5F0E4;--band-fg:#17262B;--band-muted:#3F4F52;--band-line:#D8CDB4;--band-link:#08666F;--band-link-hover:#064B54;--band-surface:#FBF8F0;--band-rule:#1E8E9C;--band-cta-bg:#F0BE1E;--band-cta-fg:#1B2A12}
.band-tint,main>section.section:not([class*="band-"]):nth-of-type(5n+2){--band-bg:#ECE4D2;--band-fg:#17262B;--band-muted:#3F4F52;--band-line:#D2C6A8;--band-link:#08666F;--band-link-hover:#064B54;--band-surface:#FBF8F0;--band-rule:#1E8E9C;--band-cta-bg:#F0BE1E;--band-cta-fg:#1B2A12}
.band-wash,main>section.section:not([class*="band-"]):nth-of-type(5n+3){--band-bg:#E6ECDD;--band-fg:#17262B;--band-muted:#3F4F52;--band-line:#CBD6BE;--band-link:#08666F;--band-link-hover:#064B54;--band-surface:#FBF8F0;--band-rule:#1E8E9C;--band-cta-bg:#F0BE1E;--band-cta-fg:#1B2A12;--surface:#FBF8F0}
.band-edge,main>section.section:not([class*="band-"]):nth-of-type(5n+4){--band-bg:#FBF8F0;--band-fg:#17262B;--band-muted:#3F4F52;--band-line:#D8CDB4;--band-link:#08666F;--band-link-hover:#064B54;--band-surface:#F5F0E4;--band-rule:#1E8E9C;--band-cta-bg:#F0BE1E;--band-cta-fg:#1B2A12}
.band-inverse,main>section.section:not([class*="band-"]):nth-of-type(5n+5){--band-bg:#0C3A41;--band-fg:#F5F0E4;--band-muted:#C6D9D6;--band-line:#2B5F68;--band-link:#8FD8E4;--band-link-hover:#BDEAF1;--band-surface:#16505B;--band-rule:#8FD8E4;--band-cta-bg:#F0BE1E;--band-cta-fg:#1B2A12;--ink:#F5F0E4;--ink-soft:#C6D9D6;--slate:#C6D9D6}

h1,h2,h3 { font-family: var(--display); font-weight: 700; letter-spacing: -.012em; }
h4 { font-family: var(--display); font-weight: 700; margin: 0 0 .4rem; }
h2 { margin-top: var(--s5); }
.section { padding-block: var(--s5); }
.btn-primary { background: var(--accent-deep); color: var(--accent-ink); box-shadow: inset 0 -2px 0 color-mix(in srgb, #000 16%, transparent); }
.btn-primary:hover { background: var(--accent-hover); color: var(--accent-ink); }
.btn-ghost { border-color: var(--brand); color: var(--brand); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.sticky-cta { display:none !important; }
.cmp-table th:first-child, .cmp-table td:first-child, .cmp-table thead th:first-child { position: static; box-shadow: none; }
.matrix-table thead th, .tour-explorer thead th { position: static; }
.band-inverse .btn-primary, .lgb-foot .btn-primary { color: var(--accent-ink); }

.site-header.lgb-head { background: var(--paper); backdrop-filter: none; border-bottom: 0; box-shadow: 0 2px 0 var(--brand), 0 6px 18px color-mix(in srgb, var(--ink) 8%, transparent); }
.lgb-head-in { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:64px; }
.lgb-word { display:inline-flex; align-items:center; gap:.6rem; text-decoration:none; font-family:var(--display); font-weight:700; font-size:1.28rem; color:var(--ink); letter-spacing:-.01em; min-height:44px; }
.lgb-word b { font-weight:700; color:var(--brand); font-style:italic; }
.lgb-bollard { flex:none; color:var(--brand); }
.lgb-bollard path { fill:currentColor; }
.lgb-bollard .lgb-bollard-w { fill:none; stroke:var(--accent); stroke-width:2.4; stroke-linecap:round; }
.lgb-nav .nav-links { gap:.2rem; }
.lgb-nav .nav-links a { color:var(--ink); font-weight:600; font-size:.98rem; padding:.45rem .85rem; border-radius:999px; min-height:44px; }
.lgb-nav .nav-links a:hover { background:var(--paper-2); color:var(--brand-deep); }
.lgb-nav .nav-links a.btn { background:var(--accent-deep); color:var(--accent-ink); margin-left:.4rem; padding:.45rem 1.1rem; }
.lgb-nav .nav-links a.btn:hover { background:var(--accent-hover); }
.lgb-burger { display:none; align-items:center; gap:.5rem; background:var(--paper-2); border:1.5px solid var(--brand); color:var(--brand-deep); font:700 .95rem var(--body); border-radius:999px; padding:0 .95rem; min-height:44px; cursor:pointer; }
.lgb-burger svg { stroke:currentColor; stroke-width:2.2; fill:none; stroke-linecap:round; }
@media (max-width: 960px) {
  .lgb-burger { display:inline-flex; }
  .lgb-nav { position:absolute; left:0; right:0; top:100%; }
  .lgb-nav .nav-links { position:static; display:none; flex-direction:column; align-items:stretch; gap:0; padding:.4rem 1rem 1.1rem; background:var(--paper); border-bottom:3px solid var(--brand); box-shadow:0 18px 30px color-mix(in srgb, var(--ink) 18%, transparent); width:100%; max-height:calc(100vh - 64px); overflow:auto; }
  .lgb-nav .nav-links[data-open="true"] { display:flex; }
  .lgb-nav .nav-links li { border-bottom:1px solid var(--line); }
  .lgb-nav .nav-links li:last-child { border:0; padding-top:.8rem; }
  .lgb-nav .nav-links a { font-size:1.1rem; border-radius:0; padding:.7rem .2rem; min-height:48px; width:100%; }
  .lgb-nav .nav-links a.btn { margin:0; justify-content:center; border-radius:999px; }
}
@media (max-width: 380px) { .lgb-word { font-size:1.05rem; } .lgb-burger-t { display:none; } }

.site-footer.lgb-foot { background:var(--footer); color:var(--footer-ink); margin-top:var(--s6); padding:0; border-top:6px solid var(--brand); }
.lgb-foot a { color:var(--footer-link); }
.lgb-foot-top { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; gap:1.6rem; padding-block:2.2rem 1.6rem; border-bottom:1px solid var(--footer-line); }
.lgb-foot-word { font-family:var(--display); font-size:1.6rem; font-weight:700; text-decoration:none; color:var(--footer-link); }
.lgb-foot-word b { font-style:italic; color:#F0BE1E; font-weight:700; }
.lgb-foot-blurb { color:var(--footer-ink); max-width:46ch; margin:.6rem 0; }
.lgb-foot .footer-h { color:var(--footer-link); font-family:var(--display); font-size:1.05rem; margin:0 0 .6rem; letter-spacing:.01em; }
.lgb-foot-board { display:grid; grid-template-columns:1.6fr 1fr; gap:2rem; padding-block:1.8rem; }
.lgb-foot-board ul { list-style:none; margin:0; padding:0; display:grid; gap:0; }
.lgb-foot-trips ul { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1.4rem; }
.lgb-foot-board li { border-bottom:1px dashed var(--footer-line); }
.lgb-foot-board li a { width:100%; justify-content:space-between; min-height:44px; }
.lgb-foot-board li a::after { content:"\2192"; color:#F0BE1E; }
@media (max-width:760px) { .lgb-foot-board { grid-template-columns:1fr; } .lgb-foot-trips ul { grid-template-columns:1fr; } }
.lgb-foot-disc { border-top:1px solid var(--footer-line); padding-block:1.4rem 2rem; color:var(--footer-ink); font-size:.9rem; }
.lgb-foot-disc a { text-decoration:underline; }
.lgb-foot .lgb-foot-soc .socials { display:flex; gap:.6rem; flex-wrap:wrap; }
.lgb-foot .socials a.sx-link.sx-link { width:46px; height:46px; border-radius:50% 50% 50% 8px; background:color-mix(in srgb, #F0BE1E 16%, transparent); color:#F0BE1E; border:1.5px solid color-mix(in srgb, #F0BE1E 55%, transparent); display:inline-flex; align-items:center; justify-content:center; opacity:1; }
.lgb-foot .socials a.sx-link.sx-link:hover, .lgb-foot .socials a.sx-link.sx-link:focus-visible { background:#F0BE1E; color:#1B2A12; }
.lgb-foot .socials .sx-ico { width:21px; height:21px; fill:currentColor; }

.lgb-hero { background: var(--paper); padding-block: 1.6rem 1.2rem; border-bottom: 1px solid var(--line); }
.lgb-hero-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:2.2rem; align-items:center; }
.lgb-hero h1 { font-size:clamp(2.3rem, 1.5rem + 3.2vw, 4rem); margin:0 0 .7rem; line-height:1.02; }
.lgb-hero .lede { font-size:1.06rem; line-height:1.6; max-width:none; margin:0 0 1rem; color:var(--ink-soft); }
.lgb-chips { list-style:none; margin:0 0 1rem; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.6rem; }
.lgb-chips li { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:.6rem .7rem; display:flex; flex-direction:column; }
.lgb-chips b { font-family:var(--display); font-size:1.5rem; line-height:1.1; color:var(--brand-deep); }
.lgb-chips span { font-size:.82rem; line-height:1.25; color:var(--ink-soft); }
.lgb-boardh { font:700 .78rem var(--body); letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin:0 0 .4rem; }
.lgb-board { list-style:none; margin:0 0 1.1rem; padding:0; display:flex; flex-wrap:wrap; gap:.4rem; }
.lgb-board li { display:inline-flex; align-items:center; gap:.45rem; background:var(--paper-2); border:1px solid var(--line); border-radius:8px; padding:.25rem .3rem .25rem .6rem; font-size:.9rem; font-weight:600; }
.lgb-board b { background:var(--accent-deep); color:var(--accent-ink); border-radius:6px; min-width:1.6rem; text-align:center; padding:.05rem .3rem; font-family:var(--body); }
.lgb-cta { display:flex; flex-wrap:wrap; gap:.7rem; margin:0; max-width:none; }
.lgb-herofig { margin:0; }
.lgb-herofig .lgb-map { max-height:600px; }
.lgb-herofig figcaption { font-size:.84rem; line-height:1.4; color:var(--ink-soft); margin-top:.4rem; }
@media (max-width: 900px) {
  .lgb-hero-grid { grid-template-columns:1fr; gap:1.2rem; }
  .lgb-herofig { max-width:460px; margin-inline:auto; }
  .lgb-chips { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.hero-follow { padding-block:1.4rem 0; }
.hero-follow p { max-width:none; }

.lgb-svg { display:block; width:100%; height:auto; }
.lgb-svg text { font-family:var(--body); fill:var(--ink); }
.lgb-land { fill:var(--lgb-land); stroke:var(--line); stroke-width:1.5; }
.lgb-water path { fill:var(--lgb-lake); stroke:var(--lgb-coast); stroke-width:1.4; stroke-linejoin:round; }
.lgb-lead line { stroke:var(--ink-soft); stroke-width:1; }
.lgb-plabel { font-size:19px; font-weight:700; paint-order:stroke; stroke:var(--lgb-land); stroke-width:4px; stroke-linejoin:round; }
.lgb-pin circle { fill:var(--lgb-pin); stroke:#fff; stroke-width:2.5; }
.lgb-svg .lgb-pin text, .lgb-pin text { fill:var(--lgb-pinfg); font-size:17px; font-weight:800; }
.lgb-pin:hover circle, .lgb-pin:focus-visible circle { stroke-width:4; }
.lgb-off path { fill:var(--lgb-offbg); }
.lgb-svg .lgb-off text { fill:var(--lgb-offfg); }
.lgb-off-a { font-size:22px; font-weight:800; }
.lgb-off-b { font-size:18px; font-weight:600; }
.lgb-svg .lgb-north text { font-size:18px; font-weight:800; }
.lgb-north path { fill:var(--ink); }
.lgb-fig { margin:var(--s3) 0 var(--s4); background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:1rem 1.1rem .8rem; }
.lgb-fig figcaption, .lgb-photo figcaption { font-size:.86rem; line-height:1.45; color:var(--ink-soft); margin-top:.6rem; max-width:none; }
.lgb-svg .lgb-rowl { font-size:13.5px; font-weight:700; }
.lgb-svg .lgb-val { font-size:13.5px; font-weight:700; fill:var(--brand-deep); }
.lgb-svg .lgb-sub { font-size:13px; fill:var(--ink-soft); }
.lgb-svg .lgb-tick { font-size:12.5px; fill:var(--ink-soft); }
.lgb-svg .lgb-cap { font-size:14.5px; font-weight:700; }
.lgb-svg .lgb-rowl, .lgb-svg .lgb-val, .lgb-svg .lgb-sub, .lgb-svg .lgb-tick, .lgb-svg .lgb-cap { paint-order:stroke; stroke:var(--surface); stroke-width:4px; stroke-linejoin:round; }
.lgb-svg.lgb-w { max-width:640px; margin-inline:auto; }
.lgb-svg.lgb-n { display:none; max-width:420px; margin-inline:auto; }
@media (max-width:640px) { .lgb-svg.lgb-w { display:none; } .lgb-svg.lgb-n { display:block; } }
.lgb-fig .lgb-legend { justify-content:center; }
.lgb-grid { stroke:var(--line); stroke-width:1; }
.lgb-axis { stroke:var(--ink-soft); stroke-width:1.5; }
.lgb-track { fill:var(--paper-2); }
.lgb-bar { fill:var(--brand); }
.lgb-bar.is-a { fill:var(--brand); }
.lgb-bar.is-b { fill:var(--olive); }
.lgb-svg a:hover .lgb-bar { filter:brightness(1.12); }
.lgb-sun { fill:var(--lgb-pin); stroke:var(--lgb-pinfg); stroke-width:2; }
.lgb-ray { stroke:var(--accent); stroke-width:3; stroke-dasharray:2 7; stroke-linecap:round; }
.lgb-peler { fill:color-mix(in srgb, var(--brand) 28%, var(--surface)); stroke:var(--brand); stroke-width:1.5; }
.lgb-ora { fill:color-mix(in srgb, var(--accent-deep) 40%, var(--surface)); stroke:var(--accent); stroke-width:1.5; }
.lgb-arrow { fill:none; stroke:var(--ink); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.lgb-win.is-a { fill:var(--brand); }
.lgb-win.is-b { fill:var(--sea); }
.lgb-win.is-c { fill:var(--olive); }
.lgb-dot { fill:var(--brand); stroke:var(--surface); stroke-width:1.5; }
.lgb-dot.is-boat { fill:var(--accent-deep); stroke:var(--lgb-pinfg); }
.lgb-dot.is-open { fill:var(--surface); stroke:var(--brand); stroke-width:3; }
.lgb-legend { list-style:none; display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; padding:0; margin:.5rem 0 0; font-size:.88rem; }
.lgb-legend li { display:inline-flex; align-items:center; gap:.4rem; white-space:nowrap; }
.lgb-legend i.lgb-dot { display:inline-block; width:14px; height:14px; border-radius:50%; border:2px solid var(--brand); background:var(--brand); }
.lgb-legend i.lgb-dot.is-boat { background:var(--accent-deep); border-color:var(--lgb-pinfg); }
.lgb-legend i.lgb-dot.is-open { background:var(--surface); }

.lgb-basis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.9rem; margin:var(--s3) 0 var(--s4); }
.lgb-basis-c { background:var(--surface); border:1px solid var(--line); border-top:5px solid var(--brand); border-radius:var(--radius); padding:1rem 1.1rem; }
.lgb-basis-c:nth-child(2) { border-top-color:var(--accent-deep); }
.lgb-basis-c:nth-child(3) { border-top-color:var(--olive); }
.lgb-basis-c h4 { font-size:1.1rem; }
.lgb-people { height:34px; width:auto; max-width:100%; display:block; margin:.2rem 0 .5rem; fill:var(--brand); }
.lgb-people.is-split { fill:var(--ink-soft); }
.lgb-people.is-open { fill:none; stroke:var(--brand); stroke-width:2; }
.lgb-big { font-family:var(--display); font-size:2rem; font-weight:700; line-height:1; margin:0 0 .4rem; color:var(--ink); }
.lgb-sm { font-size:.92rem; line-height:1.45; margin:0; max-width:none; color:var(--ink-soft); }
@media (max-width:760px) { .lgb-basis { grid-template-columns:1fr; } }

.lgb-photo { margin:var(--s3) 0 var(--s4); }
.lgb-photo img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:var(--radius); max-height:420px; }
.lgb-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:1rem; margin:var(--s3) 0 var(--s4); align-items:center; }
.lgb-pair .lgb-photo, .lgb-pair .lgb-fig { margin:0; display:flex; flex-direction:column; }
.lgb-pair .lgb-photo img { flex:none; min-height:0; max-height:none; }
@media (max-width:820px) { .lgb-pair { grid-template-columns:1fr; } .lgb-pair .lgb-photo img { min-height:0; flex:none; } }

.lgb-vs { width:100%; border-collapse:collapse; font-size:.98rem; }
.lgb-vs th, .lgb-vs td { text-align:left; padding:.6rem .7rem; border-bottom:1px solid var(--line); vertical-align:top; }
.lgb-vs thead th { font-family:var(--display); font-size:1.08rem; border-bottom:3px solid var(--brand); }
.lgb-vs tbody th { font-weight:700; color:var(--ink-soft); width:22%; }
@media (max-width:640px) {
  .lgb-vs thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .lgb-vs, .lgb-vs tbody, .lgb-vs tr { display:block; width:100%; }
  .lgb-vs tr { border:1px solid var(--line); border-radius:12px; margin-bottom:.7rem; padding:.3rem 0; background:var(--surface-2); }
  .lgb-vs th, .lgb-vs td { display:block; border:0; padding:.2rem .8rem; width:auto; }
  .lgb-vs tbody th { padding-top:.5rem; font-size:.8rem; text-transform:uppercase; letter-spacing:.05em; }
  .lgb-vs td::before { content:attr(data-label) ": "; font-weight:700; color:var(--ink-soft); }
}

.lgb-mapfacade { margin-block:var(--s3); }
.lgb-facade-btn { position:relative; display:block; width:100%; padding:0; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; cursor:pointer; background:var(--paper-2); min-height:240px; }
.lgb-facade-btn img { width:100%; height:auto; aspect-ratio:900/560; object-fit:cover; max-height:460px; }
.lgb-facade-cta { position:absolute; left:50%; bottom:1.1rem; transform:translateX(-50%); background:var(--accent-deep); color:var(--accent-ink); font:700 1rem var(--display); padding:.8rem 1.5rem; border-radius:999px; min-height:48px; display:inline-flex; align-items:center; box-shadow:0 6px 18px rgba(0,0,0,.28); }
.lgb-mapfacade.is-live iframe { width:100%; height:420px; border:0; border-radius:var(--radius); }

.tour-tbl { width:100%; border-collapse:collapse; font-size:.92rem; background:var(--surface); border:1px solid var(--line); border-radius:12px; overflow:hidden; margin:var(--s3) 0; }
.tour-tbl th, .tour-tbl td { padding:.42rem .7rem; text-align:left; border-bottom:1px solid var(--line); line-height:1.3; }
.tour-tbl thead th { background:var(--paper-2); font:700 .78rem var(--body); text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft); position:static; }
.tour-tbl .num { text-align:right; white-space:nowrap; }
.tour-tbl td small { color:var(--ink-soft); font-size:.78rem; }
.tour-tbl tbody tr:nth-child(even) { background:var(--surface-2); }
.tour-tbl td a { padding-block:.5rem; margin-block:-.5rem; }
@media (max-width:640px) {
  .tour-tbl, .tour-tbl tbody { display:block; border:0; background:transparent; }
  .tour-tbl thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .tour-tbl tr { display:grid; grid-template-columns:1fr 1fr; gap:.1rem .8rem; padding:.55rem .8rem; margin-bottom:.45rem; background:var(--surface) !important; border:1px solid var(--line); border-radius:10px; }
  .tour-tbl td { display:block; border:0; padding:.1rem 0; text-align:left; font-size:.9rem; min-width:0; }
  .tour-tbl td:first-child { grid-column:1 / -1; font-weight:700; }
  .tour-tbl td:first-child::before { display:none; }
  .tour-tbl td::before { content:attr(data-label); display:block; font:700 .72rem var(--body); text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft); }
  .tour-tbl td.num { text-align:left; white-space:normal; }
}
.band-inverse .tour-tbl { background:var(--band-surface); }

.rule-h2 { border-bottom:3px solid var(--band-rule, var(--brand)); padding-bottom:.4rem; }
.section .wrap > p, .section .wrap > ul { max-width:none; }
@media (max-width:640px) { .section { padding-block:var(--s4); } }

.lgb-follow { margin-top:var(--s4); }
.lgb-follow p { max-width:none; }
.decision-picker .dp-q { display:grid; grid-template-columns:15rem minmax(0,1fr); gap:.4rem 1rem; align-items:center; margin:0 0 .5rem; }
.decision-picker .dp-q legend { float:left; width:15rem; padding:0; margin:0; font-size:1rem; }
.decision-picker .dp-q legend + .dp-opts { margin-left:0; }
.decision-picker .dp-opt { min-height:40px; padding:.4rem .9rem; border-radius:999px; }
.decision-picker .dp-opt.is-on { background:var(--brand); color:var(--brand-ink); border-color:var(--brand); }
.decision-picker .dp-controls { margin:0 0 .5rem; }
.decision-picker .dp-summary { margin:0 0 .8rem; }
@media (max-width:900px) {
  .decision-picker .dp-q { display:block; margin-bottom:.35rem; }
  .decision-picker .dp-q legend { float:none; width:auto; font-size:.98rem; margin:0 0 .25rem; }
  .decision-picker .dp-opts { flex-wrap:nowrap; overflow-x:auto; gap:.4rem; padding-bottom:.35rem; scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
  .decision-picker .dp-opt { flex:none; white-space:nowrap; }
}
@media (max-width:900px) { .lgb-board, .lgb-boardh { display:none; } }
.lgb-herofig .lgb-map { max-height:520px; }
@media (max-width:900px) {
  .lgb-hero { padding-block:1rem .8rem; }
  .lgb-hero h1 { font-size:2.15rem; }
  .lgb-hero .lede { font-size:1rem; }
  .lgb-chips { gap:.4rem; }
  .lgb-chips li { padding:.4rem .55rem; }
  .lgb-chips b { font-size:1.25rem; }
  .lgb-cta .btn { flex:1 1 0; min-width:0; padding-inline:.8rem; }
  .lgb-herofig .lgb-map { max-height:none; }
}

@media (max-width:640px) {
  .lgb-fig { padding:.8rem .6rem .7rem; }
  .lgb-vs tbody th { width:auto; }
}

.departure-picker .dep-pin circle { fill:var(--brand); }
.departure-picker .dep-pin text { fill:var(--brand-ink); }
.departure-picker .dep-pin:hover circle, .departure-picker .dep-pin:focus-visible circle { fill:var(--brand-deep); }
.departure-picker .dep-pin.is-on circle { fill:var(--accent-deep); stroke:var(--ink); }
.departure-picker .dep-pin.is-on text { fill:var(--accent-ink); }
.departure-picker .dep-n { opacity:1; font-size:.8rem; }

.lgb-svg text { color:var(--ink); }
.lgb-svg a.lgb-pin, .lgb-svg a.lgb-pin text, .lgb-svg .lgb-sun { color:var(--lgb-pinfg); }
.lgb-svg .lgb-off text { color:var(--lgb-offfg); }
.lgb-svg .lgb-val { color:var(--brand-deep); }
.lgb-svg .lgb-sub, .lgb-svg .lgb-tick { color:var(--ink-soft); }
.lgb-svg .lgb-onbar { color:var(--brand-ink); }
.departure-picker .dep-pin text { color:var(--brand-ink); }
.departure-picker .dep-pin.is-on text { color:var(--accent-ink); }
.prose a { color:var(--brand); }
.prose a:hover { color:var(--brand-deep); }

.lgb-word span { white-space:nowrap; }
@media (max-width:480px) { .lgb-word { font-size:1.08rem; gap:.4rem; } .lgb-bollard { width:24px; height:24px; } .lgb-burger { padding:0 .75rem; } }
.lgb-foot-word { display:inline-block; }
.lgb-foot-word b { margin-left:.28em; }
.lgb-foot-disc p { line-height:1.6; max-width:none; }
.lgb-foot-disc a { display:inline; min-height:0; padding:0; margin:0; }

.faq details > summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-right:1rem; list-style:none; }
.faq details > summary::-webkit-details-marker { display:none; }
.faq details > summary::after, .faq details > summary::before { flex:none; margin:0; position:static; align-self:center; }
.faq details > summary > * { min-width:0; }

.departure-picker { background:none; border:0; box-shadow:none; padding:0; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
.departure-picker .dep-chips { margin:0 0 var(--s2,.75rem); }
.departure-picker .dep-detail { margin-bottom:var(--s2,.75rem); }
.departure-picker .dep-list { margin-bottom:.6rem; }
.departure-picker .dep-list:empty, .departure-picker .dep-list:not(:has(li:not([hidden]))) { display:none; }
.departure-picker .dep-live { font-weight:700; white-space:nowrap; }
@media (max-width:860px) { .departure-picker { grid-template-columns:1fr; gap:var(--s3); padding:0; } }

.cat-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
.cat-grid .cat-card { grid-column:span 4; }
.cat-grid .cat-card:nth-child(-n+4) { grid-column:span 3; }
.cat-card .cc-stats { font-size:.86rem; font-weight:700; color:var(--brand-deep); line-height:1.35; }
.cat-card .cc-stats b { font-family:var(--display); font-size:1.05rem; }
@media (max-width:1100px) { .cat-grid .cat-card, .cat-grid .cat-card:nth-child(-n+4) { grid-column:span 6; } .cat-grid .cat-card:last-child:nth-child(odd) { grid-column:1 / -1; } }
@media (max-width:560px) { .cat-grid .cat-card, .cat-grid .cat-card:nth-child(-n+4) { grid-column:1 / -1; } }

ul.sight-cards { grid-template-columns:repeat(12,minmax(0,1fr)); }
ul.sight-cards > li.sight-card { grid-column:span 4; }
ul.sight-cards > li.sight-card:nth-child(-n+4) { grid-column:span 3; }
li.sight-card { justify-content:flex-start; }
.sight-card .sc-note { margin:0; }
.sight-card .sc-tour { padding-top:.2rem; }
@media (max-width:1100px) { ul.sight-cards > li.sight-card, ul.sight-cards > li.sight-card:nth-child(-n+4) { grid-column:span 6; } ul.sight-cards > li.sight-card:last-child:nth-child(odd) { grid-column:1 / -1; } }
@media (max-width:560px) { ul.sight-cards > li.sight-card, ul.sight-cards > li.sight-card:nth-child(-n+4) { grid-column:1 / -1; } }
.sights + h3 { margin-top:3rem; }

.testimonials-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:900px) { .testimonials-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) {
  .testimonials-grid { grid-template-columns:1fr; gap:.6rem; }
  .testimonial-card { padding:.8rem .9rem; gap:.35rem; }
  .testimonial-card blockquote { font-size:.95rem; line-height:1.45; }
}

.answered-group { display:block; break-inside:auto; -webkit-column-break-inside:auto; margin-bottom:var(--s4); }
.answered-group h3 { break-after:avoid; }
.answered-group li { display:block; break-inside:avoid; }
.answered-group .ag-kind { display:inline; margin-left:.45rem; white-space:nowrap; }

.tour-tbl td small { white-space:nowrap; }
.tour-tbl td.num small { margin-left:.15rem; }
.lgb-follow p { max-width:none; }

@media (max-width:900px) {
  .decision-picker .dp-opts { flex-wrap:wrap; overflow-x:visible; }
  .decision-picker .dp-opt { white-space:normal; text-align:left; }
}
@media (max-width:560px) {
  .decision-picker .dp-card { flex-direction:column; }
  .decision-picker .dp-media { width:100%; aspect-ratio:3/2; }
  .decision-picker .dp-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:.1rem .5rem; }
  .decision-picker .dp-price strong { font-size:1.02rem; }
}

@media (max-width:640px) { .lgb-rv { border:0; background:none; padding:0; } }
.lgb-rv .lgb-vs { border:0; }

main > section.section { background-image:none; }
.faq + section.section, main > section.section:last-of-type { padding-bottom:var(--s4); }
.site-footer.lgb-foot { margin-top:0; }
.band-wash::before { display:none; }
.decision-picker { padding-top:.8rem; }
.decision-picker .dp-q { align-items:start; } .decision-picker .dp-q legend { padding-top:.45rem; }

.sight-card .sc-note { display:block; -webkit-line-clamp:unset; overflow:visible; }
ul.sc-tours { list-style:none; margin:.3rem 0 0; padding:0; display:grid; gap:.15rem; }
ul.sc-tours li { margin:0; padding:0; }
.cat-grid { align-items:start; }
#speedboat-classic .lgb-photo img { max-width:1280px; }
.lgb-rv { border:0; background:none; padding:0; margin-block:var(--s3) var(--s4); }
.lgb-rv .table-scroll { margin:0; }
.lgb-rv .lgb-vs { border:0; }
.table-scroll:has(> .tour-tbl) { border:0; background:none; border-radius:0; overflow:visible; }
.table-scroll:has(> .tour-tbl) > .tour-tbl { margin:0; }
@media (max-width:640px) { .lgb-rv .table-scroll { border:0; background:none; overflow:visible; border-radius:0; } }
ul.sc-tours .sc-tour { display:inline; margin:0; } ul.sc-tours .sc-tour::after { margin-left:.3em; }

.lgb-photo img[src*="hub-speedboat-classic"] { max-width: 760px; width: 100%; display: block; margin-inline: auto; }
.lgb-photo:has(img[src*="hub-speedboat-classic"]) figcaption { max-width: 760px; margin-inline: auto; }
