@charset "UTF-8";
/* ==========================================================================
   Homepage Refresh - Styles
   Based on MPA-WebsiteRefresh-CLAUDE.sketch
   ========================================================================== */

/* Open Sans Light (300) - the SiteGround font optimizer only caches weights
   400/600, so headings using weight 300 fell back to 400. Register 300 here. */
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url(https://fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url(https://fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Full-width containers: override the 1000px max-width from tailwind.css */
/* Also override Bootstrap .container on #page which caps at 1140px */
body.home #page.container {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
body.home #mainContent.row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.home-refresh-hero .tw-container-fluid,
.home-refresh-caps .tw-container-fluid,
.home-refresh-exp .tw-container-fluid,
.home-refresh-why .tw-container-fluid,
.home-refresh-scale .tw-container-fluid,
.home-refresh-cta .tw-container-fluid {
	max-width: 100% !important;
	padding-left: 5rem;
	padding-right: 5rem;
}
@media (max-width: 991px) {
	.home-refresh-hero .tw-container-fluid,
	.home-refresh-caps .tw-container-fluid,
	.home-refresh-exp .tw-container-fluid,
	.home-refresh-why .tw-container-fluid,
	.home-refresh-scale .tw-container-fluid,
	.home-refresh-cta .tw-container-fluid {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

/* Colors */
.home-refresh-hero,
.home-refresh-caps,
.home-refresh-exp,
.home-refresh-why,
.home-refresh-scale {
	color: #4c5460;
}

/* Dark text color (from Sketch: rgb(17,24,32)) */
.tw-text-dark {
	color: #111820;
}

/* Eyebrow label */
.home-refresh-eyebrow {
	font-size: 13px;
	letter-spacing: 0.05em;
}

/* Large light heading */
.home-refresh-heading {
	font-size: 50px;
	line-height: 1.15;
}
.home-refresh-heading-cta {
	font-size: 40px;
}

/* Body text */
.home-refresh-body {
	font-size: 17px;
	line-height: 1.6;
}
.home-refresh-body p {
	margin-bottom: 1em;
}
.home-refresh-body p:last-child {
	margin-bottom: 0;
}

/* Font weight helpers */
.tw-font-light {
	font-weight: 300;
}
.tw-font-normal {
	font-weight: 400;
}
.tw-font-bold {
	font-weight: 700;
}

/* Font size helpers */
.tw-text-13 { font-size: 13px; }
.tw-text-15 { font-size: 15px; }
.tw-text-17 { font-size: 17px; }
.tw-text-19 { font-size: 19px; }
.tw-text-20 { font-size: 20px; }
.tw-text-28 { font-size: 28px; }
.tw-text-36 { font-size: 36px; }
.tw-text-50 { font-size: 50px; }

/* Text transform / tracking */
.tw-uppercase { text-transform: uppercase; }
.tw-tracking-wide { letter-spacing: 0.05em; }

/* Flex helpers */
.tw-flex-no-wrap { flex-wrap: nowrap; }
.tw-items-start { align-items: flex-start; }
.tw-flex-1 { flex: 1 1 0%; }
.tw-h-full { height: 100%; }

/* Grid helpers */
.tw-grid { display: grid; }
.tw-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tw-gap-x-8 { column-gap: 2rem; }
.tw-gap-y-8 { row-gap: 2rem; }
.tw-gap-y-10 { row-gap: 2.5rem; }

/* Max width helpers */
.tw-max-w-2xl { max-width: 42rem; }
.tw-max-w-600 { max-width: 600px; }

/* Capability card */
.home-refresh-card {
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
	transition: box-shadow 0.3s ease;
}
.home-refresh-card:hover {
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

/* Bullet list */
.home-refresh-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 2rem;
	row-gap: 0.75rem;
}
.home-refresh-list li {
	display: flex;
	align-items: flex-start;
}
.home-refresh-bullet {
	display: inline-block;
	width: 18px;
	height: 18px;
	background: url('../../img/home/tick.svg') no-repeat center / contain;
	flex-shrink: 0;
	margin-right: 0.6rem;
	margin-top: 1px;
}

/* Stat numbers */
.home-refresh-stat-number {
	font-size: 50px;
	line-height: 1.1;
}
.home-refresh-stat-number-lg {
	font-size: 50px;
}

/* CTA section */
.home-refresh-cta {
	background-color: #4c5460;
}

/* Responsive */
@media (max-width: 991px) {
	.home-refresh-heading {
		font-size: 38px;
	}
	.home-refresh-heading-cta {
		font-size: 32px;
	}
	.home-refresh-body {
		font-size: 16px;
	}
	.home-refresh-stat-number,
	.home-refresh-stat-number-lg {
		font-size: 38px;
	}
	.tw-text-36 {
		font-size: 28px;
	}
	.tw-text-50 {
		font-size: 38px;
	}
}

@media (max-width: 767px) {
	.home-refresh-heading {
		font-size: 32px;
	}
	.home-refresh-heading-cta {
		font-size: 28px;
	}
	.home-refresh-stat-number,
	.home-refresh-stat-number-lg {
		font-size: 32px;
	}
	.tw-text-28 {
		font-size: 24px;
	}
	.tw-text-36 {
		font-size: 24px;
	}
	.tw-text-50 {
		font-size: 32px;
	}
	.home-refresh-stats-grid {
		grid-template-columns: 1fr;
	}
	.home-refresh-features-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Footer refresh - matches MPA-WebsiteRefresh Sketch/PDF
   ========================================================================== */
.site-footer-refresh {
	background-color: #f1f4f5;
	padding: 80px 0 40px;
	font-family: 'Source Sans Pro', sans-serif;
}
.site-footer-refresh .sf-container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 100px;
}
.site-footer-refresh .sf-top {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 40px;
}
.site-footer-refresh .sf-logo {
	display: inline-block;
	margin-bottom: 2.25rem;
}
.site-footer-refresh .sf-logo img {
	height: 90px;
	width: auto;
	display: block;
}
.site-footer-refresh .sf-heading {
	font-family: 'Open Sans', sans-serif;
	font-weight: 700;
	font-size: 13px;
	color: #111820;
	margin: 0 0 0.5rem;
	letter-spacing: 0.02em;
}
.site-footer-refresh .sf-address {
	font-size: 15px;
	line-height: 1.7;
	color: #4c535f;
	margin: 0;
	max-width: 292px;
}
.site-footer-refresh .sf-address a {
	color: #4c535f;
	text-decoration: none;
}
.site-footer-refresh .sf-cols {
	display: flex;
	gap: 24px;
}
.site-footer-refresh .sf-col {
	width: 292px;
	max-width: 292px;
}
.site-footer-refresh .sf-col .sf-heading {
	text-transform: uppercase;
}
.site-footer-refresh .sf-divider {
	height: 1px;
	background-color: rgba(17,23,31,0.1);
	margin: 0.75rem 0 1rem;
}
.site-footer-refresh .sf-links {
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-footer-refresh .sf-links li {
	margin: 0;
}
.site-footer-refresh .sf-links a {
	display: inline-block;
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: 400;
	font-size: 17px;
	line-height: 42px;
	color: #111820;
	text-decoration: none;
}
.site-footer-refresh .sf-links a:hover {
	color: #00add0;
}
.site-footer-refresh .sf-divider-full {
	height: 1px;
	background-color: rgba(17,23,31,0.1);
	margin: 3.5rem 0 1.25rem;
}
.site-footer-refresh .sf-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
}
.site-footer-refresh .sf-legal {
	display: flex;
	flex-wrap: wrap;
	gap: 1.75rem;
	font-size: 15px;
	color: #4c535f;
}
.site-footer-refresh .sf-legal a {
	color: #4c535f;
	text-decoration: none;
}
.site-footer-refresh .sf-legal a:hover {
	color: #00add0;
}
.site-footer-refresh .sf-main-site {
	font-size: 15px;
	color: #00add0;
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-thickness: 1px;
}
.site-footer-refresh .sf-main-site:hover {
	color: #0090ad;
}
@media (max-width: 991px) {
	.site-footer-refresh { padding: 56px 0 32px; }
	.site-footer-refresh .sf-container { padding: 0 1.5rem; }
	.site-footer-refresh .sf-top { gap: 32px; }
	.site-footer-refresh .sf-cols { gap: 32px; flex-wrap: wrap; }
	.site-footer-refresh .sf-col { width: auto; }
	.site-footer-refresh .sf-bottom { justify-content: flex-start; }
	.site-footer-refresh .sf-links a { line-height: 36px; }
}

/* ==========================================================================
   Top nav refresh - matches MPA-WebsiteRefresh Sketch/PDF (keeps sticky #masthead)
   ========================================================================== */
/* Nav links: Open Sans Semibold 14px, dark #11171f, title case, no underline */
#site-navigation ul#primary-menu > li > a {
	color: #11171f !important;
	text-transform: none !important;
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
	font-family: 'Open Sans', sans-serif;
	font-weight: 600;
	font-size: 14px;
}
#site-navigation ul#primary-menu > li > a:hover {
	color: #00add0 !important;
}
#site-navigation ul#primary-menu > li.current-menu-ancestor > a,
#site-navigation ul#primary-menu > li.current_page_item > a,
#site-navigation ul#primary-menu > li.current-menu-item > a {
	color: #00add0 !important;
	border-color: transparent !important;
}
/* CTA button: aqua pill "Discuss your project" (186x48 per Sketch) */
#topRight a.contactBtn {
	background-color: #00add0 !important;
	color: #fff !important;
	font-family: 'Open Sans', sans-serif;
	font-weight: 600;
	font-size: 13px;
	width: 186px !important;
	min-width: 186px !important;
	height: 48px;
	padding-left: 0 !important;
	padding-right: 0 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	text-transform: none;
}
#topRight a.contactBtn:hover {
	background-color: #0090ad !important;
	color: #fff !important;
}
/* Mobile menu (wp-mobile-menu plugin) - align with refresh brand */
.mob-menu-header-holder.mobmenu { background-color: #ffffff !important; }
.mob-icon-menu.mob-menu-icon,
.mob-icon-close.mob-menu-icon,
.mobmenu .mob-menu-icon { color: #11171f !important; }
.mobmenu-panel,
.mobmenu-right-panel,
.mobmenu-left-panel { background-color: #f1f4f5 !important; }
.wp-mobile-menu li a,
#mobmenuright li a,
#mobmenuleft li a { color: #11171f !important; font-family: 'Open Sans', sans-serif; }
.wp-mobile-menu li a:hover,
.wp-mobile-menu li.current-menu-item > a,
.wp-mobile-menu li.current_page_item > a,
#mobmenuright li.current-menu-item > a,
#mobmenuleft li.current-menu-item > a { color: #00add0 !important; }
/* Mobile submenu expander arrows */
.wp-mobile-menu .wpmm-sub-toggle,
.wp-mobile-menu .mobmenu-submenu-toggle { color: #11171f !important; }

/* Nav logo (refresh MPA logo) - 81px tall, vertically centered in the bar (per Sketch) */
#logoWrap { width: auto !important; }
#logoWrap img { width: auto !important; height: 81px !important; }

/* Hero top spacing - 114px above the "mayne pharma australia" eyebrow (per Sketch) */
.home-refresh-hero { padding-top: 114px !important; }
@media (max-width: 991px) { .home-refresh-hero { padding-top: 64px !important; } }

/* Desktop: constrain header content to the 1440 site boundary.
   Content sits 80px inside a centered 1440 container, so:
   - logo left edge  = content-left  (aligns with hero eyebrow "mayne pharma australia")
   - button right edge = content-right (aligns with the hero image/video)
   Offsets are relative to the full-width masthead (50%), so no 100vw scrollbar issues.
   content inset from each edge = max(80px, calc(50% - 640px))   [640 = 720 - 80] */
@media (min-width: 992px) {
	#navWrap,
	#navWrap .container,
	#navWrap .row,
	#navWrap .col-sm-12,
	#navWrap #site-navigation {
		position: static !important;
	}
	/* Logo aligned to content-left, vertically centered (81px logo in 125px bar) */
	#logoWrap {
		left: max(80px, calc(50% - 640px)) !important;
		padding-left: 0 !important;
		top: 22px !important;
	}
	/* CTA button aligned to content-right, vertically centered (48px button) */
	#topRight {
		right: max(80px, calc(50% - 640px)) !important;
		top: 38px !important;
	}
	/* Nav menu sits just left of the button (button width 186 + 40 gap = 226), vertically centered */
	#masthead ul#primary-menu {
		position: absolute !important;
		right: max(306px, calc(50% - 414px)) !important;
		left: auto !important;
		top: 38px !important;
		height: 48px !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
	}
	#masthead ul#primary-menu > li:last-child > a {
		margin-right: 0 !important;
	}
}

/* All buttons: Open Sans Semibold */
.tw-btn,
.home-refresh-cta .tw-btn,
.home-refresh-video-play,
#topRight a.contactBtn {
	font-family: 'Open Sans', sans-serif !important;
	font-weight: 600 !important;
}
