:root {
    --bg-primary: #0D0E15;
    --bg-secondary: #131524;
    --bg-surface: #1B1D30;
    --bg-elevated: #23263E;
    --bg-overlay: rgba(13, 14, 21, 0.85);
    --text-primary: #F8FAFC;
    --text-secondary: #94A3B8;
    --text-muted: #64748B;
    --accent-purple: #9D4EDD;
    --accent-cyan: #00F0FF;
    --accent-lime: #A3E635;
    --accent-blue: #2563EB;
    --accent-indigo: #1E1B4B;
    --accent-silver: #CBD5E1;
    --border-subtle: #282B49;
    --border-highlight: #3E4373;
    --border-accent: #9D4EDD;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    background-color: var(--bg-primary);
    color: var(--text-primary);
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.6;
    overflow-x: hidden;
}

.text-muted {
    color: #94A3B8 !important;
}

.font-display {
    font-family: 'Cinzel', serif;
}

.font-serif-accent {
    font-family: 'Cormorant Garamond', serif;
}

.font-mono-code {
    font-family: 'JetBrains Mono', monospace;
}

/* ===== header ===== */
.site-header-block {
    background-color: #0D0E15;
}

.site-header-block .site-logo-img {
    max-width: 44px;
    max-height: 44px;
}

.site-header-block nav a,
.site-header-block .js-mobile-container a {
    transition: none;
}

.site-header-block button {
    transition: none;
}

/* ===== hero ===== */
.hero-section {
    position: relative;
    background-color: #0D0E15;
}

.hero-section .hero-video-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

.hero-section .hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-section .hero-overlay {
    background: rgba(13, 14, 21, 0.88);
}

.hero-section h1,
.hero-section h2,
.hero-section h3 {
    hyphens: auto;
}

/* ===== how-we-work ===== */
.editorial-workflow-section {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.editorial-workflow-section h2 {
    font-family: 'Cinzel', serif;
}

.editorial-workflow-section .editorial-step-card {
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.editorial-workflow-section .editorial-step-card:hover {
    background-color: #1B1D30;
}

/* ===== inside-look ===== */
.silenthaven-inside-look {
    position: relative;
}

.silenthaven-inside-look .silenthaven-image-container {
    transition: border-color 0.2s ease;
}

.silenthaven-inside-look .silenthaven-image-container:hover {
    border-color: #9D4EDD;
}

.silenthaven-inside-look .silenthaven-inside-title {
    hyphens: auto;
    word-break: break-word;
}

/* ===== objections ===== */
.editorial-objections-section .js-faq-item.is-open {
    border-color: #9D4EDD;
    background-color: #1B1D30;
}

.editorial-objections-section .js-faq-item.is-open .js-faq-icon {
    transform: rotate(180deg);
    color: #9D4EDD;
}

.editorial-objections-section .js-faq-trigger:hover {
    color: #00F0FF;
}

/* ===== problem-solution ===== */
.problem-solution-section {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.problem-solution-section h2,
.problem-solution-section h3 {
    font-family: 'Cinzel', serif;
}

.problem-solution-section .problem-col {
    transition: border-color 0.2s ease;
}

.problem-solution-section .problem-col:hover {
    border-color: #3E4373;
}

.problem-solution-section .solution-col {
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.problem-solution-section .solution-col:hover {
    border-color: #00F0FF;
    background-color: #23263E;
}

.problem-solution-section .problem-solution-btn {
    transition: all 0.2s ease;
}

/* ===== categories-grid ===== */
.categories-grid-section .js-card.is-hidden {
    display: none;
}

.categories-grid-section .js-tab-btn.active {
    border-color: #9D4EDD;
    background-color: #9D4EDD;
    color: #F8FAFC;
}

/* ===== contact-block ===== */
.contact-section input::placeholder,
.contact-section textarea::placeholder {
    color: #64748B;
    opacity: 1;
}

.contact-section input:focus,
.contact-section textarea:focus {
    border-color: #00F0FF;
}

/* ===== footer ===== */
.site-editorial-footer {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.site-editorial-footer .site-editorial-footer__logo {
    max-width: 44px;
    max-height: 44px;
}

.site-editorial-footer a:focus {
    outline: 1px solid #00F0FF;
    outline-offset: 2px;
}

/* ===== PAGE: privacy ===== */
.policy-content { width: 100%; max-width: 56rem; margin-left: auto; margin-right: auto; padding: 2rem 1rem; color: #94A3B8; font-family: 'Plus Jakarta Sans', sans-serif; line-height: 1.7; word-break: break-word; hyphens: auto; } @media (min-width: 768px) { .policy-content { padding: 3.5rem 1.5rem; } } .policy-content__meta { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid #282B49; } @media (min-width: 768px) { .policy-content__meta { flex-direction: row; justify-content: space-between; align-items: center; } } .policy-content__badge { display: inline-flex; align-items: center; align-self: flex-start; padding: 0.25rem 0.75rem; background-color: #1B1D30; border: 1px solid #3E4373; color: #00F0FF; font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; } .policy-content__updated { margin: 0; font-family: 'JetBrains Mono', monospace; font-size: 0.8125rem; color: #64748B; } .policy-content h2 { color: #F8FAFC; font-size: 16px; font-weight: 600; line-height: 1.3; margin-top: 2rem; margin-bottom: 0.875rem; padding-bottom: 0.5rem; border-bottom: 1px solid #1B1D30; font-family: 'Plus Jakarta Sans', sans-serif; letter-spacing: -0.01em; } @media (min-width: 768px) { .policy-content h2 { font-size: 24px; margin-top: 2.75rem; } } .policy-content h3 { color: #F8FAFC; font-size: 14px; font-weight: 600; line-height: 1.3; margin-top: 1.5rem; margin-bottom: 0.5rem; } @media (min-width: 768px) { .policy-content h3 { font-size: 18px; } } .policy-content p { color: #94A3B8; font-size: 0.9375rem; margin-top: 0; margin-bottom: 1rem; line-height: 1.7; } @media (min-width: 768px) { .policy-content p { font-size: 1rem; } } .policy-content ul, .policy-content ol { margin-top: 0.5rem; margin-bottom: 1.25rem; padding-left: 1.25rem; list-style-type: disc; } .policy-content li { color: #94A3B8; font-size: 0.9375rem; margin-bottom: 0.625rem; line-height: 1.6; } @media (min-width: 768px) { .policy-content li { font-size: 1rem; } } .policy-content strong { color: #F8FAFC; font-weight: 600; } .policy-content a { color: #00F0FF; text-decoration: underline; text-underline-offset: 3px; transition: color 0.15s ease; } .policy-content a:hover, .policy-content a:focus { color: #9D4EDD; }

/* ===== PAGE: terms ===== */
.policy-content { max-width: 900px; margin: 0 auto; padding: 2.5rem 1.25rem 4.5rem; color: #CBD5E1; font-family: 'Plus Jakarta Sans', sans-serif; line-height: 1.7; word-wrap: break-word; hyphens: auto; } .policy-content .policy-intro { border-bottom: 1px solid #282B49; padding-bottom: 2rem; margin-bottom: 2.5rem; } .policy-content .policy-meta-date { font-family: 'JetBrains Mono', monospace; font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.08em; color: #00F0FF; margin-bottom: 0.75rem; } .policy-content .policy-lead { font-size: 1.0625rem; line-height: 1.8; color: #F8FAFC; } .policy-content .policy-section { margin-bottom: 2.5rem; } .policy-content h2 { font-family: 'Cinzel', serif; color: #F8FAFC; font-weight: 700; line-height: 1.3; margin-top: 0; margin-bottom: 1rem; border-left: 3px solid #9D4EDD; padding-left: 0.875rem; font-size: 16px; } @media (min-width: 768px) { .policy-content h2 { font-size: 24px; padding-left: 1.125rem; } } .policy-content h3 { font-family: 'Plus Jakarta Sans', sans-serif; color: #F8FAFC; font-weight: 600; line-height: 1.4; margin-top: 1.5rem; margin-bottom: 0.75rem; font-size: 14px; } @media (min-width: 768px) { .policy-content h3 { font-size: 20px; } } .policy-content p { margin-bottom: 1.125rem; color: #94A3B8; } .policy-content ul { list-style-type: disc; padding-left: 1.375rem; margin-bottom: 1.25rem; } .policy-content li { margin-bottom: 0.5rem; color: #94A3B8; } .policy-content strong { color: #F8FAFC; font-weight: 600; } .policy-content a { color: #00F0FF; text-decoration: none; border-bottom: 1px solid rgba(0, 240, 255, 0.4); } .policy-content a:hover { color: #A3E635; border-bottom-color: #A3E635; } .policy-content .policy-contact-box { background-color: #131524; border: 1px solid #282B49; padding: 1.5rem; margin-top: 1.25rem; border-radius: 2px; } .policy-content .policy-contact-box p { margin-bottom: 0.625rem; } .policy-content .policy-contact-box p:last-child { margin-bottom: 0; }

/* ===== PAGE: disclaimer ===== */
.policy-content{max-width:896px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;padding-top:3rem;padding-bottom:5rem;color:#94A3B8;font-family:'Plus Jakarta Sans',sans-serif;line-height:1.75;word-break:break-word;hyphens:auto}.policy-content h2{font-family:'Cinzel',serif;color:#F8FAFC;font-size:16px;line-height:1.3;font-weight:700;letter-spacing:0.02em;margin-top:2.5rem;margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:1px solid #282B49}.policy-content h2:first-of-type{margin-top:0}.policy-content h3{font-family:'Cinzel',serif;color:#F8FAFC;font-size:14px;line-height:1.3;font-weight:600;margin-top:1.75rem;margin-bottom:0.75rem}.policy-content p{margin-bottom:1.25rem;font-size:0.95rem;color:#94A3B8}.policy-content ul{list-style-type:disc;margin-left:1.5rem;margin-bottom:1.5rem;color:#94A3B8}.policy-content li{margin-bottom:0.5rem;padding-left:0.25rem;font-size:0.95rem}.policy-content a{color:#00F0FF;text-decoration:none;border-bottom:1px solid rgba(0,240,255,0.3)}.policy-content a:hover{color:#A3E635;border-color:#A3E635}.policy-content strong{color:#F8FAFC;font-weight:600}@media(min-width:768px){.policy-content{padding-left:2rem;padding-right:2rem;padding-top:4.5rem;padding-bottom:7rem}.policy-content h2{font-size:28px;margin-top:3.5rem;margin-bottom:1.25rem}.policy-content h3{font-size:22px;margin-top:2.25rem;margin-bottom:1rem}.policy-content p,.policy-content li{font-size:1.05rem;line-height:1.8}}

/* ===== PAGE: cookies ===== */
.policy-content{color:#CBD5E1;font-family:'Plus Jakarta Sans',sans-serif;line-height:1.7;word-break:break-word;hyphens:auto}.policy-content h1{color:#F8FAFC;font-family:'Cinzel',serif;font-size:18px;line-height:1.3;margin-top:0;margin-bottom:1.25rem;font-weight:700}.policy-content h2{color:#F8FAFC;font-family:'Cinzel',serif;font-size:16px;line-height:1.3;margin-top:2rem;margin-bottom:0.75rem;font-weight:600}.policy-content h3{color:#00F0FF;font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;line-height:1.3;margin-top:1.5rem;margin-bottom:0.5rem;font-weight:600}.policy-content p{margin-bottom:1.25rem}.policy-content ul,.policy-content ol{margin-bottom:1.25rem;padding-left:1.5rem}.policy-content ul{list-style-type:disc}.policy-content ol{list-style-type:decimal}.policy-content li{margin-bottom:0.5rem}.policy-content strong{color:#F8FAFC;font-weight:600}.policy-content a{color:#00F0FF;text-decoration:underline}.policy-content a:hover{color:#A3E635}@media(min-width:768px){.policy-content h1{font-size:32px}.policy-content h2{font-size:24px}.policy-content h3{font-size:18px}}

/* ===== PAGE: reviews ===== */
.reviews-section { font-family: 'Plus Jakarta Sans', sans-serif; }
.reviews-section h1, .reviews-section h2, .reviews-section h3 { font-family: 'Cinzel', serif; hyphens: auto; }
.reviews-section .js-filter-btn.is-active { background-color: #9D4EDD; color: #F8FAFC; border-color: #9D4EDD; }
.reviews-section .js-filter-btn:not(.is-active) { background-color: #1B1D30; color: #94A3B8; border-color: #282B49; }
.reviews-section .js-review-card { min-height: 100%; }

/* ===== PAGE: guides ===== */
.guides-page-section input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
.guides-page-section .js-guide-card:hover {
  background-color: #17192b;
}

/* ===== PAGE: news ===== */
.news-editorial-grid{background-color:#0D0E15;color:#F8FAFC;font-family:'Plus Jakarta Sans',sans-serif;}.news-editorial-grid h1,.news-editorial-grid h2,.news-editorial-grid h3{font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:-0.01em;}.news-editorial-grid .js-filter-btn.active{background-color:#1B1D30;color:#00F0FF;border-color:#00F0FF;}.news-editorial-grid input::placeholder{color:#64748B;opacity:1;}

/* ===== PAGE: contact ===== */
.contact-page-block input::placeholder, .contact-page-block textarea::placeholder { color: #64748B; opacity: 1; } .contact-page-block select { appearance: none; background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 1.25em; }

.main-editorial-comment {
    position: relative;
    background-color: #131524;
    border: 1px solid #282B49;
}

.main-editorial-comment:hover {
    border-color: #9D4EDD;
}

.comment-avatar {
    width: 48px;
    height: 48px;
    min-width: 48px;
    object-fit: cover;
    border: 1px solid #3E4373;
    border-radius: 0;
    background-color: #1B1D30;
}

.comment-action-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: none;
}

.reply-editorial-comment {
    position: relative;
    background-color: #1B1D30;
}

.reply-editorial-comment:hover {
    border-color: #00F0FF;
}

.reply-avatar {
    width: 40px;
    height: 40px;
    min-width: 40px;
    object-fit: cover;
    border: 1px solid #3E4373;
    border-radius: 0;
    background-color: #131524;
}

.reply-editorial-comment .comment-action-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: none;
}


/* ===== PAGE TEMPLATE: reviews ===== */
.site-header-block {
    background-color: #0D0E15;
}

.site-header-block .site-logo-img {
    max-width: 44px;
    max-height: 44px;
}

.site-header-block nav a,
.site-header-block .js-mobile-container a {
    transition: none;
}

.site-header-block button {
    transition: none;
}

.site-editorial-footer {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.site-editorial-footer .site-editorial-footer__logo {
    max-width: 44px;
    max-height: 44px;
}

.site-editorial-footer a:focus {
    outline: 1px solid #00F0FF;
    outline-offset: 2px;
}

.review-detail-page .comment-avatar {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid #282B49;
}

.review-detail-page .reply-avatar {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid #282B49;
}

.review-detail-page .comment-action-btn {
    cursor: pointer;
}

.review-detail-page input::placeholder,
.review-detail-page textarea::placeholder {
    color: #64748B;
    opacity: 1;
}

/* ===== PAGE TEMPLATE: guides ===== */
.site-header-block {
    background-color: #0D0E15;
}

.site-header-block .site-logo-img {
    max-width: 44px;
    max-height: 44px;
}

.site-header-block nav a,
.site-header-block .js-mobile-container a {
    transition: none;
}

.site-header-block button {
    transition: none;
}

.guide-detail-page h1,
.guide-detail-page h2,
.guide-detail-page h3 {
    hyphens: auto;
}

.guide-detail-page .guide-prose p {
    line-height: 1.7;
}

.guide-detail-page .comment-avatar,
.guide-detail-page .reply-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.site-editorial-footer {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.site-editorial-footer .site-editorial-footer__logo {
    max-width: 44px;
    max-height: 44px;
}

.site-editorial-footer a:focus {
    outline: 1px solid #00F0FF;
    outline-offset: 2px;
}

/* ===== PAGE TEMPLATE: news ===== */
.site-header-block {
    background-color: #0D0E15;
}

.site-header-block .site-logo-img {
    max-width: 44px;
    max-height: 44px;
}

.site-editorial-footer {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.site-editorial-footer .site-editorial-footer__logo {
    max-width: 44px;
    max-height: 44px;
}

.site-editorial-footer a:focus {
    outline: 1px solid #00F0FF;
    outline-offset: 2px;
}

.article-detail-page .comment-avatar,
.article-detail-page .reply-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #282B49;
}

.article-detail-page .reply-avatar {
    width: 40px;
    height: 40px;
}

.article-detail-page .comment-action-btn {
    background: none;
    border: none;
    cursor: pointer;
}

.article-detail-page .comment-action-btn:focus {
    outline: 1px solid #00F0FF;
}