/* IT Support Hub home page: the office-signage front page (parts/home-signage.php).
   Loaded on the front page only, after site.css and signage.css, which holds
   the tokens (--sign-*, --display, --wall, --asphalt). */

.sg-hero, .sg-dir, .sg-paths, .sg-m365, .sg-rates, .sg-247, .sg-quotes, .sg-road { padding-block: clamp(64px, 7vw, 112px); }
.sg-lede { margin: 18px 0 0; max-width: 62ch; font-size: 18px; line-height: 1.6; color: var(--ink-2); }
.sg-h2 { margin: 0; max-width: 15em; font-size: clamp(2.5rem, 1.8rem + 2.6vw, 4.125rem); line-height: .98; text-wrap: balance; }
.sg-link { color: #000; font-weight: 800; text-decoration: underline; text-decoration-color: var(--sign-yellow); text-decoration-thickness: 4px; text-underline-offset: 4px; }
.sg-link:hover { color: #000; background: #FFE680; }
.sg-link--light { color: #fff; text-decoration-color: var(--sign-yellow); text-decoration-thickness: 3px; }
.sg-link--light:hover { color: #000; background: var(--sign-yellow); }

/* A sign plate: white field, white border, black keyline. */
.sg-plate { background: #fff; border-radius: 12px; padding: 6px; box-shadow: var(--shadow-sign); }
.sg-plate__in { height: 100%; border: 2px solid #000; border-radius: 8px; overflow: hidden; }
.sg-plate__band { margin: 0; padding: 11px 22px 9px; background: #000; color: var(--sign-yellow); font-family: var(--display); font-size: clamp(24px, 1.4rem + .5vw, 30px); font-weight: 900; line-height: 1.1; }
.sg-legend { font-family: var(--display); font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }

/* ---------- Hero: the yellow wall ---------- */
.sg-hero { --focus: #000; background: var(--sign-yellow); padding-top: clamp(32px, 4.4vw, 64px); padding-bottom: clamp(56px, 6vw, 96px); overflow: hidden; }
.sg-hero__in { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 40px clamp(32px, 4.4vw, 64px); align-items: start; }
.sg-h1 { margin: 0; font-family: var(--display); font-size: clamp(3.25rem, 1.9rem + 4.4vw, 6.25rem); font-weight: 900; line-height: .93; text-wrap: balance; }
.sg-marks { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 14px; margin-top: clamp(24px, 2.6vw, 36px); }
.sg-noloc { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.sg-noloc svg { display: block; filter: drop-shadow(0 8px 10px rgba(59, 48, 0, .35)); }
.sg-tag { padding: 3px 8px 1px; border: 2px solid #000; border-radius: 4px; background: #fff; font-family: var(--display); font-size: 15px; font-weight: 900; line-height: 1.2; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.sg-rate { display: block; overflow: hidden; border: 2px solid #000; border-radius: 8px; background: #fff; color: #000; text-decoration: none; box-shadow: 0 2px 2px rgba(59, 48, 0, .28), 0 14px 26px -16px rgba(59, 48, 0, .5); }
.sg-rate:hover { color: #000; }
.sg-rate__band { display: block; padding: 5px 12px 3px; background: #000; color: var(--sign-yellow); font-family: var(--display); font-size: 15px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.sg-rate__body { display: block; padding: 6px 12px 8px; }
.sg-rate__for { display: block; font-size: 13px; font-weight: 800; line-height: 1.3; }
.sg-rate__amt { display: block; font-family: var(--display); font-size: 34px; font-weight: 900; line-height: 1; white-space: nowrap; }
.sg-rate__unit { display: block; margin-top: 2px; font-size: 13px; line-height: 1.35; color: var(--muted); }
.sg-rate:hover .sg-rate__amt { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 4px; }
.sg-signs { display: flex; flex-direction: column; gap: 26px; min-width: 0; }

/* Emergency telephone sign (ISO green). */
.sg-emerg { display: block; padding: 6px; border-radius: 12px; background: var(--sign-green); color: #fff; text-decoration: none; box-shadow: 0 2px 2px rgba(59, 48, 0, .28), 0 18px 32px -18px rgba(59, 48, 0, .55); }
.sg-emerg:hover { color: #fff; background: #006F33; }
.sg-emerg__in { display: flex; align-items: center; gap: clamp(12px, 1.3vw, 18px); padding: 16px clamp(12px, 1.3vw, 18px); border: 2px solid #fff; border-radius: 8px; }
.sg-emerg__pict { flex: none; display: grid; place-items: center; width: clamp(52px, 5.3vw, 76px); aspect-ratio: 1; border-radius: 6px; background: #fff; }
.sg-emerg__pict svg { width: 66%; height: 66%; fill: var(--sign-green); }
.sg-emerg__label { display: block; font-size: 16px; font-weight: 700; line-height: 1.35; }
.sg-emerg__num { display: block; font-family: var(--display); font-size: clamp(32px, 1.6rem + 1.6vw, 52px); font-weight: 900; line-height: 1; white-space: nowrap; }
.sg-emerg__note { display: block; margin-top: 4px; font-size: 15px; line-height: 1.4; }

/* The real ticket form as the urgency signpost (ticket-form.php, context "sign"). */
.ticket--sign { display: flex; flex-direction: column; gap: 16px; color: #000; }
.ticket--sign .ticket__head h2 { margin: 0; font-size: 32px; line-height: 1.05; }
.ticket--sign .ticket__head p { margin: 6px 0 0; font-size: 16px; line-height: 1.5; color: var(--yellow-ink); }
.ticket--sign .ticket__head { display: block; }
.ticket--sign .urg__legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ticket--sign .urg__opts { position: relative; display: flex; flex-direction: column; gap: 12px; padding-left: 26px; }
.ticket--sign .urg__opts::before { content: ""; position: absolute; left: 0; top: -12px; bottom: -12px; width: 10px; border-radius: 3px; background: #000; }
.ticket--sign .urg__opt { transform-origin: 0 0; animation: sg-hang 1.1s var(--ease-out) both; }
.ticket--sign .urg__opt:nth-child(2) { animation-delay: .14s; }
.ticket--sign .urg__opt:nth-child(3) { animation-delay: .28s; }
@keyframes sg-hang { from { transform: rotate(-5deg); } to { transform: none; } }
.ticket--sign .urg__opt::before { content: ""; position: absolute; left: -18px; top: 22px; width: 20px; height: 8px; background: #000; }
.ticket--sign .urg__opt input + span {
	display: block; min-height: 0; padding: 0; overflow: hidden;
	border: 2px solid #000; border-radius: 6px; background: #fff;
	outline: 4px solid #fff; outline-offset: 0;
	box-shadow: 0 2px 2px rgba(59, 48, 0, .28), 0 14px 26px -16px rgba(59, 48, 0, .5);
	transition: transform .3s var(--ease-out), outline-color .15s;
}
.ticket--sign .urg .itsh-dot { display: none; }
.ticket--sign .urg__label { display: flex; align-items: center; gap: 10px; padding: 7px 12px 5px; font-family: var(--display); font-size: 23px; font-weight: 900; line-height: 1.1; letter-spacing: .06em; text-transform: uppercase; }
.ticket--sign .urg__label::before { content: ""; flex: none; width: 22px; height: 22px; background: center / contain no-repeat; }
.ticket--sign .urg__hint { display: block; padding: 9px 14px 8px; font-size: 16px; line-height: 1.4; color: #000; }
.ticket--sign input[value="down"] + span .urg__label { background: var(--sign-red); color: #fff; }
.ticket--sign input[value="down"] + span .urg__label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M12 3v8'/%3E%3Cpath d='M6.3 6.8a8 8 0 1 0 11.4 0'/%3E%3C/svg%3E"); }
.ticket--sign input[value="broken"] + span .urg__label { background: var(--sign-orange); color: #000; }
.ticket--sign input[value="broken"] + span .urg__label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M12 1.5L23 20.5H1z'/%3E%3Cpath d='M12 8v6' stroke='%23F26A21' stroke-width='2.6' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='17.3' r='1.5' fill='%23F26A21'/%3E%3C/svg%3E"); }
.ticket--sign input[value="question"] + span .urg__label { background: var(--sign-blue); color: #fff; }
.ticket--sign input[value="question"] + span .urg__label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%23fff'/%3E%3Cpath d='M9.2 9.4a2.9 2.9 0 1 1 4.4 2.4c-1 .6-1.6 1.2-1.6 2.4' fill='none' stroke='%230057B8' stroke-width='2.6' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='17.6' r='1.5' fill='%230057B8'/%3E%3C/svg%3E"); }
.ticket--sign .urg__opt:hover input + span { transform: translateX(-4px); border-color: #000; }
.ticket--sign .urg__opt input:checked + span { transform: translateX(-10px); background: #fff; outline-color: #000; box-shadow: 0 26px 40px -18px rgba(59, 48, 0, .7); }
.ticket--sign .urg__opt input:focus-visible + span { outline: 3px solid #000; outline-offset: 3px; }
/* Until a sign is chosen only the signpost shows; the fields, the button and the call-now note follow the choice. */
.ticket--sign:not(:has(.urg input:checked)) :is(.ticket__fields, .ticket__submit) { display: none; }
.ticket--sign .callnow { display: none; }
.ticket--sign:has(input[value="down"]:checked) .callnow { display: block; padding: 16px; border: 2px solid var(--sign-red); background: #fff; font-size: 17px; color: #000; }
.ticket--sign .callnow a { font-family: var(--display); font-size: 1.5em; font-weight: 900; }
.ticket--sign .ticket__fields { padding: 18px; border: 2px solid #000; border-radius: 10px; background: #fff; box-shadow: var(--shadow-sign); }
.ticket--sign .fld label { color: #000; font-weight: 700; }
.ticket--sign .ticket__submit { width: auto; align-self: flex-start; padding: 0 26px; }
.ticket--sign .ticket__status { background: #fff; }

/* Instruction plate under the hero row. */
.sg-intro { grid-column: 1 / -1; }
.sg-intro__body { display: flex; flex-wrap: wrap; align-items: center; gap: 24px clamp(28px, 4vw, 56px); padding: clamp(20px, 2.4vw, 30px); }
.sg-intro__text { flex: 3 1 420px; min-width: 0; }
.sg-intro__lede { margin: 0; max-width: 40em; font-size: clamp(18px, 1rem + .3vw, 21px); line-height: 1.55; }
.sg-intro__trust { margin: 14px 0 0; font-size: 15px; line-height: 1.5; color: var(--muted); }
.sg-intro__actions { flex: 1 1 260px; display: flex; flex-direction: column; gap: 10px; }
.sg-intro__actions .btn { white-space: nowrap; }

/* ---------- Office directory: the whole stack ---------- */
.sg-dir { --focus: var(--sign-yellow); background: #000; color: #fff; }
.sg-dir__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 48px; }
.sg-dir__head .sg-h2 { flex: 1 1 520px; color: #fff; }
.sg-dir__head p { flex: 1 1 380px; margin: 0; max-width: 34em; font-size: 17px; line-height: 1.6; color: var(--on-dark-2); }
.sg-board { margin-top: 44px; padding: 6px; border: 2px solid #fff; border-radius: 14px; }
.sg-board__in { overflow: hidden; border: 1px solid #5A5A52; border-radius: 9px; }
.sg-board__top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; padding: 16px 24px 12px; border-bottom: 2px solid #fff; }
.sg-board__top .sg-legend { margin: 0; font-size: 28px; letter-spacing: .08em; }
.sg-board__top p { margin: 0; font-size: 15px; color: var(--on-dark-2); }
.sg-board__body { display: flex; flex-wrap: wrap; }
.sg-floors { flex: 1 1 640px; min-width: 0; margin: 0; padding: 0; list-style: none; }
.sg-floor { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 20px 24px; border-bottom: 1px solid #3A3A35; }
.sg-floor:last-child { border-bottom: 0; }
.sg-floor__no { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 6px; background: #fff; color: #000; font-family: var(--display); font-size: 34px; font-weight: 900; line-height: 1; }
.sg-floor__name { flex: 1 1 220px; min-width: 0; }
.sg-floor__name h3 { margin: 0; color: #fff; font-size: 30px; line-height: 1.05; }
.sg-floor__name p { margin: 2px 0 0; font-size: 15px; line-height: 1.45; color: var(--on-dark-2); }
.sg-floor__links { flex: 2 1 380px; display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; padding: 0; list-style: none; font-size: 16px; }
.sg-floor__links a { color: #fff; text-decoration: underline; text-decoration-color: var(--sign-yellow); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.sg-floor__links a:hover { color: var(--sign-yellow); }
.sg-tenant { flex: 1 1 240px; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: 28px 26px; background: var(--sign-yellow); color: #000; }
.sg-tenant .sg-tenant__name { margin: 0; font-family: var(--display); font-size: clamp(40px, 2rem + 1.2vw, 52px); font-weight: 900; line-height: .95; }
.sg-tenant p { margin: 0; font-size: 15px; line-height: 1.45; color: var(--yellow-ink); }
.sg-tenant .btn { align-self: flex-start; margin-top: 6px; }
.sg-dir__more { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 20px; }
.sg-managed { flex: 2 1 460px; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding: 22px 26px; border-radius: 12px; background: var(--sign-yellow); color: #000; }
.sg-managed p { flex: 1 1 260px; margin: 0; font-size: 17px; line-height: 1.5; }
.sg-managed strong { display: block; font-family: var(--display); font-size: 26px; font-weight: 900; line-height: 1.1; }
.sg-also { flex: 1 1 300px; min-width: 0; padding: 20px 24px; border: 2px solid #3A3A35; border-radius: 12px; }
.sg-also p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--on-dark-2); }

/* ---------- Two paths: door plates ---------- */
.sg-paths { background: var(--wall); }
.sg-doors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 44px; }
.sg-door .sg-plate__in { display: flex; flex-direction: column; }
.sg-door__band { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 22px; background: #000; color: #fff; }
.sg-door__band h3 { margin: 0; color: inherit; font-size: 34px; font-weight: 900; line-height: 1; }
.sg-door__band span { font-family: var(--display); font-size: 22px; font-weight: 800; color: var(--sign-yellow); white-space: nowrap; }
.sg-door--mid .sg-door__band { background: var(--sign-yellow); color: #000; border-bottom: 2px solid #000; }
.sg-door--mid .sg-door__band span { color: #000; }
.sg-door__body { flex: 1 1 auto; display: flex; flex-direction: column; padding: 22px 24px 26px; }
.sg-door__body p { margin: 0 0 12px; font-size: 17px; line-height: 1.6; color: var(--ink-2); }
.sg-door__body .sg-door__lead { font-weight: 700; color: #000; }
.sg-door__body .sg-link { margin-top: auto; align-self: flex-start; }

/* ---------- Microsoft 365: mandatory signs ---------- */
.sg-m365 { --focus: var(--sign-yellow); background: var(--sign-blue); color: #fff; }
.sg-m365__head { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 24px 64px; }
.sg-m365__head .sg-h2 { flex: 1 1 520px; max-width: 13em; color: #fff; }
.sg-m365__head p { flex: 1 1 400px; margin: 0; max-width: 36em; font-size: 17px; line-height: 1.6; color: #D7E5FA; }
.sg-mand { margin-top: 44px; padding: 6px; border-radius: 14px; background: #fff; color: #000; }
.sg-mand__in { padding: 22px clamp(18px, 2.4vw, 32px) 26px; border: 2px solid var(--sign-blue); border-radius: 9px; }
.sg-mand__title { margin: 0; font-family: var(--display); font-size: 26px; font-weight: 900; line-height: 1.1; color: var(--sign-blue); }
.sg-mand__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 22px 20px; margin: 22px 0 0; padding: 0; list-style: none; }
.sg-mand__list li { display: flex; flex-wrap: wrap; align-items: flex-start; align-content: flex-start; gap: 10px 14px; }
.sg-mand__list svg { flex: none; width: 72px; height: 72px; }
.sg-mand__list span { flex: 1 1 110px; font-size: 16px; font-weight: 700; line-height: 1.4; }
.sg-m365__links { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 28px 0 0; padding: 0; list-style: none; font-size: 17px; }

/* ---------- Posted rates ---------- */
.sg-rates { background: var(--wall); scroll-margin-top: 24px; }
.sg-ratesign { margin-top: 40px; }
.sg-ratesign__band { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 20px; padding: 12px 24px 10px; background: #000; color: #fff; }
.sg-ratesign__band .sg-legend { margin: 0; font-size: 30px; letter-spacing: .08em; }
.sg-ratesign__band p { margin: 0; font-size: 15px; color: var(--on-dark-2); }
.sg-ratesign .table-scroll { padding: 4px clamp(8px, 1.5vw, 20px) 12px; }
.sg-ratesign .cmp thead th:first-of-type { background: var(--sign-yellow); }
.sg-ratesign .cmp td.mono { font-family: var(--display); font-size: 30px; font-weight: 900; line-height: 1.05; }
.sg-rates__note { margin: 20px 0 0; font-size: 17px; }

/* ---------- 24/7 line (ISO green) ---------- */
.sg-247 { --focus: var(--sign-yellow); background: var(--sign-green); color: #fff; }
.sg-247__in { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 72px; }
.sg-247 .sg-h2 { max-width: 11em; color: #fff; }
.sg-247 p { margin: 18px 0 0; max-width: 46ch; font-size: 18px; line-height: 1.6; color: #fff; }
.sg-247__num { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 30px; color: #fff; text-decoration: none; }
.sg-247__num:hover { color: #fff; text-decoration: underline; text-decoration-thickness: 4px; text-underline-offset: 8px; }
.sg-247__num .sg-emerg__pict { width: clamp(52px, 5vw, 80px); }
.sg-247__num span:last-child { font-family: var(--display); font-size: clamp(44px, 2rem + 3vw, 76px); font-weight: 900; line-height: .9; white-space: nowrap; }
.sg-247__lists { display: flex; flex-direction: column; gap: 20px; }
.sg-warn .sg-plate__in > h3 { display: flex; align-items: center; gap: 10px; margin: 0; padding: 9px 18px 7px; font-size: 24px; line-height: 1.1; letter-spacing: .06em; text-transform: uppercase; }
.sg-warn--call h3 { background: var(--sign-red); color: #fff; }
.sg-warn--ticket h3 { background: var(--sign-orange); color: #000; }
.sg-warn ul { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 16px 22px 18px 40px; font-size: 17px; color: #000; }

/* ---------- Testimonials as plates ---------- */
.sg-quotes { background: var(--wall); }
.sg-quotes .quotes { margin-top: 44px; gap: 24px; }
.sg-quotes .quote { padding: 0; overflow: hidden; border: 2px solid #000; border-radius: 12px; background: #fff; box-shadow: 0 0 0 6px #fff, var(--shadow-sign); gap: 0; }
.sg-quotes .quote blockquote { flex: 1 1 auto; padding: 28px 28px 24px; }
.sg-quotes .quote blockquote::before { display: none; }
.sg-quotes .quote blockquote p { font-size: clamp(19px, 1rem + .4vw, 22px); font-weight: 600; line-height: 1.5; }
.sg-quotes .quote blockquote p::before { content: "\201C"; }
.sg-quotes .quote blockquote p::after { content: "\201D"; }
.sg-quotes .quote figcaption { padding: 14px 28px 12px; background: #000; color: #fff; }
.sg-quotes .quote__who { font-family: var(--display); font-size: 22px; font-weight: 800; color: var(--sign-yellow); }
.sg-quotes .quote__topic { color: #fff; }

/* ---------- Industries and on-site coverage (asphalt) ---------- */
.sg-road { --focus: var(--sign-yellow); background: var(--asphalt); color: #fff; }
.sg-road__in { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 72px; }
.sg-road h2 { margin: 0; color: #fff; font-size: clamp(2.25rem, 1.7rem + 1.8vw, 3.375rem); line-height: 1; }
.sg-road p { margin: 14px 0 0; max-width: 44ch; font-size: 17px; line-height: 1.6; color: #C9CBC4; }
.sg-finger { position: relative; margin: 30px 0 0; padding: 0 0 0 30px; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.sg-finger::before { content: ""; position: absolute; left: 0; top: -14px; bottom: -14px; width: 12px; border-radius: 3px; background: var(--post); }
.sg-finger li { position: relative; }
.sg-finger li::before { content: ""; position: absolute; left: -18px; top: 20px; width: 20px; height: 8px; background: var(--post); }
.sg-finger a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; padding: 0 16px 0 18px; border-radius: 6px; background: #fff; color: #000; font-weight: 800; font-size: 17px; text-decoration: none; }
.sg-finger a:hover { background: #FFF6CC; color: #000; }
.sg-finger li:last-child a { background: var(--sign-yellow); }
.sg-finger svg { width: 22px; height: 22px; fill: #000; }
.sg-exits { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin: 30px 0 0; padding: 0; list-style: none; }
.sg-exits li { position: relative; padding-top: 16px; }
.sg-exit__tab { position: absolute; top: 0; left: 14px; z-index: 1; padding: 4px 10px 6px; border: 2px solid #fff; border-bottom: 0; border-radius: 6px 6px 0 0; background: var(--hwy); color: #fff; font-family: var(--display); font-size: 15px; font-weight: 900; line-height: 1; letter-spacing: .06em; text-transform: uppercase; }
.sg-exits a { display: block; height: 100%; padding: 4px; border-radius: 10px; background: var(--hwy); color: #fff; text-decoration: none; }
.sg-exits a:hover { background: #00512E; color: #fff; }
.sg-exit__in { display: block; height: 100%; padding: 12px 14px 14px; border: 2px solid #fff; border-radius: 7px; }
.sg-exit__city { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 28px; font-weight: 800; line-height: 1.1; }
.sg-exit__city svg { width: 26px; height: 26px; fill: #fff; }
.sg-exit__note { display: block; margin-top: 4px; font-size: 15px; line-height: 1.4; color: #D3EEDD; }

/* ---------- Breakpoints ---------- */
@media (max-width: 1020px) {
	.sg-hero__in, .sg-247__in, .sg-road__in { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
	.sg-doors { grid-template-columns: minmax(0, 1fr); }
	.sg-floor { padding: 18px; }
	.sg-board__top { padding: 14px 18px 10px; }
}
@media (max-width: 640px) {
	.ticket--sign .ticket__head h2 { font-size: 28px; }
	.sg-tenant { padding: 22px 20px; }
}
