/* YOGUL Interface System v3 — canonical public-site shell. */

.unified-page {
    --site-canvas: var(--bg-main);
    --site-surface: var(--bg-card);
    --site-surface-muted: var(--bg-sub);
    --site-border: var(--border-color);
    --site-accent-soft: rgba(88, 101, 242, 0.09);
    min-height: 100vh;
    background: var(--site-canvas);
    color: var(--text-main);
    font-family: 'Pretendard Variable', 'Pretendard', 'Noto Sans KR', 'Apple SD Gothic Neo', sans-serif;
}

.unified-page main { min-height: 42vh; }
.unified-page :where(h1, h2, h3, h4, h5, h6) {
    color: var(--text-main);
    font-family: inherit;
    letter-spacing: -0.035em;
    text-wrap: balance;
}
.unified-page :where(p, li) { color: var(--text-sub); text-wrap: pretty; }
.unified-page :where(.container, .container-narrow, .yg-wrap, .pd-wrap) {
    width: min(100%, var(--container-width));
    max-width: var(--container-width);
    margin-right: auto;
    margin-left: auto;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
}

/* Remove the competing decorative layers used by older pages. */
.unified-page :where(
    .noise-overlay,
    .hero-bg-visual,
    .hero-blob,
    .deco-avatar,
    .hero-deco-icon,
    .feature-deco-icon,
    .server-deco-icon,
    .out-deco-icon,
    .down-deco-icon,
    .dash-deco-icon,
    .hero-blob-dashboard,
    .hero-blob-download,
    .hero-blob-features,
    .hero-blob-outsourcing,
    .hero-blob-servers,
    .about-hero-glow,
    .docs-glow,
    .review-glow,
    .home-cta-glow,
    .features-cta-glow,
    .outsourcing-cta-glow,
    .download-cta-glow,
    .legal-cta-glow
) { display: none !important; }
.unified-page::after { display: none !important; }
.unified-page .pulse-primary { animation: none !important; }
.unified-page .text-gradient {
    background: none !important;
    color: var(--brand-primary) !important;
    -webkit-text-fill-color: currentColor !important;
    text-shadow: none !important;
    animation: none !important;
}
.unified-page .text-sub { color: var(--text-sub) !important; }

/* Page headings */
.unified-page :where(
    .hero-section,
    .features-header,
    .page-header,
    .outsourcing-header,
    .download-header,
    .legal-header,
    .about-hero-header,
    .pd-hero,
    .docs-hero,
    .docs-detail-hero,
    .market-hero-shell
) {
    position: relative;
    overflow: visible;
    border-bottom: 1px solid var(--site-border);
    background: var(--site-surface) !important;
}
.unified-page :where(
    .hero-section,
    .features-header,
    .page-header,
    .outsourcing-header,
    .download-header,
    .legal-header,
    .about-hero-header,
    .pd-hero,
    .docs-hero,
    .docs-detail-hero,
    .market-hero-shell
)::before,
.unified-page :where(
    .hero-section,
    .features-header,
    .page-header,
    .outsourcing-header,
    .download-header,
    .legal-header,
    .about-hero-header,
    .pd-hero,
    .docs-hero,
    .docs-detail-hero,
    .market-hero-shell
)::after { display: none !important; }
.unified-page :where(.features-header, .page-header, .outsourcing-header, .download-header, .legal-header) {
    padding-top: clamp(4rem, 7vw, 5.75rem) !important;
    padding-bottom: clamp(3rem, 5vw, 4.25rem) !important;
    text-align: center;
}
.unified-page .hero-section {
    min-height: 0 !important;
    padding: clamp(4.5rem, 8vw, 6.5rem) 0 !important;
    background: var(--site-surface) !important;
}
.unified-page :where(.about-hero-header, .pd-hero, .market-hero-shell) {
    padding-top: clamp(4rem, 7vw, 5.75rem) !important;
    padding-bottom: clamp(3rem, 5vw, 4.25rem) !important;
}
.unified-page .docs-hero-inner { padding: clamp(3.75rem, 7vw, 5.5rem) 0 !important; }
.unified-page .docs-detail-hero-inner { padding: clamp(3rem, 5vw, 4rem) 0 !important; }

.unified-page :where(
    .display-title,
    .home-hero-title,
    .features-hero-title,
    .servers-hero-title,
    .outsourcing-hero-title,
    .download-hero-title,
    .about-hero-title,
    .pd-hero-title,
    .docs-hero h1,
    .docs-detail-hero h1,
    .market-hero-title
) {
    margin-bottom: 1rem;
    color: var(--text-main);
    font-size: clamp(2.15rem, 5vw, 3.35rem) !important;
    font-weight: 820;
    line-height: 1.12;
    letter-spacing: -0.055em;
}
.unified-page :where(
    .bento-item,
    .bento-card,
    .trust-card,
    .journey-card,
    .proof-card,
    .promo-card,
    .platform-card,
    .download-feature-card,
    .feature-policy-card,
    .template-card,
    .market-card,
    .yg-card,
    .docs-command-card,
    .pd-related-card,
    .related-promo-card
)::before,
.unified-page :where(
    .bento-item,
    .bento-card,
    .trust-card,
    .journey-card,
    .proof-card,
    .promo-card,
    .platform-card,
    .download-feature-card,
    .feature-policy-card,
    .template-card,
    .market-card,
    .yg-card,
    .docs-command-card,
    .pd-related-card,
    .related-promo-card
)::after { display: none !important; }
.unified-page :where(
    .sub-title,
    .features-hero-copy,
    .servers-hero-copy,
    .outsourcing-hero-copy,
    .download-hero-copy,
    .about-hero-desc,
    .market-hero-copy,
    .home-trust-copy,
    .home-dashboard-copy
) {
    max-width: 700px;
    color: var(--text-sub) !important;
    font-size: clamp(0.98rem, 2vw, 1.075rem) !important;
    line-height: 1.75;
}

.unified-page :where(
    .hero-badge,
    .category-label,
    .about-hero-badge,
    .pd-hero-badge,
    .docs-eyebrow,
    .market-hero-badge,
    .feature-tag,
    .live-tag
) {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 28px;
    margin-bottom: 1rem;
    padding: 0.32rem 0.68rem;
    border: 1px solid rgba(88, 101, 242, 0.2) !important;
    border-radius: var(--radius-md) !important;
    background: var(--site-accent-soft) !important;
    color: var(--brand-primary) !important;
    font-size: 0.7rem !important;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    box-shadow: none !important;
}

/* Section rhythm */
.unified-page :where(.yg-section, .market-main-section, .pd-section, .pd-related) {
    padding-top: var(--section-gap) !important;
    padding-bottom: var(--section-gap) !important;
}
.unified-page :where(.bg-white, .yg-bg-white) { background: var(--site-canvas) !important; }
.unified-page :where(.bg-sub, .yg-bg-light, .yg-bg-soft) { background: var(--site-surface-muted) !important; }
.unified-page :where(.home-section-title, .home-trust-title, .home-dashboard-title, .home-compare-title, .home-journey-title) {
    font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
    line-height: 1.2;
}

/* Cards and content surfaces */
.unified-page :where(
    .bento-item,
    .bento-card,
    .trust-card,
    .journey-card,
    .proof-card,
    .promo-card,
    .platform-card,
    .download-feature-card,
    .feature-policy-card,
    .template-card,
    .outsourcing-process-panel,
    .market-panel,
    .market-card,
    .legal-card,
    .legal-info-card,
    .yg-card,
    .card-custom,
    .docs-sidebar,
    .docs-command-card,
    .docs-panel,
    .docs-related,
    .docs-toc,
    .docs-aside-action,
    .pd-card,
    .pd-related-card,
    .related-promo-card,
    .compare-shell,
    .dashboard-preview-shell,
    .promo-shell
) {
    border: 1px solid var(--site-border) !important;
    border-radius: var(--radius-lg) !important;
    background: var(--site-surface) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.unified-page :where(
    .bento-item,
    .bento-card,
    .trust-card,
    .journey-card,
    .proof-card,
    .promo-card,
    .platform-card,
    .download-feature-card,
    .feature-policy-card,
    .template-card,
    .market-card,
    .yg-card-hover,
    .docs-command-card,
    .pd-related-card,
    .related-promo-card
) {
    transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
}
.unified-page :where(
    .bento-item,
    .bento-card,
    .trust-card,
    .journey-card,
    .proof-card,
    .promo-card,
    .platform-card,
    .download-feature-card,
    .feature-policy-card,
    .template-card,
    .market-card,
    .yg-card-hover,
    .docs-command-card,
    .pd-related-card,
    .related-promo-card
):hover {
    transform: none !important;
    border-color: rgba(88, 101, 242, 0.42) !important;
    box-shadow: var(--shadow-md) !important;
}
.unified-page :where(.bento-item, .bento-card, .trust-card, .journey-card, .feature-policy-card, .yg-card) {
    padding: clamp(1.25rem, 2.5vw, 1.75rem) !important;
}
.unified-page :where(.bento-icon, .trust-icon, .yg-card-icon, .policy-icon, .download-feature-card .feature-icon) {
    display: inline-grid;
    place-items: center;
    width: 42px !important;
    height: 42px !important;
    margin-bottom: 1rem;
    border: 1px solid rgba(88, 101, 242, 0.14);
    border-radius: var(--radius-md) !important;
    background: var(--site-accent-soft) !important;
    -webkit-background-clip: border-box !important;
    color: var(--brand-primary) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 1rem !important;
    box-shadow: none !important;
}

/* Make the home page read like one product, not a collection of demos. */
.unified-page .home-feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
    gap: 1rem !important;
}
.unified-page .home-feature-grid > .bento-item {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
    min-height: 210px;
}
.unified-page .hero-preview {
    max-width: 820px;
    margin: 3rem auto 0;
}
.unified-page .discord-mockup {
    border: 1px solid #30333b !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-lg) !important;
}
.unified-page :where(.trust-grid, .journey-grid) { gap: 1rem !important; }
.unified-page .dashboard-preview-shell { overflow: hidden; }
.unified-page .compare-head,
.unified-page .compare-row { border-color: var(--site-border) !important; }

/* Buttons and forms */
.unified-page :where(.btn-yg, .btn-main, .yg-btn, .btn-custom, .market-page .btn) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 42px;
    padding: 0.65rem 1.05rem;
    border-radius: var(--radius-md) !important;
    font-size: 0.875rem;
    font-weight: 750;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease !important;
}
.unified-page.market-page .btn {
    min-height: 42px;
    border-radius: var(--radius-md) !important;
    font-size: 0.875rem;
    font-weight: 750;
}
.unified-page.market-page .btn-primary { border-color: var(--brand-primary) !important; background: var(--brand-primary) !important; box-shadow: none !important; }
.unified-page.market-page .btn-outline-secondary { border-color: var(--site-border) !important; background: var(--site-surface) !important; color: var(--text-main) !important; }
.unified-page :where(.btn-yg-primary, .btn-primary-grad, .yg-btn-primary, .market-page .btn-primary) {
    border: 1px solid var(--brand-primary) !important;
    background: var(--brand-primary) !important;
    color: #fff !important;
    box-shadow: none !important;
}
.unified-page :where(.btn-yg-outline, .btn-outline-glass, .yg-btn-outline, .market-page .btn-outline-secondary) {
    border: 1px solid var(--site-border) !important;
    background: var(--site-surface) !important;
    color: var(--text-main) !important;
    box-shadow: none !important;
}
.unified-page :where(.btn-yg, .btn-main, .yg-btn, .btn-custom, .market-page .btn):hover {
    transform: none !important;
    filter: brightness(0.97);
}
.unified-page :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea, .custom-input, .custom-select, .form-control, .form-select) {
    min-height: 44px;
    border: 1px solid var(--site-border) !important;
    border-radius: var(--radius-md) !important;
    background: var(--site-surface) !important;
    color: var(--text-main) !important;
    box-shadow: none !important;
}
.unified-page :where(input, select, textarea, .custom-input, .custom-select, .form-control, .form-select):focus {
    outline: none;
    border-color: var(--brand-primary) !important;
    box-shadow: 0 0 0 3px rgba(88, 101, 242, 0.12) !important;
}

/* Stats and calls to action use one restrained treatment. */
.unified-page .yg-stats-strip {
    border-top: 1px solid var(--site-border);
    border-bottom: 1px solid var(--site-border);
    background: var(--site-surface-muted) !important;
}
.unified-page .yg-stat-cell { border-color: var(--site-border) !important; }
.unified-page .yg-stat-num {
    background: none !important;
    color: var(--brand-primary) !important;
    -webkit-text-fill-color: currentColor !important;
}
.unified-page .yg-stat-label { color: var(--text-sub) !important; }
.unified-page :where(.yg-cta-section, .home-cta-section, .features-cta-section, .outsourcing-cta-section, .download-cta-section, .legal-cta-section) {
    border-top: 1px solid #292d36;
    border-bottom: 1px solid #292d36;
    background: #191c23 !important;
}
.unified-page :where(.yg-cta-section, .home-cta-section, .features-cta-section, .outsourcing-cta-section, .download-cta-section, .legal-cta-section)::before {
    display: none !important;
}
.unified-page :where(.yg-cta-section, .home-cta-section, .features-cta-section, .outsourcing-cta-section, .download-cta-section, .legal-cta-section) :where(h2, h3) {
    color: #fff !important;
}
.unified-page :where(.yg-cta-section, .home-cta-section, .features-cta-section, .outsourcing-cta-section, .download-cta-section, .legal-cta-section) p {
    color: #b9bec9 !important;
}

.unified-page .legal-card { max-width: 960px; margin-right: auto; margin-left: auto; padding: clamp(1.5rem, 5vw, 3rem) !important; }
.unified-page .legal-section { margin-bottom: clamp(2.25rem, 5vw, 3.5rem); }
.unified-page .info-box { border-radius: var(--radius-lg) !important; background: var(--site-surface-muted) !important; }
.unified-page .market-main-section { padding-top: clamp(2.5rem, 5vw, 4rem) !important; }
.unified-page .market-tabs { border: 1px solid var(--site-border) !important; border-radius: var(--radius-md) !important; background: var(--site-surface-muted) !important; }

.unified-page :where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid rgba(88, 101, 242, 0.28);
    outline-offset: 2px;
}

@media (max-width: 991.98px) {
    .unified-page .home-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 767.98px) {
    .unified-page :where(.container, .container-narrow, .yg-wrap, .pd-wrap) { padding-right: 1rem; padding-left: 1rem; }
    .unified-page :where(.features-header, .page-header, .outsourcing-header, .download-header, .legal-header, .about-hero-header, .pd-hero, .market-hero-shell) {
        padding-top: 3.25rem !important;
        padding-bottom: 2.5rem !important;
    }
    .unified-page .hero-section { padding: 3.5rem 0 !important; }
    .unified-page .home-feature-grid { grid-template-columns: 1fr !important; }
    .unified-page .home-feature-grid > .bento-item { min-height: 0; }
    .unified-page :where(.yg-section, .market-main-section, .pd-section, .pd-related) {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .unified-page *, .unified-page *::before, .unified-page *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
