/* AC Faculty Extras 2.2.0 - Featured Faculty single (navy hero, style B course rows, rounded corners).
   Everything is scoped under .acf2 / .acf2-* so nothing leaks into Impreza. */
.acf2{
  --acf2-navy:#12395f;
  --acf2-navy-deep:#182f45;
  --acf2-blue:#2979b4;
  --acf2-blue-ink:#1f6aa0;   /* AA-safe small text on light backgrounds */
  --acf2-cyan:#01B0D9;
  --acf2-text:#2e3138;
  --acf2-muted:#5b6573;
  --acf2-alt:#eef2f6;
  --acf2-line:#d9e1ea;
  --acf2-head:Inter,var(--h1-font-family,sans-serif),sans-serif;
  --acf2-body:"Open Sans",var(--font-family,sans-serif),sans-serif;
  --acf2-radius:10px;
  --acf2-btn-radius:5px;
  font-family:var(--acf2-body);color:var(--acf2-text);
  display:block;width:100%;margin:0;padding:0;text-align:left;
}
.acf2 *,.acf2 *::before,.acf2 *::after{box-sizing:border-box}
.acf2 .acf2-wrap{max-width:1280px;margin:0 auto;padding:0 20px}
@media (min-width:768px){.acf2 .acf2-wrap{padding:0 32px}}
.acf2 .acf2-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.acf2 svg{display:inline-block;vertical-align:middle;flex:none}
.acf2 a:focus-visible,.acf2 summary:focus-visible{outline:3px solid var(--acf2-cyan);outline-offset:3px;border-radius:4px}
.acf2 ul,.acf2 ol{margin-left:0}

/* Template rows (vc_row el_class) - first row sits under the fixed header, so paint its header padding navy */
.l-section.acf2-row{padding-top:0!important;padding-bottom:0!important}
.l-section.acf2-row>.l-section-h{padding-left:0;padding-right:0}
.l-section.acf2-row .wpb_text_column,.l-section.acf2-row .wpb_text_column:not(:last-child){margin:0!important}
.l-section.acf2-row .vc_column-inner{padding:0!important}
.l-section.acf2-row--hero{background:var(--acf2-navy,#12395f)}

/* ---------- Breadcrumb ---------- */
.acf2 .acf2-crumbs{position:relative;z-index:2;font:500 14px/1.4 var(--acf2-head);padding-top:18px;margin:0}
.acf2 .acf2-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.acf2 .acf2-crumbs li{margin:0;padding:0;display:flex;align-items:center;gap:6px;color:#b9cde0;font-size:14px;line-height:1.4}
.acf2 .acf2-crumbs li::marker{content:none}
.acf2 .acf2-crumbs li+li::before{content:"/";color:rgba(255,255,255,.35)}
.acf2 .acf2-crumbs a{color:#fff!important;text-decoration:none}
.acf2 .acf2-crumbs a:hover{text-decoration:underline}
.acf2 .acf2-crumbs [aria-current]{color:#b9cde0}

/* ---------- Hero (navy) ---------- */
.acf2 .acf2-hero{position:relative;overflow:hidden;color:#fff;margin:0;
  background:radial-gradient(1200px 500px at 85% -10%,rgba(41,121,180,.45),transparent 60%),
             linear-gradient(135deg,var(--acf2-navy) 0%,var(--acf2-navy-deep) 100%)}
.acf2 .acf2-hero::after{content:"";position:absolute;inset:auto -80px -120px auto;width:360px;height:360px;border-radius:50%;
  border:56px solid rgba(255,255,255,.04);pointer-events:none}
.acf2 .acf2-hero__in{position:relative;z-index:1;display:grid;gap:28px;padding:24px 0 40px;justify-items:center;text-align:center}
.acf2 .acf2-hero__photo{position:relative;width:176px;aspect-ratio:1/1;flex:none;margin:0}
.acf2 .acf2-hero__photo::before{content:"";position:absolute;inset:0;transform:translate(10px,10px);border:2px solid var(--acf2-cyan);border-radius:18px}
.acf2 .acf2-hero__photo img{position:relative;display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover;border-radius:18px;
  box-shadow:0 18px 40px rgba(0,0,0,.35);background:#0d2b49;margin:0}
.acf2 .acf2-hero__text{min-width:0;max-width:100%}
.acf2 .acf2-eyebrow{margin:0 0 10px;padding:0;font:600 13px/1 var(--acf2-head);letter-spacing:.14em;text-transform:uppercase;color:#7fd3ea}
.acf2 .acf2-hero h1.acf2-name{margin:0 0 8px;padding:0;color:#fff;font-family:var(--acf2-head);font-weight:700;letter-spacing:-0.04em;line-height:1.08;
  font-size:clamp(34px,5vw,56px);overflow-wrap:anywhere;text-transform:none}
.acf2 .acf2-hero__org{margin:0 0 18px;padding:0;font-size:18px;line-height:1.4;color:#e3e7f0}
.acf2 .acf2-hero__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 20px}
.acf2 .acf2-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;font:600 15px/1.2 var(--acf2-head);
  text-decoration:none!important;transition:background .2s,color .2s,border-color .2s;max-width:100%;overflow-wrap:anywhere}
.acf2 .acf2-pill svg{width:16px;height:16px}
.acf2 .acf2-pill--ghost{color:#fff!important;border:1.5px solid rgba(255,255,255,.55);background:rgba(255,255,255,.06)}
.acf2 .acf2-pill--ghost:hover{background:#fff;color:var(--acf2-navy)!important;border-color:#fff}
.acf2 .acf2-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;list-style:none;margin:0;padding:0}
.acf2 .acf2-chips li{margin:0;padding:0}
.acf2 .acf2-chips li::marker{content:none}
.acf2 .acf2-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;font:500 14px/1.2 var(--acf2-head);
  background:rgba(255,255,255,.10);color:#fff!important;text-decoration:none!important;border:1px solid rgba(255,255,255,.14)}
.acf2 .acf2-chip svg{width:15px;height:15px;color:#7fd3ea}
.acf2 .acf2-chip strong{font-weight:700;color:#fff}
.acf2 a.acf2-chip:hover{background:rgba(255,255,255,.2)}
@media (min-width:768px){
  .acf2 .acf2-hero__in{grid-template-columns:auto 1fr;gap:56px;padding:36px 0 64px;justify-items:start;text-align:left;align-items:center}
  .acf2 .acf2-hero--nophoto .acf2-hero__in{grid-template-columns:1fr}
  .acf2 .acf2-hero__photo{width:240px}
  .acf2 .acf2-hero__actions,.acf2 .acf2-chips{justify-content:flex-start}
}
@media (min-width:1100px){.acf2 .acf2-hero__photo{width:264px}}

/* ---------- Section headings ---------- */
.acf2 .acf2-h2{margin:0 0 6px;padding:0;font-family:var(--acf2-head);color:var(--acf2-navy);font-weight:600;letter-spacing:-0.03em;line-height:1.15;
  font-size:clamp(26px,3.2vw,36px);text-transform:none}
.acf2 .acf2-sub{margin:0 0 24px;color:var(--acf2-muted);font-size:16px}

/* ---------- Bio ---------- */
.acf2 .acf2-about{padding:44px 0 48px;background:#fff}
.acf2 .acf2-about__grid{display:grid;gap:32px}
@media (min-width:1024px){
  .acf2 .acf2-about__grid{grid-template-columns:minmax(0,72ch) 320px;justify-content:space-between;gap:56px}
  .acf2 .acf2-about--nobio .acf2-about__grid{grid-template-columns:minmax(0,420px)}
}
.acf2 .acf2-about__main{min-width:0}
.acf2 .acf2-about .acf2-h2{margin-bottom:10px}
.acf2 .acf2-bio{max-width:72ch;font-size:17px;line-height:1.75;color:var(--acf2-text);overflow-wrap:anywhere}
.acf2 .acf2-bio p,.acf2 .acf2-bio ul,.acf2 .acf2-bio ol,.acf2 .acf2-bio blockquote{margin:0 0 1.1em;font-size:inherit;line-height:inherit}
.acf2 .acf2-bio ul,.acf2 .acf2-bio ol{padding-left:1.3em;margin-left:0}
.acf2 .acf2-bio ul{list-style:disc}
.acf2 .acf2-bio ol{list-style:decimal}
.acf2 .acf2-bio li{margin:0 0 .5em}
.acf2 .acf2-bio h3{margin:1.2em 0 .5em;font:600 20px/1.3 var(--acf2-head);color:var(--acf2-navy)}
.acf2 .acf2-bio a{color:var(--acf2-blue-ink);text-decoration:underline;text-underline-offset:2px}
.acf2 .acf2-bio > p:first-of-type{font-size:18.5px;line-height:1.7;color:#1f2a37}
/* Read more without JS: native <details> */
.acf2 .acf2-more{margin:0;padding:0;border:0}
.acf2 .acf2-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;margin:2px 0 18px;
  font:600 16px/1 var(--acf2-head);color:var(--acf2-navy);padding:10px 16px;border:1.5px solid var(--acf2-navy);border-radius:var(--acf2-btn-radius);background:#fff}
.acf2 .acf2-more>summary::-webkit-details-marker{display:none}
.acf2 .acf2-more>summary::marker{content:none}
.acf2 .acf2-more>summary:hover{background:var(--acf2-navy);color:#fff}
.acf2 .acf2-more>summary .acf2-less{display:none}
.acf2 .acf2-more[open]>summary .acf2-less{display:inline}
.acf2 .acf2-more[open]>summary .acf2-moretxt{display:none}
.acf2 .acf2-more>summary svg{width:14px;height:14px;transition:transform .2s}
.acf2 .acf2-more[open]>summary svg{transform:rotate(180deg)}
/* Sidebar card */
.acf2 .acf2-aside{align-self:start;border:1px solid var(--acf2-line);border-radius:var(--acf2-radius);padding:22px;background:#fff;
  box-shadow:0 1px 0 rgba(18,57,95,.04)}
@media (min-width:1024px){.acf2 .acf2-aside{position:sticky;top:calc(var(--header-sticky-height,90px) + 20px)}}
.acf2 .acf2-aside h2{margin:0 0 12px;padding:0;font:600 18px/1.3 var(--acf2-head);color:var(--acf2-navy);letter-spacing:-0.01em;text-transform:none}
.acf2 .acf2-tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 18px;padding:0}
.acf2 .acf2-tags li{margin:0;padding:5px 10px;border-radius:999px;background:var(--acf2-alt);color:var(--acf2-navy);font:500 13px/1.2 var(--acf2-head)}
.acf2 .acf2-tags li::marker{content:none}
.acf2 .acf2-tags li.acf2-tags__more{background:#fff;border:1px solid var(--acf2-line);color:var(--acf2-blue-ink)}
.acf2 .acf2-aside--lib{border-left:6px solid var(--acf2-blue);background:linear-gradient(180deg,#fff,#f6f9fc)}
.acf2 .acf2-aside--lib h2{font-size:20px}
.acf2 .acf2-aside--lib p{margin:0 0 18px;color:var(--acf2-muted);font-size:15.5px;line-height:1.6}
.acf2 .acf2-about--solo{padding-bottom:64px;border-bottom:1px solid var(--acf2-line)}
@media (max-width:1023px){.acf2 .acf2-aside:not(.acf2-aside--lib) .acf2-btn{display:none}.acf2 .acf2-aside:not(.acf2-aside--lib) .acf2-tags{margin:0}}

/* ---------- Buttons ---------- */
.acf2 .acf2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.8em 1.5em;border-radius:var(--acf2-btn-radius);
  font:600 17px/1 var(--acf2-head);text-decoration:none!important;transition:background .3s,color .3s;border:0;text-transform:none;letter-spacing:0}
.acf2 .acf2-btn svg{width:16px;height:16px}
.acf2 .acf2-btn--primary{background:var(--acf2-blue);color:#fff!important}
.acf2 .acf2-btn--primary:hover{background:var(--acf2-navy)}
.acf2 .acf2-btn--navy{background:var(--acf2-navy);color:#fff!important}
.acf2 .acf2-btn--navy:hover{background:var(--acf2-blue)}
.acf2 .acf2-btn--white{background:#fff;color:var(--acf2-navy)!important}
.acf2 .acf2-btn--white:hover{background:var(--acf2-cyan);color:var(--acf2-navy)!important}
.acf2 .acf2-btn--block{width:100%;padding-left:1em;padding-right:1em;font-size:16px;white-space:nowrap}

/* ---------- Courses (style B list rows) ---------- */
.acf2 .acf2-courses{background:var(--acf2-alt);padding:48px 0 56px;scroll-margin-top:calc(var(--header-sticky-height,90px) + 16px)}
.acf2 .acf2-grid{display:grid;gap:12px;grid-template-columns:1fr;list-style:none;margin:0;padding:0}
@media (min-width:900px){.acf2 .acf2-grid--b{grid-template-columns:1fr 1fr}}
.acf2 .acf2-grid>li{margin:0;padding:0;display:flex}
.acf2 .acf2-grid>li::marker{content:none}
.acf2 .acf2-card{position:relative;display:flex;flex-direction:row;align-items:center;gap:18px;width:100%;background:#fff;border-radius:var(--acf2-radius);
  border:1px solid var(--acf2-line);padding:18px 18px 18px 24px;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.acf2 .acf2-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--acf2-navy);transition:background .2s}
.acf2 .acf2-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(18,57,95,.14);border-color:#c5d3e2}
.acf2 .acf2-card:hover::before{background:var(--acf2-cyan)}
.acf2 .acf2-card:focus-within{box-shadow:0 0 0 3px var(--acf2-cyan)}
.acf2 .acf2-card:focus-within a:focus-visible{outline:none}
.acf2 .acf2-card__body{flex:1;min-width:0}
.acf2 .acf2-label{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;padding:4px 9px;border-radius:4px;
  background:#e6f0f8;color:var(--acf2-blue-ink);font:700 11.5px/1.2 var(--acf2-head);letter-spacing:.08em;text-transform:uppercase}
.acf2 .acf2-label svg{width:12px;height:12px}
.acf2 .acf2-card h3{margin:0 0 4px;padding:0;font:600 17.5px/1.32 var(--acf2-head);letter-spacing:-0.015em;color:var(--acf2-navy);text-transform:none}
.acf2 .acf2-card h3 a{color:inherit!important;text-decoration:none!important}
.acf2 .acf2-card h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.acf2 .acf2-areas{margin:0;font-size:13.5px;line-height:1.5;color:var(--acf2-muted)}
.acf2 .acf2-cta{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  background:var(--acf2-navy);color:#fff;transition:background .2s}
.acf2 .acf2-cta svg{width:16px;height:16px;transition:transform .2s}
.acf2 .acf2-cta span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.acf2 .acf2-card:hover .acf2-cta{background:var(--acf2-blue)}
.acf2 .acf2-card:hover .acf2-cta svg{transform:translateX(2px)}

/* ---------- Library banner ---------- */
.acf2 .acf2-lib{margin-top:32px;border-radius:14px;padding:28px 24px;display:grid;gap:18px;align-items:center;
  background:radial-gradient(600px 240px at 100% 0,rgba(1,176,217,.25),transparent 60%),linear-gradient(120deg,var(--acf2-navy),var(--acf2-navy-deep));color:#fff}
.acf2 .acf2-lib h2{margin:0 0 6px;padding:0;color:#fff;font:600 clamp(21px,2.4vw,26px)/1.25 var(--acf2-head);letter-spacing:-0.02em;text-transform:none}
.acf2 .acf2-lib p{margin:0;color:#e3e7f0;font-size:16px;line-height:1.6;max-width:60ch}
@media (min-width:768px){.acf2 .acf2-lib{grid-template-columns:1fr auto;padding:32px 40px;gap:32px}}
.acf2 .acf2-libwrap{background:var(--acf2-alt);padding:40px 0 56px}
.acf2 .acf2-lib--soft{background:#fff;color:var(--acf2-text);border:1px solid var(--acf2-line);border-left:6px solid var(--acf2-blue);margin-top:0}
.acf2 .acf2-lib--soft h2{color:var(--acf2-navy)}
.acf2 .acf2-lib--soft p{color:var(--acf2-muted)}

/* ---------- 2.2: library links on 0-course pages (sidebar card) ---------- */
.acf2 .acf2-aside--lib h3.acf2-links__h{margin:22px 0 10px;padding:16px 0 0;border-top:1px solid var(--acf2-line);font:700 12px/1.2 var(--acf2-head);
  letter-spacing:.1em;text-transform:uppercase;color:var(--acf2-muted)}
.acf2 .acf2-links{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.acf2 .acf2-links li{margin:0;padding:0}
.acf2 .acf2-links li::marker{content:none}
.acf2 .acf2-links a{position:relative;display:flex;align-items:center;gap:12px;padding:11px 12px 11px 16px;background:#fff;border:1px solid var(--acf2-line);
  border-radius:8px;overflow:hidden;text-decoration:none!important;color:var(--acf2-navy)!important;transition:border-color .2s,box-shadow .2s}
.acf2 .acf2-links a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--acf2-navy);transition:background .2s}
.acf2 .acf2-links a:hover{border-color:#c5d3e2;box-shadow:0 8px 18px rgba(18,57,95,.10)}
.acf2 .acf2-links a:hover::before{background:var(--acf2-cyan)}
.acf2 .acf2-links__body{flex:1;min-width:0}
.acf2 .acf2-links__t{display:block;font:600 15px/1.3 var(--acf2-head);color:var(--acf2-navy)}
.acf2 .acf2-links__d{display:block;margin-top:2px;font-size:13px;line-height:1.45;color:var(--acf2-muted)}
.acf2 .acf2-links__go{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--acf2-navy);color:#fff;transition:background .2s}
.acf2 .acf2-links__go svg{width:14px;height:14px}
.acf2 .acf2-links a:hover .acf2-links__go{background:var(--acf2-blue)}
@media (min-width:600px) and (max-width:1023px){.acf2 .acf2-links{grid-template-columns:1fr 1fr}}

/* ---------- 2.2: Free Trial band (only when enabled) ---------- */
.acf2 .acf2-trialwrap{background:#fff;padding:44px 0 56px}
.acf2 .acf2-trial{position:relative;display:grid;gap:20px;align-items:center;border-radius:14px;padding:26px 24px;overflow:hidden;
  background:linear-gradient(120deg,#e9f3fb 0%,#f5f9fd 100%);border:1px solid #cfe1f0;border-left:6px solid var(--acf2-cyan)}
.acf2 .acf2-trial__eyebrow{margin:0 0 8px;font:700 12px/1 var(--acf2-head);letter-spacing:.14em;text-transform:uppercase;color:var(--acf2-blue-ink)}
.acf2 .acf2-trial h2{margin:0 0 8px;padding:0;color:var(--acf2-navy);font:600 clamp(21px,2.4vw,26px)/1.25 var(--acf2-head);letter-spacing:-0.02em;text-transform:none}
.acf2 .acf2-trial p{margin:0;color:var(--acf2-text);font-size:16px;line-height:1.6;max-width:62ch}
.acf2 .acf2-trial__act{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.acf2 .acf2-trial .acf2-trial__note{display:inline-flex;align-items:center;gap:6px;font:500 14px/1.3 var(--acf2-head);color:var(--acf2-muted)}
.acf2 .acf2-trial__note svg{width:14px;height:14px;color:#1a8a5a}
@media (min-width:768px){.acf2 .acf2-trial{grid-template-columns:1fr auto;padding:30px 40px;gap:32px}.acf2 .acf2-trial__act{align-items:center}}
/* After the course list: continue the grey course section instead of starting a new white one */
.acf2 .acf2-trialwrap--alt{background:var(--acf2-alt);padding-top:0}

@media (prefers-reduced-motion:reduce){.acf2 *{transition:none!important}.acf2 .acf2-card:hover{transform:none}}
