/* CTA refresh 2.3.1 — public site only; no pricing, access or CMS changes. */
body.site-public{
 --forest:#153f38;--green:#153f38;--ink:#20332e;
 --gold:#c8a46a;--ivory:#f7f6f2;--paper:#f7f6f2;
 --muted:#52655d;--subtle:#52655d;--line:#d9e1dc;
 --cta-hover:#0c302a;--cta-gold:#d6b57b;--cta-gold-hover:#e4c797;
 background:var(--paper);color:var(--ink);
}
.site-public .header{background:#fff;border-bottom-color:#e0e6e1}
.site-public .brand{color:var(--forest)}
.site-public .header nav>a:not(.button):hover{color:#205b4d;text-decoration:underline;text-decoration-thickness:2px}
.site-public .button{
 min-height:50px;padding:15px 24px;gap:12px;border:1px solid var(--forest);
 border-radius:9px;background:var(--forest);color:#fff;
 font-size:15px;font-weight:700;line-height:1.45;letter-spacing:0;
 text-align:center;white-space:normal;text-decoration:none;
 box-shadow:0 5px 14px #153f381a;
 transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.site-public .button:hover{background:var(--cta-hover);border-color:var(--cta-hover);color:#fff;box-shadow:0 7px 18px #153f3829;transform:translateY(-1px)}
.site-public .button:active{transform:translateY(0);box-shadow:none}
.site-public .button.secondary{
 background:#fff;color:var(--forest);border-color:#728d80;
 box-shadow:none;font-weight:600;
}
.site-public .button.secondary:hover{background:#eaf0ec;border-color:var(--forest);color:var(--forest)}
.site-public .button.small{min-height:44px;padding:11px 18px;font-size:14px}
.site-public .home-hero .button:not(.secondary),
.site-public .header nav>.button,
.site-public .cta .button.ivory{
 background:var(--cta-gold);border-color:var(--cta-gold);color:#15372f;
 box-shadow:0 5px 14px #84652e21;
}
.site-public .home-hero .button:not(.secondary):hover,
.site-public .header nav>.button:hover,
.site-public .cta .button.ivory:hover{
 background:var(--cta-gold-hover);border-color:var(--cta-gold-hover);color:#102f28;
 box-shadow:0 7px 18px #84652e30;
}
.site-public .hero-content h1 em{color:#386755}
.site-public .actions{gap:14px}
.site-public .actions>.text-link{
 display:inline-flex;align-items:center;justify-content:center;
 min-height:46px;padding:10px 14px;border:1px solid #b7c7bc;
 border-radius:9px;color:var(--forest);background:#fff;
 font-size:14px;font-weight:600;text-decoration:none;line-height:1.5;
}
.site-public .actions>.text-link:hover{background:#eaf0ec;border-color:var(--forest)}
.site-public .steps article>a{
 display:inline-flex;align-items:center;min-height:44px;
 padding:10px 14px;margin-top:8px;border:1px solid #b7c7bc;
 border-radius:8px;color:var(--forest);background:#fff;
 font-weight:700;text-decoration:none;line-height:1.5;
}
.site-public .steps article>a:hover{background:#eaf0ec;border-color:var(--forest)}
.site-public .cta,.site-public .program.dark{background:var(--forest)}
.site-public .cta p{color:#e1e9e3}
.site-public .cta .eyebrow{color:#e1c48e}
.site-public .cta .text-link,
.site-public .cta .button.secondary,
.site-public .dark .button.secondary{
 color:#fff;background:transparent;border-color:#abc0b4;
}
.site-public .cta .text-link:hover,
.site-public .cta .button.secondary:hover,
.site-public .dark .button.secondary:hover{color:#fff;background:#285349;border-color:#fff}
.site-public .button:focus-visible,
.site-public .steps article>a:focus-visible,
.site-public .actions>.text-link:focus-visible{
 outline:3px solid #fff;outline-offset:2px;
 box-shadow:0 0 0 6px #80602e;
}
.site-public .button:disabled,
.site-public .button[aria-disabled="true"]{
 background:#e2e7e3;border-color:#c5d0c9;color:#56645d;
 box-shadow:none;transform:none;cursor:not-allowed;
}
.site-public .contact-options a:not(.contact-zalo){background:var(--forest);border-color:#55766a}
.site-public .contact-options a:not(.contact-zalo):hover{background:var(--cta-hover)}
@media(max-width:760px){
 .site-public .button{min-height:48px;padding:13px 18px;font-size:14px}
 .site-public .home-hero .actions{align-items:stretch}
 .site-public .home-hero .actions>.button{flex:1 1 220px}
 .site-public .cta .actions>.button,
 .site-public .cta .actions>.text-link{width:min(100%,360px)}
}
@media(prefers-reduced-motion:reduce){.site-public .button{transition:none}.site-public .button:hover{transform:none}}
@media(forced-colors:active){.site-public .button,.site-public .actions>.text-link,.site-public .steps article>a{border:2px solid ButtonText;box-shadow:none}.site-public .button:focus-visible{outline:3px solid Highlight}}
