/*
 * SIR Blocks — shared widget styles.
 *
 * One file for the 9 SIR section widgets. Each widget is scoped to its
 * own .sir-<name> class so styles don't leak. Uses brand tokens via the
 * sir-tokens.css variables (loaded by the child theme) and the page's
 * @font-face declarations (Tajawal + Poppins, self-hosted).
 *
 * Breakpoints: 360 / 768 / 1024 / 1440.
 */

/* =====================================================================
 * Hero — sir_hero (§5.2, Figma 11:2)
 * Above-the-fold. Cancels body padding-top so the radial glow fills the
 * top edge; bumps its own padding so content stays clear of the fixed
 * header pill.
 * ===================================================================== */
.sir-hero {
	position: relative;
	overflow: hidden;
	/* Cancel body padding-top so the radial glow extends to the viewport top. */
	margin-block-start: calc(-1 * clamp(76px, 9vw, 96px));
	/* Push content well below the sticky header pill (px-based since the host
	 * theme overrides the html root font-size). */
	padding-block: clamp(170px, 20vw, 240px) clamp(70px, 10vw, 110px);
	background-color: var(--sir-bg);
	text-align: center;
	isolation: isolate;
}
.sir-hero__glow {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(60% 55% at 50% 35%, rgba(134, 70, 155, 0.55), transparent 70%),
		radial-gradient(45% 35% at 65% 65%, rgba(219, 181, 39, 0.18), transparent 75%),
		radial-gradient(35% 30% at 25% 70%, rgba(134, 70, 155, 0.28), transparent 75%);
	pointer-events: none;
}
.sir-hero__inner {
	position: relative;
	max-width: 880px;
}
.sir-hero__eyebrow {
	margin-block-end: 1.5rem;
}
.sir-hero__title {
	font-size: clamp(2.4rem, 7vw, 5rem);
	font-weight: 800;
	line-height: 1.1;
	margin-block-end: 1.5rem;
	color: var(--sir-text);
}
.sir-hero__subtitle {
	max-width: 720px;
	margin: 0 auto 2.25rem;
	color: var(--sir-text-muted);
	font-size: clamp(1rem, 1.4vw, 1.15rem);
	line-height: 1.8;
}
.sir-hero__actions {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.875rem;
}

@media (max-width: 640px) {
	.sir-hero { padding-block-start: 170px; }
	.sir-hero__actions { flex-direction: column; align-items: stretch; width: 100%; max-width: 320px; margin-inline: auto; }
	.sir-hero__actions .sir-btn { width: 100%; }
}

/* =====================================================================
 * Brands — sir_brands (§5.3, Figma 12:2)
 * Heading + auto-scrolling marquee (animation wired in Task 17).
 * ===================================================================== */
.sir-brands {
	background-color: var(--sir-bg);
	text-align: center;
}
.sir-brands__title {
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	font-weight: 700;
	color: var(--sir-text);
	margin-block-end: 3rem;
}
.sir-brands__viewport {
	display: flex;
	gap: clamp(2rem, 5vw, 4rem);
	overflow: hidden;
	mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.sir-brands__track {
	display: flex;
	align-items: center;
	gap: clamp(2rem, 5vw, 4rem);
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	/* Latin brand names; force LTR so DOM order = visual L→R (matches
	 * what an editor sees in the Elementor repeater). */
	direction: ltr;
}
.sir-brands__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 120px;
	min-height: 48px;
	color: var(--sir-text-dim);
	transition: color 0.2s ease, filter 0.2s ease;
}
.sir-brands__item:hover { color: var(--sir-text); }
.sir-brands__name {
	font-family: 'Poppins', system-ui, sans-serif;
	font-weight: 600;
	font-size: clamp(1rem, 1.4vw, 1.25rem);
	letter-spacing: 0.02em;
	white-space: nowrap;
}
.sir-brands__logo {
	max-height: 48px;
	width: auto;
	filter: grayscale(1) brightness(1.4) opacity(0.55);
	transition: filter 0.25s ease;
}
.sir-brands__item:hover .sir-brands__logo {
	filter: grayscale(0) brightness(1) opacity(1);
}

@media (prefers-reduced-motion: reduce) {
	.sir-brands__track { animation: none !important; transform: none !important; }
}

/* =====================================================================
 * Process — sir_process (§5.4, Figma 13:2)
 * 3-column card grid (drops to 2 then 1 on smaller viewports).
 * ===================================================================== */
.sir-process {
	background-color: var(--sir-bg);
}
.sir-process__header {
	text-align: center;
	margin-block-end: clamp(2.5rem, 5vw, 4rem);
}
.sir-process__title {
	font-size: clamp(1.75rem, 3.4vw, 2.5rem);
	font-weight: 800;
	color: var(--sir-text);
	margin: 0 0 1rem;
}
.sir-process__intro {
	max-width: 760px;
	margin: 0 auto;
	color: var(--sir-text-muted);
	line-height: 1.85;
}
.sir-process__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1rem, 2vw, 1.75rem);
	list-style: none;
	margin: 0;
	padding: 0;
}
.sir-process__card {
	background: var(--sir-surface);
	border: 1px solid var(--sir-surface-line);
	padding: clamp(1.5rem, 2.5vw, 2.25rem);
	border-radius: 20px;
	text-align: center;
	transition: transform 0.25s ease, border-color 0.25s ease;
}
.sir-process__card:hover {
	transform: translateY(-2px);
	border-color: rgba(134, 70, 155, 0.45);
}
.sir-process__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 16px;
	margin-block-end: 1.25rem;
	background: rgba(134, 70, 155, 0.18);
	border: 1px solid rgba(134, 70, 155, 0.32);
	color: var(--sir-purple-300);
}
.sir-process__icon svg { width: 28px; height: 28px; }
.sir-process__card-title {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 0.75rem;
	color: var(--sir-text);
}
.sir-process__card-body {
	color: var(--sir-text-muted);
	font-size: 0.975rem;
	line-height: 1.8;
	margin: 0;
}

@media (max-width: 960px) {
	.sir-process__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.sir-process__grid { grid-template-columns: 1fr; }
}

/* =====================================================================
 * About — sir_about (§5.5, Figma 16:2)
 * Light band. Two-column: content (heading + body + CTAs) on the logical
 * start (visual right in RTL), circular planet/orbit visual on the
 * logical end (visual left in RTL).
 * ===================================================================== */
.sir-about {
	background-color: var(--sir-light);
	color: var(--sir-bg);
}
.sir-about__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: clamp(2rem, 5vw, 5rem);
}
.sir-about__content { max-width: 540px; }
.sir-about__title {
	font-size: clamp(1.8rem, 3.6vw, 2.8rem);
	font-weight: 800;
	line-height: 1.25;
	margin: 0 0 1.25rem;
	color: var(--sir-bg);
}
.sir-about__body {
	font-size: 1.0625rem;
	line-height: 1.85;
	color: rgba(14, 11, 31, 0.78);
	margin: 0 0 2rem;
}
.sir-about__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}
/* Outline variant on a light background — invert from the dark default. */
.sir-about__outline {
	color: var(--sir-bg);
	border-color: rgba(14, 11, 31, 0.18);
}
.sir-about__outline:hover,
.sir-about__outline:focus-visible {
	color: var(--sir-purple);
	border-color: var(--sir-purple);
}

.sir-about__visual {
	position: relative;
	aspect-ratio: 1;
	max-width: 480px;
	width: 100%;
	margin-inline: auto;
	display: grid;
	place-items: center;
}
.sir-about__orbit {
	position: absolute;
	inset: 4%;
	border-radius: 50%;
	border: 1px solid rgba(134, 70, 155, 0.35);
	transform: rotate(-18deg);
	pointer-events: none;
}
.sir-about__planet {
	position: relative;
	width: 86%;
	aspect-ratio: 1;
	border-radius: 50%;
	background:
		radial-gradient(80% 80% at 35% 28%, rgba(255, 255, 255, 0.18) 0%, transparent 60%),
		radial-gradient(140% 110% at 65% 80%, #2A1C4A 0%, #4D2A78 35%, #86469B 78%, #6E3A80 100%);
	box-shadow: 0 30px 60px -20px rgba(110, 58, 128, 0.45);
}
/* Static "stars" sprinkled on the planet — small radial dots. */
.sir-about__planet::before,
.sir-about__planet::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background:
		radial-gradient(2px 2px at 30% 28%, var(--sir-text) 50%, transparent 51%),
		radial-gradient(1.5px 1.5px at 60% 42%, var(--sir-text) 50%, transparent 51%),
		radial-gradient(2px 2px at 48% 60%, var(--sir-text) 50%, transparent 51%),
		radial-gradient(1.5px 1.5px at 72% 70%, rgba(255,255,255,0.7) 50%, transparent 51%),
		radial-gradient(1px 1px at 22% 75%, rgba(255,255,255,0.6) 50%, transparent 51%);
	pointer-events: none;
}
.sir-about__dot {
	position: absolute;
	width: 14px;
	height: 14px;
	border-radius: 50%;
}
.sir-about__dot--gold {
	background: var(--sir-gold);
	inset-block-start: 18%;
	inset-inline-start: 6%;
	box-shadow: 0 0 0 4px rgba(219, 181, 39, 0.18);
}
.sir-about__dot--purple {
	background: var(--sir-purple-300);
	inset-block-end: 14%;
	inset-inline-end: 8%;
	box-shadow: 0 0 0 4px rgba(169, 104, 190, 0.18);
}

.sir-about__image {
	width: 86%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50%;
	box-shadow: 0 30px 60px -20px rgba(110, 58, 128, 0.45);
}

@media (max-width: 900px) {
	.sir-about__inner { grid-template-columns: 1fr; }
	.sir-about__visual { order: -1; max-width: 360px; }
	.sir-about__content { max-width: 100%; }
}

/* =====================================================================
 * Why Us — sir_why_us (§5.6, Figma 18:2)
 * Three columns; large circular icon chip (purple or gold accent) above
 * title + body. Center column gets the gold accent in the reference.
 * ===================================================================== */
.sir-why-us {
	background-color: var(--sir-bg);
}
.sir-why-us__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(2rem, 4vw, 4rem);
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}
.sir-why-us__col { padding-inline: clamp(0.5rem, 2vw, 1.5rem); }
.sir-why-us__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(80px, 8vw, 104px);
	height: clamp(80px, 8vw, 104px);
	border-radius: 50%;
	margin-block-end: 1.75rem;
}
.sir-why-us__icon svg { width: 40%; height: 40%; }
.sir-why-us__icon--purple {
	background: rgba(134, 70, 155, 0.18);
	border: 1px solid rgba(134, 70, 155, 0.32);
	color: var(--sir-purple-300);
}
.sir-why-us__icon--gold {
	background: rgba(219, 181, 39, 0.20);
	border: 1px solid rgba(219, 181, 39, 0.42);
	color: var(--sir-gold);
}
.sir-why-us__title {
	font-size: clamp(1.25rem, 1.8vw, 1.5rem);
	font-weight: 700;
	color: var(--sir-text);
	margin: 0 0 1rem;
}
.sir-why-us__body {
	color: var(--sir-text-muted);
	line-height: 1.85;
	margin: 0;
}

@media (max-width: 760px) {
	.sir-why-us__grid { grid-template-columns: 1fr; gap: 2.5rem; }
}

/* =====================================================================
 * Extra Services — sir_extra_services (§5.7, Figma 21:2)
 * Gold chip on top + 2-column numbered card grid. Numbers are large
 * outlined accents on the visual end (left in RTL); text fills the rest.
 * ===================================================================== */
.sir-extra-services {
	background-color: var(--sir-bg);
}
.sir-extra-services__chip {
	display: inline-block;
	margin: 0 auto 2.5rem;
	padding: 0.5rem 1.25rem;
	background: var(--sir-gold);
	color: var(--sir-bg);
	font-weight: 700;
	font-size: 0.9375rem;
	border-radius: 10px;
	letter-spacing: 0.04em;
	box-shadow: 0 8px 24px -12px rgba(219, 181, 39, 0.55);
}
.sir-extra-services > .sir-container { text-align: center; }
.sir-extra-services__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(1rem, 2vw, 1.75rem);
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: start;
}
.sir-extra-services__card {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: clamp(1rem, 2vw, 1.75rem);
	align-items: center;
	padding: clamp(1.5rem, 2.5vw, 2.25rem);
	transition: transform 0.25s ease, border-color 0.25s ease;
}
.sir-extra-services__card:hover {
	transform: translateY(-2px);
	border-color: rgba(134, 70, 155, 0.45);
}
.sir-extra-services__num {
	font-family: 'Poppins', system-ui, sans-serif;
	font-size: clamp(3rem, 6vw, 5rem);
	font-weight: 800;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 2px rgba(134, 70, 155, 0.55);
	letter-spacing: -0.04em;
	user-select: none;
}
.sir-extra-services__title {
	font-size: clamp(1.125rem, 1.7vw, 1.375rem);
	font-weight: 700;
	color: var(--sir-text);
	margin: 0 0 0.5rem;
}
.sir-extra-services__body {
	color: var(--sir-text-muted);
	line-height: 1.85;
	margin: 0;
}

@media (max-width: 760px) {
	.sir-extra-services__grid { grid-template-columns: 1fr; }
}

/* =====================================================================
 * Testimonials — sir_testimonials (§5.8, Figma 19:2)
 * Quote carousel — one slide visible. JS in Task 17 wires the dots,
 * arrows, autoplay (pause on hover/focus), and prefers-reduced-motion.
 * ===================================================================== */
.sir-testimonials {
	background-color: var(--sir-bg);
}
.sir-testimonials__header {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-block-end: clamp(2rem, 4vw, 3rem);
	text-align: center;
}
.sir-testimonials__quote-mark {
	display: inline-flex;
	color: var(--sir-purple-300);
	opacity: 0.55;
}
.sir-testimonials__quote-mark svg { width: 56px; height: 42px; }
.sir-testimonials__title {
	font-size: clamp(1.75rem, 3.4vw, 2.5rem);
	font-weight: 800;
	color: var(--sir-text);
	margin: 0;
}

.sir-testimonials__carousel {
	position: relative;
	max-width: 880px;
	margin-inline: auto;
}
.sir-testimonials__track {
	position: relative;
	display: grid;
	list-style: none;
	margin: 0;
	padding: 0;
	min-height: 200px;
}
.sir-testimonials__slide {
	grid-column: 1;
	grid-row: 1;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease;
}
.sir-testimonials__slide.is-active {
	opacity: 1;
	pointer-events: auto;
}
.sir-testimonials__card {
	padding: clamp(2rem, 4vw, 3rem);
	text-align: center;
}
.sir-testimonials__quote {
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	line-height: 1.95;
	color: var(--sir-text);
	margin: 0 0 1.75rem;
}
.sir-testimonials__byline {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	align-items: center;
}
.sir-testimonials__author {
	color: var(--sir-gold);
	font-weight: 700;
	font-style: normal;
	font-size: 1.05rem;
}
.sir-testimonials__role {
	color: var(--sir-text-dim);
	font-size: 0.9rem;
}

.sir-testimonials__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: transparent;
	color: var(--sir-text);
	border: 1px solid var(--sir-surface-line);
	border-radius: 999px;
	padding: 0;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	z-index: 2;
	transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}
.sir-testimonials__nav:hover,
.sir-testimonials__nav:focus,
.sir-testimonials__nav:focus-visible {
	background-color: transparent;
	border-color: var(--sir-gold);
	color: var(--sir-gold);
}
.sir-testimonials__nav--prev { inset-inline-start: -1rem; }
.sir-testimonials__nav--next { inset-inline-end: -1rem; }

.sir-testimonials__dots {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-block-start: 1.75rem;
}
/* 24×24 hit area for WCAG 2.5.8; visible 10px dot via radial-gradient. */
.sir-testimonials__dot {
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: transparent;
	background-image: radial-gradient(circle, var(--sir-surface-line) 0 5px, transparent 6px);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-image 0.2s ease, transform 0.2s ease;
}
.sir-testimonials__dot:hover,
.sir-testimonials__dot:focus,
.sir-testimonials__dot:focus-visible {
	background-image: radial-gradient(circle, var(--sir-purple-300) 0 5px, transparent 6px);
	outline: none;
}
.sir-testimonials__dot:focus-visible {
	box-shadow: 0 0 0 2px var(--sir-gold);
}
.sir-testimonials__dot.is-active {
	background-image: radial-gradient(circle, var(--sir-gold) 0 5px, transparent 6px);
	transform: scale(1.15);
}

@media (max-width: 720px) {
	.sir-testimonials__nav { display: none; }
}

/* =====================================================================
 * Portfolio — sir_portfolio (§5.9, Figma 20:2)
 * Header: H2 on the logical start (visual right in RTL), outline CTA on
 * the logical end (visual left). Track is horizontally scrollable on
 * touch (snap), drag/arrow scroll JS in Task 17.
 * ===================================================================== */
.sir-portfolio {
	background-color: var(--sir-bg);
}
.sir-portfolio__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
	margin-block-end: clamp(2rem, 4vw, 3rem);
}
.sir-portfolio__title {
	font-size: clamp(1.75rem, 3.4vw, 2.5rem);
	font-weight: 800;
	color: var(--sir-text);
	margin: 0;
}
.sir-portfolio__cta { padding: 0.7rem 1.5rem; font-size: 0.95rem; }

.sir-portfolio__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(260px, 1fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	list-style: none;
	margin: 0;
	padding: 0 0 1rem;
	overflow-x: auto;
	scroll-snap-type: inline mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: var(--sir-surface-line) transparent;
}
.sir-portfolio__track::-webkit-scrollbar { height: 8px; }
.sir-portfolio__track::-webkit-scrollbar-thumb { background-color: var(--sir-surface-line); border-radius: 999px; }
.sir-portfolio__item { scroll-snap-align: start; }

.sir-portfolio__card {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	border-radius: 22px;
	overflow: hidden;
	background: var(--sir-surface);
	border: 1px solid var(--sir-surface-line);
	color: var(--sir-text);
	text-decoration: none;
	transition: transform 0.25s ease, border-color 0.25s ease;
}
.sir-portfolio__card:hover,
.sir-portfolio__card:focus-visible {
	transform: translateY(-3px);
	border-color: rgba(134, 70, 155, 0.55);
}
.sir-portfolio__image,
.sir-portfolio__placeholder {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sir-portfolio__placeholder {
	background:
		radial-gradient(60% 50% at 30% 30%, rgba(134, 70, 155, 0.45), transparent 70%),
		radial-gradient(50% 40% at 80% 80%, rgba(219, 181, 39, 0.25), transparent 75%),
		linear-gradient(135deg, #2A1C4A 0%, #4D2A78 60%, #86469B 100%);
}
.sir-portfolio__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(14, 11, 31, 0.85) 100%);
	pointer-events: none;
}
.sir-portfolio__caption {
	position: absolute;
	inset-block-end: 1.25rem;
	inset-inline-start: 1.25rem;
	inset-inline-end: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	align-items: flex-start;
}
.sir-portfolio__chip {
	display: inline-block;
	padding: 0.35rem 0.85rem;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: var(--sir-text);
	font-size: 0.8125rem;
	font-weight: 600;
	border-radius: 999px;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.sir-portfolio__name {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--sir-text);
	margin: 0;
	line-height: 1.4;
}

@media (max-width: 560px) {
	.sir-portfolio__track { grid-auto-columns: 80%; }
}

/* =====================================================================
 * Contact — sir_contact (§5.10, Figma 23:2)
 * Big gradient card on the dark section. Form ships nonce + honeypot +
 * time-trap fields baked into the markup; AJAX hijack is in Task 17 and
 * the server handler in Task 16.
 * ===================================================================== */
.sir-contact { background-color: var(--sir-bg); }
.sir-contact__card {
	max-width: 980px;
	margin-inline: auto;
	padding: clamp(2rem, 4vw, 3.5rem);
	border-radius: 28px;
	background:
		radial-gradient(60% 50% at 80% 0%, rgba(219, 181, 39, 0.25), transparent 60%),
		radial-gradient(60% 60% at 0% 100%, rgba(110, 58, 128, 0.45), transparent 60%),
		linear-gradient(150deg, var(--sir-purple) 0%, var(--sir-purple-600) 100%);
	box-shadow: 0 40px 80px -30px rgba(110, 58, 128, 0.55);
	color: var(--sir-text);
}
.sir-contact__header { text-align: center; margin-block-end: 2.25rem; }
.sir-contact__title {
	font-size: clamp(1.75rem, 3.4vw, 2.5rem);
	font-weight: 800;
	color: var(--sir-text);
	margin: 0 0 0.75rem;
}
.sir-contact__subtitle { color: rgba(255, 255, 255, 0.82); margin: 0; }

.sir-contact__form {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
/* Honeypot — hidden visually + from assistive tech (aria-hidden on parent). */
.sir-contact__hp {
	position: absolute !important;
	left: -99999px !important;
	top: -99999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.sir-contact__group { display: flex; flex-direction: column; gap: 0.5rem; }
.sir-contact__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.sir-contact__field { display: flex; flex-direction: column; gap: 0.5rem; }
.sir-contact__label {
	color: rgba(255, 255, 255, 0.95);
	font-weight: 600;
	font-size: 0.95rem;
}
.sir-contact__field input,
.sir-contact__field textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 14px;
	color: var(--sir-text);
	font: inherit;
	min-height: 44px;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}
.sir-contact__field textarea { resize: vertical; min-height: 100px; line-height: 1.6; }
.sir-contact__field input:focus,
.sir-contact__field textarea:focus {
	outline: none;
	border-color: var(--sir-gold);
	background-color: rgba(255, 255, 255, 0.16);
}
.sir-contact__field input::placeholder,
.sir-contact__field textarea::placeholder { color: rgba(255, 255, 255, 0.5); }

.sir-contact__group--chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	border: 0;
	padding: 0;
	margin: 0;
}
.sir-contact__chip {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.45rem 1rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.20);
	color: var(--sir-text);
	font-size: 0.875rem;
	font-weight: 500;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.sir-contact__chip input { position: absolute; opacity: 0; pointer-events: none; }
.sir-contact__chip:has(input:checked) {
	background: var(--sir-gold);
	color: var(--sir-bg);
	border-color: var(--sir-gold);
}
.sir-contact__chip:has(input:focus-visible) {
	outline: 2px solid var(--sir-gold);
	outline-offset: 2px;
}

.sir-contact__group--radios {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	border: 0;
	padding: 0;
	margin: 0;
}
.sir-contact__radio {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 44px;
	color: var(--sir-text);
	cursor: pointer;
}
.sir-contact__radio input { accent-color: var(--sir-gold); width: 18px; height: 18px; }

.sir-contact__actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin-block-start: 0.5rem;
}
.sir-contact__submit { padding: 0.95rem 2rem; min-height: 48px; }
.sir-contact__status {
	margin: 0;
	min-height: 1.5em;
	color: rgba(255, 255, 255, 0.92);
	font-size: 0.95rem;
}
.sir-contact__status[data-state="ok"]    { color: var(--sir-status-ok); }
.sir-contact__status[data-state="error"] { color: var(--sir-status-error); }

@media (max-width: 640px) {
	.sir-contact__row { grid-template-columns: 1fr; }
}
