.site-footer { padding: 76px max(20px, calc((100% - 1180px) / 2)) 26px; color: #E8E4DC; background: #333333; }
.site-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1.25fr; gap: 72px; padding-bottom: 56px; }
.site-logo--footer { color: #fff; }
.site-footer__brand .site-logo { display: flex; width: fit-content; margin-bottom: 18px; }
.site-footer .site-logo__image { display: block; width: min(200px, 100%); height: auto; }
.site-footer__brand > p { margin: 0 0 20px; }
.site-logo--footer .site-logo__mark { color: var(--color-primary-dark); background: #fff; }
.site-footer h2 { margin-bottom: 17px; color: #fff; font-size: 1rem; letter-spacing: 0; }
.site-footer p { max-width: 340px; font-size: .9rem; }
.site-footer ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: .87rem; }
.footer-contact li { display: grid; gap: 2px; }
.footer-contact strong { color: #ffffff; font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }
.footer-contact span, .footer-contact a { color: #E8E4DC; }
.footer-social { display: flex; flex-wrap: wrap; gap: 12px 18px; margin: 0 0 24px; font-size: .78rem; font-weight: 800; }
.footer-social a { display: inline-flex; gap: 7px; align-items: center; }
/* C4 2026-08-30: four saturated platform colors fought the restrained gold/charcoal
   palette, and the platform name sits next to every icon, so color is not carrying
   recognition. Outline chips inherit the surrounding text color instead, which keeps
   one treatment working on both the dark footer and the light contact chips. */
.social-icon { display: inline-grid; flex: 0 0 24px; width: 24px; height: 24px; place-items: center; border: 1px solid currentColor; border-radius: 6px; color: inherit; background: transparent; font-family: Arial, sans-serif; font-size: .72rem; font-weight: 900; letter-spacing: -.04em; line-height: 1; }
.social-icon--tiktok { font-size: 1rem; }
.social-icon--facebook { border-radius: 50%; font-family: Arial, sans-serif; font-size: 1.1rem; text-transform: lowercase; }
.social-icon--youtube { width: 27px; flex-basis: 27px; border-radius: 7px; }
.social-icon__play { width: 0; height: 0; margin-left: 2px; border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-left: 7px solid currentColor; }
.site-footer a:hover { color: #fff; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 24px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .18); font-size: .76rem; }
.site-footer__bottom p { margin: 0; }
.site-footer__bottom div { display: flex; flex-wrap: wrap; gap: 18px; }
.quote-dialog { position: fixed; top: 50%; left: 50%; width: min(820px, calc(100% - 32px)); max-height: calc(100dvh - 32px); margin: 0; padding: 0; overflow: auto; border-radius: 24px; color: var(--color-text); background: #fff; box-shadow: var(--shadow); transform: translate(-50%, -50%); }
.quote-dialog__content { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; padding: 44px; }
.quote-dialog__close { position: absolute; top: 14px; right: 16px; display: grid; width: 38px; height: 38px; place-items: center; padding: 0; border: 0; border-radius: 50%; color: var(--color-text); background: var(--color-soft); font-family: Arial, sans-serif; font-size: 1.65rem; font-weight: 400; line-height: 1; }
.quote-dialog__close::first-letter { transform: translateY(-1px); }
.quote-dialog h2 { font-size: 2.1rem; }
.quote-dialog__details { display: grid; gap: 14px; margin: 28px 0 0; padding: 0; list-style: none; }
.quote-dialog__details li { display: grid; gap: 2px; padding-bottom: 12px; border-bottom: 1px solid var(--color-line); font-size: .86rem; }
.quote-dialog__details strong { color: var(--color-primary-dark); }
.quote-form { display: grid; gap: 15px; align-content: start; }
.quote-form label, .hero-form label { display: grid; gap: 6px; color: var(--color-text); font-size: .78rem; font-weight: 800; }
.quote-form input, .quote-form textarea, .hero-form input, .hero-form textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--color-line); border-radius: 10px; color: var(--color-text); background: #fff; transition: border-color .2s ease, box-shadow .2s ease; resize: vertical; }
.quote-form input:focus-visible, .quote-form textarea:focus-visible, .hero-form input:focus-visible, .hero-form textarea:focus-visible { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(184, 150, 90, .16); }
.form-status { min-height: 1.3em; margin: 0; color: var(--color-primary-dark); font-size: .8rem; font-weight: 700; }
@media (max-width: 760px) { .site-footer__grid, .quote-dialog__content { grid-template-columns: 1fr; gap: 34px; } .site-footer__bottom { flex-direction: column; } .quote-dialog__content { padding: 34px 24px; } }
