/* Scoped footer additions; existing page layouts and animation CSS stay intact. */
.gobot-footer-brand {
  display: block;
  position: relative;
  width: 200px;
  max-width: 100%;
  height: 58px;
  overflow: hidden;
  border-radius: 4px;
  background: #fff;
  flex: 0 0 auto;
  cursor: pointer;
}
/* The supplied square SVG has large white margins. Crop those margins in the
   wrapper without stretching, recoloring or modifying the original asset. */
.gobot-footer-brand img {
  position: absolute;
  width: 270px;
  height: 270px;
  max-width: none;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
footer > .gobot-footer-brand { margin: 0 auto 22px; }
.footer-logo .gobot-footer-brand { width: 240px; height: 68px; }
.footer-logo .gobot-footer-brand img { width: 320px; height: 320px; }
.gobot-footer-details {
  max-width: 1200px;
  margin: 24px auto 0;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.16);
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: normal;
  text-transform: none;
  color: #eee8ef;
  overflow-wrap: anywhere;
}
.gobot-footer-details p { margin: 0 0 4px; color: inherit; }
.gobot-footer-details a { color: inherit; text-decoration: underline; cursor: pointer; }
.gobot-footer-details address { margin: 8px 0; font: inherit; }
.legal-footer { flex-wrap: wrap; }
.legal-footer > .gobot-footer-brand { margin: 0; }
.legal-footer .gobot-footer-details { flex: 0 0 100%; margin-top: 4px; }
.gobot-cookie-settings {
  display: inline-block;
  appearance: none;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
.gobot-consent[hidden] { display: none !important; }
.gobot-consent {
  position: fixed;
  z-index: 2147483647;
  bottom: 16px;
  left: 16px;
  right: 16px;
  max-width: 1000px;
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  margin: 0 auto;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 24px;
  border: 1px solid #b9aabc;
  border-radius: 14px;
  background: #fcfcfc;
  color: #151315;
  box-shadow: 0 8px 36px rgba(0,0,0,.18);
  font: 14px/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: normal;
  text-transform: none;
  cursor: auto;
}
.gobot-consent h2 { margin: 0 0 6px; font: bold 17px/1.4 Arial, Helvetica, sans-serif; color: #151315; }
.gobot-consent p { margin: 0; font: inherit; color: inherit; }
.gobot-consent a { color: #60416c; text-decoration: underline; cursor: pointer; }
.gobot-consent-actions { display: flex; gap: 10px; flex-shrink: 0; }
.gobot-consent button {
  border: 1px solid #60416c;
  border-radius: 24px;
  padding: 10px 14px;
  background: #fff;
  color: #60416c;
  font: bold 13px/1.4 Arial, Helvetica, sans-serif;
  cursor: pointer;
}
.gobot-consent button:hover { background: #ede7f0; }
.gobot-consent :focus-visible, .gobot-cookie-settings:focus-visible,
.gobot-footer-brand:focus-visible { outline: 3px solid #a782b2; outline-offset: 4px; }
@media (max-width: 800px) {
  .gobot-consent { flex-direction: column; align-items: stretch; gap: 14px; padding: 16px; }
  .gobot-consent-actions { flex-wrap: wrap; }
  .gobot-consent-actions button { flex: 1; }
}
/* Contact markup references legacy shared tokens absent from style.css.
   Supply only the scoped compatibility styles needed to make that form usable. */
.gobot-contact-page {
  --surface: #fcfcfc; --border: #d9d9d9; --ink: #151315;
  --ink-muted: #737373; --accent: #60416c; --accent-deep: #60416c;
  --accent-glow: rgba(96,65,108,.15); --font-body: Inter, sans-serif;
  --ease: cubic-bezier(.2,.65,.3,1);
  cursor: auto;
}
.gobot-contact-page a, .gobot-contact-page button { cursor: pointer; }
.gobot-contact-page .container { width: calc(100% - 48px); max-width: 1200px; margin: 0 auto; }
.gobot-contact-page .loader { display: none; }
.gobot-contact-page .nav-wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; }
.gobot-contact-page .logo { display: flex; align-items: center; gap: 8px; font-size: 22px; font-weight: 700; }
.gobot-contact-page .logo-mark { width: 32px; height: 20px; flex-shrink: 0; fill: none; stroke: #60416c; stroke-width: 2px; }
.gobot-contact-page .main-nav { display: flex; gap: 20px; font-size: 13px; }
.gobot-contact-page .btn { display: inline-block; padding: 12px 20px; border: 1px solid #60416c; border-radius: 100px; font: 600 14px/1.4 Inter, sans-serif; text-align: center; }
.gobot-contact-page .btn-primary { background: #60416c; color: #fff; }
.gobot-contact-page .btn-outline, .gobot-contact-page .btn-ghost { background: transparent; color: #60416c; }
.gobot-contact-page .btn:hover { opacity: .88; }
.gobot-contact-page .contact-form, .gobot-contact-page .contact-info { min-width: 0; }
.gobot-contact-page .info-line, .gobot-contact-page .gobot-form-note { overflow-wrap: anywhere; }
.gobot-contact-page .gobot-form-note { font-size: 13px; line-height: 1.6; color: #737373; }
.gobot-contact-page .contact-info a, .gobot-contact-page .gobot-form-note a { text-decoration: underline; }
.gobot-contact-page .success-panel { grid-column: 1 / -1; }
.gobot-contact-page .success-panel.show { animation: none; }
.gobot-contact-page .success-panel .btn { margin-top: 16px; }
.gobot-contact-page .site-footer { padding: 40px 24px; background: #151315; color: #fff; }
.gobot-contact-page .footer-wrap { display: flex; justify-content: space-between; gap: 30px; }
.gobot-contact-page .footer-wrap a:not(.gobot-footer-brand) { display: block; margin-top: 8px; }
.gobot-contact-page .footer-wrap p { margin-top: 12px; max-width: 270px; }
.gobot-contact-page .copyright { max-width: 1200px; margin: 24px auto 0; font-size: 12px; }
@media (max-width: 1000px) { .gobot-contact-page .main-nav { display: none; } }
@media (max-width: 700px) {
  .gobot-contact-page .container { width: calc(100% - 32px); }
  .gobot-contact-page .contact-form { padding: 30px 20px; }
  .gobot-contact-page .nav-wrap { flex-wrap: wrap; gap: 12px; }
  .gobot-contact-page .nav-actions { flex-wrap: wrap; gap: 8px; }
  .gobot-contact-page .btn { padding: 10px 14px; }
  .gobot-contact-page .footer-wrap { flex-wrap: wrap; }
}
/* Legacy contact heading referenced a keyframe absent from the shared CSS. */
@keyframes gobot-contact-fade { to { opacity: 1; transform: translateY(0); } }
.gobot-contact-page .word-cascade { animation-name: gobot-contact-fade; }
@media (prefers-reduced-motion: reduce) {
  .gobot-contact-page .word-cascade,
  .gobot-contact-page .cascade-heading .word { animation: none; opacity: 1; filter: none; transform: none; }
}
