.training-detail-page {
    --training-line: #dce4e9;
    --training-soft: #f6f8f9;
    --training-ink: #102638;
    --training-muted: #617281;
    width: 100%;
    max-width: 100vw;
    overflow-x: clip;
    background: #fff;
}
.training-detail-page * { min-width: 0; box-sizing: border-box; }
.training-detail-page .public-shell { width: min(var(--civic-shell), calc(100% - 2rem)) !important; }
.training-detail-page h1,.training-detail-page h2,.training-detail-page p { overflow-wrap: anywhere; }

.training-detail-hero { padding-block: 1.4rem 3rem; border-bottom: 1px solid var(--training-line); background: #fff; }
.training-detail-back { display: inline-flex; min-height: 40px; align-items: center; gap: .4rem; color: var(--training-muted); font-size: .75rem; font-weight: 750; text-decoration: none; }
.training-detail-back .material-symbols-outlined { font-size: 1rem; }
.training-detail-hero__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.68fr); align-items: center; gap: clamp(2rem,5vw,4.5rem); margin-top: 1.2rem; }
.training-detail-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.training-detail-category { color: var(--civic-blue); font-size: .65rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.training-detail-status { display: inline-flex; min-height: 27px; align-items: center; padding: .28rem .6rem; border: 1px solid var(--training-line); border-radius: 999px; background: var(--training-soft); color: var(--training-ink); font-size: .62rem; font-weight: 800; }
.training-detail-hero h1 { max-width: 820px; margin: .8rem 0 0; color: var(--training-ink); font-family: "Plus Jakarta Sans",sans-serif; font-size: clamp(2rem,4.2vw,3.8rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.06; }
.training-detail-intro { max-width: 680px; margin: .9rem 0 0; color: var(--training-muted); font-size: .92rem; line-height: 1.7; }
.training-detail-hero__media { position: relative; min-height: 300px; overflow: hidden; border-radius: 7px; background: #e8f0f4; }
.training-detail-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.training-detail-hero__media>.material-symbols-outlined { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(0,103,167,.24); font-size: 5rem; }
.training-detail-hero__mark { display: none; }

.training-detail-content { padding-block: 3rem 5rem; }
.training-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 270px; align-items: start; gap: 2.25rem; }
.training-detail-section-label { color: var(--civic-blue); font-size: .64rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.training-detail-article>h2 { margin: .55rem 0 0; color: var(--training-ink); font-family: "Plus Jakarta Sans",sans-serif; font-size: clamp(1.45rem,2.8vw,2.05rem); font-weight: 800; letter-spacing: -.035em; }
.training-detail-description { margin: .9rem 0 0; color: var(--training-muted); font-size: .9rem; line-height: 1.75; }
.training-detail-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 1.65rem; overflow: hidden; border: 1px solid var(--training-line); border-radius: 7px; background: var(--training-line); }
.training-detail-fact { min-height: 84px; padding: .9rem; background: #fff; }
.training-detail-fact span { display: block; color: var(--training-muted); font-size: .62rem; font-weight: 750; }
.training-detail-fact strong { display: block; margin-top: .35rem; color: var(--training-ink); font-size: .82rem; line-height: 1.45; }

.training-detail-aside { position: sticky; top: 118px; padding: 1.15rem; border: 1px solid var(--training-line); border-radius: 7px; background: var(--training-soft); }
.training-detail-aside__icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 8px; background: #e1f1fa; color: var(--civic-blue); }
.training-detail-aside__icon .material-symbols-outlined { font-size: 1.25rem; }
.training-detail-aside h2 { margin: .8rem 0 0; color: var(--training-ink); font-family: "Plus Jakarta Sans",sans-serif; font-size: 1rem; font-weight: 800; }
.training-detail-aside p { margin: .45rem 0 0; color: var(--training-muted); font-size: .75rem; line-height: 1.6; }
.training-detail-aside>a { width: 100%; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; margin-top: 1rem; border-radius: 5px; background: var(--civic-blue); color: #fff; font-size: .75rem; font-weight: 800; text-decoration: none; }
.training-detail-aside>a .material-symbols-outlined { font-size: 1rem; }
.training-detail-capacity { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .85rem; padding-top: .85rem; border-top: 1px solid var(--training-line); font-size: .7rem; }
.training-detail-capacity span { color: var(--training-muted); }
.training-detail-capacity strong { color: var(--training-ink); }

.training-registration { margin-top: 2.6rem !important; padding-top: 2rem !important; border-top: 1px solid var(--training-line) !important; }
.training-registration>h2 { margin: 0 !important; color: var(--training-ink); font-size: 1.35rem !important; }
.training-registration>p { margin: .45rem 0 0 !important; color: var(--training-muted); }
.training-registration-form { gap: 14px; margin-top: 1.15rem; padding: 0; }
.training-registration-form fieldset { margin: 0; padding: 16px; border: 1px solid var(--training-line); border-radius: 8px; background: #fff; }
.training-registration-form legend { display: flex; align-items: center; gap: 9px; margin: 0 0 13px; padding: 0 7px 0 0; color: var(--training-ink); font-size: .78rem; font-weight: 800; }
.training-registration-form legend>span { width: 25px; height: 25px; display: grid; flex: 0 0 25px; place-items: center; border-radius: 50%; background: #0b2b43; color: #fff; font-size: .65rem; }
.training-registration-form legend div { line-height: 1.25; }
.training-registration-form legend small { display: block; margin-top: 2px; color: var(--training-muted); font-size: .62rem; font-weight: 500; }
.training-registration-form .unified-form-grid { gap: 12px; }
.training-registration-form .unified-field>label { margin-bottom: 5px; font-size: .69rem; }
.training-registration-form .unified-field>label b,.training-registration-submit b { color: #a43b34; }
.training-registration-form input:not([type=radio]):not([type=checkbox]):not([type=file]),.training-registration-form select { min-height: 42px; padding: 9px 10px; border-radius: 6px; font-size: .78rem; }
.training-registration-form .unified-upload__surface { min-height: 132px; border-radius: 7px; }
.training-registration-form .unified-upload__choice { border-radius: 5px; }
.training-signature__canvas { position: relative; overflow: hidden; border: 1px solid #cbd6e1; border-radius: 7px; background: #fff; }
.training-signature canvas { width: 100%; height: 128px; display: block; touch-action: none; cursor: crosshair; }
.training-signature__canvas button { position: absolute; right: 8px; bottom: 8px; min-height: 32px; display: inline-flex; align-items: center; gap: 4px; padding: 5px 8px; border: 1px solid var(--training-line); border-radius: 5px; background: #fff; color: var(--training-ink); font-size: .66rem; font-weight: 750; }
.training-signature__canvas button .material-symbols-outlined { font-size: .9rem; }
.training-signature>label:not(:first-child) { margin-top: 10px; }
.training-registration-submit { display: grid; gap: 10px; padding: 14px 16px; border: 1px solid var(--training-line); border-radius: 8px; background: var(--training-soft); }
.training-registration-submit .unified-check { font-size: .72rem; line-height: 1.55; }
.training-registration-submit>p { margin: 0; color: var(--training-muted); font-size: .65rem; line-height: 1.5; }
.training-registration-submit .unified-submit { width: 100%; min-height: 44px; border-radius: 5px; font-size: .76rem; }

@media(max-width:920px){
    .training-detail-hero__grid,.training-detail-layout { grid-template-columns: 1fr; }
    .training-detail-hero__media { min-height: 340px; }
    .training-detail-aside { position: static; order: -1; display: grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap: 10px; }
    .training-detail-aside h2,.training-detail-aside p { grid-column:2; margin:0; }
    .training-detail-aside__icon { grid-row:1/3; }
    .training-detail-aside>a { grid-column:3; grid-row:1/3; width:auto; margin:0; padding-inline:14px; }
    .training-detail-capacity { grid-column:1/-1; }
}
@media(max-width:640px){
    .training-detail-page .public-shell { width: min(100% - 1.25rem,var(--civic-shell)) !important; }
    .training-detail-hero { padding-block: 1rem 2.25rem; }
    .training-detail-hero h1 { font-size: 1.9rem; }
    .training-detail-hero__grid { gap: 1.5rem; }
    .training-detail-hero__media { min-height: 220px; }
    .training-detail-content { padding-block: 2.25rem 4rem; }
    .training-detail-layout { gap: 1.5rem; }
    .training-detail-facts { grid-template-columns: 1fr 1fr; }
    .training-detail-fact { min-height: 76px; padding: .8rem; }
    .training-detail-aside { grid-template-columns:auto 1fr; }
    .training-detail-aside>a { grid-column:1/-1; grid-row:auto; width:100%; }
    .training-registration-form fieldset { padding: 13px 11px; }
    .training-registration-form .unified-form-grid { grid-template-columns:1fr; }
    .training-registration-form .unified-field--wide { grid-column:auto; }
    .training-registration-form input:not([type=radio]):not([type=checkbox]):not([type=file]),.training-registration-form select { font-size:16px; }
}
@media(max-width:400px){.training-detail-facts{grid-template-columns:1fr}}
.training-payment-note{margin-top:1rem;padding:1rem;border:1px solid #d8e0e5;border-left:3px solid #086b9f;background:#f7f9fa}.training-payment-note strong{font-size:.78rem}.training-payment-note p{margin-top:.35rem;color:#5f6f79;font-size:.78rem;line-height:1.65;white-space:normal}

/* Final detail and registration flow. */
.training-detail-hero{min-height:215px;padding:1rem 0 2.35rem;border:0;background:radial-gradient(circle at 88% 18%,rgba(43,145,187,.24),transparent 25rem),#0a2538;color:#fff}
.training-detail-back{color:#bed0da}.training-detail-back:hover{color:#fff}.training-detail-hero__grid{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:clamp(2rem,5vw,5rem);margin-top:.65rem}.training-detail-category{color:#9ccfe4}.training-detail-status{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.09);color:#fff}.training-detail-hero h1{margin-top:.6rem;color:#fff;font-size:clamp(2.25rem,4.2vw,3.65rem)}.training-detail-intro{margin-top:.7rem;color:#c5d3dc;font-size:.84rem;line-height:1.65}.training-detail-hero__media{min-height:230px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:#0d2c42;box-shadow:0 18px 38px rgba(0,0,0,.16)}
.training-detail-content{padding:clamp(2rem,4vw,3.2rem) 0 clamp(4rem,7vw,6rem);background:#f2f6f7}.training-detail-layout{grid-template-columns:minmax(0,1fr) 290px;gap:clamp(1.25rem,3vw,2.5rem)}.training-detail-article{padding:clamp(1.15rem,2.5vw,1.65rem);border:1px solid #d8e2e7;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,43,59,.045)}.training-detail-article>h2{font-size:clamp(1.35rem,2.4vw,1.8rem)}.training-detail-description{font-size:.82rem;line-height:1.7}.training-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:1.25rem;overflow:visible;border:0;border-radius:0;background:transparent}.training-detail-fact{min-height:74px;padding:.8rem .9rem;border:1px solid #d8e2e7;border-radius:11px;background:#f8fafb}.training-detail-fact span{font-size:.59rem;letter-spacing:.055em;text-transform:uppercase}.training-detail-fact strong{font-size:.76rem}
.training-detail-aside{top:96px;padding:1.15rem;border-color:#d8e2e7;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,43,59,.045)}.training-detail-aside__copy h2{margin:.8rem 0 0;color:#102638;font-family:"Plus Jakarta Sans",sans-serif;font-size:1rem;font-weight:800}.training-detail-aside__copy p{margin:.45rem 0 0;color:#617281;font-size:.72rem;line-height:1.6}.training-detail-aside>a{border-radius:9px;background:#09273a}.training-detail-aside>a:hover{background:#075b82}
.training-registration-shell{margin-top:clamp(1.5rem,3vw,2.5rem)}.training-registration{max-width:980px;margin:0 auto!important;padding:clamp(1rem,2.5vw,1.5rem)!important;border:1px solid #d8e2e7!important;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(15,43,59,.055)}.training-registration__head{margin-bottom:1rem}.training-registration__head h2{margin:.28rem 0 0;color:#102638;font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:800;letter-spacing:-.03em}.training-registration__head p{margin:.38rem 0 0;color:#617281;font-size:.75rem}.training-registration__head b{color:#a43b34}.training-registration-form{margin-top:0}.training-registration-form fieldset{padding:1rem;border-radius:12px;background:#fbfcfc}.training-registration-form legend>span{background:#09273a}.training-registration-form input:not([type=radio]):not([type=checkbox]):not([type=file]),.training-registration-form select{border-radius:9px}.training-registration-form .unified-upload__surface,.training-registration-submit,.training-signature__canvas{border-radius:11px}.training-registration-submit{background:#f4f7f8}.training-registration-submit .unified-submit{border-radius:9px;background:#09273a}.training-registration-submit .unified-submit:hover{background:#075b82}
.training-registration-success{max-width:820px;margin:0 auto;padding:clamp(1.4rem,4vw,2.25rem);border:1px solid #bedfce;border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(15,43,59,.065);text-align:center}.training-registration-success__icon{width:54px;height:54px;display:grid;place-items:center;margin:0 auto .9rem;border-radius:50%;background:#e1f5e9;color:#147346;font-size:1.8rem}.training-registration-success h2{margin:.35rem 0 0;color:#102638;font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(1.45rem,3vw,2rem);font-weight:800}.training-registration-success>p{max-width:620px;margin:.55rem auto 0;color:#617281;font-size:.8rem;line-height:1.65}.training-registration-code{max-width:520px;display:grid;gap:.35rem;margin:1.2rem auto 0;padding:1rem;border:1px dashed #9db8a9;border-radius:12px;background:#f3faf6}.training-registration-code>span{color:#617281;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.training-registration-code strong{color:#102638;font:800 clamp(1rem,3vw,1.35rem)/1.2 "Plus Jakarta Sans",sans-serif;letter-spacing:.04em;overflow-wrap:anywhere}.training-registration-code button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;margin:.25rem auto 0;padding:0 .8rem;border:1px solid #c8d8cf;border-radius:8px;background:#fff;color:#285541;font-size:.68rem;font-weight:800;cursor:pointer}.training-registration-code button .material-symbols-outlined{font-size:.9rem}.training-registration-next{display:grid;gap:.65rem;margin:1.2rem 0 0;padding:0;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;text-align:left}.training-registration-next li{display:flex;gap:.6rem;padding:.8rem;border:1px solid #d8e2e7;border-radius:11px;background:#f8fafb}.training-registration-next li>span{width:25px;height:25px;display:grid;flex:0 0 25px;place-items:center;border-radius:50%;background:#e5f1f5;color:#075b82;font-size:.63rem;font-weight:850}.training-registration-next p{margin:0}.training-registration-next strong,.training-registration-next small{display:block}.training-registration-next strong{color:#102638;font-size:.7rem}.training-registration-next small{margin-top:.2rem;color:#617281;font-size:.62rem;line-height:1.45}.training-registration-success__actions{display:flex;justify-content:center;gap:.55rem;margin-top:1.2rem}.training-registration-success__actions a,.training-registration-closed>a{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:0 1rem;border:1px solid #09273a;border-radius:9px;background:#09273a;color:#fff;font-size:.72rem;font-weight:800;text-decoration:none}.training-registration-success__actions .is-secondary{border-color:#cad6dc;background:#fff;color:#354d5c}
.training-registration-closed{max-width:820px;display:grid;align-items:center;gap:1rem;margin:0 auto;padding:1.2rem;border:1px solid #d8e2e7;border-radius:16px;background:#fff;grid-template-columns:auto minmax(0,1fr) auto}.training-registration-closed>.material-symbols-outlined{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#edf2f4;color:#607581}.training-registration-closed h2{color:#102638;font-size:.9rem;font-weight:800}.training-registration-closed p{margin-top:.25rem;color:#617281;font-size:.7rem}.training-registration-closed>a .material-symbols-outlined{font-size:1rem}
@media(max-width:920px){.training-detail-hero__grid{grid-template-columns:minmax(0,1fr) minmax(260px,.7fr)}.training-detail-layout{grid-template-columns:1fr}.training-detail-aside{order:initial;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.training-detail-aside__icon{grid-row:1}.training-detail-aside__copy{grid-column:2}.training-detail-aside__copy h2,.training-detail-aside__copy p{margin-top:0}.training-detail-aside>a{grid-column:3;grid-row:1;width:auto;margin:0;padding-inline:1rem}.training-detail-capacity{grid-column:1/-1}}
@media(max-width:700px){.training-detail-hero__grid{grid-template-columns:1fr}.training-detail-hero__media{min-height:0;aspect-ratio:16/9}.training-registration-next{grid-template-columns:1fr}.training-registration-success__actions{flex-direction:column}.training-registration-success__actions a{width:100%}.training-registration-closed{grid-template-columns:auto 1fr}.training-registration-closed>a{grid-column:1/-1;width:100%}}
@media(max-width:520px){.training-detail-hero{padding-bottom:1.5rem}.training-detail-hero h1{font-size:2rem}.training-detail-content{padding-top:1rem}.training-detail-article{padding:1rem;border-radius:13px}.training-detail-facts{grid-template-columns:1fr}.training-detail-aside{grid-template-columns:auto 1fr;border-radius:13px}.training-detail-aside>a{grid-column:1/-1;grid-row:auto;width:100%}.training-registration{padding:.8rem!important;border-radius:13px}.training-registration-form fieldset{padding:.8rem}.training-registration-success{padding:1.15rem;border-radius:14px}}

/* Keep the detail page independent from the older generic service theme. */
.service-page.training-detail-page .training-detail-hero{min-height:215px;padding:1rem 0 2.35rem;border:0;background:radial-gradient(circle at 88% 18%,rgba(43,145,187,.24),transparent 25rem),#0a2538;color:#fff}
.service-page.training-detail-page .training-detail-back{color:#bed0da}
.service-page.training-detail-page .training-detail-back:hover{color:#fff}
.service-page.training-detail-page .training-detail-hero__grid{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);align-items:center;gap:clamp(2rem,5vw,5rem);margin-top:.65rem}
.service-page.training-detail-page .training-detail-category{color:#9ccfe4}
.service-page.training-detail-page .training-detail-status{border-color:rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.09);color:#fff}
.service-page.training-detail-page .training-detail-hero h1{margin-top:.6rem;color:#fff;font-size:clamp(2.25rem,4.2vw,3.65rem);line-height:1.06}
.service-page.training-detail-page .training-detail-intro{color:#c5d3dc}
.service-page.training-detail-page .training-detail-hero__media{min-height:230px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:#0d2c42;box-shadow:0 18px 38px rgba(0,0,0,.16)}
.service-page.training-detail-page .training-detail-content{padding:clamp(2rem,4vw,3.2rem) 0 clamp(4rem,7vw,6rem);background:#f2f6f7}
.service-page.training-detail-page .training-detail-layout{grid-template-columns:minmax(0,1fr) 290px;gap:clamp(1.25rem,3vw,2.5rem)}
.service-page.training-detail-page .training-detail-article>h2{font-size:clamp(1.35rem,2.4vw,1.8rem)}
.service-page.training-detail-page .training-detail-description{font-size:.82rem;line-height:1.7}
.service-page.training-detail-page .training-detail-fact{min-height:74px}
.service-page.training-detail-page .training-detail-aside{top:96px;border-radius:16px;background:#fff}
.service-page.training-detail-page .training-detail-aside__icon{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:#e1f1fa}
.service-page.training-detail-page .training-detail-aside>a{border-radius:9px!important}
.service-page.training-detail-page .training-registration{max-width:980px;margin:0 auto!important}
.service-page.training-detail-page #mainForm input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.service-page.training-detail-page #mainForm select,
.service-page.training-detail-page #mainForm textarea,
.service-page.training-detail-page #mainForm canvas{border-radius:9px!important}
.service-page.training-detail-page #mainForm button[type="submit"]{border-radius:9px!important}
.training-registration-form input[type=file]{width:100%;padding:.48rem;border:1px solid #cbd6e1;border-radius:9px;background:#fff;color:#526575;font-size:.72rem}
.training-registration-form input[type=file]::file-selector-button{min-height:34px;margin-right:.7rem;padding:0 .75rem;border:0;border-radius:7px;background:#e8f1f5;color:#17384d;font:750 .69rem/1 "Plus Jakarta Sans",sans-serif;cursor:pointer}

@media(max-width:920px){
  .service-page.training-detail-page .training-detail-hero__grid{grid-template-columns:minmax(0,1fr) minmax(260px,.7fr)}
  .service-page.training-detail-page .training-detail-layout{grid-template-columns:1fr}
  .service-page.training-detail-page .training-detail-aside{position:static}
}
@media(max-width:700px){
  .service-page.training-detail-page .training-detail-hero__grid{grid-template-columns:1fr}
  .service-page.training-detail-page .training-detail-hero__media{min-height:0;aspect-ratio:16/9;border-radius:13px}
}
@media(max-width:520px){
  .service-page.training-detail-page .training-detail-hero{min-height:0;padding:1rem 0 1.5rem}
  .service-page.training-detail-page .training-detail-hero h1{font-size:2rem}
  .service-page.training-detail-page .training-detail-content{padding:1rem 0 4rem}
  .service-page.training-detail-page .training-detail-aside{border-radius:13px}
}

/* Final compact detail composition. */
.training-registration-shell[hidden]{display:none!important}
.service-page.training-detail-page .training-detail-hero{min-height:0;padding:.85rem 0 1.7rem}
.service-page.training-detail-page .training-detail-hero__grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(1.4rem,4vw,3.5rem);margin-top:.45rem}
.service-page.training-detail-page .training-detail-hero h1{max-width:760px;font-size:clamp(1.9rem,3.6vw,3.15rem);line-height:1.04}
.service-page.training-detail-page .training-detail-intro{max-width:700px;font-size:.8rem;line-height:1.55}
.service-page.training-detail-page .training-detail-hero__media{min-height:0;aspect-ratio:16/8;border-radius:13px}
.service-page.training-detail-page .training-detail-content{padding:clamp(1.2rem,3vw,2rem) 0 clamp(3.5rem,6vw,5rem)}
.service-page.training-detail-page .training-detail-layout{grid-template-columns:minmax(0,1fr) 270px;gap:1rem}
.training-detail-main{min-width:0;display:grid;gap:1rem}
.service-page.training-detail-page .training-detail-article{padding:1.2rem;border-radius:14px;box-shadow:none}
.service-page.training-detail-page .training-detail-article>h2{margin-top:.35rem;font-size:clamp(1.2rem,2vw,1.55rem)}
.service-page.training-detail-page .training-detail-description{margin-top:.6rem;font-size:.78rem;line-height:1.65}
.service-page.training-detail-page .training-detail-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1rem}
.service-page.training-detail-page .training-detail-fact{min-height:65px;padding:.7rem .75rem;border-radius:9px}
.training-detail-fact dt{color:#617281;font-size:.56rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.training-detail-fact dd{margin-top:.25rem;color:#102638;font-size:.69rem;font-weight:750;line-height:1.4;overflow-wrap:anywhere}
.training-requirements{padding:1.2rem;border:1px solid #d8e2e7;border-radius:14px;background:#fff}
.training-requirements__head h2{margin-top:.3rem;color:#102638;font-family:"Plus Jakarta Sans",sans-serif;font-size:1.25rem;font-weight:800;letter-spacing:-.03em}
.training-requirements__grid{display:grid;gap:.65rem;margin-top:.85rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.training-requirement-card{min-width:0;padding:.85rem;border:1px solid #d8e2e7;border-radius:10px;background:#f8fafb}
.training-requirement-card>header{display:flex;align-items:center;gap:.48rem;padding-bottom:.6rem;border-bottom:1px solid #dfe7eb}
.training-requirement-card>header>.material-symbols-outlined{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#e3f1f6;color:#075b82;font-size:.95rem}
.training-requirement-card h3{color:#102638;font-size:.72rem;font-weight:800}
.training-requirement-card ul{display:grid;gap:.48rem;margin:.65rem 0 0;padding:0;list-style:none}
.training-requirement-card li{display:flex;align-items:flex-start;gap:.38rem;color:#526775;font-size:.65rem;line-height:1.5}
.training-requirement-card li>.material-symbols-outlined{flex:0 0 auto;margin-top:.08rem;color:#1680a9;font-size:.8rem}
.training-requirement-note{margin:.65rem 0 0;padding-top:.65rem;border-top:1px solid #dfe7eb;color:#526775;font-size:.63rem;line-height:1.5}
.training-requirement-note strong{display:block;margin-bottom:.22rem;color:#102638;font-size:.62rem}
.service-page.training-detail-page .training-detail-aside{top:94px;padding:1rem;border-radius:14px;box-shadow:none}
.service-page.training-detail-page .training-detail-aside>a{min-height:42px}
.training-registration-shell{scroll-margin-top:90px;margin-top:1rem}
.service-page.training-detail-page .training-registration{padding:1.15rem!important;border-radius:14px;box-shadow:none}
.training-registration-form{display:grid;gap:.7rem}
.training-registration-form fieldset{padding:.9rem;border-radius:10px;background:#fbfcfc}
.training-registration-form legend{margin-bottom:.7rem}
.training-registration-form .unified-form-grid{gap:.65rem}
.training-registration-submit{padding:.85rem}
@media(max-width:980px){
    .service-page.training-detail-page .training-detail-hero__grid{grid-template-columns:minmax(0,1fr) minmax(250px,.7fr)}
    .service-page.training-detail-page .training-detail-layout{grid-template-columns:1fr}
    .service-page.training-detail-page .training-detail-aside{position:static;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem}
    .service-page.training-detail-page .training-detail-aside__icon{grid-row:1}
    .service-page.training-detail-page .training-detail-aside__copy{grid-column:2}
    .service-page.training-detail-page .training-detail-aside__copy h2,.service-page.training-detail-page .training-detail-aside__copy p{margin-top:0}
    .service-page.training-detail-page .training-detail-aside>a{width:auto;grid-column:3;grid-row:1;margin:0;padding-inline:1rem}
    .service-page.training-detail-page .training-detail-capacity{grid-column:1/-1}
}
@media(max-width:720px){
    .service-page.training-detail-page .training-detail-hero__grid{grid-template-columns:1fr}
    .service-page.training-detail-page .training-detail-hero__media{aspect-ratio:16/7}
    .training-requirements__grid{grid-template-columns:1fr}
    .training-requirement-card{padding:.75rem}
}
@media(max-width:560px){
    .service-page.training-detail-page .training-detail-hero{padding:.7rem 0 1.1rem}
    .service-page.training-detail-page .training-detail-hero h1{font-size:1.8rem}
    .service-page.training-detail-page .training-detail-hero__media{aspect-ratio:16/7}
    .service-page.training-detail-page .training-detail-content{padding-top:.7rem}
    .service-page.training-detail-page .training-detail-article,.training-requirements{padding:.85rem;border-radius:12px}
    .service-page.training-detail-page .training-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
    .service-page.training-detail-page .training-detail-aside{grid-template-columns:auto 1fr;border-radius:12px}
    .service-page.training-detail-page .training-detail-aside>a{width:100%;grid-column:1/-1;grid-row:auto}
    .service-page.training-detail-page .training-registration{padding:.75rem!important;border-radius:12px}
}
@media(max-width:360px){.service-page.training-detail-page .training-detail-facts{grid-template-columns:1fr}}
