.gradient-brand{background:linear-gradient(135deg,#0F3822,#186238 60%,#22C55E)}.card-shadow{box-shadow:0 10px 30px -5px rgba(24,98,56,.08),0 4px 12px -2px rgba(0,0,0,.05)}.card-shadow:hover{box-shadow:0 20px 40px -5px rgba(24,98,56,.18),0 8px 20px -4px rgba(0,0,0,.1)}.glass-card{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.training-card>div:first-child>div:first-child{min-height:13rem}.training-card>div:first-child>div:first-child h3{margin-top:1.5rem}#top-bar a[href^="mailto:"],#top-bar a[href^="tel:"],#training-cards-container .training-card .text-right{flex-shrink:0;white-space:nowrap}#mobile-menu{position:absolute;top:100%;right:1rem;width:min(14rem,calc(100vw - 2rem));box-sizing:border-box;padding:.5rem;max-height:calc(100dvh - 7rem);overflow-y:auto;border:1px solid #e2e8f0;border-radius:0 0 1rem 1rem;box-shadow:0 20px 35px rgba(15,23,42,.18)}#mobile-menu>a{padding:.4rem .5rem;border-radius:.5rem;text-align:right;font-size:.875rem;line-height:1.25rem}#mobile-menu>a+a{margin-top:0}body,html{max-width:100%;overflow-x:clip}*{min-width:0}@media (min-width:1024px) and (max-width:1439px){header nav{gap:.5rem;white-space:nowrap}header nav a{font-size:clamp(.68rem,.9vw,.8rem)}header>div>a{flex-shrink:0}header>div>nav+div{flex-shrink:0;gap:.375rem}header>div>nav+div a.bg-brand-primary{min-width:4.75rem;justify-content:center;padding:.5rem .625rem;font-size:.75rem;line-height:1rem;gap:.375rem;white-space:nowrap}header>div>nav+div a.bg-brand-primary i{font-size:.875rem}}@media (min-width:1024px) and (max-width:1199px){header nav a{font-size:.65rem}header>div>nav+div a.bg-brand-primary i{display:none}}@media (min-width:768px) and (max-width:1023px){#top-bar>div{gap:.75rem}#top-bar>div>div:first-child{flex:1 1;min-width:0;gap:.75rem}#top-bar>div>div:first-child>span{flex:1 1 50%}#top-bar>div>div:last-child{flex:0 0 auto;gap:1rem}.topbar-location-line2{display:block}}@media (min-width:481px) and (max-width:767px){#training-cards-container{grid-template-columns:repeat(2,minmax(0,1fr))}#training-cards-container .training-card>div:first-child>div:first-child{min-height:15rem}#training-cards-container .training-card>div:first-child>div:first-child>div:first-child{flex-wrap:wrap;gap:.375rem}}@media (max-width:767px){#top-bar>div>div:first-child{flex-wrap:wrap;justify-content:center}#hero-quote-form input,#hero-quote-form select{font-size:16px}.training-card{width:100%}}@media (max-width:480px){h1{overflow-wrap:anywhere}.filter-btn{flex:1 1 46%}.mobile-login-shortcut span{display:none}header>div{gap:.5rem}header>div>a{flex:0 1 auto}header>div>a>div{gap:.25rem}header>div>a img{width:2rem;height:2rem;flex:0 0 2rem}header>div>a .font-display{font-size:1.15rem}header>div>a .tracking-wider{font-size:.45rem;letter-spacing:.025em;line-height:1.2}header>div>div.lg\:hidden{flex:0 0 auto;gap:.125rem}header>div>div.lg\:hidden a,header>div>div.lg\:hidden button{padding:.375rem}}.auth-shell,.portal-shell{min-height:100vh;background:#f6f8f6;color:#193326;font-family:Inter,Arial,sans-serif}.portal-top{height:76px;padding:0 clamp(1.25rem,6vw,6rem);display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid #e4ebe5}.auth-logo,.portal-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#17482d;font-weight:750}.auth-logo img,.portal-brand img{width:40px;height:40px;object-fit:contain}.portal-brand span{font-size:.95rem}.portal-logout{border:1px solid #dce7df;border-radius:10px;padding:.65rem 1rem;background:white;color:#28583b;font-weight:650;cursor:pointer}.portal-logout span{margin-left:.5rem}.portal-main{max-width:1080px;margin:auto;padding:4rem 1.5rem}.portal-welcome{padding:2.6rem;border-radius:22px;color:white;background:linear-gradient(115deg,#103a23,#1a7040);position:relative;overflow:hidden}.portal-welcome:after{content:"";position:absolute;width:250px;height:250px;border:1px solid #ffffff24;border-radius:50%;right:8%;top:-45%;box-shadow:0 0 0 35px #ffffff0b,0 0 0 70px #ffffff08}.portal-eyebrow{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:#b9f3c9;font-weight:700;margin:0 0 1rem}.portal-welcome h1{font-size:clamp(2rem,5vw,3.1rem);font-family:Outfit,Inter,sans-serif;margin:0 0 .5rem}.portal-welcome>p:last-of-type{color:#e1f2e5;margin:0}.portal-section-title{display:flex;justify-content:space-between;align-items:flex-end;margin:2.5rem 0 1.2rem}.portal-section-title>div>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#64816c;font-weight:700}.portal-section-title h2{font:700 1.55rem Outfit,Inter,sans-serif;margin:.35rem 0 0}.portal-role{border-radius:999px;background:#e6f4e9;color:#24613a;padding:.48rem .85rem;font-size:.8rem;font-weight:650}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.portal-card{background:white;border:1px solid #e6ece7;border-radius:15px;padding:1.35rem;box-shadow:0 8px 25px #163f2510}.portal-card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eaf5ec;color:#216239;font-size:1.2rem}.portal-card h3{font:650 1.05rem Outfit,Inter,sans-serif;margin:1rem 0 .35rem}.portal-card p{font-size:.87rem;color:#738078;margin:0 0 1rem}.portal-card button{border:0;background:none;padding:0;color:#196337;font-weight:700;cursor:pointer}.portal-card button span{margin-left:.45rem}.portal-profile{margin-top:2rem;background:white;border:1px solid #e7ede8;border-radius:14px;padding:1rem 1.2rem;display:flex;align-items:center;gap:.9rem}.portal-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e9f5eb;color:#1b6438;font-size:1.15rem;font-weight:700}.portal-profile>div{display:flex;flex-direction:column;gap:.2rem}.portal-profile>div span{font-size:.82rem;color:#79857d}.portal-status{margin-left:auto;color:#317447;font-size:.8rem;font-weight:650}.portal-notice{color:#24613a;font-size:.9rem}.auth-shell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;position:relative;background:radial-gradient(ellipse at 50% 0,#e6f4e9 0,transparent 55%),#f7f9f7}.auth-back{position:absolute;top:1.75rem;left:clamp(1.25rem,6vw,6rem);color:#42634d;text-decoration:none;font-size:.9rem}.auth-card{width:min(100%,440px);background:white;border:1px solid #e8eee9;border-radius:22px;padding:2.4rem;box-shadow:0 24px 70px #173c2414}.auth-logo{justify-content:center;font-size:1.15rem;margin-bottom:2rem}.auth-kicker{text-align:center;color:#267244;font-weight:750;font-size:.69rem;letter-spacing:.15em;margin:0 0 .55rem}.auth-card h1{text-align:center;font:700 2rem Outfit,Inter,sans-serif;margin:0;color:#163b26}.auth-subtitle{text-align:center;font-size:.9rem;line-height:1.6;color:#718078;margin:.55rem 0 1.8rem}.auth-form{gap:1rem}.auth-form,.auth-form label{display:flex;flex-direction:column}.auth-form label{gap:.45rem;font-size:.84rem;color:#364a3d;font-weight:650}.auth-form input{height:46px;border:1px solid #dbe5dd;border-radius:9px;padding:0 .85rem;font:400 .95rem Inter,Arial;color:#1a3525;outline:none;transition:.2s}.auth-form input:focus{border-color:#248049;box-shadow:0 0 0 3px #24804918}.auth-form small{font-size:.74rem;color:#77847b;font-weight:400}.auth-submit{height:48px;margin-top:.35rem;border:0;border-radius:9px;background:#17653a;color:white;font-size:.93rem;font-weight:700;cursor:pointer}.auth-submit:hover{background:#10492a}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-submit span{margin-left:.4rem}.auth-error,.auth-success{margin:0;padding:.7rem .8rem;border-radius:8px;font-size:.82rem}.auth-error{background:#fff0ef;color:#a3332d}.auth-success{background:#eaf7ed;color:#1e6739}.auth-switch{text-align:center;color:#718078;font-size:.86rem;margin:1.35rem 0}.auth-switch button{border:0;background:none;padding:0;color:#17653a;font-weight:700;cursor:pointer}.auth-security{border-top:1px solid #edf1ed;padding-top:1.2rem;margin:0;text-align:center;color:#849087;font-size:.78rem}.auth-security span{color:#31804c;margin-right:.3rem}.auth-footer{font-size:.75rem;color:#87928a;margin-top:1.7rem;text-align:center}@media(max-width:600px){.auth-card{padding:1.7rem 1.35rem}.portal-main{padding:2rem 1rem}.portal-welcome{padding:2rem 1.5rem}.portal-grid{grid-template-columns:1fr}.portal-section-title{align-items:center}.portal-profile{flex-wrap:wrap}.portal-status{width:100%;margin-left:3.25rem}.auth-shell{padding-top:3rem}.auth-back{top:.5rem}}