/*
 * Autumn Ads Contact Experience — responsive layer.
 * Mobile is composed separately: the pin sits in the upper third, the
 * contact layers rise from the lower edge, connected by a vertical line.
 */

@media (max-width: 1180px) {
	.aa-contact__info { width: min(400px, 38vw); }
	.aa-contact__chapters { width: min(620px, 56vw); }
}

/* Tall / portrait and small screens ------------------------------------ */
@media (max-width: 819px), (max-aspect-ratio: 21/20) {
	.aa-contact { --aa-journey: 560vh; --aa-gutter: 20px; --aa-bottom-nav: 96px; }

	.aa-contact__hero {
		left: var(--aa-gutter); right: var(--aa-gutter);
		bottom: calc(var(--aa-bottom-nav, 0px) + max(24px, env(safe-area-inset-bottom)));
		max-width: none;
	}
	.aa-contact__title { font-size: clamp(40px, 11.5vw, 72px); margin-top: 18px; }
	.aa-contact__lede { margin-top: 18px; font-size: 15px; }
	.aa-contact__cue { margin-top: 24px; }
	.aa-contact__cue-line { height: 30px; }

	.aa-contact__chapters {
		left: var(--aa-gutter); right: var(--aa-gutter); width: auto;
		bottom: calc(var(--aa-bottom-nav, 0px) + max(24px, env(safe-area-inset-bottom)));
		height: 7em;
	}
	.aa-contact__chapter { column-gap: 12px; row-gap: 8px; }
	.aa-contact__chapter-title { font-size: clamp(30px, 10vw, 54px); }
	.aa-contact__chapter-meta { font-size: 10px; letter-spacing: 0.2em; }
	/* once the contact layers arrive, the final chapter yields entirely */
	.aa-contact__chapter:last-child.is-active { opacity: calc(1 - var(--aa-info, 0)); }

	.aa-contact__hud {
		top: calc(var(--aa-header-height) + 84px);
		right: var(--aa-gutter);
		gap: 5px; font-size: 9.5px; letter-spacing: 0.18em;
	}
	.aa-contact__hud > div { grid-template-columns: 30px auto; }
	.aa-contact__hud dd { min-width: 12ch; }

	.aa-contact__rail { display: none; }

	.aa-contact__pin-label { left: 12px; bottom: 50px; }
	.aa-contact__pin-stem { height: 54px; }
	.aa-contact__pin-name { font-size: 13px; }
	/* on touch the call to action is always visible — no hover dependency */
	.aa-contact__pin-cta > span:first-child { display: none; }
	.aa-contact__pin-cta > span:nth-child(2) { position: static; transform: none; opacity: 1; }

	.aa-contact__info {
		left: var(--aa-gutter); right: var(--aa-gutter); top: auto; width: auto;
		bottom: calc(var(--aa-bottom-nav, 0px) + max(14px, env(safe-area-inset-bottom)));
		transform: none;
		gap: 12px;
	}
	.aa-contact__place { font-size: clamp(24px, 7.4vw, 36px); margin-top: 8px; }
	.aa-contact__address-text { font-size: 12.5px; margin-top: 8px; line-height: 1.45; }
	.aa-contact__coords { display: none; }
	.aa-contact__line { grid-template-columns: 62px minmax(0, 1fr); padding: 9px 0; gap: 8px; }
	.aa-contact__line .aa-contact__label span::after { display: none; }
	.aa-contact__line-link { font-size: 15px; overflow-wrap: normal; white-space: nowrap; }
	.aa-contact__line dd { gap: 8px; }
	.aa-contact__copy { padding: 5px 8px; font-size: 9px; letter-spacing: 0.18em; }
	.aa-contact__hours { gap: 9px; }
	.aa-contact__week li { height: 24px; font-size: 9.5px; border-radius: 6px; }
	.aa-contact__daytrack { margin: 2px 0 14px; }
	.aa-contact__hours-text { display: none; }
	.aa-contact__dock { gap: 12px; flex-wrap: nowrap; }
	.aa-contact__follow, .aa-contact__visit { gap: 9px; }
	.aa-contact__glass-row { gap: 9px; }
	.aa-contact__glass--icon { width: 46px; height: 46px; }
	.aa-contact__glass--pill { height: 46px; padding: 0 16px 0 13px; font-size: 10px; letter-spacing: 0.2em; gap: 8px; }
	.aa-contact__label { font-size: 10px; gap: 10px; }

	/* a soft floor for readability under the layers */
	.aa-contact__shade {
		background:
			radial-gradient(130% 100% at 50% 40%, transparent 55%, rgba(2, 3, 6, 0.5) 100%),
			linear-gradient(180deg, rgba(2, 3, 6, 0.6) 0%, transparent 16%, transparent 46%, rgba(2, 3, 6, calc(0.25 + var(--aa-p) * 0.55)) 72%, rgba(2, 3, 6, 0.9) 100%);
	}
	.aa-contact__onward { display: none; }

	.aa-contact__connect-grid { grid-template-columns: 1fr; }
	.aa-contact__social-link { grid-template-columns: 34px minmax(0, 1fr) 44px; }
	.aa-contact__social-handle { display: none; }
	.aa-contact__social-name { font-size: clamp(28px, 9vw, 44px); }
	.aa-contact__social-arrow { width: 40px; height: 40px; }

	.aa-contact__cta-title { font-size: clamp(40px, 12vw, 72px); }
	.aa-contact__reviews { padding: 96px 0 calc(var(--aa-bottom-nav, 0px) + 48px); }
	.aa-contact__planet { width: 64vw; right: auto; left: 50%; top: 40px; transform: translateX(-50%); }
	.aa-contact__reviews { padding-top: calc(64vw + 64px); }
	.aa-contact__ist { top: calc(var(--aa-header-height) + 84px); font-size: 9px; letter-spacing: 0.22em; }
	.aa-contact__reviews-top { max-width: none; gap: 26px; }
	.aa-contact__score { justify-content: start; }
	.aa-contact__score-num { font-size: 56px; }
	.aa-contact__score-actions { justify-content: flex-start; }
	.aa-contact__review { padding: 24px 22px 18px; }
	.aa-contact__review-text { font-size: 14.5px; }
	.aa-contact__reviews-track { grid-auto-columns: 80vw; gap: 14px; }
	.aa-contact__reviews-nav .is-nav { display: none; }
	.aa-contact__reviews-progress { flex: 1; }
	.aa-contact__reviews-credit { display: none; }
	.aa-contact__cta { padding-bottom: calc(var(--aa-bottom-nav, 0px) + 56px); }
	.aa-contact__credits { padding-bottom: calc(var(--aa-bottom-nav, 0px) + 20px); }
	.aa-contact__glass--cta { height: 62px; padding: 0 10px 0 26px; font-size: 13px; }
	.aa-contact__glass--cta i { width: 42px; height: 42px; }

	.aa-contact--static .aa-contact__stage { grid-template-columns: 1fr; }
	.aa-contact--static .aa-contact__info { grid-column: 1; grid-row: 2; }
	.aa-contact--static .aa-contact__pin-label { top: calc(var(--aa-pin-y) - 116px); }
}

/* Very short landscape phones */
@media (max-height: 520px) and (orientation: landscape) {
	.aa-contact__info { gap: 12px; }
	.aa-contact__place { font-size: 26px; }
	.aa-contact__address-text { display: none; }
	.aa-contact__hud { display: none; }
}

@media (max-width: 380px) {
	.aa-contact__address-text span:nth-child(n+3) { display: none; }
	.aa-contact__dock { flex-wrap: wrap; }
}
