/* StudyRev 1.7 liquid-glass application layer. */
:root {
	--srg-ink: #0d1b2f;
	--srg-muted: #53657a;
	--srg-blue: #078bd0;
	--srg-blue-deep: #062f6b;
	--srg-line: rgba(111, 151, 185, .22);
	--srg-glass: rgba(255, 255, 255, .74);
	--srg-glass-strong: rgba(255, 255, 255, .9);
	--srg-shadow: 0 24px 70px rgba(7, 35, 77, .13), inset 0 1px 0 rgba(255, 255, 255, .95);
	--srg-radius: 26px;
}

body {
	background: radial-gradient(circle at 12% 4%, rgba(47, 190, 245, .13), transparent 25rem), radial-gradient(circle at 86% 22%, rgba(39, 108, 235, .1), transparent 28rem), #f4f8fc;
	color: var(--srg-muted);
}

/* Content is always readable; motion is applied to child components only. */
.sr-reveal {
	opacity: 1 !important;
	transform: none !important;
}

/* Floating iPhone-inspired navigation with guaranteed contrast. */
.site-header {
	padding: 12px 0 4px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transition: padding .25s ease, transform .25s ease;
}
.site-header__inner {
	position: relative;
	width: min(calc(100% - 28px), 1240px) !important;
	min-height: 76px !important;
	padding: 9px 12px 9px 18px !important;
	overflow: visible !important;
	border: 1px solid rgba(255, 255, 255, .9) !important;
	border-radius: 24px !important;
	background: linear-gradient(125deg, rgba(255, 255, 255, .91), rgba(237, 247, 255, .7)) !important;
	box-shadow: 0 22px 64px rgba(7, 35, 77, .14), inset 0 1px 0 #fff, inset 0 -1px 0 rgba(43, 151, 218, .08) !important;
	backdrop-filter: blur(30px) saturate(1.45) !important;
	-webkit-backdrop-filter: blur(30px) saturate(1.45) !important;
}
.site-header__inner::before {
	position: absolute !important;
	display: block !important;
	inset: 1px 12% auto !important;
	height: 1px !important;
	border-radius: 99px !important;
	background: linear-gradient(90deg, transparent, rgba(18, 139, 210, .62), transparent) !important;
	content: "" !important;
	pointer-events: none;
}
.site-header__inner::after {
	position: absolute;
	z-index: -1;
	right: 10%;
	bottom: -12px;
	left: 10%;
	height: 25px;
	border-radius: 50%;
	background: rgba(7, 76, 139, .11);
	content: "";
	filter: blur(15px);
	pointer-events: none;
}
.site-header.is-scrolled { padding-top: 7px !important; }
.site-header.is-scrolled .site-header__inner { min-height: 68px !important; box-shadow: 0 18px 48px rgba(7, 35, 77, .16), inset 0 1px 0 #fff !important; }
.site-branding__logo { width: auto !important; max-width: 132px !important; max-height: 58px !important; object-fit: contain !important; filter: drop-shadow(0 7px 14px rgba(6, 43, 103, .12)) !important; transition: transform .25s ease; }
.site-branding__link:hover .site-branding__logo { transform: translateY(-2px) scale(1.015); }
.primary-menu { padding: 5px !important; gap: 2px !important; border: 1px solid rgba(255, 255, 255, .65); border-radius: 16px; background: rgba(255, 255, 255, .38); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75); }
.primary-menu > li > a { position: relative; min-height: 42px; padding: 9px 12px !important; border-radius: 12px !important; color: var(--srg-ink) !important; font-size: .83rem !important; font-weight: 720 !important; transition: color .2s ease, background .2s ease, transform .2s ease; }
.primary-menu > li > a:hover { background: rgba(255, 255, 255, .82) !important; color: var(--srg-blue-deep) !important; transform: translateY(-1px); }
.primary-menu .current-menu-item > a,
.primary-menu .current-menu-ancestor > a { background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(222, 243, 255, .9)) !important; color: var(--srg-blue-deep) !important; box-shadow: 0 8px 20px rgba(7, 73, 134, .1), inset 0 1px 0 #fff; }
.primary-menu .current-menu-item > a::after { position: absolute; right: 13px; bottom: 4px; left: 13px; height: 2px; border-radius: 99px; background: linear-gradient(90deg, var(--srg-blue), #55cfff); content: ""; }
.header-actions { gap: 7px !important; }
.header-search-toggle,
.menu-toggle { border: 1px solid rgba(100, 145, 182, .19) !important; border-radius: 13px !important; background: rgba(255, 255, 255, .62) !important; color: var(--srg-blue-deep) !important; box-shadow: inset 0 1px 0 #fff; }
.header-search-toggle:hover,
.menu-toggle:hover { background: #fff !important; box-shadow: 0 8px 22px rgba(7, 53, 103, .11), inset 0 1px 0 #fff; }
.header-actions__login { display: inline-flex; min-height: 42px; padding: 8px 12px !important; align-items: center; border-radius: 12px; color: var(--srg-ink) !important; font-size: .82rem; font-weight: 750 !important; }
.header-actions__login:hover { background: rgba(255, 255, 255, .68); color: var(--srg-blue-deep) !important; }
.button--header { min-height: 46px !important; padding: 11px 17px !important; border: 1px solid rgba(255, 255, 255, .22) !important; border-radius: 14px !important; background: linear-gradient(145deg, #063272, #078fd3) !important; box-shadow: 0 12px 28px rgba(6, 58, 118, .25), inset 0 1px 0 rgba(255, 255, 255, .28) !important; color: #fff !important; font-size: .8rem !important; white-space: nowrap; }
.button--header:hover { box-shadow: 0 17px 34px rgba(6, 58, 118, .32), inset 0 1px 0 rgba(255, 255, 255, .3) !important; transform: translateY(-2px); }
.header-search { width: min(calc(100% - 28px), 800px); margin: 8px auto 0; padding: 10px !important; border: 1px solid rgba(255, 255, 255, .88) !important; border-radius: 18px; background: rgba(244, 250, 255, .84) !important; box-shadow: var(--srg-shadow); backdrop-filter: blur(24px); }

/* Shared liquid surfaces used throughout the software-like experience. */
.srx-service-card,
.srx-mentor-card,
.srx-toolkit-card,
.srx-review-card,
.srx-review-empty,
.content-card,
.widget,
.contact-section__form,
.sr-contact-card,
.sr-about-value,
.sr-social-card {
	border-color: rgba(255, 255, 255, .88) !important;
	background: linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(237, 247, 255, .68)) !important;
	box-shadow: var(--srg-shadow) !important;
	backdrop-filter: blur(22px) saturate(1.25);
	-webkit-backdrop-filter: blur(22px) saturate(1.25);
}
.srx-service-card:hover,
.srx-mentor-card:hover,
.srx-toolkit-card:hover,
.content-card:hover,
.sr-social-card:hover { border-color: rgba(53, 169, 226, .4) !important; box-shadow: 0 30px 78px rgba(7, 35, 77, .17), inset 0 1px 0 #fff !important; }
.srx-toolkit-card:nth-child(2),
.srx-toolkit-card:nth-child(3) { border-color: rgba(255, 255, 255, .2) !important; background: linear-gradient(145deg, rgba(5, 39, 87, .96), rgba(10, 119, 181, .91)) !important; }

/* Crop-safe hero and compact app promotion. */
.sr-pattern-hero { width: min(calc(100% - 40px), 1240px); overflow: visible !important; }
.sr-hero-people { width: min(600px, 52%) !important; margin: 26px auto 0 !important; overflow: visible !important; border-radius: 24px; background: rgba(255, 255, 255, .7); box-shadow: 0 24px 70px rgba(7, 35, 77, .1); }
.sr-hero-people img { display: block; width: 100% !important; height: auto !important; max-height: none !important; border-radius: 28px; object-fit: contain !important; object-position: center bottom !important; }
.sr-stats-panel { width: min(820px, 88%) !important; margin: 16px auto 0 !important; }
.srx-hero-app-promo { display: grid; width: fit-content; max-width: min(100%, 520px); min-height: 54px; margin: 22px auto 0; padding: 8px 12px; grid-template-columns: 38px auto 1fr 28px; align-items: center; gap: 9px; border: 1px solid rgba(255, 255, 255, .92); border-radius: 16px; background: linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(225, 243, 254, .74)); box-shadow: 0 18px 46px rgba(7, 35, 77, .11), inset 0 1px 0 #fff; color: var(--srg-ink); text-decoration: none; backdrop-filter: blur(22px); animation: srgHeroPromo 4.5s ease-in-out infinite; }
.srx-hero-app-promo:hover { color: var(--srg-blue-deep); box-shadow: 0 24px 55px rgba(7, 35, 77, .16), inset 0 1px 0 #fff; transform: translateY(-3px); }
.srx-hero-app-promo > .dashicons { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: linear-gradient(145deg, #063272, #078fd3); color: #fff; font-size: 20px; line-height: 38px; }
.srx-hero-app-promo strong { font-size: .78rem; white-space: nowrap; }
.srx-hero-app-promo small { color: var(--srg-muted); font-size: .67rem; }
.srx-hero-app-promo b { color: var(--srg-blue); font-size: 1.15rem; }
@keyframes srgHeroPromo { 50% { box-shadow: 0 23px 58px rgba(7, 91, 157, .17), inset 0 1px 0 #fff; transform: translateY(-4px); } }
.srx-app-preview .srx-hero-app-promo { margin: 25px 0 20px; border-color: rgba(255, 255, 255, .26); background: rgba(255, 255, 255, .12); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24); color: #fff; }
.srx-app-preview .srx-hero-app-promo small,
.srx-app-preview .srx-hero-app-promo b { color: rgba(255, 255, 255, .78); }
.srx-app-preview .srx-hero-app-promo:hover { color: #fff; background: rgba(255, 255, 255, .18); }

/* Compact contact hierarchy and guaranteed card contrast. */
.sr-contact-details .sr-section-title { max-width: 9ch; margin-bottom: 24px; color: var(--srg-ink); font-size: clamp(2.35rem, 4.2vw, 4.15rem); line-height: .94; overflow-wrap: normal; word-break: normal; }
.sr-contact-details .sr-section-title mark { padding: 0; background: transparent; color: var(--srg-blue); }
.sr-contact-details > p { display: grid; gap: 3px; padding: 15px 17px !important; }
.sr-contact-details > p strong { color: var(--srg-muted); font-size: .78rem; letter-spacing: .02em; }
.sr-contact-details > p a { color: var(--srg-blue-deep); overflow-wrap: anywhere; }
.sr-about-value--blue { border-color: rgba(255, 255, 255, .2) !important; background: linear-gradient(145deg, #052b63, #0a81c4) !important; color: #fff !important; }
.sr-about-value--blue h3 { color: #fff !important; }
.sr-about-value--blue p { color: rgba(255, 255, 255, .82) !important; }
.sr-about-value--blue > span { background: rgba(255, 255, 255, .15) !important; color: #fff !important; }

/* Keep review verification aligned in the same centered reading flow. */
.srx-review-heading-row { display: grid; justify-items: center; }
.srx-review-heading-row .srx-section-heading { width: 100%; }
.srx-review-proof { position: static !important; margin: 18px auto 26px !important; }

/* Facebook community promotion near the end of the homepage. */
.srx-community { padding-top: clamp(58px, 7vw, 90px); padding-bottom: 0; background: #f5f8fc; }
.srx-community__card { display: grid; padding: clamp(24px, 4vw, 42px); grid-template-columns: 72px minmax(0, 1fr) auto; gap: clamp(20px, 4vw, 38px); align-items: center; overflow: hidden; border: 1px solid rgba(255, 255, 255, .92); border-radius: 30px; background: radial-gradient(circle at 92% 8%, rgba(39, 153, 255, .2), transparent 19rem), linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(227, 242, 253, .82)); box-shadow: var(--srg-shadow); }
.srx-community__icon { display: grid; width: 72px; height: 72px; place-items: center; border-radius: 22px; background: linear-gradient(145deg, #0866ff, #0647b7); box-shadow: 0 16px 34px rgba(8, 102, 255, .28), inset 0 1px 0 rgba(255, 255, 255, .3); color: #fff; }
.srx-community__icon .dashicons { width: 34px; height: 34px; font-size: 34px; line-height: 34px; }
.srx-community__copy h2 { margin-bottom: 10px; color: var(--srg-ink); font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1; letter-spacing: -.05em; }
.srx-community__copy > p:last-child { max-width: 720px; margin: 0; color: var(--srg-muted); }
.srx-community__action { min-width: 220px; }

/* Permanent contrast guard for the journey section and crop-safe supporting media. */
.srx-journey.sr-reveal { opacity: 1 !important; transform: none !important; background: radial-gradient(circle at 88% 14%, rgba(57, 193, 255, .25), transparent 28rem), linear-gradient(155deg, #04162f, #073a75 58%, #087ebd) !important; color: #fff !important; }
.srx-journey .srx-eyebrow,
.srx-journey h2,
.srx-journey h3,
.srx-journey p,
.srx-journey .srx-feature-list span,
.srx-trust-stage__image strong,
.srx-trust-stage__image small { color: #fff !important; text-shadow: 0 1px 2px rgba(0, 10, 28, .22); }
.srx-journey .srx-section-heading > p:last-child,
.srx-journey__steps p { color: rgba(255, 255, 255, .82) !important; }
.srx-journey__intro .button { border-color: rgba(255, 255, 255, .45) !important; background: rgba(255, 255, 255, .94) !important; color: #052d67 !important; }
.srx-trust-stage { background: rgba(2, 23, 52, .38) !important; }
.srx-trust-stage__image { display: grid; min-height: 0 !important; align-items: center; background: #061b39; }
.srx-trust-stage__image img { width: 100% !important; height: auto !important; object-fit: contain !important; object-position: center !important; }

/* Public, moderated review experience. */
.srx-reviews { scroll-margin-top: 120px; }
.srx-review-submit { display: grid; margin-top: 34px; padding: clamp(22px, 4vw, 42px); grid-template-columns: .8fr 1.2fr; gap: clamp(28px, 5vw, 64px); align-items: start; border: 1px solid rgba(255, 255, 255, .92); border-radius: 28px; background: linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(229, 244, 253, .72)); box-shadow: var(--srg-shadow); backdrop-filter: blur(24px); }
.srx-review-submit__copy h3 { margin-bottom: 14px; color: var(--srg-ink); font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.05; letter-spacing: -.045em; }
.srx-review-submit__copy > p:not(.srx-eyebrow) { color: var(--srg-muted); }
.srx-review-submit__copy a { color: var(--srg-blue-deep); font-size: .78rem; font-weight: 800; text-decoration: none; }
.srx-review-form { display: grid; gap: 15px; }
.srx-review-form label { display: grid; gap: 7px; color: var(--srg-ink); font-size: .76rem; font-weight: 750; }
.srx-review-form input,
.srx-review-form textarea { width: 100%; min-height: 50px; padding: 12px 13px; border: 1px solid rgba(85, 132, 169, .24); border-radius: 12px; background: rgba(255, 255, 255, .9); color: var(--srg-ink); }
.srx-review-form textarea { min-height: 124px; resize: vertical; }
.srx-review-form input:focus,
.srx-review-form textarea:focus { border-color: var(--srg-blue); outline: 3px solid rgba(7, 139, 208, .14); }
.srx-rating { display: flex; margin: 0; padding: 0; flex-direction: row-reverse; justify-content: flex-end; gap: 3px; border: 0; }
.srx-rating legend { width: 100%; margin-bottom: 4px; color: var(--srg-ink); font-size: .76rem; font-weight: 750; }
.srx-rating input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.srx-rating label { display: block; color: #b9c4d0; cursor: pointer; font-size: 1.75rem; line-height: 1; transition: color .16s ease, transform .16s ease; }
.srx-rating label:hover,
.srx-rating label:hover ~ label,
.srx-rating input:checked ~ label { color: #ffb000; transform: translateY(-1px); }
.srx-review-form__notice { margin: 0; padding: 12px 14px; border-radius: 11px; font-size: .76rem; }
.srx-review-form__notice.is-success { background: #eaf8ef; color: #176f39; }
.srx-review-form__notice.is-error { background: #fff0f0; color: #982c2c; }
.social-links a { border-color: rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .08); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12); transition: transform .2s ease, background .2s ease; }
.social-links a:hover { background: #078bd0; transform: translateY(-3px); }
.social-links .dashicons { width: 18px; height: 18px; font-size: 18px; line-height: 18px; }

/* Homepage company summary: one-screen understanding and direct conversion. */
.srg-company { overflow: hidden; background: radial-gradient(circle at 85% 20%, rgba(35, 177, 236, .15), transparent 22rem), linear-gradient(180deg, #eff6fb, #f8fbfd); }
.srg-company__shell { display: grid; padding: clamp(24px, 5vw, 56px); grid-template-columns: .9fr 1.1fr; gap: clamp(34px, 6vw, 76px); align-items: center; border: 1px solid rgba(255, 255, 255, .92); border-radius: 34px; background: linear-gradient(135deg, rgba(255, 255, 255, .83), rgba(227, 242, 252, .64)); box-shadow: 0 34px 90px rgba(7, 35, 77, .13), inset 0 1px 0 #fff; backdrop-filter: blur(28px) saturate(1.28); }
.srg-company__story h2 { max-width: 720px; margin-bottom: 20px; color: var(--srg-ink); font-size: clamp(2.25rem, 4.5vw, 4.4rem); line-height: .98; letter-spacing: -.055em; }
.srg-company__story > p:not(.srx-eyebrow) { max-width: 620px; color: var(--srg-muted); }
.srg-company__actions { display: flex; margin-top: 28px; flex-wrap: wrap; align-items: center; gap: 18px; }
.srg-text-action { color: var(--srg-blue-deep); font-size: .83rem; font-weight: 800; text-decoration: none; }
.srg-company__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.srg-company__facts a { position: relative; display: grid; min-height: 165px; padding: 22px; align-content: end; overflow: hidden; border: 1px solid rgba(255, 255, 255, .9); border-radius: 22px; background: rgba(255, 255, 255, .7); box-shadow: 0 15px 38px rgba(7, 35, 77, .08), inset 0 1px 0 #fff; color: inherit; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.srg-company__facts a::after { position: absolute; top: -38px; right: -32px; width: 112px; height: 112px; border: 20px solid rgba(18, 139, 210, .08); border-radius: 50%; content: ""; transition: transform .35s ease; }
.srg-company__facts a:hover { color: inherit; box-shadow: 0 24px 55px rgba(7, 35, 77, .13), inset 0 1px 0 #fff; transform: translateY(-5px); }
.srg-company__facts a:hover::after { transform: scale(1.18) rotate(12deg); }
.srg-company__facts span { position: absolute; top: 18px; left: 20px; color: var(--srg-blue); font-size: .68rem; font-weight: 850; }
.srg-company__facts strong,
.srg-company__facts small { display: block; position: relative; z-index: 1; }
.srg-company__facts strong { color: var(--srg-ink); font-size: .98rem; }
.srg-company__facts small { margin-top: 4px; color: var(--srg-muted); font-size: .68rem; line-height: 1.45; }

/* Modal, login and assistant remain readable over translucent layers. */
.srx-modal__backdrop,
.student-access__backdrop { background: rgba(2, 13, 31, .61) !important; backdrop-filter: blur(22px) saturate(1.18) !important; }
.srx-modal__dialog,
.student-access__dialog { border: 1px solid rgba(255, 255, 255, .88) !important; border-radius: 28px !important; background: linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(230, 244, 253, .9)) !important; box-shadow: 0 44px 120px rgba(0, 18, 48, .38), inset 0 1px 0 #fff !important; backdrop-filter: blur(32px) saturate(1.25) !important; }
.student-access__tabs { border: 1px solid rgba(111, 151, 185, .16); border-radius: 14px !important; background: rgba(226, 239, 248, .8) !important; }
.student-access__tabs button[aria-selected="true"] { border-radius: 10px !important; background: #fff !important; box-shadow: 0 8px 22px rgba(7, 35, 77, .1) !important; }
.student-access input,
.studyrev-enquiry input,
.studyrev-enquiry select,
.studyrev-enquiry textarea { border-color: rgba(85, 132, 169, .24) !important; background: rgba(255, 255, 255, .9) !important; box-shadow: inset 0 1px 2px rgba(7, 35, 77, .04); color: var(--srg-ink) !important; }
.srx-chat__panel { border-color: rgba(255, 255, 255, .9) !important; background: rgba(247, 252, 255, .94) !important; box-shadow: 0 34px 92px rgba(4, 24, 56, .3), inset 0 1px 0 #fff !important; backdrop-filter: blur(30px) saturate(1.28) !important; }

/* Gentle application motion without large assets. */
.sr-reveal.is-visible .srx-section-heading,
.sr-reveal.is-visible .srg-company__story { animation: srgRise .72s cubic-bezier(.2,.7,.2,1) both; }
.sr-reveal.is-visible .srg-company__facts > *,
.sr-reveal.is-visible .srx-service-grid > *,
.sr-reveal.is-visible .srx-toolkit__grid > * { animation: srgCardIn .62s cubic-bezier(.2,.7,.2,1) both; }
.sr-reveal.is-visible .srg-company__facts > :nth-child(2),
.sr-reveal.is-visible .srx-service-grid > :nth-child(2) { animation-delay: .06s; }
.sr-reveal.is-visible .srg-company__facts > :nth-child(3),
.sr-reveal.is-visible .srx-service-grid > :nth-child(3) { animation-delay: .12s; }
.sr-reveal.is-visible .srg-company__facts > :nth-child(4),
.sr-reveal.is-visible .srx-service-grid > :nth-child(4) { animation-delay: .18s; }
@keyframes srgRise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes srgCardIn { from { opacity: 0; transform: translateY(24px) scale(.975); } to { opacity: 1; transform: none; } }

@media (max-width: 1120px) {
	.primary-menu > li > a { padding-inline: 9px !important; font-size: .78rem !important; }
	.button--header { padding-inline: 13px !important; }
}
@media (max-width: 1050px) {
	.site-header__inner { min-height: 68px !important; padding-inline: 11px !important; }
	.primary-menu { position: absolute !important; top: calc(100% + 10px) !important; right: 0 !important; left: 0 !important; padding: 12px !important; border: 1px solid rgba(255, 255, 255, .92) !important; border-radius: 20px !important; background: rgba(244, 250, 255, .95) !important; box-shadow: 0 30px 80px rgba(7, 35, 77, .2), inset 0 1px 0 #fff !important; backdrop-filter: blur(28px) saturate(1.25) !important; }
	.primary-menu > li > a { min-height: 46px; padding: 11px 13px !important; font-size: .86rem !important; }
	.primary-menu .current-menu-item > a::after { display: none; }
	.srg-company__shell { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	.site-header { padding-top: 7px !important; }
	.site-header__inner { width: calc(100% - 14px) !important; min-height: 62px !important; padding: 6px 7px 6px 10px !important; gap: 5px !important; border-radius: 19px !important; }
	.site-branding__logo { max-width: 91px !important; max-height: 47px !important; }
	.header-actions { margin-left: auto !important; gap: 4px !important; }
	.header-search-toggle { display: none !important; }
	.header-actions__login { min-height: 38px; padding: 7px 8px !important; font-size: .7rem !important; }
	.button--header { min-height: 40px !important; max-width: 102px !important; padding: 8px 10px !important; border-radius: 11px !important; font-size: .68rem !important; }
	.menu-toggle { width: 40px !important; height: 40px !important; }
	.srg-company { padding-block: 58px; }
	.srg-company__shell { width: calc(100% - 20px); padding: 26px 18px; border-radius: 25px; }
	.srg-company__story h2 { font-size: clamp(2.1rem, 11vw, 3.2rem); }
	.srg-company__facts { grid-template-columns: 1fr; }
	.srg-company__facts a { min-height: 132px; }
	.sr-pattern-hero { width: calc(100% - 20px); }
	.sr-hero-people { width: min(100%, 440px) !important; margin-top: 18px !important; border-radius: 20px; }
	.sr-stats-panel { width: 100% !important; }
	.sr-hero-people img { border-radius: 20px; }
	.srx-hero-app-promo { grid-template-columns: 36px 1fr 24px; }
	.srx-hero-app-promo strong { align-self: end; }
	.srx-hero-app-promo small { grid-column: 2; align-self: start; }
	.srx-hero-app-promo b { grid-column: 3; grid-row: 1 / span 2; }
	.srx-review-submit { grid-template-columns: 1fr; padding: 24px 18px; border-radius: 22px; }
	.sr-contact-details .sr-section-title { max-width: 11ch; font-size: clamp(2.25rem, 12vw, 3.25rem); }
	.srx-community__card { grid-template-columns: 56px minmax(0, 1fr); border-radius: 24px; }
	.srx-community__icon { width: 56px; height: 56px; border-radius: 17px; }
	.srx-community__action { grid-column: 1 / -1; width: 100%; min-width: 0; }
}
@media (max-width: 420px) {
	.header-actions__login { width: 38px; overflow: hidden; justify-content: center; font-size: 0 !important; }
	.header-actions__login::before { content: "Log in"; font-size: .64rem; }
	.button--header { max-width: 88px !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
	.sr-reveal.is-visible *,
	.sr-reveal.is-visible .srx-section-heading,
	.sr-reveal.is-visible .srg-company__story { animation: none !important; }
}
@media (forced-colors: active) {
	.site-header__inner,
	.primary-menu,
	.srg-company__shell,
	.srg-company__facts a { border: 1px solid CanvasText !important; background: Canvas !important; }
}

/* 1.8.4 final visual correction: reference-matched hero composition. */
.site-header { margin-bottom: 0 !important; }
.sr-home-canvas { margin-top: 0 !important; }
.sr-pattern-hero {
	width: min(calc(100% - 40px), 1120px) !important;
	padding-top: clamp(52px, 6vw, 78px) !important;
	padding-bottom: clamp(58px, 6vw, 84px) !important;
	overflow: visible !important;
}
.sr-hero-people {
	width: min(760px, 78%) !important;
	margin: 34px auto 0 !important;
	overflow: visible !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	animation: srHeroStudentsFloat 6s ease-in-out infinite;
}
.sr-hero-people img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	border-radius: 0 !important;
	filter: contrast(1.035);
	object-fit: contain !important;
	object-position: center bottom !important;
}
.sr-stats-panel {
	position: relative;
	z-index: 5;
	width: min(700px, 74%) !important;
	margin: -128px auto 0 !important;
	padding: 15px !important;
	gap: 9px !important;
	border: 1px solid rgba(255, 255, 255, .18) !important;
	border-radius: 22px !important;
	background: #132b4a !important;
	box-shadow: 0 28px 62px rgba(8, 28, 56, .25), inset 0 1px 0 rgba(255, 255, 255, .14) !important;
	animation: srHeroPanelFloat 6s ease-in-out infinite;
}
.sr-pattern-hero .sr-stat {
	min-width: 0 !important;
	min-height: 116px !important;
	margin: 0 !important;
	padding: 18px !important;
	border-radius: 13px !important;
}
.sr-pattern-hero .sr-stat h3 { font-size: clamp(2.2rem, 3.6vw, 3.35rem) !important; }
.sr-pattern-hero .sr-stat p { font-size: clamp(.67rem, .9vw, .78rem) !important; }
@keyframes srHeroStudentsFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-7px); }
}
@keyframes srHeroPanelFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(4px); }
}

/* Protect dark storytelling sections from stale page-builder or cache overrides. */
.srx-gallery {
	padding-block: clamp(72px, 8vw, 110px) !important;
	background:
		radial-gradient(circle at 92% 16%, rgba(61, 190, 255, .22), transparent 23rem),
		radial-gradient(circle at 8% 90%, rgba(18, 139, 210, .18), transparent 25rem),
		linear-gradient(145deg, #04172f 0%, #062e5b 58%, #087bb5 100%) !important;
	color: #fff !important;
}
.srx-gallery .srx-eyebrow,
.srx-gallery .srx-section-heading h2 {
	color: #fff !important;
	text-shadow: 0 2px 18px rgba(0, 11, 30, .28);
}
.srx-gallery .srx-section-heading > p:last-child {
	color: rgba(255, 255, 255, .82) !important;
	opacity: 1 !important;
}
.srx-gallery.sr-reveal {
	opacity: 1 !important;
	transform: none !important;
}

@media (max-width: 700px) {
	.sr-pattern-hero {
		width: calc(100% - 20px) !important;
		padding-top: 48px !important;
		padding-bottom: 52px !important;
		overflow: hidden !important;
	}
	.sr-hero-people {
		width: 100% !important;
		margin: 26px auto 0 !important;
	}
	.sr-stats-panel {
		width: 100% !important;
		margin: -72px auto 0 !important;
		padding: 9px !important;
		gap: 8px !important;
		border-radius: 18px !important;
	}
	.sr-pattern-hero .sr-stat {
		min-height: 100px !important;
		padding: 14px !important;
		border-radius: 11px !important;
	}
	.sr-pattern-hero .sr-stat h3 { font-size: clamp(2rem, 11vw, 2.8rem) !important; }
	.sr-pattern-hero .sr-stat p { font-size: .68rem !important; }
	.srx-gallery { padding-block: 66px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.sr-hero-people,
	.sr-stats-panel { animation: none !important; }
}

/* 1.8.5 contact and footer mobile delivery corrections. */
.page-block-content > .sr-contact-intro {
	width: min(calc(100% - 40px), 980px) !important;
	margin-inline: auto !important;
	padding-top: clamp(86px, 10vw, 132px) !important;
	padding-bottom: clamp(34px, 5vw, 58px) !important;
}
.sr-contact-chips {
	display: grid !important;
	width: min(100%, 760px);
	margin: 28px auto 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px !important;
}
.sr-contact-chips span {
	display: grid;
	min-height: 50px;
	padding: 10px 12px !important;
	place-items: center;
	text-align: center;
	line-height: 1.25;
}
.social-links {
	display: flex !important;
	margin: 24px 0 0 !important;
	padding: 0 !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
}
.social-links li {
	display: block !important;
	width: 42px !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 42px !important;
	line-height: 1 !important;
}
.social-links a,
.social-links .social-links__pending {
	display: grid !important;
	width: 42px !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	place-items: center !important;
	border-radius: 50% !important;
	line-height: 1 !important;
}
.social-links .dashicons,
.social-links__brand-icon {
	display: block !important;
	width: 19px !important;
	height: 19px !important;
	margin: 0 !important;
	font-size: 19px !important;
	line-height: 19px !important;
}

@media (max-width: 700px) {
	.page-block-content > .sr-contact-intro {
		width: calc(100% - 28px) !important;
		padding-top: 112px !important;
		padding-bottom: 34px !important;
	}
	.sr-contact-intro h2 {
		font-size: clamp(2.65rem, 13vw, 4rem) !important;
		line-height: .96 !important;
	}
	.sr-contact-intro > p:not(.srx-eyebrow) {
		max-width: 31ch !important;
		font-size: clamp(1rem, 4.8vw, 1.18rem) !important;
		line-height: 1.58 !important;
	}
	.sr-contact-chips {
		width: 100% !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}
	.sr-contact-chips span {
		min-height: 48px;
		padding: 8px 7px !important;
		font-size: .69rem !important;
	}
	.sr-contact-layout {
		width: calc(100% - 28px) !important;
		margin-inline: auto !important;
	}
	.site-footer .site-branding--footer {
		padding: 10px 13px !important;
		border-radius: 16px !important;
	}
	.site-footer .site-branding--footer .site-branding__logo {
		max-width: 148px !important;
		max-height: 66px !important;
	}
	.srx-footer-grid {
		padding-right: 22px !important;
		padding-bottom: 112px !important;
		padding-left: 22px !important;
	}
	.srx-chat {
		right: 72px !important;
		bottom: max(12px, env(safe-area-inset-bottom)) !important;
		left: auto !important;
	}
	.studyrev-whatsapp-float {
		right: 12px !important;
		bottom: max(12px, env(safe-area-inset-bottom)) !important;
	}
	.back-to-top {
		right: 12px !important;
		bottom: calc(max(12px, env(safe-area-inset-bottom)) + 62px) !important;
	}
	body.page-id-5384 .srx-chat,
	body.page-id-5384 .studyrev-whatsapp-float {
		display: none !important;
	}
	body.page-id-5384 .back-to-top {
		right: 12px !important;
		bottom: max(12px, env(safe-area-inset-bottom)) !important;
	}
}
