/* Final presentation layer. Loaded after legacy template styles. */
:root {
    --sd-bg: #07080b;
    --sd-bg-soft: #0b0d12;
    --sd-panel: #10131a;
    --sd-panel-hover: #141821;
    --sd-text: #f7f8fa;
    --sd-muted: #9299a8;
    --sd-faint: #5f6673;
    --sd-blue: #5e8cff;
    --sd-cyan: #65d8ff;
    --sd-line: rgba(255, 255, 255, .09);
    --sd-line-strong: rgba(255, 255, 255, .16);
    --sd-radius: 16px;
    --sd-shadow: 0 28px 80px rgba(0, 0, 0, .34);
}

body {
    color: var(--sd-text) !important;
    background:
        radial-gradient(circle at 50% -15%, rgba(78, 112, 215, .13), transparent 35rem),
        var(--sd-bg) !important;
}

/* Light mode */
html:not(.dark-mode) {
    color-scheme: light;
    --sd-bg: #cecece;
    --sd-bg-soft: #c3c3c3;
    --bg: #cecece;
    --bg-2: #c3c3c3;
}

html:not(.dark-mode) body {
    background: var(--sd-bg) !important;
}

html:not(.dark-mode) .site-header {
    color: #f7f8fa !important;
    background: rgba(7, 8, 11, .92) !important;
    border-bottom-color: rgba(255, 255, 255, .09) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .2);
}
html:not(.dark-mode) .site-header.is-scrolled { background: rgba(7, 8, 11, .97) !important; }
html:not(.dark-mode) .brand strong { color: #f7f8fa !important; }
html:not(.dark-mode) .brand small { color: #9299a8 !important; }
html:not(.dark-mode) .primary-nav a { color: #9299a8 !important; }
html:not(.dark-mode) .primary-nav a:hover,
html:not(.dark-mode) .primary-nav a.is-active {
    color: #f7f8fa !important;
    background: rgba(255, 255, 255, .06) !important;
}

html:not(.dark-mode) .page-title,
html:not(.dark-mode) .contact-header h1,
html:not(.dark-mode) .privacy-title,
html:not(.dark-mode) .coming-soon-title,
html:not(.dark-mode) .about-story__title,
html:not(.dark-mode) .about-mission__title,
html:not(.dark-mode) .about-board__title,
html:not(.dark-mode) .resources-page .page-title,
html:not(.dark-mode) .resources-page .section-title {
    color: #151821 !important;
}

html:not(.dark-mode) .page-subtitle,
html:not(.dark-mode) .contact-subtitle,
html:not(.dark-mode) .coming-soon-subtitle,
html:not(.dark-mode) .about-story__content p,
html:not(.dark-mode) .about-board__intro,
html:not(.dark-mode) .resources-page .page-subtitle {
    color: #555 !important;
}
html:not(.dark-mode) .about-story,
html:not(.dark-mode) .about-mission,
html:not(.dark-mode) .about-board,
html:not(.dark-mode) .gallery-page,
html:not(.dark-mode) .newsletters-page,
html:not(.dark-mode) .contact-page,
html:not(.dark-mode) .privacy-page-section,
html:not(.dark-mode) .resources-page,
html:not(.dark-mode) .fishing-resources,
html:not(.dark-mode) .dashboard-container,
html:not(.dark-mode) .dashboard-layout,
html:not(.dark-mode) .main-content,
html:not(.dark-mode) .content-area {
    background: var(--sd-bg) !important;
}
html:not(.dark-mode) .about-value,
html:not(.dark-mode) .board-member,
html:not(.dark-mode) .gallery-card,
html:not(.dark-mode) .newsletter-signup-card,
html:not(.dark-mode) .newsletter-card,
html:not(.dark-mode) .newsletter-preview,
html:not(.dark-mode) .contact-form-section,
html:not(.dark-mode) .coming-soon-feature,
html:not(.dark-mode) .privacy-content,
html:not(.dark-mode) .pagination a,
html:not(.dark-mode) .pagination span {
    color: #f7f8fa !important;
    background: #10131a !important;
    background-image: none !important;
    border-color: rgba(255, 255, 255, .09) !important;
}
html:not(.dark-mode) .about-value:hover,
html:not(.dark-mode) .board-member:hover,
html:not(.dark-mode) .gallery-card:hover,
html:not(.dark-mode) .newsletter-card:hover,
html:not(.dark-mode) .coming-soon-feature:hover {
    background: #141821 !important;
}
html:not(.dark-mode) .newsletter-card-icon {
    color: #9bb4ff !important;
    background: rgba(94, 140, 255, .12) !important;
    border-color: rgba(94, 140, 255, .28) !important;
}
html:not(.dark-mode) .newsletter-preview-header {
    color: #f7f8fa !important;
    background: rgba(7, 8, 11, .94) !important;
    border-color: rgba(255, 255, 255, .09) !important;
}
html:not(.dark-mode) .newsletter-signup-form input,
html:not(.dark-mode) .contact-form input,
html:not(.dark-mode) .contact-form select,
html:not(.dark-mode) .contact-form textarea,
html:not(.dark-mode) .form-group input,
html:not(.dark-mode) .form-group select,
html:not(.dark-mode) .form-group textarea {
    color: #fff !important;
    background: rgba(255, 255, 255, .035) !important;
    border-color: rgba(255, 255, 255, .09) !important;
}
html:not(.dark-mode) .contact-form label,
html:not(.dark-mode) .form-group label { color: #c5cad4 !important; }
html:not(.dark-mode) .btn-newsletter-download {
    color: #fff !important;
    background: rgba(255, 255, 255, .045) !important;
    border-color: rgba(255, 255, 255, .12) !important;
}

html:not(.dark-mode) .shop-coming-soon-section {
    background: #cecece !important;
}

html:not(.dark-mode) .dashboard-nav,
html:not(.dark-mode) .resource-nav,
html:not(.dark-mode) .section-nav,
html:not(.dark-mode) .dashboard-sidebar {
    background: rgba(10, 12, 17, .96) !important;
    border-color: rgba(255, 255, 255, .09) !important;
}

html:not(.dark-mode) .resources-page {
    --bg-primary: #cecece;
    --bg-secondary: #06070a;
    --bg-elevated: #06070a;
}
html:not(.dark-mode) .resources-page .card,
html:not(.dark-mode) .resources-page .weather-widget,
html:not(.dark-mode) .resources-page .weather-card,
html:not(.dark-mode) .resources-page .radar-card,
html:not(.dark-mode) .resources-page .camera-card,
html:not(.dark-mode) .resources-page .species-card,
html:not(.dark-mode) .resources-page .spot-card,
html:not(.dark-mode) .resources-page .reg-card,
html:not(.dark-mode) .resources-page .tide-card,
html:not(.dark-mode) .resources-page .moon-card,
html:not(.dark-mode) .resources-page .info-card,
html:not(.dark-mode) .resources-page .widget,
html:not(.dark-mode) .resources-page .forecast-card,
html:not(.dark-mode) .resources-page .hourly-item,
html:not(.dark-mode) .resources-page .forecast-item {
    color: #f8fafc !important;
    background: #10131a !important;
    border-color: rgba(255, 255, 255, .09) !important;
}
html:not(.dark-mode) .about-hero,
html:not(.dark-mode) .about-hero * {
    color: #fff !important;
}
html:not(.dark-mode) .about-hero__tagline,
html:not(.dark-mode) .about-hero__subtitle { color: rgba(255, 255, 255, .78) !important; }

main#main-content { min-height: 70vh; }
.site-header { display: block !important; background: transparent !important; }
.site-header.is-scrolled { background: rgba(7, 8, 11, .82) !important; }
.theme-control { margin-left: 4px; }
.theme-control label { display: block; position: relative; width: 38px; height: 22px; cursor: pointer; }
.theme-control input { position: absolute; opacity: 0; }
.theme-control-track {
    position: absolute; inset: 0; border: 1px solid var(--sd-line-strong); border-radius: 30px;
    background: #171a22; transition: .2s ease;
}

.brand-theme-toggle {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    color: #f7f8fa;
    border: 0;
    background: transparent;
    cursor: pointer;
    opacity: 1;
    transition: opacity .18s ease;
}
.brand-theme-toggle .brand-mark {
    width: 74px;
    height: 38px;
    display: grid;
    flex: 0 0 74px;
    place-items: center;
    padding: 0;
    overflow: visible;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.brand-theme-toggle .brand-mark img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    /* full-colour club logo (white-outlined for the dark header) — never invert or recolour it */
    filter: none;
    transition: none;
}
.brand-theme-toggle strong {
    color: inherit !important;
    font: 650 1.08rem/1 Manrope, Inter, sans-serif;
    letter-spacing: -.025em;
    transition: none;
}
.brand-theme-toggle:hover { opacity: .72; }
.brand-theme-toggle:hover .brand-mark img { filter: none; transform: none; }
.brand-theme-toggle:hover strong { color: inherit !important; transform: none; }
.brand-theme-toggle:focus-visible {
    outline: 2px solid #7197ff;
    outline-offset: 7px;
    border-radius: 2px;
}
html:not(.dark-mode) .brand-theme-toggle {
    color: #f7f8fa;
}
.theme-control-track::after {
    content: ""; position: absolute; width: 14px; height: 14px; left: 3px; top: 3px;
    border-radius: 50%; background: #727887; transition: .2s ease;
}
.theme-control input:checked + .theme-control-track { background: rgba(94, 140, 255, .2); border-color: rgba(94, 140, 255, .5); }
.theme-control input:checked + .theme-control-track::after { transform: translateX(16px); background: #8eacff; box-shadow: 0 0 12px rgba(94, 140, 255, .8); }

/* Shared legacy normalization */
.container,
.about-container,
.gallery-container,
.newsletters-container,
.contact-page-section {
    width: min(calc(100% - 40px), 1240px) !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
}
.scroll-fade-in { transition-duration: .7s !important; }
.page-title,
.contact-header h1,
.privacy-title,
.coming-soon-title,
.about-hero__title {
    color: var(--sd-text) !important;
    font-size: clamp(3rem, 7vw, 6.3rem) !important;
    letter-spacing: -.06em !important;
    line-height: .98 !important;
}
.page-subtitle,
.contact-subtitle,
.coming-soon-subtitle,
.about-hero__tagline { color: var(--sd-muted) !important; font-size: 1.05rem !important; }
.gallery-count,
.newsletter-count {
    border: 1px solid rgba(94, 140, 255, .35) !important;
    background: rgba(94, 140, 255, .1) !important;
    color: #98b2ff !important;
    border-radius: 999px !important;
}
.btn,
.btn-submit,
.btn-subscribe,
.btn-back,
.btn-back-home,
.btn-contact,
.gallery-view-btn,
.btn-newsletter-view,
.btn-newsletter-download {
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, #6a95ff, #4f7ce6) !important;
    color: white !important;
    box-shadow: inset 0 1px rgba(255,255,255,.18), 0 10px 30px rgba(65,102,210,.2) !important;
}

/* Home: keep the original sequence and content{
    min-height: 100vh !important;
    min-height: 100svh !important;
    height: 100vh !important;
    height: 100svh !important;
    border-bottom: 1px solid var(--sd-line) !important;
}

/* About: preserve all ACF-backed content. */
.about-hero {
    min-height: 620px !important; padding-top: 150px !important; display: grid !important; align-items: center !important;
    background:
        linear-gradient(90deg, rgba(7,8,11,.96), rgba(7,8,11,.58)),
        url("../images/Screenshot 2026-06-07 231631.png") center/cover !important;
    border-bottom: 1px solid var(--sd-line) !important;
}
.about-hero__est { color: var(--sd-blue) !important; letter-spacing: .15em !important; text-transform: uppercase !important; }
.about-hero__subtitle { color: #aeb4c0 !important; font-size: clamp(1.2rem, 3vw, 2rem) !important; }
.about-story,
.about-mission,
.about-board { background: var(--sd-bg) !important; color: var(--sd-text) !important; padding-block: 110px !important; }
.about-story__grid { gap: clamp(40px, 7vw, 90px) !important; }
.about-story__image-placeholder { border: 1px solid var(--sd-line) !important; border-radius: var(--sd-radius) !important; box-shadow: var(--sd-shadow) !important; }
.about-story__title,
.about-mission__title,
.about-board__title { color: white !important; letter-spacing: -.05em !important; }
.about-story__content p,
.about-board__intro { color: var(--sd-muted) !important; }
.about-value,
.board-member {
    background: linear-gradient(145deg, rgba(255,255,255,.048), rgba(255,255,255,.015)) !important;
    border: 1px solid var(--sd-line) !important; border-radius: var(--sd-radius) !important; box-shadow: none !important;
}
.about-value:hover,
.board-member:hover { border-color: var(--sd-line-strong) !important; transform: translateY(-3px) !important; }
.about-value__title,
.board-member__position { color: white !important; }
.about-value__description,
.board-member__name { color: var(--sd-muted) !important; }

/* Gallery */
.gallery-page,
.newsletters-page,
.contact-page,
.privacy-page-section { background: var(--sd-bg) !important; padding: 145px 0 100px !important; }
.gallery-header,
.newsletters-header,
.contact-header { margin: 0 0 58px !important; max-width: 800px; }
.gallery-grid { gap: 12px !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.gallery-card {
    background: var(--sd-panel) !important; border: 1px solid var(--sd-line) !important;
    border-radius: 12px !important; box-shadow: none !important;
}
.gallery-image-wrapper { padding-top: 100% !important; background: var(--sd-panel) !important; }
.gallery-overlay { background: linear-gradient(0deg, rgba(2,3,6,.92), rgba(2,3,6,.1)) !important; align-items: end !important; justify-content: start !important; }
.gallery-overlay-content { text-align: left !important; }
.pagination a,
.pagination span {
    background: var(--sd-panel) !important; border: 1px solid var(--sd-line) !important;
    color: var(--sd-muted) !important; border-radius: 9px !important;
}
.pagination .current { background: rgba(94,140,255,.14) !important; border-color: var(--sd-blue) !important; color: white !important; }

/* Newsletter: retains scanning, signup, inline preview and download. */
.newsletter-signup-card,
.newsletter-card,
.newsletter-preview {
    background: linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.018)) !important;
    border: 1px solid var(--sd-line) !important; border-radius: var(--sd-radius) !important; box-shadow: none !important;
}
.newsletter-signup-card h3,
.newsletter-card-title,
.newsletter-preview h3 { color: white !important; }
.newsletter-signup-card p,
.newsletter-card-meta { color: var(--sd-muted) !important; }
.newsletter-signup-form input {
    color: white !important; background: rgba(255,255,255,.035) !important;
    border: 1px solid var(--sd-line) !important; border-radius: 10px !important;
}
.newsletter-card-icon { background: rgba(94,140,255,.1) !important; color: #9bb4ff !important; }
.btn-newsletter-download { background: rgba(255,255,255,.045) !important; box-shadow: none !important; }
.newsletter-preview-header { background: #0d1016 !important; border-color: var(--sd-line) !important; }

/* Contact: retains the WordPress AJAX form and field names. */
.contact-container { border: 1px solid var(--sd-line) !important; border-radius: var(--sd-radius) !important; overflow: hidden !important; box-shadow: var(--sd-shadow) !important; }
.contact-form-section { background: var(--sd-panel) !important; }
.contact-form-section h2 { color: white !important; letter-spacing: -.04em !important; }
.form-intro { color: var(--sd-muted) !important; }
.contact-form label { color: #c5cad4 !important; }
.contact-form input,
.contact-form select,
.contact-form textarea {
    color: white !important; background: rgba(255,255,255,.035) !important;
    border: 1px solid var(--sd-line) !important; border-radius: 10px !important;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { border-color: var(--sd-blue) !important; box-shadow: 0 0 0 3px rgba(94,140,255,.1) !important; }

/* Shop v2: section styling lives in page-shop.php — keep canvas parity here. */
.shop-coming-soon-section {
    min-height: calc(100vh - 74px) !important;
    padding: 100px 0 90px !important;
    background: #080a0e !important;
}
.construction-tape,
.construction-signs { display: none !important; }
.construction-icon-main {
    color: var(--sd-blue) !important; background: rgba(94,140,255,.1) !important;
    border: 1px solid rgba(94,140,255,.3) !important; box-shadow: none !important;
}
.construction-badge { background: var(--sd-blue) !important; color: white !important; }
.coming-soon-feature {
    background: rgba(255,255,255,.025) !important; border: 1px solid var(--sd-line) !important;
    border-radius: var(--sd-radius) !important; box-shadow: none !important;
}
.coming-soon-feature h3 { color: white !important; }
.coming-soon-feature p { color: var(--sd-muted) !important; }

/* Privacy: retain all ACF fields and effective date. */
.privacy-page-section .container { padding-top: 0 !important; }
.privacy-content {
    max-width: 900px !important; padding: clamp(28px, 6vw, 65px) !important;
    background: var(--sd-panel) !important; border: 1px solid var(--sd-line) !important;
    border-radius: var(--sd-radius) !important; box-shadow: none !important; color: var(--sd-muted) !important;
}
.privacy-content h2 { color: white !important; margin-top: 2.2em !important; letter-spacing: -.04em !important; }
.privacy-content strong { color: white !important; }

/* Fishing dashboard: preserve every section and script, align its UI system. */
.resources-page,
.fishing-resources,
.dashboard-container,
.dashboard-layout,
.main-content,
.content-area { background-color: var(--sd-bg) !important; color: var(--sd-text) !important; }
.resources-page > .container { padding-top: 130px !important; padding-bottom: 95px !important; }
.resources-page .header { margin-bottom: 34px !important; }
.resources-page .page-title { color: white !important; }
.resources-page .page-subtitle { color: var(--sd-muted) !important; }
.dashboard-nav {
    position: sticky !important; top: 75px !important; z-index: 20 !important;
    background: rgba(10,12,17,.9) !important; border: 1px solid var(--sd-line) !important;
    border-radius: 12px !important; backdrop-filter: blur(18px) !important;
}
.dashboard-nav a { color: var(--sd-muted) !important; border-radius: 8px !important; }
.dashboard-nav a:hover,
.dashboard-nav a.active { color: white !important; background: rgba(94,140,255,.12) !important; }
.resources-page .dashboard-nav.is-stuck {
    border-top-color: transparent !important;
    border-radius: 0 0 12px 12px !important;
    background: rgba(10,12,17,.97) !important;
}
.section,
.card,
.weather-card,
.radar-card,
.camera-card,
.species-card,
.spot-card,
.reg-card,
.tide-card,
.moon-card,
.info-card,
.widget,
.forecast-card {
    border-color: var(--sd-line) !important;
}
.resources-page .card,
.resources-page .weather-card,
.resources-page .radar-card,
.resources-page .species-card,
.resources-page .spot-card,
.resources-page .reg-card,
.resources-page .widget,
.dashboard-container .card,
.dashboard-container .widget {
    background: linear-gradient(145deg, rgba(255,255,255,.048), rgba(255,255,255,.016)) !important;
    box-shadow: none !important; border-radius: 14px !important;
}
.resources-page h1,
.resources-page h2,
.resources-page h3,
.resources-page h4,
.dashboard-container h1,
.dashboard-container h2,
.dashboard-container h3,
.dashboard-container h4 { color: var(--sd-text) !important; }
.resources-page p,
.dashboard-container p { color: var(--sd-muted) !important; }
.resource-nav,
.section-nav,
.dashboard-sidebar { background: rgba(10,12,17,.94) !important; border-color: var(--sd-line) !important; backdrop-filter: blur(18px); }
.resource-nav a,
.section-nav a,
.nav-item { color: var(--sd-muted) !important; border-color: transparent !important; }
.resource-nav a:hover,
.resource-nav a.active,
.section-nav a:hover,
.nav-item:hover,
.nav-item.active { color: white !important; background: rgba(94,140,255,.1) !important; }
.radar-card iframe { border-radius: 10px !important; filter: saturate(.85) contrast(1.03); }

/* Shared footer */
.site-footer { background: #06070a !important; border-top: 1px solid var(--sd-line) !important; padding: 72px 0 24px !important; margin-top: -1px !important; position: relative; }
.sponsor-block { padding-bottom: 58px; border-bottom: 1px solid var(--sd-line); }
.footer-kicker { display: block; margin-bottom: 28px; color: var(--sd-faint); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
.sponsor-grid { display: grid; grid-template-columns: repeat(10, 1fr); gap: 14px; align-items: center; }
.sponsor-grid a {
    min-height: 60px; display: grid; place-items: center; padding: 10px;
    border: 1px solid var(--sd-line); border-radius: 10px; background: rgba(255,255,255,.018);
    opacity: .64; transition: .2s ease;
}
.sponsor-grid a:hover { opacity: 1; border-color: var(--sd-line-strong); }
.sponsor-grid img { max-width: 100%; max-height: 34px; object-fit: contain; filter: grayscale(1); }
.sponsor-grid a:hover img { filter: grayscale(0); }
.footer-grid { grid-template-columns: auto auto auto !important; justify-content: center !important; align-items: center !important; gap: 90px !important; }
.footer-social { display: flex; gap: 8px; margin-top: 20px; }
.footer-social a { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--sd-line); border-radius: 9px; color: var(--sd-muted); text-decoration: none; }

/* 2.2 polish pass */

/* Utility pages share a restrained system but use distinct technical canvases. */
.resources-page,
.gallery-page,
.newsletters-page,
.contact-page { background-color: var(--sd-bg) !important; }

/* Fishing: faint procedural marine haze behind the dashboard. */
.resources-page {
    position: relative;
    isolation: isolate;
    overflow: visible;
    background-image: none !important;
}
html:not(.dark-mode) .resources-page {
    background-image: none !important;
}
.resources-page::before,
.resources-page::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: -12% -18%;
    pointer-events: none;
    background-repeat: repeat;
    background-size: 720px 520px;
    mix-blend-mode: screen;
    filter: blur(16px);
    transform: translate3d(0,0,0);
}
.resources-page::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='520' viewBox='0 0 720 520'%3E%3Cfilter id='h'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.008 .014' numOctaves='4' seed='17'/%3E%3CfeColorMatrix values='1 0 0 0 .7 0 1 0 0 .74 0 0 1 0 .8 0 0 0 .38 0'/%3E%3CfeGaussianBlur stdDeviation='12'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23h)' opacity='.3'/%3E%3C/svg%3E");
    opacity: .22;
    animation: fishing-haze-drift-a 57s ease-in-out infinite alternate;
}
.resources-page::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='680' height='480' viewBox='0 0 680 480'%3E%3Cfilter id='h'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.011 .007' numOctaves='3' seed='41'/%3E%3CfeColorMatrix values='1 0 0 0 .68 0 1 0 0 .72 0 0 1 0 .78 0 0 0 .32 0'/%3E%3CfeGaussianBlur stdDeviation='16'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23h)' opacity='.26'/%3E%3C/svg%3E");
    background-size: 680px 480px;
    opacity: .13;
    animation: fishing-haze-drift-b 78s ease-in-out infinite alternate;
}
html:not(.dark-mode) .resources-page::before,
html:not(.dark-mode) .resources-page::after {
    mix-blend-mode: multiply;
    opacity: .08;
}
.resources-page > * {
    position: relative;
    z-index: 1;
}
.resources-page > .container {
    display: block !important;
}
.resources-page .header,
.resources-page .dashboard-nav,
.resources-page .section {
    float: none !important;
    width: 100% !important;
}
.resources-page .header {
    display: block !important;
}

.resources-page .weather-detail-card {
    position: relative;
    min-height: 150px;
    display: grid;
    align-content: center;
}

.resources-page .weather-detail-icon {
    margin-bottom: 12px;
    color: #8eacff;
    font-size: 1.35rem;
}

.resources-page #hourly-forecast {
    grid-template-columns: repeat(13, minmax(0, 1fr)) !important;
}

.resources-page #tides .card:has(a[href*="station=46254"]) {
    display: none !important;
}

.resources-page .solunar-periods {
    padding-top: 0 !important;
    border-top: 0 !important;
}

.resources-page .solunar-periods > div > div {
    background: transparent !important;
    border-bottom: 1px solid var(--sd-line);
    border-radius: 0 !important;
}

@media (max-width: 1100px) {
    .resources-page #hourly-forecast {
        grid-template-columns: repeat(7, minmax(74px, 1fr)) !important;
        overflow-x: auto;
    }
}

/* Gallery: the same slow marine haze used by the Fishing dashboard. */
.gallery-page {
    position: relative;
    isolation: isolate;
    overflow: visible;
    background-image: none !important;
}
.gallery-page::before,
.gallery-page::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: -12% -18%;
    pointer-events: none;
    background-repeat: repeat;
    mix-blend-mode: screen;
    filter: blur(16px);
    transform: translate3d(0,0,0);
}
.gallery-page::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='520' viewBox='0 0 720 520'%3E%3Cfilter id='h'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.008 .014' numOctaves='4' seed='17'/%3E%3CfeColorMatrix values='1 0 0 0 .7 0 1 0 0 .74 0 0 1 0 .8 0 0 0 .38 0'/%3E%3CfeGaussianBlur stdDeviation='12'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23h)' opacity='.3'/%3E%3C/svg%3E");
    background-size: 720px 520px;
    opacity: .22;
    animation: fishing-haze-drift-a 57s ease-in-out infinite alternate;
}
.gallery-page::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='680' height='480' viewBox='0 0 680 480'%3E%3Cfilter id='h'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.011 .007' numOctaves='3' seed='41'/%3E%3CfeColorMatrix values='1 0 0 0 .68 0 1 0 0 .72 0 0 1 0 .78 0 0 0 .32 0'/%3E%3CfeGaussianBlur stdDeviation='16'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23h)' opacity='.26'/%3E%3C/svg%3E");
    background-size: 680px 480px;
    opacity: .13;
    animation: fishing-haze-drift-b 78s ease-in-out infinite alternate;
}

/* Newsletter: matching slow marine haze. */
.newsletters-page {
    position: relative;
    isolation: isolate;
    overflow: visible;
    background-image: none !important;
}
.newsletters-page::before,
.newsletters-page::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: -12% -18%;
    pointer-events: none;
    background-repeat: repeat;
    mix-blend-mode: screen;
    filter: blur(16px);
    transform: translate3d(0,0,0);
}
.newsletters-page::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='520' viewBox='0 0 720 520'%3E%3Cfilter id='h'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.008 .014' numOctaves='4' seed='17'/%3E%3CfeColorMatrix values='1 0 0 0 .7 0 1 0 0 .74 0 0 1 0 .8 0 0 0 .38 0'/%3E%3CfeGaussianBlur stdDeviation='12'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23h)' opacity='.3'/%3E%3C/svg%3E");
    background-size: 720px 520px;
    opacity: .22;
    animation: fishing-haze-drift-a 57s ease-in-out infinite alternate;
}
.newsletters-page::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='680' height='480' viewBox='0 0 680 480'%3E%3Cfilter id='h'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.011 .007' numOctaves='3' seed='41'/%3E%3CfeColorMatrix values='1 0 0 0 .68 0 1 0 0 .72 0 0 1 0 .78 0 0 0 .32 0'/%3E%3CfeGaussianBlur stdDeviation='16'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23h)' opacity='.26'/%3E%3C/svg%3E");
    background-size: 680px 480px;
    opacity: .13;
    animation: fishing-haze-drift-b 78s ease-in-out infinite alternate;
}

html:not(.dark-mode) .gallery-page::before,
html:not(.dark-mode) .gallery-page::after,
html:not(.dark-mode) .newsletters-page::before,
html:not(.dark-mode) .newsletters-page::after,
html:not(.dark-mode) .contact-page::before,
html:not(.dark-mode) .contact-page::after {
    mix-blend-mode: multiply;
    opacity: .08;
}

/* Contact: matching slow marine haze. */
.contact-page {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-image: none !important;
}
.contact-page::before,
.contact-page::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: -12% -18%;
    pointer-events: none;
    background-repeat: repeat;
    mix-blend-mode: screen;
    filter: blur(16px);
    transform: translate3d(0,0,0);
}
.contact-page::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='520' viewBox='0 0 720 520'%3E%3Cfilter id='h'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.008 .014' numOctaves='4' seed='17'/%3E%3CfeColorMatrix values='1 0 0 0 .7 0 1 0 0 .74 0 0 1 0 .8 0 0 0 .38 0'/%3E%3CfeGaussianBlur stdDeviation='12'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23h)' opacity='.3'/%3E%3C/svg%3E");
    background-size: 720px 520px;
    opacity: .22;
    animation: fishing-haze-drift-a 57s ease-in-out infinite alternate;
}
.contact-page::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='680' height='480' viewBox='0 0 680 480'%3E%3Cfilter id='h'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.011 .007' numOctaves='3' seed='41'/%3E%3CfeColorMatrix values='1 0 0 0 .68 0 1 0 0 .72 0 0 1 0 .78 0 0 0 .32 0'/%3E%3CfeGaussianBlur stdDeviation='16'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23h)' opacity='.26'/%3E%3C/svg%3E");
    background-size: 680px 480px;
    opacity: .13;
    animation: fishing-haze-drift-b 78s ease-in-out infinite alternate;
}

.gallery-page > *,
.newsletters-page > *,
.contact-page > * {
    position: relative;
    z-index: 1;
}

@keyframes fishing-haze-drift-a {
    0% { transform: translate3d(-2.5%, -1.5%, 0) scale(1.02); opacity: .16; }
    48% { opacity: .23; }
    100% { transform: translate3d(3%, 2%, 0) scale(1.07); opacity: .18; }
}
@keyframes fishing-haze-drift-b {
    0% { transform: translate3d(2%, 2.5%, 0) scale(1.08); opacity: .08; }
    60% { opacity: .15; }
    100% { transform: translate3d(-3%, -1%, 0) scale(1.01); opacity: .1; }
}
@keyframes gallery-canvas-in {
    from { opacity: 0; transform: translate3d(0,-26px,0) scale(1.045); }
    to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
@keyframes newsletter-canvas-in {
    from { opacity: 0; clip-path: inset(0 0 100% 0); }
    to { opacity: 1; clip-path: inset(0 0 0 0); }
}
@keyframes contact-canvas-in {
    from { opacity: 0; transform: translate3d(-34px,12px,0) scale(.97); }
    to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .resources-page::before,
    .resources-page::after,
    .gallery-page::before,
    .gallery-page::after,
    .newsletters-page::before,
    .newsletters-page::after,
    .contact-page::before,
    .contact-page::after {
        animation: none !important;
        clip-path: none;
        opacity: 1;
        transform: none;
    }
}

/* One viewport-fixed atmosphere shared by Fishing, Gallery, Newsletter, and Contact. */
body:has(.resources-page),
body:has(.gallery-page),
body:has(.newsletters-page),
body:has(.contact-page) {
    position: relative;
    isolation: isolate;
    background: var(--sd-bg) !important;
}

body:has(.resources-page)::before,
body:has(.resources-page)::after,
body:has(.gallery-page)::before,
body:has(.gallery-page)::after,
body:has(.newsletters-page)::before,
body:has(.newsletters-page)::after,
body:has(.contact-page)::before,
body:has(.contact-page)::after {
    content: "";
    position: fixed;
    z-index: 0;
    inset: -12vh -12vw;
    pointer-events: none;
    background-repeat: repeat;
    mix-blend-mode: screen;
    filter: blur(16px);
    transform: translate3d(0,0,0);
}

body:has(.resources-page)::before,
body:has(.gallery-page)::before,
body:has(.newsletters-page)::before,
body:has(.contact-page)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='520' viewBox='0 0 720 520'%3E%3Cfilter id='h'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.008 .014' numOctaves='4' seed='17'/%3E%3CfeColorMatrix values='1 0 0 0 .7 0 1 0 0 .74 0 0 1 0 .8 0 0 0 .38 0'/%3E%3CfeGaussianBlur stdDeviation='12'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23h)' opacity='.3'/%3E%3C/svg%3E");
    background-size: 720px 520px;
    opacity: .22;
    animation: fishing-haze-drift-a 57s ease-in-out infinite alternate;
    animation-delay: var(--sd-haze-delay-a, 0ms);
}

body:has(.resources-page)::after,
body:has(.gallery-page)::after,
body:has(.newsletters-page)::after,
body:has(.contact-page)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='680' height='480' viewBox='0 0 680 480'%3E%3Cfilter id='h'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.011 .007' numOctaves='3' seed='41'/%3E%3CfeColorMatrix values='1 0 0 0 .68 0 1 0 0 .72 0 0 1 0 .78 0 0 0 .32 0'/%3E%3CfeGaussianBlur stdDeviation='16'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23h)' opacity='.26'/%3E%3C/svg%3E");
    background-size: 680px 480px;
    opacity: .13;
    animation: fishing-haze-drift-b 78s ease-in-out infinite alternate;
    animation-delay: var(--sd-haze-delay-b, 0ms);
}

html:not(.dark-mode) body:has(.resources-page)::before,
html:not(.dark-mode) body:has(.resources-page)::after,
html:not(.dark-mode) body:has(.gallery-page)::before,
html:not(.dark-mode) body:has(.gallery-page)::after,
html:not(.dark-mode) body:has(.newsletters-page)::before,
html:not(.dark-mode) body:has(.newsletters-page)::after,
html:not(.dark-mode) body:has(.contact-page)::before,
html:not(.dark-mode) body:has(.contact-page)::after {
    mix-blend-mode: multiply;
    opacity: .08;
}

body:has(.resources-page) > main,
body:has(.gallery-page) > main,
body:has(.newsletters-page) > main,
body:has(.contact-page) > main,
body:has(.resources-page) > .site-footer,
body:has(.gallery-page) > .site-footer,
body:has(.newsletters-page) > .site-footer,
body:has(.contact-page) > .site-footer {
    position: relative;
    z-index: 1;
}

body:has(.resources-page) > .site-header,
body:has(.gallery-page) > .site-header,
body:has(.newsletters-page) > .site-header,
body:has(.contact-page) > .site-header {
    z-index: 1000;
}

body:has(.resources-page) > .skip-link,
body:has(.gallery-page) > .skip-link,
body:has(.newsletters-page) > .skip-link,
body:has(.contact-page) > .skip-link {
    z-index: 1001;
}

.resources-page,
.gallery-page,
.newsletters-page,
.contact-page {
    background-color: transparent !important;
}

.resources-page::before,
.resources-page::after,
.gallery-page::before,
.gallery-page::after,
.newsletters-page::before,
.newsletters-page::after,
.contact-page::before,
.contact-page::after {
    content: none !important;
}

.resources-page > .container,
.gallery-page > .container,
.newsletters-page > .container,
.contact-page > .container {
    animation: shared-haze-content-in .48s cubic-bezier(.22,.61,.36,1) both;
}

@keyframes shared-haze-content-in {
    from { opacity: 0; transform: translate3d(0,8px,0); }
    to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    body:has(.resources-page)::before,
    body:has(.resources-page)::after,
    body:has(.gallery-page)::before,
    body:has(.gallery-page)::after,
    body:has(.newsletters-page)::before,
    body:has(.newsletters-page)::after,
    body:has(.contact-page)::before,
    body:has(.contact-page)::after,
    .resources-page > .container,
    .gallery-page > .container,
    .newsletters-page > .container,
    .contact-page > .container {
        animation: none !important;
        opacity: 1;
        transform: none;
    }
}

/* Utility navigation: Fishing is the canonical header for all internal tools. */
body:has(.resources-page) .site-header,
body:has(.gallery-page) .site-header,
body:has(.newsletters-page) .site-header,
body:has(.contact-page) .site-header,
body:has(.shop-coming-soon-section) .site-header,
body:has(.privacy-page-section) .site-header,
html:not(.dark-mode) body:has(.resources-page) .site-header,
html:not(.dark-mode) body:has(.gallery-page) .site-header,
html:not(.dark-mode) body:has(.newsletters-page) .site-header,
html:not(.dark-mode) body:has(.contact-page) .site-header,
html:not(.dark-mode) body:has(.shop-coming-soon-section) .site-header,
html:not(.dark-mode) body:has(.privacy-page-section) .site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    height: 75px;
    background: rgba(7,8,11,.92) !important;
    border-bottom: 1px solid rgba(255,255,255,.09) !important;
    backdrop-filter: blur(16px) saturate(125%);
}

body:has(.resources-page) .site-header.is-scrolled,
body:has(.gallery-page) .site-header.is-scrolled,
body:has(.newsletters-page) .site-header.is-scrolled,
body:has(.contact-page) .site-header.is-scrolled,
body:has(.shop-coming-soon-section) .site-header.is-scrolled,
body:has(.privacy-page-section) .site-header.is-scrolled {
    background: rgba(7,8,11,.97) !important;
    border-bottom-color: rgba(255,255,255,.1) !important;
    backdrop-filter: blur(20px) saturate(140%);
}

body:has(.resources-page) .site-header .nav-shell,
body:has(.gallery-page) .site-header .nav-shell,
body:has(.newsletters-page) .site-header .nav-shell,
body:has(.contact-page) .site-header .nav-shell,
body:has(.shop-coming-soon-section) .site-header .nav-shell,
body:has(.privacy-page-section) .site-header .nav-shell {
    width: min(calc(100% - 40px), 1240px) !important;
    min-height: 74px !important;
    height: 74px !important;
    margin-inline: auto !important;
    padding: 0 !important;
    gap: 28px !important;
    line-height: 24px !important;
}

body:has(.resources-page) .site-header .brand,
body:has(.gallery-page) .site-header .brand,
body:has(.newsletters-page) .site-header .brand,
body:has(.contact-page) .site-header .brand,
body:has(.shop-coming-soon-section) .site-header .brand,
body:has(.privacy-page-section) .site-header .brand {
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

body:has(.resources-page) .site-header .brand strong,
body:has(.gallery-page) .site-header .brand strong,
body:has(.newsletters-page) .site-header .brand strong,
body:has(.contact-page) .site-header .brand strong,
body:has(.shop-coming-soon-section) .site-header .brand strong,
body:has(.privacy-page-section) .site-header .brand strong {
    font: 650 1.08rem/1 Manrope, Inter, sans-serif !important;
    letter-spacing: -.025em !important;
    margin: 0 !important;
}

body:has(.resources-page) .site-header .brand-mark,
body:has(.gallery-page) .site-header .brand-mark,
body:has(.newsletters-page) .site-header .brand-mark,
body:has(.contact-page) .site-header .brand-mark,
body:has(.shop-coming-soon-section) .site-header .brand-mark,
body:has(.privacy-page-section) .site-header .brand-mark {
    width: 74px !important;
    height: 38px !important;
    flex: 0 0 74px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body:has(.resources-page) .site-header .brand-mark img,
body:has(.gallery-page) .site-header .brand-mark img,
body:has(.newsletters-page) .site-header .brand-mark img,
body:has(.contact-page) .site-header .brand-mark img,
body:has(.shop-coming-soon-section) .site-header .brand-mark img,
body:has(.privacy-page-section) .site-header .brand-mark img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
}

body:has(.resources-page) .site-header .brand small,
body:has(.gallery-page) .site-header .brand small,
body:has(.newsletters-page) .site-header .brand small,
body:has(.contact-page) .site-header .brand small,
body:has(.shop-coming-soon-section) .site-header .brand small,
body:has(.privacy-page-section) .site-header .brand small {
    font-size: .66rem !important;
    line-height: 1.25 !important;
    margin: 2px 0 0 !important;
}

/* Home and About use the same header system as Fishing and Gallery. */
body.home .site-header,
body.page-template-page-about .site-header,
html:not(.dark-mode) body.home .site-header,
html:not(.dark-mode) body.page-template-page-about .site-header {
    background: rgba(7,8,11,.92) !important;
    border-bottom-color: rgba(255,255,255,.09) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.2);
}
body.home .site-header.is-scrolled,
body.page-template-page-about .site-header.is-scrolled,
html:not(.dark-mode) body.home .site-header.is-scrolled,
html:not(.dark-mode) body.page-template-page-about .site-header.is-scrolled {
    background: rgba(7,8,11,.97) !important;
}
body.home .site-header .nav-shell,
body.page-template-page-about .site-header .nav-shell {
    width: min(calc(100% - 40px), 1240px) !important;
    min-height: 74px !important;
    height: 74px !important;
    margin-inline: auto !important;
    padding: 0 !important;
    gap: 28px !important;
    line-height: 24px !important;
}

/* Restrained modern action system used everywhere, including the nav CTA. */
.button,
.btn,
.btn-submit,
.btn-subscribe,
.btn-back,
.btn-back-home,
.btn-contact,
.gallery-view-btn,
.btn-newsletter-view {
    position: relative;
    overflow: hidden;
    min-height: 44px !important;
    padding: 0 19px !important;
    border: 1px solid rgba(138,169,255,.55) !important;
    border-radius: 9px !important;
    background: linear-gradient(180deg, #537dec 0%, #315ccf 100%) !important;
    color: #fff !important;
    box-shadow:
        inset 0 1px rgba(255,255,255,.25),
        inset 0 -1px rgba(0,0,0,.16),
        0 8px 22px rgba(42,79,181,.22) !important;
    font-size: .84rem !important;
    font-weight: 650 !important;
    letter-spacing: -.01em;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
.button:hover,
.btn:hover,
.btn-submit:hover,
.btn-subscribe:hover,
.btn-back:hover,
.btn-back-home:hover,
.btn-contact:hover,
.gallery-view-btn:hover,
.btn-newsletter-view:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.06);
    border-color: rgba(180,199,255,.82) !important;
    box-shadow:
        inset 0 1px rgba(255,255,255,.28),
        inset 0 -1px rgba(0,0,0,.12),
        0 11px 28px rgba(42,79,181,.3) !important;
}
.button:focus-visible,
.btn:focus-visible,
.btn-submit:focus-visible,
.btn-subscribe:focus-visible,
.btn-contact:focus-visible,
.gallery-view-btn:focus-visible,
.btn-newsletter-view:focus-visible {
    outline: 3px solid rgba(101,216,255,.45);
    outline-offset: 3px;
}
.btn-secondary,
.button-secondary {
    border-color: rgba(255,255,255,.17) !important;
    background: rgba(8,10,15,.62) !important;
    color: #f7f8fa !important;
    box-shadow: inset 0 1px rgba(255,255,255,.08), 0 8px 22px rgba(0,0,0,.16) !important;
    backdrop-filter: blur(14px);
}

/* Membership access: editorial index instead of another card grid. */
.membership-access-layout {
    display: grid;
    grid-template-columns: minmax(300px, .8fr) minmax(580px, 1.2fr);
    gap: clamp(50px, 8vw, 120px);
    align-items: start;
}
.membership-access-layout {
    position: relative;
    z-index: 1;
}
.membership-access-intro {
    position: sticky;
    top: 130px;
}
.membership-access-note {
    margin-top: 54px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.1);
}
.membership-access-note span,
.membership-access-label {
    display: block;
    color: #6e7b90;
    font: 650 .59rem/1 Inter, sans-serif;
    letter-spacing: .15em;
}
.membership-access-note strong {
    display: block;
    margin-top: 10px;
    color: #c8ced8;
    font-size: .8rem;
    font-weight: 600;
}
.membership-access-list {
    border-top: 1px solid rgba(255,255,255,.12);
}
.membership-access-row {
    position: relative;
    display: grid;
    grid-template-columns: 38px 54px minmax(0, 1fr) 42px;
    gap: 20px;
    align-items: start;
    min-height: 218px;
    padding: 34px 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
    transition: padding .25s ease, background .25s ease;
}
.membership-access-row::before {
    content: "";
    position: absolute;
    inset: 0 -22px;
    z-index: 0;
    border-radius: 12px;
    background: linear-gradient(90deg, rgba(94,140,255,.09), transparent 76%);
    opacity: 0;
    transition: opacity .25s ease;
}
.membership-access-row:hover::before { opacity: 1; }
.membership-access-row > * { position: relative; z-index: 1; }
.membership-access-index {
    padding-top: 16px;
    color: #626d7e;
    font: 650 .65rem/1 Inter, sans-serif;
    letter-spacing: .13em;
}
.membership-access-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    color: #9bb4ff;
    border: 1px solid rgba(94,140,255,.28);
    border-radius: 50%;
    background: rgba(94,140,255,.08);
}
.membership-access-label { margin: 3px 0 13px; color: #6f86b7; }
.membership-access-copy h3 {
    margin: 0 0 11px !important;
    color: #f2f4f8 !important;
    font: 620 clamp(1.55rem, 2.5vw, 2.25rem)/1.08 Manrope, Inter, sans-serif !important;
    letter-spacing: -.045em !important;
}
.membership-access-copy p {
    max-width: 570px;
    margin: 0 !important;
    color: #858d9d !important;
    font-size: .88rem;
    line-height: 1.68;
}
.membership-access-link {
    display: grid;
    width: 40px;
    height: 40px;
    margin-top: 4px;
    place-items: center;
    color: #aeb8c8 !important;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    transition: color .2s ease, border-color .2s ease, transform .2s ease;
}
.membership-access-row:hover .membership-access-link {
    color: #fff !important;
    border-color: rgba(94,140,255,.68);
    transform: translateX(3px);
}

/* 2.3.2: restore plain utility-page canvases and retire the shared haze. */
body:has(.resources-page),
body:has(.gallery-page),
body:has(.newsletters-page),
body:has(.contact-page) {
    background: var(--sd-bg) !important;
}

body:has(.resources-page)::before,
body:has(.resources-page)::after,
body:has(.gallery-page)::before,
body:has(.gallery-page)::after,
body:has(.newsletters-page)::before,
body:has(.newsletters-page)::after,
body:has(.contact-page)::before,
body:has(.contact-page)::after,
.resources-page::before,
.resources-page::after,
.gallery-page::before,
.gallery-page::after,
.newsletters-page::before,
.newsletters-page::after,
.contact-page::before,
.contact-page::after {
    content: none !important;
    display: none !important;
    animation: none !important;
    background-image: none !important;
}

.resources-page,
.gallery-page,
.newsletters-page,
.contact-page {
    background: var(--sd-bg) !important;
}

.resources-page > .container,
.gallery-page > .container,
.newsletters-page > .container,
.contact-page > .container {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

/* Blueprint replacement for the redundant Home gallery preview. */
.club-blueprints {
    position: relative;
    overflow: hidden;
    padding: 120px 0;
    color: #eaf1ff;
    background-color: #061525;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
    background-size: 72px 72px, 72px 72px;
    border-block: 1px solid rgba(104,176,255,.2);
}
.club-blueprints::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(2,5,10,.72) 0, transparent 150px),
        linear-gradient(90deg, rgba(2,9,17,.48), transparent 42%, rgba(10,39,67,.22));
}
.club-blueprints::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 70% 40%, rgba(58,130,255,.15), transparent 35rem);
}
.club-blueprints-container {
    position: relative;
    z-index: 1;
    width: min(calc(100% - 40px), 1240px);
    margin-inline: auto;
}
.blueprint-intro {
    max-width: 790px;
    margin-bottom: 58px;
}
.logbook-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.logbook-feature,
.logbook-entry {
    position: relative;
    overflow: hidden;
    background: rgba(3,14,27,.78);
    border: 1px solid rgba(104,176,255,.24);
    border-radius: 12px;
    box-shadow: inset 0 1px rgba(255,255,255,.025);
}
.logbook-feature {
    grid-column: 1 / -1;
    min-height: 480px;
    padding: 28px;
}
.logbook-feature-head,
.logbook-entry-top {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    color: #6f8dac;
    font: 600 .62rem/1 Inter, sans-serif;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.logbook-route {
    padding: 100px 7% 82px;
}
.logbook-route-line {
    position: relative;
    height: 1px;
    background: rgba(113,186,255,.22);
}
.logbook-route-wake {
    position: absolute;
    left: 8px;
    right: 8px;
    top: -1px;
    height: 2px;
    background: repeating-linear-gradient(90deg, #71baff 0 9px, transparent 9px 18px);
    opacity: .7;
}
.logbook-route-point {
    position: absolute;
    z-index: 2;
    top: 50%;
    width: 11px;
    height: 11px;
    border: 2px solid #8ac6ff;
    border-radius: 50%;
    background: #07182a;
    box-shadow: 0 0 18px rgba(113,186,255,.45);
    transform: translateY(-50%);
}
.logbook-route-point.is-origin { left: 0; }
.logbook-route-point.is-destination { right: 0; }
.logbook-route-vessel {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 61%;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: #eaf4ff;
    border: 1px solid rgba(113,186,255,.5);
    border-radius: 50%;
    background: #0a2037;
    box-shadow: 0 0 30px rgba(58,130,255,.22);
    transform: translate(-50%, -50%);
}
.logbook-route-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 22px;
    color: #bdcde0;
    font: 650 .7rem/1.4 Inter, sans-serif;
}
.logbook-route-labels span:last-child { text-align: right; }
.logbook-route-labels small {
    display: block;
    margin-bottom: 5px;
    color: #607d9d;
    font-size: .57rem;
    letter-spacing: .13em;
}
.logbook-statement {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
    padding-top: 28px;
    border-top: 1px solid rgba(104,176,255,.18);
}
.logbook-index {
    color: #71baff;
    font: 500 1.1rem/1 Manrope, Inter, sans-serif;
    letter-spacing: -.03em;
}
.logbook-statement h3,
.logbook-entry h3 {
    max-width: 760px;
    margin: 0 0 12px;
    color: #f1f6fd;
    font: 620 clamp(1.7rem, 3vw, 3rem)/1.08 Manrope, Inter, sans-serif;
    letter-spacing: -.045em;
}
.logbook-statement p,
.logbook-entry p {
    max-width: 640px;
    margin: 0;
    color: #819ab5;
    font-size: .9rem;
    line-height: 1.7;
}
.logbook-entry {
    min-height: 410px;
    padding: 28px;
}
.logbook-entry h3 {
    max-width: 480px;
    margin-top: 68px;
    font-size: clamp(1.75rem, 2.7vw, 2.65rem);
}
.logbook-signal {
    position: absolute;
    right: 28px;
    bottom: 28px;
    left: 28px;
    height: 74px;
    display: flex;
    align-items: flex-end;
    gap: 7px;
    padding-top: 18px;
    border-top: 1px solid rgba(104,176,255,.14);
}
.logbook-signal i {
    flex: 1;
    height: 26%;
    background: linear-gradient(180deg, #71baff, rgba(113,186,255,.12));
    border-radius: 2px 2px 0 0;
}
.logbook-signal i:nth-child(2) { height: 42%; }
.logbook-signal i:nth-child(3) { height: 68%; }
.logbook-signal i:nth-child(4) { height: 48%; }
.logbook-signal i:nth-child(5) { height: 88%; }
.logbook-signal i:nth-child(6) { height: 58%; }
.logbook-signal i:nth-child(7) { height: 76%; }
.logbook-signal i:nth-child(8) { height: 45%; }
.logbook-signal i:nth-child(9) { height: 64%; }
.logbook-horizon {
    position: absolute;
    right: 28px;
    bottom: 28px;
    left: 28px;
    height: 75px;
    border-top: 1px solid rgba(104,176,255,.14);
}
.logbook-horizon span {
    position: absolute;
    right: 0;
    bottom: 16px;
    left: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(113,186,255,.65), transparent);
}
.logbook-horizon i {
    position: absolute;
    right: 15%;
    bottom: 9px;
    color: #8ac6ff;
    filter: drop-shadow(0 0 10px rgba(113,186,255,.55));
}

/* One pagination and hover system for both modes. */
.pagination a,
.pagination span,
html:not(.dark-mode) .pagination a,
html:not(.dark-mode) .pagination span {
    min-width: 42px !important;
    height: 42px !important;
    color: #9299a8 !important;
    background: #10131a !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    border-radius: 9px !important;
    box-shadow: inset 0 1px rgba(255,255,255,.025);
    transition: transform .18s ease, color .18s ease, background .18s ease, border-color .18s ease !important;
}
.pagination a:hover,
html.dark-mode .pagination a:hover,
html:not(.dark-mode) .pagination a:hover {
    color: #f7f8fa !important;
    background: #1a2030 !important;
    border-color: rgba(94,140,255,.58) !important;
    transform: translateY(-1px);
}
.pagination .current,
html.dark-mode .pagination .current,
html:not(.dark-mode) .pagination .current {
    color: #fff !important;
    background: #3f69dd !important;
    border-color: #7197ff !important;
    box-shadow: inset 0 1px rgba(255,255,255,.2), 0 8px 20px rgba(49,92,207,.22) !important;
}
.pagination .disabled {
    color: #5f6673 !important;
    background: #0c0f14 !important;
    opacity: .58 !important;
}
.gallery-card,
.newsletter-card {
    transition: transform .25s ease, border-color .25s ease, background .25s ease !important;
}
.gallery-card:hover,
.newsletter-card:hover,
html:not(.dark-mode) .gallery-card:hover,
html:not(.dark-mode) .newsletter-card:hover {
    transform: translateY(-4px) !important;
    background: #141821 !important;
    border-color: rgba(94,140,255,.5) !important;
}

@media (max-width: 1050px) {
    .sponsor-grid { grid-template-columns: repeat(5, 1fr); }
    .gallery-grid { grid-template-columns: repeat(3, 1fr) !important; }
    .membership-access-layout { grid-template-columns: 1fr; }
    .membership-access-intro { position: static; max-width: 760px; }
}
@media (max-width: 760px) {
    .container, .about-container, .gallery-container, .newsletters-container, .contact-page-section { width: min(calc(100% - 28px), 1240px) !important; }
    .gallery-page, .newsletters-page, .contact-page, .privacy-page-section { padding-top: 120px !important; }
    .gallery-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .sponsor-grid { grid-template-columns: repeat(3, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr !important; gap: 32px 40px !important; justify-content: stretch !important; }
    .footer-brand { grid-column: 1 / -1; }
    .membership-access-row {
        grid-template-columns: 30px 46px minmax(0, 1fr);
        gap: 13px;
        min-height: 0;
        padding: 28px 0;
    }
    .membership-access-icon { width: 42px; height: 42px; }
    .membership-access-link { grid-column: 3; margin-top: 12px; }
    .membership-access-note { margin-top: 35px; }
    .club-blueprints { padding: 85px 0; }
    .club-blueprints-container { width: min(calc(100% - 28px), 1240px); }
    .logbook-layout { grid-template-columns: 1fr; }
    .logbook-feature { grid-column: 1; min-height: 480px; }
    .logbook-entry { min-height: 390px; }
    .logbook-route { padding: 90px 2% 72px; }
    .logbook-statement { grid-template-columns: 1fr; gap: 14px; }
    .pagination { gap: 5px !important; }
    .pagination a,
    .pagination span { min-width: 38px !important; height: 38px !important; padding-inline: 9px !important; }
}

/* Homepage boating concept comparison */
.boating-concepts {
    position: relative;
    padding: 130px 0;
    overflow: hidden;
    color: #f5f7fb;
    background:
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
        #07090d;
    background-size: 72px 72px;
}
.boating-concepts-container {
    width: min(calc(100% - 48px), 1280px);
    margin: 0 auto;
}
.boating-concepts-intro {
    max-width: 760px;
    margin-bottom: 58px;
}
.boating-concepts-kicker,
.boating-concept-number {
    display: block;
    color: #72a3ff;
    font: 700 .69rem/1.2 Inter, sans-serif;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.boating-concepts-intro h2 {
    max-width: 690px;
    margin: 16px 0 18px;
    color: #f7f9fc;
    font: 650 clamp(2.5rem, 5vw, 4.9rem)/.98 Manrope, Inter, sans-serif;
    letter-spacing: -.055em;
}
.boating-concepts-intro p {
    max-width: 660px;
    margin: 0;
    color: #9199a8;
    font-size: 1.03rem;
    line-height: 1.75;
}
.boating-concept {
    position: relative;
    margin-top: 28px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 24px;
    background: #0b0e13;
    box-shadow: 0 28px 80px rgba(0,0,0,.28);
}
.boating-concept-cinematic {
    min-height: 650px;
    display: flex;
    align-items: flex-end;
}
.boating-concept-cinematic > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.boating-concept-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4,7,11,.94) 0%, rgba(4,7,11,.7) 38%, rgba(4,7,11,.1) 74%),
                linear-gradient(0deg, rgba(4,7,11,.75), transparent 52%);
}
.boating-concept-copy {
    position: relative;
    z-index: 2;
    max-width: 590px;
    padding: 68px;
}
.boating-concept-copy h3,
.voyage-map-copy h3,
.systems-heading h3 {
    margin: 16px 0 20px;
    color: #fff;
    font: 650 clamp(2.3rem, 4.7vw, 4.8rem)/.98 Manrope, Inter, sans-serif;
    letter-spacing: -.055em;
}
.boating-concept-copy p,
.voyage-map-copy p {
    max-width: 530px;
    color: rgba(236,240,247,.72);
    font-size: 1rem;
    line-height: 1.72;
}
.boating-concept-copy a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 25px;
    color: #fff;
    font-size: .84rem;
    font-weight: 700;
    letter-spacing: .02em;
}
.boating-concept-copy a i { transition: transform .2s ease; }
.boating-concept-copy a:hover i { transform: translateX(4px); }
.boating-concept-coordinate {
    position: absolute;
    z-index: 2;
    right: 28px;
    bottom: 28px;
    display: flex;
    gap: 16px;
    color: rgba(255,255,255,.58);
    font: 600 .64rem/1 Inter, sans-serif;
    letter-spacing: .13em;
}
.boating-concept-map {
    min-height: 570px;
    display: grid;
    grid-template-columns: minmax(340px, .82fr) minmax(520px, 1.18fr);
}
.voyage-map-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 62px;
    border-right: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(145deg, #10151d, #090c11);
}
.voyage-map-copy h3 {
    max-width: 510px;
    font-size: clamp(2.25rem, 4vw, 4.15rem);
}
.voyage-map-meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 34px;
    padding-top: 25px;
    border-top: 1px solid rgba(255,255,255,.09);
}
.voyage-map-meta span,
.systems-footer span {
    color: #e6ebf3;
    font: 650 .76rem/1.4 Inter, sans-serif;
}
.voyage-map-meta small,
.systems-footer small {
    display: block;
    margin-bottom: 7px;
    color: #687386;
    font-size: .58rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.voyage-map-visual {
    position: relative;
    min-height: 570px;
    overflow: hidden;
}
.voyage-map-visual svg {
    width: 100%;
    height: 100%;
    min-height: 570px;
}
.voyage-grid path { stroke: rgba(123,158,190,.1); stroke-width: 1; }
.voyage-coast { fill: #17232b; }
.voyage-coast-detail { fill: none; stroke: rgba(137,180,202,.48); stroke-width: 2; }
.voyage-route-shadow {
    fill: none;
    stroke: rgba(72,137,255,.3);
    stroke-width: 10;
    filter: url(#routeGlow);
}
.voyage-route {
    fill: none;
    stroke: #72a3ff;
    stroke-width: 2;
    stroke-dasharray: 9 10;
    animation: voyage-route-flow 9s linear infinite;
}
.voyage-node circle:first-child { fill: rgba(9,18,28,.92); stroke: #72a3ff; stroke-width: 1.5; }
.voyage-node circle:nth-child(2) { fill: #d7e5ff; }
.voyage-node text,
.voyage-water-label,
.voyage-city-label {
    fill: #8fa0b4;
    font: 600 10px/1 Inter, sans-serif;
    letter-spacing: .11em;
}
.voyage-water-label { fill: rgba(143,160,180,.34); font-size: 16px; letter-spacing: .24em; }
.voyage-city-label { fill: #b2bdca; font-size: 11px; }
.voyage-boat path { fill: #f3f7ff; filter: drop-shadow(0 0 7px rgba(114,163,255,.8)); }
.voyage-map-readout {
    position: absolute;
    right: 24px;
    bottom: 22px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 11px 13px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    color: #7d8b9e;
    background: rgba(4,9,14,.72);
    backdrop-filter: blur(12px);
    font: 650 .57rem/1 Inter, sans-serif;
    letter-spacing: .12em;
}
.voyage-map-readout strong { color: #e6edf7; font-size: .7rem; }
.boating-concept-systems { padding: 56px; background: linear-gradient(145deg, #0d1118, #080b10); }
.systems-heading {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: flex-start;
    padding-bottom: 34px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.systems-heading h3 { margin-bottom: 0; font-size: clamp(2.25rem, 4vw, 4.2rem); }
.systems-description {
    max-width: 680px;
    margin: 20px 0 0;
    color: #858f9f;
    font-size: .94rem;
    line-height: 1.72;
}
.systems-status {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #758093;
    font: 650 .63rem/1 Inter, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.systems-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #4de09b;
    box-shadow: 0 0 13px rgba(77,224,155,.7);
}
.systems-console {
    display: grid;
    grid-template-columns: 1fr 1fr minmax(300px, 1.5fr) 1fr 1fr;
    align-items: center;
    gap: 18px;
    padding: 54px 0;
}
.systems-stat {
    min-width: 0;
    padding: 22px 12px;
    text-align: center;
}
.systems-stat > span {
    display: block;
    margin-bottom: 13px;
    color: #667184;
    font: 650 .61rem/1 Inter, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.systems-stat strong {
    display: block;
    color: #f3f6fb;
    font: 600 clamp(1.9rem, 3vw, 3.25rem)/1 Manrope, Inter, sans-serif;
    letter-spacing: -.05em;
}
.systems-stat strong small { margin-left: 5px; color: #748197; font-size: .6rem; letter-spacing: .08em; }
.systems-stat em { display: block; margin-top: 10px; color: #8792a3; font: normal 600 .63rem/1 Inter, sans-serif; }
.systems-radar {
    position: relative;
    width: min(100%, 320px);
    aspect-ratio: 1;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(114,163,255,.42);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(72,124,211,.1), rgba(3,7,12,.92) 67%);
    box-shadow: inset 0 0 50px rgba(60,117,216,.08), 0 0 50px rgba(0,0,0,.28);
}
.radar-ring {
    position: absolute;
    inset: 19%;
    border: 1px solid rgba(114,163,255,.18);
    border-radius: 50%;
}
.radar-ring-two { inset: 37%; }
.radar-cross { position: absolute; background: rgba(114,163,255,.13); }
.radar-cross-x { top: 50%; left: 5%; width: 90%; height: 1px; }
.radar-cross-y { top: 5%; left: 50%; width: 1px; height: 90%; }
.radar-sweep {
    position: absolute;
    inset: 4%;
    border-radius: 50%;
    background: conic-gradient(from 0deg, transparent 0 78%, rgba(102,157,255,.22) 96%, rgba(146,185,255,.62));
    animation: radar-sweep 7s linear infinite;
}
.radar-boat {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    color: #eaf1ff;
    transform: translate(-50%, -50%) rotate(-12deg);
    text-shadow: 0 0 15px rgba(114,163,255,.85);
}
.radar-target {
    position: absolute;
    z-index: 3;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #72a3ff;
    box-shadow: 0 0 0 5px rgba(114,163,255,.12), 0 0 14px #72a3ff;
}
.radar-target-one { top: 26%; right: 30%; }
.radar-target-two { bottom: 26%; left: 24%; }
.radar-label {
    position: absolute;
    bottom: 12%;
    left: 50%;
    color: #69768b;
    transform: translateX(-50%);
    font: 650 .56rem/1 Inter, sans-serif;
    letter-spacing: .14em;
}
.systems-footer {
    display: grid;
    grid-template-columns: .7fr 1fr 1.5fr;
    gap: 20px;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,.08);
}
@keyframes voyage-route-flow { to { stroke-dashoffset: -190; } }
@keyframes radar-sweep { to { transform: rotate(360deg); } }
@media (max-width: 1040px) {
    .boating-concept-map { grid-template-columns: 1fr; }
    .voyage-map-copy { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
    .systems-console { grid-template-columns: 1fr 1fr minmax(280px, 1.4fr) 1fr 1fr; gap: 5px; }
}
@media (max-width: 760px) {
    .boating-concepts { padding: 88px 0; }
    .boating-concepts-container { width: min(calc(100% - 28px), 1280px); }
    .boating-concepts-intro { margin-bottom: 38px; }
    .boating-concept { border-radius: 18px; }
    .boating-concept-cinematic { min-height: 690px; }
    .boating-concept-cinematic > img { object-position: 63% center; }
    .boating-concept-shade { background: linear-gradient(0deg, rgba(4,7,11,.96) 0%, rgba(4,7,11,.72) 52%, rgba(4,7,11,.12) 100%); }
    .boating-concept-copy { align-self: flex-end; padding: 34px 28px 48px; }
    .boating-concept-coordinate { display: none; }
    .voyage-map-copy { padding: 42px 28px; }
    .voyage-map-meta { gap: 5px; }
    .voyage-map-visual,
    .voyage-map-visual svg { min-height: 420px; }
    .boating-concept-systems { padding: 38px 24px; }
    .systems-heading { display: block; }
    .systems-status { margin-top: 22px; }
    .systems-console { grid-template-columns: 1fr 1fr; padding: 38px 0; }
    .systems-radar { grid-column: 1 / -1; grid-row: 1; width: min(80vw, 290px); margin-bottom: 10px; }
    .systems-footer { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .voyage-route,
    .radar-sweep { animation: none; }
}

/* Homepage light mode: light page surfaces with the marine modules kept dark. */
html:not(.dark-mode) .boating-concepts {
    color: #171a20;
    background:
        linear-gradient(rgba(0,0,0,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,0,0,.035) 1px, transparent 1px),
        #bfc0c2 !important;
    background-size: 72px 72px !important;
    border-block: 1px solid rgba(0,0,0,.1);
}
html:not(.dark-mode) .boating-concepts-intro h2 {
    color: #15181e !important;
}
html:not(.dark-mode) .boating-concepts-intro p {
    color: #4d5159 !important;
}
html:not(.dark-mode) .boating-concept {
    color: #f5f7fb !important;
    background: #0b0e13 !important;
    border-color: rgba(0,0,0,.24) !important;
    box-shadow: 0 28px 70px rgba(0,0,0,.22);
}
html:not(.dark-mode) .boating-concept h3 {
    color: #fff !important;
}
html:not(.dark-mode) .boating-concept p,
html:not(.dark-mode) .systems-description {
    color: rgba(226,232,241,.7) !important;
}
html:not(.dark-mode) .membership-access-note {
    border-top-color: rgba(0,0,0,.14);
}
html:not(.dark-mode) .membership-access-note span {
    color: #555b65;
}
html:not(.dark-mode) .membership-access-note strong {
    color: #282c33;
}
html:not(.dark-mode) .membership-access-list {
    padding: 0;
    overflow: visible;
    border: 0;
    border-top: 1px solid rgba(0,0,0,.2);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
html:not(.dark-mode) .membership-access-row {
    padding-inline: 0;
    border: 0;
    border-bottom: 1px solid rgba(0,0,0,.2);
    background: transparent;
}
html:not(.dark-mode) .membership-access-copy h3 {
    color: #171a20 !important;
}
html:not(.dark-mode) .membership-access-copy p {
    color: #4d5159 !important;
}
html:not(.dark-mode) .membership-access-index {
    color: #5d626b;
}
html:not(.dark-mode) .membership-access-icon {
    color: #23272f;
    border-color: rgba(0,0,0,.25);
    background: rgba(0,0,0,.045);
}
html:not(.dark-mode) .membership-access-link {
    color: #23272f !important;
    border-color: rgba(0,0,0,.25);
}
html:not(.dark-mode) .membership-access-label {
    color: #4e5765;
}
html:not(.dark-mode) .membership-access-row:hover::before {
    opacity: 1;
    background: linear-gradient(90deg, rgba(0,0,0,.055), transparent 76%);
}
html:not(.dark-mode) .membership-access-row:hover .membership-access-link {
    color: #080a0d !important;
    border-color: rgba(0,0,0,.55);
}

html:not(.dark-mode) .club-blueprints {
    color: #eaf1ff !important;
    background-color: #061525 !important;
}
html:not(.dark-mode) .logbook-feature,
html:not(.dark-mode) .logbook-entry {
    color: #eaf1ff !important;
    background: rgba(3,14,27,.82) !important;
    border-color: rgba(104,176,255,.24) !important;
}
html:not(.dark-mode) .logbook-statement h3,
html:not(.dark-mode) .logbook-entry h3 {
    color: #f1f6fd !important;
}
html:not(.dark-mode) .logbook-statement p,
html:not(.dark-mode) .logbook-entry p {
    color: #819ab5 !important;
}

@media (max-width: 760px) {
    html:not(.dark-mode) .membership-access-list {
        padding-inline: 0;
    }
}

/* One brand lockup on every template. */
.site-header .brand-theme-toggle {
    gap: 4px !important;
}
.site-header .brand-theme-toggle .brand-mark {
    width: 74px !important;
    height: 38px !important;
    min-width: 74px !important;
    flex: 0 0 74px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.site-header .brand-theme-toggle .brand-mark img {
    width: 74px !important;
    height: 38px !important;
    max-width: 74px !important;
    max-height: 38px !important;
    object-fit: contain !important;
}
.site-header .brand-theme-toggle strong {
    font: 650 1.08rem/1 Manrope, Inter, sans-serif !important;
    letter-spacing: -.025em !important;
}

/* Home opens with a light glass header, then joins the solid shared nav on scroll. */
body.home .site-header,
html:not(.dark-mode) body.home .site-header {
    background: rgba(7,8,11,.2) !important;
    border-bottom-color: rgba(255,255,255,.08) !important;
    box-shadow: none !important;
    backdrop-filter: blur(14px) saturate(115%);
}
body.home .site-header.is-scrolled,
html:not(.dark-mode) body.home .site-header.is-scrolled {
    background: rgba(7,8,11,.97) !important;
    border-bottom-color: rgba(255,255,255,.09) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.2) !important;
    backdrop-filter: blur(20px) saturate(140%);
}

/* Unified dark action system. */
:where(
    .button,
    .btn,
    .btn-submit,
    .btn-subscribe,
    .btn-back,
    .btn-back-home,
    .btn-contact,
    .gallery-view-btn,
    .btn-newsletter-view,
    .btn-newsletter-download,
    .wp-block-button__link,
    button[type="submit"],
    input[type="submit"]
) {
    position: relative;
    min-height: 44px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 19px !important;
    overflow: hidden;
    color: #f3f5f8 !important;
    background: linear-gradient(180deg, #20242c 0%, #15181e 100%) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 9px !important;
    box-shadow:
        inset 0 1px rgba(255,255,255,.07),
        inset 0 -1px rgba(0,0,0,.35),
        0 8px 20px rgba(0,0,0,.2) !important;
    font: 650 .84rem/1 Manrope, Inter, sans-serif !important;
    letter-spacing: -.01em !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
:where(
    .button,
    .btn,
    .btn-submit,
    .btn-subscribe,
    .btn-back,
    .btn-back-home,
    .btn-contact,
    .gallery-view-btn,
    .btn-newsletter-view,
    .btn-newsletter-download,
    .wp-block-button__link,
    button[type="submit"],
    input[type="submit"]
):hover {
    color: #fff !important;
    background: linear-gradient(180deg, #2a2f39 0%, #1b1f27 100%) !important;
    border-color: rgba(255,255,255,.28) !important;
    box-shadow:
        inset 0 1px rgba(255,255,255,.1),
        inset 0 -1px rgba(0,0,0,.3),
        0 10px 24px rgba(0,0,0,.26) !important;
    filter: none !important;
    transform: translateY(-1px) !important;
}
:where(
    .button,
    .btn,
    .btn-submit,
    .btn-subscribe,
    .btn-back,
    .btn-back-home,
    .btn-contact,
    .gallery-view-btn,
    .btn-newsletter-view,
    .btn-newsletter-download,
    .wp-block-button__link,
    button[type="submit"],
    input[type="submit"]
):focus-visible {
    outline: 2px solid rgba(150,174,235,.8) !important;
    outline-offset: 3px;
}
.boating-concept-copy a,
.membership-access-link {
    color: #d8dce4 !important;
}
.membership-access-link {
    background: #15181e !important;
    border-color: rgba(255,255,255,.14) !important;
}
.membership-access-row:hover .membership-access-link {
    color: #fff !important;
    background: #242933 !important;
    border-color: rgba(255,255,255,.24) !important;
}

html:not(.dark-mode) :where(
    .button,
    .btn,
    .btn-submit,
    .btn-subscribe,
    .btn-back,
    .btn-back-home,
    .btn-contact,
    .gallery-view-btn,
    .btn-newsletter-view,
    .btn-newsletter-download,
    .wp-block-button__link,
    button[type="submit"],
    input[type="submit"]
) {
    color: #f3f5f8 !important;
    background: linear-gradient(180deg, #292d34 0%, #1b1e24 100%) !important;
    border-color: rgba(0,0,0,.38) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.08), 0 7px 18px rgba(0,0,0,.18) !important;
}

/* Exact Shop treatment for every page-level action. */
body .button,
body .btn,
body .btn-submit,
body .btn-subscribe,
body .btn-back,
body .btn-back-home,
body .btn-contact,
body .gallery-view-btn,
body .btn-newsletter-view,
body .btn-newsletter-download,
body .wp-block-button__link,
body button[type="submit"],
body input[type="submit"] {
    min-height: 38px !important;
    padding: 0 15px !important;
    color: #e7e9ed !important;
    background: rgba(20,23,29,.9) !important;
    background-image: none !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    border-radius: 8px !important;
    box-shadow: inset 0 1px rgba(255,255,255,.035) !important;
    filter: none !important;
    font: 600 .8rem/1 Manrope, Inter, sans-serif !important;
    letter-spacing: 0 !important;
}
body .button:hover,
body .btn:hover,
body .btn-submit:hover,
body .btn-subscribe:hover,
body .btn-back:hover,
body .btn-back-home:hover,
body .btn-contact:hover,
body .gallery-view-btn:hover,
body .btn-newsletter-view:hover,
body .btn-newsletter-download:hover,
body .wp-block-button__link:hover,
body button[type="submit"]:hover,
body input[type="submit"]:hover {
    color: #fff !important;
    background: rgba(31,35,43,.96) !important;
    background-image: none !important;
    border-color: rgba(255,255,255,.18) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.055) !important;
    filter: none !important;
    transform: none !important;
}

/* Fishing dashboard title, section rhythm, and weather redesign. */
.resources-page .page-title span:last-child,
html:not(.dark-mode) .resources-page .page-title span:last-child {
    color: inherit !important;
    -webkit-text-stroke: 0 !important;
    opacity: 1 !important;
}
.resources-page .dashboard-nav {
    margin-bottom: 24px !important;
}
.resources-page .dashboard-nav-step {
    display: none;
}
.resources-page .section {
    margin-top: 0 !important;
    padding-top: 0 !important;
    scroll-margin-top: 158px !important;
}
.resources-page .section-header {
    min-height: 0 !important;
    margin: 0 0 24px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.resources-page .section-title {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.1 !important;
}
.resources-page .section-header + * {
    margin-top: 0 !important;
}
.resources-page #weather-hero.weather-overview {
    min-height: 330px;
    display: grid;
    grid-template-columns: minmax(220px, .8fr) minmax(350px, 1.4fr) minmax(210px, .8fr);
    gap: 30px;
    align-items: center;
    margin-bottom: 8px !important;
    padding: 38px 42px !important;
    text-align: left !important;
    color: #f4f6f9 !important;
    background: #0c0f14 !important;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px) !important;
    background-size: 48px 48px !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 12px !important;
}
.weather-overview-location {
    align-self: start;
    display: flex;
    align-items: center;
    gap: 13px;
}
.weather-overview-location > i {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: #a9b5c9 !important;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
}
.weather-overview-location span,
.weather-overview-time span {
    display: block;
    margin-bottom: 6px;
    color: #697386 !important;
    font: 650 .58rem/1 Inter, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.weather-overview-location h3 {
    margin: 0 !important;
    color: #e8ebf0 !important;
    font: 600 .95rem/1.2 Manrope, Inter, sans-serif !important;
}
.weather-overview-primary {
    text-align: center;
}
.weather-overview #current-temp {
    color: #f6f7f9 !important;
    font: 540 clamp(5rem, 9vw, 8.5rem)/.82 Manrope, Inter, sans-serif !important;
    letter-spacing: -.085em;
}
.weather-overview-summary {
    display: flex;
    justify-content: center;
    gap: 18px;
    align-items: center;
    margin-top: 26px;
}
.weather-overview #current-condition {
    color: #d9dde5 !important;
    font: 600 1rem/1.2 Manrope, Inter, sans-serif !important;
}
.weather-overview #current-high-low {
    padding-left: 18px;
    color: #818a99 !important;
    border-left: 1px solid rgba(255,255,255,.13);
    font-size: .78rem !important;
}
.weather-overview-time {
    align-self: end;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.12);
}
.weather-overview-time strong {
    color: #eef1f5 !important;
    font: 580 1.45rem/1 Manrope, Inter, sans-serif !important;
    letter-spacing: -.035em;
}
.resources-page .weather-details-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 8px;
}
.resources-page .weather-detail-card {
    min-height: 145px;
    padding: 24px !important;
    text-align: left !important;
    background: #101319 !important;
    border-radius: 10px !important;
}
.resources-page .weather-detail-icon {
    margin-bottom: 22px;
    color: #8995a8 !important;
    font-size: 1rem;
}
.resources-page .weather-forecast-panel {
    margin-bottom: 8px !important;
    padding: 26px !important;
    background: #101319 !important;
    border-radius: 10px !important;
}
.resources-page .forecast-item-hourly,
.resources-page .forecast-item-daily {
    background: #0c0f14 !important;
    border-color: rgba(255,255,255,.09) !important;
}
html:not(.dark-mode) .resources-page #weather-hero.weather-overview,
html:not(.dark-mode) .resources-page .weather-detail-card,
html:not(.dark-mode) .resources-page .weather-forecast-panel {
    color: #f4f6f9 !important;
    background-color: #101319 !important;
    border-color: rgba(255,255,255,.1) !important;
}
@media (max-width: 950px) {
    .resources-page #weather-hero.weather-overview {
        grid-template-columns: 1fr 1.5fr;
    }
    .weather-overview-time {
        grid-column: 1 / -1;
    }
    .resources-page .weather-details-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 640px) {
    .resources-page #weather-hero.weather-overview {
        grid-template-columns: 1fr;
        padding: 28px 22px !important;
    }
    .weather-overview-location,
    .weather-overview-time {
        align-self: auto;
    }
    .weather-overview-summary {
        flex-direction: column;
        gap: 9px;
    }
    .weather-overview #current-high-low {
        padding-left: 0;
        border-left: 0;
    }
}

@media (max-width: 768px) {
    .resources-page > .container {
        width: 100% !important;
        padding-inline: 14px !important;
    }
    .resources-page .dashboard-nav {
        position: sticky !important;
        top: 68px !important;
        z-index: 120 !important;
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        gap: 8px !important;
        width: 100%;
        margin-bottom: 20px !important;
        padding: 8px !important;
        overflow: hidden;
        background: #0a0c11 !important;
        border-radius: 10px !important;
        box-shadow: 0 12px 28px rgba(0,0,0,.22);
        backdrop-filter: none !important;
    }
    .resources-page .dashboard-nav.is-stuck {
        border-radius: 0 0 10px 10px !important;
    }
    .resources-page .dashboard-nav a {
        display: none !important;
        min-width: 0;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        padding: 0 10px !important;
        overflow: hidden;
        color: #fff !important;
        background: #15181e !important;
        border: 1px solid rgba(255,255,255,.09);
        text-align: center;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .resources-page .dashboard-nav a.active {
        display: flex !important;
    }
    .resources-page .dashboard-nav-step {
        appearance: none;
        display: grid;
        width: 44px;
        height: 44px;
        min-height: 44px;
        padding: 0 !important;
        place-items: center;
        color: #fff !important;
        background: #15181e !important;
        border: 1px solid rgba(255,255,255,.11) !important;
        border-radius: 8px !important;
        box-shadow: none !important;
    }
    .resources-page .dashboard-nav-step:disabled {
        color: #565d69 !important;
        background: #0e1015 !important;
        opacity: .62;
    }
    .resources-page .section {
        width: 100%;
        min-width: 0;
        margin-bottom: 50px !important;
        scroll-margin-top: 132px !important;
        touch-action: pan-y;
    }
    .resources-page .section-header {
        align-items: flex-start !important;
        gap: 12px;
        margin-bottom: 20px !important;
    }
    .resources-page .section-title {
        min-width: 0;
        font-size: clamp(1.35rem, 6.4vw, 1.75rem) !important;
        line-height: 1.15 !important;
    }
    .resources-page .section-link {
        flex: 0 0 auto;
        font-size: .72rem;
    }
    .resources-page #weather-hero.weather-overview {
        min-height: 0;
        gap: 24px;
        padding: 24px 18px !important;
    }
    .weather-overview-primary {
        padding-block: 8px;
    }
    .weather-overview #current-temp {
        font-size: clamp(4.5rem, 24vw, 6.5rem) !important;
    }
    .weather-overview-time {
        padding-top: 16px;
    }
    .weather-overview-time strong {
        font-size: 1.2rem !important;
    }
    .resources-page .weather-details-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px;
    }
    .resources-page .weather-detail-card {
        min-height: 126px;
        padding: 18px !important;
    }
    .resources-page .weather-detail-icon {
        margin-bottom: 14px;
    }
    .resources-page .weather-forecast-panel {
        padding: 20px 16px !important;
        overflow: hidden;
    }
    .resources-page #hourly-forecast {
        display: grid !important;
        grid-template-columns: repeat(13, 78px) !important;
        gap: 8px !important;
        padding-bottom: 8px;
        overflow-x: auto !important;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }
    .resources-page .forecast-item-hourly {
        min-width: 78px;
        padding: 14px 8px !important;
        scroll-snap-align: start;
    }
    .resources-page .forecast-item-daily {
        grid-template-columns: 58px 38px minmax(0, 1fr) auto !important;
        gap: 8px !important;
        padding: 14px 0 !important;
    }
    .resources-page .forecast-item-daily > :nth-child(3) {
        font-size: .72rem !important;
        line-height: 1.3;
    }
    .resources-page .forecast-item-daily > :last-child {
        gap: 6px !important;
        font-size: .82rem !important;
    }
    .resources-page #conditions .conditions-panel {
        padding: 18px !important;
        overflow: hidden;
    }
    .resources-page #conditions .conditions-panel > div:first-child {
        align-items: flex-start !important;
        gap: 12px;
    }
    .resources-page #conditions .conditions-panel > div:first-child > div:first-child {
        min-width: 0;
        align-items: flex-start !important;
        gap: 12px !important;
    }
    .resources-page #conditions .conditions-panel > div:first-child h3 {
        font-size: 1rem !important;
        line-height: 1.25;
    }
    .resources-page #conditions .conditions-panel > div:first-child p {
        margin-top: 4px;
        font-size: .76rem !important;
        line-height: 1.4;
    }
    .resources-page #conditions .conditions-panel-layout {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
    }
    .resources-page #conditions .conditions-panel-layout > :first-child {
        justify-self: center;
        max-width: 200px;
    }
    .resources-page #conditions .conditions-metric-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }
    .resources-page #conditions .conditions-metric-grid > div {
        padding: 14px !important;
    }
}

/* Mobile navigation and Home hero. */
.mobile-shop-link {
    display: none;
}
@media (max-width: 980px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: clip;
    }
    .site-header {
        z-index: 5000 !important;
        width: 100% !important;
        max-width: 100% !important;
        color-scheme: dark !important;
        forced-color-adjust: none;
        color: #f7f8fa !important;
        background: #090b0f !important;
        border-bottom: 1px solid rgba(255,255,255,.09) !important;
        box-shadow: 0 8px 28px rgba(0,0,0,.24) !important;
        backdrop-filter: none !important;
    }
    body.home .site-header,
    body.home .site-header.is-scrolled,
    body.page-template-page-about .site-header,
    body.page-template-page-about .site-header.is-scrolled,
    html:not(.dark-mode) body.home .site-header,
    html:not(.dark-mode) body.page-template-page-about .site-header {
        background: #090b0f !important;
        border-bottom-color: rgba(255,255,255,.09) !important;
        backdrop-filter: none !important;
    }
    .site-header .nav-shell,
    body.home .site-header .nav-shell,
    body.page-template-page-about .site-header .nav-shell {
        width: calc(100% - 32px) !important;
        max-width: 1240px !important;
        height: 68px !important;
        min-height: 68px !important;
        margin-inline: 16px !important;
        gap: 12px !important;
    }
    .site-header .brand-theme-toggle,
    html:not(.dark-mode) .site-header .brand-theme-toggle,
    .site-header .brand-theme-toggle:hover,
    .site-header .brand-theme-toggle:active,
    .site-header .brand-theme-toggle:focus,
    .site-header .brand-theme-toggle:focus-visible {
        appearance: none !important;
        -webkit-appearance: none !important;
        -webkit-tap-highlight-color: transparent;
        flex: 0 1 auto;
        min-width: 0;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
        color-scheme: dark !important;
        forced-color-adjust: none;
        background: transparent !important;
        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
        filter: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
    .site-header .brand-theme-toggle strong,
    html:not(.dark-mode) .site-header .brand-theme-toggle strong,
    .site-header .brand-theme-toggle:hover strong,
    .site-header .brand-theme-toggle:active strong,
    .site-header .brand-theme-toggle:focus strong {
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
        opacity: 1 !important;
    }
    .site-header .brand-theme-toggle .brand-mark img,
    html:not(.dark-mode) .site-header .brand-theme-toggle .brand-mark img,
    .site-header .brand-theme-toggle:hover .brand-mark img,
    .site-header .brand-theme-toggle:active .brand-mark img,
    .site-header .brand-theme-toggle:focus .brand-mark img {
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
    }
    .site-header .brand-theme-toggle .brand-mark,
    html:not(.dark-mode) .site-header .brand-theme-toggle .brand-mark,
    .site-header .brand-theme-toggle:hover .brand-mark,
    .site-header .brand-theme-toggle:active .brand-mark,
    .site-header .brand-theme-toggle:focus .brand-mark {
        background: transparent !important;
        mix-blend-mode: normal !important;
        -webkit-mask: none;
        mask: none;
    }
    .site-header .nav-toggle {
        appearance: none !important;
        -webkit-appearance: none !important;
        -webkit-tap-highlight-color: transparent;
        position: relative;
        z-index: 5002;
        order: 3;
        display: grid !important;
        flex: 0 0 44px;
        width: 44px;
        min-width: 44px;
        max-width: 44px;
        height: 44px;
        margin: 0 0 0 auto !important;
        padding: 10px !important;
        place-content: center;
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
        color-scheme: dark !important;
        forced-color-adjust: none;
        border: 1px solid rgba(255,255,255,.12) !important;
        border-radius: 8px;
        background: #15181e !important;
        box-shadow: none !important;
        filter: none !important;
        transform: none !important;
        cursor: pointer;
    }
    .site-header .nav-toggle::before,
    .site-header .nav-toggle::after {
        content: "";
        display: block;
        grid-area: 1 / 1;
        width: 20px;
        height: 1px;
        background: #fff !important;
        forced-color-adjust: none;
        mix-blend-mode: normal !important;
        opacity: 1 !important;
        transition: transform .2s ease;
    }
    .site-header .nav-toggle::before {
        transform: translateY(-3.5px);
    }
    .site-header .nav-toggle::after {
        transform: translateY(3.5px);
    }
    .site-header .nav-toggle:hover,
    .site-header .nav-toggle:active,
    .site-header .nav-toggle:focus,
    .site-header .nav-toggle:focus-visible {
        color: #fff !important;
        background: #15181e !important;
        border-color: rgba(255,255,255,.12) !important;
        outline: 0 !important;
        box-shadow: none !important;
        filter: none !important;
    }
    .site-header .nav-toggle span:not(.screen-reader-text) {
        display: none !important;
    }
    .site-header .nav-toggle[aria-expanded="true"]::before {
        transform: rotate(45deg);
    }
    .site-header .nav-toggle[aria-expanded="true"]::after {
        transform: rotate(-45deg);
    }
    .site-header .primary-nav {
        position: fixed !important;
        z-index: 5001 !important;
        inset: 68px 0 0 !important;
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 4px;
        padding: 22px 18px 40px !important;
        overflow-y: auto;
        background: #090b0f !important;
        border-top: 1px solid rgba(255,255,255,.09);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
        backdrop-filter: none !important;
    }
    .site-header .primary-nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }
    .site-header .primary-nav a,
    html:not(.dark-mode) .site-header .primary-nav a {
        display: flex;
        min-height: 54px;
        align-items: center;
        padding: 0 16px !important;
        color: #b6bdc9 !important;
        background: transparent !important;
        border: 1px solid transparent;
        border-radius: 8px;
        font: 600 1rem/1 Manrope, Inter, sans-serif !important;
    }
    .site-header .primary-nav a:hover,
    .site-header .primary-nav a.is-active,
    html:not(.dark-mode) .site-header .primary-nav a:hover,
    html:not(.dark-mode) .site-header .primary-nav a.is-active {
        color: #fff !important;
        background: #15181e !important;
        border-color: rgba(255,255,255,.09);
    }
    .site-header .primary-nav .mobile-shop-link {
        display: flex;
        margin-top: 8px;
        color: #fff !important;
        background: #15181e !important;
        border-color: rgba(255,255,255,.11);
    }
    body.nav-open {
        overflow: hidden;
    }
}

/* About page: editorial, content-led, and intentionally non-hero. */
.about-intro {
    min-height: 0 !important;
    padding: 170px 0 105px !important;
    text-align: left !important;
    background:
        linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px),
        #090b10 !important;
    background-size: 72px 72px !important;
    border-bottom: 1px solid rgba(255,255,255,.09) !important;
}
.about-intro__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr);
    gap: clamp(60px, 10vw, 150px);
    align-items: end;
}
.about-intro .about-hero__est {
    margin-bottom: 24px;
    color: #789cff !important;
    font: 700 .67rem/1 Inter, sans-serif;
    letter-spacing: .18em !important;
}
.about-intro .about-hero__title {
    max-width: 980px;
    margin: 0 !important;
    color: #f5f7fa !important;
    font: 650 clamp(3.5rem, 7vw, 7.6rem)/.91 Manrope, Inter, sans-serif !important;
    letter-spacing: -.075em !important;
}
.about-intro__aside {
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.14);
}
.about-intro__aside > span {
    display: block;
    margin-bottom: 22px;
    color: #697386;
    font: 650 .59rem/1 Inter, sans-serif;
    letter-spacing: .15em;
}
.about-intro .about-hero__tagline {
    margin: 0 !important;
    color: #9299a8 !important;
    font-size: .96rem !important;
    line-height: 1.75;
}
.about-intro__facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 38px;
}
.about-intro__facts strong {
    display: block;
    color: #eef2f8;
    font: 620 1.35rem/1 Manrope, Inter, sans-serif;
}
.about-intro__facts small {
    display: block;
    margin-top: 8px;
    color: #626b7a;
    font-size: .58rem;
    line-height: 1.35;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.about-story,
.about-mission,
.about-board {
    padding-block: 125px !important;
}
.about-story {
    background: #0d1015 !important;
}
.about-story__grid {
    grid-template-columns: minmax(360px, .9fr) minmax(420px, 1.1fr) !important;
    align-items: center;
    gap: clamp(55px, 9vw, 130px) !important;
}
.about-story__image-placeholder {
    position: relative;
    overflow: hidden;
    border: 0 !important;
    border-radius: 3px !important;
    box-shadow: none !important;
}
.about-story__image-placeholder::after {
    content: "ARCHIVE / SAN DIEGO";
    position: absolute;
    right: 18px;
    bottom: 16px;
    padding: 8px 10px;
    color: rgba(255,255,255,.72);
    background: rgba(6,8,12,.72);
    font: 650 .56rem/1 Inter, sans-serif;
    letter-spacing: .14em;
}
.about-story__image-placeholder img {
    filter: saturate(.72) contrast(1.05);
}
.about-story__title,
.about-mission__title,
.about-board__title {
    color: #f4f6f9 !important;
    font: 650 clamp(2.5rem, 5vw, 4.9rem)/.98 Manrope, Inter, sans-serif !important;
    letter-spacing: -.055em !important;
}
.about-story__content p {
    font-size: 1rem;
    line-height: 1.85;
}
.about-mission {
    background:
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
        #080a0e !important;
    background-size: 72px 72px !important;
}
.about-mission__values {
    gap: 0 !important;
    margin-top: 55px;
    border-top: 1px solid rgba(255,255,255,.12);
    border-left: 1px solid rgba(255,255,255,.12);
}
.about-value {
    min-height: 310px;
    padding: 32px !important;
    border: 0 !important;
    border-right: 1px solid rgba(255,255,255,.12) !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 0 !important;
    background: rgba(9,12,18,.72) !important;
}
.about-value:hover {
    background: #11151d !important;
    transform: none !important;
}
.about-value__icon {
    display: grid;
    width: 42px;
    height: 42px;
    margin-bottom: 70px !important;
    place-items: center;
    color: #92adff;
    border: 1px solid rgba(120,156,255,.25);
    border-radius: 50%;
    font-size: 1rem !important;
    filter: none !important;
}
.about-board {
    background: #0c0f14 !important;
}
.about-board__title,
.about-board__intro {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.about-board__intro {
    max-width: 520px;
    margin: 18px 0 50px;
}
.about-board__members {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 64px !important;
    width: min(100%, 1120px) !important;
    margin-inline: auto !important;
    overflow: visible;
    background: transparent;
    border-top: 1px solid rgba(255,255,255,.15);
    border-radius: 0;
    counter-reset: board-member;
}
.board-member {
    counter-increment: board-member;
    position: relative;
    min-height: 104px;
    display: flex;
    align-items: center;
    padding: 24px 4px 24px 48px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 0 !important;
    background: transparent !important;
    text-align: left !important;
    transition: padding .2s ease, background .2s ease !important;
}
.board-member::before {
    content: counter(board-member, decimal-leading-zero);
    position: absolute;
    left: 4px;
    top: 29px;
    color: #596273;
    font: 650 .6rem/1 Inter, sans-serif;
    letter-spacing: .1em;
}
.board-member:hover {
    padding-left: 54px !important;
    background: linear-gradient(90deg, rgba(107,139,226,.07), transparent 72%) !important;
    transform: none !important;
}
.board-member__inner {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(125px, .72fr) minmax(160px, 1.28fr);
    gap: 24px;
    align-items: center;
    text-align: left !important;
}
.board-member__position {
    display: block;
    color: #7888a4 !important;
    font: 650 .63rem/1.45 Inter, sans-serif !important;
    line-height: 1.4;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.board-member__name {
    margin: 0 !important;
    color: #eef1f5 !important;
    font: 560 1.08rem/1.3 Inter, sans-serif;
    letter-spacing: -.02em;
}
html:not(.dark-mode) .about-board {
    background: #c3c3c3 !important;
}
html:not(.dark-mode) .about-board__title {
    color: #171a20 !important;
}
html:not(.dark-mode) .about-board__intro {
    color: #4d5159 !important;
}
html:not(.dark-mode) .board-member {
    color: #171a20 !important;
    background: transparent !important;
    border-bottom-color: rgba(0,0,0,.18) !important;
}
html:not(.dark-mode) .board-member:hover {
    background: linear-gradient(90deg, rgba(0,0,0,.055), transparent 72%) !important;
}
html:not(.dark-mode) .board-member__position {
    color: #525966 !important;
}
html:not(.dark-mode) .board-member__name {
    color: #171a20 !important;
}
html:not(.dark-mode) .board-member::before {
    color: #686d76;
}
html:not(.dark-mode) .about-board__members {
    border-top-color: rgba(0,0,0,.22);
}
html:not(.dark-mode) .about-intro,
html:not(.dark-mode) .about-story,
html:not(.dark-mode) .about-mission,
html:not(.dark-mode) .about-board {
    color: #f5f7fa !important;
}
@media (max-width: 850px) {
    .about-intro__layout,
    .about-story__grid {
        grid-template-columns: 1fr !important;
    }
    .about-intro { padding-top: 135px !important; }
    .about-intro__aside { max-width: 620px; }
    .about-board__members {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }
}
@media (max-width: 640px) {
    .about-intro { padding: 120px 0 78px !important; }
    .about-intro__facts { gap: 8px; }
    .about-story,
    .about-mission,
    .about-board { padding-block: 85px !important; }
    .about-mission__values { grid-template-columns: 1fr !important; }
    .board-member__inner {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

/* Pagination uses the same restrained dark action language. */
.pagination a,
.pagination span,
html:not(.dark-mode) .pagination a,
html:not(.dark-mode) .pagination span {
    min-width: 38px !important;
    height: 38px !important;
    padding: 0 12px !important;
    color: #aeb4bf !important;
    background: rgba(20,23,29,.9) !important;
    background-image: none !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    border-radius: 8px !important;
    box-shadow: inset 0 1px rgba(255,255,255,.035) !important;
    font: 600 .8rem/1 Manrope, Inter, sans-serif !important;
}
.pagination a:hover,
html.dark-mode .pagination a:hover,
html:not(.dark-mode) .pagination a:hover {
    color: #fff !important;
    background: rgba(31,35,43,.96) !important;
    background-image: none !important;
    border-color: rgba(255,255,255,.18) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.055) !important;
    transform: none !important;
}
.pagination .current,
html.dark-mode .pagination .current,
html:not(.dark-mode) .pagination .current {
    color: #fff !important;
    background: #2a2f38 !important;
    background-image: none !important;
    border-color: rgba(255,255,255,.25) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.08) !important;
}
.pagination .disabled,
html:not(.dark-mode) .pagination .disabled {
    color: #606671 !important;
    background: rgba(14,16,20,.72) !important;
    border-color: rgba(255,255,255,.07) !important;
    opacity: .65 !important;
}

/* Mobile light mode inherits the desktop light palette. Keep dark components
   dark and only tighten contrast on typography that sits directly on the
   neutral page canvas. */
@media (max-width: 768px) {
    html:not(.dark-mode) {
        --sd-bg: #fafafa;
        --sd-bg-soft: #f3f3f4;
        --bg: #fafafa;
        --bg-2: #f3f3f4;
    }
    html:not(.dark-mode) body {
        color: #17191d !important;
        background: #fafafa !important;
    }
    html:not(.dark-mode) :where(
        .gallery-header h1,
        .newsletters-header h1,
        .contact-header h1,
        .privacy-title,
        .coming-soon-title
    ) {
        color: #171a20 !important;
        opacity: 1 !important;
        text-shadow: none !important;
    }
    html:not(.dark-mode) :where(
        .gallery-header p,
        .newsletters-header p,
        .contact-subtitle,
        .coming-soon-subtitle
    ) {
        color: #4d5159 !important;
        opacity: 1 !important;
    }
    html:not(.dark-mode) .pagination {
        padding-block: 12px;
    }
    html:not(.dark-mode) .boating-concepts {
        color: #171a20 !important;
        background-color: #fafafa !important;
    }
    html:not(.dark-mode) .boating-concepts {
        background-image:
            linear-gradient(rgba(0,0,0,.028) 1px, transparent 1px),
            linear-gradient(90deg, rgba(0,0,0,.028) 1px, transparent 1px) !important;
    }
    html:not(.dark-mode) :where(
        .membership-access-note strong,
        .membership-access-copy h3
    ) {
        color: #202329 !important;
    }
    html:not(.dark-mode) :where(
        .membership-access-note span,
        .membership-access-index,
        .membership-access-label,
        .membership-access-copy p,
        .boating-concepts-kicker
    ) {
        color: #555a62 !important;
    }

    /* About: near-white Board directory with one neutral text hierarchy. */
    html:not(.dark-mode) .about-board {
        color: #171a20 !important;
        background: #fafafa !important;
    }
    html:not(.dark-mode) :where(
        .about-board__title,
        .board-member__name
    ) {
        color: #171a20 !important;
    }
    html:not(.dark-mode) :where(
        .about-board__intro,
        .board-member__position,
        .board-member::before
    ) {
        color: #555a62 !important;
    }
    html:not(.dark-mode) .about-board__members,
    html:not(.dark-mode) .board-member {
        border-color: rgba(0,0,0,.17) !important;
    }
    html:not(.dark-mode) .board-member:hover {
        background: rgba(0,0,0,.035) !important;
    }
}

/* Keep the About introduction typography identical in both themes. */
.about-intro .about-hero__est,
html.dark-mode .about-intro .about-hero__est,
html:not(.dark-mode) .about-intro .about-hero__est,
.about-intro .about-hero__title,
html.dark-mode .about-intro .about-hero__title,
html:not(.dark-mode) .about-intro .about-hero__title,
.about-intro__aside > span,
html.dark-mode .about-intro__aside > span,
html:not(.dark-mode) .about-intro__aside > span,
.about-intro__facts strong,
html.dark-mode .about-intro__facts strong,
html:not(.dark-mode) .about-intro__facts strong,
.about-intro__facts small,
html.dark-mode .about-intro__facts small,
html:not(.dark-mode) .about-intro__facts small {
    color: #fff !important;
}
.about-intro .about-hero__tagline,
html.dark-mode .about-intro .about-hero__tagline,
html:not(.dark-mode) .about-intro .about-hero__tagline {
    color: rgba(255,255,255,.78) !important;
}

/* Gallery and newsletter archives: editorial utility pages. */
.gallery-page,
.newsletters-page {
    min-height: 100vh;
    padding: 148px 0 110px !important;
    background: #080a0e !important;
}
.gallery-container,
.newsletters-container {
    width: min(calc(100% - 48px), 1240px) !important;
    max-width: none !important;
    padding: 0 !important;
}
.archive-header {
    max-width: none !important;
    margin: 0 0 72px !important;
}
.archive-header-meta,
.archive-header-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}
.archive-header-meta {
    padding-bottom: 19px;
    color: #70798a;
    border-bottom: 1px solid rgba(255,255,255,.12);
    font: 650 .61rem/1 Inter, sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.archive-header .page-title {
    max-width: 900px;
    margin: 42px 0 50px !important;
    color: #f5f7fa !important;
    font: 650 clamp(4.6rem, 9vw, 8.6rem)/.82 Manrope, Inter, sans-serif !important;
    letter-spacing: -.075em !important;
}
.archive-header-footer {
    align-items: flex-end;
}
.archive-header .page-subtitle {
    max-width: 630px;
    margin: 0 !important;
    color: #8d95a3 !important;
    font-size: 1rem !important;
    line-height: 1.7;
}
.archive-page-index {
    flex: 0 0 auto;
    color: #6e7684;
    font: 650 .62rem/1 Inter, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}

/* Gallery uses a changing editorial rhythm while retaining every uploaded image. */
.gallery-page .gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    grid-auto-flow: dense;
    gap: 12px !important;
    margin-bottom: 56px !important;
}
.gallery-page .gallery-card {
    grid-column: span 3;
    min-width: 0;
    overflow: hidden;
    border: 0 !important;
    border-radius: 3px !important;
    background: #11141a !important;
}
.gallery-page .gallery-card:nth-child(10n + 1),
.gallery-page .gallery-card:nth-child(10n + 6) {
    grid-column: span 6;
}
.gallery-page .gallery-card:nth-child(10n + 1) .gallery-image-wrapper,
.gallery-page .gallery-card:nth-child(10n + 6) .gallery-image-wrapper {
    padding-top: calc(50% - 6px) !important;
}
.gallery-page .gallery-image-wrapper {
    padding-top: 100% !important;
}
.gallery-page .gallery-image {
    transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .4s ease !important;
}
.gallery-page .gallery-card:hover {
    transform: none !important;
    border-color: transparent !important;
}
.gallery-page .gallery-card:hover .gallery-image {
    transform: scale(1.035) !important;
    filter: saturate(.86) contrast(1.04);
}
.gallery-page .gallery-overlay {
    align-items: flex-end !important;
    justify-content: stretch !important;
    opacity: 1 !important;
    background: linear-gradient(0deg, rgba(5,7,10,.92), rgba(5,7,10,.08) 58%, transparent) !important;
}
.gallery-page .gallery-overlay-content {
    width: 100%;
    padding: 50px 22px 20px !important;
    text-align: left !important;
    transform: translateY(44px);
    transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.gallery-page .gallery-card:hover .gallery-overlay-content {
    transform: translateY(0);
}
.gallery-photo-index {
    display: block;
    margin-bottom: 9px;
    color: rgba(255,255,255,.58);
    font: 650 .57rem/1 Inter, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.gallery-page .gallery-caption {
    overflow: hidden;
    margin: 0 !important;
    color: #fff !important;
    font: 620 1rem/1.25 Manrope, Inter, sans-serif !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.gallery-page .gallery-view-btn {
    width: 100%;
    height: 34px !important;
    margin-top: 15px;
    color: #f3f5f8 !important;
    background: rgba(255,255,255,.1) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    backdrop-filter: blur(10px);
}

/* Newsletter: subscription desk plus structured issue cards. */
.newsletter-signup-section {
    margin: 0 0 38px !important;
}
.newsletter-signup-card {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(480px, 1.2fr);
    gap: 70px;
    align-items: end;
    padding: 38px !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    border-radius: 3px !important;
    background:
        linear-gradient(135deg, rgba(95,131,224,.11), transparent 45%),
        #101319 !important;
}
.newsletter-signup-label {
    display: block;
    margin-bottom: 17px;
    color: #7f94ca;
    font: 700 .6rem/1 Inter, sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.newsletter-signup-card h3 {
    margin: 0 0 10px !important;
    color: #f4f6f9 !important;
    font: 620 clamp(2rem, 3vw, 3.15rem)/1 Manrope, Inter, sans-serif !important;
    letter-spacing: -.05em;
}
.newsletter-signup-card p {
    max-width: 450px;
    margin: 0 !important;
    color: #858e9e !important;
    line-height: 1.65;
}
.newsletter-signup-card .form-group-inline {
    gap: 9px;
}
.newsletter-signup-card .newsletter-signup-form input {
    min-width: 0;
    height: 48px;
    padding-inline: 17px !important;
    border-radius: 7px !important;
    background: #090b0f !important;
}
.newsletter-signup-card .btn-subscribe {
    min-width: 138px;
    height: 48px !important;
}
.newsletters-page .newsletters-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-bottom: 56px !important;
}
.newsletters-page .newsletter-card {
    position: relative;
    min-height: 320px;
    padding: 24px !important;
    gap: 0 !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 3px !important;
    background: #101319 !important;
}
.newsletters-page .newsletter-card:hover {
    transform: translateY(-3px) !important;
    background: #141820 !important;
    border-color: rgba(255,255,255,.19) !important;
}
.newsletter-card-topline {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 18px;
    color: #697282;
    border-bottom: 1px solid rgba(255,255,255,.09);
    font: 650 .57rem/1 Inter, sans-serif;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.newsletters-page .newsletter-card-content {
    flex: 1;
    padding: 30px 0 26px;
}
.newsletters-page .newsletter-card-icon {
    display: grid;
    width: 42px;
    height: 42px;
    margin-bottom: 37px;
    place-items: center;
    color: #a9bfff !important;
    border: 1px solid rgba(126,158,245,.27);
    border-radius: 50%;
    background: rgba(94,140,255,.08) !important;
    font-size: .95rem !important;
}
.newsletters-page .newsletter-card-title {
    margin: 0 0 13px !important;
    color: #f3f5f8 !important;
    font: 620 clamp(1.45rem, 2.2vw, 2rem)/1.08 Manrope, Inter, sans-serif !important;
    letter-spacing: -.04em;
    text-transform: capitalize;
}
.newsletters-page .newsletter-card-meta {
    flex-wrap: wrap;
    gap: 8px 18px !important;
    color: #788190 !important;
    font-size: .68rem !important;
}
.newsletters-page .newsletter-card-actions {
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.09);
}
.newsletters-page .newsletter-card-actions > * {
    min-height: 38px;
}
.newsletters-page .newsletter-preview {
    grid-column: 1 / -1;
    margin: 0 0 12px !important;
    border-radius: 3px !important;
    background: #101319 !important;
}
.newsletters-page .newsletter-preview-body {
    height: min(72vh, 760px) !important;
}

html:not(.dark-mode) .gallery-page,
html:not(.dark-mode) .newsletters-page {
    color: #17191d !important;
    background: #fafafa !important;
}
html:not(.dark-mode) .archive-header-meta {
    color: #656a72;
    border-bottom-color: rgba(0,0,0,.16);
}
html:not(.dark-mode) .archive-header .page-title {
    color: #17191d !important;
}
html:not(.dark-mode) .archive-header .page-subtitle,
html:not(.dark-mode) .archive-page-index {
    color: #565b63 !important;
}

@media (max-width: 980px) {
    .newsletter-signup-card {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .newsletters-page .newsletters-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .gallery-page .gallery-card {
        grid-column: span 4;
    }
    .gallery-page .gallery-card:nth-child(10n + 1),
    .gallery-page .gallery-card:nth-child(10n + 6) {
        grid-column: span 8;
    }
}

@media (max-width: 640px) {
    .gallery-page,
    .newsletters-page {
        padding: 112px 0 76px !important;
    }
    .gallery-container,
    .newsletters-container {
        width: min(calc(100% - 28px), 1240px) !important;
    }
    .archive-header {
        margin-bottom: 44px !important;
    }
    .archive-header-meta {
        padding-bottom: 14px;
        font-size: .52rem;
        letter-spacing: .12em;
    }
    .archive-header .page-title {
        margin: 30px 0 31px !important;
        font-size: clamp(3.25rem, 16vw, 4.4rem) !important;
        line-height: .88 !important;
    }
    .archive-header-footer {
        display: block;
    }
    .archive-header .page-subtitle {
        font-size: .9rem !important;
    }
    .archive-page-index {
        display: block;
        margin-top: 22px;
    }
    .gallery-page .gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }
    .gallery-page .gallery-card,
    .gallery-page .gallery-card:nth-child(10n + 1),
    .gallery-page .gallery-card:nth-child(10n + 6) {
        grid-column: span 1;
    }
    .gallery-page .gallery-card:nth-child(7n + 1) {
        grid-column: 1 / -1;
    }
    .gallery-page .gallery-card:nth-child(10n + 1) .gallery-image-wrapper,
    .gallery-page .gallery-card:nth-child(10n + 6) .gallery-image-wrapper,
    .gallery-page .gallery-card:nth-child(7n + 1) .gallery-image-wrapper {
        padding-top: 72% !important;
    }
    .gallery-page .gallery-overlay-content {
        padding: 38px 13px 12px !important;
        transform: none;
    }
    .gallery-page .gallery-caption {
        font-size: .78rem !important;
    }
    .gallery-page .gallery-view-btn {
        display: none !important;
    }
    .newsletter-signup-card {
        gap: 25px;
        padding: 24px !important;
    }
    .newsletter-signup-card h3 {
        font-size: 2rem !important;
    }
    .newsletter-signup-card .form-group-inline {
        display: grid;
        grid-template-columns: 1fr;
    }
    .newsletter-signup-card .btn-subscribe {
        width: 100%;
    }
    .newsletters-page .newsletters-grid {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }
    .newsletters-page .newsletter-card {
        min-height: 290px;
        padding: 21px !important;
    }
    .newsletters-page .newsletter-card-icon {
        margin-bottom: 28px;
    }
    .newsletters-page .newsletter-preview-body {
        height: 68vh !important;
    }
    .pagination .prev,
    .pagination .next {
        font-size: 0 !important;
    }
    .pagination .prev i,
    .pagination .next i {
        font-size: .8rem !important;
    }
}

/* Newsletter 3.4: a publication desk, deliberately distinct from Gallery. */
.newsletters-page {
    --dispatch-paper: #ebe7de;
    --dispatch-ink: #141414;
    --dispatch-muted: #68655f;
    --dispatch-rule: rgba(20,20,20,.22);
    color: #e9e7e2 !important;
    background: #0b0c0e !important;
}
.newsletters-container {
    width: min(calc(100% - 64px), 1320px) !important;
}
.newsletter-masthead {
    max-width: none !important;
    margin: 0 0 58px !important;
    color: #f3f1ec;
    border-top: 1px solid rgba(255,255,255,.18);
    border-bottom: 1px solid rgba(255,255,255,.18);
}
.newsletter-masthead-flag {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding: 15px 0;
    color: #777d87;
    border-bottom: 1px solid rgba(255,255,255,.12);
    font: 650 .58rem/1 Inter, sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.newsletter-masthead-main {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(330px, .55fr);
    min-height: 465px;
}
.newsletter-masthead-title {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 40px 55px 42px 0;
    border-right: 1px solid rgba(255,255,255,.14);
}
.newsletter-masthead-kicker {
    color: #8f949e;
    font: 650 .64rem/1 Inter, sans-serif;
    letter-spacing: .17em;
    text-transform: uppercase;
}
.newsletter-masthead .page-title {
    margin: 0 !important;
    color: #f3f1ec !important;
    font: 520 clamp(5rem, 10vw, 9.5rem)/.76 Georgia, "Times New Roman", serif !important;
    letter-spacing: -.075em !important;
}
.newsletter-masthead-copy {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 42px 0 42px 42px;
}
.newsletter-masthead .page-subtitle {
    max-width: 410px;
    margin: 0 !important;
    color: #9a9ea6 !important;
    font: 400 1rem/1.75 Georgia, "Times New Roman", serif !important;
}
.newsletter-masthead-copy dl {
    margin: 55px 0 0;
}
.newsletter-masthead-copy dl > div {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 12px 0;
    border-top: 1px solid rgba(255,255,255,.12);
}
.newsletter-masthead-copy dt,
.newsletter-masthead-copy dd {
    margin: 0;
    font: 650 .59rem/1.2 Inter, sans-serif;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.newsletter-masthead-copy dt { color: #626874; }
.newsletter-masthead-copy dd { color: #c5c8ce; }

.newsletters-page .newsletter-signup-section {
    margin-bottom: 76px !important;
}
.newsletters-page .newsletter-signup-card {
    grid-template-columns: minmax(0, .85fr) minmax(460px, 1.15fr);
    padding: 32px 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(255,255,255,.15) !important;
    border-bottom: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 0 !important;
    background: #22252b !important;
}
.newsletters-page .newsletter-signup-label {
    color: #777d87;
}
.newsletters-page .newsletter-signup-card h3 {
    font-family: Georgia, "Times New Roman", serif !important;
    font-weight: 400 !important;
    letter-spacing: -.04em !important;
}

.newsletters-page .newsletter-library {
    display: block !important;
    margin-bottom: 58px !important;
}
.newsletter-year-group {
    display: grid;
    grid-template-columns: minmax(180px, .24fr) minmax(0, .76fr);
    border-top: 1px solid rgba(255,255,255,.17);
}
.newsletter-year-heading {
    position: sticky;
    top: 105px;
    align-self: start;
    min-height: 260px;
    padding: 34px 32px 34px 0;
    border-right: 1px solid rgba(255,255,255,.14);
}
.newsletter-year-heading h2 {
    margin: 0 0 72px;
    color: #f0eee9;
    font: 400 clamp(4rem, 7vw, 7rem)/.8 Georgia, "Times New Roman", serif;
    letter-spacing: -.07em;
}
.newsletter-year-heading div {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.newsletter-year-heading span,
.newsletter-year-heading small {
    color: #737984;
    font: 650 .57rem/1 Inter, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.newsletter-year-heading small {
    color: #555b65;
}
.newsletter-year-issues {
    padding-left: 42px;
}
.newsletters-page .newsletter-card {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) auto;
    gap: 28px !important;
    align-items: center;
    min-height: 0 !important;
    padding: 28px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 0 !important;
    background: transparent !important;
}
.newsletters-page .newsletter-card:hover {
    transform: none !important;
    background: transparent !important;
    border-color: rgba(255,255,255,.28) !important;
}
.newsletter-issue-date {
    display: grid;
    width: 66px;
    aspect-ratio: 1;
    place-content: center;
    text-align: center;
    border: 1px solid rgba(255,255,255,.16);
}
.newsletter-issue-date span {
    color: #878c95;
    font: 650 .58rem/1 Inter, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.newsletter-issue-date strong {
    margin-top: 7px;
    color: #eceae5;
    font: 400 1.45rem/1 Georgia, "Times New Roman", serif;
}
.newsletters-page .newsletter-card-content {
    padding: 0 !important;
}
.newsletter-card-kicker {
    display: block;
    margin-bottom: 10px;
    color: #696f79;
    font: 650 .56rem/1 Inter, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.newsletters-page .newsletter-card-title {
    margin: 0 0 10px !important;
    color: #efede8 !important;
    font: 400 clamp(1.55rem, 2.4vw, 2.35rem)/1 Georgia, "Times New Roman", serif !important;
    letter-spacing: -.035em !important;
}
.newsletters-page .newsletter-card-meta {
    color: #737984 !important;
    font-size: .62rem !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.newsletters-page .newsletter-card-actions {
    display: grid !important;
    grid-template-columns: repeat(2, auto);
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.newsletters-page .newsletter-card-actions > * {
    min-width: 96px;
    padding-inline: 14px !important;
}
.newsletters-page .newsletter-preview {
    margin: 0 0 22px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: #22252b !important;
}
html.dark-mode .newsletters-page .newsletter-signup-card,
html.dark-mode .newsletters-page .newsletter-preview {
    background: #272b32 !important;
    background-image: none !important;
    border-color: rgba(255,255,255,.16) !important;
}
html.dark-mode .newsletters-page .newsletter-signup-form input {
    background: #343840 !important;
    border-color: rgba(255,255,255,.16) !important;
}
html.dark-mode .newsletters-page .newsletter-card-actions .btn-newsletter-view,
html.dark-mode .newsletters-page .newsletter-card-actions .btn-newsletter-download {
    color: #f5f7fa !important;
    background: #08090b !important;
    background-image: none !important;
    border-color: #08090b !important;
}
html.dark-mode .newsletters-page .btn-subscribe,
html.dark-mode .newsletters-page .pagination a,
html.dark-mode .newsletters-page .pagination span {
    color: #f5f7fa !important;
    background: #08090b !important;
    background-image: none !important;
    border-color: #08090b !important;
    box-shadow: none !important;
}
html.dark-mode .newsletters-page .btn-subscribe:hover,
html.dark-mode .newsletters-page .newsletter-card-actions .btn-newsletter-view:hover,
html.dark-mode .newsletters-page .newsletter-card-actions .btn-newsletter-download:hover,
html.dark-mode .newsletters-page .pagination a:hover {
    color: #fff !important;
    background: #1b1d21 !important;
    border-color: #1b1d21 !important;
}
html.dark-mode .newsletters-page .pagination .current {
    color: #fff !important;
    background: #2b2e34 !important;
    border-color: #484c54 !important;
}
html.dark-mode .newsletters-page .pagination .disabled {
    color: #7b8089 !important;
    background: #111317 !important;
    border-color: #111317 !important;
}

html:not(.dark-mode) .newsletters-page {
    color: var(--dispatch-ink) !important;
    background: var(--dispatch-paper) !important;
}
html:not(.dark-mode) .newsletter-masthead {
    color: var(--dispatch-ink);
    border-color: var(--dispatch-rule);
}
html:not(.dark-mode) .newsletter-masthead-flag,
html:not(.dark-mode) .newsletter-masthead-title,
html:not(.dark-mode) .newsletter-masthead-copy dl > div,
html:not(.dark-mode) .newsletters-page .newsletter-signup-card,
html:not(.dark-mode) .newsletter-year-group,
html:not(.dark-mode) .newsletter-year-heading,
html:not(.dark-mode) .newsletters-page .newsletter-card {
    border-color: var(--dispatch-rule) !important;
}
html:not(.dark-mode) .newsletter-masthead .page-title,
html:not(.dark-mode) .newsletter-year-heading h2,
html:not(.dark-mode) .newsletters-page .newsletter-card-title {
    color: var(--dispatch-ink) !important;
}
html:not(.dark-mode) .newsletter-masthead .page-subtitle,
html:not(.dark-mode) .newsletter-masthead-flag,
html:not(.dark-mode) .newsletter-masthead-copy dt,
html:not(.dark-mode) .newsletter-year-heading span,
html:not(.dark-mode) .newsletter-year-heading small,
html:not(.dark-mode) .newsletter-card-kicker,
html:not(.dark-mode) .newsletters-page .newsletter-card-meta {
    color: var(--dispatch-muted) !important;
}
html:not(.dark-mode) .newsletter-masthead-copy dd {
    color: #32312e;
}
html:not(.dark-mode) .newsletter-issue-date {
    border-color: rgba(20,20,20,.25);
}
html:not(.dark-mode) .newsletter-issue-date span {
    color: #69655f;
}
html:not(.dark-mode) .newsletter-issue-date strong {
    color: #171615;
}
html:not(.dark-mode) .newsletters-page .newsletter-signup-card {
    color: var(--dispatch-ink) !important;
    background: #ddd9d1 !important;
    background-image: none !important;
}
html:not(.dark-mode) .newsletters-page .newsletter-signup-card h3 {
    color: var(--dispatch-ink) !important;
}
html:not(.dark-mode) .newsletters-page .newsletter-signup-card p {
    color: #5f5b55 !important;
}
html:not(.dark-mode) .newsletters-page .newsletter-signup-form input {
    color: #171615 !important;
    background: #f6f3ed !important;
    border-color: rgba(20,20,20,.2) !important;
}
html:not(.dark-mode) .newsletters-page .newsletter-preview {
    color: var(--dispatch-ink) !important;
    background: #ddd9d1 !important;
    border-color: rgba(20,20,20,.22) !important;
}
html:not(.dark-mode) .newsletters-page .newsletter-card,
html:not(.dark-mode) .newsletters-page .newsletter-card:hover {
    color: var(--dispatch-ink) !important;
    background: transparent !important;
    background-image: none !important;
}
html:not(.dark-mode) .newsletters-page .newsletter-card-actions .btn-newsletter-view,
html:not(.dark-mode) .newsletters-page .newsletter-card-actions .btn-newsletter-download {
    color: #171615 !important;
    background: #d6d2ca !important;
    border-color: rgba(20,20,20,.24) !important;
}

@media (max-width: 900px) {
    .newsletter-masthead-main {
        grid-template-columns: 1fr;
    }
    .newsletter-masthead-title {
        min-height: 390px;
        padding-right: 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }
    .newsletter-masthead-copy {
        padding-left: 0;
    }
    html:not(.dark-mode) .newsletter-masthead-title {
        border-color: var(--dispatch-rule);
    }
    .newsletter-year-group {
        grid-template-columns: 150px minmax(0, 1fr);
    }
    .newsletter-year-heading {
        padding-right: 22px;
    }
    .newsletter-year-issues {
        padding-left: 28px;
    }
    .newsletters-page .newsletter-card {
        grid-template-columns: 64px minmax(0, 1fr);
    }
    .newsletters-page .newsletter-card-actions {
        grid-column: 2;
        justify-content: start;
        margin-top: 10px !important;
    }
}

@media (max-width: 640px) {
    .newsletters-container {
        width: min(calc(100% - 28px), 1320px) !important;
    }
    .newsletter-masthead {
        margin-bottom: 42px !important;
    }
    .newsletter-masthead-flag span:last-child {
        display: none;
    }
    .newsletter-masthead-title {
        min-height: 300px;
        padding: 28px 0 30px;
    }
    .newsletter-masthead .page-title {
        font-size: clamp(4.1rem, 21vw, 5.5rem) !important;
        line-height: .78 !important;
    }
    .newsletter-masthead-copy {
        padding: 28px 0;
    }
    .newsletters-page .newsletter-signup-card {
        grid-template-columns: 1fr;
        padding: 28px 0 !important;
    }
    .newsletter-year-group {
        display: block;
    }
    .newsletter-year-heading {
        position: static;
        display: flex;
        min-height: 0;
        justify-content: space-between;
        align-items: flex-end;
        padding: 30px 0 20px;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }
    html:not(.dark-mode) .newsletter-year-heading {
        border-color: var(--dispatch-rule);
    }
    .newsletter-year-heading h2 {
        margin: 0;
        font-size: 4.1rem;
    }
    .newsletter-year-heading div {
        align-items: flex-end;
    }
    .newsletter-year-issues {
        padding-left: 0;
    }
    .newsletters-page .newsletter-card {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 16px !important;
        padding: 23px 0 !important;
    }
    .newsletter-issue-date {
        width: 52px;
    }
    .newsletter-issue-date strong {
        font-size: 1.16rem;
    }
    .newsletters-page .newsletter-card-title {
        font-size: 1.55rem !important;
    }
    .newsletters-page .newsletter-card-actions {
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }
    .newsletters-page .newsletter-card-actions > * {
        min-width: 0;
    }
}

/* Newsletter 3.5: align the page frame with Gallery while retaining the year index. */
.newsletters-page .archive-header {
    max-width: none !important;
    margin: 0 0 72px !important;
    color: inherit;
    border: 0 !important;
}
.newsletters-page .archive-header .page-title {
    max-width: 900px;
    margin: 42px 0 50px !important;
    color: #f5f7fa !important;
    font: 650 clamp(4.6rem, 9vw, 8.6rem)/.82 Manrope, Inter, sans-serif !important;
    letter-spacing: -.075em !important;
}
.newsletters-page .newsletter-signup-section {
    margin-bottom: 66px !important;
}
.newsletters-page .newsletter-signup-card,
html.dark-mode .newsletters-page .newsletter-signup-card {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(460px, 1.15fr);
    gap: 60px;
    align-items: end;
    padding: 34px !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 3px !important;
    background: #272b32 !important;
}
.newsletters-page .newsletter-signup-card h3 {
    margin: 0 0 10px !important;
    color: #f4f6f9 !important;
    font: 620 clamp(2rem, 3vw, 3.15rem)/1 Manrope, Inter, sans-serif !important;
    letter-spacing: -.05em !important;
}
.newsletters-page .newsletter-signup-card p {
    color: #a3a8b1 !important;
}
.newsletters-page .newsletter-signup-label {
    color: #8f96a2 !important;
}

html:not(.dark-mode) .newsletters-page {
    --dispatch-paper: #fafafa;
    color: #17191d !important;
    background: #fafafa !important;
}
html:not(.dark-mode) .newsletters-page .archive-header .page-title {
    color: #17191d !important;
}
html:not(.dark-mode) .newsletters-page .newsletter-signup-card {
    color: #17191d !important;
    background: #fff !important;
    border-color: rgba(0,0,0,.14) !important;
}
html:not(.dark-mode) .newsletters-page .newsletter-signup-card h3 {
    color: #17191d !important;
}
html:not(.dark-mode) .newsletters-page .newsletter-signup-card p {
    color: #565b63 !important;
}
html:not(.dark-mode) .newsletters-page .newsletter-signup-label {
    color: #626871 !important;
}
html:not(.dark-mode) .newsletters-page .newsletter-signup-form input {
    color: #17191d !important;
    background: #f5f5f6 !important;
    border-color: rgba(0,0,0,.16) !important;
}
html:not(.dark-mode) .newsletters-page .newsletter-signup-form input::placeholder {
    color: #777c84 !important;
}
html:not(.dark-mode) .newsletters-page .btn-subscribe {
    color: #f5f7fa !important;
    background: #08090b !important;
    border-color: #08090b !important;
}
html:not(.dark-mode) body .newsletters-page .newsletter-card-actions .btn-newsletter-download {
    color: #f5f7fa !important;
    background: #08090b !important;
    background-image: none !important;
    border-color: #08090b !important;
}
body .gallery-page .pagination a,
body .gallery-page .pagination span,
body .newsletters-page .pagination a,
body .newsletters-page .pagination span,
html:not(.dark-mode) body .gallery-page .pagination a,
html:not(.dark-mode) body .gallery-page .pagination span,
html:not(.dark-mode) body .newsletters-page .pagination a,
html:not(.dark-mode) body .newsletters-page .pagination span {
    color: #f5f7fa !important;
    background: #08090b !important;
    background-image: none !important;
    border-color: #08090b !important;
    box-shadow: none !important;
}
body .gallery-page .pagination a:hover,
body .newsletters-page .pagination a:hover,
html:not(.dark-mode) body .gallery-page .pagination a:hover,
html:not(.dark-mode) body .newsletters-page .pagination a:hover {
    color: #fff !important;
    background: #1b1d21 !important;
    border-color: #1b1d21 !important;
}
body .gallery-page .pagination .current,
body .newsletters-page .pagination .current,
html:not(.dark-mode) body .gallery-page .pagination .current,
html:not(.dark-mode) body .newsletters-page .pagination .current {
    color: #fff !important;
    background: #2b2e34 !important;
    border-color: #484c54 !important;
}
body .gallery-page .pagination .disabled,
body .newsletters-page .pagination .disabled,
html:not(.dark-mode) body .gallery-page .pagination .disabled,
html:not(.dark-mode) body .newsletters-page .pagination .disabled {
    color: #7b8089 !important;
    background: #111317 !important;
    border-color: #111317 !important;
    opacity: .72 !important;
}

html.dark-mode .newsletters-page .newsletter-year-issues {
    padding: 0 0 0 42px;
}
html.dark-mode .newsletters-page .newsletter-card {
    margin: 0;
    padding: 28px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
}
html.dark-mode body .newsletters-page .newsletter-card,
html.dark-mode body .newsletters-page .newsletter-card:hover {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}
html.dark-mode .newsletters-page .newsletter-card:hover {
    background: transparent !important;
    border-color: rgba(255,255,255,.3) !important;
}
html.dark-mode .newsletters-page .newsletter-card-actions {
    padding-left: 0 !important;
}
html:not(.dark-mode) .newsletters-page .newsletter-card-actions .btn-newsletter-view,
html:not(.dark-mode) .newsletters-page .newsletter-card-actions .btn-newsletter-download {
    color: #f5f7fa !important;
    background: #08090b !important;
    border-color: #08090b !important;
}
html:not(.dark-mode) .newsletters-page .btn-subscribe:hover,
html:not(.dark-mode) .newsletters-page .newsletter-card-actions .btn-newsletter-view:hover,
html:not(.dark-mode) .newsletters-page .newsletter-card-actions .btn-newsletter-download:hover {
    color: #fff !important;
    background: #1b1d21 !important;
    border-color: #1b1d21 !important;
}

@media (max-width: 900px) {
    .newsletters-page .newsletter-signup-card,
    html.dark-mode .newsletters-page .newsletter-signup-card {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 640px) {
    .newsletters-page .archive-header {
        margin-bottom: 44px !important;
    }
    .newsletters-page .archive-header .page-title {
        margin: 30px 0 31px !important;
        font-size: clamp(3.25rem, 16vw, 4.4rem) !important;
        line-height: .88 !important;
    }
    .newsletters-page .newsletter-signup-card,
    html.dark-mode .newsletters-page .newsletter-signup-card {
        padding: 24px !important;
    }
    .newsletters-page .newsletter-signup-card h3 {
        font-size: 2rem !important;
    }
    html.dark-mode .newsletters-page .newsletter-year-issues {
        padding: 0;
    }
    html.dark-mode .newsletters-page .newsletter-card {
        padding: 23px 0 !important;
    }
    html.dark-mode .newsletters-page .newsletter-card-actions {
        padding-left: 0 !important;
    }
}

/* Contact page: modern harbor-office correspondence layout */
body:has(.contact-page) {
    background: #f4f4f2 !important;
}

.contact-page {
    padding: 145px 0 112px !important;
    color: #111317;
    background:
        linear-gradient(rgba(17, 19, 23, .045) 1px, transparent 1px),
        #f4f4f2 !important;
    background-size: 100% 88px !important;
}

.contact-page .contact-page-section {
    width: min(calc(100% - 56px), 1240px) !important;
    margin: 0 auto !important;
}

.contact-page .contact-header {
    max-width: none !important;
    margin: 0 0 68px !important;
}

.contact-page .archive-header-meta,
.contact-page .archive-header-footer {
    display: flex;
    justify-content: space-between;
    gap: 32px;
    border-color: rgba(17, 19, 23, .18) !important;
}

.contact-page .archive-header-meta {
    padding-bottom: 17px;
    border-bottom: 1px solid;
    color: #555961;
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.contact-page .archive-header .page-title {
    max-width: 920px;
    margin: 42px 0 45px !important;
    color: #111317 !important;
    font-family: "Inter", sans-serif !important;
    font-size: clamp(5rem, 10.2vw, 9.5rem) !important;
    font-weight: 660 !important;
    letter-spacing: -.078em !important;
    line-height: .79 !important;
}

.contact-page .archive-header-footer {
    align-items: flex-end;
    padding-top: 19px;
    border-top: 1px solid;
}

.contact-page .contact-subtitle {
    max-width: 590px;
    margin: 0 !important;
    color: #555961 !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
}

.contact-page .archive-page-index {
    flex: none;
    color: #555961;
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.contact-page .contact-grid {
    margin: 0 !important;
}

.contact-page .contact-container {
    display: grid !important;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(17, 19, 23, .2) !important;
    border-radius: 3px !important;
    background: #fff !important;
    box-shadow: 0 30px 80px rgba(17, 19, 23, .08) !important;
}

.contact-page .contact-image-section {
    min-width: 0;
    min-height: 760px;
    border-right: 1px solid rgba(17, 19, 23, .2);
}

.contact-page .contact-image-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: inherit;
    overflow: hidden;
}

.contact-page .contact-image-wrapper::after {
    position: absolute;
    inset: 0;
    content: "";
    background:
        linear-gradient(180deg, rgba(4, 7, 10, .08) 15%, rgba(4, 7, 10, .82) 100%),
        linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.18) 50%, transparent 50.2%);
    pointer-events: none;
}

.contact-page .contact-image-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    filter: saturate(.7) contrast(1.03);
    transform: scale(1.015);
}

.contact-page .contact-image-overlay {
    position: absolute;
    z-index: 2;
    right: 40px;
    bottom: 42px;
    left: 40px;
    color: #fff;
}

.contact-page .contact-image-overlay span,
.contact-page .contact-form-kicker {
    display: block;
    margin-bottom: 20px;
    color: inherit;
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.contact-page .contact-image-overlay strong {
    display: block;
    max-width: 360px;
    margin-bottom: 15px;
    font-size: clamp(2rem, 3.2vw, 3.35rem);
    font-weight: 590;
    letter-spacing: -.055em;
    line-height: .94;
}

.contact-page .contact-image-overlay p {
    max-width: 390px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: .9rem;
    line-height: 1.6;
}

.contact-page .contact-form-section {
    padding: 64px 68px 68px !important;
    color: #111317 !important;
    background: #fff !important;
}

.contact-page .contact-form-heading {
    margin-bottom: 48px;
    padding-bottom: 38px;
    border-bottom: 1px solid rgba(17, 19, 23, .18);
}

.contact-page .contact-form-kicker {
    margin-bottom: 18px;
    color: #6a6e76;
}

.contact-page .contact-form-section h2 {
    margin: 0 0 18px !important;
    color: #111317 !important;
    font-size: clamp(2.8rem, 4.3vw, 4.6rem) !important;
    font-weight: 620 !important;
    letter-spacing: -.066em !important;
    line-height: .94 !important;
}

.contact-page .form-intro {
    max-width: 590px;
    margin: 0 !important;
    color: #666a72 !important;
    font-size: .96rem !important;
    line-height: 1.7 !important;
}

.contact-page .contact-form,
.contact-page .form-row {
    display: grid;
}

.contact-page .contact-form {
    gap: 30px;
}

.contact-page .form-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.contact-page .form-group {
    margin: 0 !important;
}

.contact-page .form-group label {
    display: flex !important;
    align-items: center;
    gap: 11px;
    margin: 0 0 10px !important;
    color: #25282e !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: .08em;
    line-height: 1.3;
    text-transform: uppercase;
}

.contact-page .form-group label span {
    color: #92969e;
    font-variant-numeric: tabular-nums;
}

.contact-page .form-group input,
.contact-page .form-group select,
.contact-page .form-group textarea {
    width: 100% !important;
    min-height: 54px;
    padding: 14px 16px !important;
    border: 1px solid #d6d8dc !important;
    border-radius: 2px !important;
    outline: none;
    color: #111317 !important;
    background: #f5f5f3 !important;
    box-shadow: none !important;
    font: inherit !important;
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.contact-page .form-group textarea {
    min-height: 164px;
    resize: vertical;
}

.contact-page .form-group input::placeholder,
.contact-page .form-group textarea::placeholder {
    color: #8b8e95 !important;
}

.contact-page .form-group input:focus,
.contact-page .form-group select:focus,
.contact-page .form-group textarea:focus {
    border-color: #111317 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(17, 19, 23, .08) !important;
}

.contact-page .form-actions {
    margin: 4px 0 0 !important;
}

.contact-page .btn-submit {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 190px;
    min-height: 50px;
    padding: 13px 22px !important;
    border: 1px solid #08090b !important;
    border-radius: 7px !important;
    color: #fff !important;
    background: #08090b !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.13), 0 8px 24px rgba(0,0,0,.1) !important;
    font-size: .84rem !important;
    font-weight: 650 !important;
    letter-spacing: -.01em;
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease !important;
}

.contact-page .btn-submit:hover {
    border-color: #24262b !important;
    background: #24262b !important;
    transform: translateY(-2px);
}

.contact-page .btn-submit:disabled {
    cursor: wait;
    opacity: .65;
    transform: none;
}

.contact-page .form-message {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: .88rem;
}

.contact-page .form-message.success {
    color: #18774a !important;
}

.contact-page .form-message.error {
    color: #b93434 !important;
}

html.dark-mode body:has(.contact-page) {
    background: #08090c !important;
}

html.dark-mode .contact-page {
    color: #f4f5f7;
    background:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        #08090c !important;
    background-size: 100% 88px !important;
}

html.dark-mode .contact-page .archive-header-meta,
html.dark-mode .contact-page .archive-header-footer {
    border-color: rgba(255,255,255,.16) !important;
}

html.dark-mode .contact-page .archive-header-meta,
html.dark-mode .contact-page .contact-subtitle,
html.dark-mode .contact-page .archive-page-index {
    color: #9297a1 !important;
}

html.dark-mode .contact-page .archive-header .page-title {
    color: #f4f5f7 !important;
}

html.dark-mode .contact-page .contact-container {
    border-color: rgba(255,255,255,.16) !important;
    background: #0d0f13 !important;
    box-shadow: 0 34px 100px rgba(0,0,0,.28) !important;
}

html.dark-mode .contact-page .contact-image-section {
    border-color: rgba(255,255,255,.16);
}

html.dark-mode .contact-page .contact-form-section {
    color: #f4f5f7 !important;
    background: #0d0f13 !important;
}

html.dark-mode .contact-page .contact-form-heading {
    border-color: rgba(255,255,255,.15);
}

html.dark-mode .contact-page .contact-form-kicker,
html.dark-mode .contact-page .form-intro {
    color: #969ba5 !important;
}

html.dark-mode .contact-page .contact-form-section h2,
html.dark-mode .contact-page .form-group label {
    color: #f4f5f7 !important;
}

html.dark-mode .contact-page .form-group label span {
    color: #747a85;
}

html.dark-mode .contact-page .form-group input,
html.dark-mode .contact-page .form-group select,
html.dark-mode .contact-page .form-group textarea {
    border-color: rgba(255,255,255,.14) !important;
    color: #f4f5f7 !important;
    background: #15171c !important;
}

html.dark-mode .contact-page .form-group input::placeholder,
html.dark-mode .contact-page .form-group textarea::placeholder {
    color: #717681 !important;
}

html.dark-mode .contact-page .form-group input:focus,
html.dark-mode .contact-page .form-group select:focus,
html.dark-mode .contact-page .form-group textarea:focus {
    border-color: rgba(255,255,255,.48) !important;
    background: #191c22 !important;
    box-shadow: 0 0 0 3px rgba(255,255,255,.07) !important;
}

html.dark-mode .contact-page .btn-submit {
    border-color: #f1f2f4 !important;
    color: #111317 !important;
    background: #f1f2f4 !important;
    box-shadow: none !important;
}

html.dark-mode .contact-page .btn-submit:hover {
    border-color: #fff !important;
    background: #fff !important;
}

@media (max-width: 900px) {
    .contact-page .contact-container {
        grid-template-columns: 1fr !important;
    }

    .contact-page .contact-image-section {
        min-height: 500px;
        border-right: 0;
        border-bottom: 1px solid rgba(17, 19, 23, .2);
    }

    html.dark-mode .contact-page .contact-image-section {
        border-bottom-color: rgba(255,255,255,.16);
    }

    .contact-page .contact-form-section {
        padding: 50px 44px 54px !important;
    }
}

@media (max-width: 640px) {
    .contact-page {
        padding: 116px 0 76px !important;
        background-size: 100% 64px !important;
    }

    .contact-page .contact-page-section {
        width: min(calc(100% - 28px), 1240px) !important;
    }

    .contact-page .contact-header {
        margin-bottom: 44px !important;
    }

    .contact-page .archive-header-meta {
        gap: 16px;
        font-size: .57rem;
        letter-spacing: .12em;
    }

    .contact-page .archive-header-meta span:last-child {
        text-align: right;
    }

    .contact-page .archive-header .page-title {
        margin: 30px 0 31px !important;
        font-size: clamp(3.55rem, 17.5vw, 5rem) !important;
        line-height: .82 !important;
    }

    .contact-page .archive-header-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .contact-page .contact-subtitle {
        font-size: .9rem !important;
    }

    .contact-page .contact-image-section {
        min-height: 410px;
    }

    .contact-page .contact-image-overlay {
        right: 25px;
        bottom: 26px;
        left: 25px;
    }

    .contact-page .contact-image-overlay strong {
        font-size: 2.25rem;
    }

    .contact-page .contact-image-overlay p {
        font-size: .82rem;
    }

    .contact-page .contact-form-section {
        padding: 36px 24px 40px !important;
    }

    .contact-page .contact-form-heading {
        margin-bottom: 34px;
        padding-bottom: 29px;
    }

    .contact-page .contact-form-section h2 {
        font-size: 2.75rem !important;
    }

    .contact-page .form-row {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .contact-page .contact-form {
        gap: 26px;
    }

    .contact-page .btn-submit {
        width: 100%;
    }
}

/* Contact light mode must override the legacy global dark-card fallback. */
html:not(.dark-mode) body .contact-page .contact-form-section {
    color: #111317 !important;
    background: #fff !important;
    background-image: none !important;
    border-color: rgba(17, 19, 23, .2) !important;
}

html:not(.dark-mode) body .contact-page .contact-form-section h2,
html:not(.dark-mode) body .contact-page .form-group label {
    color: #111317 !important;
}

html:not(.dark-mode) body .contact-page .contact-form-kicker,
html:not(.dark-mode) body .contact-page .form-intro {
    color: #666a72 !important;
}

html:not(.dark-mode) body .contact-page .form-group input,
html:not(.dark-mode) body .contact-page .form-group select,
html:not(.dark-mode) body .contact-page .form-group textarea {
    border-color: #d6d8dc !important;
    color: #111317 !important;
    background: #f5f5f3 !important;
    background-image: none;
    color-scheme: light;
}

html:not(.dark-mode) body .contact-page .form-group select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666a72' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
}

html:not(.dark-mode) body .contact-page .form-group input::placeholder,
html:not(.dark-mode) body .contact-page .form-group textarea::placeholder {
    color: #8b8e95 !important;
}

html:not(.dark-mode) body .contact-page .form-group input:focus,
html:not(.dark-mode) body .contact-page .form-group select:focus,
html:not(.dark-mode) body .contact-page .form-group textarea:focus {
    border-color: #111317 !important;
    color: #111317 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(17, 19, 23, .08) !important;
}

/* Contact 3.6.1: use the exact Gallery/Newsletter page frame and header system. */
body:has(.contact-page),
html.dark-mode body:has(.contact-page) {
    background: #080a0e !important;
}

.contact-page,
html.dark-mode .contact-page {
    min-height: 100vh;
    padding: 148px 0 110px !important;
    color: #f5f7fa;
    background: #080a0e !important;
    background-image: none !important;
}

.contact-page::before,
.contact-page::after,
body:has(.contact-page)::before,
body:has(.contact-page)::after {
    display: none !important;
    content: none !important;
    background: none !important;
}

.contact-page .contact-page-section {
    width: min(calc(100% - 48px), 1240px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.contact-page .contact-header.archive-header {
    max-width: none !important;
    margin: 0 0 72px !important;
}

.contact-page .archive-header-meta,
.contact-page .archive-header-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.contact-page .archive-header-meta {
    padding-bottom: 19px;
    color: #70798a !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    font: 650 .61rem/1 Inter, sans-serif !important;
    letter-spacing: .16em !important;
    text-transform: uppercase;
}

.contact-page .archive-header .page-title {
    max-width: 900px;
    margin: 42px 0 50px !important;
    color: #f5f7fa !important;
    font: 650 clamp(4.6rem, 9vw, 8.6rem)/.82 Manrope, Inter, sans-serif !important;
    letter-spacing: -.075em !important;
}

.contact-page .archive-header-footer {
    align-items: flex-end;
    padding: 0;
    border: 0;
}

.contact-page .archive-header .page-subtitle {
    max-width: 630px;
    margin: 0 !important;
    color: #8d95a3 !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
}

.contact-page .archive-page-index {
    flex: 0 0 auto;
    color: #6e7684 !important;
    font: 650 .62rem/1 Inter, sans-serif !important;
    letter-spacing: .14em !important;
    text-transform: uppercase;
}

html:not(.dark-mode) body:has(.gallery-page),
html:not(.dark-mode) body:has(.newsletters-page),
html:not(.dark-mode) body:has(.contact-page) {
    background: #fff !important;
}

html:not(.dark-mode) .gallery-page,
html:not(.dark-mode) .newsletters-page,
html:not(.dark-mode) .contact-page {
    color: #17191d !important;
    background: #fff !important;
    background-image: none !important;
}

html:not(.dark-mode) .contact-page .archive-header-meta {
    color: #656a72 !important;
    border-bottom-color: rgba(0,0,0,.16) !important;
}

html:not(.dark-mode) .contact-page .archive-header .page-title {
    color: #17191d !important;
}

html:not(.dark-mode) .contact-page .archive-header .page-subtitle,
html:not(.dark-mode) .contact-page .archive-page-index {
    color: #565b63 !important;
}

@media (max-width: 640px) {
    .contact-page {
        padding: 112px 0 76px !important;
    }

    .contact-page .contact-page-section {
        width: min(calc(100% - 28px), 1240px) !important;
    }

    .contact-page .contact-header.archive-header {
        margin-bottom: 44px !important;
    }

    .contact-page .archive-header-meta {
        padding-bottom: 14px;
        font-size: .52rem !important;
        letter-spacing: .12em !important;
    }

    .contact-page .archive-header .page-title {
        margin: 30px 0 31px !important;
        font-size: clamp(3.25rem, 16vw, 4.4rem) !important;
        line-height: .88 !important;
    }

    .contact-page .archive-header-footer {
        display: block;
    }

    .contact-page .archive-header .page-subtitle {
        font-size: .9rem !important;
    }

    .contact-page .archive-page-index {
        display: block;
        margin-top: 22px;
    }
}

/* One archive frame across Gallery, Newsletter, and Contact. */
.gallery-container,
.newsletters-container,
.contact-page .contact-page-section {
    width: min(calc(100% - 48px), 1240px) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 0 !important;
}

.gallery-page,
.newsletters-page,
.contact-page,
html.dark-mode .gallery-page,
html.dark-mode .newsletters-page,
html.dark-mode .contact-page {
    background-color: #080a0e !important;
    background-image: none !important;
}

html:not(.dark-mode) .gallery-page,
html:not(.dark-mode) .newsletters-page,
html:not(.dark-mode) .contact-page {
    background-color: #fff !important;
}

@media (max-width: 640px) {
    .gallery-container,
    .newsletters-container,
    .contact-page .contact-page-section {
        width: min(calc(100% - 28px), 1240px) !important;
    }
}

/* Fishing 3.6.2: share the archive header used by Gallery, Newsletter, and Contact. */
.resources-page,
html.dark-mode .resources-page {
    min-height: 100vh;
    padding: 148px 0 110px !important;
    background-color: #080a0e !important;
    background-image: none !important;
}

.resources-page > .container {
    width: min(calc(100% - 48px), 1240px) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 0 !important;
}

.resources-page .resources-header.archive-header {
    max-width: none !important;
    margin: 0 0 72px !important;
}

.resources-page .archive-header-meta,
.resources-page .archive-header-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.resources-page .archive-header-meta {
    padding-bottom: 19px;
    color: #70798a !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    font: 650 .61rem/1 Inter, sans-serif !important;
    letter-spacing: .16em !important;
    text-transform: uppercase;
}

.resources-page .archive-header .page-title {
    display: block !important;
    width: auto !important;
    max-width: 900px;
    margin: 42px 0 50px !important;
    color: #f5f7fa !important;
    font: 650 clamp(4.6rem, 9vw, 8.6rem)/.82 Manrope, Inter, sans-serif !important;
    letter-spacing: -.075em !important;
    text-transform: none !important;
}

.resources-page .archive-header .page-title span {
    display: block;
    color: inherit !important;
    -webkit-text-stroke: 0 !important;
    opacity: 1 !important;
}

.resources-page .archive-header-footer {
    align-items: flex-end;
}

.resources-page .archive-header .page-subtitle {
    display: block;
    max-width: 630px;
    margin: 0 !important;
    color: #8d95a3 !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
}

.resources-page .archive-page-index {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #6e7684 !important;
    font: 650 .62rem/1 Inter, sans-serif !important;
    letter-spacing: .14em !important;
    text-transform: uppercase;
}

.resources-page .archive-page-index .live-indicator {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
}

html:not(.dark-mode) body:has(.resources-page),
html:not(.dark-mode) .resources-page {
    background-color: #fff !important;
    background-image: none !important;
}

html:not(.dark-mode) .resources-page .archive-header-meta {
    color: #656a72 !important;
    border-bottom-color: rgba(0,0,0,.16) !important;
}

html:not(.dark-mode) .resources-page .archive-header .page-title {
    color: #17191d !important;
}

html:not(.dark-mode) .resources-page .archive-header .page-subtitle,
html:not(.dark-mode) .resources-page .archive-page-index {
    color: #565b63 !important;
}

@media (max-width: 640px) {
    .resources-page {
        padding: 112px 0 76px !important;
    }

    .resources-page > .container {
        width: min(calc(100% - 28px), 1240px) !important;
        padding: 0 !important;
    }

    .resources-page .resources-header.archive-header {
        margin-bottom: 44px !important;
    }

    .resources-page .archive-header-meta {
        padding-bottom: 14px;
        font-size: .52rem !important;
        letter-spacing: .12em !important;
    }

    .resources-page .archive-header .page-title {
        margin: 30px 0 31px !important;
        font-size: clamp(3.25rem, 16vw, 4.4rem) !important;
        line-height: .88 !important;
    }

    .resources-page .archive-header-footer {
        display: block;
    }

    .resources-page .archive-header .page-subtitle {
        font-size: .9rem !important;
    }

    .resources-page .archive-page-index {
        margin-top: 22px;
    }
}

/* Fishing Ops 3.7.0: separate Marine Ops command-center redesign. */
body:has(.resources-ops-page),
html.dark-mode body:has(.resources-ops-page) {
    background: #050608 !important;
}

.resources-ops-page,
html.dark-mode .resources-ops-page {
    --ops-bg: #050608;
    --ops-panel: #0b0e13;
    --ops-panel-2: #11151c;
    --ops-panel-3: #171c24;
    --ops-ink: #f4f6f8;
    --ops-muted: #89919f;
    --ops-faint: #5d6675;
    --ops-line: rgba(255,255,255,.11);
    --ops-line-strong: rgba(255,255,255,.18);
    --ops-good: #47e0a0;
    --ops-blue: #7ea4ff;
    --ops-warn: #f2b15b;
    min-height: 100vh;
    padding: 136px 0 112px !important;
    color: var(--ops-ink) !important;
    background:
        radial-gradient(circle at 12% 0%, rgba(126,164,255,.12), transparent 32%),
        linear-gradient(180deg, #06070a 0%, #050608 42%, #07090d 100%) !important;
    background-color: var(--ops-bg) !important;
}

.resources-ops-page::before,
.resources-ops-page::after,
body:has(.resources-ops-page)::before,
body:has(.resources-ops-page)::after {
    display: none !important;
    content: none !important;
    background: none !important;
}

.resources-ops-page > .container {
    width: min(calc(100% - 48px), 1440px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.resources-ops-page .ops-hero.archive-header {
    margin-bottom: 38px !important;
}

.resources-ops-page .archive-header-meta {
    border-bottom-color: var(--ops-line-strong) !important;
    color: #798393 !important;
}

.resources-ops-page .archive-header .page-title {
    max-width: 1180px !important;
    color: var(--ops-ink) !important;
    font-size: clamp(4.7rem, 8.4vw, 9rem) !important;
    line-height: .8 !important;
}

.resources-ops-page .archive-header .page-subtitle {
    max-width: 700px !important;
    color: #a0a7b2 !important;
}

.resources-ops-page .archive-page-index {
    color: #848d9d !important;
}

.ops-command-deck {
    display: grid;
    grid-template-columns: minmax(360px, .95fr) minmax(420px, 1.3fr) minmax(240px, .55fr);
    gap: 10px;
    margin: 0 0 10px;
}

.ops-primary-card,
.ops-instrument,
.ops-time-card,
.resources-ops-page .dashboard-nav,
.resources-ops-page .card,
.resources-ops-page .radar-card,
.resources-ops-page .camera-card,
.resources-ops-page .species-item,
.resources-ops-page .hotspot-card,
.resources-ops-page .tide-card,
.resources-ops-page .moon-card,
.resources-ops-page .info-card,
.resources-ops-page .reg-card,
.resources-ops-page .weather-detail-card,
.resources-ops-page .weather-forecast-panel,
.resources-ops-page .table-container {
    border: 1px solid var(--ops-line) !important;
    border-radius: 3px !important;
    background: var(--ops-panel) !important;
    background-image: none !important;
    box-shadow: none !important;
}

.ops-primary-card {
    min-height: 270px;
    padding: 32px;
    background:
        linear-gradient(135deg, rgba(126,164,255,.12), transparent 46%),
        var(--ops-panel) !important;
}

.ops-card-label,
.ops-instrument span,
.ops-time-card span,
.resources-ops-page .section-header::before,
.resources-ops-page .weather-overview-location span,
.resources-ops-page .weather-overview-time span,
.resources-ops-page .weather-detail-card > div:nth-child(2),
.resources-ops-page .newsletter-card-kicker {
    color: var(--ops-faint) !important;
    font: 700 .6rem/1 Inter, sans-serif !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
}

.ops-status-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 40px 0 18px;
}

.ops-status-dot {
    width: 11px;
    height: 11px;
    border-radius: 999px;
    background: var(--ops-good);
    box-shadow: 0 0 0 8px rgba(71,224,160,.1);
}

.ops-status-row strong {
    color: var(--ops-ink);
    font: 640 clamp(2rem, 3.2vw, 3.65rem)/.95 Manrope, Inter, sans-serif;
    letter-spacing: -.06em;
}

.ops-primary-card p {
    max-width: 540px;
    margin: 0 0 34px;
    color: var(--ops-muted);
    line-height: 1.7;
}

.ops-mini-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid var(--ops-line);
    background: var(--ops-line);
}

.ops-mini-grid > div {
    min-width: 0;
    padding: 16px;
    background: rgba(255,255,255,.025);
}

.ops-mini-grid span {
    display: block;
    margin-bottom: 7px;
    color: var(--ops-faint);
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ops-mini-grid strong {
    display: block;
    overflow: hidden;
    color: var(--ops-ink);
    font-size: .95rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-instrument-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ops-instrument {
    min-height: 130px;
    padding: 22px;
}

.ops-instrument strong {
    display: block;
    margin: 26px 0 8px;
    color: var(--ops-ink);
    font: 640 clamp(1.85rem, 3vw, 3rem)/1 Manrope, Inter, sans-serif;
    letter-spacing: -.055em;
}

.ops-instrument small {
    color: var(--ops-muted);
}

.ops-time-card {
    display: flex;
    min-height: 270px;
    flex-direction: column;
    justify-content: space-between;
    padding: 28px;
}

.ops-time-card strong {
    color: var(--ops-ink);
    font: 620 clamp(1.8rem, 3vw, 3rem)/1 Manrope, Inter, sans-serif;
    letter-spacing: -.055em;
}

.ops-time-card p {
    margin: 0;
    color: var(--ops-muted);
    font-size: .9rem;
    line-height: 1.6;
}

.resources-ops-page .dashboard-nav {
    position: sticky !important;
    top: 74px !important;
    z-index: 130 !important;
    display: grid !important;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 1px !important;
    margin: 10px 0 10px !important;
    padding: 1px !important;
    overflow: hidden;
    background: var(--ops-line) !important;
    backdrop-filter: blur(16px);
}

.resources-ops-page .dashboard-nav.is-stuck {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    background: var(--ops-line) !important;
    box-shadow: 0 22px 60px rgba(0,0,0,.34) !important;
}

.resources-ops-page .dashboard-nav-step {
    display: none;
}

.resources-ops-page .dashboard-nav a {
    min-height: 58px;
    justify-content: center;
    padding: 0 12px !important;
    color: #9aa3b1 !important;
    background: #0b0e13 !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
}

.resources-ops-page .dashboard-nav a:hover,
.resources-ops-page .dashboard-nav a.active {
    color: #fff !important;
    background: #181d26 !important;
}

.resources-ops-page .dashboard-nav a i {
    color: #6f7b8d !important;
}

.resources-ops-page .section {
    margin: 0 !important;
    padding-top: 26px !important;
    scroll-margin-top: 156px !important;
}

.resources-ops-page .section.active {
    display: block;
}

.resources-ops-page .section-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: end !important;
    min-height: 0 !important;
    margin: 0 0 16px !important;
    padding: 22px 0 18px !important;
    border-bottom: 1px solid var(--ops-line-strong);
}

.resources-ops-page .section-header::before {
    grid-column: 1 / -1;
    content: "Active board";
}

.resources-ops-page .section-title {
    margin: 0 !important;
    color: var(--ops-ink) !important;
    font: 650 clamp(2.25rem, 4vw, 4.2rem)/.9 Manrope, Inter, sans-serif !important;
    letter-spacing: -.06em;
}

.resources-ops-page .section-title i {
    color: var(--ops-blue) !important;
    font-size: .72em;
}

.resources-ops-page .section-link {
    color: #c3c9d2 !important;
    border: 1px solid var(--ops-line) !important;
    border-radius: 999px;
    padding: 10px 13px;
    background: rgba(255,255,255,.035);
}

.resources-ops-page #weather-hero.weather-overview {
    grid-template-columns: minmax(240px, .8fr) minmax(360px, 1.45fr) minmax(260px, .75fr);
    min-height: 380px;
    margin-bottom: 10px !important;
    padding: 36px !important;
    background:
        linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px),
        #090c12 !important;
    background-size: 42px 42px !important;
}

.resources-ops-page .weather-overview #current-temp {
    color: var(--ops-ink) !important;
    font-size: clamp(6.5rem, 11vw, 10rem) !important;
}

.resources-ops-page .weather-overview #current-condition {
    color: #f0f3f6 !important;
}

.resources-ops-page .weather-overview #current-high-low,
.resources-ops-page .weather-overview-time strong,
.resources-ops-page .weather-overview-location h3 {
    color: #c5ccd6 !important;
}

.resources-ops-page .weather-details-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.resources-ops-page .weather-detail-card {
    min-height: 164px;
    padding: 24px !important;
    text-align: left !important;
}

.resources-ops-page .weather-detail-icon {
    margin-bottom: 24px;
    color: var(--ops-blue) !important;
}

.resources-ops-page .weather-forecast-panel {
    padding: 26px !important;
    margin-bottom: 10px !important;
}

.resources-ops-page .table-container {
    padding: 26px !important;
    overflow: hidden;
}

.resources-ops-page .table-container h3 {
    margin-bottom: 22px !important;
}

.resources-ops-page .table-container table {
    width: 100%;
    border-collapse: collapse;
}

.resources-ops-page .table-container th,
.resources-ops-page .table-container td {
    padding: 15px 12px !important;
    border-bottom: 1px solid var(--ops-line) !important;
    color: var(--ops-ink) !important;
    text-align: left;
}

.resources-ops-page .table-container th {
    color: var(--ops-muted) !important;
    font: 700 .68rem/1 Inter, sans-serif !important;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.resources-ops-page #hourly-forecast {
    grid-template-columns: repeat(13, minmax(76px, 1fr)) !important;
    gap: 6px !important;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 8px;
}

.resources-ops-page .forecast-item-hourly,
.resources-ops-page .forecast-item-daily,
.resources-ops-page .hourly-item,
.resources-ops-page .forecast-item,
.resources-ops-page [style*="background: var(--bg-elevated)"] {
    background: #11151c !important;
    border: 1px solid var(--ops-line) !important;
    border-radius: 3px !important;
}

.resources-ops-page .radar-grid,
.resources-ops-page .camera-grid,
.resources-ops-page .info-grid,
.resources-ops-page .species-grid,
.resources-ops-page .hotspots-grid,
.resources-ops-page .regulations-grid,
.resources-ops-page .moon-grid,
.resources-ops-page .mexico-grid {
    gap: 10px !important;
}

.resources-ops-page .radar-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.resources-ops-page .camera-grid,
.resources-ops-page .moon-grid,
.resources-ops-page .mexico-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.resources-ops-page .species-grid,
.resources-ops-page .hotspots-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.resources-ops-page .info-grid,
.resources-ops-page .regulations-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.resources-ops-page .radar-card,
.resources-ops-page .camera-card,
.resources-ops-page .species-item,
.resources-ops-page .hotspot-card,
.resources-ops-page .tide-card,
.resources-ops-page .moon-card,
.resources-ops-page .info-card,
.resources-ops-page .reg-card,
.resources-ops-page .conditions-panel,
.resources-ops-page .phase-card {
    padding: 24px !important;
    transition: border-color .2s ease, background-color .2s ease, transform .2s ease !important;
}

.resources-ops-page .radar-card:hover,
.resources-ops-page .camera-card:hover,
.resources-ops-page .species-item:hover,
.resources-ops-page .hotspot-card:hover,
.resources-ops-page .tide-card:hover,
.resources-ops-page .moon-card:hover,
.resources-ops-page .info-card:hover,
.resources-ops-page .reg-card:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(255,255,255,.24) !important;
    background: var(--ops-panel-2) !important;
}

.resources-ops-page h2,
.resources-ops-page h3,
.resources-ops-page h4,
.resources-ops-page .species-info h4,
.resources-ops-page .hotspot-info h4,
.resources-ops-page .radar-header h3,
.resources-ops-page .camera-card h3 {
    color: var(--ops-ink) !important;
}

.resources-ops-page p,
.resources-ops-page .species-method,
.resources-ops-page .species-location,
.resources-ops-page .hotspot-desc,
.resources-ops-page .hotspot-stat,
.resources-ops-page .camera-link-info span {
    color: var(--ops-muted) !important;
}

.resources-ops-page .species-icon,
.resources-ops-page .hotspot-icon,
.resources-ops-page [style*="background: rgba(58, 130, 255"],
.resources-ops-page [style*="background: rgba(16, 185, 129"],
.resources-ops-page [style*="background: rgba(255, 107, 74"] {
    background: rgba(126,164,255,.12) !important;
    border: 1px solid rgba(126,164,255,.18) !important;
}

.resources-ops-page .camera-link,
.resources-ops-page .reg-card,
.resources-ops-page .section-link {
    text-decoration: none !important;
}

.resources-ops-page iframe {
    filter: saturate(.84) contrast(1.02);
}

html:not(.dark-mode) body:has(.resources-ops-page) {
    background: #f7f7f5 !important;
}

html:not(.dark-mode) .resources-ops-page {
    --ops-bg: #f7f7f5;
    --ops-panel: #fff;
    --ops-panel-2: #f1f1ef;
    --ops-panel-3: #e8e8e5;
    --ops-ink: #121417;
    --ops-muted: #5f646d;
    --ops-faint: #777d87;
    --ops-line: rgba(18,20,23,.13);
    --ops-line-strong: rgba(18,20,23,.2);
    color: var(--ops-ink) !important;
    background:
        radial-gradient(circle at 16% 0%, rgba(18,20,23,.055), transparent 34%),
        #f7f7f5 !important;
}

html:not(.dark-mode) .resources-ops-page .archive-header .page-title,
html:not(.dark-mode) .resources-ops-page .section-title,
html:not(.dark-mode) .resources-ops-page h2,
html:not(.dark-mode) .resources-ops-page h3,
html:not(.dark-mode) .resources-ops-page h4 {
    color: var(--ops-ink) !important;
}

html:not(.dark-mode) .resources-ops-page .dashboard-nav {
    background: var(--ops-line) !important;
}

html:not(.dark-mode) .resources-ops-page .dashboard-nav a {
    color: #5d6470 !important;
    background: #fff !important;
}

html:not(.dark-mode) .resources-ops-page .dashboard-nav a:hover,
html:not(.dark-mode) .resources-ops-page .dashboard-nav a.active {
    color: #fff !important;
    background: #111317 !important;
}

html:not(.dark-mode) .resources-ops-page #weather-hero.weather-overview {
    color: #f4f6f9 !important;
    background:
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px),
        #111317 !important;
}

html:not(.dark-mode) .resources-ops-page #weather-hero.weather-overview * {
    color: inherit;
}

html:not(.dark-mode) .resources-ops-page .weather-overview #current-temp,
html:not(.dark-mode) .resources-ops-page .weather-overview #current-condition {
    color: #fff !important;
}

html:not(.dark-mode) .resources-ops-page .ops-primary-card,
html:not(.dark-mode) .resources-ops-page .ops-instrument,
html:not(.dark-mode) .resources-ops-page .ops-time-card,
html:not(.dark-mode) .resources-ops-page .card:not(#weather-hero),
html:not(.dark-mode) .resources-ops-page .radar-card,
html:not(.dark-mode) .resources-ops-page .camera-card,
html:not(.dark-mode) .resources-ops-page .species-item,
html:not(.dark-mode) .resources-ops-page .hotspot-card,
html:not(.dark-mode) .resources-ops-page .tide-card,
html:not(.dark-mode) .resources-ops-page .moon-card,
html:not(.dark-mode) .resources-ops-page .info-card,
html:not(.dark-mode) .resources-ops-page .reg-card,
html:not(.dark-mode) .resources-ops-page .conditions-panel,
html:not(.dark-mode) .resources-ops-page .phase-card,
html:not(.dark-mode) .resources-ops-page .weather-detail-card,
html:not(.dark-mode) .resources-ops-page .weather-forecast-panel,
html:not(.dark-mode) .resources-ops-page .table-container {
    color: var(--ops-ink) !important;
    background: #fff !important;
    background-image: none !important;
    border-color: var(--ops-line) !important;
}

html:not(.dark-mode) .resources-ops-page .forecast-item-hourly,
html:not(.dark-mode) .resources-ops-page .forecast-item-daily,
html:not(.dark-mode) .resources-ops-page .hourly-item,
html:not(.dark-mode) .resources-ops-page .forecast-item,
html:not(.dark-mode) .resources-ops-page [style*="background: var(--bg-elevated)"] {
    color: var(--ops-ink) !important;
    background: #f3f3f1 !important;
    border-color: var(--ops-line) !important;
}

html:not(.dark-mode) .resources-ops-page .card:not(#weather-hero) *,
html:not(.dark-mode) .resources-ops-page .radar-card *,
html:not(.dark-mode) .resources-ops-page .camera-card *,
html:not(.dark-mode) .resources-ops-page .species-item *,
html:not(.dark-mode) .resources-ops-page .hotspot-card *,
html:not(.dark-mode) .resources-ops-page .tide-card *,
html:not(.dark-mode) .resources-ops-page .moon-card *,
html:not(.dark-mode) .resources-ops-page .info-card *,
html:not(.dark-mode) .resources-ops-page .reg-card * {
    color: inherit;
}

html:not(.dark-mode) .resources-ops-page p,
html:not(.dark-mode) .resources-ops-page small,
html:not(.dark-mode) .resources-ops-page .species-method,
html:not(.dark-mode) .resources-ops-page .species-location,
html:not(.dark-mode) .resources-ops-page .hotspot-desc,
html:not(.dark-mode) .resources-ops-page .hotspot-stat,
html:not(.dark-mode) .resources-ops-page .camera-link-info span {
    color: var(--ops-muted) !important;
}

@media (max-width: 1120px) {
    .ops-command-deck {
        grid-template-columns: 1fr 1fr;
    }

    .ops-primary-card {
        grid-column: 1 / -1;
    }

    .resources-ops-page .species-grid,
    .resources-ops-page .hotspots-grid,
    .resources-ops-page .info-grid,
    .resources-ops-page .regulations-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 860px) {
    .resources-ops-page .radar-grid,
    .resources-ops-page .camera-grid,
    .resources-ops-page .moon-grid,
    .resources-ops-page .mexico-grid,
    .resources-ops-page .conditions-panel-layout {
        grid-template-columns: 1fr !important;
    }

    .resources-ops-page .weather-details-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .resources-ops-page {
        padding: 112px 0 78px !important;
    }

    .resources-ops-page > .container {
        width: min(calc(100% - 28px), 1440px) !important;
        padding: 0 !important;
    }

    .ops-command-deck,
    .ops-instrument-grid {
        grid-template-columns: 1fr;
    }

    .ops-primary-card,
    .ops-time-card,
    .ops-instrument {
        min-height: 0;
        padding: 22px;
    }

    .ops-status-row {
        margin-top: 30px;
    }

    .ops-mini-grid {
        grid-template-columns: 1fr;
    }

    .resources-ops-page .dashboard-nav {
        top: 68px !important;
        grid-template-columns: 44px minmax(0, 1fr) 44px !important;
        gap: 8px !important;
        margin: 10px 0 10px !important;
        padding: 8px !important;
        background: #080a0e !important;
        border-radius: 10px !important;
    }

    .resources-ops-page .dashboard-nav-step {
        display: grid;
        width: 44px;
        height: 44px;
        place-items: center;
        color: #fff !important;
        background: #141820 !important;
        border: 1px solid rgba(255,255,255,.12) !important;
        border-radius: 8px !important;
    }

    .resources-ops-page .dashboard-nav a {
        display: none !important;
        min-height: 44px;
        border: 1px solid rgba(255,255,255,.1) !important;
        border-radius: 8px !important;
        background: #141820 !important;
    }

    .resources-ops-page .dashboard-nav a.active {
        display: flex !important;
    }

    .resources-ops-page #weather-hero.weather-overview {
        grid-template-columns: 1fr !important;
        min-height: 0;
        padding: 24px !important;
    }

    .resources-ops-page .weather-overview #current-temp {
        font-size: clamp(5.2rem, 25vw, 7rem) !important;
    }

    .resources-ops-page #hourly-forecast {
        display: flex !important;
        overflow-x: auto;
        padding-bottom: 8px;
    }

    .resources-ops-page .forecast-item-hourly {
        min-width: 78px;
    }

    .resources-ops-page .weather-details-grid,
    .resources-ops-page .species-grid,
    .resources-ops-page .hotspots-grid,
    .resources-ops-page .info-grid,
    .resources-ops-page .regulations-grid {
        grid-template-columns: 1fr !important;
    }

    .resources-ops-page .section-header {
        display: block !important;
    }

    .resources-ops-page .section-link {
        display: inline-flex;
        margin-top: 16px;
    }
}

/* Fishing Ops 3.7.3: left-rail mission-control dashboard direction. */
body:has(.resources-ops-page),
html.dark-mode body:has(.resources-ops-page) {
    background:
        radial-gradient(circle at 18% 10%, rgba(121, 139, 255, .2), transparent 32%),
        radial-gradient(circle at 86% 12%, rgba(38, 221, 228, .13), transparent 34%),
        linear-gradient(135deg, #43558c 0%, #182050 36%, #080b24 100%) !important;
}

.resources-ops-page,
html.dark-mode .resources-ops-page {
    --ops-app-bg: #0b0d2e;
    --ops-app-bg-2: #12184b;
    --ops-rail: rgba(33, 42, 91, .94);
    --ops-rail-2: rgba(41, 53, 113, .9);
    --ops-panel: rgba(15, 17, 58, .92);
    --ops-panel-2: rgba(27, 33, 86, .9);
    --ops-panel-3: rgba(43, 53, 125, .66);
    --ops-ink: #f8fbff;
    --ops-muted: #abb7df;
    --ops-faint: #7f8bb9;
    --ops-line: rgba(155, 170, 255, .18);
    --ops-line-strong: rgba(179, 191, 255, .3);
    --ops-cyan: #18dbe7;
    --ops-blue: #7b8cff;
    --ops-coral: #ff778f;
    --ops-warn: #ffb36b;
    --ops-good: #31f0bd;
    padding: 104px 0 78px !important;
    background: transparent !important;
}

.resources-ops-page > .container {
    position: relative;
    display: grid;
    width: min(calc(100% - 44px), 1640px) !important;
    min-height: calc(100vh - 180px);
    grid-template-columns: 238px minmax(0, 1fr);
    grid-template-areas:
        "rail mast"
        "rail deck"
        "rail content";
    gap: 0;
    overflow: visible;
    border: 1px solid rgba(199, 210, 255, .17);
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
        linear-gradient(135deg, rgba(18, 23, 77, .98), rgba(7, 8, 33, .98) 62%, rgba(5, 7, 24, .98)) !important;
    background-size: 44px 44px, 44px 44px, auto !important;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .42);
}

.resources-ops-page .ops-hero.archive-header {
    grid-area: mast;
    display: grid !important;
    min-height: 78px;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: 22px;
    align-items: center;
    margin: 0 !important;
    padding: 18px 28px !important;
    border-bottom: 1px solid rgba(155, 170, 255, .14);
    background: rgba(31, 37, 93, .76);
    backdrop-filter: blur(18px);
}

.resources-ops-page .archive-header-meta {
    display: flex !important;
    grid-column: 1;
    grid-row: 1;
    gap: 14px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--ops-muted) !important;
    font-size: .66rem !important;
}

.resources-ops-page .archive-header .page-title {
    grid-column: 1;
    grid-row: 2;
    max-width: none !important;
    margin: 2px 0 0 !important;
    color: #fff !important;
    font: 760 clamp(1.2rem, 2vw, 1.85rem)/.92 Manrope, Inter, sans-serif !important;
    letter-spacing: -.045em !important;
}

.resources-ops-page .archive-header .page-title span {
    display: inline !important;
}

.resources-ops-page .archive-header-footer {
    grid-column: 2;
    grid-row: 1 / 3;
    display: flex !important;
    align-items: center;
    gap: 18px;
    margin: 0 !important;
}

.resources-ops-page .archive-header .page-subtitle {
    max-width: 440px !important;
    margin: 0 !important;
    color: #b7c2ed !important;
    font-size: .74rem !important;
    line-height: 1.45 !important;
}

.resources-ops-page .archive-page-index {
    flex: 0 0 auto;
    padding: 8px 11px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    color: #dfe7ff !important;
    background: rgba(9, 11, 43, .42);
}

.resources-ops-page .dashboard-nav {
    grid-area: rail;
    position: sticky !important;
    top: 88px !important;
    z-index: 20 !important;
    display: flex !important;
    min-height: calc(100vh - 180px);
    flex-direction: column;
    gap: 0 !important;
    margin: 0 !important;
    padding: 106px 0 22px !important;
    overflow: visible;
    border: 0 !important;
    border-right: 1px solid rgba(155, 170, 255, .15) !important;
    border-radius: 0 !important;
    background:
        linear-gradient(180deg, var(--ops-rail), rgba(24, 30, 80, .95)) !important;
    box-shadow: none !important;
}

.resources-ops-page .dashboard-nav::before {
    position: absolute;
    top: 26px;
    left: 24px;
    width: calc(100% - 48px);
    content: "SDRRC\A Fishing Ops";
    white-space: pre;
    color: #fff;
    font: 760 1.02rem/1.2 Manrope, Inter, sans-serif;
    letter-spacing: -.025em;
}

.resources-ops-page .dashboard-nav::after {
    position: absolute;
    top: 58px;
    left: 24px;
    width: calc(100% - 48px);
    content: "San Diego command board";
    color: #8f9bc5;
    font-size: .66rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.resources-ops-page .dashboard-nav a {
    position: relative;
    min-height: 58px;
    justify-content: flex-start;
    gap: 14px;
    padding: 0 24px !important;
    border-top: 1px solid rgba(255,255,255,.055) !important;
    color: #b3bce4 !important;
    background: transparent !important;
    font-size: .73rem !important;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.resources-ops-page .dashboard-nav a:last-of-type {
    border-bottom: 1px solid rgba(255,255,255,.055) !important;
}

.resources-ops-page .dashboard-nav a::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    content: "";
    opacity: 0;
    background: linear-gradient(180deg, var(--ops-cyan), var(--ops-blue));
}

.resources-ops-page .dashboard-nav a i {
    width: 22px;
    color: #8f9bcb !important;
    font-size: .95rem;
    text-align: center;
}

.resources-ops-page .dashboard-nav a:hover,
.resources-ops-page .dashboard-nav a.active {
    color: #fff !important;
    background: linear-gradient(90deg, rgba(123, 140, 255, .42), rgba(123, 140, 255, .1)) !important;
}

.resources-ops-page .dashboard-nav a:hover::before,
.resources-ops-page .dashboard-nav a.active::before {
    opacity: 1;
}

.resources-ops-page .dashboard-nav a:hover i,
.resources-ops-page .dashboard-nav a.active i {
    color: #fff !important;
}

.resources-ops-page .dashboard-nav-step {
    display: none !important;
}

.ops-command-deck {
    grid-area: deck;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .78fr) minmax(220px, .45fr);
    gap: 0;
    margin: 0 !important;
    border-bottom: 1px solid rgba(155, 170, 255, .14);
}

.ops-primary-card,
.ops-instrument,
.ops-time-card,
.resources-ops-page .card,
.resources-ops-page .radar-card,
.resources-ops-page .camera-card,
.resources-ops-page .species-item,
.resources-ops-page .hotspot-card,
.resources-ops-page .tide-card,
.resources-ops-page .moon-card,
.resources-ops-page .info-card,
.resources-ops-page .reg-card,
.resources-ops-page .weather-detail-card,
.resources-ops-page .weather-forecast-panel,
.resources-ops-page .table-container,
.resources-ops-page .conditions-panel,
.resources-ops-page .phase-card {
    border-color: rgba(155, 170, 255, .16) !important;
    border-radius: 0 !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.045), transparent 42%),
        var(--ops-panel) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.ops-primary-card {
    position: relative;
    min-height: 360px;
    padding: 28px 30px 24px !important;
    overflow: hidden;
    border-width: 0 1px 0 0 !important;
}

.ops-status-row {
    margin: 26px 0 14px !important;
}

.ops-status-row strong {
    font-size: clamp(2.1rem, 4.7vw, 4.85rem) !important;
    color: #fff !important;
    text-shadow: 0 0 28px rgba(24, 219, 231, .12);
}

.ops-primary-card p {
    max-width: 620px;
    margin-bottom: 20px !important;
}

.ops-mini-grid {
    width: min(100%, 560px);
    border-color: rgba(155, 170, 255, .14) !important;
    background: rgba(155, 170, 255, .14) !important;
}

.ops-mini-grid > div {
    background: rgba(28, 34, 92, .72) !important;
}

.ops-trend-chart {
    height: 150px;
    margin-top: 22px;
    opacity: .95;
}

.ops-trend-chart svg {
    display: block;
    width: 100%;
    height: 100%;
}

.ops-chart-grid {
    fill: none;
    stroke: rgba(171, 183, 223, .18);
    stroke-width: 1;
    stroke-dasharray: 4 7;
}

.ops-chart-line {
    fill: none;
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 12px rgba(24, 219, 231, .23));
}

.ops-chart-line-a {
    stroke: url(#opsTrendA);
}

.ops-chart-line-b {
    stroke: url(#opsTrendB);
}

.ops-chart-dot {
    fill: #10164b;
    stroke-width: 7;
}

.dot-a {
    stroke: var(--ops-blue);
}

.dot-b {
    stroke: var(--ops-coral);
}

.ops-instrument-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
}

.ops-instrument {
    min-height: 180px;
    padding: 24px !important;
    border-width: 0 1px 1px 0 !important;
}

.ops-instrument strong {
    margin-top: 30px !important;
    color: #fff !important;
    font-size: clamp(1.85rem, 3.1vw, 3.4rem) !important;
}

.ops-time-card {
    min-height: 360px;
    border-width: 0 !important;
    border-left: 1px solid rgba(155, 170, 255, .16) !important;
    background:
        radial-gradient(circle at 50% 35%, rgba(24, 219, 231, .22), transparent 28%),
        var(--ops-panel) !important;
}

.ops-time-card::before {
    display: grid;
    width: 142px;
    height: 142px;
    place-items: center;
    align-self: center;
    margin-top: 12px;
    border: 8px solid rgba(123, 140, 255, .34);
    border-top-color: var(--ops-coral);
    border-right-color: var(--ops-cyan);
    border-radius: 999px;
    content: "";
    box-shadow: 0 0 30px rgba(24, 219, 231, .18);
}

.resources-ops-page .section {
    grid-area: content;
    min-width: 0;
    margin: 0 !important;
    padding: 24px 28px 32px !important;
    scroll-margin-top: 104px !important;
}

.resources-ops-page .section-header {
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: 18px !important;
    padding: 0 0 18px !important;
}

.resources-ops-page .section-header::before {
    content: "Live board";
    color: #7f8bb9 !important;
}

.resources-ops-page .section-title {
    color: #fff !important;
    font-size: clamp(2rem, 3.6vw, 3.8rem) !important;
}

.resources-ops-page #weather-hero.weather-overview {
    min-height: 300px;
    border-color: rgba(155, 170, 255, .14) !important;
    background:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
        radial-gradient(circle at 76% 28%, rgba(255, 119, 143, .18), transparent 34%),
        #101449 !important;
    background-size: 34px 34px, 34px 34px, auto, auto !important;
}

.resources-ops-page .weather-overview #current-temp {
    color: #fff !important;
    font-size: clamp(5.5rem, 9vw, 8.5rem) !important;
}

.resources-ops-page .weather-details-grid {
    gap: 0 !important;
    border: 1px solid rgba(155, 170, 255, .14);
    border-top: 0;
}

.resources-ops-page .weather-detail-card {
    min-height: 168px;
    border-width: 0 1px 0 0 !important;
}

.resources-ops-page .weather-detail-card:last-child {
    border-right: 0 !important;
}

.resources-ops-page .weather-detail-icon,
.resources-ops-page .section-title i {
    color: var(--ops-cyan) !important;
    filter: drop-shadow(0 0 12px rgba(24, 219, 231, .32));
}

.resources-ops-page .weather-forecast-panel,
.resources-ops-page .radar-grid,
.resources-ops-page .camera-grid,
.resources-ops-page .info-grid,
.resources-ops-page .species-grid,
.resources-ops-page .hotspots-grid,
.resources-ops-page .regulations-grid,
.resources-ops-page .moon-grid,
.resources-ops-page .mexico-grid {
    gap: 0 !important;
}

.resources-ops-page .forecast-item-hourly,
.resources-ops-page .forecast-item-daily,
.resources-ops-page .hourly-item,
.resources-ops-page .forecast-item,
.resources-ops-page [style*="background: var(--bg-elevated)"] {
    border-radius: 0 !important;
    background: rgba(32, 39, 101, .66) !important;
}

.resources-ops-page .radar-card:hover,
.resources-ops-page .camera-card:hover,
.resources-ops-page .species-item:hover,
.resources-ops-page .hotspot-card:hover,
.resources-ops-page .tide-card:hover,
.resources-ops-page .moon-card:hover,
.resources-ops-page .info-card:hover,
.resources-ops-page .reg-card:hover {
    border-color: rgba(24, 219, 231, .36) !important;
    background:
        linear-gradient(135deg, rgba(24, 219, 231, .08), transparent 44%),
        rgba(28, 35, 94, .94) !important;
}

.resources-ops-page .camera-link,
.resources-ops-page .section-link {
    border-color: rgba(155, 170, 255, .2) !important;
    color: #e8edff !important;
    background: rgba(123, 140, 255, .12) !important;
}

.resources-ops-page .camera-link:hover,
.resources-ops-page .section-link:hover {
    border-color: rgba(24, 219, 231, .42) !important;
    background: rgba(24, 219, 231, .14) !important;
}

html:not(.dark-mode) body:has(.resources-ops-page) {
    background:
        radial-gradient(circle at 20% 8%, rgba(99, 116, 180, .26), transparent 34%),
        linear-gradient(135deg, #d7dcf1 0%, #bac3e3 44%, #ecedf4 100%) !important;
}

html:not(.dark-mode) .resources-ops-page {
    --ops-app-bg: #eef1fb;
    --ops-app-bg-2: #dbe2f5;
    --ops-rail: rgba(38, 49, 103, .95);
    --ops-rail-2: rgba(50, 64, 132, .92);
    --ops-panel: rgba(255, 255, 255, .92);
    --ops-panel-2: rgba(242, 245, 253, .94);
    --ops-panel-3: rgba(226, 232, 249, .86);
    --ops-ink: #11162e;
    --ops-muted: #5a6488;
    --ops-faint: #737da2;
    --ops-line: rgba(28, 38, 84, .15);
    --ops-line-strong: rgba(28, 38, 84, .24);
}

html:not(.dark-mode) .resources-ops-page > .container {
    background:
        linear-gradient(90deg, rgba(16,22,46,.035) 1px, transparent 1px),
        linear-gradient(rgba(16,22,46,.03) 1px, transparent 1px),
        linear-gradient(135deg, rgba(248, 250, 255, .98), rgba(232, 237, 251, .98)) !important;
    background-size: 44px 44px, 44px 44px, auto !important;
    box-shadow: 0 32px 80px rgba(37, 48, 99, .2);
}

html:not(.dark-mode) .resources-ops-page .ops-hero.archive-header {
    background: rgba(255, 255, 255, .72);
}

html:not(.dark-mode) .resources-ops-page .archive-header .page-title,
html:not(.dark-mode) .resources-ops-page .section-title,
html:not(.dark-mode) .resources-ops-page h2,
html:not(.dark-mode) .resources-ops-page h3,
html:not(.dark-mode) .resources-ops-page h4 {
    color: var(--ops-ink) !important;
}

html:not(.dark-mode) .resources-ops-page .dashboard-nav,
html:not(.dark-mode) .resources-ops-page .dashboard-nav a {
    color: #b8c2ee !important;
}

html:not(.dark-mode) .resources-ops-page .dashboard-nav a:hover,
html:not(.dark-mode) .resources-ops-page .dashboard-nav a.active {
    color: #fff !important;
}

html:not(.dark-mode) .ops-primary-card,
html:not(.dark-mode) .ops-instrument,
html:not(.dark-mode) .ops-time-card,
html:not(.dark-mode) .resources-ops-page .card:not(#weather-hero),
html:not(.dark-mode) .resources-ops-page .radar-card,
html:not(.dark-mode) .resources-ops-page .camera-card,
html:not(.dark-mode) .resources-ops-page .species-item,
html:not(.dark-mode) .resources-ops-page .hotspot-card,
html:not(.dark-mode) .resources-ops-page .tide-card,
html:not(.dark-mode) .resources-ops-page .moon-card,
html:not(.dark-mode) .resources-ops-page .info-card,
html:not(.dark-mode) .resources-ops-page .reg-card,
html:not(.dark-mode) .resources-ops-page .weather-detail-card,
html:not(.dark-mode) .resources-ops-page .weather-forecast-panel,
html:not(.dark-mode) .resources-ops-page .table-container,
html:not(.dark-mode) .resources-ops-page .conditions-panel,
html:not(.dark-mode) .resources-ops-page .phase-card {
    color: var(--ops-ink) !important;
    background:
        linear-gradient(135deg, rgba(17, 22, 46, .035), transparent 42%),
        rgba(255, 255, 255, .88) !important;
}

html:not(.dark-mode) .ops-status-row strong,
html:not(.dark-mode) .ops-instrument strong,
html:not(.dark-mode) .ops-time-card strong {
    color: var(--ops-ink) !important;
}

html:not(.dark-mode) .ops-mini-grid > div,
html:not(.dark-mode) .resources-ops-page .forecast-item-hourly,
html:not(.dark-mode) .resources-ops-page .forecast-item-daily,
html:not(.dark-mode) .resources-ops-page .hourly-item,
html:not(.dark-mode) .resources-ops-page .forecast-item,
html:not(.dark-mode) .resources-ops-page [style*="background: var(--bg-elevated)"] {
    background: rgba(235, 239, 251, .9) !important;
}

html:not(.dark-mode) .resources-ops-page #weather-hero.weather-overview {
    background:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
        radial-gradient(circle at 76% 28%, rgba(255, 119, 143, .2), transparent 34%),
        #182056 !important;
}

html:not(.dark-mode) .resources-ops-page #weather-hero.weather-overview,
html:not(.dark-mode) .resources-ops-page #weather-hero.weather-overview * {
    color: #fff !important;
}

@media (max-width: 1180px) {
    .resources-ops-page > .container {
        grid-template-columns: 206px minmax(0, 1fr);
    }

    .ops-command-deck {
        grid-template-columns: 1fr 1fr;
    }

    .ops-time-card {
        grid-column: 1 / -1;
        min-height: 160px;
        border-top: 1px solid rgba(155, 170, 255, .16) !important;
    }

    .ops-time-card::before {
        display: none;
    }
}

@media (max-width: 860px) {
    .resources-ops-page {
        padding-top: 92px !important;
    }

    .resources-ops-page > .container {
        display: block;
        width: min(calc(100% - 22px), 720px) !important;
        overflow: visible;
        border-radius: 10px;
    }

    .resources-ops-page .ops-hero.archive-header {
        display: block !important;
        padding: 22px !important;
    }

    .resources-ops-page .archive-header .page-title {
        margin-top: 10px !important;
        font-size: clamp(2rem, 10vw, 3.3rem) !important;
    }

    .resources-ops-page .archive-header-footer {
        display: block !important;
        margin-top: 16px !important;
    }

    .resources-ops-page .archive-page-index {
        display: inline-flex;
        margin-top: 14px;
    }

    .resources-ops-page .dashboard-nav {
        position: sticky !important;
        top: 68px !important;
        display: grid !important;
        min-height: 0;
        grid-template-columns: 46px minmax(0, 1fr) 46px !important;
        gap: 8px !important;
        padding: 8px !important;
        border: 1px solid rgba(155, 170, 255, .18) !important;
        border-radius: 10px !important;
        background: rgba(19, 24, 72, .96) !important;
    }

    .resources-ops-page .dashboard-nav::before,
    .resources-ops-page .dashboard-nav::after {
        display: none;
    }

    .resources-ops-page .dashboard-nav-step {
        display: grid !important;
        width: 46px;
        height: 46px;
        place-items: center;
        color: #fff !important;
        background: rgba(123, 140, 255, .2) !important;
        border: 1px solid rgba(255,255,255,.14) !important;
        border-radius: 8px !important;
    }

    .resources-ops-page .dashboard-nav a {
        display: none !important;
        min-height: 46px;
        justify-content: center;
        padding: 0 10px !important;
        border: 1px solid rgba(255,255,255,.1) !important;
        border-radius: 8px !important;
        background: rgba(123, 140, 255, .18) !important;
        text-align: center;
    }

    .resources-ops-page .dashboard-nav a.active {
        display: flex !important;
        background: linear-gradient(90deg, rgba(24, 219, 231, .2), rgba(123, 140, 255, .2)) !important;
    }

    .ops-command-deck,
    .ops-instrument-grid {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ops-primary-card,
    .ops-instrument,
    .ops-time-card {
        min-height: 0;
        border-width: 0 0 1px !important;
    }

    .ops-time-card::before {
        display: none;
    }

    .resources-ops-page .section {
        padding: 22px 14px 28px !important;
    }

    .resources-ops-page .section-header {
        display: block !important;
    }

    .resources-ops-page .weather-details-grid {
        grid-template-columns: 1fr !important;
    }

    .resources-ops-page .weather-detail-card {
        border-width: 0 0 1px !important;
    }
}

@media (min-width: 861px) {
    .resources-ops-page > .container {
        display: grid !important;
        grid-template-columns: 238px minmax(0, 1fr) !important;
        grid-template-areas:
            "rail mast"
            "rail deck"
            "rail content" !important;
        overflow: visible !important;
    }

    .resources-ops-page .dashboard-nav {
        grid-area: rail !important;
    }

    .resources-ops-page .ops-hero.archive-header {
        grid-area: mast !important;
    }

    .resources-ops-page .ops-command-deck {
        grid-area: deck !important;
    }

    .resources-ops-page .section {
        grid-area: content !important;
    }
}

/* Fishing Ops 3.7.4: contained SDRRC app-window redesign. */
body:has(.resources-ops-page),
html.dark-mode body:has(.resources-ops-page) {
    background: #050608 !important;
}

.resources-ops-page,
html.dark-mode .resources-ops-page {
    --ops-bg: #050608;
    --ops-window: #0a0b0f;
    --ops-window-2: #0f1117;
    --ops-panel: #11141b;
    --ops-panel-2: #171b24;
    --ops-panel-3: #1d222d;
    --ops-ink: #f7f8fa;
    --ops-muted: #9aa1ad;
    --ops-faint: #686f7c;
    --ops-line: rgba(255, 255, 255, .1);
    --ops-line-strong: rgba(255, 255, 255, .16);
    --ops-accent: #f2f4f8;
    --ops-accent-soft: rgba(255, 255, 255, .08);
    --ops-good: #7ddfba;
    --ops-warn: #d9a15f;
    --ops-danger: #f17b7b;
    min-height: 100vh;
    padding: 112px 0 88px !important;
    color: var(--ops-ink) !important;
    background:
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, .055), transparent 34%),
        linear-gradient(180deg, #050608 0%, #08090d 100%) !important;
}

.resources-ops-page::before,
.resources-ops-page::after,
body:has(.resources-ops-page)::before,
body:has(.resources-ops-page)::after {
    display: none !important;
    content: none !important;
}

.resources-ops-page > .container {
    display: grid !important;
    width: min(calc(100% - 40px), 1180px) !important;
    max-width: 1180px !important;
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
        "mast"
        "tabs"
        "deck"
        "content" !important;
    gap: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--ops-line-strong) !important;
    border-radius: 24px !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(180deg, rgba(17, 20, 27, .98), rgba(8, 9, 13, .98)) !important;
    background-size: 36px 36px, 36px 36px, auto !important;
    box-shadow: 0 26px 80px rgba(0, 0, 0, .38) !important;
}

.resources-ops-page .ops-hero.archive-header {
    grid-area: mast !important;
    display: grid !important;
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    column-gap: 22px !important;
    row-gap: 8px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 22px 24px !important;
    border-bottom: 1px solid var(--ops-line) !important;
    background: rgba(9, 10, 15, .9) !important;
    backdrop-filter: blur(18px);
}

.resources-ops-page .archive-header-meta {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--ops-faint) !important;
    font: 700 .62rem/1 Inter, sans-serif !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.resources-ops-page .archive-header .page-title {
    grid-column: 1 !important;
    grid-row: 2 !important;
    max-width: none !important;
    margin: 0 !important;
    color: var(--ops-ink) !important;
    font: 760 clamp(1.65rem, 2.7vw, 2.65rem)/.95 Manrope, Inter, sans-serif !important;
    letter-spacing: -.055em !important;
}

.resources-ops-page .archive-header .page-title span {
    display: inline !important;
}

.resources-ops-page .archive-header-footer {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    display: grid !important;
    max-width: 410px !important;
    gap: 10px !important;
    justify-items: end !important;
    margin: 0 !important;
}

.resources-ops-page .archive-header .page-subtitle {
    max-width: 410px !important;
    margin: 0 !important;
    color: var(--ops-muted) !important;
    font-size: .86rem !important;
    line-height: 1.55 !important;
    text-align: right !important;
}

.resources-ops-page .archive-page-index {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    width: max-content;
    padding: 8px 11px !important;
    border: 1px solid var(--ops-line-strong);
    border-radius: 999px !important;
    color: var(--ops-ink) !important;
    background: rgba(255,255,255,.045) !important;
    font-size: .68rem !important;
}

.ops-command-deck {
    grid-area: deck !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(290px, .95fr) minmax(210px, .5fr) !important;
    gap: 1px !important;
    margin: 0 !important;
    background: var(--ops-line) !important;
    border-bottom: 1px solid var(--ops-line) !important;
}

.resources-ops-page:not([data-active-section="weather"]) .ops-command-deck {
    display: none !important;
}

.ops-primary-card,
.ops-instrument,
.ops-time-card {
    min-height: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.045), transparent 48%),
        var(--ops-window-2) !important;
    box-shadow: none !important;
}

.ops-primary-card {
    padding: 20px 22px !important;
}

.ops-status-row {
    margin: 14px 0 10px !important;
}

.ops-status-row strong {
    max-width: 560px;
    color: var(--ops-ink) !important;
    font: 760 clamp(1.85rem, 3.7vw, 3.55rem)/.95 Manrope, Inter, sans-serif !important;
    letter-spacing: -.07em !important;
}

.ops-status-dot {
    background: var(--ops-good) !important;
    box-shadow: 0 0 0 8px rgba(125, 223, 186, .1) !important;
}

.ops-primary-card p {
    max-width: 590px !important;
    margin: 0 0 14px !important;
    color: var(--ops-muted) !important;
}

.ops-mini-grid {
    width: min(100%, 560px) !important;
    border-color: var(--ops-line) !important;
    background: var(--ops-line) !important;
}

.ops-mini-grid > div {
    background: rgba(255,255,255,.035) !important;
}

.ops-trend-chart {
    height: 78px !important;
    margin-top: 14px !important;
    opacity: .78 !important;
    filter: grayscale(.65) saturate(.65);
}

.ops-instrument-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1px !important;
    background: var(--ops-line) !important;
}

.ops-instrument {
    padding: 18px !important;
}

.ops-instrument strong {
    margin: 16px 0 6px !important;
    color: var(--ops-ink) !important;
    font-size: clamp(1.9rem, 3vw, 3.1rem) !important;
}

.ops-time-card {
    display: flex !important;
    justify-content: space-between !important;
    padding: 18px !important;
}

.ops-time-card::before {
    display: none !important;
}

.ops-time-card strong {
    color: var(--ops-ink) !important;
    font-size: clamp(1.65rem, 3vw, 2.6rem) !important;
}

.resources-ops-page .dashboard-nav {
    grid-area: tabs !important;
    position: relative !important;
    top: auto !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    min-height: 0 !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ops-line) !important;
    border-radius: 0 !important;
    background: rgba(7, 8, 12, .9) !important;
    box-shadow: none !important;
    backdrop-filter: blur(18px);
}

.resources-ops-page .dashboard-nav::before,
.resources-ops-page .dashboard-nav::after {
    display: none !important;
    content: none !important;
}

.resources-ops-page .dashboard-nav-step {
    display: none !important;
}

.resources-ops-page .dashboard-nav a {
    flex: 0 0 auto !important;
    min-height: 40px !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 13px !important;
    border: 1px solid var(--ops-line) !important;
    border-radius: 999px !important;
    color: var(--ops-muted) !important;
    background: rgba(255,255,255,.035) !important;
    font: 750 .72rem/1 Inter, sans-serif !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

.resources-ops-page .dashboard-nav a::before {
    display: none !important;
}

.resources-ops-page .dashboard-nav a i {
    width: auto !important;
    color: inherit !important;
    font-size: .9rem !important;
}

.resources-ops-page .dashboard-nav a:hover,
.resources-ops-page .dashboard-nav a.active {
    color: var(--ops-ink) !important;
    border-color: rgba(255,255,255,.24) !important;
    background: rgba(255,255,255,.12) !important;
}

.resources-ops-page .section {
    grid-area: content !important;
    min-width: 0 !important;
    min-height: 520px !important;
    max-height: min(64vh, 660px) !important;
    margin: 0 !important;
    padding: 24px !important;
    overflow: auto !important;
    scroll-margin-top: 0 !important;
    background: rgba(5, 6, 9, .44) !important;
}

.resources-ops-page .section.active {
    display: block !important;
}

.resources-ops-page .section-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 16px !important;
    align-items: end !important;
    margin: 0 0 18px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid var(--ops-line) !important;
}

.resources-ops-page .section-header::before {
    grid-column: 1 / -1;
    content: "Dashboard panel" !important;
    color: var(--ops-faint) !important;
    font: 700 .62rem/1 Inter, sans-serif !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.resources-ops-page .section-title {
    margin: 0 !important;
    color: var(--ops-ink) !important;
    font: 760 clamp(1.65rem, 3vw, 3rem)/.95 Manrope, Inter, sans-serif !important;
    letter-spacing: -.055em !important;
}

.resources-ops-page .section-title i,
.resources-ops-page .weather-detail-icon {
    color: var(--ops-muted) !important;
    filter: none !important;
}

.resources-ops-page .section-link,
.resources-ops-page .camera-link {
    color: var(--ops-ink) !important;
    border: 1px solid var(--ops-line) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.045) !important;
    text-decoration: none !important;
}

.resources-ops-page #weather-hero.weather-overview {
    grid-template-columns: minmax(210px, .75fr) minmax(260px, 1.2fr) minmax(190px, .58fr) !important;
    min-height: 250px !important;
    margin-bottom: 1px !important;
    padding: 26px !important;
    border: 1px solid var(--ops-line) !important;
    border-radius: 18px 18px 0 0 !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.024) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.024) 1px, transparent 1px),
        var(--ops-panel) !important;
    background-size: 28px 28px !important;
}

.resources-ops-page .weather-overview #current-temp {
    color: var(--ops-ink) !important;
    font-size: clamp(4.8rem, 8vw, 7.2rem) !important;
}

.resources-ops-page .weather-details-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1px !important;
    margin-bottom: 14px !important;
    border: 1px solid var(--ops-line) !important;
    border-top: 0 !important;
    border-radius: 0 0 18px 18px !important;
    overflow: hidden !important;
    background: var(--ops-line) !important;
}

.resources-ops-page .weather-detail-card,
.resources-ops-page .card:not(#weather-hero),
.resources-ops-page .radar-card,
.resources-ops-page .camera-card,
.resources-ops-page .species-item,
.resources-ops-page .hotspot-card,
.resources-ops-page .tide-card,
.resources-ops-page .moon-card,
.resources-ops-page .info-card,
.resources-ops-page .reg-card,
.resources-ops-page .table-container,
.resources-ops-page .conditions-panel,
.resources-ops-page .phase-card {
    color: var(--ops-ink) !important;
    border: 1px solid var(--ops-line) !important;
    border-radius: 18px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.045), transparent 48%),
        var(--ops-panel) !important;
    box-shadow: none !important;
}

.resources-ops-page .weather-detail-card {
    min-height: 132px !important;
    padding: 20px !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.resources-ops-page .weather-forecast-panel,
.resources-ops-page .table-container {
    padding: 22px !important;
}

.resources-ops-page #hourly-forecast {
    display: flex !important;
    max-width: 100% !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-bottom: 8px !important;
}

.resources-ops-page .forecast-item-hourly,
.resources-ops-page .forecast-item-daily,
.resources-ops-page .hourly-item,
.resources-ops-page .forecast-item,
.resources-ops-page [style*="background: var(--bg-elevated)"] {
    flex: 0 0 auto;
    border: 1px solid var(--ops-line) !important;
    border-radius: 14px !important;
    background: var(--ops-panel-2) !important;
}

.resources-ops-page .radar-grid,
.resources-ops-page .camera-grid,
.resources-ops-page .info-grid,
.resources-ops-page .species-grid,
.resources-ops-page .hotspots-grid,
.resources-ops-page .regulations-grid,
.resources-ops-page .moon-grid,
.resources-ops-page .mexico-grid {
    gap: 14px !important;
}

.resources-ops-page .radar-card:hover,
.resources-ops-page .camera-card:hover,
.resources-ops-page .species-item:hover,
.resources-ops-page .hotspot-card:hover,
.resources-ops-page .tide-card:hover,
.resources-ops-page .moon-card:hover,
.resources-ops-page .info-card:hover,
.resources-ops-page .reg-card:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(255,255,255,.2) !important;
    background: var(--ops-panel-2) !important;
}

.resources-ops-page h2,
.resources-ops-page h3,
.resources-ops-page h4,
.resources-ops-page .species-info h4,
.resources-ops-page .hotspot-info h4,
.resources-ops-page .radar-header h3,
.resources-ops-page .camera-card h3 {
    color: var(--ops-ink) !important;
}

.resources-ops-page p,
.resources-ops-page small,
.resources-ops-page .species-method,
.resources-ops-page .species-location,
.resources-ops-page .hotspot-desc,
.resources-ops-page .hotspot-stat,
.resources-ops-page .camera-link-info span {
    color: var(--ops-muted) !important;
}

html:not(.dark-mode) body:has(.resources-ops-page) {
    background: #f7f7f5 !important;
}

html:not(.dark-mode) .resources-ops-page {
    --ops-bg: #f7f7f5;
    --ops-window: #ffffff;
    --ops-window-2: #f4f4f2;
    --ops-panel: #ffffff;
    --ops-panel-2: #f0f0ee;
    --ops-panel-3: #e8e8e4;
    --ops-ink: #121417;
    --ops-muted: #5f646d;
    --ops-faint: #777d87;
    --ops-line: rgba(18, 20, 23, .12);
    --ops-line-strong: rgba(18, 20, 23, .18);
    color: var(--ops-ink) !important;
    background: #f7f7f5 !important;
}

html:not(.dark-mode) .resources-ops-page > .container {
    background:
        linear-gradient(90deg, rgba(18,20,23,.018) 1px, transparent 1px),
        linear-gradient(rgba(18,20,23,.018) 1px, transparent 1px),
        #fff !important;
    background-size: 36px 36px, 36px 36px, auto !important;
    box-shadow: 0 22px 70px rgba(18, 20, 23, .11) !important;
}

html:not(.dark-mode) .resources-ops-page .ops-hero.archive-header,
html:not(.dark-mode) .resources-ops-page .dashboard-nav {
    background: rgba(255,255,255,.9) !important;
}

html:not(.dark-mode) .resources-ops-page .section {
    background: #f7f7f5 !important;
}

html:not(.dark-mode) .resources-ops-page #weather-hero.weather-overview,
html:not(.dark-mode) .resources-ops-page .weather-detail-card,
html:not(.dark-mode) .resources-ops-page .card:not(#weather-hero),
html:not(.dark-mode) .resources-ops-page .radar-card,
html:not(.dark-mode) .resources-ops-page .camera-card,
html:not(.dark-mode) .resources-ops-page .species-item,
html:not(.dark-mode) .resources-ops-page .hotspot-card,
html:not(.dark-mode) .resources-ops-page .tide-card,
html:not(.dark-mode) .resources-ops-page .moon-card,
html:not(.dark-mode) .resources-ops-page .info-card,
html:not(.dark-mode) .resources-ops-page .reg-card,
html:not(.dark-mode) .resources-ops-page .table-container,
html:not(.dark-mode) .resources-ops-page .conditions-panel,
html:not(.dark-mode) .resources-ops-page .phase-card {
    color: var(--ops-ink) !important;
    background:
        linear-gradient(135deg, rgba(18,20,23,.025), transparent 48%),
        #fff !important;
}

html:not(.dark-mode) .resources-ops-page .dashboard-nav a {
    color: var(--ops-muted) !important;
    background: #f2f2ef !important;
}

html:not(.dark-mode) .resources-ops-page .dashboard-nav a:hover,
html:not(.dark-mode) .resources-ops-page .dashboard-nav a.active {
    color: #fff !important;
    background: #111317 !important;
}

@media (max-width: 1080px) {
    .ops-command-deck {
        grid-template-columns: 1fr 1fr !important;
    }

    .ops-time-card {
        grid-column: 1 / -1 !important;
    }

    .resources-ops-page .weather-details-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .resources-ops-page {
        padding: 96px 0 64px !important;
    }

    .resources-ops-page > .container {
        width: min(calc(100% - 22px), 560px) !important;
        border-radius: 18px !important;
    }

    .resources-ops-page .ops-hero.archive-header {
        display: block !important;
        padding: 20px !important;
    }

    .resources-ops-page .archive-header-meta {
        flex-wrap: wrap !important;
        margin-bottom: 10px !important;
    }

    .resources-ops-page .archive-header .page-title {
        font-size: clamp(2rem, 11vw, 3rem) !important;
    }

    .resources-ops-page .archive-header-footer {
        display: block !important;
        margin-top: 12px !important;
        max-width: none !important;
    }

    .resources-ops-page .archive-header .page-subtitle {
        max-width: none !important;
        text-align: left !important;
    }

    .resources-ops-page .archive-page-index {
        margin-top: 14px !important;
    }

    .ops-command-deck,
    .ops-instrument-grid {
        grid-template-columns: 1fr !important;
    }

    .ops-primary-card,
    .ops-instrument,
    .ops-time-card {
        padding: 20px !important;
    }

    .ops-status-row strong {
        font-size: clamp(2.2rem, 14vw, 3.65rem) !important;
    }

    .ops-mini-grid {
        grid-template-columns: 1fr !important;
    }

    .ops-trend-chart {
        height: 96px !important;
    }

    .resources-ops-page .dashboard-nav {
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) 42px !important;
        gap: 8px !important;
        padding: 10px !important;
        overflow: visible !important;
    }

    .resources-ops-page .dashboard-nav-step {
        display: grid !important;
        width: 42px;
        height: 42px;
        place-items: center;
        color: var(--ops-ink) !important;
        border: 1px solid var(--ops-line) !important;
        border-radius: 999px !important;
        background: rgba(255,255,255,.055) !important;
    }

    .resources-ops-page .dashboard-nav a {
        display: none !important;
        min-height: 42px !important;
        border-radius: 999px !important;
    }

    .resources-ops-page .dashboard-nav a.active {
        display: flex !important;
    }

    .resources-ops-page .section {
        min-height: 0 !important;
        max-height: none !important;
        padding: 18px !important;
        overflow: visible !important;
    }

    .resources-ops-page .section-header {
        display: block !important;
    }

    .resources-ops-page .section-link {
        display: inline-flex !important;
        margin-top: 14px !important;
    }

    .resources-ops-page #weather-hero.weather-overview,
    .resources-ops-page .weather-details-grid,
    .resources-ops-page .radar-grid,
    .resources-ops-page .camera-grid,
    .resources-ops-page .species-grid,
    .resources-ops-page .hotspots-grid,
    .resources-ops-page .info-grid,
    .resources-ops-page .regulations-grid,
    .resources-ops-page .moon-grid,
    .resources-ops-page .mexico-grid,
    .resources-ops-page .conditions-panel-layout {
        grid-template-columns: 1fr !important;
    }

    .resources-ops-page .weather-overview #current-temp {
        font-size: clamp(4rem, 22vw, 6rem) !important;
    }
}

/* Fishing Trip Board demo 3.7.8 */
body:has(.trip-board-page),
html.dark-mode body:has(.trip-board-page) {
    background: #050608 !important;
}

.trip-board-page,
html.dark-mode .trip-board-page {
    --trip-bg: #050608;
    --trip-shell: #0a0b0f;
    --trip-shell-2: #101218;
    --trip-card: #11141b;
    --trip-card-2: #171b24;
    --trip-ink: #f7f8fa;
    --trip-muted: #9aa1ad;
    --trip-faint: #68707e;
    --trip-line: rgba(255, 255, 255, .1);
    --trip-line-strong: rgba(255, 255, 255, .16);
    --trip-good: #7ddfba;
    --trip-warn: #d9a15f;
    padding: 116px 0 90px;
    color: var(--trip-ink);
    background:
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, .055), transparent 32%),
        linear-gradient(180deg, #050608 0%, #08090d 100%);
}

.trip-board-page::before,
.trip-board-page::after,
body:has(.trip-board-page)::before,
body:has(.trip-board-page)::after {
    display: none !important;
    content: none !important;
}

.trip-board-shell {
    width: min(calc(100% - 40px), 1180px);
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid var(--trip-line-strong);
    border-radius: 24px;
    background:
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        linear-gradient(180deg, rgba(17, 20, 27, .98), rgba(8, 9, 13, .98));
    background-size: 36px 36px, 36px 36px, auto;
    box-shadow: 0 26px 80px rgba(0, 0, 0, .38);
}

.trip-board-hero {
    display: grid;
    grid-template-columns: minmax(0, .86fr) minmax(420px, .74fr);
    gap: 26px;
    align-items: center;
    padding: 28px;
    border-bottom: 1px solid var(--trip-line);
    background:
        radial-gradient(circle at 82% 36%, rgba(125, 223, 186, .16), transparent 34%),
        radial-gradient(circle at 6% 0%, rgba(255, 255, 255, .07), transparent 34%),
        rgba(9, 10, 15, .9);
}

.trip-board-kicker,
.trip-board-card-label,
.trip-board-status-card span,
.trip-board-panel-head span {
    display: block;
    color: var(--trip-faint);
    font: 750 .68rem/1 Inter, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.trip-board-hero h1,
.trip-board-panel-head h2 {
    margin: 10px 0 0;
    color: var(--trip-ink);
    font: 780 clamp(2.35rem, 5vw, 5.1rem)/.9 Manrope, Inter, sans-serif;
    letter-spacing: -.075em;
}

.trip-board-hero h1 {
    max-width: 680px;
    font-size: clamp(3.8rem, 8.4vw, 7.9rem);
}

.trip-board-hero p,
.trip-board-panel-head p {
    max-width: 720px;
    margin: 16px 0 0;
    color: var(--trip-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.trip-board-live {
    position: relative;
    display: grid;
    gap: 12px;
    min-height: 330px;
    padding: 0;
    border: 1px solid var(--trip-line);
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.08), transparent 45%),
        rgba(255,255,255,.035);
    overflow: hidden;
    text-align: left;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 26px 60px rgba(0,0,0,.25);
}

.trip-board-live span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--trip-ink);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.trip-board-command-visual {
    isolation: isolate;
}

.trip-board-radar {
    position: absolute;
    inset: 0;
}

.trip-board-radar svg {
    width: 100%;
    height: 100%;
    display: block;
}

.trip-radar-grid {
    fill: none;
    stroke: rgba(255,255,255,.075);
    stroke-width: 1;
}

.trip-depth-line {
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-dasharray: 8 10;
}

.depth-a {
    stroke: rgba(247,248,250,.42);
}

.depth-b {
    stroke: rgba(125,223,186,.5);
}

.trip-route-line {
    fill: none;
    stroke: url(#tripRoute);
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 12px rgba(125,223,186,.34));
}

.trip-ping {
    fill: #050608;
    stroke: #7ddfba;
    stroke-width: 5;
    filter: drop-shadow(0 0 14px rgba(125,223,186,.56));
}

.ping-two {
    stroke: #f7f8fa;
}

.trip-board-radar text {
    fill: rgba(247,248,250,.52);
    font: 800 16px Inter, sans-serif;
    letter-spacing: .16em;
}

.trip-board-live-overlay,
.trip-board-score {
    position: relative;
    z-index: 1;
    width: fit-content;
    max-width: calc(100% - 36px);
    margin: 18px;
    padding: 14px 15px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    background: rgba(5,6,8,.68);
    backdrop-filter: blur(18px);
}

.trip-board-live-overlay {
    justify-self: end;
    text-align: right;
}

.trip-board-score {
    align-self: end;
    margin-top: auto;
}

.trip-board-score span,
.trip-board-score small {
    display: block;
    color: var(--trip-muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.trip-board-score strong {
    display: block;
    color: var(--trip-ink);
    font: 800 4.2rem/.82 Manrope, Inter, sans-serif;
    letter-spacing: -.08em;
}

.trip-board-live strong {
    color: var(--trip-ink);
    font: 780 1.85rem/1 Manrope, Inter, sans-serif;
    letter-spacing: -.055em;
}

.trip-board-live small {
    color: var(--trip-muted);
}

.trip-board-toolbar {
    display: flex;
    gap: 8px;
    padding: 12px 14px;
    overflow-x: auto;
    border-bottom: 1px solid var(--trip-line);
    background: rgba(7, 8, 12, .9);
}

.trip-board-toolbar button {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid var(--trip-line);
    border-radius: 999px;
    color: var(--trip-muted);
    background: rgba(255,255,255,.035);
    font: 800 .72rem/1 Inter, sans-serif;
    letter-spacing: .055em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.trip-board-toolbar button i {
    margin-right: 7px;
}

.trip-board-toolbar button:hover,
.trip-board-toolbar button.is-active {
    color: var(--trip-ink);
    border-color: rgba(255,255,255,.24);
    background: rgba(255,255,255,.12);
}

.trip-board-status-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, .62fr));
    gap: 1px;
    background: var(--trip-line);
}

.trip-board-status-card {
    min-height: 150px;
    padding: 22px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.045), transparent 48%),
        var(--trip-shell-2);
}

.trip-board-status-primary {
    min-height: 210px;
}

.trip-board-status-card strong {
    display: block;
    margin-top: 16px;
    color: var(--trip-ink);
    font: 780 clamp(2rem, 4vw, 4rem)/.95 Manrope, Inter, sans-serif;
    letter-spacing: -.07em;
}

.trip-board-status-card:not(.trip-board-status-primary) strong {
    font-size: clamp(1.75rem, 3vw, 2.75rem);
}

.trip-board-status-card p,
.trip-board-status-card small {
    display: block;
    margin-top: 10px;
    color: var(--trip-muted);
    line-height: 1.6;
}

.trip-board-workspace {
    min-height: 580px;
    background: rgba(5, 6, 9, .48);
}

.trip-board-panel {
    display: none;
    padding: 26px;
}

.trip-board-panel.is-active {
    display: block;
}

.trip-board-panel-head {
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--trip-line);
}

.trip-board-panel-head h2 {
    font-size: clamp(2rem, 4vw, 3.7rem);
}

.trip-board-today-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .75fr);
    gap: 16px;
}

.trip-board-card,
.trip-board-map-card {
    border: 1px solid var(--trip-line);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.045), transparent 48%),
        var(--trip-card);
    padding: 22px;
}

.trip-board-card-large {
    grid-row: span 2;
}

.trip-board-card h3,
.trip-board-map-card h3 {
    margin: 12px 0 0;
    color: var(--trip-ink);
    font: 760 1.45rem/1.1 Manrope, Inter, sans-serif;
    letter-spacing: -.04em;
}

.trip-board-card p,
.trip-board-map-card p {
    color: var(--trip-muted);
    line-height: 1.65;
}

.trip-board-card-large h3 {
    font-size: clamp(2.1rem, 4vw, 4.2rem);
    letter-spacing: -.07em;
}

.trip-board-meter {
    height: 9px;
    margin: 24px 0;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
}

.trip-board-meter span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--trip-good), rgba(255,255,255,.78));
}

.trip-board-mini-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    padding-top: 18px;
    border-top: 1px solid var(--trip-line);
    color: var(--trip-muted);
}

.trip-board-mini-row strong {
    color: var(--trip-ink);
}

.trip-board-steps,
.trip-board-list {
    display: grid;
    gap: 14px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

.trip-board-steps li,
.trip-board-list li {
    display: grid;
    gap: 4px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--trip-line);
}

.trip-board-steps li:last-child,
.trip-board-list li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.trip-board-steps strong,
.trip-board-list strong {
    color: var(--trip-ink);
}

.trip-board-steps span,
.trip-board-list span {
    color: var(--trip-muted);
    font-size: .92rem;
}

.trip-board-link-list {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.trip-board-link-list a {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 13px;
    border: 1px solid var(--trip-line);
    border-radius: 14px;
    color: var(--trip-ink);
    background: rgba(255,255,255,.035);
    text-decoration: none;
}

.trip-board-data-grid {
    display: grid;
    gap: 16px;
}

.trip-board-data-grid.two {
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
}

.trip-board-data-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trip-board-data-grid.four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trip-board-data-grid strong,
.trip-board-moon-card strong {
    display: block;
    margin-top: 14px;
    color: var(--trip-ink);
    font: 760 clamp(1.7rem, 3vw, 3rem)/1 Manrope, Inter, sans-serif;
    letter-spacing: -.055em;
}

.trip-board-strip {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    overflow-x: auto;
}

.trip-board-strip span {
    flex: 0 0 112px;
    padding: 14px;
    border: 1px solid var(--trip-line);
    border-radius: 16px;
    color: var(--trip-muted);
    background: var(--trip-card);
}

.trip-board-strip strong {
    color: var(--trip-ink);
    font-size: 1.6rem;
}

.trip-board-map-card {
    min-height: 420px;
}

.trip-board-map-placeholder {
    display: grid;
    min-height: 300px;
    place-items: center;
    margin-top: 18px;
    border: 1px solid var(--trip-line);
    border-radius: 18px;
    color: var(--trip-muted);
    background:
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        radial-gradient(circle at 64% 42%, rgba(255,255,255,.08), transparent 28%),
        #090b10;
    background-size: 28px 28px, 28px 28px, auto, auto;
    text-align: center;
}

.trip-board-map-placeholder i {
    display: block;
    margin-bottom: 10px;
    color: var(--trip-ink);
    font-size: 2rem;
}

.trip-board-species-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--trip-line);
    border-radius: 18px;
    background: var(--trip-line);
}

.trip-board-species-grid article {
    display: grid;
    gap: 8px;
    min-height: 150px;
    padding: 18px;
    background: var(--trip-card);
}

.trip-board-species-grid strong {
    color: var(--trip-ink);
    font: 760 1.2rem/1.1 Manrope, Inter, sans-serif;
}

.trip-board-species-grid span,
.trip-board-species-grid small {
    color: var(--trip-muted);
}

html:not(.dark-mode) body:has(.trip-board-page) {
    background: #f7f7f5 !important;
}

html:not(.dark-mode) .trip-board-page {
    --trip-bg: #f7f7f5;
    --trip-shell: #ffffff;
    --trip-shell-2: #f5f5f2;
    --trip-card: #ffffff;
    --trip-card-2: #f0f0ee;
    --trip-ink: #121417;
    --trip-muted: #5f646d;
    --trip-faint: #777d87;
    --trip-line: rgba(18, 20, 23, .12);
    --trip-line-strong: rgba(18, 20, 23, .18);
    color: var(--trip-ink);
    background: #f7f7f5 !important;
}

html:not(.dark-mode) .trip-board-shell {
    background:
        linear-gradient(90deg, rgba(18,20,23,.018) 1px, transparent 1px),
        linear-gradient(rgba(18,20,23,.018) 1px, transparent 1px),
        #fff;
    background-size: 36px 36px, 36px 36px, auto;
    box-shadow: 0 22px 70px rgba(18, 20, 23, .11);
}

html:not(.dark-mode) .trip-board-hero,
html:not(.dark-mode) .trip-board-toolbar {
    background: rgba(255,255,255,.9);
}

html:not(.dark-mode) .trip-board-workspace {
    background: #f7f7f5;
}

html:not(.dark-mode) .trip-board-toolbar button {
    background: #f2f2ef;
}

html:not(.dark-mode) .trip-board-toolbar button:hover,
html:not(.dark-mode) .trip-board-toolbar button.is-active {
    color: #fff;
    background: #111317;
}

@media (max-width: 980px) {
    .trip-board-hero,
    .trip-board-status-grid,
    .trip-board-today-layout,
    .trip-board-data-grid.two,
    .trip-board-data-grid.three,
    .trip-board-data-grid.four {
        grid-template-columns: 1fr;
    }

    .trip-board-live {
        justify-items: start;
        text-align: left;
    }

    .trip-board-status-primary {
        min-height: 0;
    }

    .trip-board-species-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .trip-board-page {
        padding: 94px 0 64px;
    }

    .trip-board-shell {
        width: min(calc(100% - 22px), 560px);
        border-radius: 18px;
    }

    .trip-board-hero,
    .trip-board-panel {
        padding: 20px;
    }

    .trip-board-hero h1 {
        font-size: clamp(2.4rem, 13vw, 3.4rem);
    }

    .trip-board-live {
        min-height: 280px;
    }

    .trip-board-toolbar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 10px;
        overflow: visible;
    }

    .trip-board-toolbar button {
        width: 100%;
        justify-content: center;
        white-space: normal;
    }

    .trip-board-status-card {
        min-height: 0;
        padding: 18px;
    }

    .trip-board-card-large h3,
    .trip-board-status-card strong {
        font-size: clamp(2rem, 11vw, 3.3rem);
    }

    .trip-board-mini-row {
        grid-template-columns: 1fr;
    }

    .trip-board-species-grid {
        grid-template-columns: 1fr;
    }

    .trip-board-map-card {
        min-height: 0;
    }

    .trip-board-map-placeholder {
        min-height: 220px;
    }
}

/* ── Nav v3: modern link treatment — no hover box ── */
.site-header .primary-nav a,
html:not(.dark-mode) .site-header .primary-nav a {
    position: relative;
    background: transparent !important;
    border-radius: 0 !important;
    transition: color .28s ease;
}
.site-header .primary-nav a:hover,
.site-header .primary-nav a.is-active,
html:not(.dark-mode) .site-header .primary-nav a:hover,
html:not(.dark-mode) .site-header .primary-nav a.is-active {
    background: transparent !important;
    color: #fff !important;
}

/* Hover highlights only the hovered link — the others are left alone (no dimming).
   The current page stays bold to show where you are. */
.site-header .primary-nav a.is-active { font-weight: 700; }

/* Shop is now a regular .primary-nav link (header.php) — no separate CTA. */

/* Dashboard, Contact, Shop: nav stays solid dark in BOTH themes — the .92 alpha
   let the light-mode page bleed through and wash the header out. */
body:has(.fishing-dashboard-page) .site-header,
body:has(.contact-page) .site-header,
body:has(.shop-coming-soon-section) .site-header,
html:not(.dark-mode) body:has(.fishing-dashboard-page) .site-header,
html:not(.dark-mode) body:has(.contact-page) .site-header,
html:not(.dark-mode) body:has(.shop-coming-soon-section) .site-header,
body:has(.fishing-dashboard-page) .site-header.is-scrolled,
body:has(.contact-page) .site-header.is-scrolled,
body:has(.shop-coming-soon-section) .site-header.is-scrolled,
html:not(.dark-mode) body:has(.fishing-dashboard-page) .site-header.is-scrolled,
html:not(.dark-mode) body:has(.contact-page) .site-header.is-scrolled,
html:not(.dark-mode) body:has(.shop-coming-soon-section) .site-header.is-scrolled {
    background: #07080b !important;
}

/* ── Unified 1240px content column ─────────────────────────────────────
   Home + About + Contact containers now match the dashboard / gallery /
   newsletters standard: min(calc(100% - 40px), 1240px),
.club-blueprints-container,
.boating-concepts-container,
.about-container,
.contact-page-section {
    width: min(calc(100% - 40px), 1240px) !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ── Contact v5: one design, both themes ───────────────────────────────
   Components are pixel-identical in dark and light mode — only the page
   canvas changes color with the theme (like the fishing dashboard). */

/* Photo: bottom fade only — no vertical hairline (both modes) */
.contact-page .contact-image-wrapper::after {
    background: linear-gradient(180deg, rgba(4, 7, 10, .05) 30%, rgba(4, 7, 10, .8) 100%) !important;
}

/* Canvas: the ONLY thing that changes between themes */
html.dark-mode body:has(.contact-page) { background: #080a0e !important; }
html.dark-mode .contact-page { background: #080a0e !important; background-size: auto !important; }
html:not(.dark-mode) body:has(.contact-page) { background: #cecece !important; }
html:not(.dark-mode) .contact-page { background: #cecece !important; background-size: auto !important; }

/* Page rhythm */
.contact-page,
html.dark-mode .contact-page,
html:not(.dark-mode) .contact-page { padding-top: 100px !important; }

/* Joined card — photo and form share ONE container, touching (the
   light-mode paper layout), dark surfaces in both modes */
.contact-page .contact-container,
html.dark-mode .contact-page .contact-container,
html:not(.dark-mode) .contact-page .contact-container {
    border: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 14px !important;
    background: #040509 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    gap: 0 !important;
    min-height: 0 !important;
}
@media (min-width: 969px) {
    .contact-page .contact-container,
    html.dark-mode .contact-page .contact-container,
    html:not(.dark-mode) .contact-page .contact-container {
        grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
    }
}
@media (max-width: 968px) {
    .contact-page .contact-container,
    html.dark-mode .contact-page .contact-container,
    html:not(.dark-mode) .contact-page .contact-container {
        grid-template-columns: 1fr !important;
    }
    .contact-page .contact-image-section {
        min-height: 380px !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    }
}

/* Photo half — flush inside the card, divider against the form */
.contact-page .contact-image-section,
html.dark-mode .contact-page .contact-image-section,
html:not(.dark-mode) .contact-page .contact-image-section {
    border: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 0 !important;
    overflow: hidden;
    min-height: 640px;
    background: #040509 !important;
}

/* Form half — open inside the shared card */
.contact-page .contact-form-section,
html.dark-mode .contact-page .contact-form-section,
html:not(.dark-mode) .contact-page .contact-form-section {
    padding: 52px 56px !important;
    color: #f7f8fa !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}
.contact-page .contact-form-heading { border-bottom: 1px solid rgba(255, 255, 255, .1) !important; margin-bottom: 30px !important; padding-bottom: 22px !important; }
.contact-page .contact-form-kicker,
html:not(.dark-mode) .contact-page .contact-form-kicker { color: #8a909c !important; margin-bottom: 10px !important; font-size: .64rem !important; }
.contact-page .contact-form-section h2,
html:not(.dark-mode) .contact-page .contact-form-section h2 {
    color: #f7f8fa !important;
    font-size: clamp(1.45rem, 2vw, 1.9rem) !important;
    letter-spacing: -.035em !important;
    line-height: 1.15 !important;
    margin: 0 0 10px !important;
}
.contact-page .form-intro,
html:not(.dark-mode) .contact-page .form-intro { color: #9299a8 !important; font-size: .9rem !important; }
.contact-page .contact-form { gap: 24px !important; }
.contact-page .form-group label,
html:not(.dark-mode) .contact-page .form-group label { color: #8a909c !important; }
.contact-page .form-group label span,
html:not(.dark-mode) .contact-page .form-group label span { color: #5e8cff !important; }

/* Fields: identical filled boxes in both modes */
.contact-page .form-group input,
.contact-page .form-group select,
.contact-page .form-group textarea,
html:not(.dark-mode) .contact-page .form-group input,
html:not(.dark-mode) .contact-page .form-group select,
html:not(.dark-mode) .contact-page .form-group textarea {
    border: 1px solid rgba(255, 255, 255, .13) !important;
    border-radius: 8px !important;
    padding: 14px 16px !important;
    color: #f7f8fa !important;
    background: #16181d !important;
    box-shadow: none !important;
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
    color-scheme: dark;
}
.contact-page .form-group select { padding-right: 44px !important; background-position: right 16px center !important; }
.contact-page .form-group select option { color: #f7f8fa; background: #15171c; }
.contact-page .form-group textarea { min-height: 140px; }
.contact-page .form-group input::placeholder,
.contact-page .form-group textarea::placeholder,
html:not(.dark-mode) .contact-page .form-group input::placeholder,
html:not(.dark-mode) .contact-page .form-group textarea::placeholder { color: #5b6270 !important; }
.contact-page .form-group input:focus,
.contact-page .form-group select:focus,
.contact-page .form-group textarea:focus,
html:not(.dark-mode) .contact-page .form-group input:focus,
html:not(.dark-mode) .contact-page .form-group select:focus,
html:not(.dark-mode) .contact-page .form-group textarea:focus {
    border-color: rgba(94, 140, 255, .65) !important;
    background: #1a1d23 !important;
    box-shadow: 0 0 0 3px rgba(94, 140, 255, .13) !important;
}

/* Action button — darker than the card, with a visible hairline border */
.contact-page .form-actions { margin: 4px 0 0 !important; text-align: left !important; }
.contact-page .btn-submit,
html.dark-mode .contact-page .btn-submit,
html:not(.dark-mode) .contact-page .btn-submit {
    border: 1px solid rgba(255, 255, 255, .16) !important;
    color: #fff !important;
    background: #010204 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}
.contact-page .btn-submit:hover,
html.dark-mode .contact-page .btn-submit:hover,
html:not(.dark-mode) .contact-page .btn-submit:hover {
    border-color: rgba(255, 255, 255, .28) !important;
    background: #0d0e13 !important;
    transform: translateY(-2px);
}
.contact-page .form-message.success { color: #34d399 !important; }
.contact-page .form-message.error { color: #f87171 !important; }

/* Photo overlay: calm sizing (both modes) */
.contact-page .contact-image-overlay strong {
    font-size: clamp(1.4rem, 2vw, 1.9rem) !important;
    letter-spacing: -.03em !important;
}

/* ── Contact v5.1: light mode = SAME dark card, only the canvas is light.
   Matches the specificity of the legacy light-paper block (html:not body)
   and lands later in the file, so it wins. ── */
html:not(.dark-mode) body .contact-page .contact-container {
    border-color: rgba(255, 255, 255, .08) !important;
    background: #0e0f13 !important;
}
html:not(.dark-mode) body .contact-page .contact-image-section {
    border-right-color: rgba(255, 255, 255, .08) !important;
    background: #0d0e12 !important;
}
html:not(.dark-mode) body .contact-page .contact-form-section {
    color: #f7f8fa !important;
    background: transparent !important;
    border-color: transparent !important;
}
html:not(.dark-mode) body .contact-page .contact-form-section h2 {
    color: #f7f8fa !important;
}
html:not(.dark-mode) body .contact-page .form-group label {
    color: #8a909c !important;
}
html:not(.dark-mode) body .contact-page .form-group label span {
    color: #5e8cff !important;
}
html:not(.dark-mode) body .contact-page .contact-form-kicker,
html:not(.dark-mode) body .contact-page .form-intro {
    color: #9299a8 !important;
}
html:not(.dark-mode) body .contact-page .contact-form-heading {
    border-bottom-color: rgba(255, 255, 255, .1) !important;
}
html:not(.dark-mode) body .contact-page .form-group input,
html:not(.dark-mode) body .contact-page .form-group select,
html:not(.dark-mode) body .contact-page .form-group textarea {
    border-color: rgba(255, 255, 255, .13) !important;
    color: #f7f8fa !important;
    background: #16181d !important;
    color-scheme: dark;
}
html:not(.dark-mode) body .contact-page .form-group select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238895A7' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
}
html:not(.dark-mode) body .contact-page .form-group select option {
    color: #f7f8fa;
    background: #15171c;
}
html:not(.dark-mode) body .contact-page .form-group input::placeholder,
html:not(.dark-mode) body .contact-page .form-group textarea::placeholder {
    color: #5b6270 !important;
}
html:not(.dark-mode) body .contact-page .form-group input:focus,
html:not(.dark-mode) body .contact-page .form-group select:focus,
html:not(.dark-mode) body .contact-page .form-group textarea:focus {
    border-color: rgba(94, 140, 255, .65) !important;
    color: #f7f8fa !important;
    background: #1a1d23 !important;
    box-shadow: 0 0 0 3px rgba(94, 140, 255, .13) !important;
}
/* Darker action button (below the card tone), highest-specificity variant */
html.dark-mode body .contact-page .btn-submit,
html:not(.dark-mode) body .contact-page .btn-submit {
    border: 1px solid rgba(255, 255, 255, .16) !important;
    color: #fff !important;
    background: #010204 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}
html.dark-mode body .contact-page .btn-submit:hover,
html:not(.dark-mode) body .contact-page .btn-submit:hover {
    border-color: rgba(255, 255, 255, .28) !important;
    background: #0d0e13 !important;
}

/* ── Footer: club logo occupies the brand column (retained per legal
   requirement — created by a former member). Social icons live under
   Privacy Policy in the Monthly meetings column. ── */
.footer-brand-logo {
    display: flex;
    align-items: center;
    justify-content: center;
}
.footer-brand-logo a {
    display: inline-block;
    line-height: 0;
}
.footer-logo-img {
    width: 345px;
    height: auto;
    max-width: 100%;
    display: block;
}
.footer-links .footer-social {
    margin-top: 16px;
}
/* Explore + Monthly meetings top-align to each other (headings on one line);
   the Explore column is centered in the space between the logo and Monthly meetings. */
.footer-grid > .footer-links { align-self: start !important; }
.footer-grid > .footer-links:nth-child(2) { text-align: center; align-items: center; }
@media (max-width: 700px) {
    .footer-logo-img { width: 288px; }
    /* Stacked on mobile: keep columns left-aligned for readability. */
    .footer-grid > .footer-links:nth-child(2) { text-align: left; align-items: stretch; }
}

/* ── Contact + Shop boxes: match the fishing-dashboard content tone
   (#040509 — deliberately darker than the page background) for a
   consistent recessed-panel look across the site. ── */
body .contact-page .contact-container,
body .contact-page .contact-image-section {
    background: #040509 !important;
}
.contact-quick .cq-item {
    background: #040509 !important;
}
.shop-tile,
.shop-notify,
.shop-crew,
.shop-chip {
    background: #040509 !important;
}
