:root {
--black:#090909;
--soft:#151515;
--gold:#CC9933;
--gold2:#E2B85C;
--cream:#F6F0E5;
--ivory:#FFFDF8;
--text:#292929;
--muted:#6d6d6d;
--line:rgba(204,153,51,.28)
}
html {
	scroll-behavior: smooth
}
body {
	margin: 0;
	background: var(--ivory);
	color: var(--text);
	font-family: Manrope, sans-serif;
	line-height: 1.7
}
section {
	scroll-margin-top: 82px
}
a {
	text-decoration: none
}
.ov-section {
	padding: 125px 0
}
.ov-section-kicker, .ov-eyebrow {
	display: inline-block;
	color: var(--gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase
}
.ov-section-intro h2, .ov-heading-row h2, .ov-faq-intro h2, .ov-final h2 {
	margin: 12px 0 0;
	font: 600 clamp(48px, 5.3vw, 76px)/.98 "Cormorant Garamond", serif;
	letter-spacing: -.025em
}
.ov-section-intro h2 span, .ov-heading-row h2 span, .ov-faq-intro h2 span, .ov-final h2 span {
	display: block;
	color: var(--gold);
	font-style: italic
}
.ov-navbar {
	padding: 13px 0;
	border-bottom: 1px solid rgba(255,255,255,.07);
	background: rgba(9,9,9,.86);
	backdrop-filter: blur(14px);
	transition: .3s
}
.ov-navbar.is-scrolled {
	padding: 8px 0;
	background: rgba(9,9,9,.98);
	box-shadow: 0 12px 35px rgba(0,0,0,.28)
}
.ov-brand {
	padding: 0
}
.ov-brand-plate {
	display: flex;
	align-items: center;
	padding: 0;
	background: transparent;
	border-radius: 0;
}
.ov-brand-plate img {
	display: block;
	width: 230px;
	height: auto;
}
.ov-navbar .nav-link {
	padding: 12px!important;
	color: rgba(255,255,255,.7);
	font-size: 13px;
	font-weight: 600
}
.ov-navbar .nav-link:hover {
	color: var(--gold2)
}
.ov-dandelion-link .nav-link {
	color: var(--gold2)
}
.ov-dandelion-link i {
	margin-left: 4px;
	font-size: 10px
}
.ov-nav-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin-left: 14px;
	padding: 10px 18px;
	border: 1px solid var(--gold);
	background: var(--gold);
	color: #111;
	font-size: 13px;
	font-weight: 700
}
.ov-nav-cta:hover {
	background: var(--gold2);
	color: #111
}
.ov-toggler {
	width: 46px;
	height: 42px;
	border: 1px solid var(--line);
	border-radius: 3px;
	color: var(--gold2)
}
.ov-toggler:focus {
	box-shadow: none
}
.ov-hero {
	position: relative;
	overflow: hidden;
	min-height: 900px;
	display: flex;
	align-items: center;
	padding: 155px 0 95px;
	background: var(--black);
	color: #fff
}
.ov-hero:after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 80% 35%, rgba(204,153,51,.12), transparent 27%), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
	background-size: auto, 80px 80px
}
.ov-hero .container {
	position: relative;
	z-index: 3
}
.ov-hero-grid {
	display: grid;
grid-template-columns:.9fr 1.1fr;
	gap: 78px;
	align-items: center
}
.ov-hero h1 {
	margin: 18px 0 26px;
	font: 600 clamp(72px, 8vw, 116px)/.82 "Cormorant Garamond", serif;
	letter-spacing: -.045em
}
.ov-hero h1 span {
	display: block;
	color: var(--gold2);
	font-style: italic
}
.ov-hero-lead {
	max-width: 640px;
	margin: 0;
	color: rgba(255,255,255,.68);
	font-size: 18px;
	line-height: 1.85
}
.ov-hero-lead strong {
	color: #fff
}
.ov-hero-actions, .ov-final-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px
}
.ov-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 13px 22px;
	border: 1px solid transparent;
	border-radius: 2px;
	font-size: 13px;
	font-weight: 700;
	transition: .25s
}
.ov-btn:hover {
	transform: translateY(-2px)
}
.ov-btn-gold {
	background: var(--gold);
	color: #111
}
.ov-btn-gold:hover {
	background: var(--gold2);
	color: #111
}
.ov-btn-outline {
	border-color: rgba(226,184,92,.5);
	color: var(--gold2)
}
.ov-btn-outline:hover {
	background: rgba(226,184,92,.08);
	color: #fff
}
.ov-btn-dark {
	background: #0c0c0c;
	color: #fff
}
.ov-btn-dark:hover {
	background: #222;
	color: var(--gold2)
}
.ov-hero-signature {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 38px;
	color: rgba(255,255,255,.42);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase
}
.ov-hero-signature i {
	width: 42px;
	height: 1px;
	background: var(--gold)
}
.ov-hero-visual {
	position: relative;
	min-height: 650px
}
.ov-hero-photo {
	position: absolute;
	top: 0;
	right: 0;
	width: 82%;
	height: 590px;
	overflow: hidden;
	border: 1px solid var(--line)
}
.ov-hero-photo:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,.55), transparent 55%)
}
.ov-hero-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.78)
}
.ov-hero-badge {
	position: absolute;
	top: 72px;
	left: 0;
	width: 155px;
	height: 155px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(226,184,92,.48);
	border-radius: 50%;
	background: rgba(9,9,9,.94);
	box-shadow: 0 25px 60px rgba(0,0,0,.3)
}
.ov-hero-badge small {
	color: var(--gold2);
	font-size: 10px;
	letter-spacing: .28em
}
.ov-hero-badge strong {
	font: 600 31px/1 "Cormorant Garamond", serif
}
.ov-hero-badge span {
	margin-top: 7px;
	color: rgba(255,255,255,.5);
	font-size: 8px;
	letter-spacing: .12em;
	text-transform: uppercase
}
.ov-hero-quote {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 64%;
	padding: 32px 35px 28px 60px;
	background: var(--gold);
	color: #111;
	box-shadow: 0 25px 55px rgba(0,0,0,.25)
}
.ov-hero-quote>span {
	position: absolute;
	left: 22px;
	top: 12px;
	font: 600 72px/1 "Cormorant Garamond", serif;
	opacity: .4
}
.ov-hero-quote p {
	margin: 0;
	font: italic 600 23px/1.28 "Cormorant Garamond", serif
}
.ov-hero-lines {
	position: absolute;
	left: -4%;
	bottom: 55px;
	width: 45%;
	height: 140px;
	z-index: 1;
	transform: rotate(-8deg);
	opacity: .3
}
.ov-hero-lines span {
	display: block;
	height: 1px;
	margin: 23px 0;
	background: linear-gradient(to right, transparent, var(--gold), transparent)
}
.ov-about {
	background: var(--ivory)
}
.ov-about-grid {
	display: grid;
grid-template-columns:.8fr 1.2fr;
	gap: 90px
}
.ov-about-copy {
	color: var(--muted);
	line-height: 1.9
}
.ov-large-copy {
	color: var(--text);
	font: 600 30px/1.35 "Cormorant Garamond", serif
}
.ov-principles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 90px;
	border-top: 1px solid rgba(0,0,0,.12);
	border-left: 1px solid rgba(0,0,0,.12)
}
.ov-principle {
	min-height: 255px;
	padding: 38px 30px;
	border-right: 1px solid rgba(0,0,0,.12);
	border-bottom: 1px solid rgba(0,0,0,.12);
	background: #fff;
	transition: .25s
}
.ov-principle:hover {
	background: #0d0d0d;
	transform: translateY(-4px)
}
.ov-principle>span {
	display: block;
	margin-bottom: 42px;
	color: var(--gold);
	font-size: 11px;
	font-weight: 700
}
.ov-principle h3 {
	margin: 0 0 12px;
	font: 600 30px/1.05 "Cormorant Garamond", serif
}
.ov-principle p {
	margin: 0;
	color: var(--muted);
	font-size: 14px
}
.ov-principle:hover h3 {
	color: #fff
}
.ov-principle:hover p {
	color: rgba(255,255,255,.58)
}
.ov-manifesto {
	padding: 115px 0;
	background: var(--gold);
	color: #111
}
.ov-manifesto-inner {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 55px;
	align-items: center
}
.ov-manifesto-inner>span {
	font: 700 160px/.65 "Cormorant Garamond", serif;
	letter-spacing: -.08em;
	opacity: .2
}
.ov-manifesto p {
	margin: 0;
	font: 600 clamp(37px, 4vw, 58px)/1.08 "Cormorant Garamond", serif
}
.ov-manifesto em {
	color: #fff
}
.ov-heading-row {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 55px;
	margin-bottom: 75px
}
.ov-heading-row>p {
	max-width: 520px;
	margin: 0;
	color: var(--muted)
}
/*==================================================
    CONDUCTORS
==================================================*/

.ov-teachers {
	background: #fff;
}
/* Each conductor */

.ov-teacher {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 48px;
	align-items: start;
	padding: 55px 0;
	border-top: 1px solid rgba(0,0,0,.11);
}
.ov-teacher:last-child {
	border-bottom: 1px solid rgba(0,0,0,.11);
}
/* Don't alternate image position */

.ov-teacher-reverse .ov-teacher-photo {
	order: 0;
}
/* Photo */

.ov-teacher-photo {
	position: relative;
	width: 280px;
}
/* Remove large decorative gold frame */

.ov-teacher-photo::before {
	display: none;
}
/* Remove 01 / 02 */

.ov-teacher-number {
	display: none;
}
.ov-teacher-photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 10px;
	filter: none;
}
/* Content */

.ov-teacher-content {
	padding-top: 3px;
}
.ov-teacher-role {
	display: block;
	margin-bottom: 5px;
	color: var(--gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.ov-teacher-content h3 {
	margin: 0 0 9px;
	font: 600 40px/1 "Cormorant Garamond", serif;
}
.ov-teacher-intro {
	max-width: 900px;
	margin-bottom: 15px;
	color: var(--text) !important;
	font: 600 19px/1.45 "Cormorant Garamond", serif !important;
}
.ov-teacher-content p {
	max-width: 920px;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.75;
}
/* Credentials */

.ov-credentials {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 17px 0;
}
.ov-credentials span {
	padding: 5px 9px;
	border: 1px solid rgba(204,153,51,.33);
	background: #fff9ea;
	color: #73591f;
	font-size: 9px;
	font-weight: 700;
}
/* Expanded profile */

.ov-profile-more h4 {
	margin: 18px 0 5px;
	font-size: 13px;
	font-weight: 700;
}
/* Read full profile */

.ov-text-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 5px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #111;
	font-size: 12px;
	font-weight: 700;
}
.ov-text-button i {
	color: var(--gold);
}
.ov-programmes {
	padding: 125px 0;
	background: #090909;
	color: #fff
}
.ov-heading-light h2 {
	color: #fff
}
.ov-heading-light>p {
	color: rgba(255,255,255,.5)
}
.ov-programme-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px
}
.ov-programme-card {
	position: relative;
	overflow: hidden;
	min-height: 670px;
	display: flex;
	flex-direction: column;
	padding: 45px 42px;
	border: 1px solid var(--line)
}
.ov-programme-junior {
	background: linear-gradient(145deg, #171717, #0a0a0a)
}
.ov-programme-senior {
	background: linear-gradient(145deg, #d3a43e, #b6811e);
	color: #111
}
.ov-programme-topline {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 65px
}
.ov-programme-topline span {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase
}
.ov-programme-topline strong {
	font: 600 62px/.8 "Cormorant Garamond", serif
}
.ov-programme-focus {
	margin-bottom: 18px;
	color: var(--gold2);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase
}
.ov-programme-senior .ov-programme-focus {
	color: #fff
}
.ov-programme-card h3 {
	margin: 0 0 25px;
	font: 600 47px/1.02 "Cormorant Garamond", serif
}
.ov-programme-card h3 em {
	display: block;
	color: var(--gold2)
}
.ov-programme-senior h3 em {
	color: #fff
}
.ov-programme-card p {
	color: rgba(255,255,255,.58)
}
.ov-programme-senior p {
	color: rgba(0,0,0,.67)
}
.ov-programme-list {
	display: grid;
	gap: 9px;
	margin: 18px 0 35px;
	padding: 0;
	list-style: none;
	color: rgba(255,255,255,.74);
	font-size: 13px
}
.ov-programme-senior .ov-programme-list {
	color: rgba(0,0,0,.72)
}
.ov-programme-list li {
	position: relative;
	padding-left: 20px
}
.ov-programme-list li:before {
	content: "";
	position: absolute;
	left: 0;
	top: .72em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--gold)
}
.ov-programme-senior .ov-programme-list li:before {
	background: #fff
}
.ov-card-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	color: var(--gold2);
	font-size: 13px;
	font-weight: 700
}
.ov-programme-senior .ov-card-link {
	color: #111
}
.ov-pricing {
	background: var(--cream)
}
.ov-centered {
	max-width: 760px;
	margin: 0 auto 70px;
	text-align: center
}
.ov-centered>p {
	margin: 20px auto 0;
	color: var(--muted)
}
.ov-pricing-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
	max-width: 980px;
	margin: auto
}
.ov-price-card {
	position: relative;
	min-height: 520px;
	display: flex;
	flex-direction: column;
	padding: 42px 38px;
	border: 1px solid rgba(0,0,0,.12);
	background: #fff
}
.ov-price-featured {
	border-color: var(--gold);
	background: #0c0c0c;
	color: #fff;
	box-shadow: 0 25px 60px rgba(0,0,0,.13)
}
.ov-price-ribbon {
	position: absolute;
	right: 24px;
	top: 24px;
	color: var(--gold);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase
}
.ov-price-head span {
	display: block;
	font: 600 34px/1.05 "Cormorant Garamond", serif
}
.ov-price-head strong {
	display: block;
	margin-top: 7px;
	color: var(--gold);
	font-size: 12px
}
.ov-price {
	display: flex;
	align-items: start;
	gap: 8px;
	margin: 45px 0 0
}
.ov-price small {
	margin-top: 15px;
	font-size: 11px;
	font-weight: 700
}
.ov-price>strong {
	font: 600 88px/.8 "Cormorant Garamond", serif
}
.ov-price-term {
	margin: 12px 0 28px;
	color: var(--muted);
	font-size: 12px
}
.ov-price-featured .ov-price-term {
	color: rgba(255,255,255,.48)
}
.ov-price-card ul {
	display: grid;
	gap: 12px;
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
	color: var(--muted);
	font-size: 13px
}
.ov-price-featured ul {
	color: rgba(255,255,255,.66)
}
.ov-price-card li {
	display: flex;
	align-items: center;
	gap: 9px
}
.ov-price-card li i {
	color: var(--gold)
}
.ov-price-card .ov-btn {
	width: 100%;
	margin-top: auto
}
.ov-audition-note {
	max-width: 980px;
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 25px auto 0;
	padding: 22px 25px;
	border: 1px solid rgba(204,153,51,.35);
	background: #fff9ea
}
.ov-audition-note>i {
	color: var(--gold);
	font-size: 27px
}
.ov-audition-note strong, .ov-audition-note span {
	display: block
}
.ov-audition-note span {
	color: var(--muted);
	font-size: 13px
}
.ov-faq {
	padding: 125px 0;
	background: #fff
}
.ov-faq-grid {
	display: grid;
grid-template-columns:.72fr 1.28fr;
	gap: 90px
}
.ov-faq-intro {
	position: sticky;
	top: 130px
}
.ov-faq-intro p {
	margin-top: 25px;
	color: var(--muted)
}
.ov-accordion {
	border-top: 1px solid rgba(0,0,0,.15)
}
.ov-accordion .accordion-item {
	border: 0;
	border-bottom: 1px solid rgba(0,0,0,.15);
	border-radius: 0
}
.ov-accordion .accordion-button {
	padding: 25px 0;
	background: transparent;
	box-shadow: none;
	color: #111;
	font: 600 26px/1.2 "Cormorant Garamond", serif
}
.ov-accordion .accordion-button:not(.collapsed) {
	color: var(--gold)
}
.ov-accordion .accordion-body {
	padding: 0 0 28px;
	color: var(--muted)
}
.ov-milestones {
	display: grid;
	gap: 18px
}
.ov-milestones>div {
	padding-left: 18px;
	border-left: 2px solid var(--gold)
}
.ov-milestones strong {
	display: block;
	color: #111
}
.ov-milestones p {
	margin: 4px 0 0
}
.ov-events {
	padding: 125px 0;
	background: var(--cream)
}
.ov-event-list {
	border-top: 1px solid rgba(0,0,0,.18)
}
.ov-event {
	display: grid;
	grid-template-columns: 170px 1fr 55px;
	gap: 35px;
	align-items: center;
	min-height: 170px;
	border-bottom: 1px solid rgba(0,0,0,.18);
	transition: .25s
}
.ov-event:hover {
	padding: 0 18px;
	background: #fff
}
.ov-event-date strong {
	display: block;
	font: 600 45px/.9 "Cormorant Garamond", serif
}
.ov-event-date span {
	display: block;
	margin-top: 8px;
	color: var(--gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase
}
.ov-event-copy>span {
	color: var(--muted);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase
}
.ov-event-copy h3 {
	margin: 0;
	font: 600 34px/1.05 "Cormorant Garamond", serif
}
.ov-event-copy p {
	margin: 4px 0 0;
	color: var(--muted);
	font-size: 13px
}
.ov-event>i {
	color: var(--gold);
	font-size: 24px
}
.ov-final {
	padding: 135px 0;
	background: #090909;
	color: #fff;
	text-align: center
}
.ov-final-inner {
	max-width: 900px;
	margin: auto
}
.ov-final-logo {
	width: min(520px, 85%);
	display: block;
	margin: 0 auto 45px;
	padding: 0;
	background: transparent;
	border-radius: 0;
}
.ov-final h2 {
	font-size: clamp(58px, 7vw, 96px)
}
.ov-final p {
	max-width: 700px;
	margin: 25px auto 0;
	color: rgba(255,255,255,.58);
	font-size: 17px
}
.ov-final-actions {
	justify-content: center
}
.ov-footer {
	padding: 65px 0 28px;
	border-top: 1px solid rgba(226,184,92,.18);
	background: #050505;
	color: rgba(255,255,255,.55)
}
.ov-footer-grid {
	display: grid;
grid-template-columns:1.1fr .9fr .8fr;
	gap: 55px;
	padding-bottom: 48px
}
.ov-footer-brand {
	display: block;
	color: var(--gold2);
	font: 600 24px/1.2 "Cormorant Garamond", serif
}
.ov-footer-grid p {
	margin: 8px 0 0;
	font-size: 12px;
	text-transform: uppercase
}
.ov-footer-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 25px
}
.ov-footer a {
	color: rgba(255,255,255,.56);
	font-size: 13px
}
.ov-footer a:hover {
	color: var(--gold2)
}
.ov-footer-contact {
	display: flex;
	flex-direction: column;
	gap: 10px
}
.ov-footer-contact i {
	margin-right: 6px;
	color: var(--gold)
}
.ov-footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 25px;
	padding-top: 25px;
	border-top: 1px solid rgba(255,255,255,.08);
	font-size: 11px
}

@media(max-width:1199px) {
.ov-navbar .navbar-collapse {
	margin-top: 12px;
	padding: 20px;
	border: 1px solid rgba(226,184,92,.16);
	background: #101010
}
.ov-nav-cta {
	margin: 14px 0 0
}
.ov-hero-grid {
	grid-template-columns: 1fr 1fr;
	gap: 45px
}
.ov-hero h1 {
	font-size: 82px
}
.ov-teacher {
	gap: 55px
}
}

@media(max-width:991px) {
.ov-section, .ov-programmes, .ov-faq, .ov-events {
	padding: 95px 0
}
.ov-hero {
	min-height: auto;
	padding: 145px 0 95px
}
.ov-hero-grid {
	grid-template-columns: 1fr
}
.ov-hero h1 {
	font-size: clamp(70px, 12vw, 105px)
}
.ov-hero-visual {
	min-height: 580px;
	max-width: 760px;
	width: 100%;
	margin: 20px auto 0
}
.ov-hero-photo {
	width: 88%;
	height: 520px
}
.ov-about-grid, .ov-faq-grid {
	grid-template-columns: 1fr;
	gap: 45px
}
.ov-principles {
	grid-template-columns: repeat(2, 1fr);
	margin-top: 65px
}
.ov-manifesto-inner {
	grid-template-columns: 110px 1fr;
	gap: 30px
}
.ov-manifesto-inner>span {
	font-size: 110px
}
.ov-heading-row {
	align-items: start;
	flex-direction: column;
	gap: 25px;
	margin-bottom: 55px
}
.ov-teacher {
	grid-template-columns: 230px minmax(0, 1fr);
	gap: 35px;
}
.ov-teacher-photo {
	width: 230px;
}
.ov-teacher-reverse .ov-teacher-photo {
	order: 0
}
.ov-programme-grid, .ov-pricing-grid {
	grid-template-columns: 1fr
}
.ov-pricing-grid {
	max-width: 660px
}
.ov-faq-intro {
	position: static
}
.ov-footer-grid {
	grid-template-columns: 1fr 1fr
}
.ov-footer-contact {
	grid-column: 1/3
}
}

@media(max-width:767px) {
.ov-navbar {
	padding: 9px 0
}
.ov-brand-plate {
	height: auto;
	padding: 0;
}
.ov-brand-plate img {
	width: 180px;
	height: auto;
}
.ov-hero {
	padding: 120px 0 75px
}
.ov-hero h1 {
	font-size: 64px
}
.ov-hero-lead {
	font-size: 16px
}
.ov-hero-actions, .ov-final-actions {
	flex-direction: column
}
.ov-hero-actions .ov-btn, .ov-final-actions .ov-btn {
	width: 100%
}
.ov-hero-signature {
	flex-wrap: wrap
}
.ov-hero-visual {
	min-height: 460px
}
.ov-hero-photo {
	position: relative;
	width: 92%;
	height: 390px;
	margin-left: auto
}
.ov-hero-badge {
	top: 38px;
	width: 115px;
	height: 115px
}
.ov-hero-badge strong {
	font-size: 24px
}
.ov-hero-quote {
	width: 78%;
	padding: 24px 25px 24px 45px
}
.ov-hero-quote p {
	font-size: 18px
}
.ov-section-intro h2, .ov-heading-row h2, .ov-faq-intro h2, .ov-final h2 {
	font-size: 47px
}
.ov-large-copy {
	font-size: 25px
}
.ov-principles {
	grid-template-columns: 1fr
}
.ov-principle {
	min-height: 0
}
.ov-manifesto {
	padding: 80px 0
}
.ov-manifesto-inner {
	grid-template-columns: 1fr
}
.ov-manifesto-inner>span {
	font-size: 75px
}
.ov-manifesto p {
	font-size: 36px
}
.ov-teacher {
	grid-template-columns: 1fr;
	gap: 25px;
	padding: 45px 0;
}
.ov-teacher-photo {
	width: 220px;
	margin: 0;
}
.ov-teacher-content h3 {
	font-size: 37px;
}
.ov-teacher-intro {
	font-size: 18px !important;
}
.ov-programme-card {
	min-height: 0;
	padding: 32px 24px
}
.ov-programme-topline {
	margin-bottom: 42px
}
.ov-programme-card h3 {
	font-size: 38px
}
.ov-price-card {
	min-height: 0;
	padding: 34px 25px
}
.ov-price>strong {
	font-size: 76px
}
.ov-audition-note {
	align-items: flex-start
}
.ov-accordion .accordion-button {
	font-size: 22px
}
.ov-event {
	grid-template-columns: 110px 1fr;
	gap: 20px;
	padding: 25px 0
}
.ov-event:hover {
	padding: 25px 10px
}
.ov-event>i {
	display: none
}
.ov-event-date strong {
	font-size: 35px
}
.ov-event-copy h3 {
	font-size: 28px
}
.ov-final {
	padding: 95px 0
}
.ov-footer-grid {
	grid-template-columns: 1fr;
	gap: 30px
}
.ov-footer-contact {
	grid-column: auto
}
.ov-footer-bottom {
	flex-direction: column
}
}

@media(prefers-reduced-motion:reduce) {
html {
	scroll-behavior: auto
}
* {
	transition: none!important
}
}
