/* aitas-footer.css — site footer «Wordmark» (aft100). Companions: footer.php, inc/aitas-footer.php.
   Cascade: the bundle skins the bare `footer` element (background image, shadow, centred text,
   44/100px and 142/10px padding) — every one of those is restated on footer.aitas-footer; the root
   carries aitas-scope so the global spacing layers are dead inside; every text and link colour is
   explicit (the Customizer's a{color} and colour:inherit). The CF7 newsletter form keeps the
   bundle's .form / .small_cf7_submit wrappers from the form template, hence the !important set on
   the two controls (the bundle pins them at (0,5,1) and with its own !important on .home).
   Sizes follow the approved canvas: a 1140px column at 1440, a 358px column at 390; the wordmark
   is set in container-query units of that column so it crops the same at every width. */

@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url(../assets/fonts/ibmplexmono-600-cyrillic.woff2) format('woff2');
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url(../assets/fonts/ibmplexmono-600-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.aitas-footer {
	--aitas-footer-r: aft100;
	--aft-navy: #000D2E;
	--aft-acc: #4F9AD0;
	--aft-white: #ffffff;
	--aft-dim: rgba(255, 255, 255, .72);
	--aft-nav: rgba(255, 255, 255, .88);
	--aft-line: rgba(255, 255, 255, .35);
	--aft-warn: #FF8A73;
	--aft-sans: "Raleway", system-ui, sans-serif;
	--aft-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}
footer.aitas-footer {
	position: relative;
	z-index: 0;
	margin: 0;
	padding: 60px 0 0;
	background: var(--aft-navy) none;
	box-shadow: none;
	overflow: hidden;
	text-align: left;
	color: var(--aft-white);
	font-family: var(--aft-sans);
}
.aitas-footer .aft-wrap {
	width: min(1140px, 100% - 32px);
	margin: 0 auto;
	container-type: inline-size;
}
.aitas-footer .aft-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: auto 1fr; /* row 1 is the visit block's own height: a column spanning both rows must not stretch it, or the newsletter drifts down */
	column-gap: 24px;
	row-gap: 0;
	align-items: start;
}
.aitas-footer .aft-grid > * { min-width: 0; }
.aitas-footer .aft-talk  { grid-column: 1 / span 4;  grid-row: 1 / span 2; }
.aitas-footer .aft-nav   { grid-column: 5 / span 3;  grid-row: 1 / span 2; padding-top: 4px; }
.aitas-footer .aft-visit { grid-column: 8 / span 3;  grid-row: 1; padding-top: 4px; }
.aitas-footer .aft-news  { grid-column: 8 / span 3;  grid-row: 2; margin-top: 24px; }
.aitas-footer .aft-meta  { grid-column: 11 / span 2; grid-row: 1 / span 2; padding-top: 4px; }

/* ---- links: one explicit colour per role, accent on hover ---- */
.aitas-footer a { text-decoration: none; transition: color .15s; }
.aitas-footer a:hover { text-decoration: none; }
.aitas-footer a:focus-visible,
.aitas-footer input:focus-visible { outline: 2px solid var(--aft-acc); outline-offset: 3px; }
.aitas-footer .aft-acc { color: var(--aft-acc); font-weight: 600; }
.aitas-footer .aft-acc:hover { color: var(--aft-white); }
.aitas-footer .aft-dim { color: var(--aft-dim); }

/* ---- talk ---- */
.aitas-footer .aft-talk { display: flex; flex-direction: column; align-items: flex-start; }
.aitas-footer .aft-logo { display: block; width: 95px; height: 44px; margin: 0; }
.aitas-footer .aft-logo img { display: block; width: 95px; height: 44px; max-width: none; }
.aitas-footer .aft-title {
	margin: 34px 0 14px;
	font: 700 30px/1.1 var(--aft-sans);
	letter-spacing: -.02em;
	text-align: left;
	color: var(--aft-white);
}
.aitas-footer .aft-tel { display: block; font: 600 20px/1.45 var(--aft-sans); color: var(--aft-white); }
.aitas-footer .aft-mail { display: block; margin-top: 8px; font: 500 16px/1.5 var(--aft-sans); color: var(--aft-white); }
.aitas-footer .aft-tel:hover,
.aitas-footer .aft-mail:hover { color: var(--aft-acc); }
.aitas-footer .aft-msgr { margin: 6px 0 0; font: 400 13px/1.5 var(--aft-sans); color: var(--aft-dim); }

/* ---- nav ---- */
.aitas-footer .aft-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.aitas-footer .aft-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.aitas-footer .aft-nav li { margin: 0; padding: 0; }
.aitas-footer .aft-nav a { display: block; font: 500 15px/1.3 var(--aft-sans); color: var(--aft-nav); }
.aitas-footer .aft-nav a:hover { color: var(--aft-acc); }

/* ---- visit ---- */
.aitas-footer .aft-visit { display: flex; flex-direction: column; font: 400 14px/1.55 var(--aft-sans); color: var(--aft-dim); }
.aitas-footer .aft-city { color: var(--aft-white); font-weight: 600; }

/* ---- newsletter (CF7) ---- */
.aitas-footer .aft-news { display: flex; flex-direction: column; gap: 8px; }
.aitas-footer .aft-label {
	display: block;
	margin: 0;
	font: 600 11px/1.4 var(--aft-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--aft-dim);
}
.aitas-footer .aft-news .wpcf7 { position: relative; margin: 0; }
.aitas-footer .aft-news .wpcf7 form { margin: 0; }
.aitas-footer .aft-news .wpcf7 .form {
	position: static;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start; /* the button stays on the field's line when the validation tip grows the column */
	gap: 12px;
	margin: 0;
	padding: 0;
	background: none;
}
.aitas-footer .aft-news .wpcf7 .form > p { flex: 1; min-width: 0; margin: 0; line-height: 1; }
.aitas-footer .aft-news .wpcf7 .wpcf7-form-control-wrap { display: block; width: auto; position: relative; }
.aitas-footer .aft-news .wpcf7 input.wpcf7-email {
	display: block !important;
	width: 100% !important;
	height: 40px !important;
	margin: 0 !important;
	padding: 0 2px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--aft-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font: 400 15px/40px var(--aft-sans) !important;
	color: var(--aft-white) !important;
	outline: 0;
	transition: border-color .15s;
}
.aitas-footer .aft-news .wpcf7 input.wpcf7-email::placeholder { color: rgba(255, 255, 255, .55) !important; opacity: 1 !important; }
.aitas-footer .aft-news .wpcf7 input.wpcf7-email:focus { border-bottom-color: var(--aft-acc) !important; outline: 0; }
.aitas-footer .aft-news .wpcf7 input.wpcf7-email.wpcf7-not-valid { border-bottom-color: var(--aft-warn) !important; }
.aitas-footer .aft-news .wpcf7 .small_cf7_submit { position: relative; flex: none; width: 40px; height: 40px; margin: 0; padding: 0; }
.aitas-footer .aft-news .wpcf7 .small_cf7_submit > p { margin: 0; line-height: 0; }
/* The Turnstile container ships inside .small_cf7_submit and is re-inserted as a direct child of the
   .form row on submit; as a static flex item it would take the row and collapse the field to 0px, so
   it is lifted out of the flow wherever it lands (the invisible interaction-only widget, or a challenge
   floating above the form). */
.aitas-footer .aft-news .wpcf7 .wpcf7-turnstile { position: absolute; right: 0; bottom: calc(100% + 8px); z-index: 2; }
.aitas-footer .aft-news .wpcf7 input.wpcf7-submit {
	position: absolute;
	inset: 0;
	display: block;
	width: 40px !important;
	height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--aft-line) !important;
	border-radius: 50% !important;
	background: transparent none !important;
	box-shadow: none !important;
	font-size: 0 !important;
	line-height: 0;
	letter-spacing: 0;
	text-transform: none;
	color: transparent !important;
	cursor: pointer;
	transition: border-color .15s;
}
.aitas-footer .aft-news .wpcf7 .small_cf7_submit::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: var(--aft-white);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10h13'/%3E%3Cpath d='m11 4.5 5.5 5.5-5.5 5.5'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10h13'/%3E%3Cpath d='m11 4.5 5.5 5.5-5.5 5.5'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
	transition: background-color .15s;
}
.aitas-footer .aft-news .wpcf7 .small_cf7_submit:hover input.wpcf7-submit { border-color: var(--aft-acc) !important; }
.aitas-footer .aft-news .wpcf7 .small_cf7_submit:hover::after { background: var(--aft-acc); }
.aitas-footer .aft-news .wpcf7 .wpcf7-spinner { position: absolute; left: 100%; top: 50%; margin: -12px 0 0 8px; }
.aitas-footer .aft-news .wpcf7 .wpcf7-not-valid-tip {
	position: static;
	display: block;
	margin: 4px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	font: 400 12px/1.4 var(--aft-sans);
	color: var(--aft-warn);
	cursor: default;
}
.aitas-footer .aft-news .wpcf7 .wpcf7-response-output {
	position: static;
	margin: 10px 0 0;
	padding: 8px 12px;
	border: 1px solid var(--aft-line);
	border-radius: 6px;
	background: none;
	font: 400 13px/1.4 var(--aft-sans);
	color: var(--aft-white);
	text-align: left;
}
.aitas-footer .aft-news .wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok { border-color: #80c684; background: none; }
.aitas-footer .aft-news .wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ng,
.aitas-footer .aft-news .wpcf7 .wpcf7-response-output.wpcf7-validation-errors,
.aitas-footer .aft-news .wpcf7 .wpcf7-response-output.wpcf7-spam-blocked { border-color: var(--aft-warn); background: none; }

/* ---- meta: socials, legal, ©, back to top ---- */
.aitas-footer .aft-meta { display: flex; flex-direction: column; align-items: flex-start; font: 400 14px/1.3 var(--aft-sans); color: var(--aft-dim); }
.aitas-footer .aft-soc,
.aitas-footer .aft-legal { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.aitas-footer .aft-soc li,
.aitas-footer .aft-legal li { margin: 0; padding: 0; }
.aitas-footer .aft-legal { margin-top: 32px; }
.aitas-footer .aft-meta a { color: var(--aft-dim); }
.aitas-footer .aft-meta a:hover { color: var(--aft-acc); }
.aitas-footer .aft-foot { display: flex; flex-direction: column; align-items: flex-start; }
.aitas-footer .aft-copy { display: block; margin-top: 32px; color: var(--aft-dim); }
.aitas-footer .aft-top {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 24px;
	margin-top: 22px;
	font: 600 11px/1 var(--aft-mono);
	letter-spacing: .12em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--aft-dim);
}
.aitas-footer .aft-top svg { width: 12px; height: 12px; flex: none; }

/* ---- the wordmark: 330px light tracked AITAS in a 178px-tall window of the 1140 column,
   clipped by the bottom edge; cqw keeps the crop ratio at every column width (vw fallback first) ---- */
.aitas-footer .aft-mark {
	height: 12.4vw;
	height: 15.6cqw;
	margin-top: 140px;
	overflow: hidden;
	user-select: none;
	pointer-events: none;
}
.aitas-footer .aft-mark span {
	display: block;
	margin: -1.8vw 0 0 -.45vw;
	margin: -2.25cqw 0 0 -.55cqw;
	font: 300 23vw/.9 var(--aft-sans);
	font-size: 29cqw;
	letter-spacing: .16em;
	white-space: nowrap;
	color: var(--aft-white);
}
/* the self-hosted Raleway subset carries no kern pairs (T+A measures the sum of the two glyphs),
   while the approved artboard's Raleway pulls the T→A pair together by ~.07em — restated here */
.aitas-footer .aft-mark i { font-style: normal; margin-left: -.07em; }

/* ---- 768–1199: two rows of six ---- */
@media (max-width: 1199.98px) {
	.aitas-footer .aft-grid { grid-template-rows: auto auto 1fr; row-gap: 40px; }
	.aitas-footer .aft-talk  { grid-column: 1 / span 6; grid-row: 1; }
	.aitas-footer .aft-nav   { grid-column: 7 / span 6; grid-row: 1; }
	.aitas-footer .aft-visit { grid-column: 1 / span 6; grid-row: 2; }
	.aitas-footer .aft-news  { grid-column: 1 / span 6; grid-row: 3; margin-top: -16px; } /* 40px row gap read as the 24px the canvas sets under the address */
	.aitas-footer .aft-meta  { grid-column: 7 / span 6; grid-row: 2 / span 2; }
}

/* ---- phone: one column in the canvas order ---- */
@media (max-width: 767.98px) {
	footer.aitas-footer { padding-top: 40px; }
	.aitas-footer .aft-grid { display: flex; flex-direction: column; align-items: stretch; row-gap: 0; } /* the desktop rule's align-items:start would shrink every block to its content */
	.aitas-footer .aft-talk  { order: 1; }
	.aitas-footer .aft-news  { order: 2; margin-top: 26px; }
	.aitas-footer .aft-nav   { order: 3; margin-top: 30px; padding-top: 0; gap: 16px; }
	.aitas-footer .aft-visit { order: 4; margin-top: 30px; padding-top: 0; font-size: 15px; }
	.aitas-footer .aft-meta  { order: 5; margin-top: 30px; padding-top: 0; align-items: stretch; font-size: 15px; line-height: 1.6; }
	.aitas-footer .aft-title { margin: 30px 0 12px; }
	.aitas-footer .aft-tel { font-size: 22px; line-height: 1.5; }
	.aitas-footer .aft-nav ul { gap: 2px; }
	.aitas-footer .aft-nav a { font-size: 16px; padding: 6px 0; }
	.aitas-footer .aft-news .wpcf7 input.wpcf7-email { height: 44px !important; font-size: 16px !important; line-height: 44px !important; }
	.aitas-footer .aft-news .wpcf7 .small_cf7_submit { width: 44px; height: 44px; }
	.aitas-footer .aft-news .wpcf7 input.wpcf7-submit { width: 44px !important; height: 44px !important; }
	.aitas-footer .aft-soc { flex-direction: row; flex-wrap: wrap; gap: 6px 22px; }
	.aitas-footer .aft-legal { gap: 6px; margin-top: 22px; font-size: 14px; line-height: 1.5; }
	.aitas-footer .aft-foot { flex-direction: row; align-items: center; justify-content: space-between; margin-top: 6px; font-size: 14px; line-height: 1.5; }
	.aitas-footer .aft-copy { margin-top: 0; }
	.aitas-footer .aft-top { margin-top: 0; min-height: 44px; gap: 8px; }
	.aitas-footer .aft-mark { height: 16.4vw; height: 17.9cqw; margin-top: 90px; }
}
