* {
box-sizing: border-box;
}

body {
margin: 0;
font-family: Arial, Helvetica, sans-serif;
color: #1f2933;
background: #ffffff;
line-height: 1.6;
}

a {
color: #0f766e;
text-decoration: none;
}

a:hover {
text-decoration: underline;
}

.container {
width: min(1180px, 92%);
margin: 0 auto;
}

.narrow {
max-width: 850px;
}

.site-header {
background: #ffffff;
border-bottom: 1px solid #e5e7eb;
position: sticky;
top: 0;
z-index: 10;
}

.nav-wrap {
display: flex;
justify-content: space-between;
align-items: center;
padding: 16px 0;
}

.logo {
font-size: 20px;
font-weight: 800;
color: #0f172a;
}

.main-nav {
display: flex;
gap: 20px;
font-size: 14px;
}

.main-nav a {
color: #374151;
font-weight: 600;
}

.hero {
background: linear-gradient(135deg, #ecfdf5, #f8fafc);
padding: 80px 0;
}

.hero-grid {
display: grid;
grid-template-columns: 1.4fr 0.8fr;
gap: 40px;
align-items: center;
}

.eyebrow {
font-weight: 700;
color: #0f766e;
text-transform: uppercase;
letter-spacing: 0.08em;
font-size: 13px;
}

h1 {
font-size: clamp(38px, 6vw, 64px);
line-height: 1.05;
margin: 12px 0 20px;
color: #0f172a;
}

h2 {
font-size: clamp(28px, 4vw, 42px);
line-height: 1.15;
color: #0f172a;
margin-top: 0;
}

h3 {
font-size: 22px;
color: #0f172a;
}

.hero-text,
.section-lead {
font-size: 19px;
color: #475569;
}

.hero-buttons {
display: flex;
gap: 14px;
flex-wrap: wrap;
margin-top: 28px;
}

.hero-buttons.center {
justify-content: center;
}

.btn {
display: inline-block;
padding: 14px 22px;
border-radius: 10px;
font-weight: 800;
border: 2px solid transparent;
}

.btn.primary {
background: #0f766e;
color: #ffffff;
}

.btn.secondary {
background: #ffffff;
color: #0f766e;
border-color: #0f766e;
}

.hero-card {
background: #ffffff;
border: 1px solid #d1fae5;
border-radius: 18px;
padding: 28px;
box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
}

.hero-card ul {
padding-left: 20px;
}

.section {
padding: 72px 0;
}

.gray {
background: #f8fafc;
}

.dark {
background: #0f172a;
color: #e5e7eb;
}

.dark h2,
.dark h3 {
color: #ffffff;
}

.card-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 22px;
margin-top: 34px;
}

.category-card {
background: #ffffff;
border: 1px solid #e5e7eb;
border-radius: 18px;
padding: 26px;
box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.category-card ul {
padding-left: 18px;
}

.text-link {
display: inline-block;
margin-top: 14px;
font-weight: 800;
}

.split {
display: grid;
grid-template-columns: 1fr 0.9fr;
gap: 42px;
align-items: start;
}

.link-box {
background: #ffffff;
border: 1px solid #e5e7eb;
border-radius: 18px;
padding: 24px;
display: grid;
gap: 12px;
}

.link-box.light {
background: #111827;
border-color: #334155;
}

.link-box.light a {
color: #99f6e4;
}

.two-columns {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 30px;
}

.mini-link-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 14px;
margin-top: 28px;
}

.mini-link-grid a {
background: #f8fafc;
border: 1px solid #e5e7eb;
border-radius: 12px;
padding: 14px;
font-weight: 700;
}

.cta-section {
background: #ecfdf5;
text-align: center;
padding: 76px 0;
}

.faq details {
background: #ffffff;
border: 1px solid #e5e7eb;
border-radius: 12px;
padding: 18px 20px;
margin-bottom: 14px;
}

.faq summary {
font-weight: 800;
cursor: pointer;
color: #0f172a;
}

.site-footer {
background: #0f172a;
color: #cbd5e1;
padding-top: 56px;
}

.footer-grid {
display: grid;
grid-template-columns: 1.3fr 1fr 1fr 0.8fr;
gap: 30px;
}

.site-footer h3,
.site-footer h4 {
color: #ffffff;
}

.site-footer a {
display: block;
color: #cbd5e1;
margin-bottom: 10px;
}

.footer-bottom {
text-align: center;
border-top: 1px solid #334155;
padding: 18px;
margin-top: 40px;
font-size: 14px;
}

@media (max-width: 900px) {
.main-nav {
display: none;
}

.hero-grid,
.split,
.two-columns,
.footer-grid {
grid-template-columns: 1fr;
}

.card-grid {
grid-template-columns: 1fr;
}

.mini-link-grid {
grid-template-columns: 1fr;
}

.hero {
padding: 56px 0;
}

.section {
padding: 52px 0;
}
}
