/* Opt-in composition for the seven product overviews. Product palettes and
   typography stay in product-themes.css; other marketing routes are unaffected. */
.gixo-product-landing {
    --gixo-public-font-size-display: clamp(2.25rem, 4.2vw, 3.65rem);
    --gixo-public-font-size-section: clamp(1.8rem, 3vw, 2.65rem);
    --gixo-public-font-size-subtitle: 1.1rem;
    --gixo-public-font-size-body: 1rem;
    --gixo-public-line-height: 1.65;
    --landing-border: rgba(148, 163, 184, .2);
    --landing-muted: #bac4d2;
    width: 100%;
    max-width: 1240px;
    margin-inline: auto;
    color: #f1f5f9;
}

.gixo-product-landing *,
.gixo-product-landing *::before,
.gixo-product-landing *::after { box-sizing: border-box; }

.gixo-product-landing :is(h1, h2, h3) { text-wrap: balance; }
.gixo-product-landing img { max-width: 100%; }
.gixo-product-landing [id] { scroll-margin-top: 5rem; }
.gixo-product-landing :is(a, button):focus-visible {
    outline: 3px solid var(--product-primary-lighten, #67e8f9);
    outline-offset: 4px;
}

/* The application bar's reserved top padding is not needed under an in-flow
   public header. Do not change authenticated application chrome. */
body:has(.gixo-product-landing) .gixo-main-content.gixo-public-shell { padding-top: 0; }
body:has(.gixo-product-landing) .gixo-site-header__inner {
    max-width: 1320px;
    padding-block: .6rem;
}
body:has(.gixo-product-landing) .gixo-site-header__logo { height: 32px; }
body:has(.gixo-product-landing) :is(
    .quill-public-nav__inner, .lumen-public-nav__inner,
    .lex-public-nav__inner, .arc-public-nav__inner) {
    min-height: 54px;
    padding-block: .3rem;
}
body:has(.gixo-product-landing) .folio-marketing-nav {
    margin-top: 0;
    padding-block: .35rem;
    border-radius: 0 0 12px 12px;
    box-shadow: none;
}
body:has(.gixo-product-landing) .lumen-public-page-frame { background: transparent; }

.gixo-product-landing :is(.content-hero, .presentations-hero, .briefs-hero,
    .books-hero, .legal-hero) {
    max-width: none;
    margin: 0;
    padding: clamp(2rem, 4vw, 3.5rem) 1rem 2rem;
    text-align: left;
}
.gixo-product-landing .landing-hero-grid,
.gixo-product-landing .legal-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
}
.gixo-product-landing .landing-hero-copy { min-width: 0; }
.gixo-product-landing :is(.content-hero-title, .presentations-hero-title,
    .briefs-hero-title, .books-hero-title, .legal-hero-title) {
    margin: 0;
    max-width: 22ch;
    font-size: var(--gixo-public-font-size-display);
    line-height: 1.08;
}
.gixo-product-landing :is(.content-hero-kicker, .presentations-hero-kicker,
    .books-kicker) { margin: 0 0 1rem; }
.gixo-product-landing :is(.content-hero-subtitle, .presentations-hero-subtitle,
    .briefs-hero-subtitle, .books-hero-subtitle, .legal-hero-subtitle) {
    margin: 1.2rem 0;
    max-width: 65ch;
    font-size: 1rem;
    line-height: 1.65;
    color: var(--landing-muted);
}
.gixo-product-landing :is(.content-hero-actions, .presentations-hero-actions,
    .books-hero-actions, .legal-hero-actions, .landing-hero-actions) {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: .65rem;
    margin: 1.25rem 0 0;
}
.gixo-product-landing :is(.content-hero-actions, .presentations-hero-actions,
    .books-hero-actions, .legal-hero-actions, .landing-hero-actions) .mud-button-root {
    min-height: 44px;
    padding: .65rem 1rem;
    font-size: .9rem;
    border-radius: 10px;
}
.gixo-product-landing .landing-hero-details {
    margin: 2rem 0 0;
    padding: 1.25rem 1.5rem;
    border: 1px solid var(--landing-border);
    border-left: 3px solid var(--product-primary, #67e8f9);
    border-radius: 12px;
    background: rgba(15, 23, 42, .45);
    color: var(--landing-muted);
    font-size: .95rem;
    line-height: 1.7;
    text-align: left;
}
.gixo-product-landing .landing-hero-details p { margin: 0 0 .8rem; }
.gixo-product-landing .landing-hero-details p:last-child { margin-bottom: 0; }

/* The original trust content follows the opening product story, once. */
.gixo-product-landing .trust-bar { max-width: none; margin: 0 1rem 1.5rem; }
.gixo-product-landing .trust-bar-inner {
    border-radius: 12px;
    box-shadow: none;
    padding: 1rem 1.25rem;
}
.gixo-product-landing .trust-label,
.gixo-product-landing .trust-badge-link { color: #b0bdcd; }

.gixo-product-landing :is(.content-section, .presentations-section, .briefs-section,
    .books-section, .legal-section, .legal-proof-section, .prism-section) {
    padding-block: clamp(3rem, 5vw, 4.5rem);
}
.gixo-product-landing :is(.content-section-title, .presentations-section-title,
    .briefs-section-title, .books-section-title, .legal-section-title) {
    max-width: 30ch;
    margin-inline: auto;
    line-height: 1.15;
}
.gixo-product-landing :is(.content-section-subtitle, .presentations-section-subtitle,
    .briefs-section-subtitle, .books-section-subtitle, .legal-section-subtitle) {
    max-width: 68ch;
    margin-bottom: 2rem;
    color: var(--landing-muted);
}

/* Lumen: readable deck proof before the full access explanation. */
.gixo-product-landing .presentations-hero-screenshot,
.gixo-product-landing .briefs-hero-screenshot {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 1px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .24);
}
.gixo-product-landing .presentations-hero-screenshot-inner {
    aspect-ratio: auto;
    border-radius: 18px;
}
.gixo-product-landing .presentations-hero-screenshot-inner img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}
.gixo-product-landing .briefs-hero-screenshot-inner img { height: auto; }
.gixo-product-landing .presentations-hero-screenshot-note {
    position: static;
    max-width: none;
    margin: 0;
    border-radius: 0;
    padding: 1rem;
    background: #101827;
    text-align: left;
}
.gixo-product-landing .presentations-zoom-hint {
    position: static;
    display: flex;
    justify-content: flex-end;
    padding: .6rem 1rem;
    opacity: 1;
    transform: none;
}
.gixo-product-landing .presentations-hero-proof {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 1.5rem 0;
}
.gixo-product-landing .presentations-hero-proof-item {
    justify-content: flex-start;
    border-radius: 10px;
}
.gixo-product-landing .presentations-quick-start-strip {
    justify-content: flex-start;
    gap: .5rem;
    margin: 1rem 0 0;
}
.gixo-product-landing .presentations-quick-start-chip {
    padding: .45rem .7rem;
    border-radius: 8px;
    font-size: .85rem;
}
.gixo-product-landing .presentations-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.gixo-product-landing :is(.presentations-feature-card-inner, .presentations-delivery-card-inner) {
    min-height: 0;
    padding: 1.4rem;
    text-align: left;
    align-items: flex-start;
}
.gixo-product-landing .presentations-workflow-grid { align-items: start; }
.gixo-product-landing .presentations-workflow-pack-preview {
    min-height: 0;
    padding: 0;
    background: #111827 !important; /* Overrides the decorative inline gradient only. */
}
.gixo-product-landing .presentations-workflow-pack-preview::after { content: none; }
.gixo-product-landing .presentations-workflow-pack-preview img {
    position: static;
    height: auto;
    width: 100%;
    opacity: 1;
    object-fit: contain;
}
.gixo-product-landing .presentations-workflow-pack-preview-content {
    position: static;
    padding: 1.25rem 1.25rem 0;
}
.gixo-product-landing .presentations-workflow-pack-kicker {
    background: transparent;
    padding: 0;
    border: 0;
    color: #a5dff0;
    font-size: .72rem;
}

/* Quill: a document preview and a balanced, naturally wrapping feature grid. */
.gixo-product-landing .content-trial-note {
    margin: 1rem 0;
    text-align: left;
}
.gixo-product-landing .content-hero .landing-hero-media {
    width: 100%;
    max-width: 470px;
    justify-self: center;
    transform: none;
}
.gixo-product-landing .content-hero .content-media-card-image {
    aspect-ratio: auto;
    height: auto;
    padding: .75rem;
    background: #f3f1eb;
}
.gixo-product-landing .content-hero .content-media-card-image img {
    display: block;
    position: static;
    width: 100%;
    height: 470px;
    object-fit: contain;
    transform: none;
}
.gixo-product-landing .content-features-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem;
}
.gixo-product-landing .content-features-grid > * { flex: 0 1 calc((100% - 2.5rem) / 3); }
.gixo-product-landing .content-feature-card-inner {
    min-height: 0;
    padding: 1.5rem;
    align-items: flex-start;
    text-align: left;
}
.gixo-product-landing .content-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Business: a compact suite of choices with a clear entry point. */
.gixo-product-landing .briefs-hero-title { max-width: 23ch; }
.gixo-product-landing .briefs-suite-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    max-width: 1160px;
    margin: 1.25rem auto 0;
}
.gixo-product-landing .briefs-feature-card-inner {
    min-height: 0;
    padding: 1.4rem;
    text-align: left;
    align-items: flex-start;
}
.gixo-product-landing .briefs-feature-icon {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    margin: 0 0 1rem;
    border-radius: 12px;
    box-shadow: none;
}
.gixo-product-landing .briefs-suite-starthere .briefs-feature-icon { margin: 0; }
.gixo-product-landing .briefs-suite-starthere .briefs-feature-title { margin-bottom: .4rem; }
.gixo-product-landing .briefs-feature-description { color: var(--landing-muted); }

/* Folio: finished manuscript first; the complete planning screen lives with the workflow. */
.gixo-product-landing .books-hero-title { max-width: 23ch; }
.gixo-product-landing .folio-proof-line { justify-content: flex-start; gap: .5rem; }
.gixo-product-landing .folio-proof-line span {
    padding: .35rem .5rem;
    font-size: .8rem;
    border-radius: 8px;
}
.gixo-product-landing .books-meta-grid { max-width: none; margin: 1.75rem 0 0; }
.gixo-product-landing .books-meta-card { padding: 1rem; }
.gixo-product-landing .books-hero .folio-output-card { margin: 0; }
.gixo-product-landing .books-hero .folio-output-card img {
    display: block;
    width: 100%;
    height: 360px;
    object-fit: contain;
    padding: .75rem;
    background: #f3f1eb;
}
.gixo-product-landing .books-hero .folio-output-copy {
    padding: 1rem 1.25rem;
    text-align: left;
}
.gixo-product-landing .books-hero .folio-output-copy p { font-size: .9rem; }
.gixo-product-landing .books-hero-screenshot {
    max-width: 760px;
    margin: 1rem auto 2rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .2);
}
.gixo-product-landing .books-hero-screenshot-inner img { height: auto; object-fit: contain; }
.gixo-product-landing .folio-output-grid { grid-template-columns: minmax(0, 1fr); }
.gixo-product-landing .folio-output-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gixo-product-landing .folio-output-item { text-align: left; min-height: 0; }

/* Lex: retain the legal boundaries, with proof aligned to the opening copy. */
.gixo-product-landing .legal-hero-grid { align-items: start; }
.gixo-product-landing .legal-hero-proof { min-width: 0; }
.gixo-product-landing .legal-hero-screenshot { box-shadow: 0 20px 50px rgba(0, 0, 0, .24); }
.gixo-product-landing .legal-hero-screenshot-inner { aspect-ratio: 1702 / 1064; }
.gixo-product-landing .legal-hero-screenshot-inner img { object-fit: contain; }
.gixo-product-landing .legal-hero-screenshot figcaption { background: #121724; color: #c2cbd8; }
.gixo-product-landing .legal-trial-summary { margin: 1rem 0 0; }
.gixo-product-landing .legal-trial-summary strong { color: #fda4af; }
.gixo-product-landing .legal-trust-stack { margin-top: 1.25rem; }
.gixo-product-landing .legal-trust-item { font-size: .85rem; }

/* Arc: even output columns, and a walkthrough with space for both copy and media. */
.gixo-product-landing .proposals-hero { padding: 2.5rem 0 2rem; max-width: 1020px; }
.gixo-product-landing .proposals-hero-title { max-width: 27ch; margin-inline: auto; }
.gixo-product-landing .proposals-hero-subtitle { max-width: 74ch; }
.gixo-product-landing .proposals-hero-actions .mud-button-root {
    min-height: 44px;
    padding: .65rem 1rem;
}
.gixo-product-landing .proposals-proof-list { gap: .5rem; margin-top: 1.5rem; }
.gixo-product-landing .proposals-proof-list span { border-radius: 8px; }
.gixo-product-landing .arc-proof-order { gap: 2.5rem; }
.gixo-product-landing .proposal-showcase-section { padding: 0 0 2rem; }
.gixo-product-landing .proposal-showcase-media--with-output { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gixo-product-landing .proposal-showcase-output { display: contents; }
.gixo-product-landing :is(.proposal-showcase-frame__viewport, .proposal-showcase-output__viewport) {
    height: auto;
    aspect-ratio: 4 / 5;
    background: #171d31;
}
.gixo-product-landing :is(.proposal-showcase-frame img, .proposal-showcase-output img) {
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.gixo-product-landing .proposal-showcase-disclosure { align-items: center; }
.gixo-product-landing .proposal-showcase-disclosure svg { width: 1.25rem; height: 1.25rem; }
.gixo-product-landing .arc-walkthrough {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: 1.5rem;
}
.gixo-product-landing .arc-walkthrough__copy { margin: 0; text-align: left; }
.gixo-product-landing .arc-walkthrough__copy h2 { font-size: clamp(1.65rem, 2.5vw, 2.3rem); }
.gixo-product-landing .arc-walkthrough__media { min-width: 0; }

/* Prism keeps its asymmetric visual language, with a more compact opening. */
.gixo-product-landing.prism-landing { margin-inline: auto; }
.gixo-product-landing .prism-subnav { padding-block: .45rem; min-height: 54px; }
.gixo-product-landing .prism-hero {
    min-height: 0;
    padding-block: 2.5rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2.5rem;
}
.gixo-product-landing .prism-hero h1 {
    font-size: clamp(2.5rem, 4.6vw, 4rem);
    line-height: 1.05;
    letter-spacing: -.045em;
    max-width: 19ch;
}
.gixo-product-landing .prism-hero__lede { font-size: 1rem; line-height: 1.65; }
.gixo-product-landing .prism-browser-frame { transform: none; box-shadow: 0 20px 50px rgba(0, 0, 0, .3); }
.gixo-product-landing .prism-float-card { position: static; max-width: none; box-shadow: none; }
.gixo-product-landing .prism-hero__media { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.gixo-product-landing .prism-browser-frame { grid-column: 1 / -1; }
.gixo-product-landing .prism-float-card strong { font-size: 1.25rem; }
.gixo-product-landing .prism-float-card span { font-size: .75rem; }
.gixo-product-landing .prism-hero__media::before { inset: 10%; }
.gixo-product-landing .prism-section h2 { font-size: clamp(1.8rem, 3.5vw, 3rem); line-height: 1.1; }

/* Preserve full media rather than zooming/cropping product proof on hover. */
.gixo-product-landing :is(.presentations-hero-screenshot, .briefs-hero-screenshot,
    .books-hero-screenshot, .legal-hero-screenshot):hover { transform: none; }
.gixo-product-landing :is(.presentations-hero-screenshot, .briefs-hero-screenshot,
    .books-hero-screenshot, .legal-hero-screenshot):hover img { transform: none; }

@media (max-width: 1100px) {
    .gixo-product-landing .briefs-suite-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gixo-product-landing .content-features-grid > * { flex-basis: calc((100% - 1.25rem) / 2); }
}

@media (max-width: 959px) {
    .gixo-product-landing { --gixo-public-font-size-display: clamp(2.25rem, 5.7vw, 3.25rem); }
    .gixo-product-landing :is(.landing-hero-grid, .legal-hero-grid, .prism-hero, .arc-walkthrough) {
        grid-template-columns: minmax(0, 1fr);
    }
    .gixo-product-landing :is(.content-hero-title, .presentations-hero-title,
        .briefs-hero-title, .books-hero-title, .legal-hero-title, .prism-hero h1) { max-width: 26ch; }
    .gixo-product-landing :is(.landing-hero-media, .presentations-hero-screenshot,
        .briefs-hero-screenshot, .legal-hero-proof, .prism-hero__media) {
        width: 100%;
        max-width: 680px;
        justify-self: center;
    }
    .gixo-product-landing .folio-output-list { grid-template-columns: minmax(0, 1fr); }
    .gixo-product-landing .folio-journey-track { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .gixo-product-landing .folio-journey-step::after { content: none; }
    .gixo-product-landing .trust-bar-inner { display: grid; grid-template-columns: 1fr 1fr; }
    .gixo-product-landing .trust-divider { display: none; }
}

@media (max-width: 600px) {
    .gixo-product-landing { --gixo-public-font-size-display: 2.25rem; }
    .gixo-product-landing :is(.content-hero, .presentations-hero, .briefs-hero,
        .books-hero, .legal-hero, .prism-hero) { padding: 1.75rem .75rem 1.5rem; }
    .gixo-product-landing :is(.content-hero-actions, .presentations-hero-actions,
        .books-hero-actions, .legal-hero-actions, .landing-hero-actions) { align-items: stretch; }
    .gixo-product-landing :is(.content-hero-actions, .presentations-hero-actions,
        .books-hero-actions, .legal-hero-actions, .landing-hero-actions) .mud-button-root {
        width: 100%;
        white-space: normal;
    }
    .gixo-product-landing .landing-hero-details { padding: 1rem; }
    .gixo-product-landing .presentations-hero-actions .mud-button-text {
        width: auto;
        flex: 1 1 auto;
        padding-inline: .65rem;
    }
    .gixo-product-landing .proposals-hero-actions .mud-button-root { width: 100%; }
    .gixo-product-landing .trust-bar { margin-inline: 0; }
    .gixo-product-landing .trust-bar-inner { grid-template-columns: minmax(0, 1fr); }
    .gixo-product-landing .trust-item:not(.trust-badges) { display: flex; }
    .gixo-product-landing .trust-badges { justify-content: flex-start; }
    .gixo-product-landing :is(.presentations-hero-proof, .presentations-feature-grid,
        .briefs-suite-grid, .content-media-grid, .proposal-showcase-media--with-output,
        .folio-journey-track) { grid-template-columns: minmax(0, 1fr); }
    .gixo-product-landing .content-features-grid > * { flex-basis: 100%; }
    .gixo-product-landing .content-hero .content-media-card-image img { height: 410px; }
    .gixo-product-landing .books-hero .folio-output-card img { height: 330px; }
    .gixo-product-landing .folio-journey-step {
        display: flex;
        align-items: center;
        gap: .75rem;
        text-align: left;
        padding: .75rem 1rem;
    }
    .gixo-product-landing .folio-journey-number { margin: 0; }
    .gixo-product-landing .arc-walkthrough__poster-copy { position: static; padding: .75rem; }
    .gixo-product-landing .arc-walkthrough__poster-copy small { display: block; }
    .gixo-product-landing .arc-walkthrough__poster img { height: auto; }
    .gixo-product-landing .arc-walkthrough__poster { aspect-ratio: auto; }
    .gixo-product-landing .arc-walkthrough__duration { top: .5rem; bottom: auto; }
    .gixo-product-landing .prism-subnav { flex-wrap: wrap; }
    .gixo-product-landing .prism-subnav__links { flex-wrap: wrap; }
    .gixo-product-landing .prism-hero h1 { font-size: 2.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .gixo-product-landing *,
    .gixo-product-landing *::before,
    .gixo-product-landing *::after { transition: none !important; animation: none !important; }
}
