/* KOLIBRI — approved homepage design system for schedule, trainers and contacts. */
.internal-v4{
  --iv-violet:#922be8;
  --iv-violet-dark:#7b1fd0;
  --iv-ink:#19161b;
  --iv-muted:#625c64;
  --iv-paper:#f7f5f2;
  --iv-soft:#f0ecf2;
  --iv-line:#e3dde5;
  --iv-white:#fff;
  --iv-container:min(1220px,calc(100vw - 48px));
  --iv-radius-lg:18px;
  --iv-radius:14px;
  --iv-radius-sm:8px;
  background:var(--iv-paper);color:var(--iv-ink);
}
.internal-v4 *{box-sizing:border-box}
.internal-v4 .container{width:var(--iv-container);max-width:none;margin-inline:auto}
.internal-v4 main{overflow:hidden}
.internal-v4 h1,.internal-v4 h2,.internal-v4 h3{color:var(--iv-ink);letter-spacing:-.035em}
.internal-v4 h1{font-size:clamp(46px,4.3vw,66px);line-height:.98}
.internal-v4 h2{font-size:clamp(34px,3vw,46px);line-height:1.02}
.internal-v4 h3{font-size:24px;line-height:1.08}
.internal-v4 p{color:var(--iv-muted)}

/* approved header */
.internal-v4 .site-header{background:rgba(247,245,242,.97);border-bottom:1px solid rgba(25,22,27,.08);backdrop-filter:none}
.internal-v4 .header-inner{height:86px;gap:26px}
.internal-v4 .logo img{width:240px;max-height:62px}
.internal-v4 .nav{gap:25px}
.internal-v4 .nav-link{position:relative;color:#4f4951;font-size:15.5px;font-weight:680}
.internal-v4 .nav-link:hover,.internal-v4 .nav-link[aria-current="page"]{color:var(--iv-ink)}
.internal-v4 .nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:1px;background:var(--iv-violet);transition:right .2s ease}
.internal-v4 .nav-link:hover::after,.internal-v4 .nav-link[aria-current="page"]::after{right:0}
.internal-v4 .header-actions{margin-left:4px}
.internal-v4 .btn-header{min-height:46px;padding:11px 18px;border-radius:8px}
.internal-v4 .mobile-head-cta,.internal-v4 .mobile-nav-phone{display:none}
.internal-v4 .mobile-phone-head{display:none!important}

.iv-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;color:#817982;font-size:13px}
.iv-breadcrumbs a{color:inherit;text-decoration:none}.iv-breadcrumbs a:hover{color:var(--iv-violet)}
.iv-eyebrow{display:block;margin-bottom:13px;color:#6a636b;font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.iv-lead{max-width:650px;margin:0;color:var(--iv-muted);font-size:19px;line-height:1.58}
.iv-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.iv-actions .btn{min-height:52px;padding:13px 20px;border-radius:8px}
.iv-secondary-btn{background:transparent!important;border:1px solid var(--iv-line)!important;color:var(--iv-ink)!important}

.iv-hero{padding:58px 0 78px;background:var(--iv-paper)}
.iv-hero-copy{max-width:780px}
.iv-hero h1{max-width:760px;margin:0 0 18px}
.iv-hero .iv-lead{max-width:660px}

.iv-section{padding:100px 0;background:#fff}
.iv-section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:60px;align-items:end;margin-bottom:42px}
.iv-section-head h2{max-width:720px;margin:0}
.iv-section-head p{max-width:420px;margin:0;justify-self:end;font-size:17px;line-height:1.58}

/* Schedule */
.iv-schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.iv-schedule-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--iv-line);border-radius:var(--iv-radius);background:var(--iv-paper);box-shadow:0 16px 34px rgba(28,22,31,.04)}
.iv-schedule-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 24px 20px;border-bottom:1px solid var(--iv-line)}
.iv-schedule-name{display:block;color:#514a52;font-size:14px;font-weight:850;letter-spacing:.08em}
.iv-schedule-age{color:var(--iv-violet);font-size:25px;font-weight:850;white-space:nowrap}
.iv-schedule-list{display:grid;gap:0;padding:4px 24px 0}
.iv-schedule-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--iv-line)}
.iv-schedule-row span{color:#5d565e;font-size:15px}.iv-schedule-row strong{font-size:16px;white-space:nowrap}
.iv-schedule-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding:20px 24px 24px}
.iv-schedule-actions a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 12px;border-radius:7px;font-size:14px;font-weight:800;text-decoration:none}
.iv-schedule-actions a:first-child{border:1px solid var(--iv-line);color:var(--iv-ink);background:#fff}
.iv-schedule-actions a:last-child{background:var(--iv-violet);color:#fff}
.iv-guidance{padding:34px 0;background:var(--iv-paper);border-top:1px solid var(--iv-line);border-bottom:1px solid var(--iv-line)}
.iv-guidance-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}
.iv-guidance h2{margin:0 0 6px;font-size:27px}.iv-guidance p{margin:0;font-size:16px}
.iv-guidance a{white-space:nowrap}

/* Trainer page */
.iv-trainers{padding:92px 0 108px;background:#fff}
.iv-trainer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.iv-trainer-card{overflow:hidden;border:1px solid var(--iv-line);border-radius:var(--iv-radius);background:var(--iv-paper);box-shadow:0 16px 36px rgba(28,22,31,.04)}
.iv-trainer-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#eee7f3}
.iv-trainer-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.iv-trainer-index{position:absolute;left:18px;top:18px;display:flex;align-items:center;justify-content:center;min-width:42px;height:34px;padding:0 9px;border-radius:999px;background:rgba(25,22,27,.78);color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em}
.iv-trainer-body{padding:25px 26px 27px}
.iv-role-tag{display:inline-flex;margin-bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(146,43,232,.09);color:var(--iv-violet);font-size:12.5px;font-weight:800;line-height:1.25}
.iv-trainer-body h2{margin:0 0 15px;font-size:31px;line-height:1.04}
.iv-trainer-body>p{margin:0;color:#5f5961;font-size:16px;line-height:1.62}
.iv-trainer-facts{display:grid;gap:8px;margin:20px 0 0;padding:18px 0 0;border-top:1px solid var(--iv-line);list-style:none}
.iv-trainer-facts li{position:relative;padding-left:16px;color:#514b52;font-size:14.5px;line-height:1.45}
.iv-trainer-facts li::before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--iv-violet)}

/* shared dark CTA */
.iv-dark-cta{padding:82px 0;background:var(--iv-ink);color:#fff}
.iv-dark-cta-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:60px;align-items:end}
.iv-dark-cta .iv-eyebrow{color:rgba(255,255,255,.62)}
.iv-dark-cta h2{max-width:690px;margin:0;color:#fff}
.iv-dark-cta p{max-width:580px;margin:15px 0 0;color:rgba(255,255,255,.76);font-size:17px;line-height:1.58}
.iv-dark-cta-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center}
.iv-dark-cta .iv-secondary-btn{border-color:rgba(255,255,255,.28)!important;color:#fff!important}

/* Contacts */
.iv-contact-stage{padding:58px 0 90px;background:var(--iv-paper)}
.iv-contact-grid{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);min-height:660px;overflow:hidden;border-radius:var(--iv-radius-lg);background:var(--iv-ink);box-shadow:0 22px 48px rgba(28,22,31,.08)}
.iv-contact-copy{padding:58px 52px;color:#fff}
.iv-contact-copy .iv-breadcrumbs{color:rgba(255,255,255,.55)}
.iv-contact-copy .iv-eyebrow{color:rgba(255,255,255,.58)}
.iv-contact-copy h1{margin:0 0 18px;color:#fff;font-size:clamp(36px,3.3vw,52px);line-height:.98}
.iv-contact-city{margin:0 0 8px!important;color:#fff!important;font-size:18px;font-weight:750}
.iv-contact-copy>p{max-width:460px;margin:0;color:rgba(255,255,255,.75);font-size:17px;line-height:1.6}
.iv-contact-copy .iv-actions{margin-top:28px}
.iv-contact-list{display:grid;gap:0;margin-top:38px;border-top:1px solid rgba(255,255,255,.14)}
.iv-contact-list a{display:block;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14);text-decoration:none}
.iv-contact-list span{display:block;margin-bottom:4px;color:rgba(255,255,255,.5);font-size:12px;text-transform:uppercase;letter-spacing:.07em}
.iv-contact-list strong{color:#fff;font-size:17px}
.iv-socials{display:flex;flex-wrap:wrap;gap:16px 20px;margin-top:24px}
.iv-socials a{color:rgba(255,255,255,.76);font-size:14px;font-weight:700;text-decoration:none}.iv-socials a:hover{color:#fff}
.iv-map{position:relative;min-height:660px;background:#ebe7ee}
.iv-map iframe{display:block;width:100%;height:100%;min-height:660px;border:0}
.iv-map-actions{position:absolute;left:20px;right:20px;bottom:20px;display:flex;flex-wrap:wrap;gap:8px;padding:10px;border-radius:10px;background:rgba(255,255,255,.94);box-shadow:0 12px 28px rgba(25,22,27,.12)}
.iv-map-actions a{display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border-radius:7px;color:var(--iv-ink);font-size:13px;font-weight:800;text-decoration:none;background:#fff;border:1px solid var(--iv-line)}

.internal-v4 .site-footer{background:#0e0c0f}

@media(max-width:1080px){
  .internal-v4 .nav{gap:18px}.internal-v4 .nav-link{font-size:14.5px}
  .iv-schedule-grid{gap:16px}.iv-trainer-grid{gap:20px}
  .iv-contact-copy{padding:48px 38px}
}
@media(max-width:1020px){
  .internal-v4 .header-actions{display:none}
  .internal-v4 .mobile-head-cta{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;min-height:42px;padding:9px 14px;border-radius:7px;background:var(--iv-violet);color:#fff;font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap}
  .internal-v4 .menu-toggle{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:40px;height:40px;margin-left:2px;padding:0;border:0;background:transparent}
  .internal-v4 .nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--iv-paper);padding:18px 22px;border-bottom:1px solid var(--iv-line);flex-direction:column;align-items:stretch;gap:0}
  .internal-v4 .nav.open{display:flex}.internal-v4 .nav-link{padding:13px 4px;border-bottom:1px solid var(--iv-line);font-size:16px}.internal-v4 .nav-link::after{display:none}
  .internal-v4 .nav.open .mobile-nav-phone{display:block;color:var(--iv-violet);font-weight:780}
  .iv-schedule-grid{grid-template-columns:1fr}.iv-schedule-card{display:grid;grid-template-columns:220px minmax(0,1fr)}
  .iv-schedule-card-head{display:block;border-bottom:0;border-right:1px solid var(--iv-line)}.iv-schedule-age{display:block;margin-top:5px}.iv-schedule-list{padding-top:4px}.iv-schedule-actions{grid-column:2/3}
  .iv-contact-grid{grid-template-columns:1fr}.iv-map{min-height:500px}.iv-map iframe{min-height:500px}
}
@media(max-width:820px){
  .internal-v4{--iv-container:calc(100vw - 36px)}
  .internal-v4 .header-inner{height:72px;gap:8px}.internal-v4 .logo img{width:178px;max-height:52px}.internal-v4 .nav{top:72px}
  .internal-v4 h1{font-size:clamp(40px,7vw,52px)}.internal-v4 h2{font-size:clamp(32px,5.4vw,42px)}
  .iv-hero{padding:42px 0 62px}.iv-section{padding:76px 0}.iv-section-head{grid-template-columns:1fr;gap:17px}.iv-section-head p{justify-self:start;max-width:650px}
  .iv-trainer-grid{grid-template-columns:1fr 1fr}.iv-trainer-body{padding:22px}.iv-trainer-body h2{font-size:27px}
  .iv-dark-cta-grid{grid-template-columns:1fr;gap:28px}.iv-dark-cta-actions{justify-content:flex-start}
}
@media(max-width:560px){
  .internal-v4{--iv-container:calc(100vw - 28px)}
  .internal-v4 .logo img{width:156px;max-height:46px}.internal-v4 .mobile-head-cta{min-height:40px;padding:8px 11px;font-size:13.5px}
  .internal-v4 h1{font-size:39px;line-height:1.01}.internal-v4 h2{font-size:34px;line-height:1.04}.iv-lead{font-size:16.5px;line-height:1.55}
  .iv-hero{padding:28px 0 54px}.iv-breadcrumbs{margin-bottom:18px}.iv-actions{display:grid;grid-template-columns:1fr;margin-top:22px}.iv-actions .btn{width:100%}
  .iv-section{padding:62px 0}.iv-section-head{margin-bottom:26px}.iv-section-head p{font-size:16px}
  .iv-schedule-card{display:block;border-radius:12px}.iv-schedule-card-head{display:flex;border-right:0;border-bottom:1px solid var(--iv-line);padding:20px 18px}.iv-schedule-age{display:block;margin:0}.iv-schedule-list{padding:2px 18px 0}.iv-schedule-row{padding:14px 0}.iv-schedule-actions{display:grid;grid-template-columns:1fr 1fr;padding:17px 18px 19px}
  .iv-guidance-grid{display:block}.iv-guidance h2{font-size:24px}.iv-guidance a{width:100%;margin-top:18px}
  .iv-trainers{padding:62px 0 72px}.iv-trainer-grid{grid-template-columns:1fr;gap:20px}.iv-trainer-media{aspect-ratio:4/5}.iv-trainer-body{padding:20px 18px 22px}.iv-trainer-body h2{font-size:27px}.iv-trainer-body>p{font-size:15.5px}
  .iv-dark-cta{padding:58px 0}.iv-dark-cta-actions{display:grid;grid-template-columns:1fr;width:100%}.iv-dark-cta-actions .btn{width:100%}
  .iv-contact-stage{padding:28px 0 54px}.iv-contact-grid{border-radius:var(--iv-radius);min-height:0}.iv-contact-copy{padding:30px 22px 34px}.iv-contact-copy h1{font-size:38px}.iv-contact-copy>p{font-size:16px}.iv-map,.iv-map iframe{min-height:440px}.iv-map-actions{position:static;border-radius:0;box-shadow:none;border-top:1px solid var(--iv-line)}
}
