@media only screen and (max-width: 639px) {
	.subpage main :is(
		.entries-intro, .entries-steps, .entries-contact-panel, .entries-fees-panel, .entries-before-first,
		.camp-intro, .camp-place, .camp-offer,
		.contact-panel, .contact-info-box, .fees-info-card, .fees-bank-card,
		.dojo-oath-intro, .dojo-oath-list-section, .dojo-oath-principles,
		.statute-intro, .statute-summary, .statute-sections,
		.oyama-hero, .oyama-story, .oyama-timeline, .oyama-principles,
		.requirements-intro, .requirements-summary, .requirements-section
	) {
		padding: 18px;
	}

	.subpage main :is(.statute-card, .dojo-oath-card, .entries-step-card, .requirements-result-card) {
		padding: 18px;
	}

	.subpage main :is(h2, h3, h4) {
		overflow-wrap: anywhere;
	}

	.site-newsletter__consent {
		max-width: 330px;
	}

	.site-newsletter__intro,
	.site-newsletter__intro > div,
	.site-newsletter__form,
	.site-newsletter__intro p:not(.site-newsletter__eyebrow) {
		max-width: 330px;
	}
}

@media only screen and (min-width: 640px) and (max-width: 899px) {
	.why-karate-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.why-karate-grid--count-1 {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media only screen and (max-width: 479px) {
	.hero-section__title {
		font-size: clamp(2.45rem, 13vw, 3.15rem);
	}

	.hero-button {
		padding-left: 18px;
		padding-right: 18px;
	}

	.hero-section__brand {
		max-width: 155px;
	}
}

@media only screen and (max-width: 639px) {
	.hero-section__frame {
		padding: 32px 24px;
	}

	.hero-section__meta {
		margin-bottom: clamp(24px, 5svh, 44px);
	}

	.hero-section__intro {
		margin-bottom: clamp(24px, 4svh, 36px);
	}

	.hero-section__meta,
	.hero-section__intro,
	.hero-section__footer {
		padding-inline: 0;
	}

	.hero-section__eyebrow {
		margin-bottom: 16px;
	}

	.hero-section__title {
		line-height: .98;
	}

	.hero-gallery__status {
		margin-top: 18px;
	}

	.hero-gallery__control {
		width: 44px;
		height: 44px;
		border: 0;
		background: transparent;
		box-shadow: none;
		color: rgba(255, 255, 255, .8);
	}

	.hero-gallery__control::before {
		content: '';
		position: absolute;
		inset: 7px;
		border: 1px solid rgba(255, 255, 255, .16);
		border-radius: 50%;
		background: rgba(11, 10, 12, .55);
		pointer-events: none;
		transition: background .2s ease, border-color .2s ease;
	}

	.hero-gallery__control i {
		position: relative;
		font-size: .62rem;
	}

	.hero-gallery__control:hover {
		background: transparent;
		color: #fff;
		transform: translateY(-50%);
	}

	.hero-gallery__control:hover::before,
	.hero-gallery__control:focus-visible::before,
	.hero-gallery__control:active::before {
		border-color: rgba(255, 255, 255, .35);
		background: rgba(11, 10, 12, .72);
	}

	.hero-section__footer {
		gap: 24px;
		margin-top: clamp(20px, 4svh, 32px);
	}

	.hero-section__lead {
		display: none;
	}

	.hero-section__motto {
		margin-top: 0;
		line-height: 1.7;
	}

	.hero-section__actions {
		order: -1;
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
		gap: 12px;
	}

	.hero-button {
		gap: 8px;
		padding: 12px 10px;
		font-size: .68rem;
		line-height: 1.35;
	}
}

@media only screen and (max-width: 639px) and (max-height: 700px) {
	.hero-section__frame {
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.hero-section__meta,
	.hero-section__intro {
		margin-bottom: 16px;
	}

	.hero-section__eyebrow {
		margin-bottom: 12px;
	}

	.hero-gallery__item {
		flex-basis: min(78vw, 300px, 34svh);
	}

	.hero-gallery__status {
		margin-top: 10px;
	}

	.hero-section__footer {
		gap: 18px;
		margin-top: 14px;
	}
}

@media only screen and (min-width: 640px) {
	.hero-section {
		padding: 0;
	}

	.hero-section__frame {
		width: 100%;
		padding: 38px clamp(32px, 6vw, 72px) 40px;
		border-radius: 0;
	}

	.hero-section__meta {
		margin-bottom: 44px;
	}

	.hero-section__intro {
		margin-bottom: 28px;
	}

	.hero-gallery__track {
		gap: 12px;
	}

	.hero-gallery__item {
		flex-basis: clamp(270px, 43vw, 320px);
	}

	.hero-gallery__control--previous {
		left: -14px;
	}

	.hero-gallery__control--next {
		right: -14px;
	}

	.hero-section__actions {
		display: flex;
		flex-wrap: wrap;
	}

	.hero-button {
		width: auto;
	}
}

@media only screen and (min-width: 560px) {
	.hero-section__actions {
		gap: 10px;
	}
}

@media only screen and (min-width: 768px) {
	.subpage-header {
		--subpage-frame-inset: 18px;
		min-height: calc(340px + var(--main-top-radius));
	}

	.subpage-header__inner {
		padding-top: 68px;
		padding-bottom: 88px;
	}

	.news-page__inner {
		padding-top: 68px;
		padding-bottom: 88px;
	}

	.news-page__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px;
	}

	.news-card--featured {
		grid-column: 1 / -1;
		grid-template-columns: minmax(0, .95fr) minmax(0, 1fr);
	}

	.news-card--featured .news-card__media {
		min-height: 290px;
	}

	.news-card--featured .news-card__content {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 30px;
	}

	.news-event-card--featured {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
	}

	.news-event-card--featured .news-event-card__header {
		border-right: 1px solid var(--color-line);
		border-bottom: 0;
	}

	.news-event-card--featured .news-event-card__body {
		padding: 30px;
	}

	.news-results-card--featured {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
	}

	.news-results-card--featured .news-results-card__header {
		align-content: center;
	}

	.news-results-card--featured .news-results-card__body {
		padding: 30px;
	}

	.news-funding-card--featured {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: minmax(240px, .68fr) minmax(0, 1.32fr);
	}

	.news-funding-card--featured .news-funding-card__visual {
		min-height: 280px;
		grid-template-columns: minmax(0, 1fr);
		align-content: center;
		padding: 34px;
	}

	.news-funding-card--featured .news-funding-card__icon {
		width: 64px;
		height: 64px;
	}

	.news-funding-card--featured .news-funding-card__content {
		justify-content: center;
		padding: 30px;
	}

	.news-details-page__inner {
		padding-top: 68px;
		padding-bottom: 88px;
	}

	.news-detail--article:not(.news-detail--without-media) {
		grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
	}

	.news-detail--article .news-detail__media {
		min-height: 460px;
	}

	.news-detail--article .news-detail__copy {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 44px;
	}

	.news-detail--without-media .news-detail__copy {
		padding: 48px;
	}

	.news-detail--event {
		display: grid;
		grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
	}

	.news-detail-event__summary {
		align-items: flex-start;
		align-content: center;
		border-right: 1px solid rgba(191, 31, 26, .14);
		border-bottom: 0;
		padding: 40px;
	}

	.news-detail-event__body,
	.news-detail-results__body,
	.news-detail-funding__body {
		padding: 40px;
	}

	.news-detail__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.news-detail-results__header,
	.news-detail-funding__header {
		padding: 36px 40px;
	}

	.news-detail-results__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.news-detail-funding__amount {
		max-width: 520px;
	}

	.timetable-page__inner {
		padding-top: 72px;
		padding-bottom: 96px;
	}

	.timetable-board {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.timetable-support {
		grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
		align-items: start;
	}

	.timetable-places,
	.timetable-notes {
		padding: 28px;
	}

	.contact-page__inner {
		padding-top: 72px;
		padding-bottom: 96px;
	}

	.contact-page__grid {
		grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
		align-items: stretch;
	}

	.contact-panel,
	.contact-info-box,
	.contact-map-section {
		padding: 34px;
	}

	.contact-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px;
	}

	.contact-card {
		grid-template-columns: minmax(0, 1fr);
		align-content: start;
	}

	.contact-map iframe {
		min-height: 390px;
	}

	.oyama-page__inner {
		padding-top: 72px;
		padding-bottom: 96px;
	}

	.oyama-hero {
		grid-template-columns: minmax(300px, .42fr) minmax(0, .58fr);
		align-items: stretch;
	}

	.oyama-hero__media {
		min-height: 520px;
	}

	.oyama-hero__content,
	.oyama-story,
	.oyama-quote,
	.oyama-timeline,
	.oyama-principles {
		padding: 34px;
	}

	.oyama-hero__facts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.oyama-content-grid {
		grid-template-columns: minmax(0, 1fr) minmax(300px, .42fr);
		align-items: stretch;
	}

	.oyama-timeline__grid,
	.oyama-principles__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dojo-oath-page__inner {
		padding-top: 72px;
		padding-bottom: 96px;
	}

	.dojo-oath-intro {
		grid-template-columns: minmax(0, 1fr) minmax(320px, .44fr);
		align-items: stretch;
		padding: 34px;
	}

	.dojo-oath-intro__note {
		align-content: start;
	}

	.dojo-oath-list-section,
	.dojo-oath-principles {
		padding: 34px;
	}

	.dojo-oath-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.dojo-oath-card:last-child {
		grid-column: 1 / -1;
	}

	.dojo-oath-principles__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.statute-page__inner {
		padding-top: 72px;
		padding-bottom: 96px;
	}

	.statute-intro {
		grid-template-columns: minmax(0, 1fr) minmax(320px, .44fr);
		align-items: stretch;
		padding: 34px;
	}

	.statute-intro__note {
		align-content: start;
	}

	.statute-summary,
	.statute-sections {
		padding: 34px;
	}

	.statute-summary__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.statute-sections__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}

	.statute-card:first-child,
	.statute-card:nth-child(4) {
		grid-row: span 2;
	}

	.nav-container {
		display: none;
	}

	.dropdown {
		position: absolute;
		right:30px;
		top:70px;
		display: none;
	}

	.dropdown ul {
		display: flex;
		flex-direction: column;
		box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	}

	.dropdown li {
		color:#fff;
		font-size: .7em;
		text-transform: uppercase;
		font-weight: 700;
	}

	.dropdown a {
		width: 100px;
		background: #1F2737;
		padding:5px 0px;
	}

	
	.onmouse:hover .dropdown {
		display: block;
	}

	.nav-container-full-screen {
		width: 100%;
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: space-around;
	}

	.nav {
		width:90%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		border-bottom: 2px solid #1F2737;
	}

	.black {
		width: 100%;
		height:100%;
		position: absolute;
		left:0px;
		top: 0px;
		background: black;
		z-index: 0;
		opacity: .2;
	}

	.full-screen-menu,
	.full-screen-menu a {
		z-index: 1;
	}

	.full-screen-menu ul {
		display: flex;
		justify-content: center;
		align-items: center;

	}

	.full-screen-menu i,  .full-screen-menu p{
		color:#fff;
		font-size: .9em;
	}

	.full-screen-menu p {
		font-weight: 700;
		text-transform: uppercase;
		font-size: .6em;
		margin-top: 10px;
	}

	.full-screen-menu li {
		padding: 10px;
		text-align: center;
	}

	.full-screen-menu li:hover {
		border-bottom: 2px solid #ee4035;
	}

	.footer-container {
		display: flex;
		justify-content: space-evenly;
	}

	.fa-money-bill-1 {
		margin-left: -40px;
		margin-right: 10px;
		color:#171D29;
	}


	.respons-container {
		width: 90%;
		margin: auto;
	}

	.entries-page__inner {
		padding-top: 72px;
		padding-bottom: 96px;
	}

	.entries-intro {
		grid-template-columns: minmax(0, 1fr) minmax(320px, .44fr);
		align-items: stretch;
		padding: 34px;
	}

	.entries-intro__note {
		align-content: start;
	}

	.entries-steps,
	.entries-contact-panel,
	.entries-fees-panel,
	.entries-before-first {
		padding: 34px;
	}

	.entries-step-grid,
	.entries-before-first__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px;
	}

	.entries-main-grid {
		grid-template-columns: minmax(0, 1fr) minmax(320px, .46fr);
		align-items: start;
	}

	/*OBÓZ*/

	.camp-page__inner {
		padding-top: 72px;
		padding-bottom: 96px;
	}

	.camp-intro {
		grid-template-columns: minmax(0, 1fr) minmax(300px, .38fr);
		align-items: stretch;
		padding: 34px;
	}

	.camp-price-panel {
		align-content: center;
	}

	.camp-details {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 18px;
	}

	.camp-detail-card {
		grid-template-columns: minmax(0, 1fr);
	}

	.camp-place,
	.camp-offer {
		padding: 34px;
	}

	.camp-offer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}

	.p1 {
		display: none;
	}

	.content-container .off-header {
		display: none;
	}

	.detail-info {
		text-align: center;
	}

	.nt {
		display: flex;
		justify-content: space-evenly;
		gap: 10%;
	}

	.nt strong {
		color:#4F4F4F;;
	}

	.nt div {
		flex:1 1 0;
		/* width:0; */
		padding:0px 10px;
	}

	.nt h2 {
		font-size:1.2em;
	}
/*KONTAKT*/
	.contact-information {
		display: flex;
		justify-content: space-evenly;
	}

	iframe {
		height:300px;
	}
/*OPLATY*/
	.break {
		display: none;
	}

	.fees-page__inner {
		padding-top: 72px;
		padding-bottom: 96px;
	}

	.fees-membership {
		padding: 0;
	}

	.fees-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.fees-details {
		grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
		align-items: start;
		gap: 22px;
	}

	.fees-info-card,
	.fees-bank-card {
		padding: 34px;
	}

	.respons-container .content-container {
		width: 100%;
	}

	.impor-info p {
		font-size: 1em;
	}

	.oyama-img {
		width:200px;
		height: 200px;
	}

	.requirements-page__inner {
		padding-top: 72px;
		padding-bottom: 96px;
	}

	.requirements-intro {
		grid-template-columns: minmax(0, 1fr) minmax(320px, .44fr);
		align-items: stretch;
		padding: 34px;
	}

	.requirements-intro__note {
		align-content: start;
	}

	.requirements-summary,
	.requirements-section {
		padding: 34px;
	}

	.requirements-summary__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px;
	}

	.requirements-summary-card {
		grid-template-columns: minmax(0, 1fr);
		padding-top: 0;
		border-top: 0;
	}

	.requirements-grade-list {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.requirements-results {
		grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	}

	.requirements-result-card {
		padding: 26px;
	}

	.gallery-page__inner {
		padding-top: 72px;
		padding-bottom: 96px;
	}

	.gallery-intro {
		grid-template-columns: minmax(0, 1fr) minmax(320px, .44fr);
		align-items: stretch;
		padding: 34px;
	}

	.gallery-intro__stats {
		align-content: start;
	}

	.gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px;
	}

	.gallery-card--featured {
		grid-column: 1 / -1;
		min-height: 430px;
		aspect-ratio: 16 / 9;
	}

	.newsletter-box {
        margin-top: 40px;
        margin-left: 0;
        flex: 1 1 300px; /* Pozwala mu stać obok nawigacji */
        max-width: 350px;
    }

    .input-container {
        flex-direction: column; /* Na desktopie w stopce pionowo też wygląda dobrze, 
                                  ale jeśli chcesz obok siebie, zmień na row */
    }
}


@media only screen and (min-width: 1024px) {
	body.homepage {
		--main-top-radius: 52px;
	}

	body.homepage > main {
		margin-top: calc(0px - var(--main-top-radius));
		border-radius: var(--main-top-radius) var(--main-top-radius) 0 0;
		box-shadow: none;
	}

	.hero-section {
		min-height: calc(100svh - 86px + var(--main-top-radius));
		padding: 0;
	}

	.hero-section__frame {
		width: 100%;
		min-height: inherit;
		padding: clamp(38px, 4.5vh, 58px) clamp(52px, 5.5vw, 104px) clamp(36px, 4.5vh, 58px);
		border-radius: 0;
	}

	.hero-section__frame::after {
		inset: 18px;
		bottom: calc(18px + var(--main-top-radius));
		border-radius: 0;
	}

	.hero-section__corner--top-left {
		top: 18px;
		left: 18px;
	}

	.hero-section__corner--top-right {
		top: 18px;
		right: 18px;
	}

	.hero-section__corner--bottom-left {
		bottom: calc(18px + var(--main-top-radius));
		left: 18px;
	}

	.hero-section__corner--bottom-right {
		right: 18px;
		bottom: calc(18px + var(--main-top-radius));
	}

	.hero-section__meta {
		margin-bottom: clamp(46px, 4vw, 66px);
	}

	.hero-section__intro {
		margin-bottom: 34px;
	}

	.hero-section__title {
		font-size: clamp(5rem, 6.8vw, 7.7rem);
		white-space: nowrap;
	}

	.hero-section__title span,
	.hero-section__title strong {
		display: inline;
	}

	.hero-section__lead {
		font-size: .9rem;
	}

	.hero-gallery__item {
		flex-basis: clamp(300px, 20vw, 390px);
	}

	.hero-gallery__control {
		width: 46px;
		height: 46px;
	}

	.hero-gallery__control--previous {
		left: -21px;
	}

	.hero-gallery__control--next {
		right: -21px;
	}

	.hero-section__footer {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
		gap: clamp(40px, 7vw, 110px);
		margin-top: 24px;
	}

	.hero-section__actions {
		width: auto;
		flex-wrap: nowrap;
	}

	.respons-container {
		width: 70%;
	}

	.post > .post-content p {
		width: 60%;
	}

	.post-free {
		margin: auto;
		border-radius: 20px;
		overflow: hidden;
		box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
		margin-bottom: 50px;
		max-width: 800px;
		height:200px;
	}

	.post-free .post {
		width: 100%;
		height:200px;
		display: flex;
		position: static;
		margin:0px;
		max-width: 800px;
	}

	.left-side-post {
		width: 30%;
		background: #171D29;
		display: flex;
		justify-content: center;
		align-items: center;

	}

	.left-side-post .post-header {
		margin:0px;
	}

	.left-side-post h2 {
		color:#fff;
	}

	.post-free .post-content {
		display: flex;
		justify-content: center;
		align-items: center;
		width:70%;
	}

	.post-free .post-content {
		background:#fff;
		
	}

	.post-free .post-content span{
		display: block;
		font-weight: 700;
		color:gray;
		text-transform: uppercase;
		font-size:.6em;
		margin-bottom:10px;
	}

	.post-free .post-content p {
		width: 90%;
		color:#171D29;
	}
}

@media only screen and (min-width: 1680px) {
	.hero-section__title {
		font-size: clamp(7.25rem, 7vw, 8.4rem);
	}

	.hero-gallery__item {
		flex-basis: clamp(340px, 20vw, 390px);
	}
}
/* Redesign foundation: desktop navigation */
@media only screen and (min-width: 1100px) {
	.timetable-board {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.contact-page__grid {
		grid-template-columns: minmax(0, .98fr) minmax(360px, .42fr);
	}

	.entries-main-grid {
		grid-template-columns: minmax(0, .98fr) minmax(360px, .42fr);
	}

	.entries-contact-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.entries-contact-card {
		grid-template-columns: minmax(0, 1fr);
		align-content: start;
	}

	.news-page__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.news-card--featured {
		grid-column: span 2;
	}

	.news-event-card--featured {
		grid-column: span 2;
	}

	.news-results-card--featured {
		grid-column: span 2;
	}

	.gallery-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-auto-rows: 260px;
	}

	.gallery-card {
		min-height: 0;
		aspect-ratio: auto;
	}

	.gallery-card--featured {
		grid-column: span 2;
		grid-row: span 2;
		min-height: 0;
	}

	.nav-container-full-screen.site-desktop-nav {
		position: sticky;
		top: 0;
		z-index: 40;
		width: 100%;
		height: 86px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 28px;
		padding: 0 clamp(28px, 5vw, 72px);
		background: rgba(255, 255, 255, .96);
		border-bottom: 1px solid var(--color-line);
		box-shadow: 0 10px 40px rgba(31, 24, 17, .06);
		backdrop-filter: blur(18px);
	}

	.site-desktop-nav .site-brand__icons {
		height: 48px;
	}

	.site-desktop-nav .site-brand__emblem {
		width: 32px;
		height: 32px;
	}

	.site-desktop-nav .site-brand__calligraphy {
		width: 17px;
		height: 46px;
	}

	.site-desktop-nav .site-brand__text strong {
		font-size: 1.08rem;
	}

	.site-desktop-nav .site-brand__text small {
		font-size: .62rem;
	}

	.site-desktop-nav__links {
		flex: 1;
		display: flex;
		justify-content: center;
		position: relative;
	}

	.site-desktop-nav__links ul {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: clamp(14px, 2.2vw, 34px);
		margin: 0;
	}

	.site-desktop-nav__links a,
	.site-desktop-nav__dropdown button {
		position: relative;
		display: inline-flex;
		align-items: center;
		gap: 7px;
		padding: 34px 0 30px;
		border: 0;
		background: transparent;
		color: var(--color-ink);
		font-family: var(--font-sans);
		font-size: .82rem;
		font-weight: 700;
		letter-spacing: .01em;
		white-space: nowrap;
		cursor: pointer;
	}

	.site-desktop-nav__indicator {
		position: absolute;
		left: 0;
		bottom: 22px;
		width: 0;
		height: 2px;
		background: var(--color-accent);
		opacity: 0;
		pointer-events: none;
		transform: translateX(0);
		transition: transform .24s ease, width .24s ease, opacity .18s ease;
	}

	.site-desktop-nav__dropdown {
		position: relative;
	}

	.site-desktop-nav__dropdown-menu {
		position: absolute;
		right: 50%;
		top: calc(100% - 8px);
		min-width: 250px;
		padding: 12px;
		border: 1px solid var(--color-line);
		border-radius: 14px;
		background: var(--color-paper);
		box-shadow: var(--shadow-soft);
		opacity: 0;
		visibility: hidden;
		transform: translate(50%, 8px);
		transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
	}

	.site-desktop-nav__dropdown:hover .site-desktop-nav__dropdown-menu,
	.site-desktop-nav__dropdown:focus-within .site-desktop-nav__dropdown-menu {
		opacity: 1;
		visibility: visible;
		transform: translate(50%, 0);
	}

	.site-desktop-nav__dropdown-menu a {
		display: block;
		padding: 11px 12px;
		border-radius: 9px;
		color: var(--color-muted);
		font-size: .86rem;
		font-weight: 700;
	}

	.site-desktop-nav__dropdown-menu a::after {
		display: none;
	}

	.site-desktop-nav__dropdown-menu a:hover {
		background: #f7f7f7;
		color: var(--color-ink);
	}

	.site-nav-cta {
		padding: 14px 22px;
		font-size: .82rem;
		white-space: nowrap;
	}

	.public-site .nav-container-full-screen.site-desktop-nav {
		position: relative;
		flex: 0 0 86px;
		background: #0a0a0c;
		border-bottom-color: rgba(255, 255, 255, .09);
		box-shadow: none;
		backdrop-filter: none;
	}

	.public-site .site-desktop-nav .site-brand,
	.public-site .site-desktop-nav .site-brand__text,
	.public-site .site-desktop-nav .site-brand__text strong,
	.public-site .site-desktop-nav .site-brand__text strong span {
		color: #fff;
	}

	.public-site .site-desktop-nav .site-brand__emblem,
	.public-site .site-desktop-nav .site-brand__calligraphy {
		filter: grayscale(1) invert(1) brightness(1.55);
	}

	.public-site .site-desktop-nav .site-brand__text small {
		color: rgba(255, 255, 255, .58);
	}

	.public-site .site-desktop-nav__links a,
	.public-site .site-desktop-nav__dropdown button {
		color: rgba(255, 255, 255, .7);
	}

	.public-site .site-desktop-nav__links a:hover,
	.public-site .site-desktop-nav__links a.is-active,
	.public-site .site-desktop-nav__dropdown button:hover,
	.public-site .site-desktop-nav__dropdown button.is-active {
		color: #fff;
	}

	.public-site .site-desktop-nav__dropdown button i {
		color: inherit;
	}

	.public-site .site-desktop-nav__dropdown-menu {
		border-color: rgba(255, 255, 255, .12);
		background: #121214;
		box-shadow: 0 22px 54px rgba(0, 0, 0, .42);
	}

	.public-site .site-desktop-nav__dropdown-menu a {
		color: rgba(255, 255, 255, .7);
	}

	.public-site .site-desktop-nav__dropdown-menu a:hover {
		background: rgba(255, 255, 255, .07);
		color: #fff;
	}

	.subpage .nav-container-full-screen.site-desktop-nav {
		position: sticky;
	}

}

@media only screen and (max-width: 1240px) and (min-width: 1100px) {
	.nav-container-full-screen.site-desktop-nav {
		gap: 18px;
		padding: 0 24px;
	}

	.site-desktop-nav .site-brand__text strong {
		font-size: .82rem;
	}

	.site-desktop-nav__links ul {
		gap: 16px;
	}

	.site-desktop-nav__links a,
	.site-desktop-nav__dropdown button {
		font-size: .74rem;
	}

	.site-nav-cta {
		padding: 12px 16px;
	}
}

@media only screen and (max-width: 1099px) {
	.nav-container.site-mobile-nav {
		display: flex;
	}

	.nav-container-full-screen.site-desktop-nav {
		display: none;
	}
}

/* Redesign foundation: newsletter and footer */
@media only screen and (min-width: 640px) {
	.important-card {
		flex-basis: min(72%, 520px);
		padding: 24px;
	}

	.site-newsletter__field {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
	}

	.site-newsletter__field button {
		width: auto;
		padding: 0 28px;
		white-space: nowrap;
	}

}

@media only screen and (min-width: 900px) {
	.important-section__inner {
		padding-top: 48px;
		padding-bottom: 52px;
	}

	.important-section__heading {
		max-width: 620px;
		margin-bottom: 22px;
	}

	.important-info {
		gap: 18px;
	}

	.important-info-shell::before,
	.important-info-shell::after {
		width: 56px;
	}

	.important-info-shell::before {
		display: block;
	}

	.important-card {
		flex-basis: clamp(380px, calc((100% - 48px) / 2.35), 520px);
		min-height: 188px;
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 18px;
		padding: 26px;
	}

	.important-card__icon {
		width: 58px;
		height: 58px;
	}

	.first-class-section__inner {
		grid-template-columns: 48px minmax(0, 1fr) auto;
		gap: 20px;
		align-items: start;
		padding: 32px 36px;
	}

	.first-class-section__icon {
		width: 48px;
		height: 48px;
		display: inline-flex;
		margin-top: 2px;
	}

	.first-class-section__cta {
		grid-column: 3;
		justify-self: end;
		align-self: center;
	}

	.simple-text-section__inner {
		grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr);
		gap: 64px;
		align-items: start;
		padding-top: 72px;
		padding-bottom: 76px;
	}

	.simple-text-section__heading {
		align-items: flex-start;
		text-align: left;
	}

	.simple-text-section__heading::before {
		width: 44px;
	}

	.simple-text-section__content {
		max-width: none;
		margin: 0;
		padding: 2px 0 2px 42px;
		border-top: 0;
		border-left: 1px solid var(--color-line);
	}

	.simple-text-section__content p {
		font-size: 1rem;
	}

	.why-karate-section__inner {
		padding-top: 54px;
		padding-bottom: 60px;
	}

	.why-karate-section__heading {
		margin-bottom: 34px;
	}

	.why-karate-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}

	.why-karate-card {
		gap: 18px;
		padding: 24px;
	}

	.why-karate-grid--count-1 {
		max-width: 800px;
		grid-template-columns: minmax(0, 1fr);
	}

	.why-karate-grid--count-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.family-training-section__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: center;
		gap: clamp(32px, 4vw, 56px);
	}

	.family-training-section__inner--text-only {
		max-width: var(--container-width);
		grid-template-columns: minmax(0, 1fr);
	}

	.family-training-section__media img {
		max-height: 480px;
	}

	.family-training-section__content {
		max-width: 620px;
	}

	.site-newsletter__inner {
		width: min(100% - 40px, var(--container-width));
		grid-template-columns: minmax(0, .95fr) minmax(360px, .85fr);
		align-items: center;
		padding: 36px 44px 38px;
	}

	.site-newsletter__intro {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		justify-items: start;
		text-align: left;
		margin: 0;
	}

	.site-newsletter h2 {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
	}

	.site-newsletter__intro p:not(.site-newsletter__eyebrow) {
		margin-left: 0;
		margin-right: 0;
		text-align: left;
	}

	.site-newsletter__form {
		justify-self: end;
		width: min(100%, 620px);
		margin: 0;
	}

	.site-newsletter__decor {
		right: -72px;
		bottom: -48px;
		width: min(18vw, 210px);
		opacity: .38;
	}

	.site-footer-main__inner {
		width: min(100% - 40px, var(--container-width));
		grid-template-columns: minmax(240px, .75fr) minmax(0, 1.4fr);
		gap: clamp(42px, 7vw, 96px);
		padding-top: 58px;
	}

	.site-footer-brand {
		margin: 0;
		text-align: left;
	}

	.site-footer-brand .site-brand {
		justify-content: flex-start;
	}

	.site-footer-nav {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		text-align: left;
	}

	.site-footer-nav > div:last-child {
		grid-column: auto;
		padding-top: 0;
		border-top: 0;
	}

	.site-footer-contact li {
		max-width: none;
		margin: 0;
	}

	.site-footer-bottom {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		text-align: left;
	}

	.site-footer-bottom div {
		justify-content: flex-end;
	}
}

@media only screen and (min-width: 1180px) {
	.site-newsletter__decor {
		right: -62px;
	}
}

@media only screen and (min-width: 1200px) {
	.why-karate-grid:where(:not(.why-karate-grid--count-1):not(.why-karate-grid--count-2)) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media only screen and (min-width: 1600px) {
	.why-karate-grid--many {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
