/* Public website visual refinement: deliberately excludes the admin dashboard. */
:root{--sans:Inter,"Segoe UI",Arial,sans-serif}
body{font-family:var(--sans);font-size:15.5px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
header{background:rgba(255,255,255,.96);border-bottom:1px solid #e9edf4;box-shadow:0 3px 20px rgba(16,33,67,.035)}
header .container.nav{min-height:66px!important;padding-block:6px!important;gap:18px;flex-wrap:nowrap}
header .official-brand{gap:9px!important;flex-shrink:0}
header .official-brand .logo-symbol{width:43px!important;height:43px!important;flex:0 0 43px!important;padding:2px!important}
header .brand-name{font-size:18px!important;letter-spacing:-.55px;line-height:1.12;font-weight:800}
header .brand-name small{font-size:6px!important;letter-spacing:.8px;margin-top:4px!important}
header #navigation{align-items:center;gap:clamp(10px,1.35vw,22px);font-size:12px;font-weight:650}
header #navigation>a,header #navigation .nav-dropdown>summary{font-size:12px;line-height:1.35;white-space:nowrap;padding:10px 2px;min-height:38px;display:flex;align-items:center;cursor:pointer}
header #navigation>a:hover,header #navigation .nav-dropdown>summary:hover{color:#db5d18;text-decoration:none}
header .nav-cta{min-height:39px;padding:9px 15px;font-size:12px;white-space:nowrap;border-radius:9px}
header .dropdown-panel{border:1px solid #e8edf5;border-radius:13px;box-shadow:0 18px 48px #0b1f4921;padding:7px;min-width:215px}
header .dropdown-panel a{border-radius:8px;font-size:12px;line-height:1.45;padding:10px 12px}
header .dropdown-panel a:hover{background:#fff1e8}
.button,.nav-cta,form .button,.journey-copy .button,.hero .button{border-radius:11px;font-family:var(--sans);font-weight:700;letter-spacing:.005em;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.button:not(.small){min-height:46px;padding:12px 21px}
.button:hover,.nav-cta:hover,form .button:hover{box-shadow:0 7px 19px #0d276b24;transform:translateY(-1px)}
.button:active,.nav-cta:active{transform:translateY(0);box-shadow:none}
button,input,textarea,select{font-family:var(--sans)}
input,textarea,select{border-radius:10px}
.section-heading h2,.about h2,.process h2,.fit-layout h2,.faq-layout h2{letter-spacing:-.035em;line-height:1.14}
p{line-height:1.7}
:where(.service,.cms-card,.program-card,.quick-grid>a){transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}
:where(.service,.cms-card,.program-card,.quick-grid>a):hover{box-shadow:0 14px 36px #0a225014}
@media(min-width:1121px){header .container.nav{max-width:1240px}header .nav-cta{display:inline-flex}}
@media(max-width:1120px){header .container.nav{min-height:65px!important;flex-wrap:wrap;gap:0 12px}header .menu{min-height:39px;padding:7px 12px;border-radius:10px;font-size:12px}header #navigation{display:none;flex-direction:column;align-items:stretch;gap:0;width:100%;max-height:calc(100dvh - 78px);overflow-y:auto;padding:8px 0 14px}header #navigation.open{display:flex}header #navigation>a,header #navigation .nav-dropdown>summary{min-height:44px;padding:12px 10px;font-size:14px}header .nav-dropdown{width:100%}header .dropdown-panel{position:static;box-shadow:none;min-width:0;margin-bottom:8px}header .nav-cta{display:none!important}}
@media(max-width:600px){header .container.nav{min-height:60px!important;padding-block:5px!important}header .official-brand .logo-symbol{width:40px!important;height:40px!important;flex-basis:40px!important}header .brand-name{font-size:16px!important}header .brand-name small{font-size:5.5px!important;letter-spacing:.5px}header .menu{min-width:72px}body{font-size:15px}.button:not(.small){min-height:45px;padding:11px 17px}}
@media(prefers-reduced-motion:reduce){.button,.nav-cta,:where(.service,.cms-card,.program-card,.quick-grid>a){transition:none!important;transform:none!important}}
