.inner-main { min-height: 70vh; }
.breadcrumb { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; }
.breadcrumb a:hover { color: var(--ink-deep); }
.breadcrumb span { opacity: .55; }

.inner-hero { padding: 78px 0 86px; }
.inner-hero__panel { min-height: 430px; padding: clamp(34px, 6vw, 78px); border-radius: 40px; display: flex; flex-direction: column; justify-content: space-between; background: var(--cream); }
.inner-hero__panel--green { background: var(--lime-pale); }
.inner-hero__panel--aqua { background: var(--aqua); }
.inner-hero__content { max-width: 930px; margin-top: 58px; }
.inner-hero h1 { max-width: 950px; margin: 0; color: #17302e; font-size: clamp(3.7rem, 7.5vw, 7.3rem); font-weight: 500; letter-spacing: -.075em; line-height: .89; }
.inner-hero__lead { max-width: 720px; margin: 26px 0 0; color: #455855; font-size: clamp(1.05rem, 1.8vw, 1.28rem); line-height: 1.45; }
.inner-meta { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 9px; }
.inner-meta span { padding: 9px 13px; border: 1px solid rgba(51,64,76,.12); border-radius: 999px; background: rgba(255,255,255,.58); color: #596864; font-size: 12px; font-weight: 600; }

.sim-hero { padding: 74px 0 44px; }
.sim-hero__grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 64px; align-items: center; }
.sim-hero h1 { max-width: 720px; margin: 22px 0 26px; color: #17302e; font-size: clamp(3.6rem, 6.7vw, 6.7rem); font-weight: 500; letter-spacing: -.073em; line-height: .9; }
.sim-hero h1 em { color: #62b23f; font-style: normal; }
.sim-hero__copy > p { max-width: 610px; color: #485956; font-size: 19px; line-height: 1.45; }
.sim-hero .button-row { margin-top: 31px; }
.sim-demo-wrap { padding: 40px 30px; border-radius: 40px; background: var(--cream); }
.sim-demo { overflow: hidden; border: 1px solid rgba(51,64,76,.1); border-radius: 24px; background: white; box-shadow: var(--shadow); }
.sim-demo__top { padding: 18px 22px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.sim-demo__top strong { color: var(--ink); }
.sim-demo__body { padding: 28px; }
.sim-demo__body small { color: #5ead3d; font-weight: 700; }
.sim-demo__body h2 { margin: 12px 0 4px; font-size: 25px; }
.sim-demo__body > p { color: var(--muted); }
.sim-demo__progress { height: 8px; margin: 21px 0 25px; overflow: hidden; border-radius: 99px; background: #e9ede7; }
.sim-demo__progress i { width: 70%; height: 100%; display: block; border-radius: inherit; background: var(--lime); }
.sim-demo__question { padding: 21px; border-radius: 17px; background: var(--cream); }
.sim-demo__question span { display: block; margin-bottom: 13px; font-weight: 600; }
.sim-demo__answer { padding: 12px 13px; border: 2px solid var(--lime); border-radius: 12px; display: flex; align-items: center; gap: 10px; background: white; font-size: 13px; }
.sim-demo__answer i { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; background: var(--lime); color: white; font-style: normal; font-weight: 700; }

.inner-facts { padding: 36px 0 80px; }
.inner-facts__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.inner-facts article { min-height: 170px; padding: 27px; border-radius: 23px; background: var(--lime-pale); }
.inner-facts article:nth-child(2) { background: var(--aqua); }
.inner-facts article:nth-child(3) { background: var(--lavender); }
.inner-facts strong { display: block; margin-bottom: 30px; color: var(--ink-deep); font-size: 35px; font-weight: 500; letter-spacing: -.05em; }
.inner-facts span { color: #536561; }

.article-section, .legal-body { padding: 90px 0 125px; }
.article-layout, .legal-layout { display: grid; grid-template-columns: 250px minmax(0, 760px); gap: 90px; align-items: start; justify-content: center; }
.content-nav { position: sticky; top: 110px; padding: 20px; border-radius: 20px; background: var(--cream); }
.content-nav strong { display: block; margin-bottom: 12px; color: var(--ink-deep); font-size: 13px; }
.content-nav a { padding: 9px 0; display: block; color: var(--muted); font-size: 13px; line-height: 1.35; }
.content-nav a:hover { color: #4b992f; }
.article-prose, .legal-prose { min-width: 0; }
.article-prose > p:first-child { color: var(--ink-deep); font-size: 23px; line-height: 1.42; }
.article-prose h2, .legal-prose h2 { scroll-margin-top: 120px; margin: 72px 0 20px; color: #19322f; font-size: clamp(2rem, 3.8vw, 3.15rem); font-weight: 500; letter-spacing: -.05em; line-height: 1.03; }
.article-prose h2:first-child, .legal-prose section:first-child h2 { margin-top: 0; }
.article-prose h3 { margin: 36px 0 12px; color: var(--ink-deep); font-size: 21px; }
.article-prose p, .legal-prose p, .article-prose li, .legal-prose li { color: #586664; font-size: 17px; line-height: 1.7; }
.article-prose p, .legal-prose p { margin-bottom: 17px; }
.article-prose ul, .legal-prose ul { margin: 0 0 24px; padding-left: 21px; }
.article-prose li, .legal-prose li { margin-bottom: 7px; padding-left: 5px; }
.article-prose a:not(.button), .legal-prose a { border-bottom: 1px solid var(--lime); color: #375d31; font-weight: 600; }
.article-prose strong, .legal-prose strong { color: var(--ink-deep); }
.legal-prose section { padding: 0 0 48px; border-bottom: 1px solid var(--line); }
.legal-prose section + section { padding-top: 4px; }
.legal-prose section:last-child { border-bottom: 0; }

.article-callout { margin: 58px 0; padding: 34px; border-radius: 28px; background: var(--ink-deep); color: white; }
.article-callout--lime { background: var(--lime-pale); color: var(--ink); }
.article-callout h2, .article-callout h3 { margin: 0 0 13px; color: inherit; font-size: 30px; }
.article-callout p { max-width: 620px; margin-bottom: 24px; color: rgba(255,255,255,.66); }
.article-callout--lime p { color: #536561; }
.article-callout .button { border-bottom: 0; }

.state-section { margin-top: 72px; padding-top: 15px; }
.state-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.state-card { min-height: 98px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; display: flex; flex-direction: column; justify-content: space-between; background: white; transition: border-color .2s ease, transform .2s var(--ease), background .2s ease; }
.state-card:hover { transform: translateY(-3px); border-color: var(--lime); background: var(--lime-pale); }
.state-card span { color: #5da93e; font-size: 12px; font-weight: 700; }
.state-card strong { font-size: 15px; }

.compact-faq { margin-top: 65px; border-top: 1px solid var(--line); }
.compact-faq article { padding: 23px 0; border-bottom: 1px solid var(--line); }
.compact-faq h3 { margin: 0 0 8px; }
.compact-faq p { margin: 0; }

.inner-final { padding: 0 0 80px; }
.inner-final__panel { padding: clamp(40px, 6vw, 72px); border-radius: 36px; display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; background: var(--ink-deep); color: white; }
.inner-final h2 { max-width: 760px; margin: 0 0 14px; font-size: clamp(2.6rem, 5vw, 4.7rem); font-weight: 500; letter-spacing: -.06em; line-height: .95; }
.inner-final p { max-width: 640px; margin: 0; color: rgba(255,255,255,.63); }

@media (max-width: 900px) {
    .sim-hero__grid { grid-template-columns: 1fr; }
    .sim-hero__copy { max-width: 760px; }
    .sim-demo-wrap { max-width: 720px; }
    .article-layout, .legal-layout { grid-template-columns: 1fr; gap: 42px; }
    .content-nav { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
    .content-nav strong { grid-column: 1/-1; }
    .inner-final__panel { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .inner-hero, .sim-hero { padding-top: 35px; }
    .inner-hero__panel { min-height: 400px; padding: 28px 22px; border-radius: 27px; }
    .inner-hero__content { margin-top: 70px; }
    .inner-hero h1 { font-size: clamp(3.5rem, 16vw, 5.1rem); }
    .sim-hero h1 { font-size: clamp(3.4rem, 16vw, 4.8rem); }
    .sim-hero__copy > p { font-size: 17px; }
    .sim-demo-wrap { padding: 16px 8px; border-radius: 27px; }
    .sim-demo__body { padding: 20px 16px; }
    .inner-facts { padding-bottom: 40px; }
    .inner-facts__grid { grid-template-columns: 1fr; }
    .inner-facts article { min-height: 140px; }
    .article-section, .legal-body { padding: 55px 0 85px; }
    .content-nav { grid-template-columns: 1fr; }
    .article-prose > p:first-child { font-size: 20px; }
    .article-prose h2, .legal-prose h2 { margin-top: 55px; font-size: 2.25rem; }
    .article-prose p, .legal-prose p, .article-prose li, .legal-prose li { font-size: 16px; }
    .article-callout { margin: 42px 0; padding: 27px 21px; }
    .state-grid { grid-template-columns: 1fr 1fr; }
    .state-card { min-height: 88px; }
    .inner-final { padding-bottom: 28px; }
    .inner-final__panel { padding: 37px 23px; border-radius: 27px; }
    .inner-final .button { width: 100%; }
}


/* State page redesign */
.state-page .state-hero h1 { max-width: 820px; font-size: clamp(3.25rem, 5.8vw, 5.9rem); }
.state-page .state-hero .sim-hero__copy > p { max-width: 640px; }
.state-page .article-section { border-top: 1px solid var(--line); }
.state-highlight { margin: 30px 0; padding: 24px 26px; border-left: 4px solid var(--lime); border-radius: 0 18px 18px 0; background: var(--lime-pale); }
.state-highlight p:last-child { margin-bottom: 0; }
.article-callout .feature-check { width: 24px; height: 24px; border-radius: 50%; display: inline-grid; place-items: center; flex: 0 0 auto; background: var(--lime); color: var(--ink-deep); font-size: 13px; font-weight: 800; }
.article-divider { margin: 58px 0; border: 0; border-top: 1px solid var(--line); }
.other-states-links { margin-top: 64px; padding-top: 30px; border-top: 1px solid var(--line); }
.other-states-links h3 { margin-top: 0; }
.other-states-links ul { padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; list-style: none; }
.other-states-links li { margin: 0; padding: 0; }
.other-states-links li a { min-height: 52px; padding: 14px 16px; border: 1px solid var(--line) !important; border-radius: 13px; display: flex; align-items: center; background: white; transition: transform .2s var(--ease), border-color .2s ease, background .2s ease; }
.other-states-links li a:hover { transform: translateY(-2px); border-color: var(--lime) !important; background: var(--lime-pale); }

@media (max-width: 620px) {
    .state-page .state-hero h1 { font-size: clamp(3rem, 14vw, 4.35rem); }
    .state-page .state-hero .button-row { align-items: stretch; }
    .state-page .state-hero .button, .state-page .state-hero .button-halo { width: 100%; }
    .other-states-links ul { grid-template-columns: 1fr; }
}
