
:root{
  --black:#0A0A0A;
  --blue:#1E3A5F;
  --light:#7FA6D8;
  --white:#FFFFFF;
  --gray:#E5E5E5;
  --charcoal:#171717;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;background:var(--black);color:var(--white);overflow-x:hidden}
.header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:20px 5%;background:rgba(10,10,10,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.09)}
.logo,.footer-logo,.big-mark{position:relative;color:#fff;text-decoration:none;font-size:34px;font-weight:900;font-style:italic;letter-spacing:-3px;display:inline-block;line-height:1}
.logo span,.footer-logo span,.big-mark span{color:var(--light)}
.logo i,.footer-logo i,.big-mark i{position:absolute;left:-8%;top:46%;width:116%;height:4px;background:#fff;transform:rotate(-6deg);display:block}
nav{display:flex;align-items:center;gap:20px}
nav a,.footer-links a{color:#fff;text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:1.4px;opacity:.82}
.nav-cta{padding:10px 14px;background:var(--blue);opacity:1}
.hero,.page-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:130px 6% 90px;background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.72)),radial-gradient(circle at 80% 20%,rgba(30,58,95,.55),transparent 28%)}
.page-hero{min-height:68vh}
.compact-hero{min-height:52vh;padding-bottom:60px}
.hero-content{max-width:980px}
.eyebrow{text-transform:uppercase;letter-spacing:5px;font-size:13px;font-weight:900;color:var(--light);margin-bottom:22px}
.dark-blue{color:var(--blue)}
h1,h2,h3{font-style:italic;font-weight:900;text-transform:uppercase;line-height:.9}
h1{font-size:clamp(54px,10vw,132px);letter-spacing:-4px;max-width:1100px}
h2{font-size:clamp(38px,6vw,78px);letter-spacing:-3px}
h3{font-size:30px}
.strike{position:relative;display:inline-block}
.strike::after{content:"";position:absolute;left:-4%;top:52%;width:108%;height:6px;background:#fff;transform:rotate(-5deg)}
.lead,.section-intro,.mission p,.split-copy p,.content-section p,.cta p,.coach-copy p{font-size:19px;line-height:1.8;color:rgba(255,255,255,.78);max-width:820px;margin-top:28px}
.buttons{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px}
.centered{justify-content:center}
.btn{display:inline-block;text-decoration:none;text-transform:uppercase;font-size:13px;font-weight:900;letter-spacing:1.5px;padding:17px 26px;border:1px solid transparent}
.primary{background:var(--blue);color:#fff}
.secondary{border-color:rgba(255,255,255,.35);color:#fff}
.dark-btn{background:var(--black);color:#fff}
.white{background:#fff;color:#000}
.mission,.content-section{padding:105px 6%}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:1280px;margin:auto}
.white p,.content-section p,.coach-copy p{color:rgba(0,0,0,.72)}
.white h2 span{color:var(--blue)}
.section{padding:115px 6%;text-align:center}
.section-intro{margin-left:auto;margin-right:auto}
.mini-grid,.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.feature-card,.service-card{background:#121212;border:1px solid rgba(255,255,255,.09);padding:32px;text-align:left;color:#fff;text-decoration:none;display:block}
.clickable,.pricing-link,.service-card{transition:transform .25s ease,border .25s ease,box-shadow .25s ease,background .25s ease}
.clickable:hover,.pricing-link:hover,.service-card:hover{transform:translateY(-8px);border-color:var(--light);box-shadow:0 0 0 1px var(--blue),0 18px 45px rgba(30,58,95,.28);background:#151923}
.feature-card p,.service-card p{color:rgba(255,255,255,.72);line-height:1.7;margin-top:16px}
.split{display:grid;grid-template-columns:1fr 1fr;min-height:650px}
.split-visual{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,rgba(30,58,95,.45),transparent 35%),#000}
.coach-bg{background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.45)),url("images/coach-anthony-smith.jpg");background-size:cover;background-position:center}
.big-mark{font-size:132px}
.split-copy{background:#fff;color:#000;padding:100px 8%;display:flex;flex-direction:column;justify-content:center}
.text-link{margin-top:26px;color:var(--blue);font-weight:900;text-transform:uppercase;text-decoration:none;letter-spacing:1.4px}
.pricing-grid{display:grid;gap:22px;margin-top:56px}
.pricing-grid.four{grid-template-columns:repeat(4,1fr)}
.price-card{background:#121212;border:1px solid rgba(255,255,255,.09);padding:30px;text-align:left;text-decoration:none;color:#fff;position:relative;overflow:hidden}
.price-card::before{content:"";position:absolute;inset:0;border:2px solid transparent;transition:.25s ease;pointer-events:none}
.price-card:hover::before{border-color:var(--light)}
.price-card.featured{border-color:var(--light);box-shadow:0 0 0 1px var(--blue)}
.price{font-size:32px;font-weight:900;color:var(--light);margin:18px 0}
.dark-price{color:var(--blue)}
.best-for{color:rgba(255,255,255,.72);line-height:1.6;min-height:82px}
.price-card ul{padding-left:20px;margin-top:18px}
.price-card li{color:rgba(255,255,255,.74);line-height:1.7}
.tag{color:var(--light);text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:2px;margin-bottom:12px}
.select-plan,.service-card span{display:inline-block;margin-top:26px;color:var(--light);font-weight:900;text-transform:uppercase;letter-spacing:1.4px;font-size:12px}
.belief-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:46px}
.belief-grid div{background:#111;color:#fff;padding:28px;font-weight:900;text-transform:uppercase;line-height:1.3}
.refined-beliefs{grid-template-columns:repeat(5,1fr)}
.pillar-section{text-align:left}
.pillar-feature{text-align:center;max-width:940px;margin:0 auto 56px}
.pillar-grid.refined-pillars{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(220px,auto);gap:20px}
.refined-pillars article{background:#111;border:1px solid rgba(255,255,255,.09);padding:32px;text-align:left;display:flex;flex-direction:column;justify-content:space-between}
.refined-pillars article:nth-child(1){grid-column:span 3}
.refined-pillars article:nth-child(2){grid-column:span 3}
.refined-pillars article:nth-child(3){grid-column:span 2}
.refined-pillars article:nth-child(4){grid-column:span 2}
.refined-pillars article:nth-child(5){grid-column:span 2}
.refined-pillars span{color:var(--light);font-size:13px;font-weight:900;letter-spacing:2px}
.refined-pillars p{color:rgba(255,255,255,.72);line-height:1.7;margin-top:18px;font-size:18px}
.cta{padding:110px 6%;text-align:center;background:radial-gradient(circle at top,rgba(30,58,95,.55),transparent 32%),#000}
.cta p{margin-left:auto;margin-right:auto}
.coach-layout{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:56px;padding:90px 6%;align-items:center}
.coach-photo img{width:100%;max-width:560px;display:block;border:1px solid rgba(0,0,0,.14);box-shadow:0 22px 60px rgba(0,0,0,.18)}
.coach-copy{max-width:820px}
.coach-copy .buttons{margin-top:28px}
.center{text-align:center}
.center p{margin-left:auto;margin-right:auto}
.questions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
.questions p{background:#111;padding:18px;font-weight:900;text-transform:uppercase;color:rgba(255,255,255,.82)}
.note{font-size:13px!important;margin-top:18px!important;color:rgba(0,0,0,.55)!important}
footer{padding:58px 6%;text-align:center;border-top:1px solid rgba(255,255,255,.08);background:#000}
.footer-brand{margin-top:16px;font-weight:900;text-transform:uppercase;letter-spacing:2px}
footer p{color:rgba(255,255,255,.65);margin-top:10px}
.verse{font-style:italic;color:rgba(255,255,255,.78)}
.footer-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:26px 0}
.copyright{font-size:12px;color:rgba(255,255,255,.4)}

@media(max-width:1180px){
  .pricing-grid.four{grid-template-columns:repeat(2,1fr)}
  .belief-grid,.refined-beliefs{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:900px){
  nav{display:none}
  .two-col,.split,.pricing-grid.four,.mini-grid,.service-grid,.belief-grid,.pillar-grid.refined-pillars,.coach-layout,.questions{grid-template-columns:1fr}
  .refined-pillars article:nth-child(n){grid-column:span 1}
  .hero,.page-hero{padding:110px 6% 70px}
  .compact-hero{min-height:auto;padding-top:112px;padding-bottom:48px}
  h1{font-size:56px;letter-spacing:-2px}
  h2{font-size:42px;letter-spacing:-1px}
  .lead,.section-intro,.mission p,.split-copy p,.content-section p,.cta p,.coach-copy p{font-size:17px}
  .big-mark{font-size:88px}
  .buttons{flex-direction:column}
  .btn{text-align:center;width:100%}
  .coach-layout{gap:34px;padding:54px 6% 76px}
  .coach-photo{order:1}
  .coach-copy{order:2}
  .coach-photo img{max-width:100%;border-radius:0}
  .content-section,.mission,.section{padding:76px 6%}
}


/* Mobile Navigation Upgrade */
.mobile-menu-toggle {
  display: none;
  background: transparent;
  color: var(--white);
  border: 1px solid rgba(255,255,255,.3);
  padding: 10px 14px;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.4px;
}

@media(max-width:900px){
  .mobile-menu-toggle {
    display: block;
  }

  .header {
    align-items: center;
  }

  #main-nav {
    display: none;
    position: absolute;
    top: 74px;
    left: 0;
    right: 0;
    background: rgba(10,10,10,.97);
    border-bottom: 1px solid rgba(255,255,255,.1);
    padding: 22px 6%;
    flex-direction: column;
    gap: 18px;
  }

  #main-nav.open {
    display: flex;
  }

  #main-nav a {
    display: block;
    font-size: 13px;
    padding: 10px 0;
  }

  #main-nav .nav-cta {
    text-align: center;
    margin-top: 8px;
  }
}


/* Homepage Story Section Enhancements */
.coach-bg{
  background-position:center top;
  min-height:780px;
}

.expanded-story{
  gap:18px;
}

.story-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-top:30px;
  margin-bottom:24px;
}

.story-box{
  background:rgba(30,58,95,.06);
  border-left:3px solid var(--blue);
  padding:22px;
}

.story-box h3{
  font-size:22px;
  margin-bottom:12px;
}

.story-box p{
  margin-top:0;
  line-height:1.7;
}

.story-closing{
  font-size:20px;
  font-style:italic;
  color:rgba(0,0,0,.75);
}

@media(max-width:900px){
  .coach-bg{
    min-height:460px;
    background-position:center 12%;
  }

  .story-grid{
    grid-template-columns:1fr;
  }

  .story-box{
    padding:20px;
  }
}


/* v7 Homepage Story Section Fix */
.split{
  grid-template-columns: 0.9fr 1.1fr;
  align-items: stretch;
}

.story-photo-panel{
  background:#050505;
  padding:32px;
  min-height:760px;
}

.story-photo-panel img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
}

.story-panel-clean{
  padding:86px 7%;
  justify-content:center;
}

.story-panel-clean h2{
  margin-bottom:30px;
}

.story-panel-clean p{
  color:rgba(0,0,0,.72);
}

.story-lead{
  font-size:20px;
  line-height:1.75;
  color:rgba(0,0,0,.82)!important;
}

.story-callout{
  margin:30px 0;
  padding:26px 28px;
  background:#0A0A0A;
  border-left:5px solid var(--blue);
}

.story-callout p{
  color:rgba(255,255,255,.86)!important;
  margin:0;
  font-size:18px;
  line-height:1.7;
}

.clean-story-grid{
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-top:26px;
  margin-bottom:28px;
}

.clean-story-grid .story-box{
  background:#F3F5F8;
  border-left:4px solid var(--blue);
  padding:24px;
}

.clean-story-grid .story-box h3{
  color:#0A0A0A;
  font-size:21px;
  line-height:1;
  margin-bottom:14px;
}

.clean-story-grid .story-box p{
  color:rgba(0,0,0,.72)!important;
  margin:0;
  font-size:15.5px;
  line-height:1.65;
}

.story-closing{
  color:rgba(0,0,0,.82)!important;
  font-size:20px!important;
  line-height:1.6!important;
  margin-top:10px!important;
}

@media(max-width:1100px){
  .split{
    grid-template-columns:1fr;
  }

  .story-photo-panel{
    min-height:auto;
    padding:24px;
  }

  .story-photo-panel img{
    max-height:680px;
    object-fit:contain;
  }
}

@media(max-width:900px){
  .story-panel-clean{
    padding:70px 6%;
  }

  .clean-story-grid{
    grid-template-columns:1fr;
  }

  .story-photo-panel{
    padding:18px;
  }

  .story-photo-panel img{
    max-height:none;
  }
}


/* v8 Netlify Application Form */
.application-section{
  padding-top:90px;
}

.application-intro{
  max-width:900px;
  margin:0 auto 42px;
  text-align:center;
}

.application-form{
  max-width:980px;
  margin:0 auto;
}

.hidden-field{
  display:none;
}

.application-form fieldset{
  border:1px solid rgba(10,10,10,.12);
  background:#F4F6F8;
  padding:32px;
  margin-bottom:26px;
}

.application-form legend{
  padding:0 10px;
  font-size:22px;
  font-weight:900;
  font-style:italic;
  text-transform:uppercase;
  letter-spacing:-.5px;
  color:#0A0A0A;
}

.application-form label{
  display:block;
  margin-top:20px;
  font-weight:900;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:1.2px;
  color:#0A0A0A;
}

.application-form input,
.application-form select,
.application-form textarea{
  width:100%;
  margin-top:9px;
  padding:15px 14px;
  border:1px solid rgba(10,10,10,.18);
  background:#fff;
  color:#0A0A0A;
  font-size:16px;
  font-family:Arial,Helvetica,sans-serif;
}

.application-form textarea{
  resize:vertical;
}

.application-form input:focus,
.application-form select:focus,
.application-form textarea:focus{
  outline:none;
  border-color:var(--blue);
  box-shadow:0 0 0 2px rgba(30,58,95,.18);
}

.form-disclaimer{
  margin:26px 0;
  padding:22px;
  background:#0A0A0A;
  border-left:5px solid var(--blue);
}

.form-disclaimer p{
  color:rgba(255,255,255,.82)!important;
  margin:0;
  line-height:1.7;
  font-size:14px;
}

.form-submit{
  border:none;
  cursor:pointer;
  width:100%;
  padding:20px 28px;
}

@media(max-width:900px){
  .application-form fieldset{
    padding:24px 18px;
  }

  .application-form legend{
    font-size:19px;
  }
}


/* v9 Premium Application Form Redesign */
.application-section{
  background:
    linear-gradient(180deg,#ffffff 0%,#f3f5f8 100%);
}

.application-intro{
  padding:42px;
  background:#0A0A0A;
  color:#fff;
  border-left:6px solid var(--blue);
  box-shadow:0 22px 55px rgba(0,0,0,.16);
}

.application-intro h2{
  color:#fff;
}

.application-intro p{
  color:rgba(255,255,255,.78)!important;
}

.premium-form{
  display:block;
  max-width:1100px;
}

.premium-form fieldset{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:24px;
  row-gap:4px;
  border:1px solid rgba(30,58,95,.18);
  background:#fff;
  padding:0;
  margin-bottom:34px;
  box-shadow:0 18px 45px rgba(10,10,10,.07);
  overflow:hidden;
}

.premium-form legend{
  grid-column:1 / -1;
  width:100%;
  background:#0A0A0A;
  color:#fff;
  padding:22px 28px;
  font-size:24px;
  line-height:1;
  border-left:6px solid var(--blue);
}

.premium-form legend span{
  display:inline-block;
  margin-right:12px;
  color:var(--light);
  font-size:13px;
  letter-spacing:2px;
  vertical-align:middle;
}

.fieldset-intro{
  grid-column:1 / -1;
  padding:26px 28px 0;
  margin:0!important;
  color:rgba(0,0,0,.66)!important;
  font-size:16px!important;
  line-height:1.7!important;
}

.premium-form label{
  margin:0;
  padding:22px 28px;
  font-size:12px;
}

.premium-form input,
.premium-form select,
.premium-form textarea{
  border:1px solid rgba(10,10,10,.14);
  background:#F7F8FA;
  transition:border .2s ease, box-shadow .2s ease, background .2s ease;
}

.premium-form input:hover,
.premium-form select:hover,
.premium-form textarea:hover{
  background:#fff;
  border-color:rgba(30,58,95,.35);
}

.premium-form textarea{
  min-height:120px;
}

.premium-form label:has(textarea){
  grid-column:1 / -1;
}

.form-disclaimer{
  max-width:1100px;
  margin:34px auto;
  box-shadow:0 18px 45px rgba(10,10,10,.12);
}

.form-submit{
  max-width:1100px;
  display:block;
  margin:0 auto;
  background:var(--blue);
}

.form-submit:hover{
  background:#294f80;
}

@media(max-width:900px){
  .application-intro{
    padding:30px 22px;
  }

  .premium-form fieldset{
    grid-template-columns:1fr;
  }

  .premium-form legend{
    font-size:20px;
    padding:20px 20px;
  }

  .fieldset-intro{
    padding:22px 20px 0;
  }

  .premium-form label{
    padding:18px 20px;
  }
}
