/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1280px) {
	:root { --f-gutter: 32px; }
	.f-cflow__nav--prev { left: 0; }
	.f-cflow__nav--next { right: 0; }
	.f-work__grid { gap: 40px 34px; }
}

@media (max-width: 1100px) {
	.f-nav__list a { padding: 9px 13px; }
	.f-tree { height: auto; display: flex; flex-direction: column; align-items: center; gap: 0; }
	.f-tree__lines { display: none; }
	.f-tree__center { position: relative; left: auto; margin: 0 0 60px; }
	.f-tree__row { position: relative; top: auto !important; display: grid; grid-template-columns: repeat(2, 1fr); gap: 54px 24px; width: 100%; }
	.f-tree__row--bottom { margin-top: 54px; }
	.f-tree__row .f-feature { grid-column: auto !important; margin: 0; }
	.f-tree__row--top .f-feature:nth-child(3) { grid-column: 1 / -1 !important; max-width: 50%; justify-self: center; width: 100%; }
	.f-awards__box { flex-direction: column; text-align: center; gap: 26px; }
	.f-awards__title { max-width: none; }
	.f-awards__divider { width: 60%; height: 1px; align-self: center; margin: 0; background: linear-gradient(90deg, transparent, rgba(235,228,202,.45), transparent); }
	.f-awards__list { flex-wrap: wrap; justify-content: center; width: 100%; }
	.f-awards__item { flex: 0 0 calc(33.33% - 18px); }
	.f-work__grid { grid-template-columns: repeat(3, 1fr); }
	.f-contact__grid { grid-template-columns: 1fr; gap: 30px; }
	.f-contact__art img { max-width: 340px; }
	.f-row, .f-row--rev { grid-template-columns: 1fr 1fr; gap: 36px; padding: 24px 36px 24px 24px; }
	.f-row--rev { padding: 24px 24px 24px 36px; }
	.f-lphero__grid { grid-template-columns: 1fr; gap: 50px; }
	.f-lphero__scroll { display: none; }
	.f-lpsvc__head, .f-lpsvc__grid { grid-template-columns: 1fr; gap: 30px; }
	.f-lpsvc__media { min-height: 420px; }
	.f-lpnav__grid { grid-template-columns: 1fr; gap: 40px; }
	.f-lpstrip__inner { flex-direction: column; align-items: flex-start; }
	.f-step { width: 82%; }
	.f-footer__top { grid-template-columns: 1fr 1fr; }
	.f-posts__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 960px) {
	:root { --f-header-h: 78px; }
	.f-nav { display: none; }
	.f-burger { display: block; }
	.f-header__logo .f-logo { height: 46px; }
	.f-btn--header { display: none; }
	.f-cflow__card { width: 300px; height: 440px; margin-left: -150px; }
	.f-cflow__stage { height: 450px; }
}

@media (min-width: 961px) {
	.f-mobile-menu { display: none; }
}

@media (max-width: 782px) {
	.admin-bar .f-header { top: 46px; }
}

@media (max-width: 767px) {
	:root { --f-gutter: 20px; }
	body { font-size: 15px; }
	.f-head { margin-bottom: 40px; }
	.f-pill { font-size: 15px; padding: 8px 18px; margin-bottom: 22px; }

	/* Hero */
	.f-hero { padding-bottom: 50px; }
	.f-hero__stage { padding-top: calc(var(--f-header-h) + 70px); }
	.f-hero--compact .f-hero__stage { padding-top: calc(var(--f-header-h) + 80px); }
	.f-hero__title { font-size: clamp(36px, 11vw, 56px); }
	.f-hero__line { font-size: 17px; }
	.f-hero__arc { width: 1000px; }
	.f-hero__scroll { width: 78px; height: 78px; margin-top: 70px; }
	.f-hero__scroll .f-ico { font-size: 36px; }
	.f-hero__arc { bottom: 39px; }
	.f-hero__btn-wrap { margin-top: 40px; }
	.f-btn--wide { min-width: 220px; font-size: 16px; }
	.f-hero__logos { flex-wrap: wrap; justify-content: center; gap: 24px 30px; margin-top: 36px; }
	.f-hero__logo { flex: 0 0 calc(33% - 30px); height: 36px; }
	.f-hero__logo img { max-height: 30px; }

	/* Intro */
	.f-intro { padding: 80px 0 90px; }
	.f-intro__card { padding: 36px 22px; border-radius: 30px; }
	.f-intro__card p { font-size: 15px; }
	.f-tree { margin-top: 50px; }
	.f-tree__row { grid-template-columns: 1fr; gap: 50px; }
	.f-tree__row--top .f-feature:nth-child(3) { max-width: none; }
	.f-feature { min-height: 110px; padding: 40px 30px 24px; }
	.f-feature h4 { font-size: 19px; }

	/* Awards */
	.f-awards { padding-bottom: 70px; }
	.f-awards__box { padding: 30px 20px; }
	.f-awards__item { flex: 0 0 calc(33.33% - 14px); }
	.f-awards__item img { max-width: 84px; }

	/* Services coverflow */
	.f-svc { padding: 60px 0 80px; }
	.f-cflow__stage { height: 430px; }
	.f-cflow__card { width: 270px; height: 420px; margin-left: -135px; }
	.f-cflow__panel { padding: 28px 22px 22px; }
	.f-cflow__panel h3 { font-size: 25px; }
	.f-cflow__nav { top: auto; bottom: -78px; transform: none; width: 48px; height: 48px; }
	.f-cflow__nav:hover { transform: scale(1.06); }
	.f-cflow__nav--prev { left: 0; }
	.f-cflow__nav--next { right: 0; }
	.f-cflow .f-dots { margin-top: 50px; padding: 0 60px; }

	/* Work */
	.f-work { padding: 70px 0 90px; }
	.f-work__pre { font-size: 26px; }
	.f-tabs { gap: 10px; margin-bottom: 40px; }
	.f-tabs__tab { min-width: 0; padding: 9px 18px; font-size: 14px; }
	.f-work__grid { grid-template-columns: repeat(2, 1fr); gap: 26px 18px; }
	.f-book__frame { padding: 10px 10px 8px; border-radius: 16px; }
	.f-book__name { font-size: 12px; }
	.f-work__rings { width: 700px; height: 700px; margin-left: -350px; }

	/* Reviews */
	.f-reviews { padding: 70px 0 90px; }
	.f-tcar__track { height: 400px; }
	.f-tcard { padding: 34px 24px 28px; min-height: 380px; }
	.f-tcard__text { font-size: 15px; }
	.f-tcard__rule { width: 180px; }
	.f-star .f-ico { font-size: 24px; }
	.f-star.is-mid .f-ico { font-size: 30px; }
	.f-star.is-big .f-ico { font-size: 38px; }
	.f-reviews .f-dots { margin-top: 40px; }

	/* Forms */
	.f-form__grid { grid-template-columns: 1fr; gap: 16px; }
	.f-contact { padding: 60px 0 80px; }
	.f-contact__card { padding: 30px 20px 30px; border-radius: 24px; }
	.f-form--card { padding: 30px 20px 24px; }

	/* FAQ */
	.f-faq { padding: 60px 0 90px; }
	.f-acc { gap: 14px; }
	.f-acc__q { padding: 20px; }
	.f-acc__a-inner { padding: 0 20px 22px; }

	/* About */
	.f-who { padding: 80px 0; }

	/* Service rows */
	.f-rows { padding: 50px 0 20px; }
	.f-row, .f-row--rev { grid-template-columns: 1fr; gap: 0; padding: 0; margin-bottom: 60px; min-height: 0; }
	.f-row__panel { inset: 110px 0 0 0; border-radius: 24px; }
	.f-row--rev .f-row__media { order: 0; }
	.f-row__media { padding: 0 18px; }
	.f-row__body, .f-row--rev .f-row__body { padding: 30px 24px 70px; text-align: left; align-items: flex-start; }
	.f-row--rev .f-row__rule { background: linear-gradient(90deg, rgba(255,255,255,.7), transparent); transform-origin: left; }
	.f-row__text { font-size: 15px; }
	.f-row__blob { width: 90px; }

	/* Landing */
	.f-lphero { padding-top: calc(var(--f-header-h) + 40px); }
	.f-lpsvc__list { grid-template-columns: 1fr; gap: 28px; }
	.f-lpsvc__media { min-height: 340px; }
	.f-lpcta__card { padding: 44px 20px; border-radius: 30px; }
	.f-lpcta__row { gap: 12px; flex-wrap: wrap; }
	.f-lpcta__line { width: 50px; }
	.f-lpnav { padding: 60px 0; }
	.f-lpstrip__links a { font-size: 16px; word-break: break-all; }
	.f-process { padding: 70px 0 80px; }
	.f-steps__path { display: none; }
	.f-step, .f-step--right { width: 100%; flex-direction: column; align-items: center; text-align: center; align-self: auto; }
	.f-step__img { width: 180px; height: 124px; }
	.f-step__bubble, .f-step--right .f-step__bubble { margin: -30px 0 0; padding: 46px 24px 24px; border-radius: 28px; }
	.f-step__num, .f-step--right .f-step__num { left: 50%; right: auto; transform: translateX(-50%); top: -12px; display: none; }
	.f-consult { padding: 70px 0 40px; }
	.f-consult__map { width: 140%; right: -40%; opacity: .2; }

	/* Footer */
	.f-footer { padding-top: 70px; }
	.f-footer__top { grid-template-columns: 1fr 1fr; gap: 40px 24px; }
	.f-footer__brand, .f-footer__news { grid-column: 1 / -1; }
	.f-footer__arc { height: 200px; margin-top: 50px; }
	.f-footer__arc-glow, .f-footer__arc-line { width: 1100px; }
	.f-footer__bottom { margin-top: -110px; font-size: 13px; }
	.f-newsletter__btn { padding: 11px 22px; }

	.f-posts__grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
	.f-hero__logo { flex: 0 0 calc(50% - 30px); }
	.f-awards__item { flex: 0 0 calc(50% - 14px); }
	.f-work__grid { gap: 20px 14px; }
	.f-btns .f-btn { flex: 1 1 100%; }
}
