/*
Theme Name: Tru-Medical Protection for America
Theme URI: https://example.org/
Author: OpenAI
Description: A premium custom WordPress theme for the Tru-Medical Protection for America policy website with refined policy copy, expanded FAQ, and improved visual hierarchy.
Version: 2.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: tru-medical
*/


:root{
  --navy:#1f3a5f;
  --blue:#2c5aa0;
  --red:#b22234;
  --white:#ffffff;
  --light:#f4f6f8;
  --text:#222222;
  --muted:#5c6773;
  --shadow:0 12px 32px rgba(10, 25, 47, 0.12);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:#fff;
  font-family:'Source Sans 3', Arial, sans-serif;
  line-height:1.6;
}
img{max-width:100%;height:auto}
a{color:var(--blue)}
.container{width:min(1120px, 92vw); margin:0 auto}
.narrow{width:min(780px, 92vw)}
.site-header{
  position:sticky; top:0; z-index:10;
  background:rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(31,58,95,.08);
}
.nav-wrap{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  min-height:80px;
}
.brand img{width:280px}
.site-nav{display:flex; gap:18px; flex-wrap:wrap}
.site-nav a{
  text-decoration:none; color:var(--navy); font-weight:700; font-family:'Montserrat', sans-serif; font-size:.95rem
}
.menu-toggle{
  display:none; border:1px solid rgba(31,58,95,.2); background:#fff; color:var(--navy);
  padding:.6rem .9rem; border-radius:10px; font-weight:700
}
.hero{
  position:relative;
  min-height:72vh;
  background:
    linear-gradient(rgba(18,35,58,.18), rgba(18,35,58,.30)),
    url('assets/images/banner-tru-medical-clean.png') center center/cover no-repeat;
  color:#fff;
  display:flex; align-items:center;
}
.hero-inner{position:relative; z-index:1; padding:96px 0 72px}
.hero-copy{max-width:760px}
.eyebrow{
  display:inline-block; margin:0 0 10px; padding:.35rem .75rem; border:1px solid rgba(255,255,255,.25);
  border-radius:999px; font-size:.95rem; background:rgba(255,255,255,.08)
}
.hero h1{
  font-family:'Montserrat', sans-serif;
  font-size:clamp(2.4rem, 6vw, 4.75rem);
  line-height:1.03; margin:.2rem 0 .7rem; letter-spacing:-.03em
}
.hero-subtitle{
  font-size:clamp(1.25rem, 2.6vw, 2rem); font-style:italic; margin:.4rem 0 1rem
}
.hero-text{font-size:1.18rem; max-width:640px}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:28px}
.button{
  display:inline-block; text-decoration:none; border-radius:12px; padding:14px 20px; font-weight:800;
  font-family:'Montserrat', sans-serif; box-shadow:var(--shadow)
}
.button-primary{background:var(--navy); color:#fff}
.button-secondary{background:#fff; color:var(--navy)}
.section{padding:88px 0}
.section-alt{background:var(--light)}
.section-label{
  display:inline-block; color:var(--red); font-weight:800; font-family:'Montserrat', sans-serif;
  text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; margin-bottom:12px
}
h2,h3,h4{font-family:'Montserrat', sans-serif; line-height:1.15; color:var(--navy); margin:0 0 14px}
h2{font-size:clamp(1.9rem, 3.4vw, 3rem)}
h3{font-size:1.35rem}
p{margin:0 0 14px}
.grid-2{
  display:grid; grid-template-columns:1.15fr .85fr; gap:30px; align-items:start
}
.card{
  background:#fff; border-radius:var(--radius); padding:28px; box-shadow:var(--shadow)
}
.accent-card{
  background:linear-gradient(135deg, var(--navy), #26476f); color:#fff
}
.accent-card h3, .accent-card li{color:#fff}
.check-list, .flow-list{padding-left:1.2rem; margin:0}
.check-list li, .flow-list li{margin-bottom:.7rem}
.pill-grid{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:16px
}
.pill-grid span{
  display:inline-block; padding:.6rem .9rem; border-radius:999px; background:rgba(31,58,95,.08); color:var(--navy); font-weight:700
}
.flow-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-top:24px
}
.flow-step{
  background:#fff; border-radius:20px; padding:22px; box-shadow:var(--shadow); min-height:160px;
  border-top:4px solid var(--red)
}
.flow-step strong{
  display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:50%;
  background:var(--navy); color:#fff; margin-bottom:14px; font-family:'Montserrat', sans-serif
}
.data-table{
  width:100%; border-collapse:collapse; margin-top:12px; font-size:1rem
}
.data-table th, .data-table td{
  text-align:left; padding:12px 14px; border-bottom:1px solid #d8dde5
}
.data-table th{color:var(--navy)}
.timeline{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; margin-top:26px
}
.timeline-item{
  background:#fff; border-radius:18px; padding:22px; box-shadow:var(--shadow); border-left:5px solid var(--blue)
}
.download-list{
  display:grid; gap:16px
}
.download-card{
  display:block; text-decoration:none; background:#fff; border-radius:18px; padding:22px; box-shadow:var(--shadow); color:inherit
}
.download-card:hover{transform:translateY(-2px)}
.faq-grid{display:grid; gap:14px; margin-top:20px}
.faq-item{
  background:#fff; border-radius:14px; box-shadow:var(--shadow); padding:18px 22px
}
.faq-item summary{
  cursor:pointer; font-weight:800; color:var(--navy); font-family:'Montserrat', sans-serif
}
.contact-form label{
  display:block; font-weight:700; color:var(--navy); margin-bottom:14px
}
.contact-form input, .contact-form textarea{
  width:100%; margin-top:6px; border:1px solid #cfd6e2; border-radius:10px; padding:12px 14px;
  font:inherit; background:#fff
}
.success-message{
  background:#ebfff1; border:1px solid #9ad9ad; color:#245a31; padding:12px 14px; border-radius:12px
}
.site-footer{
  background:var(--navy); color:#fff; padding:54px 0 24px
}
.site-footer h3,.site-footer h4{color:#fff}
.footer-grid{
  display:grid; grid-template-columns:1.25fr .75fr; gap:28px
}
.footer-links{list-style:none; padding:0; margin:0}
.footer-links li{margin:0 0 8px}
.footer-links a{color:#fff}
.footer-bottom{
  margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.15)
}
@media (max-width: 900px){
  .grid-2,.flow-grid,.timeline,.footer-grid{grid-template-columns:1fr}
  .menu-toggle{display:block}
  .site-nav{
    display:none; position:absolute; top:80px; right:4vw; left:4vw;
    background:#fff; border-radius:16px; padding:16px; box-shadow:var(--shadow)
  }
  .site-nav.is-open{display:flex; flex-direction:column}
  .brand img{width:220px}
  .hero{min-height:68vh}
}


/* Version 2 enhancements */
.hero-panel{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);padding:18px 20px;border-radius:18px;max-width:680px;margin-top:18px}
.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}.stat-card{background:#fff;border-radius:18px;padding:20px;box-shadow:var(--shadow)}.stat-card strong{display:block;font-family:'Montserrat',sans-serif;font-size:1.8rem;color:var(--navy)}.mini-note{font-size:.95rem;color:var(--muted)}.section-intro{max-width:760px;margin-bottom:20px}.comparison-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.comparison-card{background:#fff;border-radius:18px;padding:24px;box-shadow:var(--shadow)}.comparison-card ul{margin:0;padding-left:1.2rem}.comparison-card li{margin-bottom:.6rem}.cta-band{background:linear-gradient(135deg,var(--navy),#26476f);color:#fff}.cta-band h2,.cta-band p{color:#fff}.cta-band .button-primary{background:#fff;color:var(--navy)}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.resource-card{background:#fff;border-radius:18px;padding:22px;box-shadow:var(--shadow)}.resource-card h3{margin-bottom:8px}.quote-card{background:#fff;border-left:5px solid var(--red);border-radius:18px;padding:26px;box-shadow:var(--shadow)}.quote-card p:last-child{margin-bottom:0}.faq-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 24px}.tag{display:inline-block;padding:.5rem .8rem;border-radius:999px;background:rgba(31,58,95,.08);color:var(--navy);font-weight:700;font-size:.92rem}.footer-cta{margin-top:14px}.legal-note{font-size:.92rem;color:rgba(255,255,255,.82)}@media (max-width:900px){.stat-strip,.comparison-grid,.resource-grid{grid-template-columns:1fr}}

.hero h1{max-width:12ch;text-wrap:balance;text-shadow:0 8px 24px rgba(0,0,0,.28);}
.hero-subtitle,.hero-text,.eyebrow{max-width:40rem;text-shadow:0 3px 14px rgba(0,0,0,.22);}
.hero-panel{background:rgba(14,24,40,.42);border:1px solid rgba(255,255,255,.16);max-width:700px;}
.hero-actions .button{box-shadow:0 10px 22px rgba(0,0,0,.22);}
@media (max-width: 900px){.hero-inner{padding:84px 0 56px}.hero h1{font-size:clamp(2.3rem, 10vw, 3.9rem);max-width:10ch}.hero-text{font-size:1.05rem}.hero-panel{padding:16px 16px}}
