/* IVA v3.5.0 — unified public pages + consultation booking UX */
:root{
  --iva-page-bg:#f7f5f0;
  --iva-card:#ffffff;
  --iva-ink:#173332;
  --iva-muted:#657672;
  --iva-line:#dbe3df;
  --iva-teal:#173f3d;
  --iva-teal-2:#24645e;
  --iva-clay:#a95539;
  --iva-soft:#eef3f0;
  --iva-radius:18px;
  --iva-shadow:0 12px 34px rgba(18,56,53,.065);
}

/* One geometry system for all inner pages */
body.ivc-public-v300:not(.ivc-homepage-active) #main-content{background:var(--iva-page-bg)}
body.ivc-public-v300:not(.ivc-homepage-active) #main-content>.section,
body.ivc-public-v300:not(.ivc-homepage-active) #main-content>section:not(.ivc-unified-hero):not(.page-hero):not(.ivc-v3-page-hero):not(.ivc-catalogue-hero):not(.ivc-library-hero):not(.cpq-static-hero):not(.contact-hero):not(.ivc-detail-hero):not(.ivc-detail-hero-v220):not(.ivc-library-payment-note):not(.cpq-static-cta):not(.cpq-about-contact-cta){position:relative}

body.ivc-public-v300 .ivc-unified-hero,
body.ivc-public-v300 .page-hero,
body.ivc-public-v300 .ivc-v3-page-hero,
body.ivc-public-v300 .ivc-catalogue-hero,
body.ivc-public-v300 .ivc-library-hero,
body.ivc-public-v300 .cpq-static-hero,
body.ivc-public-v300 .contact-hero{
  min-height:310px!important;
  padding:62px 0!important;
  display:flex!important;
  align-items:center!important;
  background:linear-gradient(118deg,#103a37 0%,#15534d 54%,#24645e 100%)!important;
  color:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.ivc-public-v300 .ivc-unified-hero::after,
body.ivc-public-v300 .page-hero::after,
body.ivc-public-v300 .ivc-v3-page-hero::after,
body.ivc-public-v300 .ivc-catalogue-hero::after,
body.ivc-public-v300 .ivc-library-hero::after,
body.ivc-public-v300 .cpq-static-hero::after,
body.ivc-public-v300 .contact-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.1;
  background-image:radial-gradient(circle at 1px 1px,#fff 1px,transparent 1.2px);background-size:28px 28px
}
body.ivc-public-v300 .ivc-unified-hero>.container,
body.ivc-public-v300 .page-hero>.container,
body.ivc-public-v300 .ivc-v3-page-hero>.container,
body.ivc-public-v300 .ivc-catalogue-hero>.container,
body.ivc-public-v300 .ivc-library-hero>.container,
body.ivc-public-v300 .cpq-static-hero>.container,
body.ivc-public-v300 .contact-hero>.container{
  position:relative!important;z-index:1!important;width:min(calc(100% - 48px),1240px)!important;margin-inline:auto!important;
}
body.ivc-public-v300 .ivc-unified-hero>.container>div:first-child,
body.ivc-public-v300 .page-hero>.container,
body.ivc-public-v300 .ivc-v3-page-hero>.container>div:first-child,
body.ivc-public-v300 .ivc-catalogue-hero>.container>div:first-child,
body.ivc-public-v300 .ivc-library-hero>.container>div:first-child,
body.ivc-public-v300 .cpq-static-hero .cpq-static-hero-copy,
body.ivc-public-v300 .contact-hero>.container>div:first-child{max-width:820px!important}
body.ivc-public-v300 .ivc-unified-hero span,
body.ivc-public-v300 .page-hero>.container>span,
body.ivc-public-v300 .ivc-catalogue-hero>.container>div>span,
body.ivc-public-v300 .ivc-library-hero>.container>div>span,
body.ivc-public-v300 .cpq-static-kicker,
body.ivc-public-v300 .contact-hero .eyebrow,
body.ivc-public-v300 .ivc-v3-kicker{display:inline-flex!important;align-items:center;gap:8px;color:#e7c9bc!important;font-size:11px!important;font-weight:900!important;letter-spacing:.11em!important}
body.ivc-public-v300 .ivc-unified-hero h1,
body.ivc-public-v300 .page-hero h1,
body.ivc-public-v300 .ivc-v3-page-hero h1,
body.ivc-public-v300 .ivc-catalogue-hero h1,
body.ivc-public-v300 .ivc-library-hero h1,
body.ivc-public-v300 .cpq-static-hero h1,
body.ivc-public-v300 .contact-hero h1{margin:12px 0 12px!important;color:#fff!important;font-size:clamp(42px,4.8vw,62px)!important;line-height:1.18!important;letter-spacing:-.02em}
body.ivc-public-v300 .ivc-unified-hero p,
body.ivc-public-v300 .page-hero p,
body.ivc-public-v300 .ivc-v3-page-hero p,
body.ivc-public-v300 .ivc-catalogue-hero p,
body.ivc-public-v300 .ivc-library-hero p,
body.ivc-public-v300 .cpq-static-hero p,
body.ivc-public-v300 .contact-hero p{max-width:780px!important;margin:0!important;color:#d9e8e4!important;font-size:16px!important;line-height:1.9!important}
/* Keep all standard subheaders text-only for consistency */
body.ivc-public-v300 .cpq-static-hero-media,
body.ivc-public-v300 .contact-hero-hours{display:none!important}
body.ivc-public-v300 .cpq-static-hero-grid,
body.ivc-public-v300 .contact-hero-grid{display:block!important}

/* Consistent section starts */
body.ivc-public-v300 .ivc-catalogue-section,
body.ivc-public-v300 .ivc-library-section,
body.ivc-public-v300 .cpq-static-content,
body.ivc-public-v300 .contact-page{padding:58px 0 82px!important;background:var(--iva-page-bg)!important}
body.ivc-public-v300 .ivc-catalogue-section>.container,
body.ivc-public-v300 .ivc-library-section>.container,
body.ivc-public-v300 .cpq-static-content>.container,
body.ivc-public-v300 .contact-page>.container{width:min(calc(100% - 48px),1240px)!important;margin-inline:auto!important}
body.ivc-public-v300 .ivc-category-filter{margin:0 0 28px!important;padding:10px!important;border:1px solid var(--iva-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 6px 20px rgba(18,56,53,.035)!important}
body.ivc-public-v300 .ivc-service-summary-card,
body.ivc-public-v300 .ivc-library-card,
body.ivc-public-v300 .card,
body.ivc-public-v300 .contact-cards>article,
body.ivc-public-v300 .contact-form-panel,
body.ivc-public-v300 .contact-office-panel{border:1px solid var(--iva-line)!important;border-radius:var(--iva-radius)!important;background:#fff!important;box-shadow:var(--iva-shadow)!important}

/* Booking: clear customer journey, no technical/admin presentation */
body.ivc-public-v300 .ivc-booking-section{padding:48px 0 88px!important;background:var(--iva-page-bg)!important}
body.ivc-public-v300 .ivc-booking-section>.container{width:min(calc(100% - 48px),1180px)!important;margin-inline:auto!important}
body.ivc-public-v300 .ivc-booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 22px;padding:17px 18px;border:1px solid var(--iva-line);border-radius:18px;background:#fff;box-shadow:var(--iva-shadow)}
body.ivc-public-v300 .ivc-booking-progress>div{position:relative;display:flex;align-items:center;gap:10px;padding:4px 12px;color:#6b7a76;font-size:12px;font-weight:800}
body.ivc-public-v300 .ivc-booking-progress>div:not(:last-child)::after{content:"";position:absolute;inset-inline-end:-2px;top:50%;width:4px;height:4px;border-radius:50%;background:#c7d2ce;box-shadow:8px 0 0 #c7d2ce,16px 0 0 #c7d2ce}
html[dir="rtl"] body.ivc-public-v300 .ivc-booking-progress>div:not(:last-child)::after{box-shadow:-8px 0 0 #c7d2ce,-16px 0 0 #c7d2ce}
body.ivc-public-v300 .ivc-booking-progress b{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:var(--iva-soft);color:var(--iva-teal);font-size:12px}
body.ivc-public-v300 .ivc-booking-progress>div:first-child b{background:var(--iva-teal);color:#fff}
body.ivc-public-v300 .ivc-booking-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:24px!important;align-items:start!important}
body.ivc-public-v300 .ivc-booking-main{min-width:0}
body.ivc-public-v300 .ivc-booking-form{display:grid!important;gap:16px!important}
body.ivc-public-v300 .ivc-booking-panel{overflow:hidden;padding:0!important;border:1px solid var(--iva-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--iva-shadow)!important}
body.ivc-public-v300 .ivc-booking-panel>header{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:14px!important;align-items:center!important;margin:0!important;padding:20px 22px!important;border-bottom:1px solid #e6ece9!important;background:#fbfcfb!important}
body.ivc-public-v300 .ivc-booking-panel>header>span{display:grid!important;place-items:center!important;width:48px!important;height:48px!important;border-radius:14px!important;background:var(--iva-teal)!important;color:#fff!important;font-size:12px!important;font-weight:900!important}
body.ivc-public-v300 .ivc-booking-panel>header h2{margin:0!important;color:var(--iva-ink)!important;font-size:21px!important}
body.ivc-public-v300 .ivc-booking-panel>header p{margin:5px 0 0!important;color:var(--iva-muted)!important;font-size:13px!important;line-height:1.65!important}
body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-services,
body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-days,
body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-times,
body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-fields,
body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-session-types,
body.ivc-public-v300 .ivc-booking-panel>label{margin-inline:22px!important}
body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-services{margin-block:20px 22px!important}
body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-days{margin-top:20px!important}
body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-times{margin-bottom:22px!important}
body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-fields{margin-top:20px!important}
body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-session-types{margin-top:18px!important}
body.ivc-public-v300 .ivc-booking-panel>label:last-child{margin-bottom:22px!important}
body.ivc-public-v300 .ivc-booking-services{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
body.ivc-public-v300 .ivc-booking-service-option>span{min-height:116px!important;padding:16px!important;border:1px solid #d8e1dd!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}
body.ivc-public-v300 .ivc-booking-service-option:hover>span{border-color:#9fb5ae!important;background:#fbfdfc!important}
body.ivc-public-v300 .ivc-booking-service-option input:checked+span{border:2px solid var(--iva-clay)!important;background:#fff8f4!important;box-shadow:0 0 0 3px rgba(169,85,57,.07)!important}
body.ivc-public-v300 .ivc-booking-days span,
body.ivc-public-v300 .ivc-booking-times span{border:1px solid #d8e1dd!important;box-shadow:0 2px 8px rgba(18,56,53,.025)}
body.ivc-public-v300 .ivc-booking-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
body.ivc-public-v300 .ivc-booking-panel input[type=text],
body.ivc-public-v300 .ivc-booking-panel input[type=email],
body.ivc-public-v300 .ivc-booking-panel input:not([type]),
body.ivc-public-v300 .ivc-booking-panel textarea{min-height:48px!important;border:1px solid #cfdad6!important;border-radius:11px!important;background:#fff!important}
body.ivc-public-v300 .ivc-booking-panel textarea{min-height:105px!important;resize:vertical}
body.ivc-public-v300 .ivc-booking-submit{min-height:56px!important;border-radius:14px!important;background:var(--iva-clay)!important;box-shadow:0 9px 22px rgba(169,85,57,.18)!important;font-size:15px!important}
body.ivc-public-v300 .ivc-booking-submit:hover{filter:brightness(.96)}
body.ivc-public-v300 .ivc-booking-side-card{position:sticky!important;top:105px!important;overflow:hidden;padding:0!important;border:1px solid var(--iva-line)!important;border-radius:20px!important;background:#fff!important;color:var(--iva-ink)!important;box-shadow:var(--iva-shadow)!important}
body.ivc-public-v300 .ivc-booking-side-card>header{padding:21px 22px;background:var(--iva-teal);color:#fff}
body.ivc-public-v300 .ivc-booking-side-card>header small{display:block;color:#c8ddda;font-size:10px;font-weight:900;letter-spacing:.08em}
body.ivc-public-v300 .ivc-booking-side-card>header h3{margin:5px 0 0!important;color:#fff!important;font-size:19px!important}
body.ivc-public-v300 .ivc-booking-side-card>.ivc-booking-help-body{padding:20px 22px}
body.ivc-public-v300 .ivc-booking-side-card ul{display:grid!important;gap:11px!important;margin:0 0 17px!important;padding:0!important;color:#526662!important;font-size:13px!important;line-height:1.65!important;list-style:none!important}
body.ivc-public-v300 .ivc-booking-side-card li{padding-bottom:10px;border-bottom:1px solid #edf1ef}
body.ivc-public-v300 .ivc-booking-side-card>a,
body.ivc-public-v300 .ivc-booking-help-body>a{display:block!important;margin-top:9px!important;padding:11px 12px!important;border:1px solid #d7e1dd!important;border-radius:11px!important;color:var(--iva-teal)!important;background:#fff!important;text-align:center!important;font-size:12px!important;font-weight:900!important}
body.ivc-public-v300 .ivc-booking-side-card>a:hover,
body.ivc-public-v300 .ivc-booking-help-body>a:hover{background:var(--iva-soft)!important}
body.ivc-public-v300 .ivc-booking-trust{display:flex;align-items:center;gap:8px;margin-top:14px;padding:11px 12px;border-radius:11px;background:#eef5f1;color:#2c6255;font-size:11px;font-weight:800}

/* Header navigation: keep one clean line and predictable spacing */
body.ivc-public-v300 .ivc-v3-desktop-nav{gap:2px!important;white-space:nowrap}
body.ivc-public-v300 .ivc-v3-desktop-nav>a{padding-inline:9px!important;font-size:12px!important}
body.ivc-public-v300 .ivc-v3-header-actions{gap:7px!important}

@media(max-width:1050px){
 body.ivc-public-v300 .ivc-booking-layout{grid-template-columns:1fr!important}
 body.ivc-public-v300 .ivc-booking-side-card{position:static!important}
 body.ivc-public-v300 .ivc-booking-progress{grid-template-columns:repeat(2,1fr);gap:8px}
 body.ivc-public-v300 .ivc-booking-progress>div::after{display:none!important}
}
@media(max-width:720px){
 body.ivc-public-v300 .ivc-unified-hero,
 body.ivc-public-v300 .page-hero,
 body.ivc-public-v300 .ivc-v3-page-hero,
 body.ivc-public-v300 .ivc-catalogue-hero,
 body.ivc-public-v300 .ivc-library-hero,
 body.ivc-public-v300 .cpq-static-hero,
 body.ivc-public-v300 .contact-hero{min-height:245px!important;padding:44px 0!important}
 body.ivc-public-v300 .ivc-unified-hero>.container,
 body.ivc-public-v300 .page-hero>.container,
 body.ivc-public-v300 .ivc-v3-page-hero>.container,
 body.ivc-public-v300 .ivc-catalogue-hero>.container,
 body.ivc-public-v300 .ivc-library-hero>.container,
 body.ivc-public-v300 .cpq-static-hero>.container,
 body.ivc-public-v300 .contact-hero>.container,
 body.ivc-public-v300 .ivc-booking-section>.container,
 body.ivc-public-v300 .ivc-catalogue-section>.container,
 body.ivc-public-v300 .ivc-library-section>.container,
 body.ivc-public-v300 .cpq-static-content>.container,
 body.ivc-public-v300 .contact-page>.container{width:min(calc(100% - 28px),1240px)!important}
 body.ivc-public-v300 .ivc-unified-hero h1,
 body.ivc-public-v300 .page-hero h1,
 body.ivc-public-v300 .ivc-v3-page-hero h1,
 body.ivc-public-v300 .ivc-catalogue-hero h1,
 body.ivc-public-v300 .ivc-library-hero h1,
 body.ivc-public-v300 .cpq-static-hero h1,
 body.ivc-public-v300 .contact-hero h1{font-size:36px!important}
 body.ivc-public-v300 .ivc-booking-progress{grid-template-columns:1fr 1fr;padding:12px}
 body.ivc-public-v300 .ivc-booking-progress>div{padding:4px 6px;font-size:11px}
 body.ivc-public-v300 .ivc-booking-services,body.ivc-public-v300 .ivc-booking-fields{grid-template-columns:1fr!important}
 body.ivc-public-v300 .ivc-booking-panel>header{padding:17px!important;grid-template-columns:42px minmax(0,1fr)!important}
 body.ivc-public-v300 .ivc-booking-panel>header>span{width:42px!important;height:42px!important}
 body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-services,
 body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-days,
 body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-times,
 body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-fields,
 body.ivc-public-v300 .ivc-booking-panel>.ivc-booking-session-types,
 body.ivc-public-v300 .ivc-booking-panel>label{margin-inline:16px!important}
}

/* Legacy/detail routes use the same inner-page subheader proportions too. */
body.ivc-public-v300 .ivc-detail-hero,
body.ivc-public-v300 .ivc-detail-hero-v220,
body.ivc-public-v300 .diplomas-index-hero,
body.ivc-public-v300 .cpq-program-hero,
body.ivc-public-v300 .testimonial-library-hero,
body.ivc-public-v300 .testimonial-detail-hero,
body.ivc-public-v300 .verify-hero{
  min-height:310px!important;padding:62px 0!important;background:linear-gradient(118deg,#103a37 0%,#15534d 54%,#24645e 100%)!important;color:#fff!important;border-radius:0!important
}
body.ivc-public-v300 .ivc-detail-hero>.container,
body.ivc-public-v300 .ivc-detail-hero-v220>.container,
body.ivc-public-v300 .diplomas-index-hero>.container,
body.ivc-public-v300 .cpq-program-hero>.container,
body.ivc-public-v300 .testimonial-library-hero>.container,
body.ivc-public-v300 .testimonial-detail-hero>.container,
body.ivc-public-v300 .verify-hero>.container{width:min(calc(100% - 48px),1240px)!important;margin-inline:auto!important}
body.ivc-public-v300 .ivc-detail-hero h1,
body.ivc-public-v300 .ivc-detail-hero-v220 h1,
body.ivc-public-v300 .diplomas-index-hero h1,
body.ivc-public-v300 .cpq-program-hero h1,
body.ivc-public-v300 .testimonial-library-hero h1,
body.ivc-public-v300 .testimonial-detail-hero h1,
body.ivc-public-v300 .verify-hero h1{color:#fff!important;font-size:clamp(42px,4.8vw,62px)!important;line-height:1.18!important}
body.ivc-public-v300 .ivc-detail-hero p,
body.ivc-public-v300 .ivc-detail-hero-v220 p,
body.ivc-public-v300 .diplomas-index-hero p,
body.ivc-public-v300 .cpq-program-hero p,
body.ivc-public-v300 .testimonial-library-hero p,
body.ivc-public-v300 .testimonial-detail-hero p,
body.ivc-public-v300 .verify-hero p{max-width:780px!important;color:#d9e8e4!important;font-size:16px!important;line-height:1.9!important}
