/* =========================
   DESIGN SYSTEM
========================= */

:root{

--primary-green:#0F766E;
--dark-green:#064E3B;
--soft-green:#D1FAE5;

--bg-main:#F8FAFC;
--bg-white:#ffffff;

--text-primary:#111827;
--text-secondary:#4B5563;
--text-muted:#6B7280;

--border-light:#e5e7eb;

}

/* =========================
   UCAT PAGE SHARED COMPONENTS
========================= */

body.ucat-final-page [data-component="navbar"]{
position:relative;
z-index:1100;
}

body.ucat-final-page [data-component="navbar"] .navbar{
position:sticky;
top:0;
z-index:1030;
padding:0.75rem 0;
background:white;
border-bottom:1px solid #e5e7eb;
transition:all 0.3s ease;
}

body.ucat-final-page [data-component="navbar"] .navbar-brand{
display:flex;
align-items:center;
gap:8px;
font-weight:700;
color:var(--primary-green) !important;
}

body.ucat-final-page [data-component="navbar"] .navbar-brand img{
height:70px;
width:auto;
object-fit:contain;
}

body.ucat-final-page [data-component="navbar"] .nav-link{
font-size:0.95rem;
font-weight:500;
color:var(--text-primary) !important;
padding:0.5rem 1rem !important;
}

body.ucat-final-page [data-component="navbar"] .nav-link:hover,
body.ucat-final-page [data-component="navbar"] .nav-link:focus-visible,
body.ucat-final-page [data-component="navbar"] .nav-link.text-success{
color:var(--primary-green) !important;
}

body.ucat-final-page [data-component="navbar"] .dropdown-menu{
border:none;
padding:1rem;
border-radius:8px;
box-shadow:0 10px 15px -3px rgba(0,0,0,0.1);
}

body.ucat-final-page [data-component="navbar"] .dropdown-item{
border-radius:0;
}

body.ucat-final-page [data-component="navbar"] .dropdown-item:hover,
body.ucat-final-page [data-component="navbar"] .dropdown-item:focus{
background-color:var(--light-green);
color:var(--primary-green);
}

body.ucat-final-page [data-component="navbar"] .btn.btn-primary{
background-color:var(--primary-green);
border-color:var(--primary-green);
font-weight:600;
padding:0.6rem 1.5rem;
}

body.ucat-final-page [data-component="navbar"] .btn.btn-primary:hover{
background-color:var(--dark-green);
border-color:var(--dark-green);
}

body.ucat-final-page [data-component="navbar"] .navbar-toggler{
border:none;
}

body.ucat-final-page [data-component="navbar"] .navbar-toggler:focus{
box-shadow:none;
}

body.ucat-final-page [data-component="footer"] .footer-light{
padding:40px 0;
font-family:'Inter', sans-serif;
background:#ffffff;
}

body.ucat-final-page [data-component="footer"] .footer-light h5{
font-size:1rem;
font-weight:700;
margin-bottom:0.75rem;
color:var(--text-primary);
}

body.ucat-final-page [data-component="footer"] .footer-light p{
color:var(--text-muted);
font-size:0.9rem;
line-height:1.6;
}

body.ucat-final-page [data-component="footer"] .footer-light a,
body.ucat-final-page [data-component="footer"] .footer-light a:link,
body.ucat-final-page [data-component="footer"] .footer-light a:visited{
color:var(--text-muted) !important;
text-decoration:none !important;
font-size:0.9rem;
line-height:1.8;
}

body.ucat-final-page [data-component="footer"] .footer-light a:hover,
body.ucat-final-page [data-component="footer"] .footer-light a:focus{
color:var(--primary-green) !important;
}

body.ucat-final-page [data-component="footer"] .footer-light .social-icons a{
font-size:1.4rem;
color:var(--dark-green) !important;
transition:var(--transition);
}

body.ucat-final-page [data-component="footer"] .footer-light .social-icons a:hover{
color:var(--primary-green) !important;
transform:translateY(-3px);
}

body.ucat-final-page .floating-whatsapp{
position:fixed;
bottom:30px;
right:30px;
z-index:1000;
}

body.ucat-final-page .floating-whatsapp a{
display:flex;
align-items:center;
justify-content:center;
width:60px;
height:60px;
background:#25D366;
color:#ffffff !important;
border-radius:50%;
box-shadow:0 4px 12px rgba(37,211,102,0.4);
transition:all 0.3s ease;
font-size:30px;
}

body.ucat-final-page .floating-whatsapp a:hover{
transform:scale(1.1);
box-shadow:0 6px 20px rgba(37,211,102,0.6);
}

/* =========================
   GLOBAL
========================= */

body{

font-family:'Inter', sans-serif;

background:var(--bg-main);

color:var(--text-primary);

line-height:1.6;

overflow-x:hidden;

}

h1,h2,h3,h4{

font-family:'Poppins', sans-serif;

font-weight:700;

}

/* =========================
   NAVBAR
========================= */

.navbar.mx-navbar{

position:sticky;

top:0;

z-index:1030;

padding:18px 0;

background:rgba(255,255,255,0.88);

backdrop-filter:blur(18px);

-webkit-backdrop-filter:blur(18px);

border-bottom:1px solid rgba(15,118,110,0.08);

box-shadow:0 14px 40px rgba(15,23,42,0.06);

}

.mx-navbar .container-fluid{

position:relative;

align-items:center;

gap:18px;

}

.navbar-brand{

display:flex;

align-items:center;

flex-shrink:0;

font-weight:700;

font-size:22px;

color:var(--primary-green) !important;

margin-right:18px;

padding-top:0;

padding-bottom:0;

line-height:1;

letter-spacing:-0.02em;

}

.brand-lockup{

display:flex;

align-items:center;

gap:14px;

}

.brand-mark{

display:flex;

align-items:center;

justify-content:center;

width:auto;

height:auto;

flex:0 0 auto;

}

.navbar-brand img{

display:block;

width:160px;

height:84px;

max-width:none;

object-fit:contain;

}

.brand-text{

display:flex;

flex-direction:column;

justify-content:center;

gap:4px;

min-width:0;

}

.brand-eyebrow{

font-size:11px;

font-weight:800;

letter-spacing:0.12em;

text-transform:uppercase;

color:var(--primary-green);

}

.brand-tagline{

font-size:13px;

font-weight:700;

letter-spacing:0.01em;

color:var(--text-secondary);

line-height:1.2;

white-space:nowrap;

}

.navbar-collapse{

position:relative;

align-items:center;

justify-content:flex-end;

}

.navbar-nav{

display:flex;

align-items:center;

gap:6px;

flex-wrap:nowrap;

}

.nav-link{

font-size:15px;

font-weight:700;

color:var(--text-secondary) !important;

margin-left:0;

padding:10px 14px !important;

white-space:nowrap;

border-radius:999px;

transition:color .25s ease, background-color .25s ease, transform .25s ease, box-shadow .25s ease;

}

.nav-link:hover,
.nav-link:focus-visible{

color:var(--primary-green) !important;

background:rgba(15,118,110,0.08);

transform:translateY(-1px);

}

.navbar .dropdown-toggle::after{

margin-left:8px;

vertical-align:0.12em;

}

/* =========================
   CTA BUTTON
========================= */

.mx-navbar .btn-primary{

background:linear-gradient(135deg, var(--primary-green), #139b91);

border:none;

padding:11px 20px;

font-weight:700;

white-space:nowrap;

border-radius:999px;

box-shadow:0 18px 36px rgba(15,118,110,0.20);

transition:transform .25s ease, box-shadow .25s ease, background .25s ease;

}

.navbar-cta-short{

display:none;

}

.mx-navbar .btn-primary:hover{

background:linear-gradient(135deg, var(--dark-green), #0b5a52);

transform:translateY(-1px);

box-shadow:0 22px 44px rgba(6,78,59,0.22);

}

.navbar-toggler{

border:none;

padding:10px 12px;

border-radius:14px;

background:#F0FDFA;

box-shadow:inset 0 0 0 1px rgba(15,118,110,0.10);

}

.navbar-toggler:focus{

box-shadow:0 0 0 0.2rem rgba(15,118,110,0.14);

}

.navbar-toggler-lines{

display:flex;

flex-direction:column;

gap:4px;

}

.navbar-toggler-lines span{

display:block;

width:22px;

height:2px;

border-radius:999px;

background:var(--dark-green);

}

.navbar-cta{

display:inline-flex;

align-items:center;

justify-content:center;

}

/* =========================
   MEGA MENU
========================= */

.nav-item.dropdown{

position:relative;

}

.mega-menu{

position:absolute;

top:100%;

left:50%;

width:720px;

max-width:min(720px, calc(100vw - 32px));

margin-top:0;

transform:translateX(-50%) translateY(14px);

background:linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,250,252,0.98));

border:1px solid rgba(15,118,110,0.12);

border-radius:22px;

padding:28px;

box-shadow:0 28px 70px rgba(15,23,42,0.12);

z-index:999;

display:block;

opacity:0;

visibility:hidden;

pointer-events:none;

transition:opacity .25s ease, transform .25s ease, visibility .25s ease;

}

.nav-item.dropdown::after{

content:"";

position:absolute;

left:0;

right:0;

top:100%;

height:14px;

}

.nav-item.dropdown:hover .mega-menu,
.nav-item.dropdown:focus-within .mega-menu,
.mega-menu.show{

opacity:1;

visibility:visible;

pointer-events:auto;

transform:translateX(-50%) translateY(0);

}

.mega-menu h6{

font-size:14px;

font-weight:800;

color:#0F766E;

margin-bottom:10px;

letter-spacing:0.02em;

}

.mega-menu a{

display:block;

text-decoration:none;

font-size:14px;

color:#4B5563;

padding:6px 0;

font-weight:500;

transition:color .2s ease, transform .2s ease;

}

.mega-menu a.menu-nowrap{

white-space:nowrap;

}

.mega-menu a:hover{

color:#0F766E;

transform:translateX(3px);

}

.mega-menu .row > div{

padding-right:20px;

}

.mega-menu .row > div:not(:last-child){

border-right:1px solid rgba(15,118,110,0.08);

}

@media (min-width:1200px) and (max-width:1399.98px){

.container-fluid.px-4{

padding-left:1rem !important;

padding-right:1rem !important;

}

.navbar-brand{

margin-right:10px;

}

.nav-link{

padding:10px 10px !important;

font-size:14px;

}

.navbar .btn-primary{

padding:8px 12px;

font-size:13px;

}

.navbar-cta-full{ display:none; }

.navbar-cta-short{ display:inline; }

}

@media (min-width:1400px) and (max-width:1536px){

.container-fluid.px-4{

padding-left:0.75rem !important;

padding-right:0.75rem !important;

}

.navbar-brand{

margin-right:8px;

}

.nav-link{

padding:10px 8px !important;

font-size:13px;

}

.navbar .btn-primary{

padding:8px 10px;

font-size:12px;

}

.navbar-cta-full{ display:none; }

.navbar-cta-short{ display:inline; }

}

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

@media (max-width:1199.98px){

.navbar-collapse{

margin-top:14px;

padding:18px;

background:linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,250,252,0.97));

border:1px solid rgba(15,118,110,0.12);

border-radius:22px;

box-shadow:0 24px 54px rgba(15,23,42,0.10);

max-height:calc(100vh - 110px);

overflow-y:auto;

}

.navbar-nav{

align-items:stretch;

gap:8px;

}

.nav-link{

padding:12px 14px !important;

}

.nav-item.ms-xxl-2{

margin-left:0 !important;

margin-top:12px;

}

.mega-menu{

position:static !important;

width:100%;

max-width:100%;

margin-top:8px;

left:auto !important;

right:auto !important;

top:auto !important;

transform:none !important;

display:none;

opacity:1;

visibility:visible;

pointer-events:auto;

box-shadow:none;

padding:16px 0 4px;

background:transparent;

border:none;

border-radius:0;

float:none;

inset:auto;

}

.dropdown-menu{

display:none;

position:static;

}

.dropdown-menu.show{

display:block;

}

.nav-item.dropdown::after{

display:none;

}

.mega-menu .row > div{

padding-right:12px;

padding-bottom:12px;

margin-bottom:4px;

border-right:none !important;

border-bottom:1px solid rgba(15,118,110,0.08);

}

.mega-menu .row > div:last-child{

border-bottom:none;

padding-bottom:0;

}

}

@media (max-width:767.98px){

.brand-lockup{

flex-direction:column;

align-items:flex-start;

gap:10px;

}

.brand-mark{

width:auto;

height:auto;

flex-basis:auto;

}

.navbar-brand img{

width:128px;

height:67px;

max-width:none;

}

.brand-tagline{

white-space:normal;

}

}

@media (max-width:575.98px){

.navbar.mx-navbar{

padding:14px 0;

}

.navbar-brand{

margin-right:10px;

}

.brand-eyebrow{

font-size:10px;

}

.brand-tagline{

font-size:12px;

}

.navbar-collapse{

padding:16px;

}

.navbar-cta{

width:100%;

justify-content:center;

}

}

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

.hero{

padding:100px 0 110px;

background:
radial-gradient(circle at top right, rgba(16,185,129,0.18), transparent 28%),
radial-gradient(circle at left center, rgba(15,118,110,0.16), transparent 24%),
linear-gradient(180deg, #F4FFF9 0%, #ECFDF5 55%, #F8FAFC 100%);

overflow:hidden;

}

.hero-badge{

display:inline-block;

background:rgba(209,250,229,0.9);

color:#065F46;

padding:7px 16px;

border:1px solid rgba(15,118,110,0.14);

border-radius:999px;

font-size:14px;

margin-bottom:16px;

font-weight:600;

}

.hero-title{

font-size:clamp(30px, 4.6vw, 48px);

font-weight:800;

line-height:1.30;

letter-spacing:-0.03em;

margin-bottom:22px;

max-width:16ch;

}

.hero-title-line{

display:block;

white-space:nowrap;

}

.hero-text{

font-size:18px;

color:#4B5563;

margin-bottom:32px;

max-width:560px;

}

.hero-meta{

display:flex;

flex-wrap:wrap;

gap:12px;

margin-bottom:30px;

}

.hero-meta span{

display:inline-flex;

align-items:center;

padding:10px 14px;

border-radius:999px;

background:rgba(255,255,255,0.7);

border:1px solid rgba(15,118,110,0.1);

font-size:14px;

font-weight:500;

color:var(--text-secondary);

}

.hero-buttons .btn{

padding:13px 28px;

font-weight:600;

border-radius:14px;

}

.hero-copy{

position:relative;

z-index:2;

padding-right:0;

}

.hero .row{

--bs-gutter-x:5rem;

}

.hero-media{

display:flex;

justify-content:flex-end;

position:relative;

z-index:1;

transform:translateY(-48px);

}

.hero-visual{

position:relative;

width:min(100%, 560px);

padding:0;

transform:translateX(24px);

}

.hero-orbit{

position:absolute;

border-radius:50%;

pointer-events:none;

}

.hero-orbit-one{

width:180px;

height:180px;

top:-48px;

right:-34px;

background:radial-gradient(circle, rgba(167,243,208,0.65) 0%, rgba(167,243,208,0) 72%);

}

.hero-orbit-two{

width:160px;

height:160px;

left:-40px;

bottom:-30px;

background:radial-gradient(circle, rgba(20,184,166,0.18) 0%, rgba(20,184,166,0) 72%);

}

.hero-visual-glow{

position:absolute;

inset:58px 22px 52px 42px;

border-radius:36px;

background:linear-gradient(180deg, rgba(255,255,255,0.72) 0%, rgba(236,253,245,0.82) 100%);

border:1px solid rgba(15,118,110,0.08);

box-shadow:0 36px 70px rgba(15,23,42,0.08);

}

.hero-illustration{

position:relative;

display:block;

width:100%;

height:auto;

z-index:1;

}

.hero-pill{

position:absolute;

display:flex;

flex-direction:column;

gap:6px;

max-width:210px;

padding:16px 18px;

border-radius:20px;

background:#ffffff;

border:1px solid rgba(15,118,110,0.1);

box-shadow:0 18px 40px rgba(15,23,42,0.08);

z-index:2;

}

.hero-pill strong{

font-family:'Poppins', sans-serif;

font-size:28px;

line-height:1;

color:var(--dark-green);

}

.hero-pill span{

font-size:13px;

line-height:1.5;

color:var(--text-secondary);

}

.hero-pill-top{

top:32px;

right:-12px;

}

.hero-pill-bottom{

left:0;

bottom:28px;

}

@media (max-width:1199.98px){

.hero-visual{

padding-left:14px;

}

}

@media (max-width:991.98px){

.hero .row{

--bs-gutter-x:1.5rem;

}

.hero{

padding:94px 0 72px;

}

.hero-copy{

margin-bottom:34px;

padding-right:0;

}

.hero-media{

justify-content:center;

transform:none;

}

.hero-visual{

padding:18px 0 0;

transform:none;

}

.hero-visual-glow{

display:none;

}

.hero-orbit{

display:none;

}

.hero-pill{

position:static;

max-width:none;

margin-top:16px;

background:#ffffff;

border:1px solid rgba(15,118,110,0.16);

box-shadow:0 16px 34px rgba(15,23,42,0.1);

width:100%;

z-index:3;

}

.hero-pill strong{

font-size:24px;

}

.hero-pill span{

font-size:14px;

color:#374151;

}

}

@media (max-width:575.98px){

.hero-title{

font-size:38px;

max-width:none;

}

.hero-title-line{

white-space:normal;

}

.hero-buttons{

display:flex;

flex-direction:column;

gap:12px;

align-items:stretch;

}

.hero-buttons .btn{

margin-right:0 !important;

}

.hero-meta{

gap:10px;

}

.hero-meta span{

width:100%;

justify-content:center;

}

.hero-visual-glow{

inset:40px 8px 36px 8px;

border-radius:24px;

}

.hero-pill{

padding:18px 16px;

border-radius:18px;

text-align:left;

}

}

/* =========================
   JOURNEY
========================= */

.journey{

padding:96px 0;

background:
radial-gradient(circle at top left, rgba(209,250,229,0.5), transparent 24%),
linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%) !important;

}

.journey .section-title{

font-size:clamp(32px, 3.5vw, 46px);

line-height:1.08;

letter-spacing:-0.03em;

color:var(--text-primary);

}

.journey .lead{

max-width:720px;

margin:0 auto;

font-size:17px;

line-height:1.75;

color:var(--text-secondary) !important;

}

.method-card{

position:relative;

height:100%;

padding:28px 22px 24px;

border-radius:28px;

background:rgba(255,255,255,0.94);

border:1px solid rgba(15,118,110,0.1);

box-shadow:0 22px 48px rgba(15,23,42,0.06);

overflow:hidden;

}

.method-card::before{

content:"";

position:absolute;

inset:0 0 auto 0;

height:5px;

background:linear-gradient(90deg, #0F766E 0%, #14B8A6 100%);

}

.method-step{

display:inline-flex;

align-items:center;

padding:8px 14px;

margin-bottom:20px;

border-radius:999px;

background:#ECFDF5;

border:1px solid rgba(15,118,110,0.12);

font-size:13px;

font-weight:700;

letter-spacing:0.04em;

text-transform:uppercase;

color:#065F46;

}

.method-card h5{

font-size:22px;

line-height:1.25;

margin-bottom:16px !important;

color:var(--text-primary);

}

.method-card ul{

list-style:none;

padding:0;

margin:0;

display:grid;

gap:12px;

}

.method-card ul li{

position:relative;

padding-left:30px;

font-size:14px;

line-height:1.65;

color:var(--text-secondary);

}

.method-card ul li::before{

content:"";

position:absolute;

left:0;

top:6px;

width:18px;

height:18px;

border-radius:50%;

background:#D1FAE5;

box-shadow:0 0 0 5px rgba(209,250,229,0.35);

}

@media (max-width:991.98px){

.journey{

padding:80px 0;

}

.method-card{

padding:24px 20px 22px;

border-radius:24px;

}

.method-card h5{

font-size:20px;

}

}

@media (max-width:575.98px){

.journey{

padding:64px 0;

}

.method-card{

padding:22px 18px 20px;

}

.method-card ul li{

font-size:13px;

}

}

/* =========================
   COMMUNITY BIOLOGY
========================= */

.community-biology{

padding:88px 0;

background:
radial-gradient(circle at right top, rgba(209,250,229,0.5), transparent 24%),
linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);

}

.community-biology h2{

font-size:clamp(32px, 3.4vw, 46px);

line-height:1.08;

letter-spacing:-0.03em;

margin-bottom:18px;

max-width:540px;

}

.community-biology p{

max-width:560px;

margin-bottom:28px;

font-size:17px;

line-height:1.8;

color:var(--text-secondary);

}

.community-list{

list-style:none;

margin:0 0 30px;

padding:0;

display:grid;

gap:12px;

max-width:500px;

}

.community-list li{

display:flex;

align-items:center;

gap:14px;

padding:16px 18px;

border-radius:20px;

background:rgba(255,255,255,0.92);

border:1px solid rgba(15,118,110,0.08);

box-shadow:0 14px 32px rgba(15,23,42,0.04);

font-size:16px;

font-weight:600;

color:var(--text-primary);

}

.community-list li::before{

content:"";

width:32px;

height:32px;

display:inline-flex;

flex-shrink:0;

border-radius:12px;

background:linear-gradient(180deg, #ECFDF5 0%, #D1FAE5 100%);

box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);

}

.community-list li::after{

content:"✓";

position:absolute;

}

.community-list li{

position:relative;

}

.community-list li::after{

left:28px;

top:50%;

transform:translateY(-50%);

font-size:14px;

font-weight:700;

color:var(--dark-green);

}

.community-biology .btn{

padding:13px 28px;

border-radius:14px;

}

.community-visual{

position:relative;

max-width:520px;

margin-left:auto;

padding:24px 18px 0;

}

.community-visual::before{

content:"";

position:absolute;

inset:42px 14px 10px 28px;

border-radius:34px;

background:linear-gradient(180deg, #F4FFF9 0%, #ECFDF5 100%);

border:1px solid rgba(15,118,110,0.08);

box-shadow:0 24px 54px rgba(15,23,42,0.07);

}

.community-image{

position:relative;

display:block;

width:100%;

height:auto;

z-index:1;

}

.community-badge{

position:absolute;

top:0;

right:0;

display:flex;

flex-direction:column;

gap:4px;

padding:14px 16px;

border-radius:18px;

background:#ffffff;

border:1px solid rgba(15,118,110,0.1);

box-shadow:0 18px 36px rgba(15,23,42,0.08);

z-index:2;

}

.community-badge strong{

font-family:'Poppins', sans-serif;

font-size:22px;

line-height:1;

color:var(--dark-green);

}

.community-badge span{

font-size:13px;

line-height:1.45;

color:var(--text-secondary);

max-width:170px;

}

@media (max-width:991.98px){

.community-biology{

padding:76px 0;

}

.community-biology .col-lg-6:first-child{

margin-bottom:28px;

}

.community-biology h2,
.community-biology p{

max-width:none;

}

.community-visual{

margin:24px auto 0;

}

}

@media (max-width:575.98px){

.community-biology{

padding:64px 0;

}

.community-biology p{

font-size:16px;

line-height:1.75;

}

.community-list li{

padding:14px 14px 14px 16px;

font-size:15px;

}

.community-visual{

padding:18px 0 0;

}

.community-visual::before{

inset:32px 0 8px;

border-radius:24px;

}

.community-badge{

position:static;

margin-bottom:14px;

}

}

/* =========================
   A-LEVEL SUPPORT
========================= */

.alevel-support{

padding:92px 0;

background:
radial-gradient(circle at left top, rgba(209,250,229,0.55), transparent 24%),
linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);

}

.alevel-support h2{

font-size:clamp(32px, 3.4vw, 46px);

line-height:1.08;

letter-spacing:-0.03em;

margin-bottom:18px;

max-width:560px;

}

.alevel-support p{

max-width:560px;

margin-bottom:30px;

font-size:17px;

line-height:1.8;

color:var(--text-secondary);

}

.alevel-support .btn{

padding:13px 28px;

border-radius:14px;

}

.alevel-list{

list-style:none;

margin:0;

padding:28px 26px;

background:rgba(255,255,255,0.94);

border:1px solid rgba(15,118,110,0.1);

border-radius:30px;

box-shadow:0 24px 52px rgba(15,23,42,0.06);

position:relative;

overflow:hidden;

}

.alevel-list::before{

content:"";

position:absolute;

inset:0 0 auto 0;

height:5px;

background:linear-gradient(90deg, #0F766E 0%, #14B8A6 100%);

}

.alevel-list li{

position:relative;

display:flex;

align-items:center;

gap:14px;

padding:16px 0;

font-size:17px;

font-weight:600;

color:var(--text-primary);

border-bottom:1px solid rgba(15,118,110,0.08);

}

.alevel-list li:last-child{

border-bottom:none;

}

.alevel-list li::before{

content:"";

width:34px;

height:34px;

display:inline-flex;

flex-shrink:0;

border-radius:12px;

background:
linear-gradient(180deg, #ECFDF5 0%, #D1FAE5 100%);

box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);

}

.alevel-list li::after{

content:"✓";

position:absolute;

left:10px;

top:50%;

transform:translateY(-50%);

font-size:15px;

font-weight:700;

color:var(--dark-green);

}

@media (max-width:991.98px){

.alevel-support{

padding:78px 0;

}

.alevel-support .col-lg-6:first-child{

margin-bottom:28px;

}

.alevel-support h2,
.alevel-support p{

max-width:none;

}

.alevel-list{

padding:24px 20px;

border-radius:24px;

}

}

@media (max-width:575.98px){

.alevel-support{

padding:64px 0;

}

.alevel-support p{

font-size:16px;

line-height:1.75;

}

.alevel-list{

padding:20px 18px;

}

.alevel-list li{

font-size:16px;

padding:14px 0;

}

}

/* =========================
   RESOURCES
========================= */

.resources{

padding:92px 0 100px;

background:
radial-gradient(circle at top right, rgba(209,250,229,0.5), transparent 24%),
linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);

}

.resource-card{

position:relative;

height:100%;

padding:30px 24px 24px;

border-radius:28px;

background:rgba(255,255,255,0.94);

border:1px solid rgba(15,118,110,0.1);

box-shadow:0 22px 48px rgba(15,23,42,0.06);

overflow:hidden;

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

}

.resource-card::before{

content:"";

position:absolute;

inset:0 0 auto 0;

height:5px;

background:linear-gradient(90deg, #0F766E 0%, #14B8A6 100%);

}

.resource-card::after{

content:"";

position:absolute;

right:-28px;

top:-28px;

width:110px;

height:110px;

border-radius:50%;

background:radial-gradient(circle, rgba(209,250,229,0.7) 0%, rgba(209,250,229,0) 72%);

pointer-events:none;

}

.resource-card:hover{

transform:translateY(-6px);

box-shadow:0 30px 56px rgba(15,23,42,0.08);

border-color:rgba(15,118,110,0.18);

}

.resource-card h4{

position:relative;

margin:0 0 14px;

font-size:24px;

line-height:1.2;

color:var(--text-primary);

}

.resource-card p{

position:relative;

margin:0 0 22px;

font-size:15px;

line-height:1.75;

color:var(--text-secondary);

}

.resource-card a{

position:relative;

display:inline-flex;

align-items:center;

gap:8px;

font-size:15px;

font-weight:700;

color:var(--primary-green);

text-decoration:none;

}

.resource-card a:hover{

color:var(--dark-green);

}

@media (max-width:991.98px){

.resources{

padding:78px 0 84px;

}

.resource-card{

padding:26px 20px 22px;

border-radius:24px;

}

.resource-card h4{

font-size:22px;

}

}

@media (max-width:575.98px){

.resources{

padding:64px 0 72px;

}

.resource-card{

padding:24px 18px 20px;

}

.resource-card h4{

font-size:20px;

}

.resource-card p{

font-size:14px;

line-height:1.7;

}

}

/* =========================
   TESTIMONIALS
========================= */

#success-stories{

padding:96px 0;

background:
radial-gradient(circle at top right, rgba(209,250,229,0.45), transparent 22%),
linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);

}

#success-stories .section-title{

font-size:clamp(32px, 3.4vw, 46px);

line-height:1.08;

letter-spacing:-0.03em;

margin-bottom:14px;

color:var(--text-primary);

}

#success-stories .lead{

font-size:17px;

line-height:1.75;

color:var(--text-secondary) !important;

}

.testimonial-card-modern{

height:100%;

display:flex;

flex-direction:column;

padding:28px 24px 24px;

border-radius:28px;

background:rgba(255,255,255,0.92);

border:1px solid rgba(15,118,110,0.1);

box-shadow:0 24px 52px rgba(15,23,42,0.06);

position:relative;

overflow:hidden;

}

.testimonial-card-modern::before{

content:"";

position:absolute;

inset:0 0 auto 0;

height:5px;

background:linear-gradient(90deg, #0F766E 0%, #14B8A6 100%);

}

.testimonial-stars{

display:flex;

gap:6px;

margin-bottom:18px;

color:#F59E0B;

font-size:16px;

line-height:1;

}

.testimonial-stars i{

font-style:normal;

display:inline-flex;

}

.testimonial-stars i::before{

content:"★";

}

.testimonial-text{

margin:0 0 24px;

font-size:15px;

line-height:1.8;

color:var(--text-secondary);

flex-grow:1;

}

.testimonial-author{

display:flex;

align-items:center;

gap:14px;

padding-top:18px;

border-top:1px solid rgba(15,118,110,0.08);

}

.author-avatar{

width:50px;

height:50px;

display:flex;

align-items:center;

justify-content:center;

border-radius:18px;

background:linear-gradient(180deg, #ECFDF5 0%, #D1FAE5 100%);

font-family:'Poppins', sans-serif;

font-size:16px;

font-weight:700;

color:var(--dark-green);

flex-shrink:0;

}

.testimonial-author strong{

display:block;

font-size:16px;

line-height:1.3;

color:var(--text-primary);

margin-bottom:3px;

}

.testimonial-author p{

margin:0;

font-size:13px;

line-height:1.5;

color:var(--text-muted) !important;

}

@media (max-width:991.98px){

#success-stories{

padding:78px 0;

}

.testimonial-card-modern{

padding:24px 20px 22px;

border-radius:24px;

}

}

@media (max-width:575.98px){

#success-stories{

padding:64px 0;

}

.testimonial-card-modern{

padding:22px 18px 20px;

}

.testimonial-text{

font-size:14px;

line-height:1.75;

}

}

/* =========================
   FEATURES
========================= */

.features{

padding:100px 0;

background:#ffffff;

}

.feature-title{

font-size:clamp(32px, 3.3vw, 44px);

line-height:1.08;

letter-spacing:-0.03em;

margin-bottom:16px;

max-width:540px;

}

.feature-intro{

color:#6B7280;

margin-bottom:34px;

max-width:540px;

font-size:17px;

line-height:1.75;

}

.feature-item{

display:flex;

gap:16px;

margin-bottom:16px;

padding:18px 18px 16px;

border-radius:22px;

background:linear-gradient(180deg, #FFFFFF 0%, #F7FFFB 100%);

border:1px solid rgba(15,118,110,0.08);

box-shadow:0 16px 34px rgba(15,23,42,0.04);

}

.feature-icon{

width:52px;

height:52px;

display:flex;

align-items:center;

justify-content:center;

flex-shrink:0;

font-size:24px;

border-radius:16px;

background:#ECFDF5;

}

.feature-item h4{

font-size:18px;

margin-bottom:6px;

line-height:1.3;

}

.feature-item p{

font-size:14px;

line-height:1.65;

color:#4B5563;

margin:0;

}

.feature-visual{

position:relative;

max-width:520px;

margin-left:auto;

padding:24px 18px 0;

}

.feature-visual::before{

content:"";

position:absolute;

inset:40px 12px 16px 26px;

border-radius:32px;

background:linear-gradient(180deg, #F4FFF9 0%, #ECFDF5 100%);

border:1px solid rgba(15,118,110,0.08);

box-shadow:0 26px 58px rgba(15,23,42,0.07);

}

.feature-image{

position:relative;

display:block;

width:100%;

height:auto;

z-index:1;

}

.feature-visual-badge{

position:absolute;

top:0;

right:0;

display:flex;

flex-direction:column;

gap:4px;

padding:14px 16px;

border-radius:18px;

background:#ffffff;

border:1px solid rgba(15,118,110,0.1);

box-shadow:0 18px 36px rgba(15,23,42,0.08);

z-index:2;

}

.feature-visual-badge strong{

font-family:'Poppins', sans-serif;

font-size:22px;

line-height:1;

color:var(--dark-green);

}

.feature-visual-badge span{

font-size:13px;

line-height:1.45;

color:var(--text-secondary);

max-width:160px;

}

@media (max-width:991.98px){

.features{

padding:84px 0;

}

.feature-title,
.feature-intro{

max-width:none;

}

.feature-visual{

margin:28px auto 0;

}

}

@media (max-width:575.98px){

.features{

padding:68px 0;

}

.feature-item{

padding:16px 14px;

}

.feature-icon{

width:46px;

height:46px;

font-size:20px;

}

.feature-visual{

padding:18px 0 0;

}

.feature-visual::before{

inset:32px 0 8px;

border-radius:24px;

}

.feature-visual-badge{

position:static;

margin-bottom:14px;

}

}

/* =========================
   TRUST STRIP
========================= */

.trust-strip{

margin-top:-28px;

padding:0 0 28px;

position:relative;

z-index:3;

}

.trust-strip .row{

--bs-gutter-x:18px;

--bs-gutter-y:12px;

padding:10px 12px;

}

.trust-item{

height:100%;

display:flex;

flex-direction:row;

align-items:center;

justify-content:center;

gap:10px;

background:linear-gradient(180deg, #FFFFFF 0%, #F6FFFB 100%);

border:1px solid rgba(15,118,110,0.08);

border-radius:999px;

padding:10px 14px;

min-height:58px;

box-shadow:0 12px 28px rgba(15,23,42,0.04);

}

.trust-icon{

width:30px;

height:30px;

display:flex;

align-items:center;

justify-content:center;

border-radius:999px;

background:#ECFDF5;

font-size:14px;

}

.trust-item p{

margin:0;

font-size:13px;

line-height:1.2;

font-weight:600;

color:var(--text-primary);

text-align:left;

}

@media (max-width:1199.98px){

.trust-strip .row{

padding:14px;

}

}

@media (max-width:767.98px){

.trust-strip{

margin-top:-24px;

padding-bottom:20px;

}

.trust-strip .row{

padding:14px;

}

.trust-item{

min-height:auto;

padding:10px 14px;

justify-content:flex-start;

}

}

/* =========================
   PROGRAMMES
========================= */

.programmes{

padding:0 0 96px;

background:var(--bg-main);

}

.section-header{

max-width:720px;

margin:0 auto 46px;

}

.section-header h2{

font-size:clamp(32px, 3.5vw, 46px);

line-height:1.08;

letter-spacing:-0.03em;

margin-bottom:14px;

color:var(--text-primary);

}

.section-header p{

margin:0 auto;

max-width:640px;

font-size:17px;

line-height:1.75;

color:var(--text-secondary);

}

.programme-card{

position:relative;

display:flex;

flex-direction:column;

height:100%;

padding:28px 24px 24px;

border-radius:28px;

background:rgba(255,255,255,0.9);

border:1px solid rgba(15,118,110,0.1);

box-shadow:0 24px 48px rgba(15,23,42,0.06);

overflow:hidden;

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

}

.programme-card::before{

content:"";

position:absolute;

inset:0 0 auto 0;

height:5px;

background:linear-gradient(90deg, #0F766E 0%, #14B8A6 100%);

}

.programme-card:hover{

transform:translateY(-6px);

box-shadow:0 30px 56px rgba(15,23,42,0.09);

border-color:rgba(15,118,110,0.18);

}

.programme-icon{

width:64px;

height:64px;

display:flex;

align-items:center;

justify-content:center;

margin-bottom:22px;

border-radius:20px;

background:linear-gradient(180deg, #ECFDF5 0%, #D1FAE5 100%);

box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);

font-size:30px;

}

.programme-card h3{

font-size:22px;

line-height:1.25;

margin-bottom:14px;

color:var(--text-primary);

}

.programme-card p{

margin:0 0 22px;

font-size:15px;

line-height:1.75;

color:var(--text-secondary);

}

.programme-link{

display:inline-flex;

align-items:center;

gap:8px;

margin-top:auto;

font-size:15px;

font-weight:700;

color:var(--primary-green);

text-decoration:none;

}

.programme-link:hover{

color:var(--dark-green);

}

@media (max-width:991.98px){

.programmes{

padding:0 0 78px;

}

.section-header{

margin-bottom:34px;

}

.programme-card{

padding:24px 20px 22px;

border-radius:24px;

}

}

@media (max-width:575.98px){

.programmes{

padding:0 0 64px;

}

.section-header p{

font-size:16px;

}

.programme-card{

padding:22px 18px 20px;

}

.programme-icon{

width:56px;

height:56px;

font-size:26px;

margin-bottom:18px;

}

.programme-card h3{

font-size:20px;

}

}

/* =========================
   FOOTER
========================= */

.footer{

background:linear-gradient(180deg, #083F37 0%, #052F2B 100%);

color:white;

padding:72px 0 28px;

}

.footer-shell{

padding:0 12px;

}

.footer-main{

--bs-gutter-x:1.75rem;

align-items:flex-start;

}

.footer-main > [class*="col-"]{

min-width:0;

}

.footer-brand img{

display:block;

height:52px;

width:auto;

max-width:220px;

margin-bottom:18px;

filter:brightness(0) invert(1);

}

.footer-brand p{

max-width:360px;

margin:0 0 22px;

font-size:15px;

line-height:1.75;

color:rgba(255,255,255,0.78);

}

.footer h5{

font-weight:600;

margin-bottom:16px;

font-size:15px;

letter-spacing:0.02em;

color:white;

}

.footer a{

color:rgba(209,250,229,0.88);

text-decoration:none;

display:block;

margin-bottom:10px;

font-size:14px;

}

.footer a:hover{

color:white;

}

.footer-column{

height:100%;

}

.footer-contact-item{

margin:0 0 14px;

font-size:14px;

line-height:1.7;

color:rgba(255,255,255,0.76);

}

.footer-contact-item .bi{

color:#D1FAE5;

}

.footer-contact-item strong{

color:#D1FAE5;

font-weight:600;

}

.footer-bottom{

display:flex;

align-items:center;

justify-content:space-between;

gap:18px;

border-top:1px solid rgba(255,255,255,0.12);

margin-top:40px;

padding-top:22px;

font-size:14px;

margin-inline:12px;

width:auto;

}

.footer-bottom p{

margin:0;

color:rgba(255,255,255,0.72);

}

.footer-bottom-copy{

margin:0;

color:rgba(255,255,255,0.72);

font-size:14px;

}

.footer-legal{

display:flex;

flex-wrap:wrap;

justify-content:flex-end;

gap:18px;

}

.footer-bottom > *{

min-width:0;

}

.footer-legal a{

margin-bottom:0;

font-size:13px;

color:rgba(255,255,255,0.72);

}

@media (max-width:991.98px){

.footer{

padding:60px 0 24px;

}

.footer-shell{

padding:0 10px;

}

.footer-bottom{

flex-direction:column;

align-items:flex-start;

width:auto;

}

.footer-legal{

justify-content:flex-start;

gap:14px;

}

}

@media (max-width:575.98px){

.footer{

padding:52px 0 22px;

}

.footer-shell{

padding:0 8px;

}

.footer-brand img{

height:46px;

}

}

/* =========================
   START HERE PAGE
========================= */

.start-here-page{

background:#F8FAFC;

}

.start-here-page .hero{

position:relative;

padding:140px 0 110px;

background:
radial-gradient(circle at top left, rgba(20,184,166,0.22), transparent 24%),
radial-gradient(circle at right center, rgba(209,250,229,0.75), transparent 26%),
linear-gradient(180deg, #083F37 0%, #0B5E57 48%, #0F766E 100%);

overflow:hidden;

}

.start-here-page .hero::before{

content:"";

position:absolute;

inset:auto -8% 24px auto;

width:280px;

height:280px;

border-radius:50%;

background:radial-gradient(circle, rgba(167,243,208,0.28) 0%, rgba(167,243,208,0) 72%);

pointer-events:none;

}

.start-here-page .hero .container{

position:relative;

z-index:1;

max-width:860px;

}

.start-here-page .hero h1{

font-family:'Poppins', sans-serif;

font-size:clamp(40px, 6vw, 64px);

line-height:1.02;

letter-spacing:-0.04em;

color:#ffffff;

margin-bottom:22px !important;

}

.start-here-page .hero .lead{

max-width:760px;

margin:0 auto 32px;

font-size:19px;

line-height:1.85;

color:rgba(255,255,255,0.86) !important;

}

.start-here-page .hero .btn{

min-width:220px;

padding:14px 24px;

border-radius:16px;

font-weight:700;

}

.start-here-page .hero .btn-outline-light{

border-width:1.5px;

}

.start-here-page .section-space{

padding:92px 0;

}

.start-here-page .section-space h2,
.start-here-page .journey h2,
.start-here-page .cta-section h2{

font-family:'Poppins', sans-serif;

font-size:clamp(32px, 4vw, 46px);

line-height:1.08;

letter-spacing:-0.03em;

color:var(--text-primary);

}

.start-here-page .section-space.bg-light,
.start-here-page .journey{

background:
radial-gradient(circle at top left, rgba(209,250,229,0.42), transparent 24%),
linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%) !important;

}

.start-here-page .step-card,
.start-here-page .method-card{

position:relative;

height:100%;

padding:28px 24px 24px;

border-radius:28px;

background:rgba(255,255,255,0.94);

border:1px solid rgba(15,118,110,0.1);

box-shadow:0 24px 52px rgba(15,23,42,0.06);

overflow:hidden;

}

.start-here-page .step-card::before,
.start-here-page .method-card::before{

content:"";

position:absolute;

inset:0 0 auto 0;

height:5px;

background:linear-gradient(90deg, #0F766E 0%, #14B8A6 100%);

}

.start-here-page .step-card h5,
.start-here-page .method-card h5{

font-size:22px;

line-height:1.25;

margin-bottom:12px !important;

color:var(--text-primary);

}

.start-here-page .step-card p,
.start-here-page .method-card p{

margin:0;

font-size:15px;

line-height:1.75;

color:var(--text-secondary);

}

.start-here-page .step-card{

text-align:left;

}

.start-here-page .step-card h5::before{

content:"🎯";

display:block;

width:52px;

height:52px;

margin-bottom:18px;

border-radius:18px;

background:linear-gradient(180deg, #ECFDF5 0%, #D1FAE5 100%);

box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);

display:flex;

align-items:center;

justify-content:center;

font-size:24px;

}

.start-here-page .step-card.audience-students h5::before{

content:"🧑‍🎓";

}

.start-here-page .step-card.audience-ucat h5::before{

content:"🧠";

}

.start-here-page .step-card.audience-applicants h5::before{

content:"🩺";

}

.start-here-page .step-card.audience-parents h5::before{

content:"👨‍👩‍👧";

}

.start-here-page .step-card.journey-ucat h5::before{

content:"📝";

}

.start-here-page .step-card.journey-university h5::before{

content:"🗺️";

}

.start-here-page .step-card.journey-statement h5::before{

content:"📄";

}

.start-here-page .step-card.journey-interview h5::before{

content:"🎤";

}

.start-here-page .step-card.journey-offers h5::before{

content:"🎓";

}

.start-here-page .step-card.support-ucat h5::before{

content:"🧠";

}

.start-here-page .step-card.support-interview h5::before{

content:"🎤";

}

.start-here-page .step-card.support-statement h5::before{

content:"📄";

}

.start-here-page .step-card.support-application h5::before{

content:"🗺️";

}

.start-here-page .journey .text-center.mb-5{

max-width:840px;

margin-left:auto;

margin-right:auto;

}

.start-here-page .journey .small{

display:inline-flex;

padding:8px 14px;

border-radius:999px;

background:#ECFDF5;

border:1px solid rgba(15,118,110,0.12);

letter-spacing:0.04em;

margin-bottom:18px;

}

.start-here-page .journey .lead{

color:var(--text-secondary) !important;

}

.start-here-page .method-step{

display:inline-flex;

padding:8px 14px;

margin-bottom:20px;

border-radius:999px;

background:#ECFDF5;

border:1px solid rgba(15,118,110,0.12);

font-size:13px;

font-weight:700;

letter-spacing:0.04em;

text-transform:uppercase;

color:#065F46;

}

.start-here-page .method-card ul{

list-style:none;

padding:0;

margin:0;

display:grid;

gap:12px;

}

.start-here-page .method-card ul li{

position:relative;

padding-left:28px;

font-size:14px;

line-height:1.65;

color:var(--text-secondary);

}

.start-here-page .method-card ul li::before{

content:"";

position:absolute;

left:0;

top:6px;

width:16px;

height:16px;

border-radius:50%;

background:#A7F3D0;

box-shadow:0 0 0 5px rgba(209,250,229,0.45);

}

.start-here-page .section-space .row.text-center > div h5{

font-size:21px;

margin-bottom:10px;

}

.start-here-page .section-space .row.text-center > div p{

font-size:15px;

line-height:1.75;

color:var(--text-secondary);

margin:0;

}

.start-here-page .section-space .row.text-center > div{

padding:0 8px;

}

.start-here-page .section-space .row.text-center{

position:relative;

padding:18px 0;

}

.start-here-page .section-space .row.text-center > div::before{

content:"📘";

display:block;

width:64px;

height:64px;

margin:0 auto 18px;

border-radius:20px;

background:linear-gradient(180deg, #ECFDF5 0%, #D1FAE5 100%);

box-shadow:0 16px 28px rgba(15,118,110,0.08);

display:flex;

align-items:center;

justify-content:center;

font-size:28px;

}

.start-here-page .support-grid > div::before{

content:none !important;

display:none !important;

}

.start-here-page .section-space.bg-light .container.text-center{

max-width:860px;

}

.start-here-page .section-space.bg-light p{

font-size:18px;

line-height:1.8;

color:var(--text-secondary);

}

.start-here-page .section-space.bg-light .btn{

padding:14px 26px;

border-radius:16px;

font-weight:700;

}

.start-here-page .cta-section{

padding:92px 0;

margin-bottom:48px;

background:var(--bg-main);

}

.start-here-page .cta-section h2{

color:var(--heading-color);

}

.start-here-page .cta-section p{

max-width:720px;

margin:0 auto 30px;

font-size:18px;

line-height:1.8;

color:var(--text-secondary);

}

.start-here-page .cta-section .btn{

padding:14px 28px;

border-radius:16px;

font-weight:700;

background:#A7F3D0;

border:none;

color:#064E3B;

}

.start-here-page .cta-section .btn:hover{

background:#D1FAE5;

color:#064E3B;

}

@media (max-width:991.98px){

.start-here-page .hero{

padding:116px 0 92px;

}

.start-here-page .section-space,
.start-here-page .cta-section,
.start-here-page .journey{

padding:76px 0;

}

.start-here-page .step-card,
.start-here-page .method-card{

padding:24px 20px 22px;

border-radius:24px;

}

}

@media (max-width:575.98px){

.start-here-page .hero{

padding:102px 0 80px;

}

.start-here-page .hero h1{

font-size:38px;

}

.start-here-page .hero .btn{

width:100%;

min-width:0;

}

.start-here-page .hero .btn.me-3{

margin-right:0 !important;

margin-bottom:12px;

}

.start-here-page .section-space,
.start-here-page .cta-section,
.start-here-page .journey{

padding:64px 0;

}

.start-here-page .step-card,
.start-here-page .method-card{

padding:22px 18px 20px;

}

.start-here-page .step-card h5,
.start-here-page .method-card h5{

font-size:20px;

}

}
