/* Public presentation baseline, taken from the Clio page. Never targets the
   authenticated shell or the light, print-oriented document sheets. */
.public-landing-shell {
    --public-ink: #050816;
    --public-band: #090d1c;
    --public-panel: #0d1427;
    --public-border: #263149;
    --public-copy: #aeb8ca;
    --public-copy-strong: #dce4f0;
    --public-gold: #f59e0b;
}
.public-landing-shell :is(.conversion-page, .features-page, .about-page, .contact-page, .security-page, .status-page) {
    background: var(--public-ink);
}
.public-landing-shell section > .container {
    max-width: 1320px;
}
@media (min-width: 992px) {
    .public-landing-shell section > .container {
        width: calc(100% - 64px);
        padding-left: 0;
        padding-right: 0;
    }
}
.public-landing-shell :is(section, header)[class*="hero"]:not(.clio-hero) {
    background: radial-gradient(ellipse at top right, rgba(245, 158, 11, .08), transparent 65%), var(--public-ink);
    border-bottom: 1px solid var(--public-border);
    min-height: auto;
    padding: calc(var(--public-nav-height, 5.5rem) + 52px) 0 52px;
}
.public-landing-shell :is(section, header)[class*="hero"]:not(.clio-hero)::before,
.public-landing-shell :is(section, header)[class*="hero"]:not(.clio-hero)::after {
    background: none;
}
.public-landing-shell :is(section, header)[class*="hero"]:not(.clio-hero) h1 {
    color: #fff;
    font-family: "Playfair Display", serif;
    font-size: clamp(3rem, 5vw, 4.85rem);
    font-weight: 700;
    line-height: .94;
    letter-spacing: 0;
    max-width: 760px;
}
.public-landing-shell :is(section, header)[class*="hero"] :is(.lead, .conversion-lead) {
    color: var(--public-copy-strong) !important;
    font-size: clamp(.98rem, 1.2vw, 1.08rem);
    line-height: 1.65;
    max-width: 680px;
}
.public-landing-shell :is(.conversion-section, .contact-section, .security-section) {
    background: var(--public-ink);
    padding-top: 76px;
    padding-bottom: 76px;
}
.public-landing-shell .conversion-section.alt { background: var(--public-band); }
.public-landing-shell section > .container > h2 {
    font-family: "Playfair Display", serif;
    font-size: clamp(1.95rem, 3.2vw, 3rem);
    line-height: 1.03;
    max-width: 960px;
}
.public-landing-shell .conversion-section > .container > .conversion-lead {
    color: var(--public-copy);
    font-size: 1.05rem;
    line-height: 1.75;
}
.public-landing-shell :is(.conversion-card, .conversion-proof, .conversion-step) {
    background: var(--public-panel);
    border: 1px solid var(--public-border);
    border-radius: 12px;
    padding: 24px;
}
.public-landing-shell :is(.btn-conversion-primary, .btn-conversion-secondary) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 19px;
    border-radius: 6px;
    font-weight: 800;
}
.public-landing-shell .btn-conversion-primary {
    background: var(--public-gold);
    border-color: var(--public-gold);
    color: #080b13;
}
.public-landing-shell .btn-conversion-primary:hover { background: #fbbf24; border-color: #fbbf24; }
.public-landing-shell .btn-conversion-secondary { background: transparent; border-color: #42506b; color: #fff; }
.public-landing-shell .btn-conversion-secondary:hover { background: #111a2f; border-color: #6f7d96; }

/* Shared lighting and interaction from the original landing page. */
.public-landing-shell :is(.conversion-card, .conversion-proof, .conversion-step, .workpaper-hero-visual, .organization-audience-badge) {
    transition: border-color 220ms ease, box-shadow 220ms ease;
}
.public-landing-shell .workpaper-hero-visual { box-shadow: 0 0 35px rgba(245, 158, 11, .1); }
.public-landing-shell :is(.btn-conversion-primary, .btn-conversion-secondary) {
    transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease, border-color 220ms ease;
}
.public-landing-shell :is(.btn-conversion-primary, .btn-conversion-secondary):focus-visible {
    outline: 3px solid #fbbf24;
    outline-offset: 4px;
}
@media (hover: hover) and (pointer: fine) {
    .public-landing-shell :is(.conversion-card, .conversion-proof, .conversion-step, .workpaper-hero-visual, .organization-audience-badge):hover {
        border-color: rgba(245, 158, 11, .5);
        box-shadow: 0 12px 30px rgba(245, 158, 11, .1);
    }
    .public-landing-shell :is(.btn-conversion-primary, .btn-conversion-secondary):hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 25px rgba(245, 158, 11, .16);
    }
}
@media (prefers-reduced-motion: no-preference) {
    .public-landing-shell .conversion-hero :is(.conversion-kicker, .conversion-title, .conversion-lead, .workpaper-hero-visual) {
        animation: public-hero-enter 650ms ease-out both;
    }
    @keyframes public-hero-enter {
        from { opacity: 0; transform: translateY(14px); }
        to { opacity: 1; transform: translateY(0); }
    }
}
@media (prefers-reduced-motion: reduce) {
    .public-landing-shell :is(.conversion-card, .conversion-proof, .conversion-step, .workpaper-hero-visual, .organization-audience-badge, .btn-conversion-primary, .btn-conversion-secondary),
    .public-landing-shell :is(.btn-conversion-primary, .btn-conversion-secondary):hover {
        transition: none;
        transform: none;
    }
}
@media (max-width: 991.98px) {
    .public-landing-shell section > .container > .row { --bs-gutter-x: 1.5rem; }
}
@media (max-width: 760px) {
    .public-landing-shell :is(section, header)[class*="hero"]:not(.clio-hero) {
        padding-top: calc(var(--public-nav-height, 4.75rem) + 46px);
        padding-bottom: 40px;
    }
    .public-landing-shell :is(section, header)[class*="hero"]:not(.clio-hero) h1 {
        font-size: clamp(2.35rem, 8.5vw, 4.25rem);
        line-height: 1;
    }
    .public-landing-shell :is(.btn-conversion-primary, .btn-conversion-secondary) { width: 100%; white-space: normal; }
}
