:root{
  --brand:#11bb82;
  --brand-400:#3dd9a2;
  --brand-500:#12b886;
  --brand-600:#0ea371;
  --brand-700:#0c8a5f;
  --accent:#ff7a45;
  --accent-600:#fa5a1a;
  --primary-dark:#10221c;
  --primary-muted:#144434;
  --bg:#ffffff;
  --bg-muted:#f6f8f7;
  --surface:#ffffff;
  --surface-elevated:rgba(255,255,255,0.88);
  --surface-dark:#0b1220;
  --border:#e2e8f0;
  --border-strong:#cbd5f5;
  --text:#0f172a;
  --text-strong:#0b1629;
  --muted:#475569;
  --muted-strong:#1f2937;
  --link:#0ea5e9;
  --shadow-soft:0 20px 50px -24px rgba(15,23,42,0.35);
  --shadow-card:0 25px 45px -20px rgba(16,34,28,0.28);
  --radius-sm:0.5rem;
  --radius-md:1rem;
  --radius-lg:1.5rem;
  --radius-xl:2rem;
  --spacing-section:clamp(3rem,6vw,6rem);
}

/* Base typography and readability */
html{scroll-behavior:smooth}
body{
  color:var(--text);
  background:var(--bg);
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
main{
  display:block;
  background:var(--bg);
}

.page-gradient{
  background-image:radial-gradient(at top left,rgba(17,187,130,0.12),transparent 40%),radial-gradient(at 80% 0%,rgba(16,34,28,0.16),transparent 55%),linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
}

.page-section{
  padding-top:var(--spacing-section);
  padding-bottom:var(--spacing-section);
}

.section-heading{
  margin-bottom:clamp(1.5rem,4vw,3rem);
  text-align:center;
}

.section-heading h2{
  font-size:clamp(1.875rem,4vw,3rem);
  font-weight:800;
  letter-spacing:-0.03em;
  color:var(--brand-700);
}

.section-heading p{
  max-width:46rem;
  margin:1rem auto 0;
  color:var(--muted);
  font-size:1.0625rem;
  line-height:1.7;
}

/* Skip to content accessibility link */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.5rem .75rem;background:#111827;color:#fff;border-radius:.375rem;z-index:10000}

/* Focus visibility */
a:focus-visible,button:focus-visible,[role="button"]:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:.125rem}

/* Article content enhancements */
.article-content{font-size:1.0625rem;line-height:1.85;max-width:70ch;margin-left:auto;margin-right:auto}
.article-content h1{font-weight:800;color:#1e3a8a;letter-spacing:-.01em;margin-top:.75rem;margin-bottom:.85rem;font-size:clamp(1.75rem,3.2vw,2.25rem);line-height:1.2}
.article-content h2{font-size:clamp(1.25rem,2.2vw,1.5rem);font-weight:750;color:#1e3a8a;margin-top:2.25rem;margin-bottom:.85rem;border-bottom:2px solid #dbeafe;padding-bottom:.5rem}
.article-content h3{font-size:clamp(1.125rem,2vw,1.25rem);font-weight:700;color:#1e3a8a;margin-top:1.5rem;margin-bottom:.6rem}
.article-content p{margin:1rem 0;color:#0f172a}
.article-content ul,.article-content ol{margin:0.75rem 0 1rem 0;padding-left:1.25rem}
.article-content li{margin:.55rem 0}
.article-content a{color:var(--link);text-underline-offset:4px}
.article-content a:hover{text-decoration:underline}
.article-content strong{color:#1e3a8a}
.article-content blockquote{border-left:4px solid #dbeafe;padding:.5rem 1rem;color:#334155;background:#f8fafc;border-radius:.375rem;margin:1.25rem 0}
.article-content code{background:#f1f5f9;color:#111827;padding:.1rem .35rem;border-radius:.25rem}
.article-content pre{background:#0b1220;color:#e2e8f0;padding:1rem;border-radius:.5rem;overflow:auto}
.article-content table{width:100%;border-collapse:collapse;margin:1rem 0}
.article-content th,.article-content td{border:1px solid #e2e8f0;padding:.5rem;text-align:left}
.article-content th{background:#f8fafc}

.eyebrow{
  font-size:.8125rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--brand-600);
}

.metrics-grid{
  display:grid;
  gap:1.5rem;
  grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));
}

.metric{
  padding:1.75rem;
  border-radius:var(--radius-md);
  border:1px solid rgba(15,23,42,0.08);
  background:linear-gradient(135deg,rgba(17,187,130,.08) 0%,rgba(17,187,130,0) 100%);
}

.metric strong{
  display:block;
  font-size:2.25rem;
  font-weight:800;
  color:var(--primary-dark);
}

.metric span{
  color:var(--muted);
}

.pill-group{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.pill{
  padding:.45rem .95rem;
  border-radius:999px;
  background:rgba(15,23,42,0.06);
  color:var(--primary-dark);
  font-weight:500;
}

.floating-shadow{
  box-shadow:0 35px 65px -40px rgba(15,23,42,.7);
}

.divider{
  height:1px;
  margin:3rem auto;
  background-image:linear-gradient(90deg,transparent,rgba(17,187,130,.4),transparent);
  max-width:40rem;
}

.faq-item{
  border:1px solid rgba(15,23,42,0.08);
  border-radius:var(--radius-md);
  background:var(--surface);
  box-shadow:var(--shadow-soft);
}

.faq-trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.35rem 1.5rem;
  background:transparent;
  border:none;
  font-weight:600;
  font-size:1.05rem;
  color:var(--primary-dark);
  transition:background .18s ease, color .18s ease;
}

.faq-trigger:hover{
  background:rgba(17,187,130,0.08);
}

.faq-content{
  padding:0 1.5rem 1.5rem;
  color:var(--muted);
}

.faq-icon{
  width:2.25rem;
  height:2.25rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(17,187,130,.12);
  color:var(--brand-600);
  flex-shrink:0;
}

.footer-section{
  background:linear-gradient(180deg,rgba(16,34,28,0.96) 0%,#0b1220 100%);
  color:#cbd5f5;
}

.footer-columns{
  display:grid;
  gap:2rem;
  grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));
}

.footer-card{
  background:rgba(15,23,42,0.55);
  border:1px solid rgba(148,163,184,0.18);
  border-radius:var(--radius-md);
  padding:1.5rem;
}

.footer-bottom{
  border-top:1px solid rgba(148,163,184,0.2);
  margin-top:3rem;
  padding-top:2.25rem;
  text-align:center;
  font-size:.9rem;
  color:rgba(226,232,240,0.7);
}

.footer-cta{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  align-items:center;
  justify-content:space-between;
  padding:1.75rem 2rem;
  border:1px solid rgba(17,187,130,0.25);
  border-radius:var(--radius-lg);
  background:rgba(17,187,130,0.08);
  box-shadow:0 25px 50px -30px rgba(17,187,130,0.6);
}

.footer-cta h3{
  font-size:1.5rem;
  font-weight:700;
  color:#ecfeff;
}

.footer-cta p{
  color:rgba(226,232,240,0.8);
}

/* Buttons and CTA polish when not using Tailwind utilities */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding:.75rem 1.25rem;
  border-radius:999px;
  font-weight:700;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
  box-shadow:0 14px 30px -16px rgba(17,187,130,.6);
}
.btn-primary{
  background:linear-gradient(135deg,var(--brand) 0%,var(--brand-600) 100%);
  color:#fff;
  border:1px solid rgba(18,184,134,.35);
}
.btn-primary:hover{
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 18px 36px -14px rgba(17,187,130,.7);
}
.btn-outline{
  background:rgba(17,187,130,.08);
  color:var(--primary-dark);
  border:1px solid rgba(17,187,130,.25);
}
.btn-outline:hover{
  background:rgba(17,187,130,.16);
}
.btn-ghost{
  background:transparent;
  color:var(--primary-dark);
  border:1px solid rgba(15,23,42,0.12);
  box-shadow:none;
}
.btn-ghost:hover{
  background:rgba(148,163,184,0.12);
}
.btn:focus-visible{
  outline:3px solid rgba(59,207,160,0.45);
  outline-offset:2px;
}

.badge,.chip{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.35rem .75rem;
  border-radius:999px;
  font-weight:600;
  font-size:.85rem;
}
.badge{
  background:rgba(17,187,130,.12);
  color:var(--brand-700);
}
.badge-accent{
  background:rgba(250,90,26,.12);
  color:var(--accent-600);
}

.glass-card{
  position:relative;
  border-radius:var(--radius-lg);
  background:var(--surface-elevated);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:var(--shadow-card);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.card{
  border-radius:var(--radius-md);
  border:1px solid rgba(15,23,42,.08);
  background:var(--surface);
  box-shadow:var(--shadow-soft);
}

.card[data-hover="true"]:hover{
  transform:translateY(-6px);
  box-shadow:0 25px 40px -24px rgba(17,187,130,.45);
}

.knowledge-card{
  position:relative;
  border-radius:var(--radius-lg);
  background:linear-gradient(160deg,rgba(255,255,255,0.97) 0%,rgba(233,249,242,0.92) 100%);
  border:1px solid rgba(17,187,130,0.15);
  box-shadow:0 28px 55px -32px rgba(17,187,130,0.4);
  transition:transform .25s ease,box-shadow .25s ease,border .25s ease;
}

.knowledge-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(17,187,130,0.12) 0%,rgba(17,187,130,0) 70%);
  opacity:0;
  transition:opacity .3s ease;
  pointer-events:none;
}

.knowledge-card:hover::before{
  opacity:1;
}

.knowledge-card:hover{
  transform:translateY(-10px);
  box-shadow:0 32px 60px -28px rgba(17,187,130,0.48);
  border-color:rgba(17,187,130,0.35);
}

.knowledge-card a{
  transition:color .25s ease;
}

.knowledge-card a .material-symbols-outlined{
  transition:transform .25s ease;
}

.knowledge-card:hover a .material-symbols-outlined{
  transform:translateX(4px);
}

/* Heading accents */
.heading-hero{
  color:#0f766e;
}

.heading-hero em{
  color:var(--brand);
}

.heading-accent{
  color:var(--brand-700);
}

/* Package card theme variations */
.package-card{
  position:relative;
}

.package-card--emergency{
  background:linear-gradient(160deg,rgba(255,245,245,0.97) 0%,rgba(253,232,232,0.92) 100%);
  border-color:rgba(248,113,113,0.35);
  box-shadow:0 28px 55px -32px rgba(248,113,113,0.4);
}

.package-card--emergency::before{
  background:linear-gradient(135deg,rgba(248,113,113,0.18) 0%,rgba(248,113,113,0) 70%);
}

.package-card--emergency h3{
  color:#b91c1c;
}

.package-card--emergency .material-symbols-outlined{
  color:#ef4444;
}

.package-card--emergency[data-hover="true"]:hover{
  border-color:rgba(248,113,113,0.5);
  box-shadow:0 32px 60px -28px rgba(248,113,113,0.5);
}

.package-card--standard{
  background:linear-gradient(160deg,rgba(240,253,244,0.97) 0%,rgba(222,247,236,0.92) 100%);
  border-color:rgba(59,207,160,0.35);
}

.package-card--standard::before{
  background:linear-gradient(135deg,rgba(59,207,160,0.18) 0%,rgba(59,207,160,0) 70%);
}

.package-card--standard h3{
  color:#0f766e;
}

.package-card--standard .material-symbols-outlined{
  color:#0ea371;
}

.package-card--standard[data-hover="true"]:hover{
  border-color:rgba(59,207,160,0.5);
  box-shadow:0 32px 60px -28px rgba(59,207,160,0.45);
}

.package-card--economy{
  background:linear-gradient(160deg,rgba(240,249,255,0.97) 0%,rgba(223,238,255,0.92) 100%);
  border-color:rgba(96,165,250,0.35);
  box-shadow:0 28px 55px -32px rgba(96,165,250,0.4);
}

.package-card--economy::before{
  background:linear-gradient(135deg,rgba(96,165,250,0.18) 0%,rgba(96,165,250,0) 70%);
}

.package-card--economy h3{
  color:#1d4ed8;
}

.package-card--economy .material-symbols-outlined{
  color:#2563eb;
}

.package-card--economy[data-hover="true"]:hover{
  border-color:rgba(96,165,250,0.5);
  box-shadow:0 32px 60px -28px rgba(96,165,250,0.5);
}

/* Button theme variants */
.btn-emergency{
  background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%);
  color:#fff;
  border:1px solid rgba(248,113,113,0.45);
  box-shadow:0 14px 30px -16px rgba(248,113,113,0.6);
}

.btn-emergency:hover{
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 18px 36px -14px rgba(248,113,113,0.7);
}

.btn-economy{
  background:linear-gradient(135deg,#60a5fa 0%,#2563eb 100%);
  color:#fff;
  border:1px solid rgba(96,165,250,0.45);
  box-shadow:0 14px 30px -16px rgba(59,130,246,0.6);
}

.btn-economy:hover{
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 18px 36px -14px rgba(59,130,246,0.7);
}

/* Badge theme variants */
.badge-emergency{
  background:rgba(248,113,113,0.18);
  color:#b91c1c;
}

.badge-economy{
  background:rgba(96,165,250,0.18);
  color:#1d4ed8;
}

/* Footer links hover underline for clarity */
footer a:hover{text-decoration:underline}

/* Footer readability */
footer a{line-height:1.6}

/* Icon helpers */
.icon-24{font-size:24px;line-height:1;vertical-align:-3px}
.muted{color:var(--muted)}
