.hero-slide { display: none; }.hero-slide.is-active { display: block; animation: hero-slide-in .35s ease-out; } @keyframes hero-slide-in { from { opacity: .2; transform: translateX(1rem); } to { opacity: 1; transform: translateX(0); } }
.slider-controls { display: flex; align-items: center; gap: .8rem; margin-top: -1.5rem; position: relative; z-index: 3; }.slider-controls button { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border: 1px solid rgba(255,255,255,.35); background: transparent; color: white; font-weight: 800; }.slider-controls button:hover, .slider-controls button:focus-visible { border-color: var(--gold); color: var(--gold-bright); outline: none; }.slider-controls span { color: rgba(255,255,255,.72); font-size: .76rem; font-weight: 800; }
.product-card__hint { display: inline-flex; gap: .35rem; align-items: center; margin-top: auto; padding-top: 1rem; color: #a76700; font-size: .76rem; font-weight: 850; }.product-card__hint i { font-size: 1rem; font-style: normal; }.product-card--feature .product-card__hint { color: var(--ink-deep); }
.website-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-form [type="submit"]:disabled { cursor: wait; opacity: .65; }
@media (prefers-reduced-motion: reduce) { .hero-slide.is-active { animation: none; } }

/* CMS presentation refinements */
.hero { padding: 0; }
.hero-slider { position: relative; }
.hero-slide .hero-grid { min-height: clamp(38rem, 74svh, 49rem); padding-block: clamp(4.25rem, 7vw, 6.25rem); }
.slider-controls { position: absolute; z-index: 3; left: 50%; bottom: 1.2rem; width: min(calc(100% - 2.5rem), var(--container)); margin: 0; transform: translateX(-50%); }

@media (min-width: 48rem) {
  .contact-grid { align-items: stretch; }
  .contact-copy, .contact-form { min-height: 100%; }
  .contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; column-gap: 1.35rem; row-gap: 1rem; }
  .contact-form .form-heading, .contact-form .form-row--message, .contact-form > .button, .contact-form .form-note, .contact-form .form-status { grid-column: 1 / -1; }
  .contact-form .form-heading, .contact-form .form-row { margin: 0; }
  .contact-form .form-row textarea { min-height: 4.75rem; }
  .contact-form > .button { justify-self: start; }
}

@media (max-width: 47.99rem) {
  .site-header .site-nav { color: var(--ink); }
  .hero { height: calc(100svh - 4.75rem); min-height: 0; max-height: calc(100svh - 4.75rem); overflow: hidden; }
  .hero-slider, .hero-slide.is-active { height: 100%; }
  .hero-slide .hero-grid { min-height: 0; height: 100%; align-content: center; gap: 1.25rem; padding: 1.6rem 0 4.3rem; }
  .hero-copy { max-width: 100%; }
  .hero h1 { margin-bottom: .75rem; font-size: clamp(2.05rem, 10vw, 3rem); }
  .hero-lead { margin-bottom: 0; font-size: .93rem; line-height: 1.55; }
  .hero-actions { gap: 1rem; margin-top: 1.25rem; }
  .hero-actions .button { min-height: 2.9rem; }
  .hero-highlights { gap: 1.15rem; margin-top: 1.45rem; }
  .hero-highlights dt { font-size: 1.1rem; }
  .hero-highlights dd { font-size: .68rem; }
  .hero-visual { display: none; }
  .slider-controls { bottom: .7rem; }
}

/* Server-side DeepL language picker: there is no hover gap between button and list. */
.language-picker { position: fixed; z-index: 31; bottom: 1.25rem; left: 1.25rem; font-family: inherit; }
.language-picker__button { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.7rem; padding: .55rem .75rem; border: 1px solid #cbd3d1; border-radius: 0; background: var(--paper); color: var(--ink); box-shadow: 0 .65rem 1.6rem rgba(24,32,34,.16); font-size: .78rem; font-weight: 850; }
.language-picker__flag { font-size: 1.08rem; line-height: 1; }.language-picker__chevron { color: #8a9695; font-size: .6rem; transition: transform .18s ease; }
.language-picker__menu { position: absolute; bottom: calc(100% - 1px); left: 0; display: grid; min-width: 10.4rem; overflow: hidden; border: 1px solid #cbd3d1; border-radius: 0; background: var(--paper); box-shadow: 0 .65rem 1.6rem rgba(24,32,34,.16); opacity: 0; pointer-events: none; transform: translateY(.35rem); transition: opacity .18s ease, transform .18s ease; }
.language-picker__menu a { display:grid;grid-template-columns:1.35rem 1fr auto;align-items:center;gap:.45rem;padding:.6rem .7rem;color:var(--ink);font-size:.78rem;font-weight:750; }
.language-picker__menu a:hover,.language-picker__menu a:focus-visible,.language-picker__menu a.is-current { background:var(--gold-pale); }.language-picker__menu a:focus-visible { outline:2px solid var(--gold); outline-offset:-2px; }.language-picker__menu small { color:#7a8584;font-size:.62rem;font-weight:850;letter-spacing:.06em; }
.language-picker:hover .language-picker__menu,.language-picker:focus-within .language-picker__menu,.language-picker.is-open .language-picker__menu { opacity:1;pointer-events:auto;transform:translateY(0); }.language-picker:hover .language-picker__chevron,.language-picker:focus-within .language-picker__chevron,.language-picker.is-open .language-picker__chevron { transform:rotate(180deg); }
@media (max-width: 47.99rem) { .language-picker { bottom: 1rem; left: 1rem; }.language-picker__button { min-height: 2.55rem; } }
