/*
 * Ilotulitusnäytökset-sivu.
 *
 * Toteutettu handoffista tyoaineisto/design_handoff_ilotulitusnaytokset/
 * (high-fidelity). Mitat, värit ja välit ovat sieltä sellaisenaan.
 *
 * MIKSI KAIKKI ON !important
 *
 * Sivu renderöityy Breakdancen Fallback-templaten .breakdance-kääreen
 * sisään, ja Breakdancen global-settings.css tyylittää peruselementit
 * suoraan: h1–h3:n fontin, koon, värin ja rivivälin, linkkien värin ja
 * hover-alleviivauksen, kuvien height:auto:n ja h1:n text-shadow'n. Ne
 * latautuvat tämän tiedoston jälkeen, ja osa on breakpoint-kohtaisia.
 *
 * Toistettu luokka (.rt-nay.rt-nay) voittaa ne spesifisyydellä, mutta
 * sivu on muuten kokonaan tumma ja oma, joten ehtojen arvailun sijaan
 * jokainen esitysominaisuus on !important. Näin mikään Breakdancen sääntö
 * ei pääse läpi, nyt eikä kun Breakdancen globaaleja muutetaan.
 * Tämän tiedoston sisällä järjestys ratkeaa tavalliseen tapaan
 * spesifisyydellä, koska kaikki säännöt ovat samalla tasolla.
 *
 * Poikkeus: .rt-nay-juuren margin-left/right jätetään ilman !importantia,
 * koska js/naytokset.js levittää juuren reunasta reunaan inline-tyylillä.
 *
 * Murtopiste 760px kuten handoffissa.
 */

.rt-nay.rt-nay {
	--nay-keltainen: #ffed00;
	--nay-keltainen-hover: #fff34d;
	/* Sama otsikkofontti kuin muualla sivustolla (style.css), ei handoffin omaa. */
	--nay-otsikko: 'ITCMachineProBold', Impact, sans-serif;
	--nay-leipa: 'Helvetica Neue', Helvetica, Arial, system-ui, sans-serif;
	--nay-gutter: clamp(16px, 5vw, 40px);
	--nay-pysty: clamp(48px, 8vw, 96px);
	--nay-header: var(--rt-header-korkeus, 96px);

	display: block !important;
	box-sizing: border-box !important;
	/* auto eikä 100%: negatiiviset marginaalit levittävät vain auto-leveyttä. */
	width: auto !important;
	align-self: stretch !important;
	background: #0b0b0b !important;
	color: #fff !important;
	font-family: var(--nay-leipa) !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
	font-weight: 400 !important;
	text-align: left !important;
	overflow: hidden !important;
}

/*
 * Breakdancen section-container jättää sisällön alle 100px paddingin,
 * jonka läpi näkyy valkoinen body. style.css nollaa koodisivuilla vain
 * ylä- ja sivupaddingit, koska vaaleilla artikkeleilla väli ennen
 * footeria on toivottu. Tummalla sivulla se on valkoinen kaista.
 */
body.rt-sivu-naytokset .section-container:has(.rt-nay) {
	padding-bottom: 0 !important;
}

.rt-nay.rt-nay *,
.rt-nay.rt-nay *::before,
.rt-nay.rt-nay *::after {
	box-sizing: border-box !important;
}

.rt-nay.rt-nay h1,
.rt-nay.rt-nay h2,
.rt-nay.rt-nay h3,
.rt-nay.rt-nay p {
	text-shadow: none !important;
	letter-spacing: normal;
	font-weight: 400 !important;
	padding: 0 !important;
}

.rt-nay.rt-nay img {
	max-width: none;
	border: 0 !important;
	box-shadow: none !important;
}

.rt-nay.rt-nay a:hover,
.rt-nay.rt-nay a:focus {
	text-decoration-line: none !important;
}

.rt-nay.rt-nay a:focus-visible,
.rt-nay.rt-nay button:focus-visible {
	outline: 2px solid var(--nay-keltainen) !important;
	outline-offset: 3px !important;
}

/*
 * Ankkurikohteet ilman JS:ää (esim. suora linkki #yhteystiedot). Varaa
 * jää vierityksen jälkeen hieman liikaa, koska banneri piiloutuu.
 * js/naytokset.js laskee tarkan varan itse.
 */
.rt-nay.rt-nay #paketit,
.rt-nay.rt-nay #yhteystiedot,
.rt-nay.rt-nay .rt-nay__yksityis {
	scroll-margin-top: calc(var(--nay-header) + 16px) !important;
}

/* ---------- Yhteiset tekstityylit ---------- */

.rt-nay.rt-nay .rt-nay__lappu {
	font-family: var(--nay-otsikko) !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
	letter-spacing: 3px !important;
	text-transform: uppercase !important;
	color: var(--nay-keltainen) !important;
	margin: 0 0 16px !important;
}

.rt-nay.rt-nay .rt-nay__lappu--tiivis,
.rt-nay.rt-nay .rt-nay__lappu--harmaa {
	margin-bottom: 8px !important;
}

.rt-nay.rt-nay .rt-nay__lappu--harmaa {
	color: #555 !important;
}

.rt-nay.rt-nay .rt-nay__h1 {
	font-family: var(--nay-otsikko) !important;
	font-size: clamp(48px, 11vw, 128px) !important;
	line-height: 0.88 !important;
	letter-spacing: normal !important;
	text-transform: uppercase !important;
	color: var(--nay-keltainen) !important;
	margin: 0 0 24px !important;
	max-width: 760px !important;
}

.rt-nay.rt-nay .rt-nay__h2 {
	font-family: var(--nay-otsikko) !important;
	font-size: clamp(32px, 5vw, 56px) !important;
	line-height: 0.95 !important;
	letter-spacing: normal !important;
	text-transform: uppercase !important;
	color: inherit !important;
	margin: 0 0 24px !important;
}

.rt-nay.rt-nay .rt-nay__h2--tiivis {
	margin: 0 !important;
}

.rt-nay.rt-nay .rt-nay__h2--askeleet {
	margin: 0 0 32px !important;
}

.rt-nay.rt-nay .rt-nay__osio--paketit > .rt-nay__h2 {
	margin-bottom: 16px !important;
}

.rt-nay.rt-nay .rt-nay__korostus {
	color: var(--nay-keltainen) !important;
}

.rt-nay.rt-nay .rt-nay__h3 {
	font-family: var(--nay-otsikko) !important;
	font-size: 22px !important;
	line-height: 1.15 !important;
	letter-spacing: normal !important;
	text-transform: uppercase !important;
	color: var(--nay-keltainen) !important;
	margin: 0 0 8px !important;
}

.rt-nay.rt-nay .rt-nay__h3--tumma {
	color: #191919 !important;
}

.rt-nay.rt-nay .rt-nay__leipa {
	font-size: 17px !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, 0.82) !important;
	margin: 0 0 24px !important;
	max-width: 560px !important;
	text-wrap: pretty !important;
}

.rt-nay.rt-nay .rt-nay__kaksi > div:first-child > .rt-nay__leipa:last-child {
	margin-bottom: 0 !important;
}

/* ---------- Napit ---------- */

.rt-nay.rt-nay .rt-nay__nappi {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 12px !important;
	font-family: var(--nay-otsikko) !important;
	font-size: clamp(17px, 2.4vw, 20px) !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: background-color 0.15s, color 0.15s, border-color 0.15s !important;
}

.rt-nay.rt-nay .rt-nay__nappi--keltainen {
	background: var(--nay-keltainen) !important;
	color: #000 !important;
	border: none !important;
	padding: 16px 28px !important;
}

.rt-nay.rt-nay .rt-nay__nappi--keltainen:hover {
	background: var(--nay-keltainen-hover) !important;
	color: #000 !important;
}

.rt-nay.rt-nay .rt-nay__nappi--aariviiva {
	background: transparent !important;
	color: #fff !important;
	border: 2px solid rgba(255, 255, 255, 0.5) !important;
	padding: 14px 24px !important;
}

.rt-nay.rt-nay .rt-nay__nappi--aariviiva:hover {
	border-color: var(--nay-keltainen) !important;
	color: var(--nay-keltainen) !important;
}

.rt-nay.rt-nay .rt-nay__nappi--tarjous {
	align-self: flex-start !important;
	background: transparent !important;
	color: #fff !important;
	border: 2px solid var(--nay-keltainen) !important;
	padding: 14px 24px !important;
	font-size: 17px !important;
}

.rt-nay.rt-nay .rt-nay__nappi--tarjous:hover {
	background: var(--nay-keltainen) !important;
	color: #000 !important;
}

/* ---------- Kuvapeitteet (vain mobiilissa) ---------- */

.rt-nay.rt-nay .rt-nay__peite {
	display: none !important;
	position: absolute !important;
	inset: 0 !important;
	pointer-events: none !important;
	background: rgba(11, 11, 11, 0.62) !important;
}

.rt-nay.rt-nay .rt-nay__peite--kortti {
	background: rgba(20, 20, 20, 0.6) !important;
}

.rt-nay.rt-nay .rt-nay__peite--yhteys {
	background: rgba(11, 11, 11, 0.65) !important;
}

/* ---------- 1. Hero ---------- */

.rt-nay.rt-nay .rt-nay__hero {
	position: relative !important;
	overflow: hidden !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
	margin: 0 !important;
	padding: 0 !important;
}

.rt-nay.rt-nay .rt-nay__hero-kuva {
	position: absolute !important;
	right: clamp(-120px, -4vw, 0px) !important;
	bottom: 0 !important;
	height: clamp(260px, 44vw, 520px) !important;
	max-height: 100% !important;
	width: auto !important;
	max-width: none !important;
	opacity: 0.95 !important;
	pointer-events: none !important;
	-webkit-mask-image: linear-gradient(to bottom, #000 65%, transparent) !important;
	mask-image: linear-gradient(to bottom, #000 65%, transparent) !important;
}

/*
 * Header on position:fixed ja läpinäkyvä heron päällä, joten sen korkeus
 * (js/artikkeli.js mittaa) lisätään handoffin yläpaddingiin.
 */
.rt-nay.rt-nay .rt-nay__hero-sisus {
	position: relative !important;
	max-width: 1320px !important;
	margin: 0 auto !important;
	padding: calc(var(--nay-header) + clamp(48px, 9vw, 112px)) var(--nay-gutter) clamp(48px, 8vw, 96px) !important;
}

.rt-nay.rt-nay .rt-nay__hero-teksti {
	font-size: clamp(17px, 2.4vw, 22px) !important;
	line-height: 1.45 !important;
	color: rgba(255, 255, 255, 0.88) !important;
	margin: 0 0 32px !important;
	max-width: 520px !important;
	text-wrap: pretty !important;
}

.rt-nay.rt-nay .rt-nay__hero-rivi {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
	align-items: center !important;
}

.rt-nay.rt-nay .rt-nay__pilleri {
	display: inline-flex !important;
	align-items: center !important;
	height: 40px !important;
	padding: 0 16px !important;
	border: 1.5px solid var(--nay-keltainen) !important;
	border-radius: 999px !important;
	color: var(--nay-keltainen) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

/* ---------- Osiot ---------- */

.rt-nay.rt-nay .rt-nay__osio {
	max-width: 1320px !important;
	margin: 0 auto !important;
	padding: var(--nay-pysty) var(--nay-gutter) !important;
}

.rt-nay.rt-nay .rt-nay__osio--paketit {
	padding-top: 0 !important;
}

.rt-nay.rt-nay .rt-nay__kaksi {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)) !important;
	gap: clamp(32px, 5vw, 64px) !important;
	align-items: start !important;
}

.rt-nay.rt-nay .rt-nay__kaksi--380 {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)) !important;
}

.rt-nay.rt-nay .rt-nay__pino {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
}

.rt-nay.rt-nay .rt-nay__ruudukko-240 {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
	gap: 16px !important;
}

/* ---------- 2. ja 5. Kortit ---------- */

.rt-nay.rt-nay .rt-nay__kortti {
	padding: 24px !important;
	background: #161616 !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 16px !important;
}

.rt-nay.rt-nay .rt-nay__kortti--viiva {
	display: flex !important;
	gap: 16px !important;
}

.rt-nay.rt-nay .rt-nay__viiva {
	flex: 0 0 4px !important;
	border-radius: 2px !important;
	background: var(--nay-keltainen) !important;
}

.rt-nay.rt-nay .rt-nay__kortti-teksti {
	font-size: 15px !important;
	line-height: 1.55 !important;
	color: rgba(255, 255, 255, 0.8) !important;
	margin: 0 !important;
}

/* ---------- 3. Paketit ---------- */

.rt-nay.rt-nay .rt-nay__ohje {
	font-size: 16px !important;
	line-height: 1.5 !important;
	color: rgba(255, 255, 255, 0.75) !important;
	margin: 0 0 32px !important;
}

.rt-nay.rt-nay .rt-nay__paketit {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important;
	gap: 16px !important;
}

.rt-nay.rt-nay .rt-nay__paketti {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	text-align: left !important;
	width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 24px !important;
	border-radius: 16px !important;
	border: 2px solid rgba(255, 255, 255, 0.1) !important;
	background: #161616 !important;
	color: #fff !important;
	cursor: pointer !important;
	font-family: var(--nay-leipa) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	box-shadow: none !important;
	appearance: none !important;
	transition: transform 0.15s !important;
}

.rt-nay.rt-nay .rt-nay__paketti:hover {
	transform: translateY(-2px) !important;
}

.rt-nay.rt-nay .rt-nay__paketti[aria-pressed="true"] {
	background: var(--nay-keltainen) !important;
	color: #000 !important;
	border-color: var(--nay-keltainen) !important;
}

.rt-nay.rt-nay .rt-nay__paketti > span {
	display: block !important;
}

.rt-nay.rt-nay .rt-nay__paketti-nro {
	font-family: var(--nay-otsikko) !important;
	font-size: 13px !important;
	line-height: 1.3 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	opacity: 0.75 !important;
	margin-bottom: 8px !important;
}

.rt-nay.rt-nay .rt-nay__paketti-nimi {
	font-family: var(--nay-otsikko) !important;
	font-size: clamp(28px, 3.4vw, 36px) !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	color: var(--nay-keltainen) !important;
	margin-bottom: 16px !important;
}

.rt-nay.rt-nay .rt-nay__paketti[aria-pressed="true"] .rt-nay__paketti-nimi {
	color: #000 !important;
}

.rt-nay.rt-nay .rt-nay__paketti-seg {
	font-size: 16px !important;
	font-weight: 700 !important;
	margin-bottom: 8px !important;
}

.rt-nay.rt-nay .rt-nay__paketti-esim {
	font-size: 14px !important;
	line-height: 1.5 !important;
	opacity: 0.85 !important;
	padding-bottom: 16px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
	margin-bottom: 16px !important;
}

.rt-nay.rt-nay .rt-nay__paketti[aria-pressed="true"] .rt-nay__paketti-esim {
	border-bottom-color: rgba(0, 0, 0, 0.2) !important;
}

.rt-nay.rt-nay .rt-nay__paketti > .rt-nay__paketti-luvut {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px 24px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	margin-bottom: 16px !important;
}

.rt-nay.rt-nay .rt-nay__palkki {
	height: 8px !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, 0.12) !important;
	overflow: hidden !important;
	margin-bottom: 24px !important;
}

.rt-nay.rt-nay .rt-nay__palkki-tayte {
	display: block !important;
	height: 100% !important;
	background: var(--nay-keltainen) !important;
	border-radius: 4px !important;
}

.rt-nay.rt-nay .rt-nay__paketti[aria-pressed="true"] .rt-nay__palkki {
	background: rgba(0, 0, 0, 0.15) !important;
}

.rt-nay.rt-nay .rt-nay__paketti[aria-pressed="true"] .rt-nay__palkki-tayte {
	background: #000 !important;
}

.rt-nay.rt-nay .rt-nay__paketti-hinta {
	font-family: var(--nay-otsikko) !important;
	font-size: clamp(40px, 5vw, 52px) !important;
	line-height: 1 !important;
}

.rt-nay.rt-nay .rt-nay__paketti-alv {
	font-size: 13px !important;
	opacity: 0.75 !important;
	margin-top: 8px !important;
}

.rt-nay.rt-nay .rt-nay__paketti-cta {
	margin-top: 24px !important;
	font-family: var(--nay-otsikko) !important;
	font-size: 15px !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
}

.rt-nay.rt-nay .rt-nay__cta-paalla,
.rt-nay.rt-nay .rt-nay__paketti[aria-pressed="true"] .rt-nay__cta-pois {
	display: none !important;
}

.rt-nay.rt-nay .rt-nay__paketti[aria-pressed="true"] .rt-nay__cta-paalla {
	display: inline !important;
}

.rt-nay.rt-nay .rt-nay__huomautus {
	font-size: 14px !important;
	line-height: 1.5 !important;
	color: rgba(255, 255, 255, 0.65) !important;
	margin: 16px 0 0 !important;
}

.rt-nay.rt-nay .rt-nay__huomautus--tiivis {
	margin: 0 !important;
}

/* ---------- 3b. Yksityiskohtakortti ---------- */

.rt-nay.rt-nay .rt-nay__yksityis {
	display: block !important;
	position: relative !important;
	margin-top: 48px !important;
	padding: clamp(24px, 4vw, 48px) !important;
	background: #141414 !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 24px !important;
	overflow: hidden !important;
}

.rt-nay.rt-nay .rt-nay__yksityis[hidden] {
	display: none !important;
}

.rt-nay.rt-nay .rt-nay__yksityis-kuva {
	position: absolute !important;
	right: -80px !important;
	top: -120px !important;
	height: 320px !important;
	width: auto !important;
	max-width: none !important;
	opacity: 0.35 !important;
	pointer-events: none !important;
	-webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent) !important;
	mask-image: linear-gradient(to bottom, #000 55%, transparent) !important;
}

.rt-nay.rt-nay .rt-nay__yksityis-sisus {
	position: relative !important;
}

.rt-nay.rt-nay .rt-nay__yksityis-nimi {
	font-family: var(--nay-otsikko) !important;
	font-size: clamp(40px, 7vw, 80px) !important;
	line-height: 0.9 !important;
	letter-spacing: normal !important;
	text-transform: uppercase !important;
	color: var(--nay-keltainen) !important;
	margin: 0 0 32px !important;
}

.rt-nay.rt-nay .rt-nay__yksityis-ruudukko {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important;
	gap: clamp(24px, 4vw, 48px) !important;
	align-items: start !important;
}

.rt-nay.rt-nay .rt-nay__yksityis-vasen {
	display: flex !important;
	flex-direction: column !important;
	gap: 24px !important;
}

.rt-nay.rt-nay .rt-nay__yksityis-oikea {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	min-width: 0 !important;
}

.rt-nay.rt-nay .rt-nay__ingressi {
	font-size: 19px !important;
	line-height: 1.45 !important;
	font-style: italic !important;
	color: #fff !important;
	margin: 0 !important;
	text-wrap: pretty !important;
}

.rt-nay.rt-nay .rt-nay__sopii {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	padding: 16px 24px !important;
	background: rgba(255, 237, 0, 0.08) !important;
	border: 1px solid rgba(255, 237, 0, 0.35) !important;
	border-radius: 12px !important;
}

.rt-nay.rt-nay .rt-nay__pieni-otsikko {
	font-family: var(--nay-otsikko) !important;
	font-size: 13px !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	color: var(--nay-keltainen) !important;
}

.rt-nay.rt-nay .rt-nay__sopii-teksti {
	font-size: 16px !important;
	line-height: 1.5 !important;
	color: #fff !important;
}

.rt-nay.rt-nay .rt-nay__luvut {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 16px !important;
}

.rt-nay.rt-nay .rt-nay__luku {
	border-top: 2px solid var(--nay-keltainen) !important;
	padding-top: 8px !important;
}

.rt-nay.rt-nay .rt-nay__luku-otsikko {
	font-family: var(--nay-otsikko) !important;
	font-size: 13px !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	color: rgba(255, 255, 255, 0.7) !important;
}

.rt-nay.rt-nay .rt-nay__luku-arvo {
	font-family: var(--nay-otsikko) !important;
	font-size: clamp(28px, 4vw, 40px) !important;
	line-height: 1.1 !important;
	color: #fff !important;
}

.rt-nay.rt-nay .rt-nay__hintalaatikko {
	background: var(--nay-keltainen) !important;
	color: #000 !important;
	border-radius: 16px !important;
	padding: 24px !important;
}

.rt-nay.rt-nay .rt-nay__hinta-otsikko {
	font-family: var(--nay-otsikko) !important;
	font-size: 13px !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
}

.rt-nay.rt-nay .rt-nay__hinta {
	font-family: var(--nay-otsikko) !important;
	font-size: clamp(44px, 6vw, 64px) !important;
	line-height: 1 !important;
	margin: 8px 0 !important;
}

.rt-nay.rt-nay .rt-nay__hinta-alv {
	font-size: 14px !important;
	font-weight: 700 !important;
}

.rt-nay.rt-nay .rt-nay__hinta-matka {
	font-size: 13px !important;
	margin-top: 4px !important;
}

.rt-nay.rt-nay .rt-nay__ohjelma {
	display: flex !important;
	flex-direction: column !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	background: #0e0e0e !important;
}

.rt-nay.rt-nay .rt-nay__ohjelma-rivi {
	display: grid !important;
	grid-template-columns: minmax(96px, 128px) minmax(0, 1fr) !important;
	gap: 4px 16px !important;
	padding: 16px 24px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
	background: transparent !important;
}

.rt-nay.rt-nay .rt-nay__ohjelma-rivi--finaali {
	background: rgba(255, 237, 0, 0.07) !important;
}

.rt-nay.rt-nay .rt-nay__ohjelma-k {
	grid-row: span 2 !important;
	font-family: var(--nay-otsikko) !important;
	font-size: 13px !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	color: var(--nay-keltainen) !important;
	padding-top: 4px !important;
}

.rt-nay.rt-nay .rt-nay__ohjelma-t {
	font-family: var(--nay-otsikko) !important;
	font-size: 19px !important;
	text-transform: uppercase !important;
	color: #fff !important;
}

.rt-nay.rt-nay .rt-nay__ohjelma-rivi--finaali .rt-nay__ohjelma-t {
	color: var(--nay-keltainen) !important;
}

.rt-nay.rt-nay .rt-nay__ohjelma-d {
	font-size: 14px !important;
	line-height: 1.45 !important;
	color: rgba(255, 255, 255, 0.75) !important;
}

/* ---------- 4. ja 6. Vaaleat osiot ---------- */

.rt-nay.rt-nay .rt-nay__vaalea {
	background: #f1efe8 !important;
	color: #191919 !important;
	border-left: clamp(6px, 1vw, 12px) solid var(--nay-keltainen) !important;
	margin: 0 !important;
	padding: 0 !important;
}

.rt-nay.rt-nay .rt-nay__vaalea-sisus {
	max-width: 1320px !important;
	margin: 0 auto !important;
	padding: var(--nay-pysty) var(--nay-gutter) !important;
}

.rt-nay.rt-nay .rt-nay__efektit-yla {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: space-between !important;
	align-items: flex-end !important;
	gap: 16px 48px !important;
	margin-bottom: 32px !important;
}

.rt-nay.rt-nay .rt-nay__efektit-teksti {
	font-size: 16px !important;
	line-height: 1.5 !important;
	color: #444 !important;
	margin: 0 !important;
	max-width: 360px !important;
}

.rt-nay.rt-nay .rt-nay__efektit {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(max(130px, calc((100% - 48px) / 4)), 1fr)) !important;
	gap: 16px !important;
}

.rt-nay.rt-nay .rt-nay__efekti {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	gap: 8px !important;
	padding: 24px 16px !important;
	background: #141414 !important;
	color: #fff !important;
	border-radius: 16px !important;
}

.rt-nay.rt-nay .rt-nay__efekti-kuva {
	height: clamp(72px, 10vw, 104px) !important;
	width: auto !important;
	max-width: 100% !important;
	object-fit: contain !important;
	margin: 0 0 8px !important;
}

.rt-nay.rt-nay .rt-nay__efekti-nimi {
	font-family: var(--nay-otsikko) !important;
	font-size: clamp(19px, 2.4vw, 24px) !important;
	line-height: 1.15 !important;
	text-transform: uppercase !important;
	color: var(--nay-keltainen) !important;
}

.rt-nay.rt-nay .rt-nay__efekti-kuvaus {
	font-size: 14px !important;
	line-height: 1.45 !important;
	color: rgba(255, 255, 255, 0.82) !important;
	text-wrap: balance !important;
}

.rt-nay.rt-nay .rt-nay__askeleet {
	margin-bottom: 24px !important;
}

.rt-nay.rt-nay .rt-nay__askel {
	padding: 24px !important;
	background: #fffdf6 !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	border-radius: 16px !important;
}

.rt-nay.rt-nay .rt-nay__askel-nro {
	display: flex !important;
	width: 48px !important;
	height: 48px !important;
	border-radius: 50% !important;
	background: var(--nay-keltainen) !important;
	border: 2px solid #000 !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: var(--nay-otsikko) !important;
	font-size: 24px !important;
	line-height: 1 !important;
	color: #000 !important;
	margin-bottom: 16px !important;
}

.rt-nay.rt-nay .rt-nay__askel-teksti {
	font-size: 15px !important;
	line-height: 1.55 !important;
	color: #444 !important;
	margin: 0 !important;
}

/* ---------- 7. Yhteystiedot ---------- */

.rt-nay.rt-nay .rt-nay__yhteys {
	position: relative !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

.rt-nay.rt-nay .rt-nay__yhteys-kuva {
	position: absolute !important;
	right: 0 !important;
	bottom: 0 !important;
	height: 100% !important;
	max-height: 560px !important;
	width: auto !important;
	max-width: none !important;
	opacity: 0.6 !important;
	pointer-events: none !important;
	-webkit-mask-image: linear-gradient(to bottom, #000 65%, transparent) !important;
	mask-image: linear-gradient(to bottom, #000 65%, transparent) !important;
}

.rt-nay.rt-nay .rt-nay__yhteys-sisus {
	position: relative !important;
	max-width: 1320px !important;
	margin: 0 auto !important;
	padding: var(--nay-pysty) var(--nay-gutter) !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr)) !important;
	gap: 32px !important;
	align-items: center !important;
}

.rt-nay.rt-nay .rt-nay__yhteys-otsikko {
	font-family: var(--nay-otsikko) !important;
	font-size: clamp(40px, 7vw, 80px) !important;
	line-height: 0.9 !important;
	letter-spacing: normal !important;
	text-transform: uppercase !important;
	color: var(--nay-keltainen) !important;
	margin: 0 0 24px !important;
}

.rt-nay.rt-nay .rt-nay__yhteys-teksti {
	font-size: 18px !important;
	line-height: 1.5 !important;
	color: rgba(255, 255, 255, 0.88) !important;
	margin: 0 0 32px !important;
	max-width: 560px !important;
}

.rt-nay.rt-nay .rt-nay__henkilo {
	padding: 24px !important;
	background: rgba(22, 22, 22, 0.92) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 16px !important;
}

.rt-nay.rt-nay .rt-nay__henkilo-viiva {
	display: block !important;
	width: 40px !important;
	height: 3px !important;
	background: var(--nay-keltainen) !important;
	margin-bottom: 16px !important;
}

.rt-nay.rt-nay .rt-nay__henkilo-nimi {
	font-family: var(--nay-otsikko) !important;
	font-size: 26px !important;
	line-height: 1.15 !important;
	text-transform: uppercase !important;
	color: #fff !important;
}

.rt-nay.rt-nay .rt-nay__henkilo-rooli {
	font-size: 14px !important;
	color: rgba(255, 255, 255, 0.7) !important;
	margin: 4px 0 16px !important;
}

.rt-nay.rt-nay .rt-nay__henkilo-puh {
	display: block !important;
	font-family: var(--nay-otsikko) !important;
	font-size: 22px !important;
	line-height: 1.2 !important;
	color: var(--nay-keltainen) !important;
	text-decoration: none !important;
	margin-bottom: 8px !important;
}

.rt-nay.rt-nay .rt-nay__henkilo-puh:hover {
	color: var(--nay-keltainen-hover) !important;
}

.rt-nay.rt-nay .rt-nay__henkilo-email {
	font-size: 15px !important;
	color: #fff !important;
	text-decoration: underline !important;
	word-break: break-all !important;
}

.rt-nay.rt-nay .rt-nay__henkilo-email:hover {
	color: var(--nay-keltainen-hover) !important;
	text-decoration: underline !important;
}

.rt-nay.rt-nay .rt-nay__maskotti {
	display: flex !important;
	justify-content: center !important;
}

.rt-nay.rt-nay .rt-nay__maskotti-kuva {
	height: clamp(220px, 32vw, 440px) !important;
	width: auto !important;
	max-width: 100% !important;
}

/* ---------- Mobiili ---------- */

@media (max-width: 760px) {
	.rt-nay.rt-nay .rt-nay__peite {
		display: block !important;
	}

	.rt-nay.rt-nay .rt-nay__ohjelma-rivi {
		display: flex !important;
		flex-direction: column !important;
		gap: 4px !important;
		padding: 16px !important;
	}

	.rt-nay.rt-nay .rt-nay__ohjelma-k {
		font-size: 12px !important;
		letter-spacing: 1.5px !important;
		padding-top: 0 !important;
	}

	.rt-nay.rt-nay .rt-nay__ohjelma-t {
		font-size: 20px !important;
		line-height: 1.05 !important;
	}
}
