/* Layout primitives (replaces webflow.css subset) */
.layout-grid {
  display: grid;
  grid-row-gap: var(--space-grid-gap);
  grid-column-gap: var(--space-grid-gap);
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
}

.block-container {
  max-width: var(--container-narrow);
  margin-left: auto;
  margin-right: auto;
  display: block;
}

/* Replaces Webflow .w-container centering removed from markup */
.mastercontainer {
  width: 100%;
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-inline: var(--space-page-inline);
  box-sizing: border-box;
}

.block-container {
  padding-inline: var(--space-page-inline);
  box-sizing: border-box;
}

.hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

a.button,
.button,
input.button,
input[type="submit"].button {
  color: var(--color-button-text);
  background-color: var(--color-button-primary);
}

a.button:hover,
.button:hover,
a.button:focus-visible,
.button:focus-visible {
  color: var(--color-button-text);
  background-color: var(--color-button-primary-hover);
}

.button.navmenu {
  color: var(--color-button-text);
}

@media screen and (max-width: 991px) {
  .block-container {
    max-width: var(--container-tablet);
  }
}

@media screen and (max-width: 767px) {
  .block-container {
    max-width: none;
  }
}

.inline-link {
  max-width: 100%;
  display: inline-block;
}

.list-plain {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

/* Site navigation */
.site-nav {
  position: relative;
  z-index: var(--nav-overlay-z);
}

.site-nav::before,
.site-nav::after {
  content: " ";
  display: table;
}

.site-nav::after {
  clear: both;
}

.site-nav__brand {
  position: relative;
  float: left;
  text-decoration: none;
  color: var(--color-text);
}

.site-nav__menu {
  position: relative;
  float: right;
}

.site-nav__menu[data-nav-menu-open] {
  display: block !important;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  overflow: visible;
  min-width: 200px;
}

.site-nav__link.is-current {
  color: var(--color-text-nav-current);
}

/* Footer theme toggle */
.footer-bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin-top: 2.5rem;
  width: 100%;
}

.footer-theme {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

.footer-theme__label {
  font-family: var(--font-family-base), Georgia, sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: var(--color-text);
}

.legal-entity {
  display: flex;
  flex-direction: column;
  gap: 0.15em;
}

.legal-entity__line {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.35;
}

.contactusdiv .legal-entity__line {
  font-size: 0.75rem;
}

.contactusdiv .legal-entity {
  margin-bottom: 0.35rem;
}

.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0.25rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.theme-toggle:focus {
  outline: 0;
}

.theme-toggle:focus-visible .theme-toggle__track {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 3px;
}

.theme-toggle__track {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 3rem;
  height: 1.625rem;
  padding: 0 0.25rem;
  border-radius: 999px;
  background-color: var(--color-theme-toggle-track);
  border: 1.5px solid var(--color-theme-toggle-border);
  box-sizing: border-box;
  box-shadow: inset 0 1px 2px #00000014;
  transition: background-color var(--duration-theme-toggle) var(--ease-standard),
    border-color var(--duration-theme-toggle) var(--ease-standard);
}

.theme-toggle__thumb {
  position: absolute;
  top: 50%;
  left: 0.2rem;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background-color: var(--color-theme-toggle-thumb);
  border: 1px solid var(--color-theme-toggle-border);
  box-shadow: var(--shadow-toggle-thumb);
  transform: translate(0, -50%);
  transition: transform var(--duration-theme-toggle) var(--ease-standard),
    background-color var(--duration-theme-toggle) var(--ease-standard),
    border-color var(--duration-theme-toggle) var(--ease-standard);
}

html[data-theme="dark"] .theme-toggle__thumb {
  transform: translate(1.35rem, -50%);
  border-color: #8a6f00;
}

.theme-toggle__icon {
  width: 0.7rem;
  height: 0.7rem;
  flex-shrink: 0;
  opacity: 0.9;
  background-color: var(--color-theme-toggle-icon);
  transition: opacity var(--duration-theme-toggle) var(--ease-standard);
}

.theme-toggle__icon--sun {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41' stroke='black' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41' stroke='black' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.theme-toggle__icon--moon {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M21 14.5A8.5 8.5 0 1 1 9.5 3a6.5 6.5 0 1 0 11.5 11.5z'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M21 14.5A8.5 8.5 0 1 1 9.5 3a6.5 6.5 0 1 0 11.5 11.5z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

html[data-theme="dark"] .theme-toggle__icon--sun {
  opacity: 0.4;
}

html[data-theme="light"] .theme-toggle__icon--moon,
:root:not([data-theme="dark"]) .theme-toggle__icon--moon {
  opacity: 0.45;
}

.footer-bottom .copyright {
  margin-top: 0;
}

.site-nav__overlay {
  position: absolute;
  overflow: hidden;
  display: none;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
}

.site-nav__overlay.is-open {
  display: block;
}

@media screen and (max-width: 991px) {
  .site-nav[data-nav-collapse="medium"] .site-nav__overlay {
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    background-color: var(--color-nav-overlay-scrim);
    transition: opacity var(--duration-nav-drawer) var(--ease-standard),
      visibility 0s linear var(--duration-nav-drawer);
  }

  .site-nav[data-nav-collapse="medium"] .site-nav__overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity var(--duration-nav-drawer) var(--ease-standard),
      visibility 0s linear 0s;
  }
}

.site-nav[data-nav-animation="over-right"] .site-nav__overlay,
.site-nav[data-nav-animation="over-right"] .site-nav__menu[data-nav-menu-open] {
  left: auto;
  right: 0;
  z-index: 1;
  top: 0;
  width: auto;
  min-height: 0;
  max-height: var(--nav-drawer-max-height);
}

.site-nav[data-nav-animation="over-left"] .site-nav__overlay,
.site-nav[data-nav-animation="over-left"] .site-nav__menu[data-nav-menu-open] {
  right: auto;
  z-index: 1;
  top: 0;
  width: auto;
}

.site-nav__toggle {
  position: relative;
  float: right;
  padding: 0.5rem;
  font-size: 24px;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  background: transparent;
  border: 0;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
}

.site-nav__toggle:focus {
  outline: 0;
}

.site-nav__toggle.is-open {
  background-color: var(--color-bg-menu-open);
}

.site-nav__toggle-icon {
  display: block;
  width: 1.25em;
  height: 2px;
  background: currentColor;
  box-shadow: 0 0.45em 0 currentColor, 0 0.9em 0 currentColor;
}

@media screen and (max-width: 991px) {
  .site-nav[data-nav-collapse="medium"] .site-nav__toggle {
    display: flex;
  }
}

/* Tabs */
.tabs__menu {
  position: relative;
}

.tabs__link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  cursor: pointer;
  color: var(--color-text);
}

.tabs__link:focus {
  outline: 0;
}

.tabs__content {
  position: relative;
  display: block;
  overflow: hidden;
}

.tabs__pane {
  position: relative;
  display: none;
}

.tabs__pane.is-tab-active {
  display: block;
}

/* Form controls */
.field-input,
.field-textarea {
  display: block;
  width: 100%;
  padding: 8px 12px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.42857143;
  color: var(--color-input-text);
  background-color: var(--color-input-bg);
  border: 1px solid var(--color-input-border);
  font-family: inherit;
}

.field-textarea {
  height: auto;
  min-height: 120px;
}

.field-input::placeholder,
.field-textarea::placeholder {
  color: var(--color-input-placeholder);
}

.field-input:focus,
.field-textarea:focus {
  border-color: var(--color-focus-ring);
  outline: 0;
}

.btn-reset {
  display: inline-block;
  border: 0;
  cursor: pointer;
  line-height: inherit;
  text-decoration: none;
  -webkit-appearance: button;
  font-family: inherit;
}

/* Rich text (privacy policy) */
.richtext::before,
.richtext::after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}

.richtext::after {
  clear: both;
}

.richtext ol,
.richtext ul {
  overflow: hidden;
}

/* Scroll-driven motion */
[data-animate] {
  transition:
    opacity var(--duration-reveal) ease,
    transform var(--duration-reveal) ease;
}

[data-animate="fade-in"] {
  opacity: 0;
}

[data-animate="fade-in"].is-visible {
  opacity: 1;
}

@media (min-width: 992px) {
  [data-animate="slide-in-left"] {
    transform: translate3d(-55px, 0, 0);
  }
}

@media (max-width: 991px) and (min-width: 768px) {
  [data-animate="slide-in-left"] {
    transform: translate3d(-55px, 0, 0);
  }
}

[data-animate="slide-in-left"].is-visible {
  transform: translate3d(0, 0, 0);
}

.pricing-reveal {
  opacity: 0;
}

.pricing-reveal.is-visible {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  [data-animate],
  .pricing-reveal {
    transition: none;
    opacity: 1;
    transform: none;
  }
}

/* Accordion — height animated in site.js */
.accordionitemcontent {
  overflow: hidden;
}

.faqs .accordionwrapper {
  justify-content: flex-start;
}

.faqs .accordionitem {
  height: auto;
}

.faqs .accordionitemcontent {
  height: auto;
  justify-content: flex-start;
}

.faqs .faqheading {
  margin-bottom: 0;
}

.faqs .accordionitemcontent .faq-2 {
  margin-top: 0.375rem;
  margin-bottom: 0;
}

.accordionitem.is-open .accordionitemtrigger .downarrow {
  transform: rotate(180deg);
}

.accordionitemtrigger .downarrow {
  transition: transform 300ms ease;
}

/* Dark mode: text on surfaces (scoped so hero/about top blocks stay unchanged on partial pages) */
html[data-theme="dark"][data-theme-scope="full"] :is(
    .graybox,
    .biggergraybox,
    .processgraybox,
    .faggraybox,
    .grayboxinstagram,
    .blueboxver,
    .divblockaboutus,
    .testimonialwrapper,
    .pricingblock,
    .accordionwrapper,
    .supplychainsection,
    .testimonials,
    .ourservices2,
    .faqs,
    .section-7,
    .footer,
    .contactdiv,
    .privacypolicy,
    .listheaderleft,
    .listdescription,
    .testimonialparagraph,
    .testimonialposition,
    .text-block-4,
    .text-block-7,
    .mailphone,
    .companyname,
    .legal-entity__line,
    .address,
    .socialstext,
    .formexptext,
    .processparagraph,
    .heading-5,
    .longparagraph-2,
    .tab-link,
    .faq-2,
    .smalltext
  ),
html[data-theme="dark"][data-theme-scope="partial"] .hero ~ * :is(
    .graybox,
    .biggergraybox,
    .processgraybox,
    .faggraybox,
    .grayboxinstagram,
    .blueboxver,
    .divblockaboutus,
    .testimonialwrapper,
    .pricingblock,
    .accordionwrapper,
    .supplychainsection,
    .testimonials,
    .ourservices2,
    .faqs,
    .section-7,
    .footer,
    .listheaderleft,
    .listdescription,
    .testimonialparagraph,
    .testimonialposition,
    .text-block-4,
    .heading-5,
    .longparagraph-2,
    .tab-link,
    .faq-2,
    .smalltext
  ),
html[data-theme="dark"][data-theme-scope="partial"] .aboutus ~ * :is(
    .graybox,
    .biggergraybox,
    .processgraybox,
    .faggraybox,
    .grayboxinstagram,
    .blueboxver,
    .divblockaboutus,
    .testimonialwrapper,
    .accordionwrapper,
    .ourservices2,
    .faqs,
    .section-7,
    .footer,
    .heading-5,
    .longparagraph-2,
    .tab-link,
    .faq-2,
    .smalltext
  ) {
  color: var(--color-text);
}

html[data-theme="dark"][data-theme-scope="full"] :is(.testimonialposition, .processparagraph),
html[data-theme="dark"][data-theme-scope="partial"] .hero ~ * :is(.testimonialposition, .processparagraph),
html[data-theme="dark"][data-theme-scope="partial"] .aboutus ~ * :is(.testimonialposition, .processparagraph) {
  color: var(--color-text-muted);
}

/* Pricing cards: package blurbs stay secondary to headings */
html[data-theme="dark"][data-theme-scope="full"] .pricingblock .pricingpackage .smalltext:not(.blue),
html[data-theme="dark"][data-theme-scope="partial"] .hero ~ * .pricingblock .pricingpackage .smalltext:not(.blue),
html[data-theme="dark"][data-theme-scope="partial"] .aboutus ~ * .pricingblock .pricingpackage .smalltext:not(.blue) {
  color: var(--color-text-muted);
}

html[data-theme="dark"] .grid-pricing__quote {
  color: var(--color-text-muted);
}

/* Contact page card (full or partial scope; variables inherit from .contact-page-hero) */
html[data-theme="dark"] .section-8.contact-page-hero :is(
    .contactdiv,
    .contactusdiv,
    .companyname,
    .address,
    .socialstext,
    .formexptext,
    .formboxwrapper label
  ) {
  color: var(--color-text);
}

html[data-theme="dark"] .section-8.contact-page-hero :is(.formexptext) {
  color: var(--color-text-muted);
}

html[data-theme="dark"][data-theme-scope="full"] :is(
    .smalltext.blue,
    .focusspan,
    .faqheading,
    .moneyheading,
    .moneyheading-3-2,
    .h2textblock .focusspan
  ),
html[data-theme="dark"][data-theme-scope="partial"] .hero ~ * :is(
    .smalltext.blue,
    .focusspan,
    .faqheading,
    .moneyheading,
    .moneyheading-3-2
  ),
html[data-theme="dark"][data-theme-scope="partial"] .aboutus ~ * :is(
    .smalltext.blue,
    .focusspan,
    .faqheading,
    .moneyheading,
    .moneyheading-3-2
  ) {
  color: var(--color-text-accent);
}

/* Footer: explicit colors (footer is a direct body sibling on partial pages) */
html[data-theme="dark"] .footer {
  color: var(--palette-dark-text);
}

html[data-theme="dark"] .footer :where(
    .footer-heading,
    .footer-theme__label,
    .copyright,
    .text-block-7,
    .legal-entity__line,
    .mailphone,
    .footerdiv,
    .footer-flex-container,
    .footer-grid__brand,
    .footer-grid__address,
    .footer-grid__legal,
    .footer-contact-row,
    .footer-logo-link,
    .list-plain,
    .list-plain li
  ) {
  color: var(--palette-dark-text);
}

html[data-theme="dark"] .footer :where(.footer-link, a) {
  color: var(--palette-dark-text-muted);
}

html[data-theme="dark"] .footer :where(.footer-link:hover, a:hover) {
  color: var(--palette-goldenrod);
}

.footer-logo--dark {
  display: none;
}

html[data-theme="dark"] .footer-logo--light {
  display: none;
}

html[data-theme="dark"] .footer-logo--dark {
  display: block;
}

/* Dark mode: mono SVG icons ship dark (mail, phone, FAQ chevrons) */
html[data-theme="dark"] .footer-contact-row > img,
html[data-theme="dark"] .contact-info-row > img[src*="mail.svg"],
html[data-theme="dark"] .contact-info-row > img[src*="phone.svg"],
html[data-theme="dark"] .downarrow {
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

/* Nav: dark mode keeps white logo (ignore scroll swap to blue) */
.site-nav:not(.transparent) .nav-logo--theme-dark {
  display: none;
}

html[data-theme="dark"] .site-nav:not(.transparent) .nav-logo--theme-light {
  display: none;
}

html[data-theme="dark"] .site-nav:not(.transparent) .nav-logo--theme-dark {
  display: block;
  position: relative;
  opacity: 1;
}

html[data-theme="dark"] .navbar.transparent .nav-logo--theme-light,
html[data-theme="dark"] .navbar.transparent.is-scrolled .nav-logo--theme-light {
  opacity: 0 !important;
}

html[data-theme="dark"] .navbar.transparent .nav-logo--theme-dark,
html[data-theme="dark"] .navbar.transparent.is-scrolled .nav-logo--theme-dark {
  opacity: 1 !important;
  position: relative;
}

html[data-theme="dark"] .site-nav__link.is-current {
  color: var(--color-text-nav-current);
}

/* Transparent navbar after scroll — liquid glass */
.navbar.transparent {
  transition:
    background-color 300ms ease,
    border-color 300ms ease;
}

.navbar.transparent.is-scrolled {
  background-color: var(--color-bg-nav-scrolled);
  border-bottom: 1px solid var(--color-border-nav-scrolled);
}

/* Blur on ::before so fixed mobile drawer is not anchored to the document top */
.navbar.transparent.is-scrolled::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  -webkit-backdrop-filter: blur(18px) saturate(1.35);
  backdrop-filter: blur(18px) saturate(1.35);
  transition: opacity 300ms ease;
}

.navbar.transparent.is-scrolled .nav-link.white {
  color: var(--color-text);
}

.navbar.transparent.is-scrolled .icon.white,
.navbar.transparent.is-scrolled .site-nav__toggle-icon.white {
  color: var(--color-text);
}

.navbar.transparent.is-scrolled .div-block-49 {
  background-color: var(--color-bg-nav-divider);
}

html[data-theme="dark"] .navbar.transparent.is-scrolled .nav-link.white {
  color: var(--color-text);
}

html[data-theme="dark"] .navbar.transparent.is-scrolled .site-nav__link.is-current {
  color: var(--color-text-nav-current);
}

/* Lottie containers need explicit size */
.playlottie {
  width: 100%;
  height: 100%;
  min-width: 4.5rem;
  min-height: 4.5rem;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.playlottie svg {
  width: 100% !important;
  height: 100% !important;
  max-width: 5.5rem;
  max-height: 5.5rem;
  display: block;
}

/* Hero play control — centered on video (overrides legacy Webflow inset) */
#play-button.video-overlay-button {
  width: 7rem;
  height: 7rem;
  min-width: 7rem;
  min-height: 7rem;
  max-width: none;
  max-height: none;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  margin: 0;
  padding: 0;
  transform: translate(-50%, -50%);
}

#play-button .playlottie {
  position: relative;
  inset: auto;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}

#play-button .playlottie svg {
  width: 100% !important;
  height: 100% !important;
  max-width: 7rem;
  max-height: 7rem;
  margin: auto;
}

.lottie-mouse {
  width: 30px;
  height: 60px;
}

.confirmlottie,
._404lottie {
  width: 100px;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
}

.lottie-host svg {
  width: 100% !important;
  height: 100% !important;
}

/* About hero intro block */
.aboutus .mastercontainer {
  justify-content: center;
  align-items: center;
}

.aboutus .graybox {
  align-items: center;
  width: 100%;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

.divblockaboutus {
  text-align: center;
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
  padding: 1.25rem 1.5rem;
}

.divblockaboutus .heading-5,
.divblockaboutus .longparagraph-2 {
  text-align: center;
}

.divblockaboutus .line {
  margin-left: auto;
  margin-right: auto;
}

/* Dark mode: darken hero background photos */
html[data-theme="dark"] .hero,
html[data-theme="dark"] .aboutus,
html[data-theme="dark"] .section-8.contact-page-hero {
  background-image:
    linear-gradient(var(--color-hero-scrim), var(--color-hero-scrim)),
    url("../images/hero-background.jpg");
}

/* Contact page — same hero shell as home (bg behind transparent navbar) */
.section-8.contact-page-hero {
  background-image: url("../images/hero-background.jpg");
  background-position: 50%;
  background-size: cover;
  background-attachment: scroll;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  margin-top: -100px;
  margin-bottom: 0;
  padding-top: 7.5rem;
  padding-bottom: 2.5rem;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  width: 100%;
  box-sizing: border-box;
}

.section-8.contact-page-hero .bigheadingnoanime {
  color: var(--palette-white);
  margin-bottom: 0.5rem;
}

/* Contact page layout */
.section-8 {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.contactdiv {
  width: 100%;
  max-width: 100%;
  gap: 2rem;
  align-items: flex-start;
  flex-wrap: wrap;
  background-color: var(--color-bg-card);
  border: 1px solid var(--color-border-default);
  box-sizing: border-box;
}

.contactusdiv {
  flex: 1 1 16rem;
  min-width: min(100%, 16rem);
}

.form-block {
  flex: 1 1 22rem;
  min-width: min(100%, 20rem);
  max-width: none;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

.formboxwrapper {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 0.25rem;
}

.formboxwrapper label {
  margin-bottom: 0.15rem;
}

.form .field-input,
.form .field-textarea {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 0;
}

.form {
  width: 100%;
}

.form-block-done,
.form-block-fail {
  display: none;
}

.form__error {
  color: var(--palette-tomato);
  font-size: 14px;
  margin-top: 5px;
}

/* Footer: no box border (main.css sets 1px on all sides) */
body .footer {
  border: none;
}

/* Language picker — bottom-right glass dropdown */
.lang-picker {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right, 0px));
  bottom: max(1rem, env(safe-area-inset-bottom, 0px));
  z-index: var(--lang-picker-z);
  font-family: var(--font-family-base), Georgia, sans-serif;
}

.lang-picker__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  min-height: 2.75rem;
  padding: 0.5rem 0.875rem 0.5rem 0.625rem;
  border-radius: 14px;
  border: 1px solid var(--color-lang-glass-border);
  background-color: var(--color-lang-glass-bg);
  box-shadow: var(--shadow-lang-glass);
  -webkit-backdrop-filter: blur(var(--lang-glass-blur));
  backdrop-filter: blur(var(--lang-glass-blur));
  cursor: pointer;
  color: var(--color-text);
  outline: none;
  font: inherit;
  -webkit-appearance: none;
  appearance: none;
}

.lang-picker__trigger:focus-visible {
  box-shadow: var(--shadow-lang-glass), 0 0 0 2px var(--color-focus-ring);
}

.lang-picker__current {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}

.lang-picker__chevron {
  width: 0.5rem;
  height: 0.5rem;
  margin-left: 0.125rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  opacity: 0.65;
  transition: transform var(--duration-theme-toggle) var(--ease-standard);
}

.lang-picker__flag {
  display: block;
  width: 1.75rem;
  height: auto;
  border-radius: 4px;
  box-shadow: 0 0 0 1px #00000014;
  flex-shrink: 0;
}

.lang-picker__menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 0.5rem);
  min-width: 11.5rem;
  padding: 0.625rem;
  border-radius: 16px;
  border: 1px solid var(--color-lang-glass-border);
  background-color: var(--color-lang-glass-bg);
  box-shadow: var(--shadow-lang-glass);
  -webkit-backdrop-filter: blur(var(--lang-glass-blur));
  backdrop-filter: blur(var(--lang-glass-blur));
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.5rem) scale(0.98);
  transform-origin: bottom right;
  transition:
    opacity var(--duration-theme-toggle) var(--ease-standard),
    visibility var(--duration-theme-toggle) var(--ease-standard),
    transform var(--duration-theme-toggle) var(--ease-standard);
  pointer-events: none;
}

.lang-picker__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 0.75rem;
  border-radius: 10px;
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.2;
  transition: background-color var(--duration-theme-toggle) var(--ease-standard);
}

.lang-picker__item:hover,
.lang-picker__item:focus-visible {
  background-color: var(--color-lang-glass-item-hover);
  outline: none;
}

.lang-picker__item.is-current {
  background-color: var(--color-lang-glass-item-hover);
}

.lang-picker.is-open .lang-picker__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.lang-picker.is-open .lang-picker__chevron {
  transform: rotate(-135deg) translateY(1px);
}

.privacy-notice {
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--color-border-footer-mobile);
  border-radius: 4px;
  font-size: 0.9375rem;
  line-height: 1.5;
}

