:root{
  --acsm-teal:#0f4c46;
  --acsm-teal-dark:#0a332f;
  --acsm-gold:#b8923f;
  --acsm-ivory:#faf8f3;
  --acsm-white:#ffffff;
  --acsm-charcoal:#20302c;
  --acsm-muted:#71827e;
  --acsm-border:#e8e4da;
  --acsm-radius:14px;
  --acsm-shadow:0 12px 28px rgba(15,76,70,.08);
  --acsm-font:"Outfit","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
body.acsm-page{ margin:0; font-family:var(--acsm-font); color:var(--acsm-charcoal); background:#fff; }
body.acsm-page img{ max-width:100%; display:block; }
body.acsm-page a{ color:inherit; }
body.acsm-page h1,body.acsm-page h2,body.acsm-page h3{ color:var(--acsm-teal); line-height:1.25; }

/* Nav */
.acsm-nav{ position:sticky; top:0; z-index:999; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--acsm-border); }
.acsm-nav__inner{ max-width:1200px; margin:0 auto; height:72px; display:flex; align-items:center; justify-content:space-between; padding:0 24px; }
.acsm-nav__brand img{ height:40px; width:auto; }
.acsm-nav__links{ display:flex; align-items:center; gap:20px; }
.acsm-nav__links a{ text-decoration:none; color:var(--acsm-charcoal); font-size:14px; font-weight:500; }
.acsm-nav__cta{ background:var(--acsm-teal); color:#fff !important; padding:9px 18px; border-radius:999px; font-weight:600 !important; }
.acsm-nav__call{ border:1.5px solid var(--acsm-teal); color:var(--acsm-teal) !important; padding:8px 16px; border-radius:999px; font-weight:600 !important; }
@media(max-width:760px){ .acsm-nav__links{ gap:10px; } .acsm-nav__links a{ font-size:12.5px; } .acsm-nav__cta,.acsm-nav__call{ padding:7px 12px; } }

/* Hero */
.acsm-hero{ background:linear-gradient(150deg,var(--acsm-teal) 0%,var(--acsm-teal-dark) 100%); color:#fff; padding:70px 24px; text-align:center; }
.acsm-hero h1{ color:#fff; font-size:36px; margin:14px 0 14px; }
.acsm-hero__intro{ max-width:640px; margin:0 auto 26px; color:rgba(255,255,255,.85); line-height:1.7; }
.acsm-breadcrumbs{ font-size:13px; color:rgba(255,255,255,.65); }
.acsm-breadcrumbs a{ color:rgba(255,255,255,.85); text-decoration:none; }

/* Buttons */
.acsm-cta-block{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:10px; }
.acsm-btn{ display:inline-block; padding:13px 28px; border-radius:999px; font-weight:600; text-decoration:none; font-size:14.5px; }
.acsm-btn--gold{ background:var(--acsm-gold); color:#2a2110; }
.acsm-btn--outline{ background:transparent; border:1.5px solid rgba(255,255,255,.6); color:#fff; }
.acsm-section .acsm-btn--outline{ border-color:var(--acsm-teal); color:var(--acsm-teal); }

/* Sections */
.acsm-section{ max-width:1080px; margin:0 auto; padding:60px 24px; }
.acsm-alt{ background:var(--acsm-ivory); max-width:100%; }
.acsm-alt > *{ max-width:1080px; margin-left:auto; margin-right:auto; }
.acsm-hero-img img{ border-radius:var(--acsm-radius); width:100%; box-shadow:var(--acsm-shadow); }
.acsm-content{ line-height:1.75; }
.acsm-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:20px; }
.acsm-card{ background:#fff; border:1px solid var(--acsm-border); border-radius:var(--acsm-radius); padding:20px; box-shadow:var(--acsm-shadow); }
.acsm-card h3{ font-size:16px; margin:0 0 6px; }
.acsm-card p{ margin:0; color:var(--acsm-muted); font-size:13.5px; }
@media(max-width:760px){ .acsm-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .acsm-grid{ grid-template-columns:1fr; } }

/* FAQ */
.acsm-faq{ display:flex; flex-direction:column; gap:10px; margin-top:20px; }
.acsm-faq__item{ background:#fff; border:1px solid var(--acsm-border); border-radius:10px; padding:14px 18px; }
.acsm-faq__item summary{ cursor:pointer; font-weight:600; color:var(--acsm-teal); }

/* Cities grid (shortcode) */
.acsm-city-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.acsm-city-card{ background:#fff; border:1px solid var(--acsm-border); border-radius:var(--acsm-radius); overflow:hidden; text-decoration:none; box-shadow:var(--acsm-shadow); display:block; }
.acsm-city-card img{ width:100%; height:120px; object-fit:cover; }
.acsm-city-card h3{ padding:14px; margin:0; font-size:15px; }
@media(max-width:760px){ .acsm-city-grid{ grid-template-columns:repeat(2,1fr); } }

/* Tags / links */
.acsm-city-tags,.acsm-tc-links{ display:flex; flex-wrap:wrap; gap:10px; }
.acsm-city-tag,.acsm-tc-link{ background:#fff; border:1px solid var(--acsm-teal); color:var(--acsm-teal); padding:8px 16px; border-radius:999px; text-decoration:none; font-size:13px; font-weight:600; }
.acsm-city-tag:hover,.acsm-tc-link:hover{ background:var(--acsm-teal); color:#fff; }

.acsm-cta-final{ text-align:center; }

/* Footer */
.acsm-footer{ background:var(--acsm-teal-dark); color:rgba(255,255,255,.7); text-align:center; padding:26px 24px; }
.acsm-footer p{ margin:0; font-size:12.5px; }
