:root{
  --primary:#4A90A4;--secondary:#7FB069;--accent:#F4A261;--bg:#FEFEFE;--bg-light:#f3f4f0;
  --text:#2C3E50;--text-light:#5A6C7D;--border:#E8F4F8;--card:#ffffcc;--shadow:rgba(74,144,164,.08);
  --shadow-hover:rgba(74,144,164,.15);--focus:rgba(74,144,164,.35)
}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue','Noto Sans',sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* Header */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:12px 0}
.header-content{display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;gap:12px;align-items:center;font-weight:600;color:var(--primary)}
.brand .logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 4px 12px var(--shadow)}
.brand-text .name{font-size:16px;font-weight:700;color:var(--primary)}
.brand-text .tagline{font-size:13px;color:var(--text-light)}
nav ul{display:flex;gap:8px;list-style:none;margin:0;padding:0;align-items:center}
nav a{display:inline-block;padding:10px 14px;border-radius:8px;color:var(--text-light);font-weight:500;transition:all .2s}
nav a:hover,nav a:focus-visible{background:var(--bg-light);color:var(--primary)}
nav .btn{background:var(--primary);color:#fff;font-weight:700;cursor:pointer;border:0;padding:10px 16px;border-radius:8px}
nav .btn:hover{background:var(--secondary);transform:translateY(-1px)}

/* Notice */
.insurance-notification{position:fixed;top:var(--notice-top,88px);right:20px;background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 8px 32px rgba(74,144,164,.3);z-index:1001;max-width:320px;cursor:pointer;animation:slideInRight .45s ease,pulseGlow 2.2s ease-in-out 3 .5s,floatY 8s ease-in-out infinite 1.2s}
.insurance-notification[hidden]{display:none!important}
.insurance-notification .close-btn{position:absolute;top:8px;right:12px;background:none;border:none;color:#fff;font-size:18px;cursor:pointer;opacity:.9}
.insurance-notification .close-btn:hover{opacity:1}
.insurance-notification h4{margin:0 0 6px;font-size:14px;font-weight:700}
.insurance-notification p{margin:0;font-size:12px;opacity:.95;line-height:1.4}
@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}100%{transform:translateX(0);opacity:1}}
@keyframes pulseGlow{0%,100%{transform:scale(1);box-shadow:0 8px 32px rgba(74,144,164,.30)}50%{transform:scale(1.04);box-shadow:0 16px 44px rgba(74,144,164,.45)}}
@keyframes floatY{0%{transform:translateY(0)}100%{transform:translateY(6px)}}

/* Sections / typography */
.section{padding:80px 0}.section.light{background:var(--bg-light)}
.section-title{font-family:'Poppins',serif;font-size:clamp(24px,4vw,36px);font-weight:600;color:var(--text);margin:0 0 16px}
.section-subtitle{font-size:18px;color:var(--text-light);max-width:600px;margin:0 auto;line-height:1.6}

/* About grid */
.about-grid{display:grid;gap:50px;grid-template-columns:1fr 1fr;align-items:flex-start;margin-top:40px}
@media (max-width:768px){.about-grid{grid-template-columns:1fr}}
.about-image img{width:100%;border-radius:20px;box-shadow:0 8px 32px var(--shadow)}
.flyer{margin-top:24px;text-align:center}
.flyer img{max-width:360px;width:100%;border-radius:16px;box-shadow:0 8px 32px var(--shadow)}

/* Compact hero card */
.hero-side{max-width:420px;margin:24px auto 0;background:linear-gradient(135deg,var(--bg-light),#E8F4F8);padding:28px;border-radius:20px;box-shadow:0 6px 20px var(--shadow);text-align:center}
.hero-side .eyebrow{display:inline-block;padding:6px 12px;background:rgba(74,144,164,.11);border-radius:20px;font-size:12px;font-weight:700;color:var(--primary);margin-bottom:12px}
.hero-side h1{font-family:'Poppins',serif;font-weight:600;line-height:1.2;margin:0 0 10px;font-size:24px;color:var(--text)}
.hero-side .lead{font-size:16px;color:var(--text-light);margin-bottom:16px;line-height:1.6}
.features-list{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:12px 0 18px}
.feature-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-light)}
.feature-icon{width:18px;height:18px;background:var(--secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px}
.cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:10px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none;transition:all .2s;font-size:14px;cursor:pointer;border:none}
.btn.primary{background:var(--primary);color:#fff;box-shadow:0 4px 16px var(--shadow)}
.btn.primary:hover{background:var(--secondary);transform:scale(1.03);box-shadow:0 6px 20px var(--shadow-hover)}
.btn.secondary{border:2px solid var(--primary);color:var(--primary);background:#fff}
.btn.secondary:hover{background:var(--primary);color:#fff}

/* Cards / Services */
.cards-grid{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:0 2px 12px var(--shadow);transition:all .2s}
.card:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px var(--shadow-hover)}
.card-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;margin-bottom:16px}
.card h3{margin:0 0 10px;font-size:20px;font-weight:700;color:var(--text);font-family:'Poppins',sans-serif}
.card p{color:var(--text-light);margin:0;line-height:1.6}

/* Lists */
.credentials{margin:20px 0}
.credentials h4{color:var(--primary);font-size:16px;font-weight:700;margin:0 0 8px}
.credentials ul{margin:0;padding-left:0;list-style:none}
.credentials li{padding:4px 0;color:var(--text-light);font-size:14px}
.credentials li:before{content:"•";color:var(--primary);margin-right:8px}

.specialties{margin:30px 0}
.specialties h4{color:var(--primary);font-size:16px;font-weight:700;margin:0 0 12px;text-align:center}
.specialties-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.specialty-category{background:var(--bg-light);padding:16px;border-radius:12px;border:1px solid var(--border)}
.specialty-category h5{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--text)}
.specialty-tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{background:#fff;border:1px solid var(--border);padding:4px 8px;border-radius:6px;font-size:12px;color:var(--text-light)}

/* Ads */
.ads-header{text-align:center;margin-bottom:48px}
.ads-title{font-family:'Poppins',serif;font-size:clamp(22px,3.6vw,32px);font-weight:700;color:var(--text);margin:0 0 10px}
.ads-subtitle{font-size:16px;color:var(--text-light);max-width:680px;margin:0 auto;line-height:1.6}
.ads-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.ad-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 12px var(--shadow);padding:18px;transition:transform .15s ease,box-shadow .2s ease}
.ad-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px var(--shadow-hover)}
.ad-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:var(--text-light);font-size:12px;font-weight:700}
.ad-preview{position:relative;width:100%;border-radius:12px;background:linear-gradient(135deg,var(--bg-light),#ecf7fb);border:1px dashed var(--border);overflow:hidden}
.ar-1-1{padding-top:100%}.ar-9-16{padding-top:177.78%}.ar-16-9{padding-top:56.25%}
.ad-preview span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-light);font-weight:700}
.ad-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.ad-actions .btn{padding:10px 14px}

/* Footer */
footer{background:var(--text);color:#B8C5D1;padding:40px 0;text-align:center}
.footer-content{max-width:600px;margin:0 auto}

/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:1000;display:none;align-items:center;justify-content:center}
.modal-overlay.active{display:flex}
.modal{background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:520px;width:92%;max-height:90vh;overflow-y:auto;position:relative}
.modal-header{padding:30px 30px 0;text-align:center;position:relative}
.modal-close{position:absolute;top:15px;right:20px;background:none;border:none;font-size:24px;color:var(--text-light);cursor:pointer;padding:5px;border-radius:50%}
.modal-close:hover{background:var(--bg-light);color:var(--primary)}
.modal h2{font-family:'Poppins',serif;font-size:24px;color:var(--text);margin:0 0 10px}
.modal p{color:var(--text-light);margin:0 0 20px}
.modal-body{padding:0 30px 30px}
.form-group{margin-bottom:18px}
.form-group label{display:block;margin-bottom:6px;font-weight:700;color:var(--text)}
.form-group input{width:100%;padding:12px 14px;border:2px solid var(--border);border-radius:8px;font-size:15px;transition:border-color .2s,box-shadow .2s;font-family:inherit}
.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(74,144,164,.12)}
.form-group input:invalid{border-color:#e74c3c}
.submit-btn{width:100%;background:var(--primary);color:#fff;border:none;padding:14px;border-radius:10px;font-size:16px;font-weight:800;cursor:pointer;transition:transform .15s ease,background .2s ease;margin-top:6px}
.submit-btn:hover{background:var(--secondary);transform:translateY(-1px)}
.submit-btn:disabled{background:#cfd8dc;cursor:not-allowed;transform:none}
.success-message{text-align:center;padding:18px;color:var(--secondary);font-weight:800;display:none}

/* Mobile tweaks */
@media (max-width:768px){
  .header-content{flex-direction:column;gap:16px}
  nav ul{justify-content:center}
  .insurance-notification{right:10px;left:10px;max-width:none;top:110px}
}
/* Side-by-side portrait + hero card */
.media-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.media-left img{width:100%;height:auto;border-radius:20px;box-shadow:0 8px 32px var(--shadow)}
@media (max-width:992px){.media-split{grid-template-columns:1fr}}

/* Info cards next to Languages */
.info-cards{display:grid;grid-template-columns:1fr;gap:24px;margin-top:20px}
.info-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 2px 12px var(--shadow)}
.info-title{margin:0 0 10px;color:var(--primary);font-size:16px;font-weight:800}
.insurers-note{margin-top:10px;color:var(--text-light);font-size:13px}
/* --- Fix insurer logo distortion (override) --- */
.insurers-list {
  display: flex;
  flex-direction: column;  
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  align-items: right;
}

.insurer {
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--bg-light);
  border: 1px solid var(--border);
  min-height: 52px; /* nice touch target */
    display: grid;
  grid-template-columns: auto 1fr;  /* Two columns: one for image, one for text */
  align-items: center;  /* Vertically center the image and text */
  margin-bottom: 10px;
}
.insurer span {
  text-align: right;
  align-items: right;
}
/* key: control height only; let width flow to keep aspect ratio */
.insurer img {
  margin-right: 20px;
  height: 38px;          /* consistent visual height */
  width: auto;           /* prevents squish/stretch */
  max-width: 140px;      /* prevents super-wide logos */
  object-fit: contain;   /* safe for odd aspect ratios */
  object-position: right  center;
  display: block;
}
.insurers-list {
  * Stack insurer rows vertically */
}

.insurer {
  /* Space between insurers */
}

.image-column {
  padding-right: 10px;  /* Space between image and text */
}

.image-column img {
  max-height: 40px;  /* Optional: adjust image size */
}

.text-column span {
  font-size: 16px;  /* Adjust text size if needed */
}
/* optional: slightly smaller on compact screens */
@media (max-width: 420px) {
  .insurer img { height: 24px; max-width: 120px; }
}

/* 2x2 Areas of Expertise */
@media (min-width: 768px){
  .specialties-grid{grid-template-columns: repeat(2, 1fr) !important;}
}
/* Centered hero card below expertise */
.hero-below{max-width:720px}
/* Two-column layout for info-cards on desktop */
@media (min-width: 900px){
  .info-cards{grid-template-columns:1fr 1fr}
}

/* v6 portrait responsiveness + alignment */
.about-grid{grid-template-columns:1fr 1fr; align-items:start;}
.about-image{display:block}
.about-image img{width:100%; height:auto; display:block; object-fit:cover; border-radius:20px;}

/* 2x2 expertise on desktop (kept from v5) */
@media (min-width: 768px){
  .specialties-grid{grid-template-columns: repeat(2, 1fr) !important;}
}

/* Full-width hero card container under about grid */
.hero-below{max-width: 820px;}

/* Hero card directly under portrait (right column) */
.about-image .hero-side { max-width: 100%; }
.hero-inline { margin-top: 24px; }
.about-image .hero-inline { text-align: left; }
.about-image .hero-inline .cta-buttons { justify-content: flex-start; }

