/* ===== Reset & Variables ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}
body{font-family:'Segoe UI','Montserrat',system-ui,sans-serif;font-size:1rem;line-height:1.6;color:#1A1A2E;background:#F4F9F9}
:root{
  --primary-green:#00A878;
  --secondary-blue:#0066CC;
  --accent-gold:#FFD700;
  --bg-dark:#0D1B2A;
  --bg-light:#F4F9F9;
  --text-dark:#1A1A2E;
  --text-light:#EAEAEA;
  --neutral-gray:#B0B0B0;
  --highlight-red:#E63946;
  --info-blue:#457B9D;
  --header-height:70px;
  --site-width:1280px;
  --transition:0.3s ease;
}
a{color:var(--info-blue);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--accent-gold);outline-offset:2px}
/* ===== Skip Link ===== */
.skip-link{position:absolute;top:-999px;left:0;z-index:10000;background:var(--accent-gold);color:#1A1A2E;padding:0.5rem 1rem;font-weight:700;text-decoration:none}
.skip-link:focus{top:0}
/* ===== Progress Bar ===== */
.progress-bar{position:fixed;top:0;left:0;z-index:9999;height:4px;background:var(--accent-gold);width:0%;transition:width 0.1s linear;pointer-events:none}
@media(prefers-reduced-motion:reduce){.progress-bar{transition:none}}
/* ===== Header ===== */
.site-header{
  position:absolute;top:0;left:0;right:0;z-index:1000;
  height:var(--header-height);
  background:transparent;
  transition:background var(--transition),box-shadow var(--transition);
}
.site-header[data-scrolled="true"]{
  position:fixed;
  background:var(--primary-green);
  box-shadow:0 2px 12px rgba(0,0,0,0.15);
}
.header-inner{
  max-width:var(--site-width);margin:0 auto;padding:0 1.5rem;
  display:flex;align-items:center;justify-content:space-between;height:100%;
}
.logo{display:flex;align-items:center;gap:0.5rem;color:#fff}
.logo-icon{font-size:1.8rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2))}
.logo-text{font-family:'Impact','Arial Black',sans-serif;font-size:1.8rem;font-weight:900;letter-spacing:-0.02em;text-transform:uppercase;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,0.3)}
.header-cta{margin-left:auto;margin-right:1rem;display:none}
@media(min-width:768px){.header-cta{display:inline-flex}}
/* ===== Nav Toggle ===== */
.nav-toggle{
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  width:44px;height:44px;background:transparent;border:none;cursor:pointer;
  gap:5px;padding:8px;border-radius:4px;z-index:1100;
}
.nav-toggle-line{display:block;width:28px;height:3px;background:#fff;border-radius:2px;transition:transform var(--transition),opacity var(--transition)}
[data-open="true"] .nav-toggle-line:nth-child(1){transform:translateY(8px) rotate(45deg)}
[data-open="true"] .nav-toggle-line:nth-child(2){opacity:0}
[data-open="true"] .nav-toggle-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
/* ===== Side Navigation ===== */
.site-nav{
  position:fixed;top:0;left:-320px;bottom:0;width:300px;max-width:80vw;
  background:var(--bg-dark);color:var(--text-light);
  z-index:1050;padding:calc(var(--header-height) + 2rem) 1.5rem 2rem;
  transition:left var(--transition);
  box-shadow:4px 0 20px rgba(0,0,0,0.4);
  overflow-y:auto;
}
.site-nav[data-open="true"]{left:0}
.nav-list{list-style:none;display:flex;flex-direction:column;gap:0.5rem}
.nav-list a{
  display:block;padding:0.75rem 1rem;font-size:1.2rem;font-weight:600;
  color:var(--text-light);text-decoration:none;
  border-left:4px solid transparent;
  transition:border-color var(--transition),color var(--transition);
}
.nav-list a:hover,.nav-list a:focus{color:var(--accent-gold);border-left-color:var(--accent-gold)}
.nav-list a[aria-current="page"]{
  border-left-color:var(--accent-gold);
  color:var(--accent-gold);
  font-weight:700;
}
/* ===== Footer ===== */
.page-footer{
  background:var(--bg-dark);color:var(--text-light);
  padding:2.5rem 1.5rem;
}
.footer-inner{
  max-width:var(--site-width);margin:0 auto;
  display:grid;grid-template-columns:1fr;gap:2rem;
}
@media(min-width:768px){
  .footer-inner{grid-template-columns:1fr 2fr 1fr}
}
.footer-brand .logo-text{color:var(--primary-green);font-family:'Impact','Arial Black',sans-serif;font-size:1.5rem;text-shadow:none}
.footer-nav{display:flex;flex-direction:column;gap:0.75rem}
.footer-nav a{color:var(--neutral-gray);text-decoration:none;font-size:0.95rem}
.footer-nav a:hover{color:var(--accent-gold)}
.footer-contact{font-size:0.9rem;line-height:1.7}
.contact-note{display:block;font-size:0.75rem;color:var(--neutral-gray);margin-top:0.5rem}
.footer-icp{grid-column:1 / -1;border-top:1px solid rgba(255,255,255,0.1);padding-top:1.5rem;margin-top:1rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.5rem;font-size:0.8rem;color:var(--neutral-gray)}
/* ===== Generic Components ===== */
.site-width{max-width:var(--site-width);margin:0 auto;padding:0 1.5rem}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0.6rem 1.4rem;border:none;cursor:pointer;
  font-family:'Segoe UI','Montserrat',sans-serif;
  font-size:0.95rem;font-weight:600;text-decoration:none;border-radius:4px;
  transition:background var(--transition),color var(--transition),transform 0.1s;
}
.btn:active{transform:scale(0.97)}
.btn-gold{background:var(--accent-gold);color:#1A1A2E}
.btn-gold:hover{background:#e6c200}
.btn-outline{background:transparent;border:2px solid var(--primary-green);color:var(--primary-green)}
.btn-outline:hover{background:var(--primary-green);color:#fff}
.btn-small{padding:0.4rem 1rem;font-size:0.85rem}
/* ===== Slash Dividers ===== */
.section-divider{
  position:relative;height:0;width:100%;
  pointer-events:none;margin:0;
}
.section-divider::before{
  content:'';display:block;height:4px;width:60%;
  background:linear-gradient(135deg,var(--primary-green),var(--secondary-blue));
  margin:0 auto;transform:skewX(-20deg);
}
/* ===== Card ===== */
.card{
  background:var(--bg-light);padding:1.5rem;border-radius:8px;
  box-shadow:0 4px 16px rgba(0,0,0,0.06);transition:box-shadow var(--transition);
}
.card:hover{box-shadow:0 8px 24px rgba(0,0,0,0.1)}
/* ===== Image Placeholder Container ===== */
.img-placeholder{
  position:relative;display:block;width:100%;height:0;padding-bottom:56.25%;
  background:var(--neutral-gray);overflow:hidden;
}
.img-placeholder img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
/* ===== Responsive ===== */
@media(max-width:767px){
  .site-header[data-scrolled="true"]{background:var(--primary-green)}
  .header-cta{display:none}
  .site-nav{width:280px}
}
@media(min-width:768px){
  .site-header{position:absolute}
  .header-cta{display:inline-flex}
  .site-nav{left:-320px}
}
/* ===== Reduced Motion ===== */
@media(prefers-reduced-motion:reduce){
  *{transition-duration:0.01ms!important;animation-duration:0.01ms!important}
  .site-nav{transition:none}
}
