@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=Nunito:wght@400;600;700;800&display=swap');

:root{--navy:#1B2B5E;--gold:#F5A623;--sky:#4A90D9;--cream:#FDF8F2;--white:#fff;--text-dark:#1A1A2E;--text-mid:#4A4A6A;--text-light:#8888AA;--section-alt:#EEF4FB;--yellow-soft:#FFF3CD;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Nunito',sans-serif;font-size:16px;line-height:1.6;color:var(--text-dark);background:var(--cream);}
img{max-width:100%;display:block;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--navy);box-shadow:0 2px 20px rgba(0,0,0,.3);}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-circle{width:46px;height:46px;border-radius:50%;border:2px solid var(--gold);background:var(--navy);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-weight:900;font-size:15px;color:var(--gold);flex-shrink:0;}
.logo-name{font-family:'Playfair Display',serif;font-weight:700;color:var(--white);font-size:18px;}
.logo-name span{color:var(--gold);}
.nav-links{display:flex;align-items:center;gap:2px;list-style:none;}
.nav-links a{color:var(--white);text-decoration:none;font-weight:700;font-size:13px;padding:6px 9px;border-radius:6px;transition:color .2s;white-space:nowrap;border-bottom:2px solid transparent;}
.nav-links a:hover{color:var(--gold);}
.nav-links a.active{color:var(--gold);border-bottom-color:var(--gold);}
.hamburger{display:none;background:none;border:none;color:var(--white);font-size:26px;cursor:pointer;padding:4px;}
.mobile-menu{display:none;position:absolute;top:68px;left:0;right:0;background:var(--navy);padding:16px 24px;flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,.1);}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:var(--white);text-decoration:none;font-weight:700;font-size:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);}
.mobile-menu a:hover{color:var(--gold);}

/* PAGE HERO (non-index pages) */
.page-hero{background:var(--navy);padding:120px 24px 60px;text-align:center;margin-top:68px;}
.page-hero h1{font-family:'Playfair Display',serif;font-weight:900;color:var(--white);font-size:48px;margin-bottom:12px;}
.page-hero .hero-label{font-weight:800;color:var(--gold);letter-spacing:3px;font-size:13px;text-transform:uppercase;margin-bottom:16px;}
.page-hero p{color:rgba(255,255,255,.75);font-size:17px;max-width:640px;margin:0 auto;}

/* SECTION HELPERS */
.section-heading{font-family:'Playfair Display',serif;font-weight:900;color:var(--navy);font-size:38px;text-align:center;margin-bottom:12px;}
.section-heading.white{color:var(--white);}
.section-heading.gold{color:var(--gold);}
.section-sub{font-size:16px;color:var(--text-mid);text-align:center;max-width:700px;margin:0 auto 48px;}
.section-sub.white{color:rgba(255,255,255,.8);}
.section-pad{padding:80px 24px;}
.section-pad-sm{padding:56px 24px;}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
.fade-section{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.fade-section.visible{opacity:1;transform:none;}

/* BUTTONS */
.btn-primary{display:inline-block;background:var(--navy);color:var(--white);border:2px solid var(--gold);text-decoration:none;font-weight:700;font-size:16px;padding:14px 36px;border-radius:50px;transition:background .2s,color .2s;cursor:pointer;}
.btn-primary:hover{background:var(--gold);color:var(--navy);}
.btn-gold{display:inline-block;background:var(--gold);color:var(--navy);text-decoration:none;font-weight:700;font-size:16px;padding:14px 36px;border-radius:50px;transition:background .2s,color .2s;border:none;cursor:pointer;}
.btn-gold:hover{background:var(--navy);color:var(--white);}
.btn-navy{display:inline-block;background:var(--navy);color:var(--white);text-decoration:none;font-weight:700;padding:14px 40px;border-radius:50px;font-size:16px;transition:background .2s,color .2s;border:none;cursor:pointer;}
.btn-navy:hover{background:var(--gold);color:var(--navy);}
.link-gold{color:var(--gold);font-weight:700;text-decoration:none;font-size:15px;}
.link-gold:hover{text-decoration:underline;}

/* CARDS */
.card{background:var(--white);border-radius:16px;padding:28px;box-shadow:0 4px 20px rgba(27,43,94,.08);transition:transform .25s,box-shadow .25s;}
.card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(27,43,94,.15);}

/* CTA BANNER */
.cta-banner{background:var(--gold);padding:64px 24px;text-align:center;}
.cta-banner h2{font-family:'Playfair Display',serif;font-weight:900;color:var(--navy);font-size:36px;margin-bottom:10px;}
.cta-banner p{font-weight:700;color:var(--navy);font-size:17px;margin-bottom:28px;}

/* MEDICAL */
.med-list{list-style:none;display:flex;flex-direction:column;gap:16px;max-width:800px;margin:0 auto;}
.med-list li{display:flex;gap:14px;align-items:flex-start;font-size:15px;color:var(--text-mid);}
.med-check{color:var(--gold);font-size:18px;margin-top:2px;flex-shrink:0;}

/* TEAM */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.team-card{background:var(--white);border-radius:16px;padding:24px;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,.07);transition:transform .25s,box-shadow .25s;}
.team-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(27,43,94,.15);}
.team-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;margin:0 auto 14px;border:3px solid var(--section-alt);}
.team-name{font-weight:700;color:var(--navy);font-size:15px;}
.team-role{font-size:13px;color:var(--text-light);}
.team-recruit{background:var(--gold);border-radius:16px;padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;}
.team-recruit p{font-family:'Playfair Display',serif;font-style:italic;font-weight:700;color:var(--navy);font-size:18px;}

/* FOOTER */
footer{background:var(--navy);}
.footer-main{padding:60px 24px 40px;}
.footer-cols{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:48px;}
.footer-logo-text{font-family:'Playfair Display',serif;font-weight:700;color:var(--white);font-size:20px;margin-bottom:8px;}
.footer-tagline{color:rgba(255,255,255,.6);font-size:14px;}
.footer-links-heading{font-weight:700;color:var(--gold);font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:8px;}
.footer-links a{color:rgba(255,255,255,.7);text-decoration:none;font-size:14px;transition:color .2s;}
.footer-links a:hover{color:var(--gold);}
.social-icons-row{display:flex;gap:12px;margin-top:16px;}
.soc-ico{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:16px;text-decoration:none;font-weight:700;transition:background .2s;}
.soc-ico:hover{background:var(--gold);color:var(--navy);}
.footer-bottom{background:#131f47;padding:24px;}
.footer-bottom-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:12px;}
.footer-bottom-logo{font-family:'Playfair Display',serif;font-weight:900;color:var(--gold);font-size:22px;}
.footer-social{display:flex;gap:16px;}
.footer-social a{color:rgba(255,255,255,.7);font-size:18px;text-decoration:none;font-weight:700;transition:color .2s;}
.footer-social a:hover{color:var(--gold);}
.footer-sub-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;}
.footer-sub-links a{color:rgba(255,255,255,.6);font-size:13px;text-decoration:none;transition:color .2s;}
.footer-sub-links a:hover{color:var(--gold);}
.footer-copy{color:rgba(255,255,255,.4);font-size:12px;text-align:center;}

/* RESPONSIVE */
@media(max-width:1024px){
  .team-grid{grid-template-columns:repeat(3,1fr);}
  .footer-cols{grid-template-columns:1fr 1fr;}
  .footer-cols>:last-child{grid-column:span 2;}
}
@media(max-width:768px){
  .nav-links{display:none;}
  .hamburger{display:block;}
  .section-heading{font-size:28px;}
  .page-hero h1{font-size:32px;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .footer-cols{grid-template-columns:1fr;}
  .footer-cols>:last-child{grid-column:span 1;}
}
@media(max-width:480px){
  .team-grid{grid-template-columns:1fr;}
  .section-pad{padding:48px 16px;}
}
