/* Landing only: never attach legis-landing to body/header. Theme tokens stay canonical. */
.legis-landing { --lp-blue:var(--wp--preset--color--blue-primary,#003a70); --lp-gold:var(--wp--preset--color--yellow-gold,#f4c542); --lp-soft:var(--wp--preset--color--background-soft,#f6f3e8); --lp-gray:var(--wp--preset--color--gray-bg,#f5f5f5); --pdp-border:var(--wp--preset--color--neutral-200,#e5e7eb); --lta-event-border:1px solid color-mix(in srgb,var(--wp--preset--color--gray-disabled) 75%,transparent); --lta-event-radius:var(--wp--preset--spacing--xs); --lta-event-shadow:var(--wp--preset--shadow--card); color:var(--wp--preset--color--gray-text); }
.legis-landing { padding-inline:0; }
.legis-landing > .wp-block-post-content { max-width:none; padding-inline:0; }
.legis-landing .legis-lp-section { box-sizing:border-box; width:calc(100% - 2 * var(--wp--style--root--padding-left,24px)); max-width:1040px; margin:0 auto; padding:3rem 1.25rem; scroll-margin-top:8rem; text-align:left; }
.legis-landing .legis-lp-section-inner { max-width:1000px; margin-inline:auto; min-width:0; }
.legis-landing .legis-lp-section + .legis-lp-section { border-top:1px solid #dce3e8; }
.legis-landing .legis-lp-hero { background-color:#fff; background-image:radial-gradient(rgba(0,58,112,.08) 1.5px,transparent 1px); background-size:10px 10px; }
.legis-landing .legis-lp-hero-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr); gap:2.5rem; align-items:start; }
.legis-landing h1 { font-size:clamp(1.8rem,3.1vw,2.65rem); line-height:1.25; margin:.6rem 0 1.25rem; }
.legis-landing h2 { font-size:clamp(1.5rem,2.3vw,2rem); margin:0 0 1.25rem; }
.legis-landing h3 { font-size:1.2rem; line-height:1.35; }
.legis-landing p,.legis-landing li { line-height:1.65; }
.legis-landing .legis-lp-intro { border-left:5px solid var(--lp-blue); margin-top:.35rem; padding-left:1rem; line-height:1.35; font-size:var(--wp--preset--font-size--lg); font-style:italic; font-weight:350; text-align:left; }
.legis-landing .legis-lp-eyebrow { color:var(--lp-blue); font-weight:700; font-size:.85rem; letter-spacing:.05em; text-transform:uppercase; }
.legis-landing .legis-lp-hero .legis-lp-eyebrow { display:inline-block; margin-top:0; padding:.35rem .8rem; border:1px solid var(--lp-gold); border-radius:var(--lta-event-radius); background:var(--wp--preset--color--yellow-soft); text-align:left; }
.legis-landing .legis-lp-summary { background:var(--wp--preset--color--yellow-soft); padding:1.5rem; border:1px solid var(--lp-gold); border-radius:var(--lta-event-radius); }
.legis-landing .legis-lp-panel { background:var(--lp-soft); padding:1.5rem; border-radius:12px; border-top:3px solid var(--lp-gold); }
.legis-landing .legis-lp-panel h3 { margin:0 0 1rem; }
.legis-landing .legis-lp-panel p { margin:.75rem 0; text-align:left; }
.legis-landing .legis-lp-panel li { text-align:left; }
.legis-landing .legis-lp-small { font-size:var(--wp--preset--font-size--sm); }
.legis-landing .legis-lp-facts { display:flex; flex-wrap:wrap; gap:.35rem 1rem; padding:0; margin:0 0 1.25rem; list-style:none; font-size:var(--wp--preset--font-size--md); }
.legis-landing .legis-lp-summary .legis-lp-facts { display:grid; gap:.5rem; }
.legis-landing .legis-lp-facts li { display:flex; align-items:flex-start; gap:.65rem; min-width:0; text-align:left; }
.legis-landing .legis-lp-fact-icon { flex:none; width:20px; height:20px; margin-top:.2rem; color:var(--lp-blue); }
.legis-landing .legis-lp-documents { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:1rem 2.5rem; margin-top:1.5rem; }
.legis-landing .legis-lp-document { display:inline-flex; align-items:baseline; gap:.6rem; color:var(--lp-blue); font-size:var(--wp--preset--font-size--lg); font-weight:400; line-height:1.35; text-decoration:none; }
.legis-landing .legis-lp-document:hover { text-decoration:underline; }
.legis-landing .legis-lp-document-badge { flex-shrink:0; padding:2px 5px; border-radius:2px; background:var(--lp-blue); color:#fff; font-size:.95rem; font-weight:600; letter-spacing:.02em; }
.legis-landing .legis-lp-summary .legis-lp-documents { align-items:flex-start; flex-direction:column; gap:1rem; }
.legis-landing .legis-lp-summary .legis-lp-document { font-size:var(--wp--preset--font-size--sm); line-height:1.35; font-weight:400; }
.legis-landing .legis-lp-summary .legis-lp-document-badge { font-size:.65rem; font-weight:600; letter-spacing:.02em; padding:2px 5px; border-radius:2px; }
.legis-landing .legis-lp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin:1.5rem 0; }
/* PDP editorial typography, without its tabs/visibility/layout machinery. */
.legis-landing .legis-lp-copy :is(p,li),.legis-landing .legis-lp-month li,.legis-landing .legis-faq__a :is(p,li) { color:var(--wp--preset--color--gray-text); font-size:var(--wp--preset--font-size--lg); font-weight:350; line-height:1.5; }
.legis-landing .legis-lp-copy p { text-align:justify; text-justify:inter-word; }
.legis-landing p,.legis-landing .legis-lp-eyebrow { -webkit-hyphens:none; hyphens:none; }
.legis-landing .legis-lp-section-intro,.legis-landing .legis-lp-section-intro :is(p,li) { text-align:left; }
.legis-landing .legis-lp-copy h2 { font-size:var(--wp--preset--font-size--lg); font-weight:450; line-height:1.2; margin:0; }
.legis-landing .legis-lp-copy:first-child h2 { margin-top:0; }
.legis-landing .legis-lp-copy + .legis-lp-copy { margin-top:var(--wp--style--block-gap,1.2rem); }
.legis-landing .legis-lp-copy > :not(h2) { margin-block:var(--wp--style--block-gap,1.2rem) 0; }
.legis-landing .legis-lp-faculty-list { display:grid; grid-template-columns:minmax(0,1fr); gap:.65rem; }
.legis-landing .legis-lp-person { display:grid; grid-template-columns:48px minmax(0,1fr); gap:1rem; align-items:start; box-shadow:none; transform:none; overflow-wrap:anywhere; }
.legis-landing .legis-lp-avatar img,.legis-landing .legis-lp-avatar > span { display:block; width:48px; height:48px; object-fit:cover; border-radius:50%; }
.legis-landing .legis-lp-avatar > span { display:grid; place-items:center; background:var(--wp--preset--color--blue-light,#e8f0f6); color:var(--lp-blue); font-weight:700; }
.legis-landing .legis-lp-person h3 { margin:0; font-size:var(--wp--preset--font-size--md,1rem); font-weight:400; }
.legis-landing .legis-lp-person h3 a { font-weight:400; text-decoration:none; }
.legis-landing .legis-lp-person p { margin:.2rem 0; text-align:left; }
.legis-landing .legis-lp-person .legis-lp-eyebrow,.legis-landing .legis-lp-person .legis-lp-small { font-size:var(--wp--preset--font-size--sm); }
.legis-landing .legis-lp-person .legis-lp-bio-text,.legis-landing .legis-lp-person .legis-lp-bio-text :is(p,li) { font-size:var(--wp--preset--font-size--sm); line-height:1.35; }
.legis-landing .legis-lp-bio { margin-top:.3rem; min-width:0; }
.legis-landing .legis-lp-bio.is-collapsed { display:flex; align-items:baseline; gap:.5rem; }
.legis-landing .legis-lp-bio.is-collapsed .legis-lp-bio-text { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.legis-landing .legis-lp-bio.is-collapsed .legis-lp-bio-text :is(p,div,ul,ol,li,h2,h3,h4) { display:inline; margin:0; padding:0; white-space:nowrap; }
.legis-landing .legis-lp-bio.is-collapsed br { display:none; }
.legis-landing .legis-lp-bio-toggle { flex-shrink:0; border:0; padding:0; min-height:24px; background:none; color:var(--lp-blue); font-size:var(--wp--preset--font-size--xs,12px); font-weight:300; line-height:1.35; text-decoration:none; cursor:pointer; }
.legis-landing .legis-lp-bio-toggle:hover { text-decoration:none; }
.legis-landing .legis-lp-bio-toggle[hidden] { display:none; }
.legis-landing .legis-lp-section.legis-lp-calendar { width:100%; max-width:none; padding:1.5rem calc(var(--wp--style--root--padding-left,24px) + 1.25rem); background:var(--lp-gray); border-bottom:1px solid #dce3e8; }
.legis-landing .legis-lp-calendar + .legis-lp-section { border-top:0; }
.legis-landing .legis-lp-nav { box-sizing:border-box; width:100%; max-width:none; margin:0; padding:2px calc(var(--wp--style--root--padding-left,24px) + 1.25rem); border-block:1px solid #dce3e8; background:var(--wp--preset--color--blue-light); }
.legis-landing .legis-lp-nav ul { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; list-style:none; max-width:1000px; margin:0 auto; padding:0; }
.legis-landing .legis-lp-nav li { display:flex; align-items:center; margin:0; padding:0; color:var(--lp-blue); }
.legis-landing .legis-lp-nav li:last-child > span { display:none; }
.legis-landing .legis-lp-nav a { display:block; border-radius:4px; padding:.55rem .7rem; color:var(--lp-blue); font-size:var(--wp--preset--font-size--sm); font-weight:500; line-height:1.35; text-decoration:none; }
.legis-landing .legis-lp-nav a:hover { background:var(--wp--preset--color--yellow-soft); }
.legis-landing [data-lp-anchor] { scroll-margin-top:8rem; }
.legis-landing .legis-lp-month { border:0; padding:.25rem 0; }
.legis-landing .legis-lp-month summary { cursor:pointer; color:var(--lp-blue); font-size:var(--wp--preset--font-size--lg); font-weight:400; padding:.35rem 0; }
.legis-landing .legis-lp-month summary span { font-size:var(--wp--preset--font-size--md); margin-left:.3rem; }
.legis-landing .legis-lp-month ul { padding-left:1.5rem; margin:.5rem 0 .75rem; }
.legis-landing .legis-lp-month li { margin:.35rem 0; padding:0; border:0; }
.legis-landing .legis-lp-quote-card { padding:1.5rem; border:var(--lta-event-border); border-radius:var(--lta-event-radius); background:var(--lp-soft); }
.legis-landing .legis-lp-quote-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.5rem; align-items:start; }
.legis-landing .legis-lp-quote-columns > div + div { border-left:1px solid var(--pdp-border); padding-left:1.5rem; }
.legis-landing .legis-lp-quote-columns h3 { margin-top:0; }
.legis-landing .legis-lp-quote-columns ul { margin:0; padding-left:1.25rem; }
.legis-landing .legis-lp-price { font-size:2rem; font-weight:700; color:var(--lp-blue); margin-bottom:0; }
.legis-landing .legis-lp-price-decimals,.legis-landing .legis-lp-price small { font-size:var(--wp--preset--font-size--sm); font-weight:400; }
.legis-landing .legis-lp-quote-actions { display:flex; flex-wrap:wrap; gap:1.25rem 2rem; justify-content:center; align-items:center; margin-top:1.75rem; }
.legis-landing .legis-lp-quote-actions .legis-lp-documents { margin:0; }
.legis-landing .legis-lp-quote-actions .legis-lp-buy .wp-block-button { margin:0; }
.legis-landing .legis-lp-buy { margin:0; }
.legis-landing .legis-lp-commercial-note { margin-top:2rem; }
.legis-landing .legis-lp-form-panel { margin:2rem 0; scroll-margin-top:7rem; }
.legis-landing .legis-lp-field { min-width:0; }
.legis-landing .legis-lp-form [data-required-label] { font-size:var(--wp--preset--font-size--sm); }
.legis-landing .legis-lp-form :is(input,select,textarea)[aria-invalid=true] { border-color:#a32316; }
.legis-landing .legis-lp-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.legis-landing .legis-lp-errors,.legis-landing .legis-lp-error { color:#a32316; }
.legis-landing .legis-lp-errors:empty,.legis-landing .legis-lp-error:empty,.legis-landing .legis-lp-result:empty { display:none; }
.legis-landing .legis-lp-result { background:white; border-left:4px solid var(--lp-blue); padding:1rem; margin:1rem 0; }
.legis-landing .legis-lp-download { display:block; margin-top:1rem; font-weight:700; }
.legis-landing :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--lp-blue); outline-offset:3px; }
.legis-landing .legis-faq__q:focus-visible { outline-offset:-3px; }
.legis-landing button:disabled { opacity:.65; cursor:default; }
.legis-landing .wp-block-buttons { margin:1.5rem 0; gap:.75rem; }
.legis-landing .lta-free-event__contact { overflow-wrap:anywhere; }
.legis-landing .lta-free-event__contact h2 { font-size:var(--wp--preset--font-size--x-large); line-height:1.2; margin:0 0 .83em; }
@media(max-width:781px) { .legis-landing .legis-lp-hero-layout,.legis-landing .legis-lp-quote-columns,.legis-landing .lta-free-event__form-grid { grid-template-columns:1fr; } .legis-landing .legis-lp-hero-layout { gap:1rem; } .legis-landing .legis-lp-quote-columns > div + div { border-left:0; border-top:1px solid var(--pdp-border); padding:1.5rem 0 0; } }
@media(max-width:600px) { .legis-landing .legis-lp-grid { grid-template-columns:1fr; } .legis-landing .legis-lp-section { padding:2rem 1rem; } .legis-landing .legis-lp-form-panel.lta-free-event__registration { padding:var(--wp--preset--spacing--md); } .legis-landing .legis-lp-documents { flex-direction:column; align-items:center; } .legis-landing .legis-lp-summary .legis-lp-documents { align-items:flex-start; } }
@media(max-width:600px) { .legis-landing .legis-lp-section.legis-lp-calendar { padding:1rem calc(var(--wp--style--root--padding-left,24px) + 1rem); } .legis-landing .legis-lp-nav { padding-inline:var(--wp--style--root--padding-left,24px); } }
@media(prefers-reduced-motion:reduce) { .legis-landing * { scroll-behavior:auto; transition:none; } }
/* BEGIN existing component rules (tools/sync-component-styles.py) */
.legis-landing .legis-lp-buy .wp-block-button,
.legis-landing .lta-free-event__submit {display: flex; justify-content: center; text-align: center;}
.legis-landing .legis-lp-buy .wp-block-button {margin: var(--wp--preset--spacing--lg) 0 0;}
.legis-landing .lta-free-event__submit {margin-bottom: 0;}
.legis-landing .legis-lp-buy .wp-block-button > .wp-element-button,
.legis-landing .lta-free-event__submit > .wp-element-button {display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; background: var(--wp--preset--color--green-success) !important; color: #fff !important; border: 1px solid var(--wp--preset--color--blue-primary) !important; border-radius: 6px; font-family: inherit; font-size: var(--wp--preset--font-size--md); font-weight: 500; line-height: 1.2; text-align: center; text-decoration: none; padding: 12px 30px; cursor: pointer; transition: background-color 0.2s ease, filter 0.2s ease;}
.legis-landing .legis-lp-buy .wp-block-button > .wp-element-button:hover,
.legis-landing .legis-lp-buy .wp-block-button > .wp-element-button:focus-visible,
.legis-landing .lta-free-event__submit > .wp-element-button:hover,
.legis-landing .lta-free-event__submit > .wp-element-button:focus-visible {background: var(--wp--preset--color--blue-primary) !important; color: #fff !important; border-color: var(--wp--preset--color--blue-primary) !important; filter: brightness(0.98);}
.legis-landing .lta-free-event__registration {scroll-margin-top: var(--wp--preset--spacing--xxl); margin-inline: auto; padding: clamp(1rem, 3vw, 2rem); background: var(--wp--preset--color--gray-bg); border: var(--lta-event-border); border-radius: var(--lta-event-radius); box-shadow: var(--lta-event-shadow);}
.legis-landing .lta-free-event__registration-intro {margin-bottom: var(--wp--preset--spacing--lg); font-size: var(--wp--preset--font-size--lg);}
.legis-landing .lta-free-event__form-grid {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--wp--preset--spacing--lg);}
.legis-landing .lta-free-event__field {display: flex; flex-direction: column; gap: var(--wp--preset--spacing--xxs); margin-block: 0 var(--wp--preset--spacing--md);}
.legis-landing .lta-free-event__field--wide {grid-column: 1 / -1;}
.legis-landing .lta-free-event__field label {font-weight: 400;}
.legis-landing .lta-free-event__field :is(input, select, textarea) {box-sizing: border-box; width: 100%; min-height: 44px; padding: var(--wp--preset--spacing--sm); border: var(--lta-event-border); border-radius: var(--wp--preset--spacing--xxs); background: var(--wp--preset--color--white, #fff); color: var(--wp--preset--color--gray-text); font: inherit;}
.legis-landing .lta-free-event__choice {margin-block: var(--wp--preset--spacing--md);}
.legis-landing .lta-free-event__choice label {display: flex; gap: var(--wp--preset--spacing--sm); align-items: flex-start; font-weight: 400;}
.legis-landing .lta-free-event__choice label a {font-weight: 500;}
.legis-landing .lta-free-event__choice input {margin-top: .35em;}
.legis-landing .lta-free-event__contact {max-width: 900px; padding: var(--wp--preset--spacing--lg);}
.legis-landing .lta-free-event__contact h2 {margin-top: 0; font-weight: 600;}
.legis-landing .lta-free-event__contact p {font-size: var(--wp--preset--font-size--lg); font-weight: 400; line-height: 1.5;}
.legis-landing .lta-free-event__contact p strong {font-weight: 500;}
.legis-landing .lta-free-event__contact a {font-size: inherit; font-weight: 400;}
.legis-landing .legis-faq__items {display: grid; gap: .5rem;}
.legis-landing .legis-faq__item {border: 1px solid var(--pdp-border); border-radius: 4px; background: transparent; overflow: hidden; transition: border-color .18s ease, background-color .18s ease;}
.legis-landing .legis-faq__q:hover {background: var(--wp--preset--color--gray-bg);}
.legis-landing details[open].legis-faq__item {border-color: var(--pdp-border);}
.legis-landing .legis-faq__q {cursor: pointer; list-style: none; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .25rem .25rem; font-weight: 500; color: var(--wp--preset--color--gray-text);}
.legis-landing details[open] > .legis-faq__q {background: var(--wp--preset--color--gray-bg); border-bottom: 1px solid var(--pdp-border);}
.legis-landing .legis-faq__q::-webkit-details-marker {display: none;}
.legis-landing .legis-faq__q::after {content: "+"; flex: 0 0 auto; color: var(--wp--preset--color--gray-text); font-size: var(--wp--preset--font-size--lg); font-weight: 400; line-height: 1; transform: translateY(1px);}
.legis-landing details[open] > .legis-faq__q::after {content: "–";}
.legis-landing .legis-faq__a {padding: 1rem 1rem 1rem;}
.legis-landing .legis-faq__a :where(p, div) {margin: 0;}
@media(max-width:781px) { .legis-landing .lta-free-event__form-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .legis-landing * { transition:none; } }
