.marine-page .hero {
    background: radial-gradient(circle at 70% 20%, rgba(123, 44, 191, 0.4), transparent 38%),
        linear-gradient(145deg, #080a10 10%, #12121b 58%, #090909 100%);
}

.marine-page .hero-title .word:last-child { color: #b66cff; }

.marine-lead {
    max-width: 820px;
    margin-inline: auto;
    font-size: clamp(1.05rem, 2vw, 1.2rem);
}

.marine-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
    gap: 1.25rem;
    width: 100%;
}

.marine-card {
    padding: 1.6rem;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(157, 78, 221, 0.25);
    background: linear-gradient(145deg, rgba(28, 25, 36, 0.96), rgba(15, 15, 18, 0.98));
    text-align: left;
}

.marine-card svg {
    width: 46px;
    height: 46px;
    color: #a64de0;
    margin-bottom: 1rem;
}

.marine-card h3 { margin-bottom: 0.6rem; font-size: 1.35rem; }
.marine-card p { font-size: 0.94rem; line-height: 1.65; }

.marine-steps { counter-reset: marine-step; }
.marine-step { position: relative; padding-left: 4.25rem; }
.marine-step::before {
    counter-increment: marine-step;
    content: counter(marine-step, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 1.45rem;
    color: #a64de0;
    font: 700 1.45rem/1 'Oswald', sans-serif;
}

.marine-price-note {
    max-width: 820px;
    margin-inline: auto;
    padding: 1.25rem 1.5rem;
    border-left: 3px solid var(--primary-purple);
    background: rgba(123, 44, 191, 0.09);
    text-align: left;
}

.marine-price-note strong { color: var(--text-main); }

.marine-faq { max-width: 860px; margin-inline: auto; width: 100%; }
.marine-faq details {
    border-bottom: 1px solid rgba(157, 78, 221, 0.25);
    padding: 1.15rem 0;
    text-align: left;
}
.marine-faq summary {
    cursor: pointer;
    color: var(--text-main);
    font: 600 1.1rem/1.4 'Oswald', sans-serif;
}
.marine-faq details p { margin: 0.75rem 0 0; }

.marine-related a { color: var(--text-main); }
.marine-related a:hover { color: var(--accent-orange); }

@media (max-width: 640px) {
    .marine-card { padding: 1.3rem; }
    .marine-step { padding-left: 3.7rem; }
}
