/* Editorial landing theme. Keep shared pages and BD-35 menu geometry intact. */
body.landing {
    --c-bg: #F5F0E8;
    --c-bg-2: #EDE6DB;
    --c-surface: #FAF7F2;
    --c-surface-2: #EDE6DB;
    --c-border: #B8ADA0;
    --c-text: #292724;
    --c-text-2: #514A43;
    --c-text-3: #675E55;
    --c-primary: #A44732;
    --c-primary-2: #A44732;
    --c-safe: #376348;
    --c-warn: #A44732;
    --grad-brand: #A44732;
    --grad-brand-soft: #EDE6DB;
    --grad-text: #A44732;
    --grad-safe: #376348;
    --shadow: none;
    --shadow-lg: none;
    --shadow-glow: none;
    --radius: 8px;
    --radius-lg: 8px;
    --radius-pill: 6px;
    --landing-serif: Georgia, 'Times New Roman', serif;
    background: var(--c-bg);
    color: var(--c-text);
}
.landing :focus-visible { outline: 2px solid var(--c-primary); outline-offset: 4px; }
.landing :is(section, #demo) { scroll-margin-top: 100px; }
.landing :is(h1, h2, h3, p, td, th) { overflow-wrap: anywhere; }
.landing :is(.hero__title, .section__title, .step__title, .comparison-title, .cta-banner h2) {
    font-family: var(--landing-serif);
    font-weight: 400;
    letter-spacing: -.035em;
}
.landing .navbar { background: var(--c-bg); backdrop-filter: none; border-bottom-color: var(--c-border); }
.landing .navbar.is-scrolled { background: var(--c-bg); }
.landing .logo-mark { background: var(--c-primary); box-shadow: none; color: var(--c-surface); }
.landing .navbar__lang { border-color: var(--c-border); background: transparent; }
.landing .navbar__link:hover { background: var(--c-surface-2); }
.landing .navbar__login { background: var(--c-primary); color: #fff; border-radius: var(--radius-pill); }
.landing .navbar__login:hover, .landing .navbar__login:focus-visible { background: #873A29; color: #fff; }
.landing .btn { box-shadow: none; }
.landing .btn--primary { background: var(--c-primary); color: #fff; }
.landing .btn--primary:hover { background: #873A29; box-shadow: none; }
.landing :is(.btn--ghost, .btn--soft) { color: var(--c-primary); background: transparent; border: 1px solid var(--c-primary); }
.landing :is(.btn--ghost, .btn--soft):hover { background: var(--c-surface-2); }
.landing .badge { background: transparent; border: 0; padding: 0; color: var(--c-primary); letter-spacing: .08em; }
.landing .badge__dot { background: var(--c-primary); box-shadow: none; animation: none; }
.landing .text-gradient { background: none; color: var(--c-primary); -webkit-text-fill-color: currentColor; }
.landing .hero { padding: 64px 0 48px; }
.landing .hero__grid { display: block; }
.landing .hero__content { text-align: center; }
.landing .hero__title { max-width: 1020px; margin: 24px auto; font-size: clamp(2.8rem, 6.8vw, 6rem); line-height: 1.05; }
.landing .hero__lead { max-width: 720px; margin: 0 auto; font-size: 1.05rem; }
.landing .hero__actions { justify-content: center; margin-top: 24px; }
.landing .hero__trust { justify-content: center; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; font-size: .8rem; }
.landing :is(.trust-stars, .quote__stars) { color: var(--c-primary); }
.landing .hero__card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 32px; margin-top: 72px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.landing .intake-document { position: absolute; width: 110px; height: 138px; left: 30px; top: -38px; transform: rotate(-9deg); color: var(--c-surface); pointer-events: none; }
.landing .dropzone { grid-column: 1 / -1; display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; column-gap: 22px; min-height: 150px; padding: 30px 36px 30px 180px; border: 1px dashed var(--c-border); outline: 1px solid var(--c-border); outline-offset: 6px; text-align: left; background: transparent; }
.landing .dropzone:hover, .landing .dropzone.is-drag { background: var(--c-surface-2); border-color: var(--c-primary); }
.landing .dropzone:focus-visible { outline: 2px solid var(--c-primary); }
.landing .dropzone__icon { grid-row: 1 / 3; margin: 0; background: transparent; border: 1px solid var(--c-border); border-radius: 4px; }
.landing .dropzone__title { font-size: 1.15rem; margin: 0; min-width: 0; overflow-wrap: anywhere; }
.landing .mode-toggle { margin: 8px 0 0; max-width: 620px; }
.landing .mode-toggle button { background: transparent; border-color: var(--c-border); }
.landing .mode-toggle button.is-active { background: var(--c-primary); border-color: var(--c-primary); color: #fff; box-shadow: none; }
.landing .mode-toggle button.is-active span { color: #fff; }
.landing #analyzeBtn { width: auto; align-self: center; min-height: 52px; }
.landing .hero__card > .dropzone__hint { grid-column: 1 / -1; margin-top: 0; }
.landing .section { padding: 64px 0; }
.landing .section--alt { background: transparent; }
.landing .section__head { text-align: left; margin: 0 0 36px; max-width: 760px; }
.landing .section__title { font-size: clamp(2rem, 4vw, 3.5rem); }
.landing .section__sub { font-size: 1rem; }
.landing .stats { background: transparent; border: 0; border-top: 1px solid var(--c-border); border-bottom: 1px solid var(--c-border); border-radius: 0; gap: 0; }
.landing .stats__item { background: transparent; padding: 24px 12px; }
.landing .stats__num { background: none; -webkit-text-fill-color: currentColor; color: var(--c-primary); font-family: var(--landing-serif); font-weight: 400; }
.landing #how > .container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 64px; border-top: 1px solid var(--c-border); padding-top: 40px; }
.landing .steps { display: block; list-style: none; padding: 0; }
.landing .step { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 6px 20px; padding: 24px 0; border: 0; border-bottom: 1px solid var(--c-border); background: transparent; border-radius: 0; }
.landing .step:first-child { padding-top: 0; }
.landing .step__num { grid-row: 1 / 3; margin: 0; font-family: var(--landing-serif); font-weight: 400; background: none; -webkit-text-fill-color: currentColor; color: var(--c-primary); }
.landing .step__title { font-size: 1.6rem; margin: 0; }
.landing .step__text { grid-column: 2; }
.landing .mode-comparison { width: 100%; table-layout: fixed; border-collapse: collapse; text-align: left; }
.landing .mode-comparison :is(th, td) { padding: 18px 28px; vertical-align: top; border-bottom: 1px solid var(--c-border); }
.landing .mode-comparison :is(th, td) + :is(th, td) { border-left: 1px solid var(--c-border); }
.landing .mode-comparison th { border-top: 1px solid var(--c-border); font-weight: 400; }
.landing .comparison-title { display: block; font-size: clamp(1.4rem, 3vw, 2.5rem); margin-top: 12px; }
.landing .mode-comparison td { color: var(--c-text-2); }
.landing .mode-card__meta { margin: 0; flex-wrap: wrap; }
.landing #protection > .container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 24px 64px; }
.landing #protection .protect-list { grid-column: 2; grid-row: 1 / 3; gap: 0; }
.landing .protect-item { border: 0; border-bottom: 1px solid var(--c-border); border-radius: 0; background: transparent; padding: 24px 0; }
.landing .protect-item__icon { color: var(--c-primary); background: transparent; }
.landing #audience .grid { display: block; }
.landing #audience .card { display: grid; grid-template-columns: 48px minmax(0, 1fr) minmax(0, 1.8fr); gap: 24px; align-items: start; padding: 26px 0; border: 0; border-top: 1px solid var(--c-border); border-radius: 0; background: transparent; }
.landing .card:hover { transform: none; box-shadow: none; }
.landing .card__icon { background: transparent; border: 0; margin: 0; width: 40px; height: 40px; }
.landing .card__title { font-family: var(--landing-serif); font-weight: 400; font-size: 1.5rem; }
.landing .doctypes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.landing .doctype { padding: 22px 0; border: 0; border-bottom: 1px solid var(--c-border); border-radius: 0; background: transparent; }
.landing .doctype:hover { background: var(--c-surface-2); transform: none; }
.landing .doctype__icon { background: transparent; }
.landing .price-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--c-border); }
.landing .price-card { border: 0; border-right: 1px solid var(--c-border); border-radius: 0; padding: 32px 24px; background: transparent; box-shadow: none; }
.landing .price-card:last-child { border-right: 0; }
.landing .price-card:hover { transform: none; }
.landing .price-card--featured { background: var(--c-surface-2); }
.landing .price-card__tag { position: static; transform: none; align-self: flex-start; margin-bottom: 12px; }
.landing .price-card__amount { font-family: var(--landing-serif); font-weight: 400; }
.landing .promo-box { max-width: none; border-radius: 0; background: transparent; }
.landing .promo-box input { min-width: 0; color: var(--c-text); }
.landing .promo-box input:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 2px; }
.landing .promo-box__result.is-ok { background: var(--c-surface); color: var(--c-safe); border-color: var(--c-safe); }
.landing .promo-box__result.is-err { background: var(--c-surface); color: var(--c-primary); border-color: var(--c-primary); }
.landing .quotes { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 32px 48px; }
.landing .quote { padding: 24px 0; background: transparent; border: 0; border-top: 1px solid var(--c-border); border-radius: 0; }
.landing .quote:first-child { grid-row: span 2; }
.landing .quote__text { font-family: var(--landing-serif); font-size: 1.35rem; }
.landing .quote:first-child .quote__text { font-size: 2rem; }
.landing .quote__avatar { background: var(--c-primary); }
.landing .faq { max-width: 850px; margin-right: 0; gap: 0; }
.landing .faq-item { border: 0; border-top: 1px solid var(--c-border); border-radius: 0; background: transparent; }
.landing .faq-q { padding: 24px 0; }
.landing .faq-a__inner { padding: 0 0 24px; }
.landing .cta-banner { background: var(--c-primary); color: #fff; border-radius: 0; box-shadow: none; text-align: left; }
.landing .cta-banner::after { display: none; }
.landing .cta-banner h2 { font-size: clamp(2rem, 5vw, 4rem); }
.landing .cta-banner p { margin-left: 0; color: #fff; }
.landing .cta-banner .btn--ghost { background: var(--c-bg); color: var(--c-primary); border-color: var(--c-bg); }
.landing .footer { background: var(--c-bg); }
.landing .chip { background: transparent; border-color: var(--c-border); color: var(--c-text-2); }
.landing .cookie { background: var(--c-surface); box-shadow: 0 4px 24px #29272420; }
.landing .reveal { opacity: 1; transform: none; }
@media (max-width: 860px) {
    .landing .hero { padding-top: 40px; }
    .landing .hero__card { grid-template-columns: minmax(0, 1fr); margin-top: 80px; }
    .landing .intake-document { width: 76px; height: 95px; left: 24px; top: -50px; }
    .landing .dropzone { grid-template-columns: 44px minmax(0, 1fr); padding: 56px 20px 28px; gap: 8px 16px; }
    .landing .dropzone__icon { width: 44px; height: 44px; }
    .landing .dropzone__hint { grid-column: 1 / -1; }
    .landing .mode-toggle { max-width: none; width: 100%; }
    .landing #analyzeBtn { width: 100%; }
    .landing #how > .container, .landing #protection > .container { display: block; }
    .landing .section { padding: 40px 0; }
    .landing #audience .card { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; }
    .landing #audience .card__text { grid-column: 2; }
    .landing .price-grid { grid-template-columns: minmax(0, 1fr); }
    .landing .price-card { border-right: 0; border-bottom: 1px solid var(--c-border); padding: 28px 16px; }
    .landing .quotes { grid-template-columns: minmax(0, 1fr); }
    .landing .quote:first-child { grid-row: auto; }
    .landing .quote:first-child .quote__text { font-size: 1.5rem; }
    .landing .mode-comparison :is(th, td) { padding: 16px 12px; }
}
@media (max-width: 560px) {
    .landing .hero__title { font-size: clamp(2.4rem, 10vw, 3.5rem); }
    .landing .hero__actions { flex-direction: column; }
    .landing .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .landing .stats__item { padding: 20px 8px; }
    .landing .stats__num { font-size: 1.4rem; overflow-wrap: anywhere; }
    .landing .doctypes { grid-template-columns: minmax(0, 1fr); }
    .landing .mode-toggle { grid-template-columns: minmax(0, 1fr); }
    .landing .step { grid-template-columns: 36px minmax(0, 1fr); gap: 8px 12px; }
    .landing .step__num { font-size: 2rem; }
    .landing .mode-comparison { font-size: .85rem; }
    .landing .mode-card__meta { font-size: .8rem; gap: 8px; }
    .landing .comparison-title { font-size: 1.35rem; }
    .landing .mode-comparison .badge { font-size: .72rem; letter-spacing: 0; }
    .landing .promo-box { padding: 20px 12px; }
    .landing .promo-box__row { flex-direction: column; }
    .landing .footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
    .landing .footer__brand { grid-column: 1 / -1; }
    .landing .cookie { max-height: calc(100dvh - 32px); overflow-y: auto; }
}

/* Keep confirmed account names within the existing navigation geometry. */
.landing .navbar__login#accountLink {
    display: inline-block;
    max-width: min(12rem, 32vw);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}
