:root{--navy-900:#0a1628;--navy-800:#111d32;--slate-500:#475569;--slate-400:#475569;--slate-300:#cbd5e1;--slate-200:#e2e8f0;--slate-100:#f1f5f9;--white:#fff;--teal-500:#087f73;--teal-400:#2dd4bf;--teal-600:#0a7c74;--teal-glow:rgba(20,184,166,.15);--green-500:#15803d;--amber-500:#f59e0b;--font-display:'Outfit',sans-serif;--font-body:'DM Sans',sans-serif;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-lg:0 12px 32px rgba(10,22,40,.12);--transition-base:250ms ease}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--navy-800);background:var(--white)}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--navy-900)}
h1{font-size:clamp(2rem,4vw,3rem)}
h2{font-size:clamp(1.5rem,3vw,2rem)}
h3{font-size:clamp(1.125rem,2.5vw,1.35rem)}
p{color:#475569}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}
.section{padding:var(--space-4xl) 0}
.section--dark{background:var(--navy-900)}
.section--light{background:var(--slate-100)}

.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:1rem;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base);text-decoration:none}
.btn--primary{background:#087f73;color:var(--white);box-shadow:0 4px 14px rgba(20,184,166,.35)}
.btn--primary:hover{background:#0a7c74;transform:translateY(-2px)}
.btn--large{padding:var(--space-lg) var(--space-2xl);font-size:1.1rem}

.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--slate-200)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.nav__logo-image{height:50px;width:auto}
.nav__logo{font-family:var(--font-display);font-weight:800;font-size:1.5rem;color:var(--navy-900);display:flex;align-items:center;gap:var(--space-xs)}
.nav__logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--teal-500),#0a7c74);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}
.nav__logo-icon svg{width:22px;height:22px;color:white}
.nav__links{display:none;list-style:none;gap:var(--space-xl)}
.nav__link{font-family:var(--font-display);font-weight:500;font-size:.95rem;color:#475569;transition:color 150ms ease}
.nav__link:hover{color:var(--navy-900)}
.nav__link--stacked{display:flex;flex-direction:column;align-items:center;line-height:1.2;text-align:center}
.nav__link--stacked span{font-size:0.75rem;font-weight:400;opacity:0.7}
.nav__cta{display:none}
.nav__mobile-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--space-xs)}
.nav__mobile-toggle span{width:24px;height:2px;background:var(--navy-800);border-radius:2px;transition:all var(--transition-base)}
.nav__mobile-toggle.active span:nth-child(1){transform:rotate(45deg) translateY(7px)}
.nav__mobile-toggle.active span:nth-child(2){opacity:0}
.nav__mobile-toggle.active span:nth-child(3){transform:rotate(-45deg) translateY(-7px)}
.nav__links--active{display:flex !important;flex-direction:column;position:absolute;top:72px;left:0;right:0;background:white;padding:var(--space-lg);box-shadow:var(--shadow-lg)}
@media(min-width:768px){.nav__links{display:flex}.nav__cta{display:inline-flex}.nav__mobile-toggle{display:none}}

/* Page Header */
.page-header{padding-top:calc(72px + var(--space-4xl));padding-bottom:var(--space-3xl);background:linear-gradient(135deg,var(--navy-900),var(--navy-800));text-align:center}
.page-header h1{color:var(--white);margin-bottom:var(--space-md)}
.page-header p{color:var(--slate-300);font-size:1.15rem;max-width:600px;margin:0 auto}

/* Story Section */
.story{background:var(--white)}
.story__grid{display:grid;gap:var(--space-3xl);align-items:center}
.story__content h2{margin-bottom:var(--space-lg)}
.story__text{color:#475569;line-height:1.8}
.story__text p{margin-bottom:var(--space-lg)}
.story__highlight{padding:var(--space-lg);background:linear-gradient(135deg,var(--teal-glow),transparent);border-left:4px solid var(--teal-500);border-radius:0 var(--radius-md) var(--radius-md) 0;margin:var(--space-xl) 0}
.story__highlight p{font-family:var(--font-display);font-weight:500;color:var(--navy-800);margin:0}
.story__photo{aspect-ratio:3/2;background:transparent;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;overflow:hidden}
.story__photo svg{width:64px;height:64px;color:#475569}
.story__photo span{font-size:.9rem;color:#475569;text-align:center;padding:0 var(--space-lg)}
@media(min-width:768px){.story__grid{grid-template-columns:1fr 1fr}}

/* Team Section */
.team{background:var(--slate-100)}
.team h2{text-align:center;margin-bottom:var(--space-3xl)}
.team__grid{display:grid;gap:var(--space-xl)}
.team-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-2xl);display:grid;gap:var(--space-xl);align-items:center}
.team-card__photo{width:200px;height:200px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;margin:0 auto}
.team-card__photo img{width:120%;height:120%;object-fit:contain;transform:scale(0.95) translateY(-8%)}
.team-card__photo svg{width:60px;height:60px;color:#475569}
.team-card__content h3{margin-bottom:var(--space-xs)}
.team-card__role{font-family:var(--font-display);font-weight:600;color:#0a7c74;font-size:.9rem;margin-bottom:var(--space-md)}
.team-card__bio{color:#475569;line-height:1.7;margin-bottom:var(--space-md)}
.team-card__certifications{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-md)}
.cert-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);background:rgba(20,184,166,0.1);color:#0a7c74;font-size:0.75rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid rgba(20,184,166,0.2)}
@media(min-width:768px){.team__grid{grid-template-columns:repeat(2,1fr)}.team-card{grid-template-columns:200px 1fr;text-align:left}.team-card__photo{margin:0}}

/* Values Section */
.values{background:var(--navy-900)}
.values h2{color:var(--white);text-align:center;margin-bottom:var(--space-md)}
.values__subtitle{color:#cbd5e1;text-align:center;max-width:600px;margin:0 auto var(--space-3xl)}
.values__grid{display:grid;gap:var(--space-lg)}
.value-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-base)}
.value-card:hover{background:rgba(255,255,255,.06);border-color:rgba(20,184,166,.3)}
.value-card__icon{width:56px;height:56px;background:linear-gradient(135deg,var(--teal-500),#0a7c74);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg);font-size:1.5rem}
.value-card h3{color:var(--white);margin-bottom:var(--space-sm)}
.value-card p{color: rgba(255,255,255,0.78);line-height:1.7}
@media(min-width:768px){.values__grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:992px){.values__grid{grid-template-columns:repeat(4,1fr)}}

/* Why Hamilton Section */
.why-hamilton{background:var(--white)}
.why-hamilton__grid{display:grid;gap:var(--space-3xl);align-items:center}
.why-hamilton__content h2{margin-bottom:var(--space-lg)}
.why-hamilton__text{color:#475569;line-height:1.8}
.why-hamilton__text p{margin-bottom:var(--space-lg)}
.why-hamilton__stat{background:var(--slate-100);border-radius:var(--radius-lg);padding:var(--space-2xl);text-align:center}
.why-hamilton__stat-number{font-family:var(--font-display);font-weight:800;font-size:4rem;color:#0a7c74;line-height:1}
.why-hamilton__stat-label{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--navy-900);margin-top:var(--space-sm);margin-bottom:var(--space-md)}
.why-hamilton__stat-context{color:#475569;font-size:.95rem}
.why-hamilton__stat-tag{display:inline-block;margin-top:var(--space-lg);padding:var(--space-xs) var(--space-md);background:rgba(245,158,11,.15);border-radius:var(--radius-xl);font-family:var(--font-display);font-weight:600;font-size:.8rem;color:var(--amber-500);text-transform:uppercase;letter-spacing:.05em}
@media(min-width:768px){.why-hamilton__grid{grid-template-columns:1.2fr 1fr}}

/* CTA Section */
.cta-section{background:linear-gradient(135deg,#0a7c74,var(--teal-500));text-align:center}
.cta-section h2{color:var(--white);margin-bottom:var(--space-md)}
.cta-section p{color:rgba(255,255,255,.9);margin-bottom:var(--space-xl);max-width:500px;margin-left:auto;margin-right:auto}
.cta-section .btn{background:var(--white);color:#0a7c74}
.cta-section .btn:hover{background:var(--slate-100)}


/* ========================================
   FOOTER STYLES - UNIFIED
   ======================================== */
.footer { background: var(--navy-900); padding: var(--space-4xl) 0 var(--space-xl); }
.footer .container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-lg); }
.footer__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-2xl); margin-bottom: var(--space-2xl); }
.footer__brand { max-width: 320px; }
.footer__logo { display: block; margin-bottom: var(--space-md); }
.footer__logo-image { height: 50px; width: auto; display: block; }
.footer__tagline { color: #cbd5e1; font-size: 0.95rem; line-height: 1.6; margin-bottom: var(--space-md); }
.footer__social { display: flex; gap: var(--space-sm); }
.footer__social-link { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: #cbd5e1; background: rgba(255, 255, 255, 0.05); border-radius: 6px; transition: all 0.25s ease; }
.footer__social-link:hover { color: #0ff4c6; background: rgba(20, 184, 166, 0.15); }
.footer__nav { }
.footer__nav h4 { font-family: var(--font-display), sans-serif; font-weight: 600; font-size: 0.9rem; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: var(--space-md); }
.footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.footer__link { padding: 0.35rem 0; margin: 0; }
.footer__link a { color: #e2e8f0; font-size: 0.95rem; transition: color 0.15s ease; text-decoration: none; }
.footer__link a:hover { color: #5eead4; }
.footer__contact-item { display: flex; align-items: center; gap: var(--space-sm); padding: 0.35rem 0; color: #e2e8f0; font-size: 0.95rem; }
.footer__contact-item svg { width: 18px; height: 18px; color: #5eead4; flex-shrink: 0; }
.footer__contact-item a { color: #e2e8f0; transition: color 0.15s ease; text-decoration: none; }
.footer__contact-item a:hover { color: #5eead4; }
.footer__map { margin-top: var(--space-md); }
.footer__map iframe { display: block; width: 100%; max-width: 200px; height: 120px; border-radius: 8px; border: 0; }
.footer__bottom { padding-top: var(--space-xl); margin-top: var(--space-xl); border-top: 1px solid rgba(255, 255, 255, 0.1); text-align: center; }
.footer__copyright { color: #cbd5e1; font-size: 0.85rem; margin: 0; }
.footer__copyright a { color: #5eead4; text-decoration: none; }
.footer__copyright a:hover { text-decoration: underline; }
@media (min-width: 768px) {
  .footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
}
/* End Footer Styles */


/* Nav Social Icons */
.nav__social { display: none; align-items: center; gap: var(--space-md); margin-right: var(--space-md); }
.nav__social-link { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; color: #475569; transition: all 0.2s ease; border-radius: 6px; border: 1px solid rgba(203,213,225,0.5); background: rgba(255,255,255,0.5); }
.nav__social-link:hover { color: #087f73; background: rgba(8,127,115,0.1); border-color: rgba(8,127,115,0.3); }
@media (min-width: 768px) { .nav__social { display: flex; } }

/* Mobile Menu Fixes */
.nav__links--active .nav__link--stacked { align-items: flex-start; text-align: left; }


/* Team Card Email */
.team-card__photo { position: relative; }
.team-card__email {
  display: block;
  margin-top: var(--space-sm);
  padding: 0.5rem 1rem;
  background: rgba(8, 127, 115, 0.1);
  border: 1px solid rgba(8, 127, 115, 0.2);
  border-radius: 6px;
  color: #087f73;
  font-size: 0.9rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  transition: all 0.2s ease;
}
.team-card__email:hover {
  background: rgba(8, 127, 115, 0.15);
  border-color: rgba(8, 127, 115, 0.4);
  color: #065f56;
}
