
.impulsa-hero-logo{width:min(460px,100%);height:auto;object-fit:contain}
.impulsa-hero-copy,.impulsa-hero-visual{min-width:0}
.impulsa-workshops{display:block}
.workshop-heading{display:grid;grid-template-columns:160px minmax(0,1fr);gap:36px;align-items:center;margin-bottom:32px}
.workshop-heading img{width:140px;height:auto}
.workshop-heading h2{font-size:clamp(32px,4vw,54px)}
.workshop-heading p,.workshop-time,.workshop-note{font-size:16px;line-height:1.65}
.workshop-time{padding:20px 24px;background:#edf7f8;border-left:4px solid #2398d0;margin:0 0 28px}
.workshop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.workshop-card{border:1px solid #d4e3e8;padding:28px;display:flex;flex-direction:column;min-width:0}
.workshop-card time{font-size:16px;font-weight:700;color:#17628a}
.workshop-card h3{font-size:24px;line-height:1.25;margin:20px 0 16px}
.workshop-card p{font-size:16px;line-height:1.6;margin:0 0 24px}
.workshop-links{display:flex;flex-direction:column;gap:12px;margin-top:auto}
.workshop-links .button{font-size:16px;padding:14px 16px;text-align:center;white-space:normal}
.workshop-email{color:#155b80;text-decoration:underline;font-size:16px;text-align:center;padding:10px}
.workshop-note{margin-top:24px;overflow-wrap:anywhere}
@media(max-width:1000px){.workshop-grid{grid-template-columns:1fr}.workshop-card{padding:24px}.workshop-links{flex-direction:row;flex-wrap:wrap}}
@media(max-width:600px){.workshop-heading{grid-template-columns:1fr;gap:24px}.workshop-heading img{width:110px}.impulsa-hero-copy{padding-left:24px;padding-right:24px}.impulsa-hero h1{font-size:clamp(34px,8vw,48px)}.impulsa-hero-topline{flex-wrap:wrap}.workshop-links{flex-direction:column}}

.registration{margin-top:40px;padding:clamp(20px,4vw,44px);border:1px solid #d4e3e8;background:#f6fafb;scroll-margin-top:100px}
.registration h3{font-size:30px;margin:0 0 16px}.registration p{font-size:16px;line-height:1.6}
.registration-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.registration label{display:block;font-size:16px;font-weight:600;margin:18px 0}
.registration input:not([type=checkbox]),.registration select{display:block;width:100%;min-width:0;font:inherit;font-weight:400;padding:13px;border:1px solid #819ba6;border-radius:4px;background:white;margin-top:8px;color:#103244}
.registration input:focus-visible,.registration select:focus-visible,.registration button:focus-visible{outline:3px solid #2398d0;outline-offset:3px}
.registration .registration-help{font-size:14px;color:#405b68;overflow-wrap:anywhere}
.registration .registration-check{display:flex;align-items:flex-start;gap:12px;font-weight:400;line-height:1.5}
.registration-check input{width:20px;height:20px;flex:0 0 20px;margin-top:3px}
.registration-actions{flex-direction:row;flex-wrap:wrap;margin-top:24px}.registration button{cursor:pointer}.registration [hidden]{display:none!important}
@media(max-width:600px){.registration-grid{grid-template-columns:1fr;gap:0}.registration-actions{flex-direction:column}}

/* Keep bilingual headlines readable and promotional artwork fully visible. */
.impulsa-site .impulsa-hero{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:stretch;min-height:0;overflow:visible}
.impulsa-site .impulsa-hero-copy{padding:clamp(36px,5vw,80px);min-width:0}
.impulsa-site .impulsa-hero-topline{flex-wrap:wrap;gap:16px;margin-bottom:32px;font-size:14px;line-height:1.5;letter-spacing:.08em}
.impulsa-site .impulsa-hero-logo{display:block;max-width:100%;height:auto;flex-shrink:0;margin-bottom:32px}
.impulsa-site .impulsa-hero h1{font-size:clamp(32px,3.5vw,58px);line-height:1.18;letter-spacing:normal;max-width:100%;overflow-wrap:break-word}
.impulsa-site .impulsa-hero-copy>p{margin-top:24px;font-size:18px;line-height:1.7}
.impulsa-site .impulsa-hero-visual{display:flex;flex-direction:column;justify-content:center;position:static;min-width:0;min-height:0;background:#f4f7f8;padding:24px;gap:24px}
.impulsa-site .impulsa-hero-visual>img{display:block;width:100%;max-width:680px;height:auto;object-fit:contain;position:static;margin:auto;flex-shrink:0}
.impulsa-site .impulsa-hero-statement{position:static;inset:auto;padding:24px;background:#06283c;font-size:16px;line-height:1.6;margin:0}
.impulsa-site .impulsa-section-heading h2,.impulsa-site .impulsa-workshops h2,.impulsa-site .impulsa-resource-copy h2,.impulsa-site .impulsa-closing h2{letter-spacing:normal;line-height:1.2;overflow-wrap:break-word}
.impulsa-site .impulsa-section-heading>*,.impulsa-site .impulsa-closing>*,.impulsa-site .workshop-heading>*{min-width:0}
@media(max-width:1100px){.impulsa-site .impulsa-hero{grid-template-columns:minmax(0,1fr)}.impulsa-site .impulsa-hero-visual{padding:24px clamp(20px,6vw,64px)}.impulsa-site .impulsa-hero h1{font-size:clamp(32px,5vw,52px)}}
@media(max-width:600px){.impulsa-site .impulsa-hero-copy{padding:32px 24px}.impulsa-site .impulsa-hero-visual{padding:20px}.impulsa-site .impulsa-hero h1{font-size:34px;line-height:1.2}.impulsa-site .impulsa-actions{align-items:flex-start;gap:20px}.impulsa-site .impulsa-actions .button{white-space:normal;max-width:100%}.impulsa-site .impulsa-section-heading h2,.impulsa-site .impulsa-closing h2{font-size:32px}}

/* Single welcome panel after removing the duplicate promotional card. */
.impulsa-site .impulsa-hero{display:block}
.impulsa-site .impulsa-hero-copy{max-width:1180px;margin:0 auto;padding:clamp(32px,5vw,64px) clamp(24px,5vw,64px)}
.impulsa-site .impulsa-hero h1{max-width:1000px}
.impulsa-site .impulsa-hero-copy>p{max-width:880px}

/* Consistent scale for the two vertical Impulsa logos. */
.impulsa-site{--impulsa-section-logo-width:240px}
.impulsa-site .workshop-heading{grid-template-columns:var(--impulsa-section-logo-width) minmax(0,1fr);gap:40px}
.impulsa-site .workshop-heading>img,.impulsa-site .impulsa-closing img{display:block;width:var(--impulsa-section-logo-width);max-width:100%;height:auto;object-fit:contain}
.impulsa-site .impulsa-closing{grid-template-columns:minmax(288px,.65fr) minmax(0,1.35fr);gap:clamp(32px,5vw,72px)}
.impulsa-site .impulsa-closing>div:first-child{padding:24px;min-height:0}
@media(max-width:900px){.impulsa-site .workshop-heading,.impulsa-site .impulsa-closing{grid-template-columns:minmax(0,1fr);gap:28px}}
@media(max-width:600px){.impulsa-site{--impulsa-section-logo-width:200px}}

/* Match the main site's deep-navy response on light content cards. */
@media (hover: hover) and (pointer: fine) {
  .impulsa-site .impulsa-path-grid article,
  .impulsa-site .impulsa-method-grid article,
  .impulsa-site .workshop-card {
    position: relative;
    z-index: 1;
    transition: background .25s ease, color .25s ease, transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  }

  .impulsa-site .impulsa-path-grid article:hover,
  .impulsa-site .impulsa-method-grid article:hover,
  .impulsa-site .workshop-card:hover {
    z-index: 2;
    background: var(--navy);
    color: #fff;
    border-color: var(--navy);
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(5, 41, 55, .14);
  }

  .impulsa-site .impulsa-path-grid article:hover p,
  .impulsa-site .impulsa-method-grid article:hover p,
  .impulsa-site .workshop-card:hover p { color: #b9cbd2; }

  .impulsa-site .workshop-card:hover time,
  .impulsa-site .workshop-card:hover .workshop-email { color: #79d8dc; }
}
