/* RUNMEE V3: shared typography, sections and responsive content. */
:root {
  --ink:#183a32;
  --green:#008767;
  --paper:#f7f5ef;
  --light:#eeeee5;
  --line:#d7dfd6;
  --muted:#64756d;
  --gold:#b99767
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:95px
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:16px/1.7 Arial,Helvetica,sans-serif
}
h1, h2, h3, p {
  margin-top:0
}
h1, h2 {
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.045em
}
h1 {
  font-size:clamp(40px,4.8vw,74px)
}
h2 {
  font-size:clamp(32px,3.5vw,52px)
}
h3 {
  font-size:22px;
  line-height:1.35;
  font-weight:500
}
p {
  color:var(--muted)
}
a {
  color:inherit;
  text-decoration:none
}
button, input, select, textarea {
  font:inherit
}
button {
  cursor:pointer
}
img {
  display:block;
  max-width:100%
}
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:4px
}
.eyebrow {
  font-size:10px!important;
  letter-spacing:.15em;
  font-weight:700;
  text-transform:uppercase;
  color:var(--green);
  margin-bottom:23px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  background:var(--green);
  color:white;
  padding:14px 22px;
  border:1px solid var(--green);
  font-size:13px;
  font-weight:600;
  line-height:1.45;
  transition:background .2s
}
.button:hover {
  background:#006a52
}
.button.secondary {
  background:transparent;
  color:var(--ink);
  border-color:#a6bdb0
}
.button.small {
  padding:11px 16px;
  font-size:12px
}
.text-link {
  background:none;
  border:0;
  border-bottom:1px solid #a8bbad;
  padding:0 0 7px;
  display:inline-flex;
  gap:22px;
  align-items:center;
  font-size:13px;
  color:var(--ink);
  cursor:pointer
}
.text-link:hover {
  color:var(--green)
}
.section {
  padding:90px 7%
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:50px;
  margin-bottom:42px
}
.section-heading h2 {
  margin-bottom:0
}
.section-heading>p {
  max-width:380px;
  margin-bottom:5px;
  font-size:15px
}
.about {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:45px 8%
}
.about>div>p:not(.eyebrow) {
  font-size:15px
}
.about .lead {
  font-size:23px!important;
  color:var(--ink)
}
.values {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:45px;
  border-top:1px solid var(--line);
  padding-top:35px
}
.values span {
  font-size:11px;
  color:var(--green)
}
.values h3 {
  font-size:19px;
  margin:18px 0 10px
}
.values p {
  font-size:13px;
  margin:0
}
.portfolio {
  background:#e9eee6
}
.solution-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px
}
.solution-grid article {
  background:var(--paper);
  transition:transform .2s
}
.solution-grid article:hover {
  transform:translateY(-5px)
}
.solution-grid img {
  aspect-ratio:1.1;
  width:100%;
  object-fit:cover
}
.card-copy {
  padding:25px 22px
}
.card-index {
  font-size:10px;
  color:var(--gold)
}
.card-copy h3 {
  margin:10px 0 17px;
  min-height:58px
}
.card-copy p {
  font-size:13px;
  line-height:1.7;
  min-height:110px
}
.card-copy .text-link {
  font-size:11px
}
.custom {
  margin:0;
  padding:60px 7%;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:60px
}
.custom>div {
  max-width:720px
}
.custom h2 {
  font-size:32px;
  margin-bottom:15px
}
.custom p:not(.eyebrow) {
  font-size:14px;
  margin:0
}
.custom .button {
  flex-shrink:0;
  max-width:260px
}
.process {
  background:#19382f;
  color:#f5f3e9
}
.process .eyebrow {
  color:#b7d8ad
}
.process ol {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:35px;
  padding:0;
  margin:45px 0 25px
}
.process li {
  border-top:1px solid #668174;
  padding-top:20px
}
.process li>span {
  font-size:12px;
  color:#aec99e
}
.process h3 {
  margin:20px 0 15px
}
.process li p {
  font-size:14px;
  color:#b7cbbf
}
.fine {
  font-size:11px!important;
  color:var(--muted);
  line-height:1.7
}
.process .fine {
  color:#9cb3a3
}
.guide-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px
}
.guide-grid article {
  border:1px solid var(--line);
  padding:35px;
  background:#fff9
}
.guide-grid h3 {
  font-size:28px;
  max-width:520px;
  line-height:1.3
}
.guide-grid p {
  font-size:15px
}
.faq {
  padding-top:25px;
  max-width:1150px;
  margin:auto
}
.faq details {
  border-bottom:1px solid var(--line);
  padding:22px 0
}
.faq summary {
  font-size:17px;
  cursor:pointer;
  list-style:none;
  display:flex;
  gap:25px;
  justify-content:space-between
}
.faq summary:after {
  content:'+';
  font-size:24px;
  color:var(--green);
  line-height:1
}
.faq details[open] summary:after {
  content:'−'
}
.faq details p {
  margin:20px 0 0;
  font-size:14px;
  max-width:820px
}
.contact {
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:8%;
  background:#e7ece1
}
.contact>div>p:not(.eyebrow) {
  max-width:400px
}
.contact-link {
  display:block;
  font-size:21px;
  margin-bottom:7px
}
.qr-card {
  display:flex;
  align-items:center;
  gap:22px;
  margin-top:33px;
  padding:22px;
  border:1px solid #c6d2bf;
  border-radius:3px;
  background:#fbfaf4;
  max-width:410px
}
.qr-card button {
  background:#fff;
  padding:0;
  border:0;
  flex-shrink:0
}
.qr-card img {
  width:124px;
  height:124px
}
.qr-card .eyebrow {
  font-size:8px!important;
  margin-bottom:5px;
  color:var(--gold)
}
.qr-card h3 {
  font:26px Georgia,serif;
  margin-bottom:6px
}
.qr-card p {
  font-size:11px;
  margin-bottom:10px
}
.qr-card .text-link {
  font-size:11px
}
.contact form {
  background:var(--paper);
  padding:34px
}
.contact form h3 {
  font-size:25px;
  margin-bottom:28px
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 18px
}
label {
  display:block;
  font-size:12px;
  font-weight:600;
  margin-bottom:17px
}
input, select, textarea {
  width:100%;
  display:block;
  padding:11px 12px;
  margin-top:7px;
  border:1px solid #d0dace;
  background:#fff8;
  border-radius:0;
  color:var(--ink);
  font-size:13px;
  min-width:0
}
textarea {
  resize:vertical
}
.consent {
  display:flex;
  align-items:flex-start;
  gap:9px;
  font-size:11px;
  font-weight:400
}
.consent input {
  width:15px;
  flex-shrink:0;
  margin:3px 0 0
}
.form-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px
}
.form-actions .button {
  font-size:12px;
  padding:12px 17px
}
.contact form .fine {
  margin-bottom:0
}
.page-intro {
  padding:65px 7% 55px;
  border-bottom:1px solid var(--line)
}
.page-intro h1 {
  max-width:1050px;
  margin-bottom:24px
}
.page-intro>p:not(.eyebrow) {
  max-width:740px;
  font-size:18px;
  margin-bottom:0
}
.detail {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:60px;
  align-items:center
}
.detail-image img {
  width:100%;
  aspect-ratio:1.3;
  object-fit:cover
}
.detail .lead {
  font-size:23px;
  color:var(--ink)
}
.features {
  list-style:none;
  padding:0;
  margin:25px 0 35px
}
.features li {
  padding:10px 0;
  border-bottom:1px solid var(--line);
  font-size:14px
}
.features li:before {
  content:'↗';
  margin-inline-end:13px;
  color:var(--green)
}
.specification {
  background:#e9eee6;
  padding-top:60px;
  padding-bottom:60px
}
.specification h2 {
  font-size:34px
}
.home-range {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px
}
.home-range article {
  background:var(--paper);
  padding:25px
}
.home-range h3 {
  font-size:25px;
  margin-bottom:10px
}
.home-range p {
  font-size:12px;
  min-height:42px
}
.home-range dt {
  font-size:10px;
  text-transform:uppercase;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding-top:12px
}
.home-range dd {
  font-size:34px;
  font-weight:400;
  margin:0 0 12px
}
.home-range dd small {
  font-size:16px
}
.home-range .text-link {
  font-size:11px
}
.table-scroll {
  overflow:auto
}
table {
  width:100%;
  border-collapse:collapse;
  background:var(--paper);
  font-size:14px
}
th, td {
  padding:16px 22px;
  text-align:start;
  border-bottom:1px solid var(--line)
}
thead {
  background:#dbe5d6
}
tbody th {
  font-weight:400
}
.product-display {
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:70px;
  align-items:center;
  background:#fff
}
.product-display img {
  width:100%;
  height:350px;
  object-fit:contain
}
.product-display h2 {
  font-size:40px
}
.solution-notes {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px 60px
}
.solution-notes h2 {
  font-size:28px
}
.solution-notes p:not(.fine) {
  font-size:15px
}
.solution-notes .fine {
  grid-column:1/-1
}
.social-band {
  padding:55px 7%;
  background:#e5ebe0
}
.social-band h2 {
  font-size:32px
}
.social-band>p {
  max-width:730px
}
.social-links {
  display:flex;
  gap:25px
}
.reading {
  max-width:890px;
  margin:auto;
  padding:60px 30px
}
.reading section {
  margin-bottom:45px
}
.reading h2 {
  font-size:30px
}
.reading p {
  font-size:17px;
  line-height:1.9
}
.share {
  border-block:1px solid var(--line);
  padding:23px 0;
  margin:45px 0 30px;
  display:flex;
  gap:20px;
  align-items:center;
  flex-wrap:wrap
}
.share>span {
  font-size:12px;
  color:var(--muted)
}
.share button {
  padding:8px 12px;
  background:transparent;
  border:1px solid var(--line);
  color:var(--ink);
  font-size:12px
}
.share-status {
  flex-basis:100%;
  margin:0
}
footer {
  padding:50px 7% 30px;
  display:grid;
  grid-template-columns:1fr 1.4fr 1fr;
  gap:30px;
  font-size:12px
}
footer strong {
  font-size:27px;
  letter-spacing:.1em
}
footer p {
  font-size:12px
}
footer>div:first-child p {
  font-family:Georgia,serif;
  margin-top:9px
}
.footer-nav {
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:flex-start
}
.footer-bottom {
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid var(--line);
  padding-top:22px;
  font-size:10px
}
.privacy-open {
  background:none;
  border:0;
  font-size:10px;
  color:var(--ink);
  padding:0
}
.chat-float {
  position:fixed;
  bottom:22px;
  inset-inline-end:23px;
  background:var(--green);
  color:white;
  border-radius:50%;
  width:49px;
  height:49px;
  display:grid;
  place-items:center;
  box-shadow:0 4px 20px #122e3030;
  z-index:25;
  border:2px solid #f4f5e9
}
dialog {
  max-width:520px;
  width:calc(100% - 36px);
  max-height:90vh;
  overflow:auto;
  border:0;
  padding:40px;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 20px 90px #10251c66
}
dialog::backdrop {
  background:#0c251dc9
}
#modal-close {
  position:absolute;
  top:8px;
  inset-inline-end:12px;
  font-size:27px;
  background:none;
  border:0;
  color:var(--ink)
}
dialog h2 {
  font-size:32px
}
dialog img {
  width:300px;
  max-width:100%;
  margin:20px auto
}
dialog p {
  font-size:14px
}
.skip {
  position:fixed;
  top:-100px;
  background:white;
  z-index:60;
  padding:10px
}
.skip:focus {
  top:0
}
[hidden] {
  display:none!important
}
[dir=rtl] h1, [dir=rtl] h2, [dir=rtl] h3, [dir=rtl] .eyebrow {
  letter-spacing:0
}
[dir=rtl] input[type=email] {
  text-align:left
}
@media(min-width:1900px) {
.section {
  padding-inline:max(7%,calc((100% - 1640px)/2))
}
}
@media(max-width:1150px) {
.button.small {
  font-size:11px;
  max-width:160px;
  padding:10px 13px
}
.section {
  padding:70px 5%
}
.solution-grid {
  grid-template-columns:1fr 1fr;
  gap:25px
}
.solution-grid img {
  aspect-ratio:1.6
}
.card-copy h3, .card-copy p {
  min-height:0
}
.home-range {
  gap:12px
}
.home-range article {
  padding:20px
}
.home-range h3 {
  font-size:22px
}
.contact {
  gap:5%
}
.contact form {
  padding:25px
}
.qr-card {
  padding:17px;
  gap:16px
}
.qr-card img {
  width:105px;
  height:105px
}
.detail {
  gap:40px
}
.custom {
  padding:45px 5%;
  gap:30px
}
.custom h2 {
  font-size:30px
}
}
@media(max-width:850px) {
html {
  scroll-padding-top:75px
}
.button.small {
  font-size:10px;
  max-width:125px;
  gap:7px;
  padding:10px
}
.about {
  grid-template-columns:1fr;
  gap:22px
}
.about h2 {
  margin-bottom:0
}
.values {
  gap:25px;
  padding-top:25px;
  margin-top:15px
}
.values h3 {
  font-size:17px
}
.section-heading {
  display:block
}
.section-heading>p {
  margin-top:22px
}
.custom {
  flex-direction:column;
  align-items:flex-start;
  padding:40px 6%;
  gap:24px
}
.process ol {
  grid-template-columns:1fr 1fr;
  gap:30px
}
.guide-grid {
  gap:20px
}
.guide-grid article {
  padding:25px
}
.guide-grid h3 {
  font-size:24px
}
.contact {
  grid-template-columns:1fr;
  gap:38px
}
.contact h2 {
  max-width:600px
}
.qr-card {
  max-width:420px
}
.qr-card img {
  width:120px;
  height:120px
}
.detail {
  grid-template-columns:1fr;
  gap:35px
}
.detail-image img {
  aspect-ratio:1.8
}
.home-range {
  grid-template-columns:1fr 1fr;
  gap:20px
}
.product-display {
  gap:35px
}
.product-display img {
  height:260px
}
.product-display h2 {
  font-size:32px
}
.solution-notes {
  gap:25px
}
.solution-notes h2 {
  font-size:25px
}
footer {
  grid-template-columns:1fr 1fr
}
.footer-nav {
  grid-column:1/-1;
  flex-direction:row;
  gap:25px
}
}
@media(max-width:520px) {
.button.small {
  font-size:9px;
  max-width:105px;
  padding:9px 8px
}
.button.small span {
  display:none
}
.section {
  padding:55px 6%
}
.values {
  grid-template-columns:1fr;
  gap:23px
}
.values article {
  display:grid;
  grid-template-columns:24px 1fr;
  gap:0 12px
}
.values h3 {
  margin:0 0 8px
}
.values p {
  grid-column:2
}
.solution-grid {
  grid-template-columns:1fr;
  gap:25px
}
.solution-grid img {
  aspect-ratio:1.6
}
.card-copy {
  padding:23px
}
.card-copy h3 {
  font-size:25px
}
.card-copy p {
  font-size:14px
}
.guide-grid {
  grid-template-columns:1fr
}
.faq summary {
  font-size:15px
}
.contact-link {
  font-size:19px
}
.form-grid {
  grid-template-columns:1fr
}
.qr-card {
  gap:15px;
  padding:15px
}
.qr-card img {
  width:110px;
  height:110px
}
.qr-card .text-link {
  font-size:10px
}
.page-intro {
  padding:45px 6%
}
.page-intro h1 {
  font-size:35px
}
.page-intro>p:not(.eyebrow) {
  font-size:16px
}
.home-range {
  gap:12px
}
.home-range article {
  padding:18px
}
.home-range h3 {
  font-size:21px
}
.home-range dd {
  font-size:29px
}
.home-range .text-link {
  font-size:10px;
  gap:8px
}
.home-range p {
  min-height:57px
}
.specification h2 {
  font-size:28px
}
.product-display {
  grid-template-columns:1fr;
  gap:28px
}
.product-display img {
  height:260px
}
.solution-notes {
  grid-template-columns:1fr
}
.reading {
  padding:40px 6%
}
.reading h2 {
  font-size:26px
}
.reading p {
  font-size:16px
}
.social-band {
  padding:40px 6%
}
.social-band h2 {
  font-size:28px
}
.social-band p {
  font-size:14px
}
th, td {
  padding:12px;
  font-size:12px;
  min-width:95px
}
footer {
  padding:40px 6% 75px;
  grid-template-columns:1fr;
  gap:22px
}
.footer-nav {
  flex-wrap:wrap;
  gap:13px 24px
}
.footer-bottom {
  gap:15px;
  flex-wrap:wrap
}
.chat-float {
  bottom:15px;
  inset-inline-end:15px;
  width:44px;
  height:44px
}
.section-heading h2 {
  font-size:32px
}
}
@media(prefers-reduced-motion:reduce) {
html {
  scroll-behavior:auto
}
*, *::before, *::after {
  animation:none!important;
  transition:none!important
}
}


/* Header: stable placement in LTR and RTL. Language selection is never collapsed into navigation. */
html {scroll-padding-top:96px}
body {min-width:280px}
main,section,article,div,form,nav {min-width:0}
h1,h2,h3,p,a,label {overflow-wrap:break-word;hyphens:auto}
header {position:sticky;top:0;z-index:50;display:grid;grid-template-columns:130px minmax(0,1fr) 152px auto;align-items:center;gap:22px;height:90px;padding:0 clamp(20px,4vw,80px);background:var(--paper);border-bottom:1px solid var(--line)}
.brand {width:130px;height:70px;display:flex;align-items:center;overflow:hidden}
.brand img {width:130px;height:87px;object-fit:contain;mix-blend-mode:multiply}
#navigation {display:flex;align-items:center;justify-content:flex-end;gap:clamp(15px,1.7vw,28px);font-size:13px}
#navigation a {padding:10px 0;white-space:nowrap}
#navigation a:hover,#navigation a[aria-current] {color:var(--green)}
#menu {display:none;background:none;border:1px solid var(--line);color:var(--ink);width:44px;height:44px;font-size:24px}
.language-picker {display:flex;align-items:center;gap:7px;margin:0;min-width:0;position:relative}
.language-picker svg {flex:0 0 18px;stroke:var(--ink);fill:none;stroke-width:1.5}
.language-picker select {display:block;appearance:auto;width:100%;min-width:0;height:44px;margin:0;padding:8px 4px;border:0;background:transparent;color:var(--ink);font-size:14px;cursor:pointer;text-align:start;direction:ltr}
.sr-only {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.footer-languages {grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 26px;border-top:1px solid var(--line);padding-top:20px}
.footer-languages a {display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.footer-languages a[aria-current] {color:var(--green);font-weight:700}
.mobile-quote {display:none}

/* Scene image and overlay use one 2048 x 683 coordinate space. No object-fit cropping drift. */
.hero {display:grid;position:relative;background:#142d24;color:#fff;overflow:hidden}
.scene {grid-area:1/1;position:relative;min-width:0;opacity:0;visibility:hidden;transition:opacity .65s}
.scene.active {opacity:1;visibility:visible}
.scene-photo {position:relative;overflow:hidden;direction:ltr}
.scene-stage {position:relative;width:100%;aspect-ratio:2048/683;direction:ltr}
.scene-stage>img {display:block;width:100%;height:100%;object-fit:fill}
.scene-shade {position:absolute;inset:0;background:linear-gradient(90deg,#092019e6 0%,#092019a0 26%,#09201910 52%,transparent 65%);pointer-events:none}
.energy-flow {position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;direction:ltr}
.flow-base {fill:none;stroke:#102e20;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;opacity:.6}
.flow-pulse {fill:none;stroke:#d9ffac;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:12 13;animation:energy-forward 3s linear infinite}
.flow-node circle {fill:#143d2a;stroke:#e3ffb6;stroke-width:3}
.flow-node text {font:bold 24px Arial,sans-serif;fill:#fff;direction:ltr}
@keyframes energy-forward {to {stroke-dashoffset:-100}}
@keyframes energy-beacon {50% {box-shadow:0 0 12px #c6fca2;opacity:.55}}
.hero-copy {position:absolute;z-index:2;top:8%;left:5%;width:36%;max-width:590px;text-align:start}
.hero-copy .eyebrow {color:#d6e8bd;font-size:10px!important;line-height:1.6;margin:0 0 18px}
.hero-copy h1,.hero-copy h2 {font-size:clamp(40px,4.1vw,74px);line-height:1.07;margin:0 0 20px;color:white}
.hero-copy p:not(.eyebrow) {color:#e3e9de;font-size:clamp(14px,1.15vw,19px);line-height:1.65;max-width:520px;margin:0 0 24px}
.hero-copy .button {font-size:14px;padding:14px 20px}
.scene-status {display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:88px;padding:18px 5%;background:#19392c;font-size:12px;color:#e6eddf}
.status-light {width:7px;height:7px;border-radius:50%;background:#d7ffa6;flex:0 0 7px;animation:energy-beacon 2s ease-in-out infinite}
.flow-legend {display:flex;gap:12px 24px;flex-wrap:wrap;list-style:none;margin:0;margin-inline-start:auto;padding:0}
.flow-legend li {display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.5}
.flow-legend span {display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border:1px solid #e3ffb6;border-radius:50%;color:#f3ffd7;direction:ltr;font-size:11px}
.scene-controls {grid-area:2/1;display:flex;align-items:center;justify-content:flex-end;gap:15px;padding:0 5% 15px;background:#19392c;font-size:12px;direction:ltr}
.scene-controls button {width:44px;height:44px;background:transparent;border:1px solid #698674;color:white;font-size:17px}
.hero.paused * {animation-play-state:paused!important}
.hero-note {margin:0;background:#e8ece0;color:#526a58;font-size:10px;line-height:1.6;padding:10px 5%}
.technical-context {background:#eff0e6;border-block:1px solid var(--line)}
.technical-context h2 {font-size:clamp(28px,3vw,42px);max-width:1050px}
.technical-context>p:not(.eyebrow) {max-width:1000px;font-size:17px;line-height:1.85}
.contact form input,.contact form select,.contact form textarea {font-size:16px}
[dir=rtl] .hero-copy {left:5%;right:auto;text-align:right}
[dir=rtl] .hero-copy h1,[dir=rtl] .hero-copy h2 {line-height:1.3;font-size:clamp(38px,3.6vw,62px)}
html[lang=ru] .hero-copy h1,html[lang=ru] .hero-copy h2 {font-size:clamp(35px,3.6vw,62px)}
html[lang=de] .hero-copy h2 {font-size:clamp(35px,3.8vw,64px)}

/* Tablet / compact desktop: text gets its own row rather than competing with the equipment. */
@media(max-width:1180px) {
 header {grid-template-columns:110px minmax(0,1fr) 145px auto 44px;gap:16px;padding:0 24px;height:82px}
 .brand {grid-column:1;width:110px;height:70px}
 .brand img {width:110px;height:80px}
 .language-picker {grid-column:3;grid-row:1}
 header>.button {grid-column:4;grid-row:1;max-width:190px}
 #menu {display:block;grid-column:5;grid-row:1}
 #navigation {display:none;position:absolute;inset-inline:0;top:82px;flex-direction:column;align-items:stretch;background:var(--paper);padding:22px 6%;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #16302020;font-size:16px;gap:4px}
 #navigation.open {display:flex}
 #navigation a {padding:12px 0}
 .scene {display:grid;grid-template-rows:auto auto auto;align-content:start}
 .hero-copy {position:static!important;width:auto!important;max-width:none;left:auto!important;right:auto!important;padding:36px 6% 30px;grid-row:1;text-align:start;background:#142d24}
 .hero-copy h1,.hero-copy h2,html[lang=ru] .hero-copy h1,html[lang=ru] .hero-copy h2,html[lang=de] .hero-copy h2,[dir=rtl] .hero-copy h1,[dir=rtl] .hero-copy h2 {font-size:clamp(32px,4.8vw,52px);max-width:850px;margin-bottom:18px}
 .hero-copy p:not(.eyebrow) {max-width:850px;font-size:16px;margin-bottom:22px}
 .hero-copy .eyebrow {margin-bottom:15px}
 .scene-photo {grid-row:2;align-self:end}
 .scene-status {grid-row:3;padding:18px 6%;min-height:0}
 .scene-shade {background:none}
 .flow-legend {margin:9px 0 0;flex-basis:100%;gap:12px 22px}
 .scene-controls {padding:0 6% 16px}
 .hero-note {padding:10px 6%}
}
@media(max-width:680px) {
 header {height:76px;padding:0 16px;grid-template-columns:95px minmax(0,1fr) 44px;gap:12px}
 .brand {width:95px;height:64px}.brand img{width:95px;height:70px}
 .language-picker {grid-column:2;justify-self:end;width:min(100%,155px)}
 .language-picker select {font-size:16px}
 #menu {grid-column:3}
 header>.button {display:none}
 #navigation {top:76px}
 .mobile-quote {display:flex;position:fixed;inset-inline-start:14px;inset-inline-end:76px;bottom:14px;z-index:40;min-height:46px;max-width:320px;padding:10px 15px;font-size:14px;box-shadow:0 4px 18px #12302830}
 .chat-float {width:48px;height:48px;bottom:13px;inset-inline-end:14px;z-index:40}
 .hero-copy {padding:30px 6% 25px}
 .hero-copy .eyebrow {font-size:9px!important}
 .hero-copy p:not(.eyebrow) {font-size:15px}
 .hero-copy .button {font-size:13px;min-height:44px}
 .scene-stage {width:170%;margin-left:-70%;margin-right:0;max-width:none}
 .scene-stage>img {max-width:none}
 .flow-pulse {stroke-width:5}.flow-base{stroke-width:11}
 .scene-status {font-size:11px;gap:8px}
 .flow-legend {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px 15px}
 .flow-legend li {font-size:11px;align-items:flex-start}
 .flow-legend span {flex-basis:24px}
 .scene-controls {padding-top:0;justify-content:flex-end;gap:13px}
 .footer-languages {gap:4px 22px}
 footer {padding-bottom:95px}
 .contact form {padding:24px 18px}
 .home-range {grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-range article{padding:16px 13px}
 .home-range h3{font-size:20px}
 .qr-card {gap:14px;padding:14px}.qr-card img{width:104px;height:104px}
 .solution-grid,.guide-grid {grid-template-columns:minmax(0,1fr)}
}
@media(max-width:360px) {
 header {padding:0 12px;gap:8px;grid-template-columns:78px minmax(0,1fr) 44px}
 .brand{width:78px}.brand img{width:78px}
 .language-picker{width:138px;max-width:100%;gap:4px}
 .language-picker svg{width:16px;flex-basis:16px}
 .hero-copy h1,.hero-copy h2,html[lang=ru] .hero-copy h1,html[lang=ru] .hero-copy h2,html[lang=de] .hero-copy h2,[dir=rtl] .hero-copy h1,[dir=rtl] .hero-copy h2 {font-size:30px}
 .qr-card {align-items:flex-start;gap:10px}.qr-card img{width:88px;height:88px}
 .home-range .text-link {font-size:10px;gap:5px}
}
@media(prefers-reduced-motion:reduce) {
 .scene {transition:none}.flow-pulse,.status-light {animation:none}
}
