/* Dialog Obronny — animacje wejścia i widoki mobilne. */

/* Stany startowe animacji (dodawane tylko, gdy GSAP jest aktywny). */
.do-anim [data-reveal] {
	opacity: 0;
	transform: translateY(24px);
	will-change: opacity, transform;
}
.do-anim [data-reveal-group] > * {
	opacity: 0;
	transform: translateY(20px);
	will-change: opacity, transform;
}
.do-anim [data-hero-fade] {
	opacity: 0;
	transform: translateY(12px);
}
.do-anim [data-hero-line],
.do-anim [data-nav] { opacity: 0; }
.do-anim [data-rule] { transform: scaleX(0); }

.do-anim.do-anim-ready [data-reveal].is-in,
.do-anim.do-anim-ready [data-reveal-group] > .is-in {
	opacity: 1;
	transform: none;
}

/* Jeśli JS się nie wykona, treść musi pozostać widoczna. */
.no-js [data-reveal],
.no-js [data-reveal-group] > *,
.no-js [data-hero-fade] {
	opacity: 1 !important;
	transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
	html.do-smooth { scroll-behavior: auto; }
	.do-anim [data-reveal],
	.do-anim [data-reveal-group] > *,
	.do-anim [data-hero-fade],
	.do-anim [data-hero-line],
	.do-anim [data-rule] {
		opacity: 1 !important;
		transform: none !important;
	}
	.do-dot--blink,
	.do-pin__ring { animation: none !important; }
}

/* ------------------------------------------------------------- ≤ 1100 px */

@media (max-width: 1100px) {
	.do-guests { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.do-col-left,
	.do-col-right { grid-column: 1 / -1; }
	.do-hero__lead { grid-column: span 2; }
}

/* -------------------------------------------------------------- ≤ 900 px */

@media (max-width: 900px) {
	.do-nav__links,
	.do-nav__cta { display: none !important; }
	.do-burger { display: inline-flex; }

	.do-hero {
		padding-top: 120px;
		align-items: start;
	}
	.do-hero__content { padding-top: 24px; }
	.do-cd {
		position: static;
		transform: none;
		align-items: flex-start;
		margin: 0 0 28px;
		padding: 0 var(--do-pad);
	}

	.do-agenda { overflow: visible; }
	.do-agenda__min { min-width: 0; }
	.do-agenda__head { display: none; }
	.do-agenda__row {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 28px 0;
	}
	.do-agenda__n {
		font-size: 20px;
		padding-top: 0;
	}
	.do-agenda__people,
	.do-agenda__mod { padding-top: 0; }

	.do-sec--map {
		min-height: 0;
		display: block;
	}
	.do-map {
		position: relative;
		height: 340px;
		inset: auto;
	}
	.do-map__fade { display: none; }
	.do-map__text { padding-top: 40px; }

	.do-band--1,
	.do-band--2 { height: 56vh; }
	.do-band__quote {
		max-width: none;
		right: 0;
	}

	.do-foot__cell,
	.do-foot__cell--brand,
	.do-foot__cell--partners { min-height: 0; }
}

/* -------------------------------------------------------------- ≤ 640 px */

@media (max-width: 640px) {
	.do-guests { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.do-stat {
		padding: 18px 0;
		border-right: 0;
		border-bottom: 1px solid var(--do-line);
		min-height: 0;
	}
	.do-stat--last { border-bottom: 0; }

	.do-h1 { font-size: 42px; }
	.do-cd__digits,
	.do-cd__sep { font-size: 40px; }

	.do-foot__grid > .do-foot__cell {
		padding-left: 0;
		padding-right: 0;
	}
	.do-foot__cell--partners { padding-left: 0; }

	.do-hero__content { padding-bottom: 40px; }
	.do-hero__lead { grid-column: span 1; }

	.do-guest__ini { font-size: 44px; }
	.do-guest__body { padding: 14px 14px 18px; }
	.do-guest__name { font-size: 15px; }

	.do-band__quote { padding-top: clamp(32px, 8vw, 48px); }

	.do-fields { grid-template-columns: 1fr; }
	.do-formcard__foot { gap: 14px; }
	.do-formcard__foot .do-btn { width: 100%; }
	.do-formcard__foot .do-btn__in {
		width: 100%;
		justify-content: space-between;
	}

	.do-menu__link { font-size: 26px; }
	.do-page { padding: 110px 0 60px; }
}

/* -------------------------------------------------------------- ≤ 420 px */

@media (max-width: 420px) {
	.do-cd__digits,
	.do-cd__sep { font-size: 32px; }
	.do-cd__groups { gap: 8px; }
	.do-cd__group { gap: 8px; }
	.do-guests { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.do-foot__links { grid-template-columns: 1fr; }
}

/* Druk — prosty, czytelny układ. */
@media print {
	.do-nav,
	.do-menu,
	.do-hero__terrain,
	.do-map,
	.do-map__fade,
	.do-foot__cta { display: none !important; }
	body { background: #fff; color: #000; }
	.do-sec--dark { background: #fff; color: #000; }
}
