@import url("compass-taping.css");

.cas-coaching-page,
.cas-coaching-page *{box-sizing:border-box}

.cas-coaching-page{overflow:hidden}

.cas-coaching-page h1,
.cas-coaching-page h2,
.cas-coaching-page h3{
  color:var(--cas-ink);
  font-family:"Sora",sans-serif;
  font-weight:700;
  letter-spacing:-.035em;
  margin-top:0
}

.cas-coaching-page p,
.cas-coaching-page li{
  color:var(--cas-ink);
  font-size:19px;
  line-height:1.62
}

.cas-coaching-page .cas-shell{
  margin-left:auto;
  margin-right:auto;
  max-width:1180px;
  padding-left:34px;
  padding-right:34px
}

.cas-coaching-page .cas-kicker{
  color:var(--cas-teal);
  font-family:"Sora",sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.18em;
  margin:0 0 20px;
  text-transform:uppercase
}

.cas-coaching-page .wp-block-buttons{gap:14px}

.cas-coaching-page .wp-block-button__link{
  background:var(--cas-teal);
  border:2px solid var(--cas-teal);
  border-radius:999px;
  color:#fff;
  font-family:"Sora",sans-serif;
  font-size:15px;
  font-weight:700;
  padding:15px 24px;
  text-decoration:none
}

.cas-coaching-page .wp-block-button__link:hover,
.cas-coaching-page .wp-block-button__link:focus{
  background:#074c52;
  border-color:#074c52;
  color:#fff
}

.cas-coaching-page .is-style-outline .wp-block-button__link{
  background:transparent;
  color:var(--cas-ink)
}

.cas-coaching-page .is-style-outline .wp-block-button__link:hover,
.cas-coaching-page .is-style-outline .wp-block-button__link:focus{
  background:var(--cas-ink);
  border-color:var(--cas-ink);
  color:#fff
}

.cas-coaching-hero{
  background:
    radial-gradient(circle at 92% 9%,rgba(91,157,165,.19),transparent 29%),
    linear-gradient(135deg,#fff 0%,#eef7f7 100%);
  padding:92px 0 88px;
  position:relative
}

.cas-coaching-hero-grid{
  align-items:center;
  display:grid;
  gap:68px;
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)
}

.cas-coaching-hero h1{
  font-size:clamp(48px,6vw,78px);
  line-height:1.02;
  margin-bottom:27px;
  max-width:790px
}

.cas-coaching-hero .cas-lede{
  font-size:23px;
  line-height:1.55;
  margin:0 0 33px;
  max-width:760px
}

.cas-session-card{
  background:rgba(255,255,255,.97);
  border:1px solid var(--cas-line);
  border-radius:26px;
  box-shadow:22px 24px 0 #b9dce1,0 32px 70px rgba(16,47,56,.15);
  overflow:hidden;
  transform:rotate(1deg)
}

.cas-session-option{
  padding:30px 34px
}

.cas-session-option + .cas-session-option{border-top:1px solid var(--cas-line)}

.cas-session-option .cas-session-time{
  color:var(--cas-teal);
  font-family:"Sora",sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.14em;
  margin:0 0 7px;
  text-transform:uppercase
}

.cas-session-option .cas-price{
  font-family:"Sora",sans-serif;
  font-size:48px;
  font-weight:700;
  letter-spacing:-.05em;
  line-height:1;
  margin:0 0 12px
}

.cas-session-option p:last-child{
  font-size:17px;
  line-height:1.45;
  margin:0
}

.cas-coaching-page .cas-format-strip{
  background:var(--cas-ink);
  color:#fff;
  font-family:"Sora",sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.06em;
  margin:0;
  padding:17px 28px;
  text-align:center;
  text-transform:uppercase
}

.cas-problem-section,
.cas-process-section,
.cas-personal-section,
.cas-faq-section{padding:94px 0}

.cas-section-intro{
  margin-bottom:44px;
  max-width:760px
}

.cas-section-intro h2,
.cas-service-route h2,
.cas-choice-section h2,
.cas-personal-copy h2,
.cas-final-cta h2{
  font-size:clamp(36px,4.8vw,58px);
  line-height:1.08;
  margin-bottom:22px
}

.cas-section-intro p{margin-bottom:0}

.cas-card-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(2,minmax(0,1fr))
}

.cas-need-card{
  background:#fff;
  border:1px solid var(--cas-line);
  border-radius:20px;
  min-height:188px;
  padding:30px
}

.cas-need-card:nth-child(1){background:#fff;border-top:7px solid #3f858c}
.cas-need-card:nth-child(2){background:#eaf5f6;border-top:7px solid #7bb2b8}
.cas-need-card:nth-child(3){background:#dcebed;border-top:7px solid #0b6269}
.cas-need-card:nth-child(4){background:#e7eff2;border-top:7px solid #7f9aa5}

.cas-number{
  color:var(--cas-soft-teal);
  font-family:"Sora",sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.12em;
  margin:0 0 14px
}

.cas-need-card h3{
  font-size:25px;
  line-height:1.2;
  margin-bottom:11px
}

.cas-need-card p{
  font-size:17px;
  line-height:1.5;
  margin:0
}

.cas-work-section{
  background:var(--cas-ink);
  padding:92px 0
}

.cas-work-section h2,
.cas-work-section p,
.cas-work-section li{color:#fff}

.cas-work-section .cas-kicker{color:#9bcbd0}

.cas-work-grid{
  display:grid;
  gap:66px;
  grid-template-columns:.8fr 1.2fr
}

.cas-work-copy h2{
  font-size:clamp(38px,5vw,58px);
  line-height:1.08;
  margin-bottom:22px
}

.cas-work-list{
  display:grid;
  gap:0;
  grid-template-columns:repeat(2,minmax(0,1fr));
  list-style:none;
  margin:0;
  padding:0
}

.cas-work-list li{
  border-top:1px solid rgba(255,255,255,.24);
  font-size:18px;
  margin-right:28px;
  padding:17px 0
}

.cas-process-grid{
  counter-reset:steps;
  display:grid;
  gap:18px;
  grid-template-columns:repeat(4,minmax(0,1fr))
}

.cas-process-card{
  background:#fff;
  border-radius:20px;
  min-height:245px;
  padding:28px
}

.cas-process-card:nth-child(1){background:#fff;border-top:7px solid #3f858c}
.cas-process-card:nth-child(2){background:#eaf5f6;border-top:7px solid #7bb2b8}
.cas-process-card:nth-child(3){background:#dcebed;border-top:7px solid #0b6269}
.cas-process-card:nth-child(4){background:#e7eff2;border-top:7px solid #7f9aa5}

.cas-process-card:before{
  color:var(--cas-teal);
  content:counter(steps,decimal-leading-zero);
  counter-increment:steps;
  display:block;
  font-family:"Sora",sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.12em;
  margin-bottom:42px
}

.cas-process-card h3{
  font-size:23px;
  line-height:1.2;
  margin-bottom:12px
}

.cas-process-card p{
  font-size:16px;
  line-height:1.5;
  margin:0
}

.cas-choice-section{
  background:linear-gradient(135deg,#e4f1f2,#f7fbfb);
  padding:92px 0
}

.cas-choice-grid{
  display:grid;
  gap:24px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:42px
}

.cas-choice-card{
  background:#fff;
  border:1px solid var(--cas-line);
  border-radius:24px;
  padding:38px
}

.cas-choice-card.cas-featured{
  border:2px solid var(--cas-teal);
  box-shadow:0 22px 60px rgba(13,48,57,.12)
}

.cas-choice-card .cas-choice-label{
  color:var(--cas-teal);
  font-family:"Sora",sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.14em;
  margin:0 0 12px;
  text-transform:uppercase
}

.cas-choice-card h3{
  font-size:34px;
  margin-bottom:9px
}

.cas-choice-card .cas-choice-price{
  color:var(--cas-teal);
  font-family:"Sora",sans-serif;
  font-size:42px;
  font-weight:700;
  line-height:1;
  margin:0 0 20px
}

.cas-choice-card p{font-size:17px}

.cas-choice-card .wp-block-button{margin-top:12px}

.cas-service-route{padding:92px 0}

.cas-route-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:42px
}

.cas-route-card{
  border:1px solid var(--cas-line);
  border-radius:20px;
  padding:30px
}

.cas-route-card:nth-child(2){
  background:#eaf5f6;
  border-top:7px solid #7bb2b8
}

.cas-route-card:nth-child(3){
  background:#dcebed;
  border-top:7px solid #0b6269
}

.cas-route-card.cas-current{
  background:var(--cas-teal);
  border-color:var(--cas-teal);
  border-top:7px solid #3f858c
}

.cas-route-card.cas-current h3,
.cas-route-card.cas-current p{color:#fff}

.cas-route-card h3{
  font-size:25px;
  margin-bottom:12px
}

.cas-route-card p{
  font-size:16px;
  line-height:1.5;
  margin-bottom:17px
}

.cas-route-card a{
  color:var(--cas-teal);
  font-family:"Sora",sans-serif;
  font-size:15px;
  font-weight:700
}

.cas-route-card.cas-current a{color:#fff}

.cas-personal-section{background:var(--cas-pale)}

.cas-personal-grid{
  align-items:center;
  display:grid;
  gap:76px;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr)
}

.cas-headshot-frame{
  margin:18px 0 22px 20px;
  position:relative
}

.cas-headshot-frame:before{
  background:#81b6bc;
  border-radius:26px;
  content:"";
  inset:-18px 18px 18px -18px;
  position:absolute
}

.cas-headshot-frame:before{z-index:0}

.cas-headshot-frame figure{
  margin:0;
  position:relative;
  z-index:1
}

.cas-headshot-frame img{
  border-radius:22px;
  display:block;
  position:relative;
  width:100%;
  z-index:1
}

.cas-personal-copy p{max-width:680px}

.cas-testimonial{
  border-left:4px solid var(--cas-soft-teal);
  margin:32px 0 0;
  padding:3px 0 3px 25px
}

.cas-testimonial p{
  font-family:"Sora",sans-serif;
  font-size:22px;
  font-weight:600;
  line-height:1.45;
  margin:0 0 10px
}

.cas-testimonial cite{
  color:var(--cas-teal);
  font-size:15px;
  font-style:normal;
  font-weight:700
}

.cas-faq-section .cas-section-intro{margin-bottom:34px}

.cas-faq-list{max-width:900px}

.cas-faq-list details{
  border-top:1px solid var(--cas-line);
  padding:22px 0
}

.cas-faq-list details:last-child{border-bottom:1px solid var(--cas-line)}

.cas-faq-list summary{
  color:var(--cas-ink);
  cursor:pointer;
  font-family:"Sora",sans-serif;
  font-size:20px;
  font-weight:700
}

.cas-faq-list details p{
  font-size:17px;
  margin:14px 0 0;
  max-width:820px
}

.cas-final-cta{
  background:
    radial-gradient(circle at 90% 20%,rgba(155,203,208,.16),transparent 28%),
    var(--cas-ink);
  padding:88px 0;
  text-align:center
}

.cas-final-cta h2,
.cas-final-cta p{color:#fff}

.cas-final-cta p{
  margin:0 auto 28px;
  max-width:700px
}

.cas-final-cta .wp-block-buttons{justify-content:center}

.cas-final-cta .wp-block-button__link{
  background:#fff;
  border-color:#fff;
  color:var(--cas-ink)
}

@media (max-width:900px){
  .cas-coaching-hero-grid,
  .cas-work-grid,
  .cas-personal-grid{grid-template-columns:1fr}
  .cas-coaching-hero-grid{gap:50px}
  .cas-session-card{max-width:620px;transform:none}
  .cas-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cas-route-grid{grid-template-columns:1fr}
  .cas-personal-grid{gap:48px}
  .cas-headshot-frame{max-width:560px}
}


/* Genesis compatibility: older block rendering adds an inner container around Group children. */
.cas-coaching-hero-grid,
.cas-card-grid,
.cas-work-grid,
.cas-process-grid,
.cas-choice-grid,
.cas-route-grid,
.cas-personal-grid{display:block}

.cas-coaching-hero-grid > .wp-block-group__inner-container,
.cas-card-grid > .wp-block-group__inner-container,
.cas-work-grid > .wp-block-group__inner-container,
.cas-process-grid > .wp-block-group__inner-container,
.cas-choice-grid > .wp-block-group__inner-container,
.cas-route-grid > .wp-block-group__inner-container,
.cas-personal-grid > .wp-block-group__inner-container{
  display:grid
}

.cas-coaching-hero-grid > .wp-block-group__inner-container{
  align-items:center;
  gap:68px;
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)
}

.cas-card-grid > .wp-block-group__inner-container{
  gap:18px;
  grid-template-columns:repeat(2,minmax(0,1fr))
}

.cas-work-grid > .wp-block-group__inner-container{
  gap:66px;
  grid-template-columns:.8fr 1.2fr
}

.cas-process-grid > .wp-block-group__inner-container{
  gap:18px;
  grid-template-columns:repeat(4,minmax(0,1fr))
}

.cas-choice-grid > .wp-block-group__inner-container{
  gap:24px;
  grid-template-columns:repeat(2,minmax(0,1fr))
}

.cas-route-grid > .wp-block-group__inner-container{
  gap:18px;
  grid-template-columns:repeat(3,minmax(0,1fr))
}

.cas-personal-grid > .wp-block-group__inner-container{
  align-items:center;
  gap:76px;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr)
}

@media (max-width:900px){
  .cas-coaching-hero-grid > .wp-block-group__inner-container,
  .cas-work-grid > .wp-block-group__inner-container,
  .cas-personal-grid > .wp-block-group__inner-container{grid-template-columns:1fr}
  .cas-coaching-hero-grid > .wp-block-group__inner-container{gap:50px}
  .cas-process-grid > .wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cas-route-grid > .wp-block-group__inner-container{grid-template-columns:1fr}
  .cas-personal-grid > .wp-block-group__inner-container{gap:48px}
}

@media (max-width:700px){
  .cas-card-grid > .wp-block-group__inner-container,
  .cas-choice-grid > .wp-block-group__inner-container,
  .cas-process-grid > .wp-block-group__inner-container{grid-template-columns:1fr}
}

@media (max-width:700px){
  .cas-coaching-page .cas-shell{padding-left:22px;padding-right:22px}
  .cas-coaching-hero{padding:66px 0 70px}
  .cas-coaching-hero h1{font-size:44px}
  .cas-coaching-hero .cas-lede{font-size:20px}
  .cas-problem-section,
  .cas-process-section,
  .cas-personal-section,
  .cas-faq-section,
  .cas-work-section,
  .cas-choice-section,
  .cas-service-route{padding:70px 0}
  .cas-card-grid,
  .cas-choice-grid,
  .cas-process-grid,
  .cas-work-list{grid-template-columns:1fr}
  .cas-process-card{min-height:0}
  .cas-process-card:before{margin-bottom:24px}
  .cas-work-list li{margin-right:0}
  .cas-session-option{padding:26px}
  .cas-headshot-frame{margin-left:16px}
  .cas-section-intro h2,
  .cas-service-route h2,
  .cas-choice-section h2,
  .cas-personal-copy h2,
  .cas-final-cta h2{font-size:36px}
}

/* coaching preview cache refresh 2 */
