/* LegitSquares generated artwork, product pages and native support integration. */
.ls-hero { padding: 72px 0 58px; }
.cr-home-hero .ls-hero-grid { grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; }
.cr-home-hero .ls-hero-copy h1 { font-size: clamp(42px, 4.3vw, 66px); line-height: 1.08; letter-spacing: -.055em; }
.cr-home-hero h1 em { color: var(--ls-blue); font-style: normal; }
.cr-home-hero .ls-hero-copy > p { max-width: 520px; font-size: 19px; }
.ls-hero-proof { flex-wrap: wrap; }
.cr-art-panel { overflow: hidden; border-radius: 18px; background: #07111f; box-shadow: var(--ls-shadow); }
.cr-art-panel .cr-generated-art { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.ls-hero-visual .cr-art-panel { width: 100%; transform: none; }
.ls-page-hero { padding: 44px 0; }
.ls-page-hero-inner { display: grid; grid-template-columns: 1fr 340px; gap: 40px; align-items: center; }
.ls-page-hero .cr-art-panel { display: block; width: 340px; }
.ls-page-hero h1 { max-width: 750px; letter-spacing: -.04em; }
.ls-section { padding: 72px 0; }
.ls-section-intro { max-width: 760px; }
.cr-product-grid { align-items: stretch; gap: 24px; }
.cr-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cr-product-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; min-width: 0; border-radius: 16px; background: var(--ls-surface); }
.cr-product-card > .cr-card-image { display: block; padding: 0; margin: 0; border: 0; }
.cr-card-image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .35s ease; }
.cr-card-image:hover img { transform: scale(1.025); }
.cr-card-copy { padding: 25px; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.cr-card-copy .ls-eyebrow { font-size: 11px; color: var(--ls-blue); overflow-wrap: anywhere; }
.cr-card-copy h3 { margin: 10px 0 12px; font-size: 25px; line-height: 1.2; }
.cr-card-copy h3 a { padding: 0; color: var(--ls-text); text-decoration: none; font-size: inherit; }
.cr-card-copy p { margin: 0 0 24px; color: var(--ls-muted); font-size: 16px; }
.cr-card-copy > a:last-child { margin-top: auto; color: var(--ls-blue); font-size: 14px; }
.cr-card-copy > a span { display: inline; }
.cr-development-split { align-items: center; gap: 48px; }
.cr-service-links { list-style: none; padding: 0; margin: 30px 0 0; }
.cr-service-links li { border-bottom: 1px solid var(--ls-line); }
.cr-service-links a { display: flex; justify-content: space-between; gap: 12px; padding: 15px 0; color: var(--ls-text); text-decoration: none; font-weight: 700; }
.cr-service-links a:hover { color: var(--ls-blue); }
.cr-support-banner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 54px; align-items: center; border: 1px solid var(--ls-line); background: var(--ls-surface); border-radius: 20px; padding: 42px; }
.cr-support-banner h2 { margin: 10px 0 20px; font-size: clamp(28px, 3vw, 40px); line-height: 1.15; letter-spacing: -.035em; }
.cr-support-banner p { color: var(--ls-muted); }
.ls-content-body { font-size: 17px; }
.cr-product-lead { max-width: 900px; margin: 0 0 28px; color: var(--ls-text); font-size: clamp(21px, 2vw, 25px); line-height: 1.55; }
.ls-content-body .ls-actions { margin: 20px 0; }
.ls-content-body .ls-btn-primary { color: #fff; background: #1068d7; }
.ls-content-body .ls-btn-secondary { color: var(--ls-text); background: var(--ls-surface); border-color: var(--ls-line); }
.cr-purchase-note { font-size: 14px; color: var(--ls-muted); margin: 15px 0 48px; }
.ls-content-body > h2 { margin-top: 44px; font-size: 29px; letter-spacing: -.025em; }
.ls-content-body > p, .ls-content-body > ol { max-width: 960px; }
.ls-content-body li { margin: 9px 0; }
.ls-content-body code { white-space: normal; overflow-wrap: anywhere; color: var(--ls-text); background: var(--ls-surface-strong); padding: 2px 5px; border-radius: 4px; }
.cr-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 32px 0; }
.cr-feature-grid > section { padding: 26px; background: var(--ls-surface); border: 1px solid var(--ls-line); border-radius: 12px; }
.cr-feature-grid h3 { margin: 0 0 10px; font-size: 21px; }
.cr-feature-grid p { margin: 0; }
.cr-support-callout, .cr-product-requirements { padding: 28px; margin: 36px 0; border-radius: 12px; background: var(--ls-surface-strong); border: 1px solid var(--ls-line); }
.cr-support-callout h2, .cr-product-requirements h2 { margin: 0 0 12px; font-size: 25px; }
.cr-support-callout p:last-child, .cr-product-requirements p:last-child { margin-bottom: 0; }
.cr-product-group { margin-bottom: 48px; }
.cr-product-group > h2 { margin: 0 0 24px; font-size: 30px; }
.cr-product-group + .cr-product-group .cr-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ls-menu-panel .ls-menu a { white-space: nowrap; }
.ls-menu-panel { width: min(400px, calc(100vw - 24px)); }
.ls-menu-panel .ls-menu .sub-menu a { font-size: 14px; }
.ls-menu-panel[aria-hidden="true"] { visibility: hidden; }
.ls-menu-panel[aria-hidden="false"] { visibility: visible; }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--ls-blue); outline-offset: 4px; }
/* The native help desk retains a readable light surface in both site modes. */
.tcs-portal { background: #fff; color: #24374e; border: 1px solid #d6e0eb; border-radius: 16px; padding: clamp(18px, 3vw, 32px); color-scheme: light; }
.ls-content-body .tcs-portal :is(h2,h3,h4,label) { color: #172b43; }
.ls-content-body .tcs-portal a { color: #135e96; }
.ls-content-body .tcs-portal :is(.tcs-help-action-primary,.tcs-portal-primary-action) { color: #fff; }
.tcs-kb-page-shell { color: #24374e; color-scheme: light; }
.tcs-kb-page-shell .tcs-kb-breadcrumb a { color: var(--ls-blue); }
.tcs-kb-page-shell .tcs-kb-single-card :is(h1,h2,h3,h4) { color: #172b43; }
.tcs-kb-page-shell .tcs-brand-powered-by { color: var(--ls-muted); }
.tcs-kb-directory { padding: 24px; border-radius: 16px; background: #fff; color: #24374e; }
.tcs-kb-directory .tcs-brand-powered-by { color: #536477; }
.tcs-portal .tcs-kb-search input, .tcs-kb-page-shell .tcs-kb-search input { color: #172b43; background: #fff; }
.tcs-kb-page-shell a { overflow-wrap: anywhere; }
@media (max-width: 1050px) {
    .cr-home-hero .ls-hero-grid { grid-template-columns: 1fr; gap: 36px; }
    .cr-home-hero .ls-hero-visual { max-width: 680px; width: 100%; margin: auto; }
    .cr-home-hero .ls-hero-copy { max-width: 760px; }
    .cr-home-hero .ls-hero-copy h1 { font-size: clamp(42px, 7vw, 66px); }
    .ls-product-grid.cr-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cr-development-split { grid-template-columns: 1fr; }
    .cr-development-split .cr-art-panel { max-width: 680px; width: 100%; margin: auto; }
    .cr-support-banner { gap: 30px; padding: 30px; }
    .ls-page-hero-inner { grid-template-columns: 1fr 260px; gap: 24px; }
    .ls-page-hero .cr-art-panel { width: 260px; }
}
@media (max-width: 600px) {
    .ls-hero { padding: 38px 0 44px; }
    .ls-section { padding: 48px 0; }
    .ls-page-content { padding: 34px 0 50px; }
    .ls-page-hero { padding: 30px 0; }
    .ls-page-hero-inner { grid-template-columns: 1fr; gap: 22px; }
    .ls-page-hero .cr-art-panel { width: 100%; max-width: 420px; }
    .ls-page-hero h1 { font-size: 36px; line-height: 1.12; }
    .ls-product-grid.cr-product-grid, .cr-product-group + .cr-product-group .cr-product-grid { grid-template-columns: 1fr; }
    .cr-card-copy { padding: 23px; }
    .cr-feature-grid { grid-template-columns: 1fr; }
    .cr-support-banner { grid-template-columns: 1fr; padding: 24px; }
    .cr-support-callout, .cr-product-requirements { padding: 22px; }
    .ls-actions { gap: 12px; }
    .ls-actions .ls-btn { max-width: 100%; min-width: 0; font-size: 14px; }
    .ls-menu-panel .ls-menu .sub-menu a { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .cr-card-image img { transition: none; }
}
/* Keep generated image panels flush with their aspect ratio. */
.cr-art-panel { min-height: 0; }
:root[data-ls-theme="dark"] .cr-art-panel { background: #07111f; }
.cr-home-hero, :root[data-ls-theme="dark"] .cr-home-hero { background: var(--ls-bg); }
.ls-btn-primary { background: #1068d7; color: #fff; }
.cr-card-copy h3 a { min-height: 0; margin: 0; }
/* Hover must not enlarge the image beyond its card's content box. */
.cr-card-image:hover img { transform: none; filter: brightness(1.04); }

/* A keyboard-focused skip link stays clear of the menu control. */
.ls-skip-link { top: 90px; }
.ls-skip-link:focus { top: 90px; }
.ls-page-hero, :root[data-ls-theme="dark"] .ls-page-hero { background: var(--ls-surface); }
/* Native article credits and workspace access use light-card text colors. */
.tcs-kb-single-content .tcs-brand-powered-by { color: #536477; }
.tcs-workspace-access { color: #24374e; color-scheme: light; }
.ls-content-body .tcs-workspace-access :is(h2,h3) { color: #172b43; }
.ls-content-body .tcs-workspace-access a { color: #135e96; }
/* Preserve the off-screen resting position; reveal the skip link only on focus. */
.ls-skip-link { top: 12px; }
.ls-skip-link:focus { top: 90px; }
@media (max-width: 860px) {
    .ls-brand { position: static; left: auto; transform: none; width: 100%; justify-content: center; }
    .ls-logo { width: min(220px, 100%); max-width: 100%; }
}
