/* HALO training discovery: uses shared public layout and honors system color scheme. */
.training-directory{padding-top:clamp(5.5rem,8vw,7rem);padding-bottom:4rem;color:var(--text,#e9eaf0)}
.training-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.86rem;margin-bottom:1.5rem;color:var(--text-muted,#aaa);min-height:32px}
.training-breadcrumbs a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.training-directory-hero,.training-profile-hero{padding:clamp(1.5rem,4vw,3rem);background:linear-gradient(135deg,rgba(91,45,89,.3),rgba(24,45,69,.25)),var(--surface,#1b202b);border:1px solid var(--border-color,rgba(180,180,180,.22));border-radius:24px;box-shadow:0 14px 44px rgba(0,0,0,.09)}
.training-directory h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.15;margin:.7rem 0 1.1rem}
.training-directory h2{font-size:clamp(1.3rem,3vw,2rem);margin:0}
.training-directory h3{font-size:1.15rem;line-height:1.35;margin:.2rem 0}
.training-eyebrow{font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;font-weight:750;color:var(--text-muted,#bfb5c6)}
.training-directory-hero>p{font-size:1.04rem;max-width:740px;line-height:1.7}
.training-primary-cta,.training-secondary-cta{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:.75rem 1.2rem;border-radius:13px;text-decoration:none;font-weight:750;transition:transform .2s ease,background .2s ease}
.training-primary-cta{background:#864c71;color:#fff;margin-top:1rem}
.training-primary-cta:hover{background:#713e60;transform:translateY(-1px)}
.training-secondary-cta{border:1px solid currentColor;color:inherit}
.training-directory-categories,.training-directory-results,.training-profile-offers{margin-top:clamp(2rem,5vw,3.5rem)}
.training-chip-list{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.3rem 0}
.training-chip-list a{display:inline-flex;gap:.55rem;align-items:center;min-height:44px;padding:.65rem 1.1rem;color:inherit;text-decoration:none;border-radius:999px;border:1px solid var(--border-color,rgba(180,180,180,.3));background:var(--surface,#222630)}
.training-chip-list a[aria-current=page]{background:#864c71;color:white;border-color:#864c71}
.training-chip-list span{font-size:.8rem;opacity:.78}
.training-section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.35rem}
.training-company-grid,.training-offer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:1.2rem}
.training-company-card,.training-offer-card{background:var(--surface,#222630);border:1px solid var(--border-color,rgba(180,180,180,.26));border-radius:20px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;min-width:0}
.training-company-card__image,.training-profile-logo{display:flex;align-items:center;justify-content:center;border-radius:17px;background:linear-gradient(140deg,#624160,#32475c);font-size:3rem;font-weight:800;color:#fff}
.training-company-card__image{width:86px;height:86px}
.training-company-card__image img,.training-profile-logo img{max-width:100%;max-height:100%;object-fit:contain;border-radius:inherit}
.training-company-card__body{display:flex;flex-direction:column;flex:1;gap:.6rem}
.training-company-card__body>p{margin:0}
.training-company-card__body h3 a{color:inherit;text-decoration:none}
.training-company-card__body .training-secondary-cta{margin-top:auto}
.training-profile-hero{display:flex;align-items:start;gap:1.8rem}
.training-profile-logo{flex:0 0 130px;width:130px;height:130px}
.training-profile-hero>div:last-child{min-width:0}
.training-contact-links{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
.training-contact-links a{color:inherit;min-height:44px;padding:.7rem;border:1px solid var(--border-color,rgba(180,180,180,.26));border-radius:13px;text-decoration:none}
.training-offer-card>p{white-space:normal;overflow-wrap:anywhere}
.training-offer-card .training-primary-cta{margin-top:auto}
.training-offer-facts{display:grid;gap:.7rem}
.training-offer-facts div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.training-offer-facts dt{opacity:.72}
.training-offer-facts dd{margin:0;font-weight:700;text-align:right}
@media(max-width:650px){.training-profile-hero{flex-direction:column}.training-directory{padding-inline:1rem}.training-directory-hero,.training-profile-hero{border-radius:18px}.training-company-grid,.training-offer-grid{grid-template-columns:1fr}.training-primary-cta{width:100%}}
@media(prefers-reduced-motion:reduce){.training-primary-cta{transition:none}.training-primary-cta:hover{transform:none}}

/* Inquiry forms share the public HALO theme in both color modes. */
.training-inquiry-page{max-width:860px;margin-inline:auto}
.training-inquiry-card{padding:clamp(1.25rem,4vw,2.5rem);border-radius:22px;
  background:var(--surface,rgba(30,35,43,.92));color:var(--text,inherit);
  border:1px solid var(--border-color,rgba(160,160,160,.28))}
.training-inquiry-card h1{font-size:clamp(1.5rem,4vw,2.5rem)}
.training-inquiry-card .stack-form{display:grid;gap:1.2rem}
.training-inquiry-card fieldset{min-width:0;margin:0;padding:1.1rem;border:1px solid var(--border-color,rgba(160,160,160,.3));border-radius:14px}
.training-inquiry-card legend{font-weight:750;padding:0 .45rem}
.training-inquiry-card label{display:block;margin:.65rem 0;font-weight:600}
.training-inquiry-card input:not([type=checkbox]),.training-inquiry-card select,.training-inquiry-card textarea{
 width:100%;min-height:44px;box-sizing:border-box;margin-top:.35rem;padding:.75rem;
 background:var(--surface,var(--card-bg,#222630));color:var(--text,inherit);
 border:1px solid var(--border-color,rgba(150,150,150,.5));border-radius:10px}
.training-inquiry-card textarea{min-height:112px;resize:vertical}
.training-inquiry-question{margin-top:1rem!important}
.training-inquiry-options{display:grid;gap:.25rem}
.training-inquiry-options label{display:flex;gap:.6rem;align-items:center;min-height:44px}
.training-inquiry-card input[type=checkbox]{min-width:20px;min-height:20px;accent-color:#864c71}
.training-inquiry-card button[type=submit]{min-height:48px}
.training-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:650px){.training-inquiry-card{padding:1.1rem}.training-inquiry-card fieldset{padding:.85rem}}

/* Public training catalog — visual parity with HALO categories; the company/inquiry views are untouched. */
.training-directory--catalog{--tc-gold:#dcb16a;--tc-plum:#8e416e;--tc-line:rgba(203,153,91,.34);color:#f6eee9;padding:0 0 5rem}




.training-directory--catalog .training-breadcrumbs{margin:0 0 1.3rem;font-size:.81rem;min-height:22px;color:#ded0cf}
.training-directory--catalog .training-breadcrumbs a{color:#ecded9;text-underline-offset:3px}





.training-directory--catalog .training-primary-cta,.training-directory--catalog .training-secondary-cta{min-height:46px;border-radius:12px;padding:.7rem 1.05rem;gap:.6rem;font-size:.88rem;text-decoration:none}
.training-directory--catalog .training-primary-cta{margin:0;background:linear-gradient(110deg,#9b426e,#713064);border:1px solid rgba(221,132,181,.4);color:#fff}
.training-directory--catalog .training-primary-cta:hover{background:linear-gradient(110deg,#ad4c80,#863970)}
.training-directory--catalog .training-secondary-cta{border:1px solid var(--tc-line);background:rgba(24,16,18,.8);color:#ffe0ab}
.training-directory--catalog .training-secondary-cta:hover{border-color:#e2b56d;background:rgba(65,36,42,.72)}
.training-directory--catalog :is(.training-primary-cta,.training-secondary-cta,.training-chip-list a,.training-section-all-link):focus-visible{outline:2px solid #f3bc7e;outline-offset:3px}


.training-directory--catalog .training-directory-categories,.training-directory--catalog .training-directory-results{margin-top:clamp(1.7rem,3vw,2.9rem)}
.training-directory--catalog .training-section-heading{align-items:end;margin-bottom:1rem}
.training-section-kicker{display:inline-flex;align-items:center;gap:.65rem;margin-bottom:.45rem;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:#dcb16a}
.training-section-kicker::before{content:"";display:block;width:26px;height:1px;background:#b88751}
.training-directory--catalog h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.5rem,2.75vw,2.35rem);line-height:1.16;letter-spacing:-.025em;color:#fff8f2;margin:0}
.training-section-all-link{display:inline-flex;align-items:center;gap:.55rem;color:#deb777;font-weight:600;text-decoration:none;font-size:.9rem;min-height:44px}
.training-section-all-link:hover{text-decoration:underline;text-underline-offset:4px}
.training-directory--catalog .training-chip-list{display:flex;gap:.65rem;flex-wrap:wrap;margin:0}
.training-directory--catalog .training-chip-list a{display:inline-flex;gap:.7rem;align-items:center;justify-content:center;flex:0 0 auto;min-height:51px;padding:.65rem .95rem;color:#eee0d9;text-decoration:none;border:1px solid rgba(183,137,91,.34);border-radius:13px;background:linear-gradient(145deg,rgba(51,34,27,.95),rgba(28,20,21,.98));font-size:.88rem;font-weight:600;transition:background .18s,border-color .18s}
.training-directory--catalog .training-chip-list a:hover{border-color:#d5aa68;background:#38252b}
.training-directory--catalog .training-chip-list a[aria-current=page]{color:#fff;border-color:#ba608b;background:linear-gradient(120deg,#8c3a68,#692b5c)}
.training-chip-list__all-icon{width:22px;height:22px;flex:none}
.training-chip-list__icon{width:28px;height:28px;object-fit:contain;flex:none}
.training-chip-list__icon-fallback{font-size:1.5rem;color:var(--tc-gold)}
.training-section-count{color:#d5bdaf;font-size:.83rem;margin:0 0 .2rem}
.training-directory--catalog .training-company-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.training-directory--catalog .training-company-card{display:flex;flex-direction:column;gap:0;overflow:hidden;padding:0;background:linear-gradient(145deg,#271b1a,#160f10);border:1px solid rgba(198,145,81,.34);border-radius:15px;min-width:0}
.training-company-card__cover{height:142px;position:relative;overflow:hidden;background:radial-gradient(circle at 35% 40%,rgba(153,84,114,.55),transparent 48%),linear-gradient(130deg,#5f3638,#38212c 55%,#21171a);flex:0 0 auto}
.training-company-card__cover::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,9,12,.65),transparent 65%)}
.training-company-card__cover-art{position:absolute;inset:-20%;width:140%;height:140%;object-fit:cover;opacity:.32;filter:blur(22px) saturate(.8)}
.training-directory--catalog .training-company-card__logo{position:absolute;left:1rem;bottom:.5rem;z-index:1;display:flex;justify-content:center;align-items:center;width:63px;height:63px;border-radius:50%;background:#1b1214;color:#e6c28a;border:2px solid #b9854b;box-shadow:0 5px 14px rgba(0,0,0,.4);font-family:Georgia,serif;font-size:1.6rem;font-weight:700;overflow:hidden}
.training-company-card__logo img{width:100%;height:100%;object-fit:contain;background:#1b1214}
.training-directory--catalog .training-company-card__body{padding:1rem;min-height:186px;display:flex;flex-direction:column;gap:.55rem}
.training-directory--catalog .training-company-card__body h3{font-family:inherit;font-size:1.05rem;font-weight:750;margin:0;color:#fff6e9;overflow-wrap:anywhere}
.training-company-card__body h3 a:hover{color:#f5c688}
.training-directory--catalog .training-company-card__city{color:#cdae7d;font-size:.8rem}
.training-directory--catalog .training-company-card__description{line-height:1.5;font-size:.85rem;color:#d6c4bd;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.training-directory--catalog .training-company-card__action{min-height:44px;margin-top:auto;border-color:#9b7447;text-align:center;width:100%;padding:.55rem .75rem}

.training-directory-empty{text-align:center;padding:clamp(1.9rem,4vw,3.3rem);border-radius:18px;border:1px dashed rgba(198,153,100,.33);background:radial-gradient(ellipse at 50% 0,rgba(102,53,78,.24),transparent 65%),linear-gradient(140deg,#211819,#161213)}
.training-directory-empty__icon{display:block;font-size:1.7rem;color:#deb777;margin-bottom:.4rem}
.training-directory--catalog .training-directory-empty h3{font-family:Georgia,serif;font-size:clamp(1.25rem,2vw,1.8rem);margin:.3rem 0;color:#fff5ea}
.training-directory-empty p{max-width:590px;margin:.7rem auto 1.1rem;color:#d3c0b7;line-height:1.6}
.training-directory--catalog .training-directory-empty .training-secondary-cta{margin:0 auto}
@media(max-width:1100px){.training-directory--catalog .training-company-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.training-directory--catalog .training-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.training-directory--catalog{padding-inline:0;padding-top:0}.training-directory--catalog .training-breadcrumbs{margin-bottom:.9rem}.training-directory--catalog .training-primary-cta,.training-directory--catalog .training-secondary-cta{width:100%;text-align:center}.training-directory--catalog .training-chip-list{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#926045 transparent;padding-bottom:.35rem}.training-directory--catalog .training-chip-list a{scroll-snap-align:start;white-space:nowrap}.training-directory--catalog .training-company-grid{grid-template-columns:1fr}.training-directory--catalog .training-company-card__body{min-height:0}.training-directory--catalog .training-section-heading{align-items:start}.training-section-count{margin-top:.2rem}}
@media(prefers-reduced-motion:reduce){.training-directory--catalog .training-chip-list a{transition:none}}


/* Training taxonomy uses the same full-bleed category hero as public listings.
   Only plum palette and scroll target differ; geometry stays in halo-public.css. */
.public-body--halo-listing .training-directory--catalog{max-width:none;width:100%;padding:0 0 4.5rem}
.training-directory--catalog .training-directory__content{padding-top:1.3rem}
.public-body--halo-listing .halo-training-listing-hero{--halo-title-accent:#e2a0c5}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__media img{object-position:center 45%}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__media::after{background:linear-gradient(90deg,rgba(20,10,18,.97),rgba(24,10,18,.87) 31%,rgba(26,11,24,.59) 57%,rgba(17,9,14,.22) 78%),linear-gradient(180deg,rgba(12,7,11,.06),rgba(12,7,11,.3) 50%,rgba(12,7,11,.94))}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__kicker{color:#edb1ce}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__title-accent{color:#e2a0c5}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__active-view a{color:#edd0de}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__dock-item strong{white-space:normal;text-overflow:clip}
@media(max-width:760px){
 .public-body--halo-listing .training-directory--catalog{padding-inline:0}
 .training-directory--catalog .training-directory__content{padding-top:.7rem}
 .public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__media::after{background:linear-gradient(90deg,rgba(20,10,18,.92),rgba(20,10,18,.73)),linear-gradient(180deg,rgba(12,7,11,.15),rgba(12,7,11,.95))}
}


/* Compact category hero: keep HALO's shared taxonomy language without a full-screen billboard. */
.public-body--halo-listing .halo-training-listing-hero{
    min-height:510px;
    padding:116px 0 22px;
    background:#1d1119;
}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__shell{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:space-between;
    gap:20px;
    min-height:372px;
}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__copy{
    align-self:stretch;
    max-width:min(850px,75vw);
    padding-top:0;
}
.public-body--halo-listing .halo-training-listing-hero .training-breadcrumbs--hero{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.55rem;
    margin:0 0 23px;
    color:rgba(245,220,236,.77);
    font-size:.78rem;
    line-height:1.4;
}
.public-body--halo-listing .halo-training-listing-hero .training-breadcrumbs--hero a{color:#f1d7e5}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__kicker{margin-bottom:12px}
.public-body--halo-listing .halo-training-listing-hero h1{
    max-width:850px;
    font-size:clamp(2.65rem,4.15vw,4.4rem);
    line-height:1.045;
    letter-spacing:-.045em;
    text-wrap:balance;
}
.public-body--halo-listing .halo-training-listing-hero .halo-training-listing-hero__accent{
    display:inline;
    color:#e2a0c5;
}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__copy>p{
    margin-top:13px;
    max-width:620px;
    font-size:clamp(.93rem,1.08vw,1rem);
    line-height:1.55;
}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__navigation{
    flex:none;
    margin-top:10px;
}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__dock{
    min-height:72px;
    border-radius:17px;
}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__dock-item{
    padding:12px clamp(14px,1.6vw,24px);
    gap:5px;
}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__dock-action{
    min-height:44px;
    margin:10px;
    padding:0 18px;
}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__media img{
    object-position:center 39%;
    opacity:.68;
    filter:brightness(.78) contrast(1.04) saturate(.79);
}
.public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__media::after{
    background:linear-gradient(90deg,rgba(23,12,20,.99) 0%,rgba(23,12,20,.95) 32%,rgba(23,12,20,.68) 57%,rgba(23,12,20,.28) 80%),
        linear-gradient(180deg,rgba(11,8,10,.15),rgba(11,8,10,.52));
}
.public-body--halo-listing .training-directory__content{padding-top:10px}
.public-body--halo-listing .training-directory-categories{margin-top:1.6rem}
@media(max-width:1020px){
 .public-body--halo-listing .halo-training-listing-hero{min-height:0;padding:113px 0 20px}
 .public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__shell{min-height:0;gap:28px}
 .public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__copy{max-width:min(100%,760px)}
}
@media(max-width:760px){
 .public-body--halo-listing .halo-training-listing-hero{padding:106px 0 18px}
 .public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__shell{gap:24px}
 .public-body--halo-listing .halo-training-listing-hero .training-breadcrumbs--hero{margin-bottom:20px}
 .public-body--halo-listing .halo-training-listing-hero h1{font-size:clamp(2.15rem,8vw,3.2rem);line-height:1.08}
 .public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__copy>p{font-size:.92rem;line-height:1.58}
 .public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__dock{min-height:0}
 .public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__dock-item{padding:12px 13px}
 .public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__dock-action{min-height:44px;margin:9px}
 .public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__media img{object-position:60% center;opacity:.48}
 .public-body--halo-listing .halo-training-listing-hero .halo-listing-hero-v3__media::after{background:linear-gradient(90deg,rgba(23,12,20,.96),rgba(23,12,20,.77)),linear-gradient(180deg,rgba(11,8,10,.15),rgba(11,8,10,.85))}
}
