/* ==================================================================
 * widgets.css — QB sections (front page + any Elementor page using QB widgets).
 * Loaded via qaf_view_uses_widgets() and each widget's get_style_depends().
 * ================================================================== */

/* ------------------------------------------------ Hero */
.qaf-hero {
	position: relative;
	display: flex;
	min-block-size: clamp(620px, 53vw, 760px);
	background: var(--qaf-ink);
	color: var(--qaf-on-dark);
	overflow: hidden;
	isolation: isolate;
}
.qaf-hero__slides {
	position: absolute;
	inset: -8% 0 0;
	z-index: -3;
	overflow: hidden;
	background: var(--qaf-ink);
	transform: translate3d(0, var(--qaf-parallax, 0px), 0);
	will-change: transform;
}
.qaf-hero .qaf-hero__media {
	position: absolute;
	inset: 0;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1.3s var(--qaf-ease-out), visibility 0s linear 1.3s;
}
.qaf-hero .qaf-hero__media.is-active { z-index: 2; opacity: 1; visibility: visible; transition-delay: 0s; }
.qaf-hero .qaf-hero__media.is-leaving { z-index: 1; opacity: 1; visibility: visible; transition: none; }
.qaf-hero .qaf-hero__media::after { content: ""; position: absolute; inset: 0; background: var(--qaf-ink); opacity: 0; transition: opacity 1.2s var(--qaf-ease-out); pointer-events: none; }
.qaf-hero .qaf-hero__media.is-leaving::after { opacity: .55; }
.qaf-hero .qaf-hero__img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	transform: scale(1.1);
	transition: transform 2.6s var(--qaf-ease-out);
	will-change: transform;
}
/* Ken Burns: the active image keeps settling for the whole slide */
.qaf-hero.is-live .qaf-hero__media.is-active .qaf-hero__img { transform: scale(1.015); transition: transform calc(var(--qaf-slide-ms, 7000ms) + 2400ms) cubic-bezier(.2, .6, .35, 1); }
.qaf-hero .qaf-hero__media.is-leaving .qaf-hero__img { transform: scale(1.06); transition: transform 1.4s var(--qaf-ease-out); }
html:not(.qaf-js) .qaf-hero .qaf-hero__img, body:not(.qaf-anim-on) .qaf-hero .qaf-hero__img { transform: none; }

/* Gold light sweep that rides the wipe edge */
.qaf-hero__sweep {
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	z-index: 3;
	inline-size: 2px;
	background: linear-gradient(to bottom, transparent, var(--qaf-primary) 30%, #f1d98c 50%, var(--qaf-primary) 70%, transparent);
	box-shadow: 0 0 24px 4px rgba(var(--qaf-primary-rgb), .45);
	opacity: 0;
	pointer-events: none;
	will-change: transform, opacity;
}

.qaf-hero__shade {
	position: absolute;
	inset: 0;
	z-index: -2;
	background: linear-gradient(255deg, rgba(var(--qaf-ink-rgb), .34) 0%, rgba(var(--qaf-ink-rgb), .9) 58%, rgba(var(--qaf-ink-rgb), .97) 100%);
}
.qaf-hero .qaf-lines { z-index: -1; opacity: .5; background-image: linear-gradient(to right, rgba(var(--qaf-primary-rgb), .12) 1px, transparent 1px); }

.qaf-hero__in {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 56px;
	padding-block-start: clamp(64px, 7.5vw, 108px);
}
.qaf-hero__content {
	display: flex;
	flex-direction: column;
	gap: 30px;
	max-inline-size: 800px;
}
.qaf-hero__stage { display: grid; }
.qaf-hero__content { grid-area: 1 / 1; }
.qaf-hero__content:not(.is-active) { visibility: hidden; pointer-events: none; }

/* ------ Slide copy choreography (armed only when JS runs; first slide stays readable without JS) */
@keyframes qaf-hero-failsafe { to { opacity: 1; transform: none; filter: none; } }
.qaf-js .qaf-anim-on .qaf-hero .qaf-w,
.qaf-js .qaf-anim-on .qaf-hero .qaf-hero__eyebrow,
.qaf-js .qaf-anim-on .qaf-hero .qaf-hero__text,
.qaf-js .qaf-anim-on .qaf-hero .qaf-hero__actions {
	opacity: 0;
	animation: qaf-hero-failsafe .01s linear 4s forwards;
}
.qaf-js .qaf-anim-on .qaf-hero .qaf-hero__rule span { transform: scaleX(0); animation: qaf-hero-failsafe .01s linear 4s forwards; }
.qaf-js .qaf-anim-on .qaf-hero.is-armed :is(.qaf-w, .qaf-hero__eyebrow, .qaf-hero__text, .qaf-hero__actions, .qaf-hero__rule span) { animation: none; }

.qaf-js .qaf-anim-on .qaf-hero .qaf-w {
	display: inline-block;
	transform: translate3d(0, .55em, 0);
	filter: blur(10px);
	transition: opacity .9s var(--qaf-ease-out), transform 1.25s var(--qaf-ease-out), filter 1.1s var(--qaf-ease-out);
	transition-delay: calc(var(--qaf-i, 0) * 60ms + 160ms);
}
.qaf-js .qaf-anim-on .qaf-hero .qaf-hero__eyebrow { transform: translate3d(0, 14px, 0); transition: opacity .9s var(--qaf-ease-out), transform 1.1s var(--qaf-ease-out); }
.qaf-js .qaf-anim-on .qaf-hero .qaf-hero__eyebrow .qaf-eyebrow__rule { transform: scaleX(0); transform-origin: var(--qaf-origin-start, left) center; transition: transform 1.2s var(--qaf-ease-out) .1s; }
.qaf-js .qaf-anim-on .qaf-hero .qaf-hero__rule span { transform-origin: var(--qaf-origin-start, left) center; transition: transform 1.3s var(--qaf-ease-out) .55s; }
.qaf-js .qaf-anim-on .qaf-hero .qaf-hero__rule span + span { transition-delay: .7s; }
.qaf-js .qaf-anim-on .qaf-hero .qaf-hero__text { transform: translate3d(0, 18px, 0); transition: opacity 1s var(--qaf-ease-out) .62s, transform 1.2s var(--qaf-ease-out) .62s; }
.qaf-js .qaf-anim-on .qaf-hero .qaf-hero__actions { transform: translate3d(0, 18px, 0); transition: opacity 1s var(--qaf-ease-out) .78s, transform 1.2s var(--qaf-ease-out) .78s; }

.qaf-js .qaf-anim-on .qaf-hero .is-in :is(.qaf-w, .qaf-hero__eyebrow, .qaf-hero__text, .qaf-hero__actions) { opacity: 1; transform: none; filter: none; }
.qaf-js .qaf-anim-on .qaf-hero .is-in .qaf-eyebrow__rule,
.qaf-js .qaf-anim-on .qaf-hero .is-in .qaf-hero__rule span { transform: none; }

/* Leaving: quick, soft, upward — text never overlaps the next slide's entrance */
.qaf-js .qaf-anim-on .qaf-hero .is-out .qaf-w { opacity: 0; transform: translate3d(0, -.4em, 0); filter: blur(8px); transition: opacity .45s var(--qaf-ease-io), transform .55s var(--qaf-ease-io), filter .45s; transition-delay: calc(var(--qaf-i, 0) * 18ms); }
.qaf-js .qaf-anim-on .qaf-hero .is-out :is(.qaf-hero__eyebrow, .qaf-hero__text, .qaf-hero__actions) { opacity: 0; transform: translate3d(0, -10px, 0); transition: opacity .4s var(--qaf-ease-io), transform .5s var(--qaf-ease-io); transition-delay: 0s; }
.qaf-js .qaf-anim-on .qaf-hero .is-out .qaf-hero__rule span { transform: scaleX(0); transition: transform .5s var(--qaf-ease-io); }

/* ------ Controls */
.qaf-hero__controls { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 34px); margin-block-start: auto; }
.qaf-hero__counter { display: flex; align-items: baseline; gap: 8px; font-family: var(--qaf-font-num); color: var(--qaf-on-dark-2); direction: ltr; }
.qaf-hero__num { position: relative; display: inline-block; overflow: hidden; block-size: 1.15em; font-size: 26px; line-height: 1.15; color: var(--qaf-primary); min-inline-size: 1.6em; }
.qaf-hero__digits { display: block; transition: transform .8s var(--qaf-ease-out), opacity .6s var(--qaf-ease-out), filter .6s; }
.qaf-hero__digits.is-leaving { position: absolute; inset-inline-start: 0; inset-block-start: 0; }
.qaf-hero__of { font-size: 13px; opacity: .6; }
.qaf-hero__total { font-size: 13px; letter-spacing: .08em; }
.qaf-hero__bars { display: flex; gap: 8px; flex: 1; max-inline-size: 340px; }
.qaf-hero__bar { position: relative; flex: 1; block-size: 22px; }
.qaf-hero__bar::before, .qaf-hero__bar span { content: ""; position: absolute; inset-inline: 0; inset-block-start: 50%; block-size: 2px; margin-block-start: -1px; }
.qaf-hero__bar::before { background: rgba(var(--qaf-primary-rgb), .22); transition: background-color .4s; }
.qaf-hero__bar:hover::before { background: rgba(var(--qaf-primary-rgb), .45); }
.qaf-hero__bar span { background: var(--qaf-primary); transform: scaleX(0); transform-origin: var(--qaf-origin-start, left) center; }
.qaf-hero__bar.is-done span { transform: scaleX(1); }
.qaf-hero__bar.is-active span { animation: qaf-hero-progress var(--qaf-slide-ms, 7000ms) linear forwards; }
.qaf-hero.is-paused .qaf-hero__bar.is-active span { animation-play-state: paused; }
.qaf-hero.is-static .qaf-hero__bar.is-active span { animation: none; transform: scaleX(1); }
@keyframes qaf-hero-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.qaf-hero__arrows { display: flex; gap: 10px; }
.qaf-hero__arrow {
	display: grid;
	place-items: center;
	inline-size: 48px;
	block-size: 48px;
	border: 1px solid rgba(var(--qaf-primary-rgb), .38);
	border-radius: 50%;
	color: var(--qaf-primary);
	background: rgba(var(--qaf-dark-rgb), .35);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	transition: background-color .5s var(--qaf-ease-out), color .5s, border-color .5s, transform .6s var(--qaf-ease-out);
}
.qaf-hero__arrow:hover { background: var(--qaf-primary); color: var(--qaf-ink); border-color: var(--qaf-primary); transform: scale(1.06); }
.qaf-hero__arrow:active { transform: scale(.96); }
.qaf-hero--slider .qaf-hero__in { gap: 34px; }
.qaf-hero--slider .qaf-plinth { margin-block-start: 0; }

.qaf-hero__title {
	font-size: var(--qaf-h1);
	line-height: 1.18;
	color: var(--qaf-paper);
}
.qaf-hero__text {
	max-inline-size: 640px;
	font-size: clamp(14.5px, 1.25vw, 18px);
	line-height: 2.15;
	color: var(--qaf-on-dark);
}
.qaf-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-block-start: 8px; }

.qaf-plinth {
	display: grid;
	grid-template-columns: repeat(var(--qaf-cols, 4), minmax(0, 1fr));
	background: rgba(var(--qaf-dark-rgb), .9);
	border: 1px solid var(--qaf-gold-line);
	border-block-end: 0;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.qaf-plinth__item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 30px 36px;
	border-inline-end: 1px solid rgba(var(--qaf-primary-rgb), .22);
	transition: background-color .7s var(--qaf-ease-out);
}
.qaf-plinth__item:last-child { border-inline-end: 0; }
.qaf-plinth__item:hover { background: rgba(var(--qaf-primary-rgb), .05); }
.qaf-plinth__num {
	font-family: var(--qaf-font-num);
	font-size: clamp(26px, 2.64vw, 38px);
	line-height: 1;
	color: var(--qaf-primary);
	font-variant-numeric: tabular-nums;
	text-align: start;
}
.qaf-plinth__num em { font-style: normal; color: var(--qaf-on-dark-3); }
.qaf-plinth__label { font-size: 13px; color: var(--qaf-on-dark-2); line-height: 1.6; }

/* ------------------------------------------------ 01 Statement */
.qaf-statement { padding-block: clamp(60px, 8.3vw, 120px) clamp(56px, 7.6vw, 110px); }
.qaf-statement .qaf-chapter__body { gap: 36px; }
.qaf-statement__title {
	max-inline-size: 880px;
	font-size: clamp(26px, 3.06vw, 44px);
	line-height: 1.45;
}
.qaf-statement__cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 3.75vw, 54px);
	padding-block-start: 34px;
	border-block-start: 1px solid var(--qaf-line);
}
.qaf-statement__cols p { font-size: 16.5px; line-height: 2.3; color: var(--qaf-body); }
.qaf-statement__cols p + p { color: var(--qaf-body); }

/* ------------------------------------------------ 02 Companies */
.qaf-brands {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
	align-items: stretch;
}
.qaf-brand {
	--qaf-mx: 50%;
	--qaf-my: 0%;
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--qaf-dark-2);
	border: 1px solid rgba(var(--qaf-primary-rgb), .26);
	border-block-start: 3px solid var(--qaf-accent);
	border-radius: var(--qaf-radius);
	color: inherit;
	overflow: hidden;
	isolation: isolate;
	transition: transform .9s var(--qaf-ease-out), border-color .8s var(--qaf-ease-out), box-shadow .9s var(--qaf-ease-out);
}
.qaf-brand__glow {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(420px circle at var(--qaf-mx) var(--qaf-my), color-mix(in srgb, var(--qaf-accent) 16%, transparent), transparent 70%);
	opacity: 0;
	transition: opacity .8s var(--qaf-ease-out);
	pointer-events: none;
}
.qaf-brand:hover { transform: translate3d(0, -6px, 0); border-color: color-mix(in srgb, var(--qaf-accent) 55%, transparent); box-shadow: 0 30px 60px rgba(0, 0, 0, .35); }
.qaf-brand:hover .qaf-brand__glow { opacity: 1; }

.qaf-brand__frame { padding: 10px; }
.qaf-brand__media {
	position: relative;
	block-size: clamp(280px, 27.8vw, 400px);
	border: 1px solid rgba(var(--qaf-primary-rgb), .2);
	overflow: hidden;
	background: var(--qaf-ink);
}
.qaf-brand__media img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	transform: scale(1.02);
	filter: saturate(.92);
	transition: transform 1.8s var(--qaf-ease-out), filter 1.2s var(--qaf-ease-out);
}
.qaf-brand__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .12) 50%, transparent 65%);
	transform: translateX(-110%);
	transition: transform 1.4s var(--qaf-ease-out);
	pointer-events: none;
}
.qaf-brand:hover .qaf-brand__media img { transform: scale(1.08); filter: saturate(1.05); }
.qaf-brand:hover .qaf-brand__media::after { transform: translateX(110%); }

.qaf-brand__body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	gap: 18px;
	padding: 30px 30px 34px;
}
.qaf-brand__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.qaf-brand__names { display: flex; flex-direction: column; gap: 7px; min-inline-size: 0; }
.qaf-brand__title { font-size: clamp(28px, 2.5vw, 36px); line-height: 1.25; color: var(--qaf-paper); }
.qaf-brand__sector { font-family: var(--qaf-font-num); font-size: 9.5px; letter-spacing: .32em; color: var(--qaf-primary); }
.qaf-brand__logo {
	display: grid;
	place-items: center;
	flex: none;
	inline-size: 62px;
	block-size: 62px;
	padding: 6px;
	border: 1px solid rgba(var(--qaf-primary-rgb), .34);
}
.qaf-brand__logo img { inline-size: 100%; block-size: 100%; object-fit: contain; filter: grayscale(1) brightness(1.4); opacity: .78; transition: filter .9s var(--qaf-ease-out), opacity .9s var(--qaf-ease-out); }
.qaf-brand:hover .qaf-brand__logo img { filter: none; opacity: 1; }
.qaf-brand__rule {
	display: block;
	inline-size: 72px;
	block-size: 2px;
	background: var(--qaf-accent);
	transform-origin: var(--qaf-origin-start, left) center;
	transition: inline-size 1s var(--qaf-ease-out);
}
.qaf-brand:hover .qaf-brand__rule { inline-size: 120px; }
.qaf-brand__text { min-block-size: 94px; font-size: 15px; line-height: 2.1; color: var(--qaf-on-dark); }
.qaf-brand__foot { display: flex; align-items: center; justify-content: space-between; margin-block-start: auto; padding-block-start: 18px; }
.qaf-brand__foot .qaf-link { font-size: 14px; padding-block-end: 8px; }
.qaf-brand__foot .qaf-link::after { display: none; }
.qaf-brand__index { font-family: var(--qaf-font-num); font-size: 12px; letter-spacing: .2em; color: color-mix(in srgb, var(--qaf-on-dark) 32%, var(--qaf-dark)); transition: color .8s var(--qaf-ease-out); }
.qaf-brand:hover .qaf-brand__index { color: var(--qaf-accent); }

/* ------------------------------------------------ 03 Capabilities */
.qaf-caps .qaf-chapter__body { gap: 40px; }
.qaf-caps .qaf-frame { border-color: var(--qaf-line-2); }
.qaf-caps__grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 40px; align-items: start; }
.qaf-caps__main .qaf-frame__media { block-size: clamp(320px, 32vw, 460px); }
.qaf-caps__side { display: flex; flex-direction: column; }
.qaf-caps .qaf-specs__row { border-color: var(--qaf-line-2); }
.qaf-caps .qaf-specs dt { color: var(--qaf-muted); }
.qaf-caps .qaf-specs dd { color: var(--qaf-ink); }
.qaf-caps__thumbs { display: flex; gap: 12px; margin-block-start: 22px; }
.qaf-caps__thumbs .qaf-frame { flex: 1; }
.qaf-caps__thumbs .qaf-frame__media { block-size: 140px; }

/* ------------------------------------------------ 04 Services */
.qaf-svc-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: var(--qaf-line);
	border: 1px solid var(--qaf-line);
}
.qaf-svc {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 44px 36px;
	background: var(--qaf-bg);
	color: inherit;
	overflow: hidden;
	transition: background-color .8s var(--qaf-ease-out);
}
.qaf-svc:hover { background: var(--qaf-paper); }
.qaf-svc__top { display: flex; align-items: center; justify-content: space-between; margin-block-end: 2px; }
.qaf-svc__icon { color: var(--qaf-primary); stroke-width: 1.15; transition: transform .9s var(--qaf-ease-out); }
.qaf-svc:hover .qaf-svc__icon { transform: translate3d(0, -3px, 0) scale(1.06); }
.qaf-svc__num { font-family: var(--qaf-font-num); font-size: 13px; color: color-mix(in srgb, var(--qaf-line) 70%, var(--qaf-muted)); transition: color .7s var(--qaf-ease-out); }
.qaf-svc:hover .qaf-svc__num { color: var(--qaf-primary); }
.qaf-svc__title { font-size: var(--qaf-h4); line-height: 1.4; color: var(--qaf-ink); }
.qaf-svc__text { font-size: 15px; line-height: 2.1; color: var(--qaf-muted-2); }
.qaf-svc__bar {
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	block-size: 2px;
	background: var(--qaf-primary);
	transform: scaleX(0);
	transform-origin: var(--qaf-origin-start, left) center;
	transition: transform 1s var(--qaf-ease-out);
}
.qaf-svc:hover .qaf-svc__bar { transform: scaleX(1); }

/* ------------------------------------------------ 05 Standards */
.qaf-standards .qaf-lines { opacity: .4; }
.qaf-rows { display: flex; flex-direction: column; }
.qaf-rows__item {
	display: grid;
	grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
	gap: clamp(16px, 3.5vw, 50px);
	padding-block: 40px;
	border-block-start: 1px solid rgba(var(--qaf-primary-rgb), .24);
	position: relative;
}
.qaf-rows__item:last-child { border-block-end: 1px solid rgba(var(--qaf-primary-rgb), .24); }
.qaf-rows__item::before {
	content: "";
	position: absolute;
	inset-block-start: -1px;
	inset-inline: 0;
	block-size: 1px;
	background: var(--qaf-primary);
	transform: scaleX(0);
	transform-origin: var(--qaf-origin-start, left) center;
	transition: transform 1.2s var(--qaf-ease-out);
}
.qaf-rows__item:hover::before { transform: scaleX(1); }
.qaf-rows__title { font-size: clamp(22px, 2.1vw, 30px); line-height: 1.45; color: var(--qaf-paper); }
.qaf-rows__text { font-size: 16.5px; line-height: 2.25; color: var(--qaf-on-dark); }

/* ------------------------------------------------ 06 News */
.qaf-news__list { display: flex; flex-direction: column; }
.qaf-news__item {
	position: relative;
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr) 200px 120px;
	gap: 36px;
	align-items: center;
	padding-block: 30px;
	border-block-start: 1px solid var(--qaf-line);
}
.qaf-news__item:last-child { border-block-end: 1px solid var(--qaf-line); }
.qaf-news__cover { position: absolute; inset: 0; z-index: 2; }
.qaf-news__thumb .qaf-frame__media { block-size: 90px; }
.qaf-news__main { display: flex; flex-direction: column; gap: 8px; }
.qaf-news__title {
	font-size: clamp(20px, 1.74vw, 25px);
	line-height: 1.5;
	color: var(--qaf-ink);
	background: linear-gradient(var(--qaf-primary), var(--qaf-primary)) no-repeat var(--qaf-origin-end, right) 100% / 0 1px;
	transition: background-size .9s var(--qaf-ease-out);
	inline-size: fit-content;
}
.qaf-news__item:hover .qaf-news__title { background-size: 100% 1px; background-position-x: var(--qaf-origin-start, left); }
.qaf-news__excerpt { font-size: 14px; color: var(--qaf-muted); line-height: 1.9; }
.qaf-news__meta { font-size: 13.5px; color: var(--qaf-muted); line-height: 1.7; }
.qaf-news__meta time { font-family: var(--qaf-font-num); font-size: 12.5px; }
.qaf-news__read { display: inline-flex; align-items: center; justify-content: flex-end; gap: 8px; font-size: 13.5px; color: var(--qaf-ink); font-weight: 400; }
.qaf-news__read .qaf-icon { color: var(--qaf-primary); transition: translate .6s var(--qaf-ease-out); }
.qaf-news__item:hover .qaf-news__read .qaf-icon { translate: calc(6px * var(--qaf-dir)) 0; }
.qaf-news__item:hover .qaf-frame__media img { transform: scale(1.08); }

/* ------------------------------------------------ 07 Branches */
.qaf-branches {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--qaf-bg-soft);
	border-block-start: 1px solid var(--qaf-line);
	--qaf-line: var(--qaf-line-2);
}
.qaf-branches__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 30px;
	padding-block: clamp(56px, 7vw, 100px);
	padding-inline: var(--qaf-gutter);
	max-inline-size: calc(var(--qaf-container) / 2);
	justify-self: end;
	inline-size: 100%;
}
.qaf-branches__head { display: flex; flex-direction: column; gap: 30px; }
.qaf-branches .qaf-plate { border-color: var(--qaf-line-2); }
.qaf-branches .qaf-h2 { font-size: clamp(28px, 3.06vw, 44px); line-height: 1.5; }

.qaf-branch-list { display: flex; flex-direction: column; }
.qaf-branch {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 160px;
	gap: 20px;
	align-items: center;
	inline-size: 100%;
	padding-block: 18px;
	padding-inline: 0;
	border-block-start: 1px solid var(--qaf-line-2);
	text-align: start;
	transition: padding .7s var(--qaf-ease-out), color .5s var(--qaf-ease-out);
}
.qaf-branch-list li:last-child .qaf-branch { border-block-end: 1px solid var(--qaf-line-2); }
.qaf-branch::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: 50%;
	inline-size: 8px;
	block-size: 8px;
	margin-block-start: -4px;
	background: var(--qaf-primary);
	transform: rotate(45deg) scale(0);
	transition: transform .6s var(--qaf-ease-out);
}
.qaf-branch:hover,
.qaf-branch.is-active { padding-inline-start: 22px; }
.qaf-branch.is-active::before,
.qaf-branch:hover::before { transform: rotate(45deg) scale(1); }
.qaf-branch__name { font-size: 15.5px; color: var(--qaf-ink); font-weight: 400; line-height: 1.6; }
.qaf-branch__hours { font-size: 13.5px; color: var(--qaf-muted); text-align: end; }
.qaf-branch.is-active .qaf-branch__name { font-weight: 500; }

.qaf-branches__map {
	position: relative;
	min-block-size: clamp(380px, 46vw, 660px);
	background-color: #d8d0c0;
	background-image: repeating-linear-gradient(135deg, rgba(var(--qaf-ink-rgb), .05) 0 2px, transparent 2px 13px);
	overflow: hidden;
}
.qaf-branches__frame {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	border: 0;
	filter: grayscale(1) sepia(.22) contrast(1.02) brightness(.98);
	opacity: 0;
	transition: opacity 1s var(--qaf-ease-out), filter 1.2s var(--qaf-ease-out);
}
.qaf-branches__frame.is-loaded { opacity: 1; }
.qaf-branches__map:hover .qaf-branches__frame { filter: grayscale(.35) sepia(.1); }
.qaf-branches__open {
	position: absolute;
	inset-block-end: 20px;
	inset-inline-start: 20px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	background: var(--qaf-ink);
	color: var(--qaf-bg);
	font-size: 13px;
	transition: background-color .5s var(--qaf-ease-out), color .5s var(--qaf-ease-out);
}
.qaf-branches__open:hover { background: var(--qaf-primary); color: var(--qaf-ink); }

/* ------------------------------------------------ CTA */
.qaf-cta {
	position: relative;
	padding-block: clamp(56px, 5.8vw, 84px);
	background: var(--qaf-ink);
	color: var(--qaf-on-dark);
	overflow: hidden;
	isolation: isolate;
}
.qaf-cta__in { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.qaf-cta__copy { display: flex; flex-direction: column; gap: 14px; }
.qaf-cta__title { font-size: clamp(24px, 2.64vw, 38px); line-height: 1.5; color: var(--qaf-paper); }
.qaf-cta__text { font-size: 15.5px; color: var(--qaf-on-dark-2); }
.qaf-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; flex: none; }

/* ------------------------------------------------ Responsive */
@media (max-width: 1180px) {
	.qaf-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.qaf-svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.qaf-news__item { grid-template-columns: 160px minmax(0, 1fr) 140px; }
	.qaf-news__read { display: none; }
	.qaf-caps__grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
	.qaf-hero { min-block-size: 620px; }
	.qaf-hero__shade { background: linear-gradient(0deg, rgba(var(--qaf-ink-rgb), .97) 22%, rgba(var(--qaf-ink-rgb), .78) 60%, rgba(var(--qaf-ink-rgb), .5) 100%); }
	.qaf-hero .qaf-lines { background-size: 25% 100%; background-position: 25% 0; }
	.qaf-hero__in { gap: 40px; padding-block-start: 64px; }
	.qaf-hero__content { gap: 20px; }
	.qaf-hero__title { line-height: 1.3; }
	.qaf-hero__actions { flex-direction: column; }
	.qaf-hero__actions .qaf-btn { inline-size: 100%; }
	.qaf-plinth { grid-template-columns: 1fr 1fr; }
	.qaf-hero__arrows { display: none; }
	.qaf-hero__bars { max-inline-size: none; }
	.qaf-hero__num { font-size: 22px; }
	.qaf-hero--slider .qaf-hero__in { gap: 24px; }
	.qaf-plinth__item { padding: 16px 18px; gap: 5px; }
	.qaf-plinth__item:nth-child(odd) { border-inline-end: 1px solid rgba(var(--qaf-primary-rgb), .22); }
	.qaf-plinth__item:nth-child(even) { border-inline-end: 0; }
	.qaf-plinth__item:nth-child(-n+2) { border-block-end: 1px solid rgba(var(--qaf-primary-rgb), .22); }
	.qaf-plinth__label { font-size: 11.5px; }

	.qaf-statement__cols { grid-template-columns: 1fr; gap: 16px; padding-block-start: 24px; }
	.qaf-statement__cols p { font-size: 15px; line-height: 2.25; }

	.qaf-brands { grid-template-columns: 1fr; gap: 18px; }
	.qaf-brand__body { padding: 22px 20px 26px; gap: 14px; }
	.qaf-brand__text { min-block-size: 0; }

	.qaf-svc-grid { grid-template-columns: 1fr; }
	.qaf-svc { padding: 22px 20px; gap: 9px; }

	.qaf-rows__item { grid-template-columns: 1fr; gap: 10px; padding-block: 26px; }
	.qaf-rows__text { font-size: 15px; }

	.qaf-news__item { grid-template-columns: 1fr; gap: 12px; padding-block: 20px; }
	.qaf-news__thumb { order: -1; }
	.qaf-news__thumb .qaf-frame__media { block-size: 180px; }
	.qaf-news__meta { order: -1; font-size: 12px; }
	.qaf-news__excerpt { display: none; }

	.qaf-branches { grid-template-columns: 1fr; }
	.qaf-branches__content { max-inline-size: none; justify-self: stretch; gap: 22px; }
	.qaf-branches__head { gap: 18px; }
	.qaf-branch { grid-template-columns: minmax(0, 1fr) auto; }
	.qaf-branches__map { min-block-size: 340px; }

	.qaf-cta__in { flex-direction: column; align-items: flex-start; gap: 26px; }
	.qaf-cta__actions { inline-size: 100%; flex-direction: column; }
	.qaf-cta__actions .qaf-btn { inline-size: 100%; }
}

@media (max-width: 520px) {
	.qaf-hero .qaf-eyebrow { gap: 12px; font-size: 9px; letter-spacing: .24em; white-space: nowrap; }
	.qaf-hero .qaf-eyebrow__rule { inline-size: 34px; }
}

/* Latin display type is wider than Naskh — tighten the English hero */
:lang(en) .qaf-hero__title { font-size: clamp(34px, 4.2vw, 60px); line-height: 1.12; letter-spacing: -.01em; }
:lang(en) .qaf-statement__title { line-height: 1.35; }

/* ==================================================================
 * v2.3 — About / Contact / Complaints sections
 * ================================================================== */

/* Page hero extras (centre + ghost word) */
.qaf-phero--center .qaf-phero__in, .qaf-phero--center .qaf-phero__main { align-items: center; text-align: center; }
.qaf-phero--center .qaf-crumbs { justify-content: center; }
.qaf-phero--center .qaf-phero__text { max-inline-size: 700px; margin-inline: auto; }
.qaf-phero__ghost {
	position: absolute;
	inset-inline-end: -30px;
	inset-block-start: 40px;
	z-index: -1;
	font-family: var(--qaf-font-h);
	font-weight: 700;
	font-size: clamp(140px, 18vw, 260px);
	line-height: 1;
	color: rgba(var(--qaf-primary-rgb), .045);
	white-space: nowrap;
	pointer-events: none;
	transform: translate3d(0, var(--qaf-ghost, 0px), 0);
}
.qaf-phero--stack .qaf-phero__title { max-inline-size: 900px; }

/* Section head (kicker + title) */
.qaf-sechead { display: flex; flex-direction: column; gap: 20px; margin-block-end: clamp(36px, 4vw, 58px); }
.qaf-sechead__title { font-size: clamp(32px, 3.5vw, 50px); line-height: 1.5; }

/* ------------------------------------------------ Story */
.qaf-story { display: grid; grid-template-columns: 1fr 1.05fr; background: var(--qaf-bg); overflow: hidden; }
.qaf-story__media { position: relative; padding-block: clamp(56px, 6.25vw, 90px); padding-inline-end: 40px; }
.qaf-story__frame { block-size: clamp(360px, 37.5vw, 540px); border-start-start-radius: 240px; overflow: hidden; isolation: isolate; }
.qaf-story__frame > * { border-radius: inherit; overflow: hidden; -webkit-mask-image: linear-gradient(#000, #000); mask-image: linear-gradient(#000, #000); }
.qaf-story__img { display: block; block-size: 100%; }
.qaf-story__img img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform 1.8s var(--qaf-ease-out); }
.qaf-story__media:hover img { transform: scale(1.04); }
.qaf-story__star { position: absolute; inset-block-end: 40px; inset-inline-end: 0; color: var(--qaf-primary); opacity: .5; animation: qaf-spin-slow 40s linear infinite; }
@keyframes qaf-spin-slow { to { transform: rotate(360deg); } }
.qaf-story__copy { display: flex; flex-direction: column; justify-content: center; gap: 26px; padding-block: clamp(56px, 6.25vw, 90px); padding-inline: var(--qaf-gutter); max-inline-size: calc(var(--qaf-container) * .52); }
.qaf-story__title { font-size: clamp(32px, 3.5vw, 50px); line-height: 1.55; }
.qaf-story__text { font-size: 16.5px; line-height: 2.25; font-weight: 300; color: var(--qaf-body); }
.qaf-story__text--muted { color: var(--qaf-muted-2); }

/* ------------------------------------------------ Timeline */
.qaf-timeline { padding-block: clamp(72px, 7.6vw, 110px); overflow: hidden; }
.qaf-timeline__list { position: relative; display: grid; grid-template-columns: repeat(var(--qaf-cols, 4), minmax(0, 1fr)); padding-block-start: 20px; }
.qaf-timeline__track { position: absolute; inset-inline: 0; inset-block-start: 7px; block-size: 1px; background: repeating-linear-gradient(to right, rgba(var(--qaf-primary-rgb), .45) 0 8px, transparent 8px 15px); }
.qaf-timeline__fill { position: absolute; inset: 0; background: var(--qaf-primary); transform: scaleX(0); transform-origin: var(--qaf-origin-start, left) center; transition: transform 2.4s var(--qaf-ease-io); }
.qaf-timeline.is-in .qaf-timeline__fill { transform: scaleX(1); }
.qaf-timeline__item { position: relative; display: flex; flex-direction: column; gap: 13px; padding: 30px 28px 0; opacity: 0; transform: translate3d(0, 18px, 0); transition: opacity 1s var(--qaf-ease-out), transform 1.1s var(--qaf-ease-out); transition-delay: calc(var(--qaf-i) * 380ms + 300ms); }
html:not(.qaf-js) .qaf-timeline__item, .qaf-timeline.is-in .qaf-timeline__item, .qaf-rm .qaf-timeline__item { opacity: 1; transform: none; }
.qaf-timeline__dot { position: absolute; inset-block-start: -18px; inset-inline-start: 50%; inline-size: 9px; block-size: 9px; margin-inline-start: -4.5px; border-radius: 50%; background: var(--qaf-primary); box-shadow: 0 0 0 0 rgba(var(--qaf-primary-rgb), .4); }
.qaf-timeline.is-in .qaf-timeline__dot { animation: qaf-ping 1.6s var(--qaf-ease-out) calc(var(--qaf-i) * 380ms + 300ms) 1 both; }
@keyframes qaf-ping { 0% { transform: scale(.4); box-shadow: 0 0 0 0 rgba(var(--qaf-primary-rgb), .5); } 60% { transform: scale(1.15); box-shadow: 0 0 0 12px rgba(var(--qaf-primary-rgb), 0); } 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(var(--qaf-primary-rgb), 0); } }
.qaf-timeline__year { font-family: var(--qaf-font-num); font-size: clamp(26px, 2.36vw, 34px); line-height: 1.3; color: var(--qaf-primary); }
:lang(ar) .qaf-timeline__year { font-family: var(--qaf-font-h); font-weight: 700; }
.qaf-timeline__title { font-size: clamp(21px, 1.75vw, 25px); line-height: 1.5; }
.qaf-timeline__text { font-size: 14.5px; line-height: 2.05; font-weight: 300; color: var(--qaf-muted-2); }

/* ------------------------------------------------ Vision */
.qaf-vision { background: var(--qaf-ink); border-block-start: 1px solid rgba(var(--qaf-primary-rgb), .16); }
.qaf-vision__grid { display: grid; grid-template-columns: 1fr 1fr; max-inline-size: var(--qaf-container); margin-inline: auto; }
.qaf-vision__col { position: relative; display: flex; flex-direction: column; gap: 20px; padding: clamp(56px, 5.5vw, 80px) var(--qaf-gutter); overflow: hidden; isolation: isolate; }
.qaf-vision__col + .qaf-vision__col { border-inline-start: 1px solid rgba(var(--qaf-primary-rgb), .16); }
.qaf-vision__col::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(420px circle at 50% 0%, rgba(var(--qaf-primary-rgb), .09), transparent 70%); opacity: 0; transition: opacity 1s var(--qaf-ease-out); }
.qaf-vision__col:hover::before { opacity: 1; }
.qaf-vision__icon { color: var(--qaf-primary); stroke-width: 1; }
.qaf-vision__title { font-size: clamp(28px, 2.5vw, 36px); color: var(--qaf-primary); }
.qaf-vision__text { max-inline-size: 560px; font-size: 16px; line-height: 2.2; font-weight: 300; color: var(--qaf-on-dark-2); }

/* ------------------------------------------------ Values */
.qaf-values { padding-block: clamp(72px, 7.6vw, 110px); }
.qaf-values__grid { display: grid; grid-template-columns: repeat(var(--qaf-cols, 3), minmax(0, 1fr)); gap: 1px; background: var(--qaf-line); border: 1px solid var(--qaf-line); }
.qaf-values__item { position: relative; display: flex; flex-direction: column; gap: 16px; padding: clamp(28px, 3vw, 44px) clamp(22px, 2.5vw, 36px); background: var(--qaf-bg); overflow: hidden; transition: background-color .8s var(--qaf-ease-out); }
.qaf-values__item:hover { background: var(--qaf-paper); }
.qaf-values__icon { color: var(--qaf-primary); stroke-width: 1.15; transition: transform 1s var(--qaf-ease-out); }
.qaf-values__item:hover .qaf-values__icon { transform: rotate(-8deg) scale(1.08); }
.qaf-values__item:hover .qaf-svc__bar { transform: scaleX(1); }
.qaf-values__title { font-size: clamp(22px, 1.9vw, 27px); line-height: 1.45; }
.qaf-values__text { font-size: 15px; line-height: 2.05; font-weight: 300; color: var(--qaf-muted-2); }

/* ------------------------------------------------ Brands strip */
.qaf-bstrip { background: var(--qaf-ink); }
.qaf-bstrip__grid { display: grid; grid-template-columns: repeat(var(--qaf-cols, 3), minmax(0, 1fr)); max-inline-size: var(--qaf-container); margin-inline: auto; }
.qaf-bstrip__item { position: relative; display: flex; flex-direction: column; align-items: center; gap: 15px; padding: clamp(44px, 4.3vw, 62px) 30px; text-align: center; overflow: hidden; isolation: isolate; }
.qaf-bstrip__item + .qaf-bstrip__item { border-inline-start: 1px solid rgba(var(--qaf-primary-rgb), .14); }
.qaf-bstrip__item::after { content: ""; position: absolute; inset-inline: 30%; inset-block-end: 0; block-size: 2px; background: var(--qaf-accent); transform: scaleX(0); transition: transform .9s var(--qaf-ease-out); }
.qaf-bstrip__item:hover::after { transform: scaleX(1); }
.qaf-bstrip__logo { display: grid; place-items: center; inline-size: 66px; block-size: 66px; padding: 6px; border: 1px solid rgba(var(--qaf-primary-rgb), .3); border-radius: 50%; transition: transform 1s var(--qaf-ease-out), border-color .8s; }
.qaf-bstrip__logo img { inline-size: 100%; block-size: 100%; object-fit: contain; border-radius: 50%; }
.qaf-bstrip__item:hover .qaf-bstrip__logo { transform: rotate(-10deg) scale(1.06); border-color: var(--qaf-accent); }
.qaf-bstrip__name { font-family: var(--qaf-font-h); font-weight: 700; font-size: clamp(24px, 2.1vw, 30px); line-height: 1.4; color: color-mix(in srgb, var(--qaf-accent) 82%, #fff); }
.qaf-bstrip__sub { font-size: 12.5px; color: var(--qaf-on-dark-2); }

/* ------------------------------------------------ Channels */
.qaf-channels { background: var(--qaf-line); border-block-end: 1px solid var(--qaf-line); }
.qaf-channels__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; }
.qaf-channels__item { display: flex; flex-direction: column; gap: 13px; padding: clamp(30px, 2.9vw, 42px) max(var(--qaf-gutter), 38px); background: var(--qaf-bg); color: inherit; transition: background-color .8s var(--qaf-ease-out); }
a.qaf-channels__item:hover { background: var(--qaf-paper); }
.qaf-channels__icon { color: var(--qaf-primary); stroke-width: 1.15; transition: transform .9s var(--qaf-ease-out); }
a.qaf-channels__item:hover .qaf-channels__icon { transform: translate3d(0, -3px, 0); }
.qaf-channels__title { font-family: var(--qaf-font-h); font-weight: 700; font-size: clamp(21px, 1.75vw, 25px); color: var(--qaf-ink); }
.qaf-channels__value { font-size: 15px; line-height: 1.85; color: var(--qaf-muted-2); }

/* ------------------------------------------------ Steps bar */
.qaf-stepsbar { background: var(--qaf-bg-soft); border-block-end: 1px solid var(--qaf-line); }
.qaf-stepsbar__grid { display: grid; grid-template-columns: repeat(var(--qaf-cols, 4), minmax(0, 1fr)); max-inline-size: var(--qaf-container); margin-inline: auto; counter-reset: none; }
.qaf-stepsbar__item { position: relative; display: flex; flex-direction: column; gap: 11px; padding: 40px 32px; }
.qaf-stepsbar__item + .qaf-stepsbar__item { border-inline-start: 1px solid var(--qaf-line); }
.qaf-stepsbar__item::before { content: ""; position: absolute; inset-inline: 0; inset-block-start: 0; block-size: 2px; background: var(--qaf-primary); transform: scaleX(0); transform-origin: var(--qaf-origin-start, left) center; transition: transform .9s var(--qaf-ease-out); }
.qaf-stepsbar__item.qaf-in::before { transform: scaleX(1); transition-delay: calc(var(--qaf-delay, 0ms) + 400ms); }
.qaf-stepsbar__num { font-family: var(--qaf-font-num); font-size: 12px; letter-spacing: .2em; color: var(--qaf-primary); }
.qaf-stepsbar__title { font-size: 22px; line-height: 1.5; }
.qaf-stepsbar__text { font-size: 13.5px; line-height: 2; font-weight: 300; color: var(--qaf-muted-2); }

/* ------------------------------------------------ Form sections */
.qaf-formsec { padding-block: clamp(56px, 5.5vw, 80px); }
.qaf-formsec__grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(28px, 3vw, 44px); align-items: start; }
.qaf-formsec__card { padding: clamp(24px, 3.2vw, 46px); background: #fff; border: 1px solid var(--qaf-line); }
.qaf-formsec__title { margin-block-end: 22px; font-size: clamp(26px, 2.36vw, 34px); line-height: 1.5; }
.qaf-formsec__side { position: sticky; inset-block-start: calc(var(--qaf-header-h) - var(--qaf-topbar-h) + 24px); display: flex; flex-direction: column; gap: 22px; }
.qaf-formsec__map { position: relative; block-size: 260px; background-color: #ded6c7; background-image: repeating-linear-gradient(135deg, rgba(var(--qaf-ink-rgb), .045) 0 2px, transparent 2px 12px); overflow: hidden; }

.qaf-bcontacts ul { display: flex; flex-direction: column; }
.qaf-bcontacts li { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "name phone" "mail phone"; gap: 5px 12px; align-items: center; padding-block: 18px; border-block-end: 1px solid rgba(var(--qaf-primary-rgb), .14); }
.qaf-bcontacts li:last-child { border-block-end: 0; padding-block-end: 0; }
.qaf-bcontacts__name { grid-area: name; font-family: var(--qaf-font-h); font-weight: 700; font-size: 23px; line-height: 1.4; color: color-mix(in srgb, var(--qaf-accent) 82%, #fff); transition: opacity .4s; }
.qaf-bcontacts__name:hover { opacity: .8; }
.qaf-bcontacts__mail { grid-area: mail; font-size: 12.5px; color: var(--qaf-on-dark-3); transition: color .4s; }
.qaf-bcontacts__phone { grid-area: phone; font-size: 12.5px; color: #b5ad98; white-space: nowrap; transition: color .4s; }
.qaf-bcontacts a:hover { color: var(--qaf-paper); }

.qaf-promo { color: inherit; gap: 13px; transition: background-color .7s var(--qaf-ease-out); }
.qaf-promo:hover { background: color-mix(in srgb, var(--qaf-bg-soft) 70%, #fff); }
.qaf-promo__text { font-size: 14.5px; line-height: 2.05; font-weight: 300; color: var(--qaf-muted-2); }
.qaf-promo__link { display: inline-flex; align-items: center; gap: 10px; margin-block-start: 4px; font-size: 13.5px; color: var(--qaf-ink); }
.qaf-promo__link .qaf-icon { color: var(--qaf-primary); transition: translate .7s var(--qaf-ease-out); }
.qaf-promo:hover .qaf-promo__link .qaf-icon { translate: calc(6px * var(--qaf-dir)) 0; }

.qaf-pledge__icon { color: var(--qaf-primary); stroke-width: 1.1; }
.qaf-pledge__title { font-size: 26px; line-height: 1.5; color: var(--qaf-primary); }
.qaf-pledge__text { font-size: 15px; line-height: 2.15; font-weight: 300; color: var(--qaf-on-dark-2); }
.qaf-direct { gap: 14px; }
.qaf-direct__row { display: inline-flex; align-items: center; gap: 11px; font-size: 14.5px; }
.qaf-direct__row .qaf-icon { color: var(--qaf-primary); }
.qaf-track { gap: 14px; }
.qaf-track .qaf-field input { background: #fff; }
.qaf-track__btn { inline-size: 100%; }
.qaf-track.is-sending .qaf-track__btn { opacity: .7; pointer-events: none; }
.qaf-track__result { padding: 12px 14px; border-inline-start: 3px solid #c0392b; background: rgba(192, 57, 43, .06); font-size: 14px; color: var(--qaf-ink); }
.qaf-track__result.is-ok { border-color: var(--qaf-primary); background: rgba(var(--qaf-primary-rgb), .1); }

.qaf-kinds { margin: 0 0 6px; padding: 0; border: 0; display: flex; flex-direction: column; gap: 10px; }
.qaf-kinds__opts { display: flex; flex-wrap: wrap; gap: 10px; }
.qaf-kind { position: relative; cursor: pointer; }
.qaf-kind input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.qaf-kind span { display: inline-block; padding: 12px 26px; border: 1px solid var(--qaf-line); font-size: 13.5px; color: var(--qaf-body); transition: background-color .5s var(--qaf-ease-out), color .5s, border-color .5s; }
.qaf-kind:hover span { border-color: var(--qaf-ink); }
.qaf-kind input:checked + span { background: var(--qaf-ink); border-color: var(--qaf-ink); color: var(--qaf-bg); }
.qaf-kind input:focus-visible + span { outline: 2px solid var(--qaf-primary); outline-offset: 2px; }

/* ------------------------------------------------ Responsive */
@media (max-width: 1100px) {
	.qaf-formsec__grid { grid-template-columns: 1fr; }
	.qaf-formsec__side { position: static; }
	.qaf-timeline__list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 30px; }
	.qaf-timeline__track { display: none; }
	.qaf-stepsbar__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.qaf-stepsbar__item:nth-child(odd) { border-inline-start: 0; }
	.qaf-stepsbar__item:nth-child(-n+2) { border-block-end: 1px solid var(--qaf-line); }
}
@media (max-width: 900px) {
	.qaf-story { grid-template-columns: 1fr; }
	.qaf-story__media { padding: 0; }
	.qaf-story__frame { block-size: 320px; border-start-start-radius: 160px; }
	.qaf-story__star { inline-size: 70px; block-size: 70px; inset-block-end: -20px; inset-inline-end: 20px; }
	.qaf-story__copy { max-inline-size: none; }
	.qaf-vision__grid { grid-template-columns: 1fr; }
	.qaf-vision__col + .qaf-vision__col { border-inline-start: 0; border-block-start: 1px solid rgba(var(--qaf-primary-rgb), .16); }
	.qaf-values__grid { grid-template-columns: 1fr; }
	.qaf-bstrip__grid { grid-template-columns: 1fr; }
	.qaf-bstrip__item + .qaf-bstrip__item { border-inline-start: 0; border-block-start: 1px solid rgba(var(--qaf-primary-rgb), .14); }
	.qaf-channels__grid { grid-template-columns: 1fr; }
	.qaf-timeline__list { grid-template-columns: 1fr; padding-inline-start: 24px; border-inline-start: 1px dashed rgba(var(--qaf-primary-rgb), .45); }
	.qaf-timeline__item { padding: 0 0 0 0; }
	.qaf-timeline__dot { inset-block-start: 14px; inset-inline-start: -29px; margin: 0; }
	.qaf-phero__ghost { font-size: 110px; inset-block-start: auto; inset-block-end: 10px; }
}
@media (max-width: 640px) {
	.qaf-stepsbar__grid { grid-template-columns: 1fr; }
	.qaf-stepsbar__item { border-inline-start: 0 !important; border-block-end: 1px solid var(--qaf-line); padding: 26px var(--qaf-gutter); }
	.qaf-kind span { padding: 10px 18px; }
}

/* ------------------------------------------------ Offers — three houses, one quiet grid */
.qaf-offers { background: var(--qaf-bg); }
.qaf-offers__grid { display: grid; grid-template-columns: repeat(min(var(--n, 3), 3), minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 28px); margin-block-start: clamp(28px, 3vw, 48px); }
.qaf-offer { position: relative; display: flex; flex-direction: column; background: var(--qaf-paper); border: 1px solid var(--qaf-line); transition: border-color .6s var(--qaf-ease), box-shadow .6s var(--qaf-ease), transform .6s var(--qaf-ease-out); }
.qaf-offer::before { content: ""; position: absolute; inset-inline: -1px; inset-block-start: -1px; block-size: 2px; background: var(--c); transform: scaleX(.18); transform-origin: var(--qaf-origin, right); transition: transform .9s var(--qaf-ease-out); z-index: 2; }
[dir="ltr"] .qaf-offer::before { transform-origin: left; }
.qaf-offer:hover { border-color: color-mix(in srgb, var(--c) 45%, var(--qaf-line)); box-shadow: var(--qaf-shadow-m); transform: translateY(-4px); }
.qaf-offer:hover::before { transform: scaleX(1); }
.qaf-offer__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--qaf-bg-soft); }
.qaf-offer__img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform 1.6s var(--qaf-ease-out), filter 1.2s var(--qaf-ease); filter: saturate(.92); }
.qaf-offer:hover .qaf-offer__img { transform: scale(1.045); filter: saturate(1); }
.qaf-offer__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(var(--qaf-ink-rgb), 0) 55%, rgba(var(--qaf-ink-rgb), .28)); pointer-events: none; }
.qaf-offer__badge { position: absolute; z-index: 1; inset-block-start: 16px; inset-inline-start: 16px; padding: 6px 12px; background: rgba(var(--qaf-ink-rgb), .82); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #efe8da; font-size: 11.5px; letter-spacing: .06em; border-inline-start: 2px solid var(--c); }
.qaf-offer__body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: clamp(20px, 2vw, 30px); }
.qaf-offer__house { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 13px; color: var(--qaf-ink); font-weight: 500; }
.qaf-offer__house i { inline-size: 18px; block-size: 1px; background: var(--c); }
.qaf-offer__house small { margin-inline-start: auto; font-family: var(--qaf-font-num); font-size: 9.5px; letter-spacing: var(--qaf-track-label); color: var(--qaf-muted); direction: ltr; text-transform: uppercase; }
.qaf-offer__amount { margin: 6px 0 0; font-family: var(--qaf-font-h); font-size: clamp(30px, 2.8vw, 42px); line-height: 1.15; font-weight: 700; color: var(--c); unicode-bidi: plaintext; }
.qaf-offer__title { margin: 0; font-family: var(--qaf-font-h); font-size: clamp(19px, 1.5vw, 23px); line-height: 1.45; font-weight: 700; color: var(--qaf-ink); }
.qaf-offer__title a { color: inherit; text-decoration: none; }
.qaf-offer__text { margin: 0; font-size: 14.5px; line-height: 1.85; color: var(--qaf-body); }
.qaf-offer__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-block-start: auto; padding-block-start: 18px; border-block-start: 1px solid var(--qaf-line); }
.qaf-cd { display: flex; gap: 6px; }
.qaf-cd__cell { display: flex; flex-direction: column; align-items: center; gap: 3px; min-inline-size: 46px; padding: 8px 4px 6px; border: 1px solid var(--qaf-line); background: var(--qaf-bg); }
.qaf-cd__cell b { font-family: var(--qaf-font-num); font-size: 17px; line-height: 1; font-weight: 400; color: var(--qaf-ink); font-variant-numeric: tabular-nums; direction: ltr; unicode-bidi: isolate; }
.qaf-cd__cell small { font-size: 10px; color: var(--qaf-muted); }
.qaf-offer__left { margin: 0; font-size: 13px; color: var(--qaf-muted); }
.qaf-offer__cta { display: inline-flex; align-items: center; gap: 10px; padding-block: 6px; font-size: 14px; font-weight: 600; color: var(--qaf-ink); text-decoration: none; border-block-end: 1px solid var(--c); transition: gap .5s var(--qaf-ease-out), color .3s; }
.qaf-offer__cta:hover { gap: 16px; color: var(--qaf-primary-dark); }
/* One offer: a wide editorial spread */
.qaf-offers.is-solo .qaf-offers__grid { grid-template-columns: minmax(0, 1fr); }
.qaf-offers.is-solo .qaf-offer { flex-direction: row; }
.qaf-offers.is-solo .qaf-offer__media { flex: 0 0 54%; aspect-ratio: auto; min-block-size: 420px; }
.qaf-offers.is-solo .qaf-offer__body { justify-content: center; padding: clamp(28px, 4vw, 64px); }
.qaf-offers.is-solo .qaf-offer__amount { font-size: clamp(38px, 4vw, 60px); }
.qaf-offers.is-solo .qaf-offer__title { font-size: clamp(24px, 2.2vw, 32px); }
.qaf-offers.is-solo .qaf-cd__cell { min-inline-size: 58px; padding: 12px 6px 8px; }
.qaf-offers.is-solo .qaf-cd__cell b { font-size: 22px; }
@media (max-width: 1024px) { .qaf-offers__grid { grid-template-columns: repeat(min(var(--n, 2), 2), minmax(0, 1fr)); } }
@media (max-width: 720px) {
	.qaf-offers__grid { grid-template-columns: minmax(0, 1fr); }
	.qaf-offers.is-solo .qaf-offer { flex-direction: column; }
	.qaf-offers.is-solo .qaf-offer__media { flex-basis: auto; min-block-size: 0; aspect-ratio: 4 / 3; }
	.qaf-cd__cell { min-inline-size: 42px; }
}
@media (prefers-reduced-motion: reduce) { .qaf-offer, .qaf-offer__img, .qaf-offer::before { transition: none; } }
