/* 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;
}

.mintlify-hero .mintlify-hero-image::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(7,8,11,.88) 0%, rgba(7,8,11,.58) 32%, rgba(7,8,11,.18) 72%, rgba(7,8,11,.28) 100%);
}
.mintlify-hero .mintlify-hero-image img.active {
    opacity: 1 !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) .mintlify-section-title,
html:not(.dark-mode) .mintlify-stat-number,
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) .mintlify-section-subtitle,
html:not(.dark-mode) .mintlify-stat-label,
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) .mintlify-stats,
html:not(.dark-mode) .mintlify-services,
html:not(.dark-mode) .mintlify-gallery,
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) .mintlify-service-card,
html:not(.dark-mode) .mintlify-gallery-item,
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) .mintlify-service-card:hover,
html:not(.dark-mode) .mintlify-gallery-item:hover,
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) .mintlify-service-icon,
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) .mintlify-gallery-label,
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: var(--sd-bg) !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;
}

/* Image-backed sections remain cinematic in either mode. */
html:not(.dark-mode) .mintlify-hero,
html:not(.dark-mode) .mintlify-hero *,
html:not(.dark-mode) .mintlify-brotherhood,
html:not(.dark-mode) .mintlify-brotherhood *,
html:not(.dark-mode) .about-hero,
html:not(.dark-mode) .about-hero * {
    color: #fff !important;
}
html:not(.dark-mode) .mintlify-hero-subtitle,
html:not(.dark-mode) .mintlify-brotherhood-text,
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: 38px;
    height: 38px;
    display: grid;
    flex: 0 0 38px;
    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;
    filter: invert(1);
    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: invert(1); 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, refine its surfaces. */
.mintlify-hero {
    min-height: 100vh !important;
    min-height: 100svh !important;
    height: 100vh !important;
    height: 100svh !important;
    border-bottom: 1px solid var(--sd-line) !important;
}
.mintlify-hero::after {
    display: none;
}
.mintlify-hero-content { z-index: 3 !important; max-width: 930px !important; }
.mintlify-badge {
    background: rgba(8,10,15,.54) !important; border: 1px solid var(--sd-line-strong) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.06) !important;
}
.mintlify-hero-title { font-size: clamp(3.3rem, 8vw, 7rem) !important; letter-spacing: -.065em !important; }
.mintlify-hero-subtitle { max-width: 650px !important; color: rgba(255,255,255,.72) !important; }
.mintlify-stats,
.mintlify-services,
.mintlify-gallery { background: var(--sd-bg) !important; border-color: var(--sd-line) !important; }
.mintlify-stats-grid { gap: 0 !important; border: 1px solid var(--sd-line); border-radius: var(--sd-radius); overflow: hidden; }
.mintlify-stat { padding: 40px 24px !important; border-right: 1px solid var(--sd-line); }
.mintlify-stat:last-child { border-right: 0; }
.mintlify-stat-number { color: white !important; letter-spacing: -.06em !important; }
.mintlify-stat-label { color: var(--sd-faint) !important; }
.mintlify-section-title { color: white !important; letter-spacing: -.05em !important; }
.mintlify-section-subtitle { color: var(--sd-muted) !important; }
.mintlify-service-card,
.mintlify-gallery-item {
    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;
}
.mintlify-service-card:hover,
.mintlify-gallery-item:hover { border-color: var(--sd-line-strong) !important; background: var(--sd-panel-hover) !important; }
.mintlify-service-card h3 { color: white !important; }
.mintlify-service-card p { color: var(--sd-muted) !important; }
.mintlify-brotherhood { border-block: 1px solid var(--sd-line) !important; }
.mintlify-newsletter { background: linear-gradient(180deg, #0d1220, #080a0f) !important; border-top: 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: preserve the original features, remove novelty construction decoration. */
.shop-coming-soon-section {
    min-height: 90vh !important; padding: 165px 0 100px !important; background:
        radial-gradient(circle at 50% 28%, rgba(94,140,255,.18), transparent 30rem),
        var(--sd-bg) !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; }
.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: 2fr 1fr 1.2fr !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: hidden;
    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: hidden;
    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: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !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;
}
.nav-cta {
    min-height: 38px !important;
    padding-inline: 16px !important;
    box-shadow: inset 0 1px rgba(255,255,255,.24), 0 7px 20px rgba(42,79,181,.24) !important;
}
.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);
}

/* Home hero: a stacked editorial wordmark rather than an About-style title. */
.mintlify-hero-content {
    max-width: 1080px !important;
    padding-top: 118px !important;
}
.mintlify-hero-title {
    display: grid;
    justify-items: center;
    gap: 0;
    margin: 0 0 24px !important;
    font-size: clamp(4rem, 10.5vw, 9.4rem) !important;
    line-height: .78 !important;
    letter-spacing: -.085em !important;
    text-transform: uppercase;
}
.mintlify-hero-title .hero-line { display: block; }
.mintlify-hero-title .hero-line-kicker {
    margin: 0 0 20px;
    color: #a9bfff;
    font-size: .19em;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .24em;
}
.mintlify-hero-title .hero-line-outline {
    color: transparent;
    -webkit-text-stroke: 1px rgba(255,255,255,.72);
    text-shadow: 0 20px 70px rgba(0,0,0,.35);
}
.mintlify-hero-subtitle { margin-bottom: 30px !important; }

/* Home 2.3: static editorial hero. */
.mintlify-hero .mintlify-badge,
.mintlify-hero .mintlify-cta {
    display: none !important;
}

.mintlify-hero-image img {
    animation: none !important;
    transition: none !important;
}

.mintlify-hero-content {
    width: min(calc(100% - 40px), 1240px) !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
    padding: 150px 0 70px !important;
    align-items: center !important;
    text-align: center !important;
}

.mintlify-hero-title {
    justify-items: start !important;
    max-width: 1050px;
    font-size: clamp(4.4rem, 9.5vw, 9rem) !important;
    line-height: .82 !important;
}

.mintlify-hero-title .hero-line-kicker {
    margin-bottom: 28px;
    padding-left: 54px;
    position: relative;
    color: #dbe5ff;
    font-size: .12em;
    letter-spacing: .22em;
}

.mintlify-hero-title .hero-line-kicker::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 38px;
    height: 1px;
    background: #8eacff;
}

.mintlify-hero-subtitle {
    max-width: 580px !important;
    margin: 32px 0 0 !important;
    font-size: clamp(1rem, 1.8vw, 1.22rem) !important;
    line-height: 1.65 !important;
}

/* Home stats: a measured telemetry rail rather than four generic boxes. */
.mintlify-stats {
    padding: 0 !important;
    background: #090b10 !important;
}

.mintlify-stats-container {
    width: min(calc(100% - 40px), 1240px) !important;
    max-width: 1240px !important;
    padding: 54px 0 !important;
}

.mintlify-stats-grid {
    counter-reset: stat;
    gap: 10px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.mintlify-stat {
    counter-increment: stat;
    position: relative;
    min-height: 190px;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start !important;
    padding: 28px !important;
    overflow: hidden;
    text-align: left !important;
    background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.012)) !important;
    border: 1px solid var(--sd-line) !important;
    border-radius: 12px !important;
}

.mintlify-stat::before {
    content: "0" counter(stat);
    position: absolute;
    top: 22px;
    right: 24px;
    color: rgba(255,255,255,.2);
    font: 600 .66rem/1 Inter, sans-serif;
    letter-spacing: .18em;
}

.mintlify-stat::after {
    content: "";
    position: absolute;
    inset: auto 28px 0;
    height: 2px;
    background: linear-gradient(90deg, #5e8cff, transparent);
}

.mintlify-stat-number {
    margin-bottom: 15px;
    color: #f7f9ff !important;
    font-size: clamp(2.8rem, 5vw, 4.8rem) !important;
    line-height: .8 !important;
    letter-spacing: -.07em !important;
}

.mintlify-stat-label {
    max-width: 150px;
    color: #9299a8 !important;
    font-size: .72rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase;
}

/* Home services: asymmetric technical modules instead of legacy feature boxes. */
.mintlify-services-container { max-width: 1240px !important; }
.mintlify-services .mintlify-section-header {
    max-width: 820px !important;
    margin-left: 0 !important;
    text-align: left !important;
}
.mintlify-services-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 12px !important;
}
.mintlify-service-card {
    position: relative;
    grid-column: span 6;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    padding: 30px !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
        #0c0f15 !important;
}
.mintlify-service-card:nth-child(1),
.mintlify-service-card:nth-child(4) { grid-column: span 7; }
.mintlify-service-card:nth-child(2),
.mintlify-service-card:nth-child(3) { grid-column: span 5; }
.mintlify-service-card::after {
    content: "";
    position: absolute;
    inset: auto 30px 0;
    height: 2px;
    background: linear-gradient(90deg, var(--sd-blue), transparent);
    opacity: 0;
    transition: opacity .2s ease;
}
.mintlify-service-card:hover::after { opacity: .8; }
.mintlify-service-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: auto;
}
.mintlify-service-index {
    color: var(--sd-faint);
    font: 600 .68rem/1 Inter, sans-serif;
    letter-spacing: .16em;
}
.mintlify-service-icon {
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    border: 1px solid rgba(94,140,255,.24);
    border-radius: 11px !important;
    background: rgba(94,140,255,.09) !important;
    color: #9bb4ff !important;
}
.mintlify-service-card h3 {
    margin: 72px 0 11px !important;
    font-size: clamp(1.35rem, 2.5vw, 2rem) !important;
    letter-spacing: -.045em;
}
.mintlify-service-card p { max-width: 540px; margin-bottom: 25px !important; }
.mintlify-service-link { margin-top: auto; color: #9bb4ff !important; }

.mintlify-services {
    position: relative;
    overflow: hidden;
    padding-block: 130px !important;
    background:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        #080a0f !important;
    background-size: 72px 72px !important;
}

.mintlify-service-card {
    min-height: 360px;
    border-color: rgba(255,255,255,.1) !important;
    background:
        linear-gradient(150deg, rgba(94,140,255,.09), transparent 42%),
        rgba(9,12,18,.92) !important;
}

.mintlify-service-card:nth-child(2),
.mintlify-service-card:nth-child(3) {
    transform: translateY(34px);
}

.mintlify-service-index {
    font-size: .75rem !important;
}

.mintlify-service-icon {
    width: 52px !important;
    height: 52px !important;
}

.mintlify-service-card h3 {
    max-width: 430px;
    font-size: clamp(1.7rem, 3vw, 2.55rem) !important;
}

/* 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;
}
.mintlify-services.membership-access {
    background:
        linear-gradient(135deg, rgba(255,255,255,.026) 0%, transparent 38%),
        linear-gradient(180deg, #11141a 0%, #0d1015 100%) !important;
    background-size: auto !important;
    border-block: 1px solid rgba(255,255,255,.07);
}
.mintlify-services.membership-access::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, transparent 49.92%, rgba(255,255,255,.045) 50%, transparent 50.08%);
}
.membership-access-layout {
    position: relative;
    z-index: 1;
}
.membership-access-intro {
    position: sticky;
    top: 130px;
}
.membership-access-intro .mintlify-section-title {
    margin: 18px 0 22px;
    font: 650 clamp(2.5rem, 5vw, 4.9rem)/.98 Manrope, Inter, sans-serif !important;
    letter-spacing: -.055em !important;
}

.mintlify-newsletter .mintlify-section-title {
    font: 650 clamp(2.5rem, 5vw, 4.9rem)/.98 Manrope, Inter, sans-serif !important;
    letter-spacing: -.055em !important;
}
.membership-access-intro .mintlify-section-subtitle {
    max-width: 510px;
    margin: 0 !important;
    line-height: 1.75 !important;
}
.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);
}

/* Shared passion: split editorial composition over the existing film. */
.mintlify-brotherhood {
    min-height: 760px !important;
    display: grid;
    align-items: center;
}

.mintlify-brotherhood-container {
    width: min(calc(100% - 40px), 1240px) !important;
    max-width: 1240px !important;
}

.mintlify-brotherhood-content {
    width: min(100%, 1060px) !important;
    max-width: none !important;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    column-gap: clamp(50px, 9vw, 130px);
    align-items: end;
    padding: 70px 0;
    text-align: left !important;
}

.mintlify-brotherhood-content .mintlify-section-badge,
.mintlify-brotherhood-content .mintlify-section-title {
    grid-column: 1;
}

.mintlify-brotherhood-content .mintlify-section-title {
    max-width: 760px;
    margin-bottom: 0 !important;
    font-size: clamp(3rem, 6vw, 6.2rem) !important;
    line-height: .94 !important;
}

.mintlify-brotherhood-content .mintlify-brotherhood-text,
.mintlify-brotherhood-content .btn {
    grid-column: 2;
}

.mintlify-brotherhood-content .mintlify-brotherhood-text {
    max-width: 420px !important;
    margin: 0 0 20px !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
}

.mintlify-brotherhood-content .mintlify-brotherhood-text:nth-of-type(2) {
    display: none;
}

.mintlify-brotherhood-content .btn {
    width: max-content;
    margin-top: 8px;
}

@media (max-width: 820px) {
    .mintlify-hero-content {
        padding-top: 130px !important;
    }

    .mintlify-stat {
        min-height: 155px;
    }

    .mintlify-service-card:nth-child(2),
    .mintlify-service-card:nth-child(3) {
        transform: none;
    }

    .mintlify-brotherhood-content {
        grid-template-columns: 1fr;
        row-gap: 28px;
    }

    .mintlify-brotherhood-content .mintlify-section-badge,
    .mintlify-brotherhood-content .mintlify-section-title,
    .mintlify-brotherhood-content .mintlify-brotherhood-text,
    .mintlify-brotherhood-content .btn {
        grid-column: 1;
    }
}

/* 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;
}

/* Home hero: modern geometric display typography. */
.mintlify-hero-title {
    max-width: 1080px;
    font-family: Manrope, Inter, sans-serif !important;
    font-size: clamp(4rem, 8.2vw, 7.9rem) !important;
    font-weight: 800 !important;
    line-height: .9 !important;
    letter-spacing: -.064em !important;
    text-transform: none !important;
    justify-items: center !important;
    text-align: center !important;
}

.mintlify-hero-title .hero-line-kicker {
    margin-bottom: 30px;
    font-family: Inter, sans-serif !important;
    font-size: .105em;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.mintlify-hero-title .hero-line-outline {
    justify-self: center;
    color: #fff !important;
    -webkit-text-stroke: 0 transparent !important;
    text-align: center;
    white-space: nowrap;
    text-shadow: 0 16px 50px rgba(0,0,0,.24) !important;
}

.mintlify-hero-subtitle {
    max-width: 610px !important;
    margin-inline: auto !important;
    text-align: center !important;
}

@media (max-width: 820px) {
    .mintlify-hero-title .hero-line-outline {
        white-space: normal;
    }
}

/* 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;
}
.blueprint-intro .mintlify-section-title {
    color: #f4f8ff !important;
    font: 650 clamp(2.5rem, 5vw, 4.9rem)/.98 Manrope, Inter, sans-serif !important;
    letter-spacing: -.055em !important;
}
.blueprint-intro .mintlify-section-subtitle {
    max-width: 690px;
    margin-bottom: 28px;
    color: #91a9c5 !important;
}
html:not(.dark-mode) .blueprint-intro .mintlify-section-title { color: #f4f8ff !important; }
html:not(.dark-mode) .blueprint-intro .mintlify-section-subtitle { color: #91a9c5 !important; }
.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; }
    .mintlify-service-card,
    .mintlify-service-card:nth-child(n) { grid-column: span 6; }
    .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; }
    .mintlify-stats-grid { grid-template-columns: 1fr 1fr !important; }
    .mintlify-stat { border-bottom: 1px solid var(--sd-line); }
    .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; }
    .footer-brand { grid-column: 1 / -1; }
    .mintlify-hero-title { font-size: clamp(3.6rem, 18vw, 6.4rem) !important; }
    .mintlify-hero-title .hero-line-kicker { margin-bottom: 14px; font-size: .18em; }
    .mintlify-services-grid { grid-template-columns: 1fr !important; }
    .mintlify-service-card,
    .mintlify-service-card:nth-child(n) { grid-column: 1 !important; min-height: 290px; }
    .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) .mintlify-services.membership-access {
    color: #171a20;
    background:
        linear-gradient(135deg, rgba(255,255,255,.2), transparent 40%),
        #b5b6b8 !important;
    border-block-color: rgba(0,0,0,.11);
}
html:not(.dark-mode) .mintlify-services.membership-access::before {
    background: linear-gradient(90deg, transparent 49.92%, rgba(0,0,0,.07) 50%, transparent 50.08%);
}
html:not(.dark-mode) .membership-access-intro .mintlify-section-title {
    color: #15181e !important;
}
html:not(.dark-mode) .membership-access-intro .mintlify-section-subtitle {
    color: #4d5159 !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) .blueprint-intro .mintlify-section-title {
    color: #f4f8ff !important;
}
html:not(.dark-mode) .blueprint-intro .mintlify-section-subtitle {
    color: #91a9c5 !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: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    flex: 0 0 38px !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: 38px !important;
    height: 38px !important;
    max-width: 38px !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;
}

/* Shop follows the navigation language, with a quiet dark emphasis. */
.site-header .nav-cta {
    min-height: 38px !important;
    padding: 0 15px !important;
    color: #e7e9ed !important;
    background: rgba(20,23,29,.9) !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;
}
.site-header .nav-cta:hover {
    color: #fff !important;
    background: rgba(31,35,43,.96) !important;
    border-color: rgba(255,255,255,.18) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.055) !important;
    transform: none !important;
}

/* Compact linked actions use the same dark visual vocabulary. */
.mintlify-service-link,
.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: 0 !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: #fff !important;
        forced-color-adjust: none;
        mix-blend-mode: normal !important;
        -webkit-mask: url("../images/sdrrc-mark-v1.png") center / contain no-repeat;
        mask: url("../images/sdrrc-mark-v1.png") center / contain no-repeat;
    }
    .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;
    }
}
@media (max-width: 700px) {
    .mintlify-hero {
        min-height: 100svh !important;
        height: 100svh !important;
    }
    .mintlify-hero-content {
        position: relative !important;
        inset: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: min(calc(100% - 28px), 1240px) !important;
        max-width: none !important;
        height: 100%;
        margin-inline: auto !important;
        display: flex !important;
        flex-direction: column;
        align-items: center !important;
        justify-content: center !important;
        padding: 94px 0 42px !important;
        text-align: center !important;
    }
    .mintlify-hero-title {
        width: 100%;
        max-width: 100% !important;
        margin-inline: auto !important;
        font-size: clamp(3.1rem, 14vw, 4.6rem) !important;
        line-height: .9 !important;
        letter-spacing: -.06em !important;
        justify-items: center !important;
        text-align: center !important;
    }
    .mintlify-hero-title .hero-line {
        width: 100%;
        text-align: center;
    }
    .mintlify-hero-title .hero-line-kicker {
        width: auto;
        margin-bottom: 18px !important;
        padding-left: 0 !important;
        font-size: clamp(.58rem, 2.5vw, .7rem) !important;
        line-height: 1.35 !important;
        letter-spacing: .14em !important;
        text-align: center;
    }
    .mintlify-hero-title .hero-line-kicker::before {
        display: none;
    }
    .mintlify-hero-title .hero-line-outline {
        width: auto;
        max-width: 100%;
        font-size: .68em;
        white-space: nowrap !important;
    }
    .mintlify-hero-subtitle {
        max-width: 34rem !important;
        margin-top: 24px !important;
        margin-inline: auto !important;
        font-size: .98rem !important;
        line-height: 1.55 !important;
        text-align: center !important;
    }
}

/* 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;
    }

    /* Home: light editorial surfaces use dark type; marine modules stay dark. */
    html:not(.dark-mode) .mintlify-services.membership-access,
    html:not(.dark-mode) .boating-concepts {
        color: #171a20 !important;
        background-color: #fafafa !important;
    }
    html:not(.dark-mode) .mintlify-services.membership-access {
        background-image: linear-gradient(135deg, rgba(0,0,0,.018), transparent 40%) !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-intro .mintlify-section-title,
        .boating-concepts-intro h2
    ) {
        color: #171a20 !important;
    }
    html:not(.dark-mode) :where(
        .membership-access-intro .mintlify-section-subtitle,
        .boating-concepts-intro p
    ) {
        color: #4d5159 !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;
    }
}
