/* Homepage rhythm. Documentation and tutorial pages retain their own compact layout. */
.landing-home { --home-gap: 20px; --home-padding: 24px; }
body:has(.landing-home) .container { width: min(1200px, calc(100% - 48px)); }
.landing-home .section { padding-block: 52px; }
.landing-home .section-heading { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 48px; margin-bottom: 28px; align-items: end; }
.landing-home .section h2 { margin: 10px 0 0; font-size: clamp(28px, 2.7vw, 38px); line-height: 1.18; letter-spacing: -.04em; text-wrap: balance; }
.landing-home .section-heading > p { max-width: 440px; margin: 0; line-height: 1.75; }
.landing-home .center-heading { margin-bottom: 32px; }
.landing-home .center-heading p { margin-top: 14px; }
.landing-home :is(.feature-grid, .office-feature-grid) { gap: var(--home-gap); }
.landing-home #office .office-feature-grid { grid-auto-rows: 1fr; }
.landing-home :is(.feature-card, .office-feature-grid article) { min-width: 0; padding: var(--home-padding); border-radius: 16px; box-shadow: none; }
.landing-home .feature-card { display: flex; flex-direction: column; min-height: 0; }
.landing-home .feature-card-wide { grid-column: auto; gap: 0; }
.landing-home .report-copy { display: contents; }
.landing-home .feature-card > span, .landing-home .report-copy > span { margin-top: 16px; line-height: 1.5; letter-spacing: .08em; }
.landing-home .feature-icon { width: 40px; height: 40px; margin: 0; border-radius: 11px; flex-shrink: 0; }
.landing-home .feature-card h3 { margin: 10px 0; font-size: 20px; line-height: 1.4; letter-spacing: -.025em; }
.landing-home .feature-card p { line-height: 1.75; }
.landing-home .feature-list { gap: 8px; flex-direction: column; align-items: flex-start; margin-top: 18px; line-height: 1.6; }
.landing-home .feature-list li { align-items: flex-start; }
.landing-home .feature-list svg { margin-top: 2px; flex-shrink: 0; }
.landing-home .dark-card .feature-list { color: var(--theme-sidebar-muted); }
.landing-home .dark-card .feature-list svg { stroke: var(--theme-sidebar-muted); }
.landing-home .office-feature-grid .feature-icon { margin-bottom: 18px; }
.landing-home .office-feature-grid h3 { margin-bottom: 10px; font-size: 18px; line-height: 1.4; }
.landing-home .office-feature-grid p { line-height: 1.75; }
.landing-home .ai-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.landing-home .ai-feature-grid h3 { font-size: 24px; margin-bottom: 10px; line-height: 1.35; }
.landing-home .ai-role { font-size: 11px; line-height: 1.5; margin-bottom: 6px; }
.landing-home .ai-feature-grid ul { margin: 18px 0 22px; padding-left: 17px; line-height: 1.7; }
.landing-home .ai-feature-grid li + li { margin-top: 6px; }
.landing-home .ai-card-link { min-height: 40px; padding-top: 12px; border-top: 1px solid var(--line); width: 100%; justify-content: space-between; }
.landing-home .ai-card-link { color: var(--ink); }
.landing-home .ai-role { color: var(--muted); }
.landing-home .ai-feature-grid .feature-icon { color: var(--ink); }
[data-theme="dark"] .landing-home .section-kicker { color: var(--muted); }
.landing-home .ai-assurance { margin-top: 20px; padding: 20px 24px; border-radius: 16px; }
.landing-home .ai-assurance p { margin-top: 4px; }
.landing-home .ai-availability { margin-top: 14px; font-size: 12px; }
.landing-home .office-section-footer { margin-top: 24px; gap: 24px; }
.landing-home .platform-grid { gap: 16px; }
.landing-home .platform-grid article { padding: 20px; border-radius: 16px; box-shadow: none; }
.landing-home .platform-copy { margin-top: 18px; }
.landing-home .platform-grid h3 { font-size: 19px; line-height: 1.4; margin: 8px 0 10px; }
.landing-home .platform-grid p { line-height: 1.7; }
.landing-home .platform-action { padding-top: 22px; }
.landing-home .platform-action > small { line-height: 1.6; min-height: 18px; white-space: normal; overflow: visible; }
.landing-home :is(.platform-download-button, .platform-download-unavailable) { min-height: 44px; line-height: 1.5; padding: 10px 12px; }
.landing-home .pricing-card { border-radius: 16px; }
.landing-home .tutorial-section-heading { margin-bottom: 28px; }
.landing-home .tutorial-grid { gap: var(--home-gap); }
.landing-home .tutorial-card { border-radius: 16px; }
.landing-home .tutorial-copy { padding: 20px; }
.landing-home .tutorial-empty { padding: 24px; border-radius: 16px; }
.landing-home .documentation .section-heading { margin-bottom: 24px; }
.landing-home .docs-grid { gap: var(--home-gap); }
.landing-home .documentation .guide-link { padding: 20px; border-radius: 16px; }
.landing-home .documentation .guide-link h3 { font-size: 17px; line-height: 1.5; margin-bottom: 8px; }
.landing-home .documentation .guide-link p { line-height: 1.75; }
.landing-home .documentation > .container > p { margin: 20px 0 0; }
.landing-home :is(.pricing-card, .security-card, .cta-card) { padding: 32px; border-radius: 16px; }
.landing-home .security-card { box-shadow: none; }
.landing-home .final-cta { padding-block: 0 52px; }
.landing-home .tutorial-empty p:last-child { margin-bottom: 0; }
.landing-home .dark-card::after { pointer-events: none; }

/* Shared content tracks align headings and actions without fixed card heights.
   Older browsers retain the flex layout above. Each row grows with its copy. */
@supports (grid-template-rows: subgrid) {
    .landing-home .feature-grid > article { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: subgrid; grid-row: span 5; row-gap: 10px; align-content: start; }
    .landing-home .feature-grid :is(.feature-icon, .feature-card > span, .report-copy > span, h3, p, .feature-list) { margin: 0; }
    .landing-home #office .office-feature-grid { grid-auto-rows: auto; }
    .landing-home #office article { display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: 12px; }
    .landing-home #office article :is(.feature-icon, h3, p) { margin: 0; }
    .landing-home .ai-feature-grid > article { display: grid; grid-template-rows: subgrid; grid-row: span 6; row-gap: 12px; }
    .landing-home .ai-feature-grid :is(.feature-icon, .ai-role, h3, p, ul, .ai-card-link) { margin: 0; }
    .landing-home .ai-card-link { align-self: stretch; }
    .landing-home .platform-grid > article { display: grid; grid-template-rows: subgrid; grid-row: span 5; row-gap: 12px; }
    .landing-home .platform-copy { display: contents; }
    .landing-home .platform-grid :is(h3, p, .platform-action) { margin: 0; }
    .landing-home .platform-action { padding-top: 8px; align-self: end; }
}

@media (max-width: 1050px) {
    .landing-home .section { padding-block: 44px; }
    .landing-home .ai-feature-grid { grid-template-columns: 1fr; }
    .landing-home .ai-feature-grid > article { display: grid; grid-template-columns: 40px minmax(0, 1fr); grid-template-rows: auto; grid-row: auto; gap: 10px 20px; }
    .landing-home .ai-feature-grid .feature-icon { grid-column: 1; grid-row: 1 / 6; margin: 0; }
    .landing-home .ai-feature-grid :is(.ai-role, h3, p, ul, .ai-card-link) { grid-column: 2; margin: 0; }
    .landing-home .ai-feature-grid ul { padding-block: 4px; }
    .landing-home .platform-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .landing-home .section-heading { gap: 24px; }
}
@media (max-width: 760px) {
    .nav-wrap { gap: 10px; }
    .landing-home { --home-gap: 16px; --home-padding: 22px; }
    .landing-home .section { padding-block: 40px; }
    body:has(.landing-home) .container { width: calc(100% - 36px); }
    .landing-home .section-heading { grid-template-columns: 1fr; gap: 16px; margin-bottom: 24px; }
    .landing-home .section h2 { font-size: 28px; }
    .landing-home .section-heading > p { font-size: 14px; }
    .landing-home .feature-card h3 { font-size: 20px; }
    .landing-home .center-heading { margin-bottom: 24px; }
    .landing-home .ai-feature-grid > article { display: flex; flex-direction: column; gap: 0; }
    .landing-home .ai-feature-grid .feature-icon { margin-bottom: 16px; }
    .landing-home .ai-feature-grid .ai-role { margin-bottom: 6px; }
    .landing-home .ai-feature-grid h3 { font-size: 23px; }
    .landing-home .ai-feature-grid p { margin-top: 12px; }
    .landing-home .ai-feature-grid ul { margin: 16px 0 18px; }
    .landing-home .ai-assurance { padding: 20px; gap: 12px; }
    .landing-home .platform-grid { grid-template-columns: 1fr; gap: 16px; }
    .landing-home .platform-grid > article { display: grid; grid-template-columns: 42px minmax(0, 1fr); grid-template-rows: auto; grid-row: auto; gap: 16px; align-content: start; padding: 22px; }
    .landing-home .platform-copy { display: block; margin: 0; }
    .landing-home .platform-action { grid-column: 2; margin-top: 0; padding-top: 16px; }
    .landing-home .platform-grid h3 { margin-top: 6px; }
    .landing-home .office-section-footer { gap: 16px; }
    .landing-home :is(.pricing-card, .security-card, .cta-card) { padding: 24px; gap: 24px; }
    .landing-home .final-cta { padding-block: 0 40px; }
}
@media (min-width: 761px) and (max-width: 1200px) {
    .nav-wrap { gap: 12px; }
    .desktop-nav { gap: 10px; }
    .desktop-nav a { font-size: 12px; }
    .nav-actions { gap: 10px; }
}
@media (max-width: 480px) {
    .ai-assistant-fab { width: 48px; height: 48px; min-height: 48px; padding: 11px; justify-content: center; gap: 0; }
    .ai-assistant-fab > span { display: none; }
}
