/* =========================================================
   BITWISE ACADEMY
   TRAINERS / MENTORS PAGE
   NAVY + BLUE + WHITE + MAROON
   Larger typography / fade / glow / shine
========================================================= */

.bw-trainers-page,
.bw-trainers-page * {
box-sizing:border-box;
}

.bw-trainers-page {
--tr-navy:#061d49;
--tr-navy-dark:#03122f;
--tr-blue:#075fc7;
--tr-bright:#159cff;
--tr-maroon:#8f0b2a;
--tr-red:#d9173d;
--tr-white:#fff;
--tr-soft:#f5f8fd;
--tr-text:#11233f;
--tr-muted:#61718a;
font-family:"Inter",sans-serif;
color:var(--tr-text);
background:#fff;
overflow:hidden;
}

.bw-trainers-page .container {
width:min(1180px,92%);
margin:0 auto;
}

.tr-section {
padding:110px 0;
}

.tr-reveal {
opacity:0;
transform:translateY(35px);
transition:opacity .8s ease,transform .8s ease;
}

.tr-reveal.is-visible {
opacity:1;
transform:translateY(0);
}

/* =========================================================
   HERO
========================================================= */

.tr-hero {
min-height:760px;
position:relative;
overflow:hidden;
background:
linear-gradient(135deg,#03122f 0%,#061d49 56%,#075fc7 135%);
color:#fff;
}

.tr-hero-grid {
position:absolute;
inset:0;
background-image:
linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
background-size:65px 65px;
mask-image:linear-gradient(to bottom,#000,transparent 95%);
}

.tr-orb {
position:absolute;
width:500px;
height:500px;
border-radius:50%;
filter:blur(95px);
opacity:.25;
animation:trOrb 10s ease-in-out infinite;
}

.tr-orb-blue {
background:#159cff;
right:-180px;
top:-170px;
}

.tr-orb-red {
background:#8f0b2a;
left:-220px;
bottom:-230px;
animation-delay:-4s;
}

@keyframes trOrb {
50% {
transform:translate(35px,25px) scale(1.08);
}
}

.tr-hero-inner {
min-height:760px;
display:grid;
grid-template-columns:1fr .9fr;
align-items:center;
gap:70px;
position:relative;
z-index:2;
}

.tr-kicker,
.tr-heading>span,
.tr-label>span,
.tr-final span {
display:inline-block;
font-size:14px;
font-weight:800;
letter-spacing:3px;
color:#55baff;
}

.tr-hero h1 {
font-family:"Manrope",sans-serif;
font-size:clamp(50px,6vw,82px);
line-height:1.03;
margin:20px 0 25px;
letter-spacing:-2px;
}

.tr-hero h1 span {
color:#55baff;
}

.tr-hero p {
max-width:680px;
font-size:19px;
line-height:1.85;
color:#d8e5f5;
}

.tr-actions {
display:flex;
gap:15px;
flex-wrap:wrap;
margin-top:34px;
}

.tr-btn {
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
position:relative;
overflow:hidden;
padding:16px 25px;
border-radius:10px;
color:#fff;
text-decoration:none;
font-weight:800;
font-size:16px;
transition:.35s ease;
}

.tr-btn::after {
content:"";
position:absolute;
inset:0;
background:linear-gradient(
100deg,
transparent,
rgba(255,255,255,.35),
transparent
);
transform:translateX(-120%);
transition:.65s ease;
}

.tr-btn:hover::after {
transform:translateX(120%);
}

.tr-btn:hover {
transform:translateY(-3px);
}

.tr-blue-btn {
background:linear-gradient(135deg,#075fc7,#159cff);
box-shadow:0 15px 35px rgba(21,156,255,.25);
}

.tr-maroon-btn {
background:linear-gradient(135deg,#8f0b2a,#d9173d);
box-shadow:0 15px 35px rgba(143,11,42,.3);
}

.tr-hero-board {
min-height:500px;
border:1px solid rgba(255,255,255,.15);
border-radius:28px;
padding:28px;
background:linear-gradient(
145deg,
rgba(255,255,255,.12),
rgba(255,255,255,.035)
);
backdrop-filter:blur(16px);
box-shadow:0 35px 90px rgba(0,0,0,.25);
animation:trBoardFloat 6s ease-in-out infinite;
}

@keyframes trBoardFloat {
50% {
transform:translateY(-10px);
}
}

.tr-board-top {
display:flex;
align-items:center;
justify-content:space-between;
font-size:13px;
font-weight:800;
letter-spacing:2px;
color:#b9d7f5;
}

.tr-board-top i {
color:#ff718e;
font-size:22px;
}

.tr-board-center {
height:330px;
position:relative;
display:grid;
place-items:center;
}

.tr-board-ring {
position:absolute;
width:250px;
height:250px;
border:1px solid rgba(84,184,255,.5);
border-radius:50%;
box-shadow:
0 0 50px rgba(21,156,255,.12),
inset 0 0 45px rgba(21,156,255,.08);
animation:trRing 7s linear infinite;
}

@keyframes trRing {
to {
transform:rotate(360deg);
}
}

.tr-board-ring::before,
.tr-board-ring::after {
content:"";
position:absolute;
border-radius:50%;
border:1px solid rgba(255,113,142,.35);
}

.tr-board-ring::before {
inset:25px;
}

.tr-board-ring::after {
inset:55px;
}

.tr-board-core {
width:110px;
height:110px;
display:grid;
place-items:center;
border-radius:50%;
position:relative;
z-index:3;
background:linear-gradient(135deg,#075fc7,#8f0b2a);
box-shadow:0 0 50px rgba(21,156,255,.35);
}

.tr-board-core i {
font-size:40px;
}

.tr-board-node {
position:absolute;
z-index:4;
padding:9px 13px;
border-radius:8px;
background:rgba(255,255,255,.09);
border:1px solid rgba(255,255,255,.15);
font-size:11px;
font-weight:800;
letter-spacing:1px;
box-shadow:0 10px 25px rgba(0,0,0,.2);
animation:trNode 4s ease-in-out infinite;
}

.tr-board-node:nth-child(even) {
color:#ff8ca3;
}

.n1 {top:28px;left:8%}
.n2 {top:70px;right:4%;animation-delay:-1s}
.n3 {bottom:35px;left:8%;animation-delay:-2s}
.n4 {bottom:85px;right:7%;animation-delay:-3s}

@keyframes trNode {
50% {transform:translateY(-7px)}
}

.tr-board-bottom {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:12px;
}

.tr-board-bottom div {
padding:14px;
border-radius:12px;
background:rgba(3,18,47,.65);
border:1px solid rgba(255,255,255,.08);
}

.tr-board-bottom small {
display:block;
font-size:11px;
letter-spacing:1.5px;
color:#9eb7d2;
}

.tr-board-bottom strong {
display:block;
margin-top:7px;
font-size:14px;
}

/* =========================================================
   INTRO
========================================================= */

.tr-intro {
background:#fff;
}

.tr-two-col {
display:grid;
grid-template-columns:.42fr 1fr;
gap:75px;
}

.tr-label {
color:var(--tr-maroon);
font-weight:900;
font-size:14px;
letter-spacing:2px;
}

.tr-label-line {
width:70px;
height:3px;
margin-top:17px;
background:linear-gradient(90deg,var(--tr-maroon),var(--tr-blue));
}

.tr-intro h2,
.tr-mentor-mode h2,
.tr-heading h2 {
font-family:"Manrope",sans-serif;
font-size:clamp(36px,4.2vw,58px);
line-height:1.12;
color:var(--tr-navy);
margin:0 0 24px;
letter-spacing:-1px;
}

.tr-intro h2 em,
.tr-mentor-mode h2 em,
.tr-heading h2 em,
.tr-final h2 em {
font-style:normal;
color:var(--tr-blue);
}

.tr-intro p,
.tr-mentor-mode p,
.tr-heading p {
font-size:18px;
line-height:1.85;
color:var(--tr-muted);
}

.tr-info-strip {
display:flex;
gap:13px;
align-items:flex-start;
margin-top:25px;
padding:18px 20px;
border-left:4px solid var(--tr-maroon);
background:#fff5f7;
border-radius:0 12px 12px 0;
font-size:16px;
line-height:1.7;
}

.tr-info-strip i {
color:var(--tr-maroon);
margin-top:4px;
}

/* =========================================================
   DIRECTORY
========================================================= */

.tr-directory {
background:var(--tr-soft);
}

.tr-heading {
max-width:880px;
margin-bottom:50px;
}

.tr-heading h2 {
margin-top:15px;
}

.tr-profile-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
}

.tr-profile {
background:#fff;
border-radius:22px;
overflow:hidden;
border:1px solid #e0e7f0;
box-shadow:0 20px 50px rgba(6,29,73,.08);
transition:.4s ease;
position:relative;
}

.tr-profile:hover {
transform:translateY(-9px);
box-shadow:0 30px 65px rgba(6,29,73,.13);
}

.tr-profile::after {
content:"";
position:absolute;
inset:0;
background:linear-gradient(
120deg,
transparent 20%,
rgba(255,255,255,.45) 50%,
transparent 80%
);
transform:translateX(-120%);
transition:.8s;
pointer-events:none;
}

.tr-profile:hover::after {
transform:translateX(120%);
}

.tr-profile-image {
height:320px;
position:relative;
display:grid;
place-items:center;
overflow:hidden;
background:
radial-gradient(circle at 70% 20%,rgba(21,156,255,.45),transparent 35%),
linear-gradient(145deg,#03122f,#075fc7);
}

.tr-profile-image.maroon-image {
background:
radial-gradient(circle at 25% 20%,rgba(217,23,61,.35),transparent 35%),
linear-gradient(145deg,#03122f,#8f0b2a);
}

.tr-profile-image::before {
content:"";
position:absolute;
width:230px;
height:230px;
border:1px solid rgba(255,255,255,.18);
border-radius:50%;
box-shadow:0 0 70px rgba(21,156,255,.18);
}

.tr-profile-watermark {
position:absolute;
font-size:55px;
font-weight:900;
letter-spacing:7px;
color:rgba(255,255,255,.045);
transform:rotate(-12deg);
}

.tr-profile-placeholder {
width:130px;
height:130px;
border-radius:50%;
display:grid;
place-items:center;
position:relative;
z-index:2;
background:linear-gradient(135deg,#075fc7,#159cff);
box-shadow:0 0 45px rgba(21,156,255,.3);
}

.maroon-image .tr-profile-placeholder {
background:linear-gradient(135deg,#8f0b2a,#d9173d);
box-shadow:0 0 45px rgba(217,23,61,.3);
}

.tr-profile-placeholder i {
font-size:45px;
color:#fff;
}

.tr-profile-placeholder span {
position:absolute;
bottom:-34px;
white-space:nowrap;
font-size:10px;
letter-spacing:1.5px;
font-weight:800;
color:#c8d8ea;
}

.tr-profile-photo {
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
object-position:top center;
z-index:1;
transition:transform .55s cubic-bezier(0.16,1,0.3,1);
}

.tr-profile:hover .tr-profile-photo {
transform:scale(1.07);
}

.tr-profile-overlay {
position:absolute;
inset:0;
background:linear-gradient(180deg,rgba(3,18,47,0.05) 50%,rgba(3,18,47,0.75) 100%);
z-index:2;
pointer-events:none;
}

.tr-profile-badge {
position:absolute;
top:20px;
left:20px;
z-index:3;
padding:8px 12px;
border-radius:7px;
background:#fff;
color:var(--tr-blue);
font-size:11px;
font-weight:900;
letter-spacing:1px;
box-shadow:0 4px 14px rgba(0,0,0,0.18);
}

.tr-profile-badge.red-badge {
color:var(--tr-maroon);
}

.tr-profile-body {
padding:28px;
}

.tr-profile-role {
font-size:11px;
letter-spacing:1.5px;
font-weight:900;
color:var(--tr-maroon);
}

.tr-profile h3 {
font-family:"Manrope",sans-serif;
font-size:27px;
color:var(--tr-navy);
margin:10px 0 10px;
}

.tr-profile-note {
font-size:16px;
line-height:1.7;
color:var(--tr-muted);
margin:0;
}

.tr-tags {
display:flex;
flex-wrap:wrap;
gap:8px;
margin:20px 0;
}

.tr-tags span {
padding:7px 10px;
border-radius:7px;
background:#eef5fd;
color:var(--tr-blue);
font-size:12px;
font-weight:800;
}

.tr-tags span:nth-child(2) {
background:#fff0f3;
color:var(--tr-maroon);
}

.tr-profile-meta {
display:grid;
grid-template-columns:1fr 1fr;
gap:12px;
padding:18px 0;
border-top:1px solid #e3e9f1;
border-bottom:1px solid #e3e9f1;
}

.tr-profile-meta small {
display:block;
font-size:10px;
letter-spacing:1.2px;
color:#8a98aa;
}

.tr-profile-meta strong {
display:block;
font-size:13px;
margin-top:6px;
color:var(--tr-navy);
}

.tr-profile-link {
display:flex;
justify-content:space-between;
align-items:center;
padding-top:18px;
text-decoration:none;
font-size:15px;
font-weight:900;
color:var(--tr-blue);
}

.maroon-link {
color:var(--tr-maroon);
}

/* =========================================================
   SPECIALIZATIONS
========================================================= */

.tr-specializations {
background:linear-gradient(
135deg,
#03122f 0%,
#061d49 62%,
#8f0b2a 155%
);
color:#fff;
position:relative;
overflow:hidden;
}

.tr-specializations::before {
content:"";
position:absolute;
width:600px;
height:600px;
border-radius:50%;
background:#159cff;
filter:blur(130px);
opacity:.12;
right:-250px;
top:-250px;
}

.tr-heading.light {
position:relative;
z-index:2;
}

.tr-heading.light h2,
.tr-heading.light p {
color:#fff;
}

.tr-heading.light h2 em {
color:#ff7891;
}

.tr-special-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
position:relative;
z-index:2;
}

.tr-special-card {
min-height:245px;
padding:28px;
border-radius:20px;
border:1px solid rgba(255,255,255,.12);
background:rgba(255,255,255,.055);
position:relative;
overflow:hidden;
transition:.4s;
}

.tr-special-card::after {
content:"BITWISE";
position:absolute;
right:-5px;
bottom:-8px;
font-size:45px;
font-weight:900;
letter-spacing:3px;
color:rgba(255,255,255,.035);
}

.tr-special-card:hover {
transform:translateY(-8px);
border-color:rgba(84,184,255,.55);
box-shadow:0 25px 60px rgba(0,0,0,.2);
}

.tr-special-card strong {
position:absolute;
top:25px;
right:25px;
font-size:13px;
color:#ff738e;
}

.tr-icon {
width:55px;
height:55px;
display:grid;
place-items:center;
border-radius:14px;
margin-bottom:30px;
font-size:21px;
}

.tr-icon.blue {
background:linear-gradient(135deg,#075fc7,#159cff);
box-shadow:0 12px 30px rgba(21,156,255,.2);
}

.tr-icon.maroon {
background:linear-gradient(135deg,#8f0b2a,#d9173d);
box-shadow:0 12px 30px rgba(143,11,42,.22);
}

.tr-special-card h3 {
font-size:24px;
margin:0 0 9px;
}

.tr-special-card p {
font-size:16px;
line-height:1.7;
color:#c9d8e8;
margin:0;
}

/* =========================================================
   COURSES HANDLED
========================================================= */

.tr-courses {
background:#fff;
}

.tr-course-board {
border-top:1px solid #dbe4ef;
}

.tr-course-row {
display:grid;
grid-template-columns:70px 1fr 190px;
align-items:center;
gap:25px;
padding:25px 10px;
border-bottom:1px solid #dbe4ef;
transition:.35s;
}

.tr-course-row:hover {
padding-left:25px;
background:linear-gradient(
90deg,
rgba(7,95,199,.045),
rgba(143,11,42,.035)
);
}

.tr-course-number {
font-size:16px;
font-weight:900;
color:var(--tr-blue);
}

.tr-course-number.red {
color:var(--tr-maroon);
}

.tr-course-row span {
font-size:11px;
letter-spacing:1.5px;
font-weight:900;
color:#8795a8;
}

.tr-course-row h3 {
font-family:"Manrope",sans-serif;
font-size:23px;
margin:6px 0 0;
color:var(--tr-navy);
}

.tr-course-status {
justify-self:end;
padding:9px 12px;
border-radius:8px;
background:#f1f6fc;
color:var(--tr-blue);
font-size:11px;
font-weight:900;
letter-spacing:1px;
}

.tr-course-row:nth-child(even) .tr-course-status {
background:#fff1f4;
color:var(--tr-maroon);
}

/* =========================================================
   MENTOR MODEL
========================================================= */

.tr-mentor-model {
background:var(--tr-soft);
}

.tr-model-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.tr-model-card {
min-height:240px;
padding:30px;
border-radius:20px;
background:#fff;
border:1px solid #dfe7f0;
box-shadow:0 15px 35px rgba(6,29,73,.06);
position:relative;
overflow:hidden;
transition:.4s;
}

.tr-model-card:hover {
transform:translateY(-8px);
}

.tr-model-card::after {
content:"BITWISE";
position:absolute;
right:-12px;
bottom:-8px;
font-size:44px;
font-weight:900;
color:rgba(6,29,73,.035);
}

.tr-model-card.red-card::before {
content:"";
position:absolute;
top:0;
left:0;
width:5px;
height:100%;
background:linear-gradient(#8f0b2a,#d9173d);
}

.tr-model-card:not(.red-card)::before {
content:"";
position:absolute;
top:0;
left:0;
width:5px;
height:100%;
background:linear-gradient(#075fc7,#159cff);
}

.tr-model-card>span {
font-size:13px;
font-weight:900;
color:var(--tr-maroon);
}

.tr-model-card i {
display:block;
font-size:28px;
color:var(--tr-blue);
margin:30px 0 17px;
}

.tr-model-card.red-card i {
color:var(--tr-maroon);
}

.tr-model-card h3 {
font-size:23px;
color:var(--tr-navy);
margin:0 0 8px;
}

.tr-model-card p {
font-size:16px;
line-height:1.7;
color:var(--tr-muted);
margin:0;
}

/* =========================================================
   SUPPORT FLOW
========================================================= */

.tr-support {
background:linear-gradient(
135deg,
#03122f,
#061d49 65%,
#8f0b2a 160%
);
color:#fff;
}

.tr-support-flow {
display:grid;
grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
align-items:center;
gap:18px;
}

.tr-flow-item {
min-height:260px;
padding:27px;
border-radius:20px;
border:1px solid rgba(255,255,255,.12);
background:rgba(255,255,255,.055);
transition:.4s;
}

.tr-flow-item:hover {
transform:translateY(-8px);
border-color:rgba(84,184,255,.5);
}

.tr-flow-item>div {
font-size:13px;
font-weight:900;
color:#ff738e;
}

.tr-flow-item i {
display:block;
font-size:29px;
color:#54b8ff;
margin:32px 0 20px;
}

.tr-flow-item h3 {
font-size:23px;
margin:0 0 9px;
}

.tr-flow-item p {
font-size:16px;
line-height:1.7;
color:#c8d7e8;
margin:0;
}

.tr-flow-line {
height:2px;
width:28px;
background:linear-gradient(90deg,#159cff,#d9173d);
box-shadow:0 0 12px rgba(21,156,255,.3);
}

/* =========================================================
   MENTOR MODE
========================================================= */

.tr-mentor-mode {
background:#fff;
}

.tr-mentor-visual {
height:500px;
border-radius:28px;
background:linear-gradient(145deg,#03122f,#075fc7);
position:relative;
display:grid;
place-items:center;
overflow:hidden;
box-shadow:0 30px 70px rgba(6,29,73,.18);
}

.tr-visual-watermark {
position:absolute;
font-size:85px;
font-weight:900;
letter-spacing:8px;
color:rgba(255,255,255,.045);
transform:rotate(-12deg);
}

.tr-visual-core {
width:155px;
height:155px;
border-radius:50%;
display:grid;
place-items:center;
position:relative;
z-index:2;
background:linear-gradient(135deg,#075fc7,#8f0b2a);
box-shadow:0 0 60px rgba(21,156,255,.3);
}

.tr-visual-core i {
font-size:55px;
color:#fff;
}

.tr-floating-card {
position:absolute;
z-index:4;
padding:13px 17px;
border-radius:10px;
background:#fff;
color:var(--tr-navy);
font-size:13px;
font-weight:900;
box-shadow:0 15px 35px rgba(0,0,0,.22);
animation:trFloatCard 5s ease-in-out infinite;
}

.fc1 {top:75px;left:35px}
.fc2 {right:35px;top:190px;animation-delay:-1.5s}
.fc3 {left:55px;bottom:70px;animation-delay:-3s}

@keyframes trFloatCard {
50% {
transform:translateY(-9px);
}
}

.tr-checks {
list-style:none;
padding:0;
margin:28px 0;
}

.tr-checks li {
padding:12px 0;
border-bottom:1px solid #e0e7ef;
font-size:17px;
line-height:1.6;
}

.tr-checks i {
color:var(--tr-maroon);
margin-right:11px;
}

.tr-security-note {
display:flex;
gap:12px;
align-items:flex-start;
padding:17px 19px;
border-left:4px solid var(--tr-blue);
background:#f2f7fd;
font-size:15px;
line-height:1.6;
color:var(--tr-navy);
}

.tr-security-note i {
color:var(--tr-blue);
margin-top:3px;
}

/* =========================================================
   LEARNING PATH
========================================================= */

.tr-path {
background:var(--tr-soft);
}

.tr-path-grid {
display:grid;
grid-template-columns:repeat(5,1fr);
gap:16px;
}

.tr-path-card {
min-height:270px;
padding:26px;
border-radius:19px;
background:#fff;
border:1px solid #dfe7f0;
box-shadow:0 15px 35px rgba(6,29,73,.05);
position:relative;
overflow:hidden;
transition:.4s;
}

.tr-path-card:hover {
transform:translateY(-8px);
}

.tr-path-card::after {
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:4px;
background:linear-gradient(90deg,#075fc7,#159cff);
}

.tr-path-card.red-path::after {
background:linear-gradient(90deg,#8f0b2a,#d9173d);
}

.tr-path-card span {
font-size:11px;
font-weight:900;
letter-spacing:1.5px;
color:var(--tr-maroon);
}

.tr-path-card strong {
display:block;
font-family:"Manrope",sans-serif;
font-size:25px;
color:var(--tr-navy);
margin:20px 0 12px;
}

.tr-path-card p {
font-size:15px;
line-height:1.7;
color:var(--tr-muted);
}

/* =========================================================
   FINAL
========================================================= */

.tr-final {
padding:115px 0;
position:relative;
overflow:hidden;
text-align:center;
color:#fff;
background:
linear-gradient(135deg,#061d49,#075fc7 65%,#8f0b2a);
}

.tr-final-glow {
position:absolute;
width:500px;
height:500px;
border-radius:50%;
background:#159cff;
filter:blur(120px);
opacity:.16;
left:-200px;
top:-230px;
}

.tr-final-inner {
position:relative;
z-index:2;
}

.tr-final h2 {
font-family:"Manrope",sans-serif;
font-size:clamp(38px,4.8vw,64px);
line-height:1.1;
max-width:900px;
margin:20px auto;
}

.tr-final h2 em {
color:#ff7891;
}

.tr-final p {
font-size:19px;
line-height:1.8;
color:#d8e5f5;
margin:0 auto 30px;
}

/* =========================================================
   FOOTER GAP / SIMPLE FOOTER
========================================================= */

.tr-footer {
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
padding:30px 0;
font-size:15px;
color:#718198;
}

.tr-footer p {
margin:0;
}

.tr-footer-links {
display:flex;
gap:22px;
}

.tr-footer-links a {
text-decoration:none;
color:#61718a;
}

.tr-footer-links a:hover {
color:var(--tr-blue);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1000px) {

.tr-hero-inner,
.tr-two-col {
grid-template-columns:1fr;
gap:50px;
}

.tr-hero {
padding:90px 0;
}

.tr-hero-inner {
min-height:auto;
}

.tr-profile-grid,
.tr-special-grid,
.tr-model-grid {
grid-template-columns:repeat(2,1fr);
}

.tr-path-grid {
grid-template-columns:repeat(3,1fr);
}

.tr-support-flow {
grid-template-columns:1fr 1fr;
}

.tr-flow-line {
display:none;
}

}

@media(max-width:700px) {

.tr-section {
padding:78px 0;
}

.tr-hero h1 {
font-size:46px;
}

.tr-hero p,
.tr-intro p,
.tr-mentor-mode p,
.tr-heading p,
.tr-final p {
font-size:17px;
}

.tr-hero-board {
min-height:440px;
}

.tr-board-center {
height:275px;
}

.tr-board-ring {
width:205px;
height:205px;
}

.tr-board-bottom {
grid-template-columns:1fr;
}

.tr-profile-grid,
.tr-special-grid,
.tr-model-grid,
.tr-path-grid,
.tr-support-flow {
grid-template-columns:1fr;
}

.tr-course-row {
grid-template-columns:45px 1fr;
gap:15px;
}

.tr-course-status {
grid-column:2;
justify-self:start;
}

.tr-mentor-visual {
height:380px;
}

.tr-footer {
flex-direction:column;
text-align:center;
}

.tr-footer-links {
flex-wrap:wrap;
justify-content:center;
}

}

@media(max-width:480px) {

.tr-hero h1 {
font-size:40px;
}

.tr-hero {
padding:75px 0;
}

.tr-actions {
flex-direction:column;
}

.tr-btn {
width:100%;
}

.tr-profile-image {
height:280px;
}

.tr-profile-meta {
grid-template-columns:1fr;
}

.tr-floating-card {
font-size:11px;
}

.fc1 {left:15px}
.fc2 {right:15px}
.fc3 {left:20px}

}
/* REMOVE EXTRA WHITE SPACE BEFORE FOOTER */
.bw-trainers-page {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.bw-trainers-page + footer,
.bw-trainers-page ~ footer {
    margin-top: 80px !important;
}

.bw-trainers-page .bw-final-cta {
    margin-bottom: 0 !important;
}
/* =========================================================
   PREMIUM CTA → FOOTER TRANSITION
========================================================= */

.site-footer {
    position: relative !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}

/* Premium coloured transition above footer */
.site-footer::before {
    content: "";
    display: block;
    width: 100%;
    height: 70px;

    background:
        radial-gradient(
            circle at 18% 50%,
            rgba(21,156,255,0.65) 0%,
            rgba(21,156,255,0.18) 28%,
            transparent 58%
        ),
        radial-gradient(
            circle at 82% 50%,
            rgba(143,11,42,0.75) 0%,
            rgba(143,11,42,0.20) 30%,
            transparent 60%
        ),
        linear-gradient(
            90deg,
            #075fc7 0%,
            #061d49 45%,
            #8f0b2a 100%
        );

    position: relative;
    overflow: hidden;
}

/* Moving shine */
.site-footer::after {
    content: "";
    position: absolute;
    top: 0;
    left: -30%;
    width: 35%;
    height: 70px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,0.20),
        transparent
    );

    transform: skewX(-20deg);
    animation: footerShine 5s ease-in-out infinite;
    pointer-events: none;
}

@keyframes footerShine {
    0% {
        left: -35%;
    }

    55% {
        left: 110%;
    }

    100% {
        left: 110%;
    }
}

/* Keep footer itself clean and dark */
.site-footer {
    background: #071f3d !important;
}
/* =========================================================
   FINAL CTA → FOOTER PREMIUM COLOR CONNECTION
========================================================= */

/* Final CTA */
.bw-trainers-page .tr-final,
.tr-final {
    position: relative;
    margin: 0 !important;
    padding: 105px 0 125px !important;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 15% 90%,
            rgba(21,156,255,.35),
            transparent 35%
        ),
        radial-gradient(
            circle at 85% 90%,
            rgba(217,23,61,.38),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #061d49 0%,
            #075fc7 52%,
            #8f0b2a 100%
        ) !important;
}

/* Premium glowing strip at bottom of CTA */
.bw-trainers-page .tr-final::after,
.tr-final::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 12px;

    background: linear-gradient(
        90deg,
        #159cff 0%,
        #075fc7 35%,
        #8f0b2a 70%,
        #d9173d 100%
    );

    box-shadow:
        0 0 15px rgba(21,156,255,.55),
        0 0 20px rgba(143,11,42,.45);

    z-index: 10;
}

/* Footer starts immediately — no white gap */
.site-footer {
    margin: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
}

/* Coloured top edge of footer */
.site-footer::before {
    content: "";
    display: block;
    height: 18px;
    width: 100%;

    background: linear-gradient(
        90deg,
        #075fc7 0%,
        #159cff 25%,
        #061d49 50%,
        #8f0b2a 75%,
        #d9173d 100%
    );

    box-shadow:
        0 4px 18px rgba(21,156,255,.25),
        0 4px 18px rgba(143,11,42,.25);
}

/* Keep footer itself deep navy */
.site-footer {
    background: #071f3d !important;
}
/* =========================================================
   CTA TO FOOTER — REMOVE WHITE SPACE
========================================================= */

/* Generous gap before footer */
.footer {
    margin-top: 80px !important;
    position: relative;
    background: #0a2545 !important;
}

/* Premium colour transition at top of footer */
.footer::before {
    content: "";
    display: block;
    width: 100%;
    height: 16px;

    background: linear-gradient(
        90deg,
        #159cff 0%,
        #075fc7 25%,
        #061d49 50%,
        #8f0b2a 75%,
        #d9173d 100%
    );

    box-shadow:
        0 0 12px rgba(21,156,255,0.45),
        0 0 16px rgba(217,23,61,0.35);
}

/* Make sure footer content starts after the colour strip */
.footer .footer-grid {
    padding-top: 55px !important;
}

/* Remove unwanted bottom spacing from final CTA */
.tr-final {
    margin-bottom: 0 !important;
}
/* =========================================================
   TRAINER SUPPORT SECTION
   WHITE SECTION BEFORE FOOTER
========================================================= */

.trainer-support-section {
    position: relative;
    width: 100%;
    padding: 105px 30px 90px;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(21,156,255,0.06),
            transparent 30%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(143,11,42,0.06),
            transparent 32%
        ),
        #ffffff;

    overflow: hidden;
}


/* subtle background glow */

.trainer-support-section::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    top: -180px;
    left: -180px;

    background: radial-gradient(
        circle,
        rgba(21,156,255,0.08),
        transparent 68%
    );

    pointer-events: none;
}


/* right glow */

.trainer-support-section::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    bottom: -200px;
    right: -160px;

    background: radial-gradient(
        circle,
        rgba(143,11,42,0.07),
        transparent 68%
    );

    pointer-events: none;
}


/* CONTAINER */

.trainer-support-container {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
}


/* HEADING */

.trainer-support-heading {
    max-width: 850px;
    margin: 0 auto 65px;
    text-align: center;
}


.trainer-support-kicker {
    display: inline-block;

    margin-bottom: 16px;

    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #8f0b2a;

    position: relative;
}


.trainer-support-kicker::before,
.trainer-support-kicker::after {
    content: "";
    display: inline-block;

    width: 35px;
    height: 2px;

    vertical-align: middle;

    background: linear-gradient(
        90deg,
        #075fc7,
        #8f0b2a
    );

    margin: 0 12px;
}


.trainer-support-heading h2 {
    margin: 0 0 20px;

    font-size: clamp(38px, 5vw, 62px);
    line-height: 1.08;
    font-weight: 800;

    color: #061d49;
}


.trainer-support-heading h2 span {
    color: #8f0b2a;

    background: linear-gradient(
        90deg,
        #075fc7,
        #8f0b2a
    );

    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}


.trainer-support-heading p {
    max-width: 780px;
    margin: 0 auto;

    font-size: 18px;
    line-height: 1.8;

    color: #66758b;
}


/* =========================================================
   SUPPORT CARDS
========================================================= */

.trainer-support-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 28px;
}


.trainer-support-card {
    position: relative;

    min-height: 260px;

    padding: 38px 34px;

    background: #ffffff;

    border: 1px solid rgba(6,29,73,0.10);

    border-radius: 22px;

    box-shadow:
        0 15px 45px rgba(6,29,73,0.08);

    display: flex;
    flex-direction: column;

    transition:
        transform .45s ease,
        box-shadow .45s ease,
        border-color .45s ease;

    overflow: hidden;
}


/* top gradient line */

.trainer-support-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: linear-gradient(
        90deg,
        #075fc7,
        #159cff,
        #8f0b2a,
        #d9173d
    );
}


/* card shine */

.trainer-support-card::after {
    content: "";

    position: absolute;

    top: 0;
    left: -120%;

    width: 70%;
    height: 100%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,0.65),
        transparent
    );

    transform: skewX(-20deg);

    transition: left .8s ease;

    pointer-events: none;
}


.trainer-support-card:hover::after {
    left: 130%;
}


.trainer-support-card:hover {
    transform: translateY(-10px);

    border-color: rgba(7,95,199,0.25);

    box-shadow:
        0 22px 55px rgba(6,29,73,0.13),
        0 0 30px rgba(21,156,255,0.08);
}


/* =========================================================
   NUMBER ICON
========================================================= */

.trainer-support-icon {
    width: 58px;
    height: 58px;

    margin-bottom: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #075fc7,
            #159cff
        );

    box-shadow:
        0 10px 25px rgba(7,95,199,0.22);
}


.trainer-support-card:nth-child(2)
.trainer-support-icon {
    background:
        linear-gradient(
            135deg,
            #8f0b2a,
            #d9173d
        );

    box-shadow:
        0 10px 25px rgba(143,11,42,0.22);
}


.trainer-support-card:nth-child(3)
.trainer-support-icon {
    background:
        linear-gradient(
            135deg,
            #061d49,
            #075fc7
        );
}


.trainer-support-icon span {
    color: #ffffff;

    font-size: 16px;
    font-weight: 800;

    letter-spacing: 1px;
}


/* =========================================================
   CARD TEXT
========================================================= */

.trainer-support-card h3 {
    margin: 0 0 14px;

    font-size: 23px;
    font-weight: 800;

    color: #061d49;
}


.trainer-support-card p {
    margin: 0;

    font-size: 16px;
    line-height: 1.75;

    color: #66758b;
}


/* =========================================================
   BOTTOM STATEMENT
========================================================= */

.trainer-support-bottom {
    margin-top: 65px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 22px;
}


.trainer-support-bottom p {
    margin: 0;

    font-size: 16px;
    font-weight: 700;

    letter-spacing: .4px;

    color: #061d49;

    text-align: center;
}


.trainer-support-line {
    width: 90px;
    height: 2px;

    background: linear-gradient(
        90deg,
        #075fc7,
        #8f0b2a
    );
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

    .trainer-support-section {
        padding: 80px 22px 70px;
    }

    .trainer-support-grid {
        grid-template-columns: 1fr;
    }

    .trainer-support-card {
        min-height: auto;
    }

}


@media (max-width: 600px) {

    .trainer-support-heading h2 {
        font-size: 38px;
    }

    .trainer-support-heading p {
        font-size: 16px;
    }

    .trainer-support-kicker::before,
    .trainer-support-kicker::after {
        width: 18px;
        margin: 0 7px;
    }

    .trainer-support-card {
        padding: 30px 26px;
    }

    .trainer-support-bottom {
        gap: 12px;
    }

    .trainer-support-line {
        width: 35px;
    }

}
/* Thin CTA → Footer divider */
.footer::before {
    height: 3px !important;
    background: linear-gradient(
        90deg,
        #159cff,
        #075fc7,
        #8f0b2a,
        #d9173d
    ) !important;
    box-shadow: none !important;
}