/* MODERN FARMER — NETLIFY STATIC WEBSITE — GLOBAL STYLES — VERSION 1.1 */

:root {
  --forest: #234a2c;
  --forest-deep: #17331f;
  --leaf: #76b947;
  --leaf-bright: #8ad154;
  --wheat: #d6b15f;
  --graphite: #151a17;
  --charcoal: #202621;
  --mist: #f4f6f1;
  --white: #fff;
  --ink: #172019;
  --text: #263129;
  --muted: #68736a;
  --line: rgba(21, 26, 23, 0.13);
  --line-light: rgba(255, 255, 255, 0.17);
  --shadow-sm: 0 12px 28px rgba(12, 22, 14, 0.09);
  --shadow-md: 0 24px 70px rgba(8, 18, 11, 0.16);
  --shadow-lg: 0 42px 100px rgba(5, 15, 8, 0.28);
  --radius-sm: 0.65rem;
  --radius-md: 1.1rem;
  --radius-lg: 1.75rem;
  --radius-xl: 2.5rem;
  --header-h: 5.25rem;
  --container: 82rem;
  --container-narrow: 49rem;
  --section: clamp(5rem, 8vw, 9rem);
  --ease: cubic-bezier(.2, .75, .2, 1);
  --fast: 180ms var(--ease);
  --normal: 360ms var(--ease);
  --slow: 700ms var(--ease);
  --h1: clamp(3rem, 7.4vw, 7.1rem);
  --h2: clamp(2.1rem, 4.2vw, 4.35rem);
  --h3: clamp(1.25rem, 2vw, 1.65rem);
  --body: clamp(1rem, 1.15vw, 1.13rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 1rem); }
body {
  margin: 0;
  min-width: 19.5rem;
  overflow-x: clip;
  color: var(--text);
  background: var(--white);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: var(--body);
  line-height: 1.72;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
html[lang="ar"] body,
html[lang="ckb"] body {
  font-family: "Geeza Pro", Tahoma, Arial, sans-serif;
  line-height: 1.9;
  letter-spacing: 0;
}
img, picture, video, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
::selection { color: var(--white); background: var(--forest); }

h1, h2, h3, p { margin-block-start: 0; }
h1, h2, h3 {
  color: var(--ink);
  font-weight: 760;
  line-height: 1.06;
  letter-spacing: -.035em;
  text-wrap: balance;
}
html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3 { letter-spacing: 0; }
h1 { font-size: var(--h1); }
h2 { font-size: var(--h2); }
h3 { font-size: var(--h3); line-height: 1.18; }
p { margin-block-end: 1.15em; }

bdi[dir="ltr"], .ltr, .ltr-input, .model-token {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
}
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.skip-link {
  position: fixed;
  inset-block-start: .7rem;
  inset-inline-start: .7rem;
  z-index: 9999;
  transform: translateY(-160%);
  padding: .75rem 1rem;
  color: var(--white);
  background: var(--forest);
  border-radius: .4rem;
  transition: transform var(--fast);
}
.skip-link:focus { transform: translateY(0); }
:focus-visible {
  outline: 3px solid var(--wheat);
  outline-offset: 4px;
}

.container {
  width: min(calc(100% - clamp(2rem, 6vw, 6rem)), var(--container));
  margin-inline: auto;
}
.container--narrow { max-width: var(--container-narrow); }
.section { padding-block: var(--section); position: relative; }
.section--dark { color: rgba(255,255,255,.78); background: var(--graphite); }
.section--dark h2, .section--dark h3 { color: var(--white); }
.section--mist { background: var(--mist); }
.section-heading { max-width: 52rem; margin-block-end: clamp(2.5rem, 5vw, 4.5rem); }
.section-heading h2 { margin-block-end: .7rem; }
.eyebrow {
  margin-block-end: 1rem;
  color: var(--forest);
  font-size: .77rem;
  font-weight: 800;
  letter-spacing: .17em;
  line-height: 1.3;
  text-transform: uppercase;
}
html[dir="rtl"] .eyebrow { letter-spacing: 0; text-transform: none; }
.section--dark .eyebrow, .page-hero .eyebrow, .home-hero .eyebrow { color: var(--wheat); }
.lede { font-size: clamp(1.1rem, 1.7vw, 1.35rem); line-height: 1.65; color: var(--muted); }
.section--dark .lede, .page-hero .lede, .home-hero .lede { color: rgba(255,255,255,.76); }

.button-row { display: flex; flex-wrap: wrap; gap: .85rem; align-items: center; }
.button {
  min-height: 3.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: .85rem 1.35rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .95rem;
  font-weight: 760;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--fast), background-color var(--fast), border-color var(--fast), color var(--fast), box-shadow var(--fast);
}
.button svg, .text-link svg {
  width: 1.1rem;
  height: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform var(--fast);
}
html[dir="rtl"] .button svg,
html[dir="rtl"] .text-link svg { transform: scaleX(-1); }
.button--primary { color: var(--graphite); background: var(--leaf-bright); box-shadow: 0 10px 24px rgba(118,185,71,.24); }
.button--secondary { color: var(--forest); background: transparent; border-color: rgba(35,74,44,.35); }
.button--ghost { color: var(--white); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.42); backdrop-filter: blur(8px); }
@media (hover:hover) and (pointer:fine) {
  .button:hover { transform: translateY(-2px); }
  .button:hover svg, .text-link:hover svg { transform: translateX(.22rem); }
  html[dir="rtl"] .button:hover svg, html[dir="rtl"] .text-link:hover svg { transform: scaleX(-1) translateX(.22rem); }
  .button--primary:hover { background: var(--white); box-shadow: 0 16px 34px rgba(0,0,0,.18); }
  .button--secondary:hover { color: var(--white); background: var(--forest); border-color: var(--forest); }
  .button--ghost:hover { color: var(--graphite); background: var(--white); border-color: var(--white); }
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: var(--forest);
  font-weight: 760;
  text-decoration: none;
}
.center-action { margin-block-start: 2.5rem; text-align: center; }

/* Header */
.site-header {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 1000;
  min-height: var(--header-h);
  color: var(--white);
  background: transparent;
  border-block-end: 1px solid transparent;
  transition: background-color var(--normal), border-color var(--normal), box-shadow var(--normal), backdrop-filter var(--normal);
}
body:not([data-page="home"]) .site-header,
.site-header.is-scrolled,
.site-header.is-open {
  background: rgba(21,26,23,.93);
  border-block-end-color: rgba(255,255,255,.1);
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
  backdrop-filter: blur(14px) saturate(130%);
}
.header-inner {
  width: min(calc(100% - clamp(1.5rem, 4vw, 4rem)), 90rem);
  min-height: var(--header-h);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 2rem;
}
.brand { flex: 0 0 auto; width: clamp(8.8rem, 13vw, 11rem); text-decoration: none; }
.brand img { width: 100%; max-height: 4.05rem; object-fit: contain; }
.site-nav { margin-inline-start: auto; display: flex; align-items: center; gap: clamp(.25rem, 1.2vw, 1.2rem); }
.site-nav > a,
.nav-dropdown > summary {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding-inline: .65rem;
  color: rgba(255,255,255,.84);
  font-size: .88rem;
  font-weight: 680;
  line-height: 1.2;
  text-decoration: none;
  border-radius: .45rem;
  cursor: pointer;
  list-style: none;
  transition: color var(--fast), background-color var(--fast);
}
.nav-dropdown > summary::-webkit-details-marker { display: none; }
.nav-dropdown > summary svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.site-nav > a[aria-current="page"],
.nav-dropdown > summary[aria-current="page"],
.site-nav > a:hover,
.nav-dropdown > summary:hover { color: var(--white); background: rgba(255,255,255,.08); }
.site-nav .nav-cta {
  padding-inline: 1rem;
  color: var(--graphite);
  background: var(--leaf-bright);
}
.nav-dropdown { position: relative; }
.nav-dropdown__panel {
  position: absolute;
  inset-block-start: calc(100% + .65rem);
  inset-inline-start: 0;
  min-width: 16rem;
  padding: .6rem;
  color: var(--white);
  background: rgba(21,26,23,.98);
  border: 1px solid var(--line-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-.35rem);
  transition: opacity var(--fast), transform var(--fast), visibility var(--fast);
}
.nav-dropdown[open] .nav-dropdown__panel { opacity: 1; visibility: visible; transform: none; }
.nav-dropdown__panel a {
  display: block;
  padding: .75rem .85rem;
  color: rgba(255,255,255,.8);
  text-decoration: none;
  border-radius: .55rem;
}
.nav-dropdown__panel a:hover, .nav-dropdown__panel a[aria-current="page"] { color: var(--white); background: rgba(255,255,255,.08); }
.language-menu {
  position: relative;
  margin-inline-start: .25rem;
  padding-inline-start: .65rem;
  border-inline-start: 1px solid rgba(255,255,255,.2);
}
.language-menu > summary {
  min-width: 4.4rem;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: .45rem .7rem;
  color: rgba(255,255,255,.84);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: .5rem;
  font-size: .8rem;
  font-weight: 760;
  line-height: 1;
  cursor: pointer;
  list-style: none;
}
.language-menu > summary::-webkit-details-marker { display:none; }
.language-menu > summary svg { width:.9rem; height:.9rem; fill:none; stroke:currentColor; stroke-width:1.8; transition:transform var(--fast); }
.language-menu[open] > summary svg { transform:rotate(180deg); }
.language-menu__panel {
  position:absolute;
  inset-block-start:calc(100% + .65rem);
  inset-inline-end:0;
  min-width:9.5rem;
  padding:.5rem;
  color:var(--white);
  background:rgba(21,26,23,.98);
  border:1px solid var(--line-light);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-md);
  z-index:4;
}
.language-menu__panel a {
  min-height:2.75rem;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.6rem .8rem;
  color:rgba(255,255,255,.75);
  font-size:.82rem;
  font-weight:730;
  text-decoration:none;
  border-radius:.5rem;
}
.language-menu__panel a:hover,
.language-menu__panel a[aria-current="page"] { color:var(--white); background:rgba(255,255,255,.1); }
.nav-toggle { display: none; }

/* Root language entry */
.language-entry { background: var(--graphite); color: var(--white); }
.language-entry main { position: relative; min-height: 100svh; display: grid; place-items: center; overflow: hidden; }
.language-entry__background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: entryZoom 18s var(--ease) both; }
.language-entry__overlay { position: absolute; inset: 0; background: linear-gradient(120deg, rgba(7,17,10,.9), rgba(16,28,18,.58) 55%, rgba(9,15,10,.78)); }
.language-entry__content { position: relative; z-index: 2; width: min(calc(100% - 2rem), 72rem); padding-block: 4rem 2rem; text-align: center; }
.language-entry__content > img { width: min(27rem, 75vw); margin-inline: auto; margin-block-end: 1.5rem; }
.entry-slogans { display: grid; gap: .15rem; margin-block-end: clamp(2rem, 5vw, 4rem); }
.entry-slogans p { margin: 0; color: rgba(255,255,255,.75); font-size: clamp(1rem, 1.8vw, 1.25rem); }
.entry-slogans p:first-child { color: var(--white); font-weight: 700; }
.language-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.language-options a {
  min-height: 9rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  padding: 1.5rem;
  color: var(--white);
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: var(--radius-lg);
  text-decoration: none;
  backdrop-filter: blur(10px);
  transition: transform var(--normal), background-color var(--normal), border-color var(--normal);
}
.language-options strong { font-size: clamp(1.3rem, 2vw, 1.75rem); }
.language-options span { color: rgba(255,255,255,.65); font-size: .92rem; }
.language-options a:hover { transform: translateY(-6px); background: rgba(118,185,71,.17); border-color: var(--leaf); }
.language-entry footer { margin-block-start: 2rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem 1rem; color: rgba(255,255,255,.58); font-size: .86rem; }
.language-entry footer a { color: var(--white); }
@keyframes entryZoom { from { transform: scale(1.04); } to { transform: scale(1.13); } }

/* Hero */
.home-hero, .page-hero { position: relative; min-height: 100svh; display: flex; align-items: end; color: var(--white); background: var(--graphite); overflow: hidden; }
.home-hero picture, .home-hero picture img, .page-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,14,8,.9) 0%, rgba(9,18,11,.72) 46%, rgba(10,18,12,.28) 75%), linear-gradient(0deg, rgba(10,15,11,.48), transparent 55%); }
.home-hero__content { position: relative; z-index: 2; padding-block: calc(var(--header-h) + 4rem) clamp(5rem, 10vh, 8rem); }
.home-hero h1 { max-width: 13ch; margin-block-end: 1.25rem; color: var(--white); text-shadow: 0 10px 40px rgba(0,0,0,.35); }
.hero-lede { max-width: 42rem; font-size: clamp(1.13rem, 1.8vw, 1.45rem); }
.scroll-cue { position: absolute; inset-block-end: 1.25rem; inset-inline-start: 50%; transform: translateX(-50%); display: grid; justify-items: center; gap: .45rem; color: rgba(255,255,255,.72); font-size: .75rem; text-decoration: none; }
html[dir="rtl"] .scroll-cue { transform: translateX(50%); }
.scroll-cue i { width: 1px; height: 2.4rem; background: linear-gradient(var(--white), transparent); animation: cue 2s ease-in-out infinite; }
@keyframes cue { 0%,100% { opacity:.35; transform:scaleY(.65); transform-origin:top; } 50% { opacity:1; transform:scaleY(1); } }
.page-hero { min-height: min(70svh, 47rem); align-items: center; }
.page-hero--compact { min-height: min(64svh, 42rem); }
.page-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,17,10,.9), rgba(10,20,12,.58) 60%, rgba(10,18,12,.45)); }
.page-hero__content { position: relative; z-index: 2; padding-block: calc(var(--header-h) + 5rem) 5rem; }
.page-hero h1 { max-width: 14ch; margin-block-end: 1.2rem; color: var(--white); font-size: clamp(2.8rem, 6.5vw, 6.1rem); }
.page-hero .lede { max-width: 45rem; }

/* Intro / service cards */
.value-statement { background: var(--mist); }
.value-copy { margin: 0; color: var(--ink); font-size: clamp(1.35rem, 2.6vw, 2.05rem); line-height: 1.45; text-align: center; text-wrap: balance; }
.service-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.25rem; }
.service-card { min-height: 31rem; position: relative; overflow: hidden; display: flex; align-items: end; padding: clamp(1.5rem, 3vw, 2.5rem); color: var(--white); border-radius: var(--radius-xl); box-shadow: var(--shadow-md); }
.service-card::after { content:""; position:absolute; inset:0; background: linear-gradient(0deg, rgba(9,20,11,.94), rgba(12,25,14,.12) 76%); }
.service-card > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform 900ms var(--ease); }
.service-card > div { position:relative; z-index:2; max-width:32rem; }
.service-card h3 { color:var(--white); font-size:clamp(1.5rem,2.3vw,2.2rem); }
.service-card p { color:rgba(255,255,255,.76); }
.service-card .text-link { color:var(--leaf-bright); }
@media (hover:hover) and (pointer:fine) { .service-card:hover > img { transform:scale(1.06); } }

/* Product scrollytelling */
.product-scrolly { --scroll-progress: 0; --feature-progress: 0; --tilt-x: 0deg; --tilt-y: 0deg; --drone-x: 0px; --drone-y: 0px; overflow: clip; }
.product-scrolly::before { content:""; position:absolute; inset:0; pointer-events:none; background: radial-gradient(circle at 50% 35%, rgba(118,185,71,.12), transparent 40%); }
.product-intro { padding-block-end: clamp(2rem,4vw,4rem); position:relative; z-index:2; }
.product-intro h2 { margin-block-end:.8rem; }
.product-intro .lede { max-width:44rem; }
.scrolly-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(20rem,.8fr); gap:clamp(2rem,5vw,5rem); align-items:start; }
.product-scrolly[data-layout="text-first"] .scrolly-stage { grid-column:2; }
.product-scrolly[data-layout="text-first"] .feature-list { grid-column:1; grid-row:1; }
.scrolly-stage { position:sticky; top:var(--header-h); height:calc(100svh - var(--header-h)); min-height:36rem; overflow:hidden; border:1px solid var(--line-light); border-radius:var(--radius-xl); background:#101512; box-shadow:var(--shadow-lg); }
.stage-backdrop { position:absolute; inset:-5%; }
.stage-backdrop::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,16,10,.2),rgba(8,15,10,.76)), radial-gradient(circle at 50% 45%,transparent 12%,rgba(6,12,8,.48) 72%); }
.stage-backdrop img { width:100%; height:100%; object-fit:cover; transform:scale(1.11) translate3d(0,calc((var(--scroll-progress) - .5) * -4rem),0); filter:saturate(.88) contrast(1.05); }
.stage-grid { position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px); background-size:5rem 5rem; mask-image:linear-gradient(to bottom,transparent,black 24%,black 72%,transparent); }
.drone-visual { position:absolute; inset:8% -7% 9%; display:grid; place-items:center; transform-style:preserve-3d; transform:perspective(1100px) translate3d(var(--drone-x),var(--drone-y),0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(calc(.96 + var(--scroll-progress) * .05)); transition:transform 180ms linear; }
.drone-frame { position:relative; z-index:2; width:118%; aspect-ratio:4/3; display:grid; place-items:center; }
.product-scrolly[data-product="hd580"] .drone-frame { width:126%; }
.drone-frame > img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 28px 28px rgba(0,0,0,.34)); }
.drone-shadow { position:absolute; z-index:1; width:52%; height:7%; inset-block-end:9%; border-radius:50%; background:rgba(0,0,0,.55); filter:blur(18px); transform:scale(calc(.85 + var(--scroll-progress) * .2)); }
.hotspot-layer { position:absolute; inset:0; z-index:3; pointer-events:none; }
.hotspot { --x:50%; --y:50%; position:absolute; left:var(--x); top:var(--y); width:.78rem; height:.78rem; transform:translate(-50%,-50%); opacity:.28; transition:left 620ms var(--ease), top 620ms var(--ease), opacity var(--normal), transform var(--normal); direction:ltr; }
.hotspot.is-anchor { opacity:0 !important; visibility:hidden; }
.hotspot-tracker { z-index:4; opacity:0; will-change:left,top; }
.hotspot-dot { width:.78rem; height:.78rem; position:absolute; inset:0; border:2px solid var(--white); border-radius:50%; background:var(--leaf); box-shadow:0 0 0 .4rem rgba(118,185,71,.16); }
.hotspot-dot::after { content:""; position:absolute; inset:-.55rem; border:1px solid rgba(255,255,255,.65); border-radius:50%; opacity:0; transform:scale(.6); }
.hotspot-label { position:absolute; top:50%; left:1.25rem; width:max-content; max-width:12rem; padding:.42rem .65rem; color:var(--white); background:rgba(10,17,12,.88); border:1px solid rgba(255,255,255,.24); border-radius:.5rem; font-size:.72rem; font-weight:700; line-height:1.3; text-align:start; backdrop-filter:blur(8px); opacity:0; transform:translate(.2rem,-50%); transition:opacity var(--normal),transform var(--normal); }
.hotspot--left .hotspot-label { left:auto; right:1.25rem; transform:translate(-.2rem,-50%); }
html[dir="rtl"] .hotspot-label { direction:rtl; text-align:right; }
.hotspot.is-active { opacity:1; transform:translate(-50%,-50%) scale(1.12); }
.hotspot.is-active .hotspot-label { opacity:1; transform:translate(0,-50%); }
.hotspot.is-active .hotspot-dot::after { animation:pulse 1.9s ease-out infinite; }
.hotspot-tracker.is-moving .hotspot-dot { animation:hotspot-arrive 520ms var(--ease); }
@keyframes pulse { 0%{opacity:.8;transform:scale(.65)} 75%,100%{opacity:0;transform:scale(1.7)} }
@keyframes hotspot-arrive { 0%{transform:scale(.78)} 55%{transform:scale(1.35)} 100%{transform:scale(1)} }
.scrolly-progress { position:absolute; inset-inline:1.5rem; inset-block-end:1.3rem; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:1rem; z-index:5; color:var(--white); font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.progress-track { height:2px; overflow:hidden; background:rgba(255,255,255,.2); }
.progress-bar { display:block; width:100%; height:100%; background:var(--leaf-bright); transform:scaleX(var(--feature-progress)); transform-origin:inline-start; transition:transform 160ms linear; }
.feature-list { position:relative; }
.feature-card { min-height:82svh; display:flex; flex-direction:column; justify-content:center; padding-block:clamp(4rem,9vh,7rem); opacity:.12; transform:translateY(1.5rem); transition:opacity 500ms var(--ease),transform 500ms var(--ease); }
.feature-card.is-complete { opacity:.18; }
.feature-card.is-active { opacity:1; transform:none; }
.feature-card h3 { margin-block-end:1rem; color:var(--white); font-size:clamp(1.6rem,3vw,2.7rem); }
.feature-card p:not(.feature-index) { max-width:35rem; color:rgba(255,255,255,.7); }
.feature-index { margin-block-end:1.2rem; color:rgba(255,255,255,.42); font-size:.78rem; font-weight:800; letter-spacing:.14em; }
.feature-index span { color:var(--leaf-bright); }
.scrolly-cta { margin-block-start:1rem; position:relative; z-index:3; }

/* Process / trust / split */
.process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.process-step { position:relative; min-height:19rem; padding:1.6rem; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); }
.process-step > span { display:inline-grid; place-items:center; width:3rem; height:3rem; margin-block-end:2rem; color:var(--white); background:var(--forest); border-radius:50%; font-size:.75rem; font-weight:800; }
.process-step h3 { margin-block-end:.85rem; }
.process-step p { color:var(--muted); }
.trust-section { background:var(--mist); }
.trust-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.trust-card { padding:clamp(1.6rem,3vw,2.4rem); background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); }
.trust-icon { display:inline-block; margin-block-end:2.5rem; color:var(--leaf); font-size:.78rem; font-weight:900; letter-spacing:.1em; }
.trust-card p { color:var(--muted); }
.split-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,7vw,7rem); align-items:center; }
.image-frame { overflow:hidden; min-height:26rem; border-radius:var(--radius-xl); background:var(--mist); box-shadow:var(--shadow-md); }
.image-frame img { width:100%; height:100%; min-height:inherit; object-fit:cover; }
.split-copy h2 { margin-block-end:1.25rem; }
.closing-cta { position:relative; min-height:34rem; display:flex; align-items:center; color:var(--white); overflow:hidden; }
.closing-cta > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.closing-cta__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,16,9,.94),rgba(8,17,10,.57) 70%,rgba(8,17,10,.75)); }
.closing-cta .container { position:relative; z-index:2; }
.closing-cta h2 { max-width:14ch; color:var(--white); }
.closing-cta .lede { max-width:43rem; }

/* Model pages */
.model-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.model-card { overflow:hidden; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-xl); box-shadow:var(--shadow-sm); }
.model-card__visual { min-height:25rem; display:grid; place-items:center; padding:2rem; background:linear-gradient(140deg,#e9efe8,#cbd9c9); }
.model-card__visual img { width:100%; height:24rem; object-fit:contain; filter:drop-shadow(0 25px 28px rgba(0,0,0,.22)); }
.model-card__copy { padding:clamp(1.5rem,3vw,2.5rem); }
.model-specline { color:var(--forest); font-weight:760; }
.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); background:var(--white); }
.spec-table { width:100%; min-width:44rem; border-collapse:collapse; font-size:.94rem; }
.spec-table caption { padding:1rem; text-align:start; font-weight:800; }
.spec-table th, .spec-table td { padding:1rem 1.15rem; text-align:start; vertical-align:top; border-block-end:1px solid var(--line); }
.spec-table thead th { color:var(--white); background:var(--forest); }
.spec-table tbody th { width:31%; color:var(--ink); font-weight:720; background:rgba(244,246,241,.55); }
.spec-table tbody tr:last-child > * { border-block-end:0; }
.table-note { margin-block-start:1rem; color:var(--muted); font-size:.9rem; }
.content-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.content-card { padding:clamp(1.5rem,3vw,2.2rem); background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); }
.content-card p { color:var(--muted); }
.gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.gallery-item { margin:0; overflow:hidden; min-height:23rem; border-radius:var(--radius-lg); background:var(--mist); }
.gallery-item img { width:100%; height:100%; min-height:23rem; object-fit:cover; transition:transform 700ms var(--ease); }
.gallery-item:hover img { transform:scale(1.045); }
.disclaimer-band { padding-block:2.25rem; background:#e8eee5; border-block:1px solid var(--line); }
.disclaimer-band h2 { margin-block-end:.6rem; font-size:1rem; letter-spacing:.08em; text-transform:uppercase; }
html[dir="rtl"] .disclaimer-band h2 { letter-spacing:0; text-transform:none; }
.disclaimer-band p { margin-block-end:.5rem; color:#566158; font-size:.86rem; line-height:1.65; }

/* Spraying */
.two-columns { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,6rem); align-items:start; }
.check-list { padding:0; margin:1.5rem 0 0; list-style:none; }
.check-list li { position:relative; padding-inline-start:1.8rem; margin-block:.7rem; }
.check-list li::before { content:""; position:absolute; inset-inline-start:0; inset-block-start:.65em; width:.65rem; height:.65rem; border-radius:50%; background:var(--leaf); box-shadow:0 0 0 .3rem rgba(118,185,71,.14); }
.responsible-card { padding:clamp(1.5rem,3vw,2.5rem); color:rgba(255,255,255,.8); background:var(--forest-deep); border-radius:var(--radius-xl); box-shadow:var(--shadow-md); }
.responsible-card h2 { color:var(--white); font-size:clamp(1.8rem,3vw,2.8rem); }
.enquiry-section { background:var(--mist); }
.split-form { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(2rem,6vw,6rem); align-items:start; }

/* Forms */
.enquiry-form { padding:clamp(1.25rem,3vw,2.25rem); background:var(--white); border:1px solid var(--line); border-radius:var(--radius-xl); box-shadow:var(--shadow-md); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.05rem; }
.enquiry-form label { display:grid; gap:.42rem; color:var(--ink); font-size:.87rem; font-weight:720; }
.enquiry-form input, .enquiry-form select, .enquiry-form textarea {
  width:100%; min-height:3.15rem; padding:.78rem .9rem; color:var(--ink); background:#fbfcfa; border:1px solid #c9d1c9; border-radius:.62rem; outline:none; transition:border-color var(--fast),box-shadow var(--fast),background-color var(--fast);
}
.enquiry-form textarea { min-height:9rem; resize:vertical; }
.enquiry-form input:focus, .enquiry-form select:focus, .enquiry-form textarea:focus { background:var(--white); border-color:var(--forest); box-shadow:0 0 0 3px rgba(35,74,44,.12); }
.enquiry-form [aria-invalid="true"] { border-color:#a52f2f; box-shadow:0 0 0 3px rgba(165,47,47,.12); }
.form-wide { grid-column:1/-1; }
.checkbox { display:flex !important; grid-template-columns:auto 1fr; align-items:flex-start; gap:.75rem !important; font-weight:500 !important; }
.checkbox input { width:1.2rem; min-height:1.2rem; margin-block-start:.25rem; }
.enquiry-form button { margin-block-start:1.3rem; border:0; }
.honeypot { position:absolute; inset-inline-start:-9999px; opacity:0; pointer-events:none; }
.form-status { min-height:1.5rem; margin:.75rem 0 0; color:#8a2929; font-size:.88rem; }
.contact-layout { display:grid; grid-template-columns:minmax(18rem,.55fr) minmax(0,1.45fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.contact-panel { position:sticky; top:calc(var(--header-h) + 2rem); padding:2rem; color:rgba(255,255,255,.8); background:var(--forest-deep); border-radius:var(--radius-xl); }
.contact-panel h2 { color:var(--white); }
.contact-panel a { color:var(--leaf-bright); }
.social-links { display:flex; flex-wrap:wrap; gap:.6rem 1rem; }
.social-links a { font-weight:700; text-decoration:none; }

/* Legal */
.legal-hero { padding-block:calc(var(--header-h) + 6rem) 4rem; color:var(--white); background:var(--graphite); }
.legal-hero h1 { max-width:17ch; color:var(--white); font-size:clamp(2.6rem,5.5vw,5rem); }
.legal-updated { color:rgba(255,255,255,.62); }
.legal-content { font-size:1rem; }
.legal-content > .lede { margin-block-end:3rem; }
.legal-content section { padding-block:1.4rem; border-block-start:1px solid var(--line); }
.legal-content h2 { font-size:clamp(1.45rem,2.5vw,2rem); }
.legal-content h3 { margin-block-start:1.4rem; font-size:1.16rem; }

/* Thank you / 404 */
.status-body { background:var(--mist); }
.status-page { min-height:100svh; display:grid; place-items:center; padding-block:calc(var(--header-h) + 5rem) 5rem; text-align:center; }
.status-page img { width:8rem; margin-inline:auto; margin-block-end:1.5rem; }
.status-page h1 { font-size:clamp(3rem,7vw,6rem); }
.status-page .button { margin-block-start:1rem; }

/* Footer */
.site-footer { padding-block:clamp(4rem,7vw,6rem) 1.5rem; color:rgba(255,255,255,.68); background:var(--graphite); }
.footer-grid { display:grid; grid-template-columns:1.45fr repeat(3,1fr); gap:clamp(2rem,4vw,4rem); }
.footer-brand img { width:min(15rem,100%); margin-block-end:1rem; }
.site-footer h2 { color:var(--white); font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; }
html[dir="rtl"] .site-footer h2 { letter-spacing:0; text-transform:none; }
.site-footer a { color:rgba(255,255,255,.82); text-decoration:none; }
.site-footer a:hover { color:var(--leaf-bright); }
.footer-languages { display:flex; flex-wrap:wrap; gap:.6rem; }
.footer-languages a { padding:.45rem .65rem; border:1px solid var(--line-light); border-radius:.4rem; }
.footer-legal { margin-block-start:3rem; padding-block-start:1.5rem; border-block-start:1px solid var(--line-light); font-size:.78rem; }
.footer-legal nav { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; margin-block-end:1rem; }
.footer-legal p { max-width:70rem; margin-block-end:.5rem; }

/* Reveal */
.js .reveal { opacity:0; transform:translateY(1.4rem); transition:opacity 750ms var(--ease),transform 750ms var(--ease); }
.js .reveal.is-visible { opacity:1; transform:none; }

/* Responsive */
@media (max-width: 1120px) {
  :root { --header-h:4.8rem; }
  .nav-toggle {
    display:grid; place-items:center; gap:.27rem; width:3rem; height:3rem; margin-inline-start:auto; padding:.65rem; color:var(--white); background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.18); border-radius:.6rem; cursor:pointer;
  }
  .nav-toggle span:not(.sr-only) { width:1.25rem; height:2px; background:currentColor; transition:transform var(--fast),opacity var(--fast); }
  .nav-toggle[aria-expanded="true"] span:nth-of-type(2) { transform:translateY(6px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-of-type(3) { opacity:0; }
  .nav-toggle[aria-expanded="true"] span:nth-of-type(4) { transform:translateY(-6px) rotate(-45deg); }
  .site-nav {
    position:fixed; inset-block-start:var(--header-h); inset-inline:0; max-height:calc(100svh - var(--header-h)); overflow-y:auto; display:none; flex-direction:column; align-items:stretch; gap:.25rem; margin:0; padding:1rem clamp(1rem,4vw,2.5rem) 2rem; background:rgba(21,26,23,.98); border-block-start:1px solid var(--line-light);
  }
  .site-nav.is-open { display:flex; }
  .site-nav > a, .nav-dropdown > summary { width:100%; min-height:3.2rem; justify-content:space-between; padding-inline:1rem; }
  .site-nav .nav-cta { justify-content:center; margin-block-start:.5rem; }
  .nav-dropdown__panel { position:static; min-width:0; margin:.25rem 0 .5rem; box-shadow:none; transform:none; }
  .language-menu { margin:1rem 0 0; padding:1rem 0 0; border-inline-start:0; border-block-start:1px solid var(--line-light); }
  .language-menu > summary { width:100%; justify-content:space-between; min-height:3.2rem; padding-inline:1rem; }
  .language-menu__panel { position:static; min-width:0; margin-block-start:.35rem; box-shadow:none; }
  .scrolly-grid { grid-template-columns:minmax(0,1fr) minmax(18rem,.78fr); gap:2rem; }
  .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .footer-grid > :last-child { grid-column:2/-1; }
}

@media (max-width: 860px) {
  :root { --section:clamp(4rem,12vw,6rem); }
  .language-options { grid-template-columns:1fr; }
  .language-options a { min-height:6.5rem; }
  .home-hero { min-height:92svh; }
  .home-hero__overlay, .page-hero__overlay { background:linear-gradient(0deg,rgba(6,15,8,.92),rgba(7,17,10,.45) 70%); }
  .home-hero__content { padding-block-end:5.5rem; }
  .service-grid, .model-grid, .split-layout, .two-columns, .split-form, .contact-layout { grid-template-columns:1fr; }
  .service-card { min-height:27rem; }
  .product-scrolly[data-layout="text-first"] .scrolly-stage, .product-scrolly[data-layout="text-first"] .feature-list { grid-column:auto; grid-row:auto; }
  .scrolly-grid { display:block; }
  .scrolly-stage { position:relative; top:auto; height:auto; min-height:0; aspect-ratio:4/3; margin-block-end:2rem; }
  .drone-visual { inset:4% -6% 7%; transform:none !important; }
  .drone-frame, .product-scrolly[data-product="hd580"] .drone-frame { width:112%; }
  .stage-backdrop img { transform:scale(1.08) !important; }
  .hotspot, .scrolly-progress { display:none; }
  .feature-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
  .feature-card { min-height:0; padding:1.4rem; opacity:1; transform:none; background:rgba(255,255,255,.055); border:1px solid var(--line-light); border-radius:var(--radius-lg); }
  .feature-card h3 { font-size:1.35rem; }
  .feature-card p:not(.feature-index) { font-size:.95rem; }
  .trust-grid, .content-grid, .gallery-grid { grid-template-columns:1fr 1fr; }
  .image-frame { min-height:22rem; }
  .contact-panel { position:static; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-grid > :last-child { grid-column:auto; }
}

@media (max-width: 600px) {
  :root { --header-h:4.45rem; }
  .container { width:min(calc(100% - 1.35rem),var(--container)); }
  .header-inner { width:calc(100% - 1.2rem); }
  .brand { width:8.2rem; }
  .home-hero h1 { font-size:clamp(3rem,16vw,4.5rem); }
  .page-hero h1 { font-size:clamp(2.7rem,13vw,4.3rem); }
  .button-row { align-items:stretch; }
  .button-row .button { width:100%; }
  .service-grid, .feature-list, .process-grid, .trust-grid, .content-grid, .gallery-grid, .footer-grid, .form-grid { grid-template-columns:1fr; }
  .service-card { min-height:25rem; border-radius:var(--radius-lg); }
  .scrolly-stage { border-radius:var(--radius-lg); }
  .feature-card { padding:1.25rem; }
  .process-step { min-height:0; }
  .model-card__visual { min-height:18rem; }
  .model-card__visual img { height:17rem; }
  .gallery-item, .gallery-item img { min-height:20rem; }
  .form-wide { grid-column:auto; }
  .enquiry-form { padding:1rem; border-radius:var(--radius-lg); }
  .closing-cta { min-height:31rem; }
  .footer-grid > :last-child { grid-column:auto; }
  .language-entry__content { padding-block:2rem 1rem; }
  .language-entry footer { font-size:.76rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .language-entry__background, .stage-backdrop img, .drone-visual { transform:none !important; }
  .js .reveal { opacity:1; transform:none; }
  .feature-card { opacity:1; transform:none; }
  .hotspot-dot::after { display:none; }
}

@media print {
  .site-header, .site-footer, .button, .scroll-cue, .hotspot-layer, .scrolly-progress { display:none !important; }
  body { color:#000; background:#fff; }
  .section, .legal-hero { padding:1rem 0; }
  .page-hero, .home-hero { min-height:0; color:#000; background:#fff; }
  .page-hero__image, .page-hero__overlay, .home-hero picture, .home-hero__overlay { display:none; }
  .page-hero h1, .home-hero h1 { color:#000; }
  .scrolly-stage { position:relative; height:auto; aspect-ratio:4/3; }
  .feature-card { min-height:0; opacity:1; }
}

/* Logo visibility refinement */
.brand { width: clamp(10rem, 15vw, 12.5rem); }
.brand img { filter: drop-shadow(0 5px 14px rgba(0,0,0,.35)); }
.language-entry__content > img { filter: drop-shadow(0 8px 28px rgba(0,0,0,.45)); }
@media (max-width: 600px) { .brand { width: 9.2rem; } }

.button-row--center { justify-content:center; }
