:root {
--color-white: #ffffff;
--color-text-primary: #101113;
--color-text-body: #5c5f66;
--color-text-muted: #777b84;
--color-border: #e9ecef;
--color-purple: #7a4ff7;
--color-purple-hover: #632ef4;
--color-purple-light: #c9bbff;
--color-bg-card: #f7f8fb;
--color-bg-muted: #eef1f5;
--font-heading: Archivo, sans-serif;
--font-body: Inter, sans-serif;
--text-h1-mobile: 40px;
--text-h1-desktop: 64px;
--lh-h1: 1.05;
--grad-cta: linear-gradient(90deg, #7a4ff7 0%, #0ca7ff 100%);
--shadow-card: 0 10px 18px 0 #dadada66;
}
.fp-state {
background: var(--color-white);
color: var(--color-text-primary);
}
.fp-state *,
.fp-state *::before,
.fp-state *::after {
box-sizing: border-box;
}
.fp-state__col-narrow {
max-width: 820px;
margin: 0 auto;
}
.fp-state__crumbs {
padding: 16px 0;
border-bottom: 1px solid var(--color-border);
background: var(--color-white);
}
.fp-state__crumbs ol {
list-style: none;
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 0;
padding: 0;
font-family: var(--font-body);
font-size: 14px;
color: var(--color-text-muted);
}
.fp-state__crumbs li + li::before {
content: "/";
padding-right: 8px;
color: var(--color-text-muted);
}
.fp-state__crumbs a {
color: var(--color-text-muted);
text-decoration: none;
}
.fp-state__crumbs a:hover {
color: var(--color-purple);
}
.fp-state__crumbs [aria-current="page"] {
color: var(--color-text-primary);
font-weight: 500;
}
.fp-state__hero {
background: var(--color-text-primary);
color: var(--color-white);
padding: 64px 0 72px;
}
.fp-state__hero-grid {
display: grid;
grid-template-columns: 1fr;
gap: 32px;
align-items: center;
}
@media (min-width: 992px) {
.fp-state__hero-grid {
grid-template-columns: 1.15fr 1fr;
gap: 56px;
}
}
.fp-state__eyebrow {
display: inline-block;
font-family: var(--font-body);
font-size: 14px;
font-weight: 500;
letter-spacing: 0;
text-transform: uppercase;
color: var(--color-purple-light);
margin-bottom: 16px;
}
.fp-state__h1 {
font-family: var(--font-heading);
font-weight: 700;
font-size: var(--text-h1-mobile);
line-height: var(--lh-h1);
margin: 0 0 16px;
color: var(--color-white);
}
@media (min-width: 768px) {
.fp-state__h1 {
font-size: var(--text-h1-desktop);
}
}
.fp-state__subhead {
font-family: var(--font-body);
font-size: 18px;
line-height: 1.55;
color: #c9ccd1;
margin: 0 0 28px;
max-width: 56ch;
}
.fp-state__hero-media img {
display: block;
width: 100%;
height: auto;
border-radius: 0;
}
.fp-btn {
display: inline-flex;
align-items: center;
justify-content: center;
font-family: var(--font-body);
font-size: 14px;
font-weight: 500;
padding: 14px 22px;
border: 0;
cursor: pointer;
text-decoration: none;
border-radius: 0;
transition: background 160ms ease, transform 120ms ease;
}
.fp-btn--primary {
background: var(--grad-cta);
color: var(--color-white);
}
.fp-btn--primary:hover {
background: var(--color-purple-hover);
color: var(--color-white);
}
.fp-btn--lg {
padding: 18px 28px;
font-size: 16px;
}
.fp-state__stats {
padding: 48px 0;
border-bottom: 1px solid var(--color-border);
}
.fp-state__stats-grid {
list-style: none;
padding: 0;
margin: 0;
display: grid;
gap: 24px;
grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
.fp-state__stats-grid {
grid-template-columns: repeat(4, 1fr);
}
}
.fp-state__stat-value {
display: block;
font-family: var(--font-heading);
font-weight: 700;
font-size: 36px;
line-height: 1.1;
color: var(--color-text-primary);
margin-bottom: 6px;
}
.fp-state__stat-label {
display: block;
font-family: var(--font-body);
font-size: 14px;
color: var(--color-text-muted);
}
.fp-state__intro,
.fp-state__llc,
.fp-state__cities,
.fp-state__faq {
padding: 72px 0;
}
.fp-state__h2 {
font-family: var(--font-heading);
font-weight: 700;
font-size: 26px;
line-height: 1.25;
color: var(--color-text-primary);
margin: 0 0 24px;
}
@media (min-width: 768px) {
.fp-state__h2 {
font-size: 34px;
}
}
.fp-state__intro-line {
font-family: var(--font-body);
font-size: 16px;
color: var(--color-text-body);
margin: 0 0 32px;
max-width: 64ch;
}
.fp-state__prose {
font-family: var(--font-body);
font-size: 16px;
line-height: 1.65;
color: var(--color-text-body);
}
.fp-state__prose p {
margin: 0 0 16px;
}
.fp-state__prose strong {
color: var(--color-text-primary);
}
.fp-state__prose a {
color: var(--color-purple);
text-decoration: underline;
}
.fp-state__llc {
background: var(--color-bg-card);
border-top: 1px solid var(--color-border);
border-bottom: 1px solid var(--color-border);
}
.fp-state__llc-grid {
display: grid;
grid-template-columns: 1fr;
gap: 40px;
margin-bottom: 32px;
}
@media (min-width: 992px) {
.fp-state__llc-grid {
grid-template-columns: 1.1fr 1fr;
gap: 64px;
}
}
.fp-state__llc-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 14px;
}
.fp-state__llc-list li {
position: relative;
padding: 16px 16px 16px 44px;
background: var(--color-white);
border: 1px solid var(--color-border);
font-family: var(--font-body);
font-size: 15px;
line-height: 1.5;
color: var(--color-text-primary);
}
.fp-state__llc-list li::before {
content: "";
position: absolute;
top: 20px;
left: 17px;
width: 14px;
height: 8px;
border-left: 3px solid var(--color-purple);
border-bottom: 3px solid var(--color-purple);
transform: rotate(-45deg);
}
.fp-state__cities-grid {
display: grid;
gap: 24px;
grid-template-columns: 1fr;
}
@media (min-width: 576px) {
.fp-state__cities-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (min-width: 992px) {
.fp-state__cities-grid {
grid-template-columns: repeat(3, 1fr);
}
}
.fp-state__city-card {
display: flex;
flex-direction: column;
background: var(--color-white);
border: 1px solid var(--color-border);
box-shadow: var(--shadow-card);
text-decoration: none;
color: inherit;
transition: transform 160ms ease, box-shadow 160ms ease;
overflow: hidden;
}
.fp-state__city-card:hover {
transform: translateY(-2px);
box-shadow: 0 16px 20px 0 #dadada80;
}
.fp-state__city-media {
aspect-ratio: 16 / 10;
background: var(--color-bg-muted);
overflow: hidden;
}
.fp-state__city-media img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.fp-state__city-media--ph {
background: linear-gradient(135deg, var(--color-bg-muted) 0%, var(--color-bg-card) 100%);
}
.fp-state__city-body {
padding: 20px;
display: flex;
flex-direction: column;
gap: 8px;
}
.fp-state__city-name {
font-family: var(--font-heading);
font-weight: 700;
font-size: 20px;
color: var(--color-text-primary);
}
.fp-state__city-desc {
font-family: var(--font-body);
font-size: 14px;
color: var(--color-text-body);
line-height: 1.5;
}
.fp-state__city-cta {
font-family: var(--font-body);
font-size: 14px;
font-weight: 500;
color: var(--color-purple);
margin-top: 4px;
}
.fp-state__faq {
background: var(--color-bg-card);
}
.fp-state__faq-list {
display: flex;
flex-direction: column;
gap: 0;
border-top: 1px solid var(--color-border);
}
.fp-state__faq-item {
border-bottom: 1px solid var(--color-border);
background: var(--color-white);
}
.fp-state__faq-item summary {
display: flex;
justify-content: space-between;
align-items: center;
list-style: none;
padding: 20px 24px;
cursor: pointer;
font-family: var(--font-body);
font-size: 17px;
font-weight: 500;
color: var(--color-text-primary);
position: relative;
}
.fp-state__faq-item summary::-webkit-details-marker {
display: none;
}
.fp-state__faq-item summary::after {
content: "+";
font-size: 22px;
color: var(--color-purple);
font-weight: 400;
margin-left: 16px;
}
.fp-state__faq-item[open] summary::after {
content: "-";
}
.fp-state__faq-answer {
padding: 0 24px 24px;
font-family: var(--font-body);
font-size: 16px;
line-height: 1.6;
color: var(--color-text-body);
}
.fp-state__faq-answer p {
margin: 0 0 12px;
}
.fp-state__faq-answer p:last-child {
margin-bottom: 0;
}
.fp-state__cta {
background: var(--color-text-primary);
color: var(--color-white);
text-align: center;
padding: 72px 0;
}
.fp-state__cta-title {
font-family: var(--font-heading);
font-weight: 700;
font-size: 28px;
margin: 0 0 12px;
color: var(--color-white);
}
@media (min-width: 768px) {
.fp-state__cta-title {
font-size: 36px;
}
}
.fp-state__cta-sub {
font-family: var(--font-body);
font-size: 16px;
color: #c9ccd1;
margin: 0 0 28px;
}