/* site palette */
html:root {
    --bg: #121D26;
    --surface: #1D2E3C;
    --surface-alt: #172530;
    --text: #F1F3F4;
    --text-muted: #B0B9BF;
    --border: #364149;
    --primary: #E55F86;
    --primary-hover: #EB82A1;
    --on-primary: #111111;
    --primary-text: #E87193;
    --accent: #6FCAB4;
    --on-accent: #111111;
    --accent-text: #6FCAB4;
    --dark-band: #0D1418;
    --on-dark: #FFFFFF;
    --on-dark-muted: #B6BEC3;
    --brand-btn-bg: #111111;
    --brand-btn-text: #E55F86;
    --section-alt-bg: linear-gradient(170deg, #172530 0%, #1A2A36 100%);
    --dark-band-bg: linear-gradient(145deg, #0D1418 0%, #430E1E 100%);
    --brand-band-bg: #E55F86;
    --hero-bg: linear-gradient(145deg, #0D1418 0%, #430E1E 100%);
}

html:root {
    --bs-primary: #E55F86;
    --bs-primary-rgb: 229, 95, 134;
    --bs-link-color: #E87193;
    --bs-link-color-rgb: 232, 113, 147;
    --bs-link-hover-color: #EB82A1;
    --mdb-primary: #E55F86;
    --mdb-primary-rgb: 229, 95, 134;
}

.btn-primary {
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-color: var(--on-primary);
    --bs-btn-hover-bg: var(--primary-hover);
    --bs-btn-hover-border-color: var(--primary-hover);
    --bs-btn-hover-color: var(--on-primary);
    --bs-btn-active-bg: var(--primary-hover);
    --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-active-color: var(--on-primary);
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--on-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

.btn-outline-primary {
    --bs-btn-color: var(--primary-text);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary);
    --bs-btn-hover-border-color: var(--primary);
    --bs-btn-hover-color: var(--on-primary);
    color: var(--primary-text);
    border-color: var(--primary);
}

.btn-outline-primary:hover {
    background-color: var(--primary);
    color: var(--on-primary);
}

.text-primary,
.link-primary {
    color: var(--primary-text) !important;
}

.bg-primary,
.text-bg-primary,
.badge.bg-primary {
    color: var(--on-primary) !important;
}

/* /site palette */

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Urbanist', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    background-color: var(--bg);
    color: var(--text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color 0.2s ease;
}

img {
    max-width: 100%;
    height: auto;
}

.text-muted {
    color: var(--text-muted) !important;
}

.wy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary);
    color: var(--on-primary);
    font-family: 'Urbanist', sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.0;
    letter-spacing: 0.02em;
    padding: 14px 28px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-transform: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.wy-btn:hover {
    background-color: var(--primary-hover);
    color: var(--on-primary);
}

.wy-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: var(--primary-text);
    font-family: 'Urbanist', sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.0;
    letter-spacing: 0.02em;
    padding: 13px 26px;
    border: 1px solid var(--border);
    border-radius: 4px;
    cursor: pointer;
    text-transform: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.wy-btn-alt:hover {
    background-color: var(--surface);
    color: #FFFFFF;
    border-color: var(--primary);
}

.wy-card {
    background-color: var(--surface);
    color: var(--text);
    border-radius: 4px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    border: none;
    box-shadow: none;
    transition: background-color 0.2s ease;
}

.wy-card .wy-btn,
.wy-card .wy-btn-alt {
    margin-top: auto;
}

.wy-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 4px;
    overflow: hidden;
    flex-shrink: 0;
    background-color: var(--surface-alt);
}

.wy-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wy-eyebrow {
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    color: var(--primary-text);
    letter-spacing: 0.02em;
    margin-bottom: 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.wy-title {
    font-family: 'Urbanist', sans-serif;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--text);
    margin-bottom: 0;
}

.wy-title .accent-text {
    color: var(--primary-text);
}

.wy-title-underline {
    width: 48px;
    height: 4px;
    background-color: var(--primary);
    margin: 14px auto 28px auto;
    border-radius: 2px;
}

.text-start .wy-title-underline {
    margin: 14px 0 28px 0;
}

.wy-badge {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    background-color: var(--surface-alt);
    color: var(--primary-text);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.wy-icon {
    width: 48px;
    height: 48px;
    border-radius: 4px;
    background-color: var(--primary);
    color: var(--on-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.wy-section {
    padding: 80px 0;
    background-color: var(--bg);
}

.wy-section-alt {
    padding: 80px 0;
    background: var(--section-alt-bg, var(--surface-alt));
}

.wy-section-dark {
    padding: 80px 0;
    background: var(--dark-band-bg, var(--dark-band));
    color: var(--on-dark);
}

.wy-section-brand {
    padding: 80px 0;
    background-color: var(--brand-band-bg, var(--primary));
    color: var(--on-primary);
}

.wy-section-brand .wy-btn {
    background-color: var(--brand-btn-bg);
    color: var(--brand-btn-text);
}

.wy-section-brand .wy-btn:hover {
    background-color: var(--surface);
    color: var(--primary-hover);
}

.wy-section-brand .wy-btn-alt {
    border-color: var(--on-primary);
    color: var(--on-primary);
}

.wy-section-brand .wy-btn-alt:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

.wy-on-dark,
.wy-section-dark {
    color: var(--on-dark);
}

.wy-on-dark h1,
.wy-on-dark h2,
.wy-on-dark h3,
.wy-on-dark h4,
.wy-on-dark .wy-title,
.wy-section-dark h1,
.wy-section-dark h2,
.wy-section-dark h3,
.wy-section-dark h4,
.wy-section-dark .wy-title {
    color: var(--on-dark);
}

.wy-on-dark p,
.wy-section-dark p,
.wy-on-dark .text-muted,
.wy-section-dark .text-muted {
    color: var(--on-dark-muted) !important;
}

.wy-on-dark .wy-eyebrow,
.wy-section-dark .wy-eyebrow {
    color: var(--primary-text);
}

.wy-on-dark .wy-btn-alt,
.wy-section-dark .wy-btn-alt {
    border-color: var(--border);
    color: var(--on-dark);
}

.wy-on-dark .wy-btn-alt:hover,
.wy-section-dark .wy-btn-alt:hover {
    background-color: var(--surface);
    color: #FFFFFF;
}

.wy-section-dark .wy-card,
.wy-on-dark .wy-card {
    background-color: var(--surface);
    color: var(--text);
}

.wy-section-dark .wy-card p,
.wy-on-dark .wy-card p {
    color: var(--text-muted) !important;
}

.wy-section-dark .wy-card h1,
.wy-section-dark .wy-card h2,
.wy-section-dark .wy-card h3,
.wy-section-dark .wy-card h4,
.wy-on-dark .wy-card h1,
.wy-on-dark .wy-card h2,
.wy-on-dark .wy-card h3,
.wy-on-dark .wy-card h4 {
    color: var(--text);
}

@media (max-width: 768px) {

    .wy-section,
    .wy-section-alt,
    .wy-section-dark,
    .wy-section-brand {
        padding: 48px 0;
    }

    .wy-card {
        padding: 20px 16px;
    }

    .wy-title {
        font-size: 28px;
    }
}

/* ===== header ===== */
.vin-header {
    width: 100%;
    position: relative;
    z-index: 1030;
    font-family: 'Urbanist', sans-serif;
    background-color: #121D26;
}

.vin-header .vin-topbar {
    background-color: #0D1418;
    border-bottom: 1px solid #364149;
    font-size: 13px;
    color: #B0B9BF;
}

.vin-header .vin-topbar-meta,
.vin-header .vin-topbar-contact {
    font-size: 13px;
    line-height: 1.4;
}

.vin-header .vin-topbar-text {
    color: #B0B9BF;
}

.vin-header .vin-topbar-icon {
    color: #E87193;
    font-size: 12px;
}

.vin-header .vin-top-link {
    color: #B0B9BF;
    text-decoration: none;
    transition: color 0.2s ease;
}

.vin-header .vin-top-link:hover,
.vin-header .vin-top-link:focus {
    color: #F1F3F4;
    text-decoration: none;
}

.vin-header .vin-navbar {
    background-color: #121D26;
    border-bottom: 1px solid #364149;
    padding: 12px 0;
}

.vin-header .vin-logo-img {
    max-width: 44px;
    width: 44px;
    height: 44px;
    object-fit: contain;
    display: block;
    border-radius: 4px;
}

.vin-header .vin-brand-mobile,
.vin-header .vin-brand-center {
    text-decoration: none;
    color: #F1F3F4;
    font-weight: 800;
    font-size: 20px;
    letter-spacing: -0.015em;
    line-height: 1.2;
}

.vin-header .vin-brand-mobile:hover,
.vin-header .vin-brand-center:hover {
    color: #F1F3F4;
}

.vin-header .vin-brand-accent {
    color: #E87193;
}

.vin-header .vin-nav-link {
    color: #F1F3F4;
    font-size: 15px;
    font-weight: 600;
    padding: 8px 14px;
    transition: color 0.2s ease, background-color 0.2s ease;
    border-radius: 4px;
}

.vin-header .vin-nav-link:hover,
.vin-header .vin-nav-link:focus {
    color: #E87193;
    background-color: #172530;
}

.vin-header .vin-toggler {
    border: 1px solid #364149;
    background-color: #172530;
    color: #F1F3F4;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 18px;
    outline: none;
    box-shadow: none;
}

.vin-header .vin-toggler:hover,
.vin-header .vin-toggler:focus {
    background-color: #1D2E3C;
    color: #E55F86;
    border-color: #E55F86;
    outline: none;
    box-shadow: none;
}

.vin-header .vin-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #E55F86;
    color: #111111;
    font-weight: 700;
    font-size: 14px;
    padding: 9px 18px;
    border-radius: 4px;
    border: none;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.vin-header .vin-cta-btn:hover,
.vin-header .vin-cta-btn:focus {
    background-color: #EB82A1;
    color: #111111;
    text-decoration: none;
}

@media (max-width: 991.98px) {
    .vin-header .navbar-collapse {
        background-color: #121D26;
        border-top: 1px solid #364149;
        margin-top: 12px;
        padding: 16px 0 8px 0;
    }

    .vin-header .navbar-nav {
        width: 100%;
        gap: 4px;
    }

    .vin-header .vin-nav-link {
        width: 100%;
        padding: 10px 14px;
    }

    .vin-header .vin-cta-btn {
        width: 100%;
        margin-top: 10px;
        padding: 11px 18px;
    }
}

@media (max-width: 767.98px) {
    .vin-header .vin-topbar {
        font-size: 12px;
    }

    .vin-header .vin-brand-mobile {
        font-size: 18px;
    }
}

/* ===== hero ===== */
#hero-block {
    background-color: var(--dark-band, #0D1418);
    position: relative;
    min-height: 580px;
}

#hero-block .hero-block__video-pane {
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}

#hero-block .hero-block__video {
    object-fit: cover;
    width: 100%;
    height: 100%;
    opacity: 0.45;
}

#hero-block .hero-block__backdrop {
    background: linear-gradient(135deg, rgba(13, 20, 24, 0.94) 0%, rgba(18, 29, 38, 0.88) 50%, rgba(67, 14, 30, 0.82) 100%);
    z-index: 2;
}

#hero-block .container {
    z-index: 3;
}

#hero-block .min-vh-75 {
    min-height: 70vh;
}

#hero-block .hero-block__diamond {
    font-size: 7px;
    color: var(--primary, #E55F86);
    transform: rotate(45deg);
    display: inline-block;
    vertical-align: middle;
}

#hero-block .hero-block__eyebrow-wrap {
    letter-spacing: 0.08em;
    font-weight: 700;
    font-size: 13px;
    color: var(--primary-text, #E87193);
}

#hero-block .hero-block__headline {
    font-family: 'Urbanist', sans-serif;
    font-size: 44px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--on-dark, #FFFFFF);
    overflow-wrap: anywhere;
}

#hero-block .hero-block__accent {
    color: var(--primary-text, #E87193);
}

#hero-block .hero-block__underline {
    width: 48px;
    height: 4px;
    background: var(--primary, #E55F86);
    margin: 16px 0 24px 0;
    border-radius: 2px;
}

#hero-block .hero-block__lead {
    font-size: 18px;
    line-height: 1.55;
    color: var(--on-dark, #FFFFFF);
    font-weight: 500;
    max-width: 720px;
    overflow-wrap: anywhere;
}

#hero-block .hero-block__subtext {
    font-size: 15px;
    line-height: 1.6;
    color: var(--on-dark-muted, #B6BEC3);
    max-width: 680px;
    overflow-wrap: anywhere;
}

#hero-block .hero-block__cta-primary {
    background: var(--primary, #E55F86);
    color: var(--on-primary, #111111);
    border: none;
    border-radius: 4px;
    padding: 14px 28px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

#hero-block .hero-block__cta-primary:hover,
#hero-block .hero-block__cta-primary:focus {
    background: var(--primary-hover, #EB82A1);
    color: var(--on-primary, #111111);
}

#hero-block .hero-block__cta-secondary {
    background: transparent;
    color: var(--on-dark, #FFFFFF);
    border: 1px solid var(--border, #364149);
    border-radius: 4px;
    padding: 13px 26px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

#hero-block .hero-block__cta-secondary:hover,
#hero-block .hero-block__cta-secondary:focus {
    background: var(--surface, #1D2E3C);
    border-color: var(--primary, #E55F86);
    color: var(--on-dark, #FFFFFF);
}

#hero-block .hero-block__meta-strip {
    border-top: 1px solid rgba(54, 65, 73, 0.6);
}

#hero-block .hero-block__meta-item {
    font-size: 13px;
    font-weight: 600;
    color: var(--on-dark-muted, #B6BEC3);
    white-space: nowrap;
}

#hero-block .hero-block__check-icon {
    color: var(--accent, #6FCAB4);
    font-size: 14px;
}

@media (max-width: 767px) {
    #hero-block {
        min-height: auto;
    }

    #hero-block .min-vh-75 {
        min-height: auto;
    }

    #hero-block .hero-block__headline {
        font-size: 18px !important;
        line-height: 1.25;
        hyphens: auto;
    }

    #hero-block .hero-block__lead {
        font-size: 14px;
        line-height: 1.5;
    }

    #hero-block .hero-block__subtext {
        font-size: 13px;
        line-height: 1.5;
    }

    #hero-block .hero-block__cta-primary,
    #hero-block .hero-block__cta-secondary {
        width: 100%;
        text-align: center;
    }

    #hero-block .hero-block__meta-strip {
        display: flex;
        flex-direction: column;
        align-items: flex-start !important;
        gap: 8px !important;
    }
}

/* ===== architecture ===== */
.architecture-block {
    padding: 48px 0;
    background-color: var(--bg);
    color: var(--text);
    overflow-wrap: anywhere;
}

@media (min-width: 768px) {
    .architecture-block {
        padding: 80px 0;
    }
}

.architecture-block .architecture-eyebrow {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-text);
    margin-bottom: 12px;
    letter-spacing: 0.02em;
}

.architecture-block .architecture-diamond {
    font-size: 8px;
    vertical-align: middle;
    color: var(--primary-text);
}

.architecture-block .architecture-heading {
    font-family: 'Urbanist', sans-serif;
    font-size: 26px;
    line-height: 1.25;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .architecture-block .architecture-heading {
        font-size: 34px;
        line-height: 1.2;
    }
}

.architecture-block .architecture-accent {
    color: var(--primary-text);
}

.architecture-block .architecture-divider {
    width: 48px;
    height: 4px;
    background-color: var(--primary);
    margin: 14px auto 20px;
    border-radius: 2px;
}

.architecture-block .architecture-lead {
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-muted);
    max-width: 780px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .architecture-block .architecture-lead {
        font-size: 16px;
    }
}

.architecture-block .architecture-card {
    background-color: var(--surface);
    border: none;
    border-radius: 4px;
    padding: 24px 20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: background-color 0.2s ease;
}

@media (min-width: 768px) {
    .architecture-block .architecture-card {
        padding: 28px 24px;
    }
}

.architecture-block .architecture-card:hover {
    background-color: var(--surface-alt);
}

.architecture-block .architecture-icon-plate {
    width: 52px;
    height: 52px;
    background-color: var(--dark-band);
    color: var(--primary);
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 18px;
    flex-shrink: 0;
}

.architecture-block .architecture-card-title {
    font-family: 'Urbanist', sans-serif;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 10px;
}

@media (min-width: 768px) {
    .architecture-block .architecture-card-title {
        font-size: 18px;
    }
}

.architecture-block .architecture-card-text {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-muted);
    margin-bottom: 0;
    flex-grow: 1;
}

.architecture-block .architecture-notes-panel {
    background-color: var(--surface-alt);
    border-radius: 4px;
    padding: 24px 20px;
    border: none;
}

@media (min-width: 768px) {
    .architecture-block .architecture-notes-panel {
        padding: 32px 28px;
    }
}

.architecture-block .architecture-badge {
    background-color: var(--primary);
    color: var(--on-primary);
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
}

.architecture-block .architecture-badge-tag {
    font-size: 12px;
    font-weight: 600;
    color: var(--accent-text);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.architecture-block .architecture-notes-title {
    font-family: 'Urbanist', sans-serif;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 8px;
}

@media (min-width: 768px) {
    .architecture-block .architecture-notes-title {
        font-size: 20px;
    }
}

.architecture-block .architecture-notes-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-muted);
}

@media (min-width: 768px) {
    .architecture-block .architecture-notes-desc {
        font-size: 15px;
    }
}

.architecture-block .architecture-action-btn {
    background-color: var(--primary);
    color: var(--on-primary);
    font-family: 'Urbanist', sans-serif;
    font-size: 15px;
    font-weight: 700;
    padding: 14px 24px;
    border: none;
    border-radius: 4px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    width: 100%;
    min-height: 48px;
}

@media (min-width: 992px) {
    .architecture-block .architecture-action-btn {
        width: auto;
    }
}

.architecture-block .architecture-action-btn:hover {
    background-color: var(--primary-hover);
    color: var(--on-primary);
}

/* ===== featured_case ===== */
.wy-featured-case {
    padding: 80px 0;
}

@media (max-width: 767px) {
    .wy-featured-case {
        padding: 48px 0;
    }
}

.wy-featured-case__header {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.wy-featured-case__accent {
    color: var(--primary-text);
}

.wy-featured-case__underline {
    width: 48px;
    height: 4px;
    background-color: var(--primary);
    margin: 14px auto 20px;
    border-radius: 2px;
}

.wy-featured-case__intro {
    color: var(--text-muted);
    font-size: 16px;
    line-height: 1.6;
    max-width: 720px;
}

.wy-featured-case__master {
    background-color: var(--surface);
    border-radius: 4px;
}

.wy-featured-case__image-box {
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 4px;
    overflow: hidden;
}

.wy-featured-case__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.wy-featured-case__file-meta {
    font-size: 13px;
    color: var(--accent-text);
    font-weight: 600;
}

.wy-featured-case__master-title {
    color: var(--text);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
}

.wy-featured-case__master-text {
    color: var(--text-muted);
    font-size: 15px;
    line-height: 1.6;
}

.wy-featured-case__spec-pill {
    background-color: var(--surface-alt);
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.wy-featured-case__spec-name {
    color: var(--text-muted);
}

.wy-featured-case__spec-value {
    color: var(--text);
}

.wy-featured-case__card {
    background-color: var(--surface);
    border-radius: 4px;
    padding: 24px;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.wy-featured-case__card:hover {
    background-color: #213545;
}

.wy-featured-case__icon {
    width: 44px;
    height: 44px;
    border-radius: 4px;
    background-color: var(--dark-band);
    color: var(--primary-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.wy-featured-case__card-title {
    color: var(--text);
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
}

.wy-featured-case__question-box {
    background-color: var(--surface-alt);
    padding: 12px 14px;
    border-radius: 4px;
}

.wy-featured-case__question-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--primary-text);
    font-weight: 700;
    display: block;
    margin-bottom: 4px;
}

.wy-featured-case__question-text {
    color: var(--text);
    font-size: 13px;
    line-height: 1.45;
    margin: 0;
}

.wy-featured-case__card-desc {
    color: var(--text-muted);
    font-size: 14px;
    line-height: 1.55;
}

.wy-featured-case__specs-list {
    border-top: 1px solid var(--border);
    padding-top: 10px;
}

.wy-featured-case__spec-item-key {
    color: var(--text-muted);
    font-size: 13px;
}

.wy-featured-case__spec-item-val {
    color: var(--text);
    font-size: 13px;
}

.wy-featured-case__action .wy-btn {
    min-height: 48px;
    padding: 12px 28px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    border-radius: 4px;
}

@media (max-width: 767px) {
    .wy-featured-case__master-title {
        font-size: 18px;
    }

    .wy-featured-case__card-title {
        font-size: 16px;
    }

    .wy-featured-case__card {
        padding: 18px;
    }
}

/* ===== case_numbers ===== */
.case-metrics-block {
    padding: 80px 0;
    overflow: hidden;
}

.case-metrics-block__eyebrow {
    color: var(--primary-text);
    font-family: 'Urbanist', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin-bottom: 12px;
}

.case-metrics-block__diamond {
    font-size: 8px;
    color: var(--primary-text);
}

.case-metrics-block__title {
    font-family: 'Urbanist', sans-serif;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.015em;
    color: var(--on-dark);
    margin: 0 auto;
    max-width: 820px;
}

.case-metrics-block__accent {
    color: var(--primary-text);
}

.case-metrics-block__divider {
    width: 48px;
    height: 4px;
    background: var(--primary);
    margin: 14px auto 20px;
    border-radius: 2px;
}

.case-metrics-block__lead {
    font-family: 'Urbanist', sans-serif;
    font-size: 17px;
    line-height: 1.6;
    color: var(--on-dark-muted);
    max-width: 760px;
    margin: 0 auto;
}

.case-metrics-block__journey-row {
    margin-top: 36px;
}

.case-metrics-block .wy-card.case-metrics-block__card {
    background: var(--surface);
    border: none;
    border-radius: 4px;
    box-shadow: none;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.case-metrics-block__phase-header {
    margin-bottom: 16px;
}

.case-metrics-block__phase-tag {
    background: var(--surface-alt);
    color: var(--primary-text);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 6px 12px;
    border-radius: 4px;
}

.case-metrics-block__phase-icon {
    width: 40px;
    height: 40px;
    background: var(--dark-band);
    color: var(--primary);
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.case-metrics-block__card-title {
    font-family: 'Urbanist', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--text);
    margin-bottom: 10px;
}

.case-metrics-block__card-desc {
    font-family: 'Urbanist', sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-muted);
    margin-bottom: 20px;
}

.case-metrics-block__checklist {
    list-style: none;
    padding: 0;
    margin: auto 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.case-metrics-block__check-item {
    font-family: 'Urbanist', sans-serif;
    font-size: 14px;
    line-height: 1.45;
    color: var(--text);
}

.case-metrics-block__item-bullet {
    font-size: 15px;
    color: var(--accent);
    margin-top: 2px;
    flex-shrink: 0;
}

.case-metrics-block__item-bullet--alert {
    color: var(--primary-text);
}

.case-metrics-block__metrics-strip {
    margin-top: 32px;
}

.case-metrics-block__stat-panel {
    background: var(--surface-alt);
    border-radius: 4px;
    padding: 24px 18px;
    height: 100%;
}

.case-metrics-block__stat-icon {
    width: 52px;
    height: 52px;
    background: var(--dark-band);
    color: var(--primary);
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 14px;
}

.case-metrics-block__stat-value {
    font-family: 'Urbanist', sans-serif;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.1;
    color: var(--on-dark);
    margin-bottom: 6px;
}

.case-metrics-block__stat-label {
    font-family: 'Urbanist', sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--on-dark-muted);
    text-transform: none;
}

.case-metrics-block__media-row {
    margin-top: 40px;
}

.case-metrics-block__media-frame {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    width: 100%;
    background: var(--dark-band);
}

.case-metrics-block__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.case-metrics-block__media-title {
    font-family: 'Urbanist', sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--on-dark);
    margin-bottom: 14px;
}

.case-metrics-block__media-text {
    font-family: 'Urbanist', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: var(--on-dark-muted);
    margin-bottom: 24px;
}

.case-metrics-block__actions {
    margin-top: 8px;
}

.case-metrics-block__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary);
    color: var(--on-primary);
    font-family: 'Urbanist', sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    padding: 14px 28px;
    border-radius: 4px;
    border: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.case-metrics-block__btn:hover {
    background: var(--primary-hover);
    color: var(--on-primary);
}

.case-metrics-block__btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--on-dark);
    font-family: 'Urbanist', sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    padding: 13px 26px;
    border-radius: 4px;
    border: 1px solid var(--border);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.case-metrics-block__btn-alt:hover {
    background: var(--surface);
    color: var(--on-dark);
    border-color: var(--primary);
}

@media (max-width: 767px) {
    .case-metrics-block {
        padding: 48px 0;
    }

    .case-metrics-block__title {
        font-size: 16px;
        hyphens: auto;
        overflow-wrap: anywhere;
    }

    .case-metrics-block__card-title {
        font-size: 14px;
        hyphens: auto;
        overflow-wrap: anywhere;
    }

    .case-metrics-block__media-title {
        font-size: 14px;
        hyphens: auto;
        overflow-wrap: anywhere;
    }

    .case-metrics-block__lead {
        font-size: 14px;
    }

    .case-metrics-block__media-text {
        font-size: 14px;
    }

    .case-metrics-block__stat-value {
        font-size: 26px;
    }

    .case-metrics-block__stat-panel {
        padding: 18px 12px;
    }

    .case-metrics-block__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .case-metrics-block__btn,
    .case-metrics-block__btn-alt {
        width: 100%;
        text-align: center;
    }
}

/* ===== numbers_briefly ===== */
.vin-numbers-block {
    background-color: var(--bg, #121D26);
    color: var(--text, #F1F3F4);
}

.vin-numbers-block .vin-diamond {
    font-size: 8px;
    color: var(--primary-text, #E87193);
    vertical-align: middle;
}

.vin-numbers-block .wy-eyebrow {
    color: var(--primary-text, #E87193);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.vin-numbers-block .wy-title {
    color: var(--text, #F1F3F4);
    font-family: var(--font_family_headings, 'Urbanist', sans-serif);
    font-weight: 700;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -0.015em;
}

.vin-numbers-block .vin-accent-word {
    color: var(--primary-text, #E87193);
}

.vin-numbers-block .vin-title-underline {
    width: 48px;
    height: 4px;
    background-color: var(--primary, #E55F86);
    margin: 14px auto 20px auto;
    border-radius: 2px;
}

.vin-numbers-block .vin-section-intro {
    color: var(--text-muted, #B0B9BF);
    font-size: 16px;
    line-height: 1.6;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    overflow-wrap: anywhere;
}

.vin-numbers-block .vin-stat-card {
    background-color: var(--surface, #1D2E3C);
    border-radius: 4px;
    padding: 32px 20px 28px 20px;
    transition: background-color 0.2s ease;
}

.vin-numbers-block .vin-stat-card:hover {
    background-color: var(--surface-alt, #172530);
}

.vin-numbers-block .vin-icon-plate {
    width: 52px;
    height: 52px;
    border-radius: 6px;
    background-color: var(--dark-band, #0D1418);
    color: var(--primary, #E55F86);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.vin-numbers-block .vin-stat-value {
    font-family: var(--font_family_headings, 'Urbanist', sans-serif);
    font-size: 36px;
    line-height: 1.15;
    font-weight: 800;
    color: var(--text, #F1F3F4);
    margin-bottom: 6px;
    letter-spacing: -0.02em;
}

.vin-numbers-block .vin-stat-title {
    font-family: var(--font_family_headings, 'Urbanist', sans-serif);
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--primary-text, #E87193);
    margin-bottom: 10px;
}

.vin-numbers-block .vin-stat-desc {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-muted, #B0B9BF);
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .vin-numbers-block .wy-title {
        font-size: 24px;
        hyphens: auto;
    }

    .vin-numbers-block .vin-stat-title {
        font-size: 16px;
    }

    .vin-numbers-block .vin-stat-value {
        font-size: 30px;
    }

    .vin-numbers-block .vin-stat-card {
        padding: 24px 16px 20px 16px;
    }
}

/* ===== consultation ===== */
.consultation-block {
    color: var(--text, #F1F3F4);
    overflow: hidden;
}

.consultation-block .wy-eyebrow {
    color: var(--primary-text, #E87193);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.consultation-block .wy-title {
    color: var(--text, #F1F3F4);
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
}

.consultation-block .consultation-accent {
    color: var(--primary-text, #E87193);
}

.consultation-block .consultation-underline {
    width: 48px;
    height: 4px;
    background-color: var(--primary, #E55F86);
    border-radius: 2px;
}

.consultation-block .consultation-intro {
    color: var(--text-muted, #B0B9BF);
    font-size: 16px;
    line-height: 1.6;
}

.consultation-block .consultation-card {
    background-color: var(--surface, #1D2E3C);
    border-radius: 4px;
    padding: 24px;
    border: none;
}

.consultation-block .consultation-icon-box {
    width: 44px;
    height: 44px;
    background-color: var(--dark-band, #0D1418);
    color: var(--primary, #E55F86);
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.consultation-block .consultation-step-title {
    color: var(--text, #F1F3F4);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
}

.consultation-block .consultation-step-sub {
    color: var(--text-muted, #B0B9BF);
    font-size: 13px;
}

.consultation-block .consultation-option-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.consultation-block .consultation-option-btn {
    background: var(--surface-alt, #172530);
    border: 1px solid var(--border, #364149);
    border-radius: 4px;
    padding: 14px 12px;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.consultation-block .consultation-option-btn .option-title {
    color: var(--text, #F1F3F4);
    font-weight: 700;
    font-size: 15px;
}

.consultation-block .consultation-option-btn .option-meta {
    color: var(--text-muted, #B0B9BF);
    font-size: 12px;
    line-height: 1.3;
}

.consultation-block .consultation-option-btn:hover {
    border-color: var(--primary, #E55F86);
    background: var(--surface, #1D2E3C);
}

.consultation-block .consultation-option-btn.active {
    border-color: var(--primary, #E55F86);
    background-color: var(--dark-band, #0D1418);
    box-shadow: inset 0 0 0 1px var(--primary, #E55F86);
}

.consultation-block .consultation-option-btn.active .option-title {
    color: var(--primary-text, #E87193);
}

.consultation-block .consultation-topic-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.consultation-block .consultation-topic-btn {
    background: var(--surface-alt, #172530);
    border: 1px solid var(--border, #364149);
    border-radius: 4px;
    padding: 14px;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.consultation-block .consultation-topic-btn .topic-icon {
    color: var(--primary-text, #E87193);
    font-size: 16px;
}

.consultation-block .consultation-topic-btn .topic-title {
    color: var(--text, #F1F3F4);
    font-weight: 700;
    font-size: 15px;
}

.consultation-block .consultation-topic-btn .topic-desc {
    color: var(--text-muted, #B0B9BF);
    font-size: 12px;
    line-height: 1.4;
}

.consultation-block .consultation-topic-btn:hover {
    border-color: var(--primary, #E55F86);
    background: var(--surface, #1D2E3C);
}

.consultation-block .consultation-topic-btn.active {
    border-color: var(--primary, #E55F86);
    background-color: var(--dark-band, #0D1418);
    box-shadow: inset 0 0 0 1px var(--primary, #E55F86);
}

.consultation-block .consultation-topic-btn.active .topic-title {
    color: var(--primary-text, #E87193);
}

.consultation-block .consultation-slots-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.consultation-block .consultation-slot-chip {
    background: var(--surface-alt, #172530);
    border: 1px solid var(--border, #364149);
    border-radius: 4px;
    padding: 10px 8px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.consultation-block .consultation-slot-chip .slot-day {
    font-size: 13px;
    font-weight: 700;
    color: var(--text, #F1F3F4);
}

.consultation-block .consultation-slot-chip .slot-time {
    font-size: 12px;
    color: var(--text-muted, #B0B9BF);
}

.consultation-block .consultation-slot-chip:hover {
    border-color: var(--primary, #E55F86);
    background: var(--surface, #1D2E3C);
}

.consultation-block .consultation-slot-chip.active {
    border-color: var(--primary, #E55F86);
    background-color: var(--dark-band, #0D1418);
    box-shadow: inset 0 0 0 1px var(--primary, #E55F86);
}

.consultation-block .consultation-slot-chip.active .slot-day {
    color: var(--primary-text, #E87193);
}

.consultation-block .consultation-summary-card {
    background: var(--dark-band, #0D1418);
    border-radius: 4px;
    padding: 32px 24px;
    border: 1px solid var(--border, #364149);
}

.consultation-block .consultation-summary-badge .wy-badge {
    background-color: var(--primary, #E55F86);
    color: var(--on-primary, #111111);
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 3px;
    display: inline-block;
}

.consultation-block .consultation-summary-title {
    color: var(--text, #F1F3F4);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
}

.consultation-block .consultation-summary-desc {
    color: var(--text-muted, #B0B9BF);
    font-size: 14px;
    line-height: 1.5;
}

.consultation-block .consultation-summary-item {
    background: var(--surface-alt, #172530);
    border-radius: 4px;
    border-left: 3px solid var(--primary, #E55F86);
}

.consultation-block .consultation-summary-item .text-label {
    font-size: 12px;
    color: var(--text-muted, #B0B9BF);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.consultation-block .consultation-summary-item .text-value {
    font-size: 15px;
    font-weight: 700;
    color: var(--text, #F1F3F4);
    word-break: break-word;
}

.consultation-block .consultation-guarantee {
    background: var(--surface, #1D2E3C);
    border-radius: 4px;
}

.consultation-block .guarantee-icon {
    color: var(--accent, #6FCAB4);
    font-size: 14px;
}

.consultation-block .guarantee-text {
    font-size: 13px;
    color: var(--text-muted, #B0B9BF);
    line-height: 1.45;
}

.consultation-block .consultation-submit-btn {
    background-color: var(--primary, #E55F86);
    color: var(--on-primary, #111111);
    padding: 14px 20px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.consultation-block .consultation-submit-btn:hover {
    background-color: var(--primary-hover, #EB82A1);
    color: var(--on-primary, #111111);
}

.consultation-block .consultation-note {
    font-size: 12px;
    color: var(--text-muted, #B0B9BF);
}

@media (max-width: 767px) {
    .consultation-block .wy-title {
        font-size: 22px;
    }

    .consultation-block .consultation-step-title {
        font-size: 16px;
    }

    .consultation-block .consultation-option-grid,
    .consultation-block .consultation-topic-grid,
    .consultation-block .consultation-slots-grid {
        grid-template-columns: 1fr;
    }

    .consultation-block .consultation-card,
    .consultation-block .consultation-summary-card {
        padding: 20px 16px;
    }
}

/* ===== inaction_cost ===== */
.inaction-cost-block .inaction-gem {
    color: var(--primary-text, #E87193);
    font-size: 8px;
    vertical-align: middle;
}

.inaction-cost-block .inaction-accent {
    color: var(--primary-text, #E87193);
}

.inaction-cost-block .inaction-title-line {
    width: 48px;
    height: 4px;
    background-color: var(--primary, #E55F86);
    margin: 14px auto 20px;
    border-radius: 2px;
}

.inaction-cost-block .inaction-lead {
    font-size: 16px;
    line-height: 1.6;
    color: var(--text-muted, #B0B9BF);
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.inaction-cost-block .inaction-metric-card {
    background-color: var(--surface, #1D2E3C);
    border-radius: 4px;
    border: none;
    box-shadow: none;
    transition: background-color 0.2s ease;
}

.inaction-cost-block .inaction-metric-card:hover {
    background-color: var(--surface-alt, #172530);
}

.inaction-cost-block .inaction-icon-plate {
    width: 52px;
    height: 52px;
    border-radius: 4px;
    background-color: var(--dark-band, #0D1418);
    color: var(--primary, #E55F86);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.inaction-cost-block .inaction-stat-number {
    font-size: 28px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--text, #F1F3F4);
    letter-spacing: -0.01em;
}

.inaction-cost-block .inaction-card-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--text, #F1F3F4);
}

.inaction-cost-block .inaction-stat-text {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-muted, #B0B9BF);
}

.inaction-cost-block .inaction-scenario-panel {
    background: var(--surface_alt, #172530);
    border-radius: 4px;
    border: 1px solid var(--border, #364149);
}

.inaction-cost-block .inaction-panel-tag {
    font-size: 12px;
    font-weight: 600;
    color: var(--accent, #6FCAB4);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.inaction-cost-block .inaction-scenario-title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--text, #F1F3F4);
}

.inaction-cost-block .inaction-scenario-desc {
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-muted, #B0B9BF);
}

.inaction-cost-block .inaction-point-name {
    font-size: 15px;
    color: var(--text, #F1F3F4);
    margin-bottom: 2px;
}

.inaction-cost-block .inaction-point-text {
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--text-muted, #B0B9BF);
}

.inaction-cost-block .inaction-point-icon {
    font-size: 18px;
}

.inaction-cost-block .inaction-point-icon.text-danger {
    color: #EB5757 !important;
}

.inaction-cost-block .inaction-point-icon.text-success {
    color: var(--accent, #6FCAB4) !important;
}

.inaction-cost-block .inaction-guide-card {
    background-color: var(--surface, #1D2E3C);
    border-radius: 4px;
    border: none;
    box-shadow: none;
}

.inaction-cost-block .inaction-guide-media {
    height: 200px;
    overflow: hidden;
}

.inaction-cost-block .inaction-guide-media img {
    object-fit: cover;
    transition: transform 0.25s ease;
}

.inaction-cost-block .inaction-guide-card:hover .inaction-guide-media img {
    transform: scale(1.02);
}

.inaction-cost-block .inaction-guide-badge {
    background-color: var(--dark-band, #0D1418);
    color: var(--primary, #E55F86);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 4px;
}

.inaction-cost-block .inaction-guide-meta {
    font-size: 12px;
    color: var(--text-muted, #B0B9BF);
}

.inaction-cost-block .inaction-guide-bullet {
    color: var(--border, #364149);
    font-size: 10px;
}

.inaction-cost-block .inaction-guide-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
}

.inaction-cost-block .inaction-guide-title a {
    color: var(--text, #F1F3F4);
    transition: color 0.2s ease;
}

.inaction-cost-block .inaction-guide-title a:hover {
    color: var(--primary-text, #E87193);
}

.inaction-cost-block .inaction-guide-snippet {
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--text-muted, #B0B9BF);
}

.inaction-cost-block .inaction-guide-link {
    color: var(--primary-text, #E87193);
    font-size: 14px;
    font-weight: 700;
    transition: color 0.2s ease, gap 0.2s ease;
}

.inaction-cost-block .inaction-guide-link:hover {
    color: var(--primary-hover, #EB82A1);
}

@media (max-width: 767px) {
    .inaction-cost-block .inaction-scenario-title {
        font-size: 18px;
    }

    .inaction-cost-block .inaction-card-title {
        font-size: 16px;
    }

    .inaction-cost-block .inaction-stat-number {
        font-size: 24px;
    }

    .inaction-cost-block .inaction-guide-media {
        height: 180px;
    }
}

/* ===== included_excluded ===== */
.wy-scope-section {
    position: relative;
    overflow: hidden;
}

.wy-scope-section .wy-eyebrow {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--primary-text);
}

.wy-scope-section .wy-scope-diamond {
    font-size: 8px;
    color: var(--primary);
}

.wy-scope-section .wy-title {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.015em;
    color: var(--text);
}

.wy-scope-section .wy-scope-accent {
    color: var(--primary-text);
}

.wy-scope-section .wy-title-underline {
    width: 48px;
    height: 4px;
    background: var(--primary);
    border-radius: 2px;
}

.wy-scope-section .wy-scope-subtitle {
    max-width: 680px;
    font-size: 16px;
    line-height: 1.6;
    color: var(--text-muted);
}

.wy-scope-section .wy-scope-card {
    background: var(--surface);
    border: none;
    border-radius: 4px;
    padding: 32px 28px;
    box-shadow: none;
}

.wy-scope-section .wy-scope-icon-box {
    width: 44px;
    height: 44px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.wy-scope-section .wy-scope-icon-box--included {
    background: var(--primary);
    color: var(--on-primary);
}

.wy-scope-section .wy-scope-icon-box--excluded {
    background: var(--dark-band);
    color: var(--text-muted);
}

.wy-scope-section .wy-scope-badge--included {
    background: rgba(229, 95, 134, 0.15);
    color: var(--primary-text);
    font-size: 12px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
    display: inline-block;
}

.wy-scope-section .wy-scope-badge--excluded {
    background: rgba(176, 185, 191, 0.12);
    color: var(--text-muted);
    font-size: 12px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
    display: inline-block;
}

.wy-scope-section .wy-scope-heading {
    font-size: 20px;
    font-weight: 700;
    color: var(--text);
}

.wy-scope-section .wy-scope-counter {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-muted);
    background: var(--surface-alt);
    padding: 4px 10px;
    border-radius: 4px;
}

.wy-scope-section .wy-scope-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-muted);
}

.wy-scope-section .wy-scope-bullet {
    width: 22px;
    height: 22px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    flex-shrink: 0;
}

.wy-scope-section .wy-scope-bullet--included {
    background: rgba(111, 202, 180, 0.16);
    color: var(--accent);
}

.wy-scope-section .wy-scope-bullet--excluded {
    background: rgba(229, 95, 134, 0.14);
    color: var(--primary);
}

.wy-scope-section .wy-scope-item-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
}

.wy-scope-section .wy-scope-item-text {
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-muted);
}

.wy-scope-section .wy-scope-footer-note {
    font-size: 13px;
    color: var(--text-muted);
    padding: 10px 14px;
    border-radius: 4px;
}

.wy-scope-section .wy-scope-footer-note--included {
    background: rgba(111, 202, 180, 0.08);
}

.wy-scope-section .wy-scope-footer-note--excluded {
    background: rgba(176, 185, 191, 0.06);
}

.wy-scope-section .wy-scope-note-icon {
    color: var(--primary-text);
}

.wy-scope-section .wy-scope-cta-box {
    background: var(--surface);
    border: 1px solid var(--border);
}

.wy-scope-section .wy-scope-cta-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--text);
}

.wy-scope-section .wy-scope-cta-desc {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.5;
}

.wy-scope-section .wy-btn {
    background: var(--primary);
    color: var(--on-primary);
    border: none;
    border-radius: 4px;
    padding: 12px 24px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    white-space: normal;
}

.wy-scope-section .wy-btn:hover,
.wy-scope-section .wy-btn:focus {
    background: var(--primary-hover);
    color: var(--on-primary);
}

@media (max-width: 767px) {
    .wy-scope-section .wy-title {
        font-size: 24px;
    }

    .wy-scope-section .wy-scope-heading {
        font-size: 18px;
    }

    .wy-scope-section .wy-scope-card {
        padding: 22px 18px;
    }

    .wy-scope-section .wy-scope-cta-box {
        text-align: left;
    }

    .wy-scope-section .wy-scope-cta-box .wy-btn {
        width: 100%;
    }
}

/* ===== guides_grid ===== */
.guides-grid-block {
    overflow-x: hidden;
}

.guides-grid-block .wy-title {
    font-family: 'Urbanist', sans-serif;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: #F1F3F4;
    margin: 0;
}

.guides-grid-block .guides-accent {
    color: #E87193;
}

.guides-grid-block .guides-gem {
    color: #E87193;
    font-size: 8px;
}

.guides-grid-block .guides-title-bar {
    width: 48px;
    height: 4px;
    background: #E55F86;
    margin: 14px auto 20px auto;
    border-radius: 2px;
}

.guides-grid-block .guides-section-lead {
    font-family: 'Urbanist', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #B0B9BF;
    max-width: 680px;
}

.guides-grid-block .guides-card {
    background: #1D2E3C;
    border-radius: 4px;
    overflow: hidden;
    height: 100%;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.guides-grid-block .guides-card:hover {
    background-color: #233748;
}

.guides-grid-block .guides-card-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background-color: #0D1418;
}

.guides-grid-block .guides-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.guides-grid-block .guides-card:hover .guides-img {
    transform: scale(1.03);
}

.guides-grid-block .guides-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
}

.guides-grid-block .guides-category {
    background: rgba(229, 95, 134, 0.15);
    color: #E87193;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 3px;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.guides-grid-block .guides-date,
.guides-grid-block .guides-author {
    font-size: 13px;
    color: #B0B9BF;
    line-height: 1.4;
    display: inline-flex;
    align-items: center;
}

.guides-grid-block .guides-dot {
    color: #364149;
    font-size: 12px;
}

.guides-grid-block .guides-card-title {
    font-family: 'Urbanist', sans-serif;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
    margin: 0 0 12px 0;
    color: #F1F3F4;
}

.guides-grid-block .guides-title-link {
    color: #F1F3F4;
    text-decoration: none;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.guides-grid-block .guides-title-link:hover,
.guides-grid-block .guides-title-link:focus {
    color: #E87193;
    text-decoration: none;
}

.guides-grid-block .guides-card-excerpt {
    font-family: 'Urbanist', sans-serif;
    font-size: 15px;
    line-height: 1.55;
    color: #B0B9BF;
    margin: 0;
    overflow-wrap: anywhere;
}

.guides-grid-block .guides-card-btn {
    background: #E55F86;
    color: #111111;
    font-family: 'Urbanist', sans-serif;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 20px;
    border-radius: 4px;
    border: none;
    text-decoration: none;
    display: inline-block;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.guides-grid-block .guides-card-btn:hover,
.guides-grid-block .guides-card-btn:focus {
    background-color: #EB82A1;
    color: #111111;
    text-decoration: none;
}

.guides-grid-block .guides-archive-btn {
    background: transparent;
    color: #F1F3F4;
    border: 1px solid #364149;
    padding: 14px 28px;
    border-radius: 4px;
    font-family: 'Urbanist', sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.guides-grid-block .guides-archive-btn:hover,
.guides-grid-block .guides-archive-btn:focus {
    background: #1D2E3C;
    color: #FFFFFF;
    border-color: #E55F86;
    text-decoration: none;
}

@media (max-width: 767.98px) {
    .guides-grid-block .wy-title {
        font-size: 16px;
        hyphens: auto;
    }

    .guides-grid-block .guides-card-title {
        font-size: 14px;
        hyphens: auto;
    }

    .guides-grid-block .guides-card-body {
        padding: 18px;
    }

    .guides-grid-block .guides-section-lead {
        font-size: 14px;
        line-height: 1.5;
    }
}

/* ===== footer ===== */
.vin-footer {
    background-color: var(--dark-band, #0D1418);
    color: var(--on-dark-muted, #B6BEC3);
    padding-top: 56px;
    padding-bottom: 0;
    position: relative;
    overflow: hidden;
}

.vin-footer .vin-footer__disclaimer {
    background-color: var(--surface-alt, #172530);
    border: 1px solid var(--border, #364149);
    border-left: 4px solid var(--primary, #E55F86);
    border-radius: 4px;
    padding: 20px 24px;
    margin-bottom: 40px;
}

.vin-footer .vin-footer__disclaimer-icon {
    color: var(--primary-text, #E87193);
    font-size: 18px;
    flex-shrink: 0;
}

.vin-footer .vin-footer__disclaimer-title {
    color: var(--on-dark, #FFFFFF);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.vin-footer .vin-footer__disclaimer-text {
    color: var(--on-dark-muted, #B6BEC3);
    font-size: 14px;
    line-height: 1.6;
}

.vin-footer .vin-footer__body {
    padding-bottom: 48px;
}

.vin-footer .vin-footer__brand-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--on-dark, #FFFFFF);
    margin-bottom: 14px;
    letter-spacing: -0.01em;
}

.vin-footer .vin-footer__brand-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--on-dark-muted, #B6BEC3);
    margin-bottom: 0;
}

.vin-footer .vin-footer__heading {
    font-size: 16px;
    font-weight: 700;
    color: var(--on-dark, #FFFFFF);
    margin-bottom: 16px;
    text-transform: none;
}

.vin-footer .vin-footer__nav-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.vin-footer .vin-footer__nav-item {
    line-height: 1.4;
}

.vin-footer .vin-footer__link {
    color: var(--on-dark-muted, #B6BEC3);
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.vin-footer .vin-footer__link:hover,
.vin-footer .vin-footer__link:focus {
    color: var(--primary-text, #E87193);
    text-decoration: none;
}

.vin-footer .vin-footer__nav-item i {
    color: var(--primary-text, #E87193);
    font-size: 12px;
    transition: transform 0.2s ease;
}

.vin-footer .vin-footer__nav-item a:hover i {
    transform: translateX(3px);
}

.vin-footer .vin-footer__contact-icon {
    color: var(--primary-text, #E87193);
    font-size: 14px;
    width: 16px;
    text-align: center;
    flex-shrink: 0;
}

.vin-footer .vin-footer__contact-text {
    font-size: 14px;
    line-height: 1.5;
    color: var(--on-dark-muted, #B6BEC3);
    overflow-wrap: anywhere;
}

.vin-footer .vin-footer__legal-links {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--border, #364149);
}

.vin-footer .vin-footer__legal-link {
    color: var(--on-dark-muted, #B6BEC3);
    font-size: 13px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.vin-footer .vin-footer__legal-link:hover,
.vin-footer .vin-footer__legal-link:focus {
    color: var(--on-dark, #FFFFFF);
    text-decoration: underline;
}

.vin-footer .vin-footer__separator {
    color: var(--border, #364149);
    font-size: 12px;
}

.vin-footer .vin-footer__bottom-strip {
    background-color: var(--primary, #E55F86);
    padding: 12px 0;
}

.vin-footer .vin-footer__copyright {
    color: var(--on-primary, #111111);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.01em;
}

@media (max-width: 767px) {
    .vin-footer {
        padding-top: 36px;
    }

    .vin-footer .vin-footer__disclaimer {
        padding: 16px 18px;
        margin-bottom: 28px;
    }

    .vin-footer .vin-footer__disclaimer-title {
        font-size: 15px;
    }

    .vin-footer .vin-footer__disclaimer-text {
        font-size: 13px;
    }

    .vin-footer .vin-footer__body {
        padding-bottom: 32px;
    }

    .vin-footer .vin-footer__brand-title {
        font-size: 18px;
    }

    .vin-footer .vin-footer__heading {
        margin-top: 8px;
        margin-bottom: 12px;
    }

    .vin-footer .vin-footer__legal-links {
        gap: 8px;
    }
}

/* ===== PAGE: about ===== */
.wy-about-wrapper { background-color: var(--bg); color: var(--text); font-family: 'Urbanist', sans-serif; }
.wy-about-wrapper .wy-diamond { font-size: 8px; color: var(--primary-text); vertical-align: middle; }
.wy-about-wrapper .text-primary-accent { color: var(--primary-text); }
.wy-about-wrapper .wy-title-underline { width: 48px; height: 4px; background: var(--primary); }
.wy-about-wrapper .wy-title { font-size: 34px; font-weight: 700; line-height: 1.2; letter-spacing: -0.015em; color: var(--text); }
.wy-about-wrapper .wy-on-dark .wy-title { color: var(--on-dark); }
.wy-about-wrapper .wy-eyebrow { font-size: 14px; font-weight: 600; letter-spacing: 0.02em; color: var(--primary-text); }
.wy-about-wrapper .wy-subheading { font-size: 20px; font-weight: 600; line-height: 1.3; color: var(--text); }
.wy-about-wrapper .wy-card-title { font-size: 18px; font-weight: 700; color: var(--text); }
.wy-about-wrapper .wy-text-lead { font-size: 18px; line-height: 1.55; color: var(--text-muted); }
.wy-about-wrapper .wy-on-dark .wy-text-lead { color: var(--on-dark-muted); }
.wy-about-wrapper .wy-text-body { font-size: 16px; line-height: 1.6; color: var(--text-muted); }
.wy-about-wrapper .wy-text-muted-desc { font-size: 14px; line-height: 1.55; color: var(--text-muted); }
.wy-about-wrapper .wy-text-subtitle { font-size: 16px; line-height: 1.6; color: var(--text-muted); max-width: 680px; }
.wy-about-wrapper .wy-about-media-box { width: 100%; aspect-ratio: 4/3; overflow: hidden; border-radius: 4px; background-color: var(--surface); }
.wy-about-wrapper .wy-about-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wy-about-wrapper .wy-check-icon-box { width: 36px; height: 36px; border-radius: 4px; background-color: var(--dark-band); color: var(--primary); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 14px; }
.wy-about-wrapper .wy-card { background: var(--surface); border: none; border-radius: 4px; padding: 28px 20px; }
.wy-about-wrapper .wy-icon-holder { width: 52px; height: 52px; border-radius: 4px; background: var(--dark-band); color: var(--primary); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; }
.wy-about-wrapper .wy-card-desc { font-size: 14px; line-height: 1.55; color: var(--text-muted); }
.wy-about-wrapper .wy-btn { background: var(--primary); color: var(--on-primary); border: none; border-radius: 4px; padding: 14px 28px; font-weight: 700; font-size: 15px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: background-color 0.2s ease, color 0.2s ease; line-height: 1.2; }
.wy-about-wrapper .wy-btn:hover { background: var(--primary-hover); color: var(--on-primary); }
.wy-about-wrapper .wy-btn-alt { background: transparent; color: var(--on-dark); border: 1px solid var(--border); border-radius: 4px; padding: 13px 26px; font-weight: 700; font-size: 15px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: background-color 0.2s ease, color 0.2s ease; line-height: 1.2; }
.wy-about-wrapper .wy-btn-alt:hover { background: var(--surface); color: var(--on-dark); border-color: var(--primary); }
.wy-about-wrapper .wy-stats-panel { background: var(--surface); border: 1px solid var(--border); }
.wy-about-wrapper .wy-stat-number { font-size: 32px; font-weight: 800; color: var(--primary-text); line-height: 1.1; }
.wy-about-wrapper .wy-stat-label { font-size: 14px; color: var(--on-dark-muted); font-weight: 500; margin-top: 4px; }
.wy-about-wrapper .wy-manifesto-card { background: var(--surface); border: none; }
@media (max-width: 767px) {
  .wy-about-wrapper .wy-title { font-size: 24px; }
  .wy-about-wrapper .wy-subheading { font-size: 18px; }
  .wy-about-wrapper .wy-card-title { font-size: 16px; }
  .wy-about-wrapper .wy-text-lead { font-size: 16px; }
  .wy-about-wrapper .wy-text-body { font-size: 15px; }
  .wy-about-wrapper .wy-btn, .wy-about-wrapper .wy-btn-alt { width: 100%; }
}

/* ===== PAGE: capture-one ===== */
.c1-notebook-block{padding:80px 0;background-color:var(--bg);color:var(--text);overflow:hidden}.c1-notebook-block .c1-diamond{font-size:9px;color:var(--primary-text);vertical-align:middle;margin:0 4px}.c1-notebook-block .wy-title{font-size:34px;line-height:1.2;font-weight:700;color:var(--text);letter-spacing:-0.015em}.c1-notebook-block .c1-accent-word{color:var(--primary-text)}.c1-notebook-block .c1-title-underline{width:48px;height:4px;background-color:var(--primary);margin:14px auto 28px}.c1-notebook-block .c1-lead-text{font-size:16px;line-height:1.6;color:var(--text-muted);max-width:760px}.c1-notebook-block .c1-spec-card{background-color:var(--surface);border-radius:4px;padding:28px 24px;border:none}.c1-notebook-block .c1-icon-plate{width:48px;height:48px;background-color:var(--dark-band);color:var(--primary);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:20px}.c1-notebook-block .c1-card-title{font-size:20px;font-weight:700;color:var(--text);line-height:1.3}.c1-notebook-block .c1-card-text{font-size:15px;line-height:1.6;color:var(--text-muted);margin:14px 0}.c1-notebook-block .c1-feature-list{list-style:none;padding:0;margin:0}.c1-notebook-block .c1-feature-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text-muted);margin-bottom:10px}.c1-notebook-block .c1-feature-list li:last-child{margin-bottom:0}.c1-notebook-block .c1-check-icon{color:var(--accent-text);margin-top:3px;font-size:13px;flex-shrink:0}.c1-notebook-block .c1-interactive-panel{background-color:var(--surface-alt);border-radius:4px;padding:32px 28px}.c1-notebook-block .c1-media-frame{position:relative;border-radius:4px;overflow:hidden;background-color:var(--dark-band);aspect-ratio:16/10}.c1-notebook-block .c1-preview-img{width:100%;height:100%;object-fit:cover;display:block}.c1-notebook-block .c1-switch-group{display:inline-flex;background-color:var(--dark-band);border-radius:4px;padding:4px;gap:4px}.c1-notebook-block .c1-switch-btn{background:transparent;border:none;color:var(--text-muted);font-size:13px;font-weight:700;padding:6px 14px;border-radius:4px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.c1-notebook-block .c1-switch-btn.active{background-color:var(--primary);color:var(--on-primary)}.c1-notebook-block .c1-margin-note{font-size:13px;color:var(--accent-text);font-style:italic;font-weight:600}.c1-notebook-block .c1-meta-strip{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.c1-notebook-block .c1-meta-label{font-size:13px;color:var(--text-muted)}.c1-notebook-block .c1-meta-val{font-size:13px;font-weight:700;color:var(--text)}.c1-notebook-block .c1-intent-content{display:none}.c1-notebook-block .c1-intent-content.active{display:block}.c1-notebook-block .c1-disclosure-card{background-color:var(--surface);border-radius:4px;padding:28px 24px;border-left:3px solid var(--primary)}.c1-notebook-block .c1-icon-subtle{color:var(--primary-text);background-color:var(--dark-band)}.c1-notebook-block .c1-disclosure-title{font-size:18px;font-weight:700;color:var(--text)}.c1-notebook-block .c1-disclosure-body{font-size:14px;line-height:1.6;color:var(--text-muted)}.c1-notebook-block .wy-btn{background-color:var(--primary);color:var(--on-primary);border-radius:4px;padding:12px 24px;font-weight:700;font-size:14px;text-decoration:none;border:none;transition:background-color .2s ease,color .2s ease}.c1-notebook-block .wy-btn:hover{background-color:var(--primary-hover);color:var(--on-primary)}.c1-notebook-block .wy-btn-alt{background-color:transparent;color:var(--text);border:1px solid var(--border);border-radius:4px;padding:10px 18px;font-weight:600;font-size:13px;text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.c1-notebook-block .wy-btn-alt:hover{background-color:var(--surface);color:var(--primary-text);border-color:var(--primary)}@media (max-width:767px){.c1-notebook-block{padding:48px 0}.c1-notebook-block .wy-title{font-size:16px;hyphens:auto}.c1-notebook-block .c1-card-title{font-size:14px;hyphens:auto}.c1-notebook-block .c1-disclosure-title{font-size:14px;hyphens:auto}.c1-notebook-block .c1-spec-card,.c1-notebook-block .c1-interactive-panel,.c1-notebook-block .c1-disclosure-card{padding:20px 16px}.c1-notebook-block .c1-media-frame{aspect-ratio:4/3}}

/* ===== PAGE: guides ===== */
.guides-section { background-color: var(--bg); padding: 80px 0; overflow-x: hidden; }
.guides-header { text-align: left; max-width: 820px; }
.guides-section .wy-eyebrow { color: var(--primary-text); font-size: 14px; font-weight: 600; letter-spacing: 0.02em; display: inline-flex; align-items: center; }
.guides-section .wy-eyebrow i { font-size: 9px; }
.guides-section .wy-title { color: var(--text); font-size: 34px; font-weight: 700; line-height: 1.2; margin: 0; }
.guides-title-accent { color: var(--primary-text); }
.guides-underline { width: 48px; height: 4px; background-color: var(--primary); border-radius: 2px; margin-top: 14px; margin-bottom: 24px; }
.guides-intro-text { color: var(--text-muted); font-size: 16px; line-height: 1.6; margin-bottom: 0; }
.guides-list-wrap { gap: 36px; margin-top: 40px; }
.guides-row-card { background-color: var(--surface); border-radius: 4px; padding: 24px; gap: 28px; transition: background-color 0.2s ease; }
.guides-row-card:hover { background-color: var(--surface-alt); }
.guides-media-col { flex: 0 0 320px; max-width: 320px; }
.guides-media-link { position: relative; aspect-ratio: 16 / 9; border-radius: 4px; overflow: hidden; background-color: var(--dark-band); }
.guides-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.guides-content-col { flex: 1 1 auto; min-width: 0; }
.guides-meta { font-size: 13px; }
.guides-meta-item { color: var(--text-muted); font-weight: 500; }
.guides-meta-item i { color: var(--accent-text); }
.guides-card-title { font-size: 22px; font-weight: 700; line-height: 1.3; margin: 0; }
.guides-title-link { color: var(--text); text-decoration: none; transition: color 0.2s ease; overflow-wrap: anywhere; }
.guides-title-link:hover { color: var(--primary-text); }
.guides-card-summary { color: var(--text-muted); font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.guides-action-link { display: inline-flex; align-items: center; color: var(--primary-text); font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; transition: color 0.2s ease; }
.guides-action-link:hover { color: var(--primary-hover); }
.guides-cta-col { flex: 0 0 200px; max-width: 200px; min-width: 170px; }
.guides-btn-direct { display: inline-flex; align-items: center; justify-content: center; background-color: var(--primary); color: var(--on-primary); font-family: 'Urbanist', sans-serif; font-size: 14px; font-weight: 700; padding: 12px 18px; border-radius: 4px; border: none; text-decoration: none; white-space: normal; text-align: center; line-height: 1.2; transition: background-color 0.2s ease, color 0.2s ease; }
.guides-btn-direct:hover, .guides-btn-direct:focus { background-color: var(--primary-hover); color: var(--on-primary); }
@media (max-width: 991px) { .guides-media-col { flex: 0 0 260px; max-width: 260px; } .guides-cta-col { flex: 0 0 170px; max-width: 170px; } }
@media (max-width: 767px) { .guides-section { padding: 48px 0; } .guides-section .wy-title { font-size: 16px; hyphens: auto; } .guides-card-title { font-size: 14px; hyphens: auto; } .guides-intro-text { font-size: 14px; } .guides-list-wrap { gap: 24px; margin-top: 28px; } .guides-row-card { padding: 18px; gap: 18px; } .guides-media-col { flex: 1 1 100%; max-width: 100%; width: 100%; } .guides-cta-col { flex: 1 1 100%; max-width: 100%; width: 100%; align-items: stretch !important; margin-top: 10px; } .guides-btn-direct { width: 100%; } }

/* ===== PAGE: presets ===== */
.vin-presets-block{padding:80px 0;background-color:var(--bg);color:var(--text);overflow:hidden}.vin-presets-block .vin-diamond{color:var(--primary-text);font-size:10px}.vin-presets-block .text-brand-pink{color:var(--primary-text)}.vin-presets-block .vin-title-bar{width:48px;height:4px;background-color:var(--primary);border-radius:2px}.vin-presets-block .vin-list-title{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-0.01em}.vin-presets-block .vin-list-divider{height:1px;background-color:var(--border)}.vin-presets-block .vin-divider-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:4px;overflow:hidden;background-color:var(--surface)}.vin-presets-block .vin-grid-item{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background-color:var(--surface);display:flex;flex-direction:column}.vin-presets-block .vin-divider-grid .vin-grid-item:nth-child(3n){border-right:none}.vin-presets-block .vin-divider-grid .vin-grid-item:nth-last-child(-n+1){border-bottom:none}.vin-presets-block .vin-preset-card{padding:20px;background-color:transparent;transition:background-color .2s ease}.vin-presets-block .vin-preset-card:hover{background-color:var(--surface-alt)}.vin-presets-block .vin-card-media{display:block;width:100%;aspect-ratio:1/1;position:relative;overflow:hidden;border-radius:4px;background-color:var(--surface-alt);margin-bottom:18px}.vin-presets-block .vin-square-img{width:100%;height:100%;object-fit:cover;display:block}.vin-presets-block .vin-meta-chip{color:var(--text-muted);font-size:13px;font-weight:600}.vin-presets-block .vin-price-tag{color:var(--accent-text);font-weight:700;font-size:14px}.vin-presets-block .vin-card-title{font-size:18px;font-weight:700;line-height:1.3;margin:0}.vin-presets-block .vin-card-link{color:var(--text);text-decoration:none;transition:color .2s ease}.vin-presets-block .vin-card-link:hover{color:var(--primary-text)}.vin-presets-block .vin-card-desc{font-size:14px;line-height:1.55;color:var(--text-muted);margin:0}.vin-presets-block .vin-btn-full{display:flex;align-items:center;justify-content:center;text-align:center;padding:12px 18px;font-size:14px;font-weight:700;border-radius:4px;text-decoration:none}@media (max-width:991px){.vin-presets-block{padding:60px 0}.vin-presets-block .vin-divider-grid{grid-template-columns:repeat(2,1fr)}.vin-presets-block .vin-divider-grid .vin-grid-item:nth-child(3n){border-right:1px solid var(--border)}.vin-presets-block .vin-divider-grid .vin-grid-item:nth-child(2n){border-right:none}}@media (max-width:767px){.vin-presets-block{padding:48px 0}.vin-presets-block .vin-divider-grid{grid-template-columns:1fr}.vin-presets-block .vin-grid-item{border-right:none!important}.vin-presets-block .vin-grid-item:last-child{border-bottom:none}.vin-presets-block .vin-list-title{font-size:18px}.vin-presets-block .vin-preset-card{padding:16px}}

/* ===== PAGE: privacy ===== */
.privacy-content-section{padding:60px 0;background-color:var(--bg);position:relative}.privacy-content-section .privacy-content-card{background:var(--surface);border-radius:4px;padding:36px 32px;box-shadow:none;border:1px solid var(--border)}.privacy-content-section .wy-eyebrow{color:var(--primary-text);font-size:14px;font-weight:600;display:inline-flex;align-items:center;letter-spacing:0.02em}.privacy-content-section .privacy-gem{font-size:8px;color:var(--primary-text)}.privacy-content-section .wy-title{color:var(--text);font-size:32px;line-height:1.2;font-weight:700}.privacy-content-section .privacy-title-accent{color:var(--primary-text)}.privacy-content-section .privacy-title-bar{width:48px;height:4px;background-color:var(--primary);margin:14px auto 20px;border-radius:2px}.privacy-content-section .privacy-updated-badge{background:var(--surface-alt);color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:6px 14px;font-size:13px;font-weight:500}.privacy-content-section .privacy-body{color:var(--text-muted);font-size:15px;line-height:1.65}.privacy-content-section .privacy-heading{color:var(--text);font-size:20px;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:10px}.privacy-content-section .privacy-section-icon{color:var(--primary-text);font-size:16px}.privacy-content-section .privacy-bullet{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--dark-band);color:var(--primary);border-radius:4px;font-size:11px;flex-shrink:0;margin-top:2px}.privacy-content-section .privacy-sub-box{background:var(--surface-alt);border:1px solid var(--border);border-radius:4px}.privacy-content-section .privacy-sub-title{color:var(--text);font-size:16px;font-weight:700}.privacy-content-section .privacy-table{color:var(--text);border-color:var(--border)}.privacy-content-section .privacy-table th{background-color:var(--surface-alt);color:var(--text);font-weight:700;font-size:14px;border-bottom:1px solid var(--border);padding:12px 14px}.privacy-content-section .privacy-table td{background-color:var(--surface);color:var(--text-muted);font-size:14px;border-bottom:1px solid var(--border);padding:12px 14px;vertical-align:middle}.privacy-content-section .wy-badge{background-color:var(--dark-band);color:var(--accent-text);padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;display:inline-block}.privacy-content-section .privacy-card-footer{border-top:1px solid var(--border)}.privacy-content-section .privacy-footer-note{color:var(--text-muted);font-size:14px}.privacy-content-section .privacy-link{color:var(--primary-text);text-decoration:none;font-weight:600;transition:color 0.2s ease}.privacy-content-section .privacy-link:hover{color:var(--primary-hover);text-decoration:underline}@media (max-width:767px){.privacy-content-section{padding:40px 0}.privacy-content-section .privacy-content-card{padding:24px 16px}.privacy-content-section .wy-title{font-size:24px}.privacy-content-section .privacy-heading{font-size:18px}.privacy-content-section .privacy-card-footer{flex-direction:column;align-items:flex-start}}

/* ===== PAGE: terms ===== */
.vin-terms-block { background-color: var(--bg); padding: 80px 0; }
@media (max-width: 767px) { .vin-terms-block { padding: 48px 0; } }
.vin-terms-block .vin-terms-header .wy-eyebrow { color: var(--primary-text); font-weight: 600; font-size: 14px; letter-spacing: 0.02em; }
.vin-terms-block .vin-terms-header .wy-eyebrow i { font-size: 8px; color: var(--primary-text); }
.vin-terms-block .vin-terms-header .wy-title { color: var(--text); font-weight: 700; font-size: 34px; line-height: 1.2; margin-top: 10px; }
.vin-terms-block .vin-text-accent { color: var(--primary-text); }
.vin-terms-block .vin-title-underline { width: 48px; height: 4px; background-color: var(--primary); margin: 14px auto 0 auto; border-radius: 2px; }
.vin-terms-block .vin-terms-meta { color: var(--text-muted); font-size: 14px; }
.vin-terms-block .wy-card { background-color: var(--surface); border: none; border-radius: 4px; padding: 28px 24px; }
@media (max-width: 767px) { .vin-terms-block .wy-card { padding: 20px 16px; } }
.vin-terms-block .vin-summary-card { border-left: 4px solid var(--primary); background: var(--surface_alt, #172530); }
.vin-terms-block .vin-summary-card h3 { color: var(--text); font-weight: 700; }
.vin-terms-block .vin-summary-card p { color: var(--text-muted); font-size: 15px; line-height: 1.6; }
.vin-terms-block .vin-terms-article h3 { color: var(--text); font-weight: 700; letter-spacing: -0.01em; }
.vin-terms-block .vin-terms-article h3 i { color: var(--primary); }
.vin-terms-block .vin-terms-article p { color: var(--text-muted); font-size: 15px; line-height: 1.65; margin-bottom: 1rem; }
.vin-terms-block .vin-terms-article p:last-child { margin-bottom: 0; }
.vin-terms-block .vin-terms-list { list-style: none; padding-left: 0; margin-top: 12px; margin-bottom: 12px; }
.vin-terms-block .vin-terms-list li { color: var(--text-muted); font-size: 15px; line-height: 1.6; margin-bottom: 10px; display: flex; align-items: flex-start; }
.vin-terms-block .vin-terms-list li:last-child { margin-bottom: 0; }
.vin-terms-block .vin-terms-list li strong { color: var(--text); }
.vin-terms-block .vin-terms-list li i { margin-top: 4px; flex-shrink: 0; color: var(--primary-text); }
.vin-terms-block .vin-text-link { color: var(--primary-text); text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s ease; }
.vin-terms-block .vin-text-link:hover { color: var(--primary-hover); }
.vin-terms-block .vin-contact-box { background-color: var(--surface_alt, #172530); border-radius: 4px; padding: 24px; }
.vin-terms-block .vin-contact-box h4 { color: var(--text); font-weight: 700; }
.vin-terms-block .vin-contact-box p { font-size: 14px; }
.vin-terms-block .wy-btn { background-color: var(--primary); color: var(--on-primary); font-family: 'Urbanist', sans-serif; font-weight: 700; font-size: 14px; padding: 10px 20px; border-radius: 4px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: background-color 0.2s ease, color 0.2s ease; }
.vin-terms-block .wy-btn:hover { background-color: var(--primary-hover); color: var(--on-primary); }
.vin-terms-block .wy-btn-alt { background-color: transparent; border: 1px solid var(--border); color: var(--text); font-family: 'Urbanist', sans-serif; font-weight: 600; font-size: 14px; padding: 9px 19px; border-radius: 4px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: background-color 0.2s ease, color 0.2s ease; }
.vin-terms-block .wy-btn-alt:hover { background-color: var(--surface); color: var(--on-dark); }
@media (max-width: 767px) { .vin-terms-block .wy-title { font-size: 24px; } .vin-terms-block .vin-terms-article h3 { font-size: 18px; } }

/* ===== PAGE: disclaimer ===== */
.disclaimer-block { background-color: var(--bg); color: var(--text); position: relative; overflow-wrap: anywhere; }
.disclaimer-block__diamond { font-size: 8px; color: var(--primary-text); vertical-align: middle; }
.disclaimer-block__title { font-size: 34px; line-height: 1.2; font-weight: 700; color: var(--text); }
.disclaimer-block__accent { color: var(--primary-text); }
.disclaimer-block__underline { width: 48px; height: 4px; background: var(--primary); margin: 14px auto 20px auto; border-radius: 2px; }
.disclaimer-block__lead { max-width: 640px; font-size: 16px; line-height: 1.6; color: var(--text-muted); }
.disclaimer-block__card { background-color: var(--surface); border: none; border-radius: 4px; padding: 28px 24px; box-shadow: none; }
.disclaimer-block__icon-box { width: 48px; height: 48px; min-width: 48px; background-color: var(--dark-band); color: var(--primary); border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; }
.disclaimer-block__section-title { font-size: 20px; line-height: 1.3; font-weight: 700; color: var(--text); }
.disclaimer-block__meta-text { font-size: 13px; line-height: 1.4; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.disclaimer-block__text { font-size: 15px; line-height: 1.65; color: var(--text-muted); }
.disclaimer-block__text strong { color: var(--text); font-weight: 600; }
.disclaimer-block__nav-card { background-color: var(--surface-alt); border-radius: 4px; border: 1px solid var(--border); }
.disclaimer-block__nav-title { font-size: 18px; font-weight: 700; color: var(--text); }
.disclaimer-block__action-btn { display: inline-flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; padding: 10px 22px; text-decoration: none; border-radius: 4px; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.disclaimer-block .wy-btn { background: var(--primary); color: var(--on-primary); border: none; }
.disclaimer-block .wy-btn:hover { background: var(--primary-hover); color: var(--on-primary); }
.disclaimer-block .wy-btn-alt { background: transparent; color: var(--text); border: 1px solid var(--border); }
.disclaimer-block .wy-btn-alt:hover { background: var(--surface); color: var(--on-dark); border-color: var(--primary); }
@media (max-width: 767px) {
  .disclaimer-block { padding-top: 36px !important; padding-bottom: 36px !important; }
  .disclaimer-block__title { font-size: 16px; hyphens: auto; }
  .disclaimer-block__section-title { font-size: 14px; hyphens: auto; }
  .disclaimer-block__card { padding: 20px 16px; }
  .disclaimer-block__icon-box { width: 40px; height: 40px; min-width: 40px; font-size: 16px; }
  .disclaimer-block__text { font-size: 14px; line-height: 1.55; }
  .disclaimer-block__action-btn { width: 100%; }
}

.comment-card {
    background: #1D2E3C;
    border-radius: 4px;
    border: 1px solid #364149;
    font-family: 'Urbanist', sans-serif;
}

.comment-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #0D1418;
    border: 1px solid #364149;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.comment-avatar .avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.avatar-initials {
    font-size: 15px;
    font-weight: 700;
    color: #E55F86;
    line-height: 1;
    letter-spacing: 0.04em;
}

.comment-author {
    font-size: 16px;
    font-weight: 700;
    color: #F1F3F4;
    line-height: 1.3;
}

.comment-badge {
    background: #172530;
    color: #6FCAB4;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
    border: 1px solid #364149;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.comment-time {
    font-size: 13px;
    color: #B0B9BF;
}

.comment-text {
    font-size: 15px;
    line-height: 1.6;
    color: #B0B9BF;
    margin: 0;
}

.comment-action-btn {
    background: transparent;
    border: none;
    padding: 4px 8px;
    color: #B0B9BF;
    font-size: 13px;
    font-weight: 600;
    font-family: 'Urbanist', sans-serif;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    transition: color 0.2s ease;
    border-radius: 4px;
}

.comment-action-btn:hover {
    color: #E55F86;
}

.comment-action-btn:focus-visible {
    outline: 1px solid #E55F86;
}

.comment-reply {
    background: #172530;
    border-left: 3px solid #E55F86;
    border-top: 1px solid #364149;
    border-right: 1px solid #364149;
    border-bottom: 1px solid #364149;
    border-radius: 0 4px 4px 0;
}

.comment-reply .comment-avatar {
    width: 38px;
    height: 38px;
    background: #0D1418;
    border: 1px solid #364149;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.comment-reply .comment-avatar .avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.comment-reply .avatar-initials {
    font-size: 13px;
    font-weight: 700;
    color: #6FCAB4;
}

.comment-reply .comment-author {
    font-size: 15px;
    font-weight: 700;
    color: #F1F3F4;
    line-height: 1.3;
}

.comment-badge-lead {
    background: #0D1418;
    color: #E87193;
    border-color: #E55F86;
}

.comment-reply .comment-text {
    font-size: 14px;
    line-height: 1.55;
    color: #B0B9BF;
}


/* ===== PAGE TEMPLATE: guides ===== */
.guide-detail-block {
    background-color: var(--bg, #121D26);
    color: var(--text, #F1F3F4);
    font-family: 'Urbanist', sans-serif;
}

.guide-detail-block .guide-stack {
    max-width: 900px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.guide-detail-block .guide-stack__card {
    background-color: var(--surface, #1D2E3C);
    border-radius: 4px;
    padding: 28px 24px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

.guide-detail-block .guide-stack__card--media {
    padding: 20px;
}

.guide-detail-block .guide-stack__image-frame {
    background-color: var(--surface-alt, #172530);
    border: 1px solid var(--border, #364149);
    border-radius: 4px;
    padding: 12px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.guide-detail-block .guide-stack__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 2px;
    display: block;
}

.guide-detail-block .guide-stack__caption {
    font-size: 13px;
    color: var(--text-muted, #B0B9BF);
}

.guide-detail-block .guide-stack__accent-icon {
    color: var(--primary-text, #E87193);
}

.guide-detail-block .guide-stack__badge {
    background-color: var(--surface-alt, #172530);
    color: var(--primary-text, #E87193);
    border: 1px solid var(--border, #364149);
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 700;
    border-radius: 4px;
}

.guide-detail-block .guide-stack__eyebrow-group {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--primary-text, #E87193);
}

.guide-detail-block .guide-stack__diamond {
    font-size: 6px;
    color: var(--primary, #E55F86);
    transform: rotate(45deg);
    display: inline-block;
}

.guide-detail-block .guide-stack__h2 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--text, #F1F3F4);
    overflow-wrap: anywhere;
}

.guide-detail-block .guide-stack__h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--text, #F1F3F4);
    overflow-wrap: anywhere;
}

.guide-detail-block .guide-stack__h4 {
    font-size: 17px;
    font-weight: 700;
    color: var(--text, #F1F3F4);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.guide-detail-block .guide-stack__underline {
    width: 44px;
    height: 3px;
    background-color: var(--primary, #E55F86);
    border-radius: 2px;
}

.guide-detail-block .guide-stack__lead-p {
    font-size: 17px;
    line-height: 1.6;
    color: var(--text, #F1F3F4);
    font-weight: 500;
    overflow-wrap: anywhere;
}

.guide-detail-block .guide-stack__text-content p {
    font-size: 15px;
    line-height: 1.65;
    color: var(--text-muted, #B0B9BF);
    overflow-wrap: anywhere;
}

.guide-detail-block .guide-stack__checklist {
    background-color: var(--surface-alt, #172530);
    border-radius: 4px;
    padding: 16px 20px;
    border: 1px solid var(--border, #364149);
}

.guide-detail-block .guide-stack__check-item {
    font-size: 14px;
    line-height: 1.5;
    color: var(--text, #F1F3F4);
    overflow-wrap: anywhere;
}

.guide-detail-block .guide-stack__list-icon {
    color: var(--accent, #6FCAB4);
    font-size: 14px;
    flex-shrink: 0;
}

.guide-detail-block .guide-stack__table-responsive {
    overflow-x: auto;
}

.guide-detail-block .guide-stack__table {
    border-collapse: collapse;
    font-size: 14px;
}

.guide-detail-block .guide-stack__th {
    background-color: var(--dark-band, #0D1418);
    color: var(--text, #F1F3F4);
    font-weight: 700;
    padding: 12px 16px;
    border-bottom: 2px solid var(--primary, #E55F86);
    text-align: left;
}

.guide-detail-block .guide-stack__tr:nth-child(even) {
    background-color: var(--surface-alt, #172530);
}

.guide-detail-block .guide-stack__tr:nth-child(odd) {
    background-color: var(--surface, #1D2E3C);
}

.guide-detail-block .guide-stack__td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border, #364149);
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.guide-detail-block .guide-stack__td--key {
    font-weight: 600;
    color: var(--text, #F1F3F4);
    width: 38%;
}

.guide-detail-block .guide-stack__td--val {
    color: var(--text-muted, #B0B9BF);
}

.guide-detail-block .guide-stack__table-icon {
    color: var(--primary-text, #E87193);
    font-size: 13px;
}

.guide-detail-block .guide-stack__author-avatar {
    width: 64px;
    height: 64px;
    border-radius: 4px;
    background-color: var(--surface-alt, #172530);
    border: 1px solid var(--border, #364149);
}

.guide-detail-block .guide-stack__author-glyph {
    font-size: 24px;
    color: var(--primary-text, #E87193);
}

.guide-detail-block .guide-stack__author-bio {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-muted, #B0B9BF);
    overflow-wrap: anywhere;
}

.guide-detail-block .guide-stack__author-note {
    font-size: 13px;
    color: var(--text, #F1F3F4);
    font-weight: 500;
    overflow-wrap: anywhere;
}

.guide-detail-block .guide-stack__cta-text {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-muted, #B0B9BF);
    overflow-wrap: anywhere;
}

.guide-detail-block .guide-stack__btn {
    background-color: var(--primary, #E55F86);
    color: var(--on-primary, #111111);
    font-weight: 700;
    font-size: 14px;
    padding: 12px 22px;
    border-radius: 4px;
    border: none;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.guide-detail-block .guide-stack__btn:hover,
.guide-detail-block .guide-stack__btn:focus {
    background-color: var(--primary-hover, #EB82A1);
    color: var(--on-primary, #111111);
    text-decoration: none;
}

.guide-detail-block .guide-stack__related-item {
    background-color: var(--surface-alt, #172530);
    border: 1px solid var(--border, #364149);
    border-radius: 4px;
    padding: 20px;
}

.guide-detail-block .guide-stack__meta-text {
    font-size: 12px;
    color: var(--text-muted, #B0B9BF);
}

.guide-detail-block .guide-stack__related-link {
    color: var(--text, #F1F3F4);
    text-decoration: none;
    transition: color 0.2s ease;
}

.guide-detail-block .guide-stack__related-link:hover,
.guide-detail-block .guide-stack__related-link:focus {
    color: var(--primary-text, #E87193);
    text-decoration: none;
}

.guide-detail-block .guide-stack__related-summary {
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-muted, #B0B9BF);
    overflow-wrap: anywhere;
}

.guide-detail-block .guide-stack__inline-link {
    font-size: 13px;
    font-weight: 700;
    color: var(--primary-text, #E87193);
    text-decoration: none;
    transition: color 0.2s ease;
}

.guide-detail-block .guide-stack__inline-link:hover,
.guide-detail-block .guide-stack__inline-link:focus {
    color: var(--primary-hover, #EB82A1);
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .guide-detail-block .guide-stack__card {
        padding: 20px 16px;
    }

    .guide-detail-block .guide-stack__card--media {
        padding: 14px;
    }

    .guide-detail-block .guide-stack__image-frame {
        padding: 8px;
    }

    .guide-detail-block .guide-stack__h2 {
        font-size: 16px !important;
        line-height: 1.3;
        hyphens: auto;
    }

    .guide-detail-block .guide-stack__h3 {
        font-size: 14px !important;
        line-height: 1.35;
        hyphens: auto;
    }

    .guide-detail-block .guide-stack__h4 {
        font-size: 14px !important;
        line-height: 1.35;
        hyphens: auto;
    }

    .guide-detail-block .guide-stack__table thead {
        display: none;
    }

    .guide-detail-block .guide-stack__table,
    .guide-detail-block .guide-stack__table tbody,
    .guide-detail-block .guide-stack__tr,
    .guide-detail-block .guide-stack__td {
        display: block;
        width: 100%;
    }

    .guide-detail-block .guide-stack__td--key {
        border-bottom: none;
        padding-bottom: 4px;
    }

    .guide-detail-block .guide-stack__td--val {
        padding-top: 0;
        padding-bottom: 12px;
    }

    .guide-detail-block .guide-stack__btn {
        width: 100%;
        text-align: center;
    }
}

/* ===== PAGE TEMPLATE: presets ===== */
.preset-detail-main {
    background-color: var(--bg, #121D26);
    color: var(--text, #F1F3F4);
}

.preset-detail-main .preset-showcase-panel {
    background-color: var(--surface, #1D2E3C);
    border-radius: 4px;
    border: none;
}

.preset-detail-main .preset-image-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 4px;
    overflow: hidden;
    padding: 0;
    background-color: #0D1418;
}

.preset-detail-main .preset-showcase-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.preset-detail-main .preset-format-indicator {
    font-size: 13px;
    color: var(--accent, #6FCAB4);
    font-weight: 600;
}

.preset-detail-main .preset-price-label {
    font-size: 15px;
    color: var(--text-muted, #B0B9BF);
    font-weight: 500;
}

.preset-detail-main .preset-price-val {
    font-size: 32px;
    font-weight: 800;
    color: var(--primary, #E55F86);
    line-height: 1;
}

.preset-detail-main .preset-price-type {
    font-size: 13px;
    color: var(--text-muted, #B0B9BF);
}

.preset-detail-main .preset-intro-desc {
    font-size: 15px;
    line-height: 1.55;
    color: var(--text-muted, #B0B9BF);
}

.preset-detail-main .preset-option-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--text, #F1F3F4);
}

.preset-detail-main .preset-option-pill {
    background: var(--surface-alt, #172530);
    color: var(--text-muted, #B0B9BF);
    border: 1px solid var(--border, #364149);
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 12px;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.preset-detail-main .preset-option-pill:hover {
    border-color: var(--primary, #E55F86);
    color: var(--text, #F1F3F4);
}

.preset-detail-main .preset-option-pill.active {
    background-color: var(--primary, #E55F86);
    color: var(--on-primary, #111111);
    border-color: var(--primary, #E55F86);
}

.preset-detail-main .preset-order-btn {
    background-color: var(--primary, #E55F86);
    color: var(--on-primary, #111111);
    font-weight: 700;
    font-size: 15px;
    padding: 12px 20px;
    border-radius: 4px;
    border: none;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.preset-detail-main .preset-order-btn:hover,
.preset-detail-main .preset-order-btn:focus {
    background-color: var(--primary-hover, #EB82A1);
    color: var(--on-primary, #111111);
}

.preset-detail-main .preset-delivery-note {
    font-size: 12px;
    color: var(--text-muted, #B0B9BF);
}

.preset-detail-main .preset-benefits-strip {
    background-color: var(--surface-alt, #172530);
    border-radius: 4px;
}

.preset-detail-main .preset-mini-icon {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background-color: #0D1418;
    color: var(--primary, #E55F86);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.preset-detail-main .preset-benefit-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--text, #F1F3F4);
}

.preset-detail-main .preset-benefit-sub {
    font-size: 12px;
    color: var(--text-muted, #B0B9BF);
}

.preset-detail-main .preset-content-body {
    background-color: var(--surface, #1D2E3C);
    border-radius: 4px;
}

.preset-detail-main .preset-h2 {
    font-size: 26px;
    font-weight: 700;
    color: var(--text, #F1F3F4);
    margin-bottom: 0;
}

.preset-detail-main .preset-h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--text, #F1F3F4);
}

.preset-detail-main .preset-text-p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-muted, #B0B9BF);
}

.preset-detail-main .preset-specs-table {
    color: var(--text-muted, #B0B9BF);
    background-color: transparent;
}

.preset-detail-main .preset-specs-table th {
    color: var(--text, #F1F3F4);
    font-weight: 600;
    width: 45%;
    border-color: var(--border, #364149);
    background-color: transparent;
    padding: 10px 12px;
}

.preset-detail-main .preset-specs-table td {
    color: var(--text-muted, #B0B9BF);
    border-color: var(--border, #364149);
    background-color: transparent;
    padding: 10px 12px;
}

.preset-detail-main .preset-check-list li {
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-muted, #B0B9BF);
}

.preset-detail-main .preset-faq-block {
    background-color: var(--surface, #1D2E3C);
    border-radius: 4px;
}

.preset-detail-main .preset-accordion-item {
    background-color: var(--surface-alt, #172530);
    border: 1px solid var(--border, #364149);
    border-radius: 4px;
    overflow: hidden;
}

.preset-detail-main .preset-accordion-header {
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--text, #F1F3F4);
    font-weight: 600;
    font-size: 15px;
    width: 100%;
    transition: background-color 0.2s ease;
}

.preset-detail-main .preset-accordion-header:hover {
    background-color: rgba(229, 95, 134, 0.08);
}

.preset-detail-main .preset-faq-arrow {
    font-size: 13px;
    color: var(--primary, #E55F86);
    transition: transform 0.2s ease;
}

.preset-detail-main .preset-accordion-header[aria-expanded="true"] .preset-faq-arrow {
    transform: rotate(180deg);
}

.preset-detail-main .preset-accordion-content {
    display: none;
    border-top: 1px solid var(--border, #364149);
}

.preset-detail-main .preset-accordion-content.open {
    display: block;
}

.preset-detail-main .preset-faq-a {
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-muted, #B0B9BF);
}

.preset-detail-main .preset-sidebar {
    top: 24px;
}

.preset-detail-main .preset-sidebar-card {
    background-color: var(--surface, #1D2E3C);
    border-radius: 4px;
}

.preset-detail-main .preset-sidebar-title {
    font-size: 17px;
    font-weight: 700;
    color: var(--text, #F1F3F4);
}

.preset-detail-main .preset-chip {
    background-color: var(--surface-alt, #172530);
    border: 1px solid var(--border, #364149);
    color: var(--text-muted, #B0B9BF);
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
}

.preset-detail-main .preset-related-link {
    color: var(--text-muted, #B0B9BF);
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.preset-detail-main .preset-related-link:hover {
    color: var(--primary-text, #E87193);
}

.preset-detail-main .preset-cta-widget {
    background-color: var(--surface-alt, #172530);
    border-left: 3px solid var(--primary, #E55F86);
}

.preset-detail-main .preset-cta-icon-box {
    width: 48px;
    height: 48px;
    border-radius: 4px;
    background-color: var(--primary, #E55F86);
    color: var(--on-primary, #111111);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.preset-detail-main .preset-cta-text {
    font-size: 13px;
    color: var(--text-muted, #B0B9BF);
    line-height: 1.5;
}

@media (max-width: 767px) {
    .preset-detail-main .preset-h2 {
        font-size: 16px !important;
    }

    .preset-detail-main .preset-h3 {
        font-size: 14px !important;
    }

    .preset-detail-main .preset-specs-table th,
    .preset-detail-main .preset-specs-table td {
        display: block;
        width: 100%;
    }

    .preset-detail-main .preset-specs-table tr {
        display: block;
        margin-bottom: 8px;
        border-bottom: 1px solid var(--border, #364149);
    }

    .preset-detail-main .preset-specs-table th {
        border-bottom: none;
        padding-bottom: 2px;
    }

    .preset-detail-main .preset-specs-table td {
        padding-top: 2px;
    }
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}

/* capture-one variant pipeline flow */
.c1-flow-track{display:flex;align-items:center;max-width:900px;opacity:.9}
.c1-flow-dot{width:10px;height:10px;border-radius:50%;background-color:var(--primary);flex-shrink:0;box-shadow:0 0 0 4px rgba(229,95,134,.15)}
.c1-flow-dot--end{background-color:var(--accent);box-shadow:0 0 0 4px rgba(111,202,180,.15)}
.c1-flow-line{flex:1;height:2px;background:linear-gradient(90deg,var(--primary) 0%,rgba(229,95,134,.25) 100%)}
.c1-flow-step{position:relative;padding:26px 22px;overflow:hidden;border:1px solid rgba(232,113,147,.14);transition:transform .25s ease,border-color .25s ease}
.c1-flow-step:hover{transform:translateY(-4px);border-color:rgba(232,113,147,.45)}
.c1-flow-num{position:absolute;top:14px;right:18px;font-family:'Urbanist',sans-serif;font-size:42px;font-weight:800;line-height:1;color:rgba(232,113,147,.15);pointer-events:none}
.c1-flow-step-title{font-size:18px}
.c1-flow-step-text{font-size:14px;line-height:1.55;color:var(--text-muted)}
@media (max-width: 767.98px){.c1-flow-track{display:none}}
/* hide header topbar on adaptive */
@media (max-width: 991.98px){.vin-header .vin-topbar{display:none}}

/* privacy cookie table: stacked rows on mobile */
@media (max-width: 767.98px) {
    .privacy-content-section .privacy-table thead { display: none; }
    .privacy-content-section .privacy-table,
    .privacy-content-section .privacy-table tbody,
    .privacy-content-section .privacy-table tr,
    .privacy-content-section .privacy-table td { display: block; width: 100%; }
    .privacy-content-section .privacy-table tr { margin-bottom: 14px; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
    .privacy-content-section .privacy-table td { display: flex; align-items: center; justify-content: space-between; gap: 14px; text-align: right; }
    .privacy-content-section .privacy-table td::before { content: attr(data-label); flex-shrink: 0; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--primary-text); text-align: left; }
}
/* mobile brand: keep full name on one line */
@media (max-width: 991.98px) {
    .vin-header .vin-brand-mobile .vin-brand-text { white-space: nowrap; }
}
@media (max-width: 380px) {
    .vin-header .vin-brand-mobile .vin-brand-text { font-size: 16px; }
    .vin-header .vin-brand-mobile .vin-logo-img { width: 34px; height: 34px; }
}