/* Navigation is a disclosure, not an ARIA application menu. */
.lt-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--lt-space-6); padding: var(--lt-space-6) var(--lt-gutter); position: relative; z-index: 5; background: var(--lt-paper); }
.lt-root .lt-brand { font: var(--lt-heading-weight) var(--lt-brand-size)/var(--lt-heading-leading) var(--lt-display); color: var(--lt-ink); text-decoration: none; letter-spacing: var(--lt-brand-tracking); }
.lt-nav { display: flex; gap: var(--lt-space-6); align-items: center; font-size: var(--lt-nav-size); }
.lt-root .lt-nav-link { position: relative; color: var(--lt-ink); text-decoration: none; width: fit-content; }
.lt-nav-link::after { content: ''; position: absolute; left: 0; right: 0; bottom: calc(-1 * var(--lt-space-1)); height: var(--lt-underline-width); background: var(--lt-accent); transform: scaleX(0); transform-origin: left; pointer-events: none; transition: transform var(--lt-underline-duration) ease-out; }
.lt-nav-link:focus-visible::after, .lt-nav-link[aria-current="page"]::after { transform: scaleX(1); }
@media (hover: hover) { .lt-nav-link:hover::after { transform: scaleX(1); } }
.lt-menu summary { display: flex; align-items: center; gap: var(--lt-space-2); min-height: var(--lt-toggle-height); list-style: none; }
.lt-menu summary::-webkit-details-marker { display: none; }
.lt-menu summary::after { content: "+" / ""; font-size: var(--lt-lede-size); }
.lt-menu[open] summary::after { content: "−" / ""; }
.lt-menu-panel { transform: translateZ(0); will-change: transform; /* own compositor layer: iOS otherwise keeps painting the closed panel (owner-verified 2026-09-15, test t8) */ position: absolute; right: var(--lt-gutter); top: 100%; width: min(var(--lt-menu-width), calc(100% - var(--lt-gutter) * 2)); padding: var(--lt-space-6) var(--lt-space-7); background: var(--lt-paper); border: var(--lt-border) solid var(--lt-line); box-shadow: var(--lt-shadow); display: flex; flex-direction: column; gap: var(--lt-space-4); z-index: 8; }
.lt-menu:not([open]) .lt-menu-panel { display: none; }
@media (hover: hover) and (pointer: fine) { .lt-menu[open] .lt-menu-panel { animation: lt-menu-in var(--lt-menu-duration) var(--lt-motion-easing); } }
.lt-menu:not([open]) .lt-menu-panel { visibility: hidden; pointer-events: none; }
@keyframes lt-menu-in { from { opacity: var(--lt-menu-opacity); transform: var(--lt-menu-start); } to { opacity: 1; transform: var(--lt-menu-end); } }
.lt-mobile-link { display: none; }
.lt-skip { position: absolute; left: var(--lt-space-5); top: 0; transform: translateY(-200%); z-index: 20; }
.lt-skip:focus { transform: none; background: var(--lt-paper); padding: var(--lt-space-3); }
.lt-actions { display: flex; gap: var(--lt-space-5); align-items: center; flex-wrap: wrap; }
.lt-root .lt-button, .lt-theme-toggle { display: inline-block; border: var(--lt-border) solid var(--lt-accent); border-radius: var(--lt-radius); padding: var(--lt-space-3) var(--lt-space-5); min-height: var(--lt-control-height); background: var(--lt-accent); color: var(--lt-paper); font-size: var(--lt-body-size); text-decoration: none; text-align: center; }
.lt-root .lt-button-secondary, .lt-theme-toggle { background: var(--lt-paper); color: var(--lt-ink); border-color: var(--lt-muted); }
.lt-theme-toggle { font-size: var(--lt-support); }
.lt-menu-panel .lt-theme-toggle { display: none; }
.lt-field { display: grid; gap: var(--lt-space-2); margin-block: var(--lt-space-6); }
.lt-input, .lt-select, .lt-textarea { width: 100%; min-height: var(--lt-control-height); border: var(--lt-border) solid var(--lt-muted); border-radius: var(--lt-radius); padding: var(--lt-space-4); background: var(--lt-paper); color: var(--lt-ink); }
.lt-textarea { resize: vertical; min-height: var(--lt-textarea-height); }
.lt-input::placeholder, .lt-textarea::placeholder { color: var(--lt-muted); opacity: 1; }
.lt-option { display: flex; align-items: baseline; gap: var(--lt-support); padding: var(--lt-body-size) var(--lt-space-3); border-top: var(--lt-border) solid var(--lt-line); cursor: pointer; }
.lt-option:last-child { border-bottom: var(--lt-border) solid var(--lt-line); }
.lt-option input { width: var(--lt-option-size); height: var(--lt-option-size); flex: 0 0 var(--lt-option-size); accent-color: var(--lt-accent); margin: 0; }
.lt-option:has(input:checked) { color: var(--lt-accent); box-shadow: inset var(--lt-focus-width) 0 0 var(--lt-accent); }
.lt-option:has(input:disabled) { cursor: default; }
.lt-progress { appearance: none; display: block; width: 100%; height: var(--lt-progress-height); border: 0; background: var(--lt-secondary); color: var(--lt-accent); accent-color: var(--lt-accent); margin-block: var(--lt-space-4); }
.lt-progress::-webkit-progress-bar { background: var(--lt-secondary); }
.lt-progress::-webkit-progress-value { background: var(--lt-accent); }
.lt-progress::-moz-progress-bar { background: var(--lt-accent); }
.lt-chip { display: inline-block; font-size: var(--lt-support); padding: var(--lt-space-1) var(--lt-space-3); border: var(--lt-border) solid var(--lt-line); border-radius: var(--lt-radius); background: var(--lt-secondary); color: var(--lt-ink); }
.lt-section { padding: var(--lt-space-10) var(--lt-gutter); max-width: var(--lt-page-width); margin-inline: auto; }
.lt-section-offset { padding-inline-start: var(--lt-offset); }
.lt-ground { background: var(--lt-secondary); }
/* Place only decorative artwork inside this full-width wrapper. Copy stays outside. */
.lt-hero-crop { overflow: hidden; margin: 0; }
.lt-hero-crop .lt-hero-art { width: var(--lt-hero-width); max-width: none; transform: rotate(var(--lt-hero-rotation)); }
.lt-footer { border-top: var(--lt-border) solid var(--lt-line); padding: calc(var(--lt-space-6) * 2) var(--lt-gutter); }
.lt-footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--lt-space-7); margin-block: var(--lt-space-7); }
.lt-footer-grid div { display: flex; flex-direction: column; gap: var(--lt-space-3); }
@media (max-width: 700px) {
  .lt-header > .lt-theme-toggle { display: none; }
  .lt-menu-panel .lt-theme-toggle { display: inline-block; }
  .lt-footer { padding: var(--lt-space-8) var(--lt-space-6); }
  .lt-footer-grid { grid-template-columns: 1fr 1fr; }
  .lt-header { flex-wrap: wrap; padding: var(--lt-space-5) var(--lt-space-6); }
  .lt-nav { gap: var(--lt-space-4); }
  .lt-desktop-link { display: none; }
  .lt-mobile-link { display: block; }
  .lt-menu-panel { right: var(--lt-space-6); width: min(var(--lt-menu-width), calc(100% - var(--lt-space-6) * 2)); }
  .lt-section { padding: var(--lt-space-9) var(--lt-space-6); }
  .lt-hero-crop .lt-hero-art { width: var(--lt-hero-mobile-width); margin-left: var(--lt-hero-mobile-offset); }
}
