
@font-face{
  font-family:"Helvetica Neue Insight";
  src:url("fonts/HelveticaNeue-Regular.ttf") format("truetype");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Helvetica Neue Insight";
  src:url("fonts/Helvetica Neue LT 65 Medium.ttf") format("truetype");
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Helvetica Neue Insight";
  src:url("fonts/Helvetica Neue LT 75 Bold.ttf") format("truetype");
  font-weight:700;font-style:normal;font-display:swap;
}

:root{
  --purple:#3e2780;
  --light-purple:#714c92;
  --orange:#ed762b;
  --yellow:#f0de21;
  --ink:#282536;
  --muted:#666273;
  --soft:#f8f7fb;
  --line:#e7e1f2;
  --white:#fff;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Helvetica Neue Insight","Helvetica Neue",Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.55;
}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}

.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid rgba(62,39,128,.10);
  backdrop-filter:blur(10px);
}
.header-inner{min-height:78px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;text-decoration:none;flex:0 0 auto;padding:4px 0}
.brand img{width:218px;height:auto}
.nav{margin-left:auto;display:flex;gap:27px;align-items:center}
.nav a{
  text-decoration:none;font-size:.95rem;color:#403b4c;font-weight:500;
  padding:28px 0 24px;border-bottom:3px solid transparent;
}
.nav a:hover,.nav a.active{color:var(--purple);border-bottom-color:var(--purple)}
.mobile-toggle{display:none;margin-left:auto;border:0;background:none;font-size:1.7rem;color:var(--purple)}

.hero{
  min-height:560px;
  display:grid;grid-template-columns:minmax(340px,.86fr) minmax(0,1.4fr);
  background:var(--purple);
}
.hero-copy{
  position:relative;z-index:2;
  background:linear-gradient(112deg,#2a1858 0%,var(--purple) 76%,var(--purple) 100%);
  color:#fff;
  padding:74px max(40px,calc((100vw - var(--max))/2 + 20px)) 70px max(40px,calc((100vw - var(--max))/2 + 20px));
  padding-right:52px;
  display:flex;flex-direction:column;justify-content:center;
}
.hero-photo{min-height:560px;overflow:hidden;position:relative}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-photo:before{
  content:"";position:absolute;inset:0 auto 0 0;width:17%;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,var(--purple) 0%,rgba(62,39,128,.54) 28%,rgba(62,39,128,.16) 67%,rgba(62,39,128,0) 100%);
}
.eyebrow{
  text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:.86rem;
  color:var(--purple);margin-bottom:10px
}
.hero .eyebrow{color:#fff2a0}
.hero h1,.section-title,.program h2,.cta-primary h2,.placeholder h1{
  font-family:"Helvetica Neue Insight","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:500;line-height:1.05;margin:0;
}
.hero h1{font-size:clamp(2.8rem,4.7vw,4.8rem);letter-spacing:-.03em}
.hero-lead{font-weight:700;font-size:1.12rem;line-height:1.35;margin:22px 0 12px}
.hero-body{font-size:1.02rem;max-width:560px;margin:0 0 24px;color:#f3f0f7}
.button-row{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  display:inline-block;text-decoration:none;border-radius:6px;padding:13px 19px;
  font-weight:700;font-size:.95rem;border:2px solid transparent;
}
.btn-gold{background:var(--yellow);color:#2e2450}
.btn-purple{background:var(--purple);color:#fff}
.btn-outline{border-color:var(--purple);color:var(--purple);background:#fff}
.btn-light{background:#fff;color:var(--purple)}

.recognition{padding:58px 0 56px;text-align:center}
.recognition .section-title{
  font-size:clamp(2rem,3.15vw,2.9rem);color:var(--purple);
  max-width:1000px;margin:0 auto 15px;letter-spacing:-.02em
}
.recognition .section-title .line{display:block}
.recognition .intro{max-width:880px;margin:0 auto 38px;color:var(--muted)}
.reasons{display:grid;grid-template-columns:repeat(6,1fr);gap:21px}
.reason{font-size:.88rem;font-weight:600}
.icon{
  width:56px;height:56px;margin:0 auto 11px;border-radius:50%;
  display:grid;place-items:center;background:#f2eef9;color:var(--purple)
}
.icon svg{
  width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round
}
.recognition-close{margin:31px auto 0;max-width:820px;font-weight:500;color:#514b5d}

.split{display:grid;grid-template-columns:1fr 1fr;min-height:480px;background:#fff}
.split-image{overflow:hidden;min-height:480px;position:relative}
.split-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.split-image:after{
  content:"";position:absolute;inset:0 0 0 auto;width:15%;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.97));
}
.split-copy{
  padding:64px max(40px,calc((100vw - var(--max))/2 + 20px)) 64px 56px;
  display:flex;flex-direction:column;justify-content:center;
}
.split.reverse .split-copy{padding:64px 56px 64px max(40px,calc((100vw - var(--max))/2 + 20px))}
.split.reverse .split-image{order:2}
.split.reverse .split-copy{order:1}
.split.reverse .split-image:after{
  inset:0 auto 0 0;
  background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,0));
}
.section-title{
  font-size:clamp(2.35rem,3.6vw,3.35rem);color:var(--purple);
  margin-bottom:17px;letter-spacing:-.02em
}
.section-label{
  color:var(--purple);font-size:1.16rem;line-height:1.1;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:13px;
}
.split p{color:#5c5867;max-width:590px}
.split .btn{align-self:flex-start;margin-top:10px}

.credibility{padding:50px 0 47px;text-align:center;background:#faf9fc}
.credibility h2{
  color:var(--purple);font-size:clamp(2.1rem,3vw,2.8rem);
  font-weight:500;letter-spacing:-.02em;margin:0 0 29px
}
.cred-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:970px;margin:auto}
.cred-item strong{display:block;color:var(--purple);font-size:1.2rem;margin-bottom:6px}
.cred-item span{color:#65606f;font-size:.95rem}

.program{display:grid;grid-template-columns:1fr 1fr;min-height:440px;background:#fff}
.program .copy{padding:58px 60px;display:flex;flex-direction:column;justify-content:center}
.program .image{overflow:hidden;min-height:440px;position:relative}
.program .image img{width:100%;height:100%;object-fit:cover}
.program.insight-one .image:after{
  content:"";position:absolute;inset:0 auto 0 0;width:15%;
  background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,0));
}
.program.insight-two .image:after{
  content:"";position:absolute;inset:0 0 0 auto;width:15%;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.97));
}
.program h2{
  font-size:clamp(2.35rem,3.55vw,3.3rem);color:var(--purple);
  margin-bottom:10px;letter-spacing:-.02em
}
.program .eyebrow{font-size:1.14rem;letter-spacing:.08em;margin-bottom:12px}
.program p{color:#5f5a67;margin-top:0}
.program ul{padding:0;margin:7px 0 18px;list-style:none}
.program li{margin:7px 0;padding-left:20px;position:relative}
.program li:before{
  content:"";width:8px;height:8px;background:var(--orange);border-radius:50%;
  position:absolute;left:0;top:.52em
}
.program .btn{align-self:flex-start}
.program.insight-two .image{order:1}
.program.insight-two .copy{order:2}

.cta-primary{
  display:grid;grid-template-columns:1fr 1fr;min-height:365px;background:#faf8fd
}
.cta-primary .copy{
  padding:56px 60px 56px max(40px,calc((100vw - var(--max))/2 + 20px));
  display:flex;flex-direction:column;justify-content:center
}
.cta-primary .image{overflow:hidden;position:relative}
.cta-primary .image img{width:100%;height:100%;object-fit:cover;object-position:center}
.cta-primary .image:after{
  content:"";position:absolute;inset:0 auto 0 0;width:17%;
  background:linear-gradient(90deg,rgba(250,248,253,.98),rgba(250,248,253,0));
}
.cta-primary h2{
  font-size:clamp(3.3rem,5vw,5rem);color:var(--purple);margin-bottom:9px;
  font-weight:500;letter-spacing:-.035em
}
.cta-primary .cta-program{
  color:var(--purple);font-size:1.15rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;margin:0 0 4px
}
.cta-primary .date{font-weight:700;color:#292238;margin-bottom:13px;font-size:1.06rem}
.cta-primary p{max-width:550px;color:#625d6a}

.cta-cards{padding:38px 0 56px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.card{
  border:1px solid var(--line);border-radius:8px;padding:28px;text-align:center;background:#fff;
  display:flex;flex-direction:column;align-items:center
}
.card h3{color:var(--purple);font-weight:500;font-size:1.45rem;margin:5px 0 9px}
.card p{color:#696474;margin-bottom:20px}
.card .icon{width:48px;height:48px;flex:0 0 auto}
.card .btn{margin-top:auto;min-width:165px}

.site-footer{background:var(--purple);color:#fff;padding:31px 0}
.footer-inner{display:flex;align-items:center;gap:26px}
.footer-logo{width:185px}
.footer-nav{display:flex;gap:21px;margin-left:auto;flex-wrap:wrap}
.footer-nav a{text-decoration:none;color:#fff;font-size:.88rem}
.footer-tag{margin-left:20px;font-style:italic;font-size:.9rem;color:#eee5ff}

.placeholder-page{min-height:100vh;background:linear-gradient(145deg,#f8f5fd,#fff)}
.placeholder{max-width:760px;margin:0 auto;text-align:center;padding:105px 25px 120px}
.placeholder h1{color:var(--purple);font-size:clamp(2.7rem,6vw,4.8rem);margin-bottom:16px}
.placeholder .kicker{font-weight:700;color:var(--orange);letter-spacing:.12em;text-transform:uppercase}
.placeholder p{font-size:1.1rem;color:#625d6c;max-width:650px;margin:12px auto}
.placeholder .button-row{justify-content:center;margin-top:26px}

@media (max-width:900px){
  .header-inner{min-height:68px}
  .brand img{width:185px}
  .mobile-toggle{display:block}
  .nav{
    display:none;position:absolute;left:0;right:0;top:68px;background:#fff;
    flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line);
    box-shadow:0 10px 24px rgba(0,0,0,.08)
  }
  .nav.open{display:flex}
  .nav a{padding:15px 24px;border-bottom:1px solid var(--line)}
  .hero{grid-template-columns:1fr}
  .hero-copy{padding:58px 28px}
  .hero-photo{min-height:390px}
  .hero-photo:before{
    width:100%;height:22%;inset:0 0 auto 0;
    background:linear-gradient(180deg,var(--purple),rgba(62,39,128,0))
  }
  .reasons{grid-template-columns:repeat(2,1fr)}
  .split,.program,.cta-primary{grid-template-columns:1fr}
  .split-image,.program .image{min-height:380px}
  .split-copy,.split.reverse .split-copy,.program .copy,.cta-primary .copy{padding:48px 28px}
  .split.reverse .split-image,.split.reverse .split-copy,.program.insight-two .image,.program.insight-two .copy{order:initial}
  .split-image:after,.split.reverse .split-image:after,.program.insight-one .image:after,.program.insight-two .image:after,.cta-primary .image:after{
    inset:auto 0 0 0;width:100%;height:16%;
    background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.98))
  }
  .cta-primary .image{min-height:330px}
  .cards{grid-template-columns:1fr}
  .cred-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;text-align:center}
  .footer-nav,.footer-tag{margin-left:0;justify-content:center}
}
@media (max-width:560px){
  .container{width:min(var(--max),calc(100% - 28px))}
  .hero h1{font-size:2.65rem}
  .recognition .section-title .line{display:inline}
  .reasons{grid-template-columns:1fr}
  .hero-photo{min-height:300px}
  .split-image,.program .image{min-height:300px}
}


/* ==========================================================
   COLORADO INSIGHT V3 — LOCKED DESIGN OVERRIDES
   These rules intentionally change presentation only.
   Approved homepage copy is not changed.
   ========================================================== */

/* Prefer the web-optimized WOFF2 brand fonts already installed on the droplet. */
@font-face{
  font-family:"Aktiv Insight";
  src:url("fonts/AktivGroteskCorp-Regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Aktiv Insight";
  src:url("fonts/AktivGroteskCorp-Medium.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Aktiv Insight";
  src:url("fonts/AktivGroteskCorp-Bold.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Futura Insight";
  src:url("fonts/FuturaPTBook.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Futura Insight";
  src:url("fonts/FuturaPTMedium.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Futura Insight";
  src:url("fonts/FuturaPTDemi.woff2") format("woff2");
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Futura Insight";
  src:url("fonts/FuturaPTBold.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap;
}

body{
  font-family:"Aktiv Insight","Helvetica Neue",Helvetica,Arial,sans-serif;
  color:#37323f;
  font-weight:400;
}
.hero h1,
.section-title,
.program h2,
.cta-primary h2,
.credibility h2,
.placeholder h1{
  font-family:"Futura Insight","Aktiv Insight","Helvetica Neue",Helvetica,Arial,sans-serif;
}

/* Stronger contrast/readability on white and light backgrounds. */
.recognition .intro,
.recognition-close,
.split p,
.program p,
.program li,
.cta-primary p,
.card p,
.cred-item span,
.placeholder p{
  color:#45404d;
}
.split p,
.program p,
.cta-primary p,
.card p,
.recognition .intro{
  font-weight:400;
}
.split p strong{color:#37323f;font-weight:700}

/* Hero typography: modestly larger, with stronger supporting text. */
.hero{
  grid-template-columns:minmax(390px,.94fr) minmax(0,1.31fr);
}
.hero h1{
  font-size:clamp(3.05rem,5vw,5.15rem);
  line-height:1.01;
}
.hero-lead{
  font-size:1.27rem;
  line-height:1.4;
}
.hero-body{
  font-size:1.13rem;
  line-height:1.55;
  color:#fff;
  font-weight:500;
}

/* Keep the hero blend smooth and restrained. */
.hero-photo:before{
  width:20%;
  background:linear-gradient(
    90deg,
    var(--purple) 0%,
    rgba(62,39,128,.78) 18%,
    rgba(62,39,128,.46) 42%,
    rgba(62,39,128,.18) 68%,
    rgba(62,39,128,0) 100%
  );
}

/* Larger section identifiers. */
.recognition > .container > .eyebrow{
  font-size:1.34rem;
  letter-spacing:.09em;
  margin-bottom:14px;
}
.section-label{
  font-size:1.46rem;
  letter-spacing:.075em;
  margin-bottom:15px;
}
.program .eyebrow{
  font-size:1.46rem;
  letter-spacing:.075em;
  margin-bottom:14px;
}
.cta-primary h2{
  font-size:clamp(3.7rem,5.4vw,5.45rem);
}

/* ------------------------------------------------------------------
   PHOTO FADES
   The photo containers extend beyond their grid cells.
   A broad white/light gradient sits OUTSIDE the subject-facing edge,
   which prevents people such as Joey from being faded.
   Images retain their aspect ratio with object-fit:cover.
   No purple is added to these row fades.
   ------------------------------------------------------------------ */
.split,
.program,
.cta-primary{
  overflow:hidden;
  position:relative;
}

/* Experience: photo left, text right. */
.split{
  grid-template-columns:55% 45%;
}
.split-image{
  width:121%;
  overflow:hidden;
  position:relative;
  z-index:0;
}
.split-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.split-image:after{display:none}
.split-copy{
  position:relative;
  z-index:2;
  background:#fff;
}
.split-copy:before{
  content:"";
  position:absolute;
  top:0;bottom:0;
  left:-31%;
  width:31%;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.10) 20%,
    rgba(255,255,255,.35) 45%,
    rgba(255,255,255,.72) 72%,
    #fff 100%
  );
}

/* Insight I: text left, photo right. */
.program.insight-one{
  grid-template-columns:46% 54%;
}
.program.insight-one .copy{
  position:relative;
  z-index:2;
  background:#fff;
}
.program.insight-one .copy:after{
  content:"";
  position:absolute;
  top:0;bottom:0;
  right:-31%;
  width:31%;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    #fff 0%,
    rgba(255,255,255,.72) 28%,
    rgba(255,255,255,.35) 55%,
    rgba(255,255,255,.10) 80%,
    rgba(255,255,255,0) 100%
  );
}
.program.insight-one .image{
  width:121%;
  margin-left:-21%;
  z-index:0;
}
.program.insight-one .image:after{display:none}

/* Insight II: photo left, text right. */
.program.insight-two{
  grid-template-columns:54% 46%;
}
.program.insight-two .image{
  width:121%;
  z-index:0;
}
.program.insight-two .image:after{display:none}
.program.insight-two .copy{
  position:relative;
  z-index:2;
  background:#fff;
}
.program.insight-two .copy:before{
  content:"";
  position:absolute;
  top:0;bottom:0;
  left:-31%;
  width:31%;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.10) 20%,
    rgba(255,255,255,.35) 45%,
    rgba(255,255,255,.72) 72%,
    #fff 100%
  );
}

/* Start Your Journey: text left, selected CTA photo right. */
.cta-primary{
  grid-template-columns:46% 54%;
}
.cta-primary .copy{
  position:relative;
  z-index:2;
  background:#faf8fd;
}
.cta-primary .copy:after{
  content:"";
  position:absolute;
  top:0;bottom:0;
  right:-31%;
  width:31%;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    #faf8fd 0%,
    rgba(250,248,253,.76) 28%,
    rgba(250,248,253,.38) 55%,
    rgba(250,248,253,.10) 80%,
    rgba(250,248,253,0) 100%
  );
}
.cta-primary .image{
  width:121%;
  margin-left:-21%;
  z-index:0;
}
.cta-primary .image:after{display:none}

/* Preserve all photo proportions. */
.split-image img,
.program .image img,
.cta-primary .image img{
  object-fit:cover;
  object-position:center;
}

/* Mobile: stack photos cleanly; specifically put Insight I photo ABOVE its text. */
@media (max-width:900px){
  .hero{
    grid-template-columns:1fr;
  }
  .hero h1{
    font-size:clamp(3rem,10vw,4.1rem);
  }
  .hero-lead{font-size:1.18rem}
  .hero-body{font-size:1.06rem}

  .recognition > .container > .eyebrow,
  .section-label,
  .program .eyebrow{
    font-size:1.28rem;
  }

  .split,
  .program.insight-one,
  .program.insight-two,
  .cta-primary{
    grid-template-columns:1fr;
  }

  .split-image,
  .program.insight-one .image,
  .program.insight-two .image,
  .cta-primary .image{
    width:100%;
    margin-left:0;
  }

  .split-copy:before,
  .program.insight-one .copy:after,
  .program.insight-two .copy:before,
  .cta-primary .copy:after{
    display:none;
  }

  /* Locked mobile behavior: Insight I image first, text second. */
  .program.insight-one .image{order:1}
  .program.insight-one .copy{order:2}

  /* Keep the other approved section sequence intact. */
  .program.insight-two .image{order:1}
  .program.insight-two .copy{order:2}
}

@media (max-width:560px){
  .hero h1{font-size:3.05rem}
  .cta-primary h2{font-size:3.35rem}
}
