:root{
  --tps-navy:#071d3a;
  --tps-navy-2:#06162d;
  --tps-ink:#0a1d39;
  --tps-muted:#516178;
  --tps-gold:#c9962f;
  --tps-gold-2:#d6aa4a;
  --tps-border:#e8edf5;
  --tps-soft:#f7f9fc;
  --tps-white:#ffffff;
  --tps-radius:18px;
  --tps-shadow:0 18px 45px rgba(7,29,58,.11);
  --tps-font:Inter, Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body{font-family:var(--tps-font);color:var(--tps-ink);background:#fff;margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;display:block;height:auto;}
.tps-container{width:min(1180px,calc(100% - 56px));margin-inline:auto;}
.tps-section{padding:74px 0;}
.tps-section-flush{padding:0;}
.tps-eyebrow{margin:0 0 18px;color:var(--tps-gold);font-size:13px;font-weight:900;letter-spacing:.095em;text-transform:uppercase;line-height:1.2;}
.tps-section-title{text-align:center;margin:0 auto 34px;max-width:680px;}
.tps-section-title h2{margin:0;color:var(--tps-ink);font-size:38px;line-height:1.05;font-weight:900;letter-spacing:-.045em;}
.tps-section-title p:not(.tps-eyebrow){color:var(--tps-muted);font-size:17px;line-height:1.75;}

.tps-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 30px;border-radius:5px;text-decoration:none;font-size:15px;font-weight:900;letter-spacing:-.01em;border:1.4px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;white-space:nowrap;}
.tps-btn:hover{transform:translateY(-1px);box-shadow:0 15px 30px rgba(7,29,58,.14);}
.tps-btn--gold{background:linear-gradient(180deg,var(--tps-gold-2),var(--tps-gold));color:#fff;border-color:var(--tps-gold);}
.tps-btn--outline{background:#fff;color:var(--tps-ink);border-color:#aeb8c8;}
.tps-btn--dark-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);}
.tps-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.tps-actions--center{justify-content:center;}

/* Header/footer supplied by theme */
.site-header,.tps-site-header{background:var(--tps-navy-2);color:#fff;box-shadow:0 14px 32px rgba(5,20,42,.14);}
.tps-site-header__inner,.site-header .tps-container{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:26px;}
.custom-logo,.tps-logo img{max-height:62px;width:auto;}
.tps-menu,.primary-menu,.main-navigation ul{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0;}
.tps-menu a,.primary-menu a,.main-navigation a{color:#fff;text-decoration:none;font-size:15px;font-weight:800;opacity:.93;}
.tps-header-cta{background:linear-gradient(180deg,var(--tps-gold-2),var(--tps-gold));color:#fff!important;border-radius:5px;padding:15px 24px;text-decoration:none;font-weight:900;}

/* Hero - exact mockup placement */
.tps-front-page,.tps-site-main{margin:0;padding:0;}
.tps-hero{background:#f7f7f5;border-bottom:1px solid var(--tps-border);overflow:hidden;padding:0;margin:0;}
.tps-hero__inner{width:100%;max-width:1500px;margin:0 auto;display:grid;grid-template-columns:45.5% 54.5%;min-height:650px;align-items:stretch;}
.tps-hero__copy{padding:94px 42px 94px max(44px,calc((100vw - 1220px)/2));display:flex;flex-direction:column;justify-content:center;background:#f7f7f5;position:relative;z-index:3;}
.tps-hero__copy .tps-eyebrow{font-size:14px;letter-spacing:.14em;margin-bottom:24px;color:var(--tps-gold);font-weight:950;}
.tps-hero__copy h1{margin:0 0 28px;color:var(--tps-ink);font-size:64px;line-height:1.02;font-weight:950;letter-spacing:-.065em;max-width:585px;}
.tps-hero__lead{margin:0 0 38px;color:#30425b;font-size:21px;line-height:1.72;font-weight:500;max-width:575px;}
.tps-hero__media{min-height:650px;position:relative;overflow:hidden;background:#111827;}
.tps-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;}
.tps-hero__media:before{content:"";position:absolute;inset:0 auto 0 0;width:265px;background:linear-gradient(90deg,#f7f7f5 0%,rgba(247,247,245,.94) 22%,rgba(247,247,245,.66) 47%,rgba(247,247,245,.23) 74%,rgba(247,247,245,0) 100%);z-index:2;pointer-events:none;}
.tps-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,29,58,.03),rgba(7,29,58,.08));z-index:1;pointer-events:none;}

/* Trust strip */
.tps-trust{background:#fff;padding:55px 0;border-bottom:1px solid var(--tps-border);}
.tps-trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;align-items:start;}
.tps-trust__item{text-align:center;padding:0 14px;}
.tps-line-icon{width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--tps-ink);}
.tps-line-icon svg{width:54px;height:54px;fill:none;stroke:currentColor;stroke-width:2.55;stroke-linecap:round;stroke-linejoin:round;}
.tps-trust__item h3{margin:0 0 12px;color:var(--tps-ink);font-size:15px;line-height:1.35;font-weight:950;letter-spacing:-.025em;}
.tps-trust__item p{margin:0 auto;color:#34445c;font-size:14px;line-height:1.7;max-width:210px;}

/* Sector cards - supports plugin output */
.tps-sectors{background:#fff;padding-top:70px;padding-bottom:76px;}
.tps-sector-grid,.tps-sector-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
.tps-sector-card{background:#fff;border:1px solid var(--tps-border);border-radius:5px;overflow:hidden;box-shadow:0 12px 30px rgba(7,29,58,.07);text-align:center;transition:transform .2s ease,box-shadow .2s ease;}
.tps-sector-card:hover{transform:translateY(-3px);box-shadow:var(--tps-shadow);}
.tps-sector-card__image,.tps-sector-card figure{height:206px;margin:0;overflow:hidden;background:#dfe6ef;}
.tps-sector-card__image img,.tps-sector-card figure img,.tps-sector-card>img{width:100%;height:206px;object-fit:cover;}
.tps-sector-card__body,.tps-sector-content{padding:0 36px 36px;margin-top:-34px;position:relative;}
.tps-sector-card__icon,.tps-sector-icon{width:76px;height:76px;border-radius:50%;background:#fff;border:1px solid #d9e1ec;box-shadow:0 12px 28px rgba(7,29,58,.09);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;color:var(--tps-ink);font-size:31px;}
.tps-sector-card h3{margin:0 0 14px;font-size:26px;line-height:1.15;font-weight:950;letter-spacing:-.04em;color:var(--tps-ink);}
.tps-sector-card p{margin:0 auto 26px;color:#33445c;font-size:16px;line-height:1.75;max-width:245px;}
.tps-sector-card a{color:var(--tps-ink);font-weight:950;text-decoration:none;font-size:15px;}

/* About band */
.tps-about-band{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(520px,1.18fr);background:var(--tps-navy-2);color:#fff;min-height:400px;}
.tps-about-band__copy{padding:68px 52px 68px max(56px,calc((100vw - 1180px)/2));display:flex;flex-direction:column;justify-content:center;}
.tps-about-band__copy h2{margin:0 0 20px;color:#fff;font-size:34px;line-height:1.14;font-weight:950;letter-spacing:-.045em;}
.tps-about-band__copy p:not(.tps-eyebrow){margin:0 0 28px;color:#dbe6f5;font-size:16px;line-height:1.75;max-width:430px;}
.tps-about-band__media{min-height:400px;overflow:hidden;}
.tps-about-band__media img{width:100%;height:100%;object-fit:cover;object-position:center;}

/* Courses - supports shortcode output */
.tps-courses-section{background:#fff;padding-top:74px;}
.tps-course-grid,.tps-courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.tps-course-card{background:#fff;border:1px solid var(--tps-border);border-radius:8px;padding:26px;box-shadow:0 12px 30px rgba(7,29,58,.06);display:flex;flex-direction:column;gap:14px;min-height:235px;}
.tps-course-card h3{font-size:21px;line-height:1.18;margin:0;color:var(--tps-ink);font-weight:950;letter-spacing:-.035em;}
.tps-course-card .tps-price,.tps-course-price{font-size:22px;color:var(--tps-gold);font-weight:950;}
.tps-course-card p{font-size:15px;line-height:1.65;color:var(--tps-muted);margin:0;}
.tps-course-meta{display:flex;gap:12px;flex-wrap:wrap;color:#6a778a;font-size:13px;font-weight:800;}
.tps-course-card a{margin-top:auto;color:var(--tps-ink);font-weight:950;text-decoration:none;}

/* Ready CTA */
.tps-ready{background:#fff;padding:46px 0 58px;text-align:center;border-top:1px solid var(--tps-border);}
.tps-ready h2{margin:0 0 10px;color:var(--tps-ink);font-size:34px;line-height:1.1;font-weight:950;letter-spacing:-.045em;}
.tps-ready p{margin:0 0 26px;color:#30425b;font-size:17px;}

/* Footer supplied by theme */
.site-footer,.tps-site-footer{background:var(--tps-navy-2);color:#d9e5f6;padding:56px 0 22px;}
.tps-footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1.15fr 1.25fr;gap:52px;}
.tps-footer-title{color:#fff;font-weight:950;margin:0 0 16px;font-size:16px;}
.tps-site-footer a,.site-footer a{color:#d9e5f6;text-decoration:none;}
.tps-site-footer ul,.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.tps-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;gap:24px;font-size:13px;color:#b8c6d8;}

@media (max-width:1024px){
  .tps-hero__inner{grid-template-columns:1fr;min-height:auto;}
  .tps-hero__copy{padding:82px 28px 48px;}
  .tps-hero__copy h1{font-size:48px;}
  .tps-hero__media{min-height:420px;}
  .tps-trust__grid{grid-template-columns:repeat(2,1fr);}
  .tps-sector-grid,.tps-sector-cards,.tps-course-grid,.tps-courses-grid{grid-template-columns:1fr 1fr;}
  .tps-about-band{grid-template-columns:1fr;}
  .tps-about-band__copy{padding:58px 28px;}
  .tps-footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:720px){
  .tps-container{width:min(100% - 32px,1180px);}
  .tps-hero__copy h1{font-size:39px;}
  .tps-hero__lead{font-size:18px;}
  .tps-actions{align-items:stretch;}
  .tps-btn{width:100%;}
  .tps-trust__grid,.tps-sector-grid,.tps-sector-cards,.tps-course-grid,.tps-courses-grid,.tps-footer-grid{grid-template-columns:1fr;}
  .tps-section{padding:56px 0;}
  .tps-about-band__media{min-height:280px;}
  .tps-footer-bottom{flex-direction:column;}
}


/* v2.5 hero responsive overrides */
@media (max-width:1200px){
  .tps-hero__inner{grid-template-columns:48% 52%;min-height:600px;}
  .tps-hero__copy{padding:78px 36px;}
  .tps-hero__copy h1{font-size:56px;}
  .tps-hero__media{min-height:600px;}
}
@media (max-width:1024px){
  .tps-hero__inner{grid-template-columns:1fr;min-height:auto;}
  .tps-hero__copy{padding:72px 28px 44px;}
  .tps-hero__copy h1{font-size:48px;}
  .tps-hero__media{min-height:430px;}
  .tps-hero__media:before{display:none;}
}
@media (max-width:720px){
  .tps-hero__copy h1{font-size:40px;line-height:1.05;}
  .tps-hero__lead{font-size:18px;line-height:1.6;}
  .tps-hero__copy{padding:56px 22px 36px;}
  .tps-hero__media{min-height:330px;}
}
