:root { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--ambient-bg) fixed; }
a { color: inherit; }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
.site-shell { width: min(1120px, calc(100% - 64px)); margin: auto; }
.site-header { min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-xl); }
.site-brand { display: inline-flex; align-items: center; gap: var(--space-md); text-decoration: none; }
.site-brand img { border-radius: var(--control-radius); }
.site-brand strong { font-size: 1.12rem; letter-spacing: .04em; }
.site-login { display: inline-flex; align-items: center; gap: var(--space-md); min-height: var(--control-height); color: var(--muted); font-size: var(--type-control); text-decoration: none; }
.home-hero { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; gap: var(--space-3xl); padding: clamp(48px, 8vw, 112px) 0 clamp(64px, 9vw, 128px); }
.home-eyebrow { color: var(--accent); font-size: .8rem; font-weight: 700; letter-spacing: .08em; margin: 0 0 var(--space-xl); }
h1,h2,h3 { margin: 0; font-family: "Avenir Next Condensed", "DIN Condensed", "PingFang SC", sans-serif; }
h1 { font-size: clamp(3.3rem, 6vw, 5.6rem); line-height: 1.16; letter-spacing: -.04em; }
.hero-description { margin: var(--space-xl) 0 var(--space-2xl); color: var(--muted); font-size: 1.02rem; line-height: 1.9; max-width: 32em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-md) var(--space-xl); align-items: center; }
.site-primary { min-height: 52px; padding: 0 var(--space-xl); display: inline-flex; gap: var(--space-2xl); align-items: center; justify-content: space-between; border-radius: var(--control-radius); background: var(--accent-gradient); color: var(--accent-contrast); font-size: .9rem; font-weight: 700; text-decoration: none; }
.site-secondary { display: inline-flex; gap: var(--space-md); align-items: center; min-height: 48px; color: var(--muted); text-underline-offset: 6px; font-size: .86rem; }
.hero-footnote { margin: var(--space-lg) 0 0; font-size: .76rem; line-height: 1.6; color: var(--muted); }
.hero-brand-art { display: flex; flex-direction: column; gap: var(--space-xl); align-items: center; padding-top: var(--space-xl); }
.hero-brand-art > img { width: min(100%, 320px); height: auto; border-radius: 24%; }
.hero-brand-art p { margin: 0; font-size: 1rem; font-weight: 700; letter-spacing: .12em; }
.hero-brand-art p span { display: block; color: var(--muted); font-size: .76rem; font-weight: 500; letter-spacing: .04em; margin-top: var(--space-sm); }
.home-costs { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(32px, 8vw, 112px); border-top: 1px solid var(--hairline-strong); padding: clamp(48px, 7vw, 88px) 0; }
.home-costs h2 { font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.3; }
.costs-heading > p:last-child { margin: var(--space-xl) 0 0; max-width: 28ch; color: var(--muted); font-size: .9rem; line-height: 1.9; }
.costs-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.costs-list li { display: flex; align-items: flex-start; gap: var(--space-xl); padding: var(--space-xl) 0; border-bottom: 1px solid var(--hairline-strong); }
.costs-list li:first-child { padding-top: 0; }
.costs-icon { width: 20px; height: 20px; flex: 0 0 auto; color: var(--accent); margin-top: var(--space-xs); }
.costs-list h3 { font-size: 1.08rem; line-height: 1.5; }
.costs-list p { margin: var(--space-sm) 0 0; font-size: .86rem; line-height: 1.8; color: var(--muted); max-width: 40ch; }
.home-ending { display: flex; align-items: center; justify-content: space-between; gap: var(--space-xl); padding: var(--space-3xl) 0 80px; }
.home-ending h2 { font-size: clamp(1.3rem, 2.3vw, 2rem); line-height: 1.4; }
.site-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-lg); padding: var(--space-xl) 0 var(--space-2xl); border-top: 1px solid var(--hairline-strong); color: var(--muted); font-size: .76rem; }
.site-footer a { text-decoration: none; }
.mobile-break { display: none; }
.home-skip { position: absolute; left: 24px; top: -100px; padding: 12px; background: var(--surface); z-index: 1; }
.home-skip:focus { top: 12px; }
@media (max-width: 680px) {
 .site-shell { width: calc(100% - 48px); }
 .site-header { min-height: 88px; }
 .site-brand { gap: var(--space-sm); }
 .site-brand strong { font-size: 1rem; }
 .site-login { font-size: .8rem; }
 .home-hero { grid-template-columns: 1fr; gap: var(--space-3xl); padding: var(--space-3xl) 0 64px; }
 .home-eyebrow { font-size: .72rem; margin-bottom: var(--space-lg); }
 h1 { font-size: clamp(3.2rem, 13vw, 4.4rem); }
 .hero-description { font-size: .92rem; }
 .mobile-break { display: inline; }
 .hero-brand-art { flex-direction: row; justify-content: flex-start; padding: 0; }
 .hero-brand-art > img { width: 88px; border-radius: 24px; }
 .hero-brand-art p { font-size: .9rem; letter-spacing: .04em; }
 .home-costs { grid-template-columns: 1fr; gap: var(--space-3xl); }
 .costs-heading h2 br { display: none; }
 .costs-heading > p:last-child { max-width: 36ch; }
 .home-ending { align-items: flex-start; flex-direction: column; padding-bottom: var(--space-3xl); }
}
@media (prefers-reduced-motion: reduce) { :root { scroll-behavior: auto; } }

.lucide { width: 18px; height: 18px; flex: 0 0 auto; stroke-width: 2; }
.costs-list .costs-icon { width: 20px; height: 20px; }
.site-footer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xl); }
.site-footer-actions a { display: inline-flex; align-items: center; gap: var(--space-sm); min-height: var(--control-height-sm); }
.site-auto-theme { display: inline-flex; align-items: center; gap: var(--space-sm); min-height: var(--control-height-sm); padding: 0; border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: inherit; }
.site-auto-theme[aria-pressed="true"] { color: var(--accent); }
