/* FPV Vision 2.0 concept skin. Preview only; production index.html is untouched. */
:root {
  --bg: #101110;
  --bg-1: #171817;
  --bg-2: #1d1e1d;
  --bg-3: #272927;
  --line: #343633;
  --line-2: #50524e;
  --osd: #7CFF9E;
  --osd-mid: #4FCB77;
  --osd-dim: #3d7d52;
  --osd-text: #7CFF9E;
  --thermal: #d9d8d2;
  --thermal-dim: #aaa9a2;
  --amber: #7CFF9E;
  --white: #f4f3ef;
  --text: #d4d3ce;
  --text-2: #aaa9a3;
  --text-3: #8b8c86;
  --plate: #f4f3ef;
  --gutter: clamp(22px, 5.5vw, 88px);
  --frame: 0px;
}
html { scroll-padding-top: 92px; }
body { background: var(--bg); color: var(--text); font-size: 16px; line-height: 1.55; }
.atmos,.grain,.frame,.rail,.mtop,.mbar,.tcursor,.hero-glow,.scroll-hint { display:none !important; }
.hero .hero-media { display:block !important; }
.hero-media .fallback { display:none; }
/* Hero composition for the local V2 preview. The media remains a full-bleed,
   non-interactive background at every breakpoint. */
.hero { min-height:min(860px,calc(100svh - 82px)); padding:54px 0 46px; background:#111211; }
.hero-media { position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
.hero-media video,.hero-media img.fallback { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 66%; transform:none; filter:brightness(.98) saturate(1) contrast(1.02); pointer-events:none; }
.hero-media::after { pointer-events:none; background:linear-gradient(90deg,rgba(8,9,8,.70) 0%,rgba(8,9,8,.48) 32%,rgba(8,9,8,.16) 62%,transparent 82%),linear-gradient(0deg,rgba(8,9,8,.42) 0%,transparent 38%); }
.hero-in { position:relative; z-index:2; pointer-events:auto; }
.hero-in > .wrap { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; min-height:calc(min(860px,100svh - 82px) - 100px); padding:20px 0; }
.hero-in > .wrap > * { width:100%; max-width:790px; }
.hero-strip { max-width:570px !important; }
.hero h1 .ln { white-space:nowrap; }
.hero-media .fallback { display:none; }
.hero-media video { pointer-events:none !important; }
.hero-glow,.tcursor { display:none !important; }
html,html * { cursor:auto; }
a[href],button,summary,.prod,.qbtn,.chan,.entry,[role="button"] { cursor:pointer; }
input,textarea { cursor:text; }
select { cursor:pointer; }
.stage { margin-left:0; }
.wrap,.hero .wrap { max-width: 1280px; }
section { padding: clamp(68px, 8vw, 120px) 0; }
section + section { border-top:1px solid var(--line); }
section[data-idx] { scroll-margin-top: 84px; }
.v2-header { position:sticky; inset:0 0 auto; z-index:70; min-height:82px; display:flex; align-items:center; justify-content:flex-start; gap:28px; padding:12px var(--gutter); background:rgba(16,17,16,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.v2-brand { display:flex; align-items:center; min-width:168px; }
.v2-brand img { width:178px; height:auto; mix-blend-mode:screen; }
.v2-nav { display:flex; flex:1 1 auto; align-items:center; justify-content:center; gap:clamp(24px,2vw,36px); min-width:0; }
@media(min-width:1201px) {
  .v2-header:has(.v2-nav-cta) .v2-nav { margin-right:clamp(140px,10vw,160px); }
}
.v2-nav a { color:#F5F5F5; font-family:"Open Sans",sans-serif; font-size:15px; font-weight:600; letter-spacing:.06em; line-height:1.4; text-transform:uppercase; white-space:nowrap; transition:color .2s ease; }
.v2-nav a[aria-current="page"] { color:var(--osd); }
.v2-nav a:hover,.v2-nav a:focus-visible { color:var(--osd); }
.v2-nav .v2-nav-cta { position:absolute; top:0; right:var(--gutter); bottom:0; height:max-content; margin-block:auto; padding:10px 14px; border:1px solid var(--osd); color:var(--osd); }
.v2-menu { display:none; width:42px; height:42px; border:1px solid var(--line-2); background:transparent; align-items:center; justify-content:center; }
.v2-menu svg { width:20px; height:20px; }
@media(max-width:1200px) {
  .v2-menu { display:flex; flex:0 0 42px; margin-left:auto; }
  .v2-nav { display:none; position:absolute; inset:100% 0 auto; z-index:71; margin:0; padding:8px 24px 18px; background:#101110; border-bottom:1px solid var(--line); align-items:stretch; flex-direction:column; gap:0; }
  .v2-nav.is-open { display:flex; }
  .v2-nav a { padding:13px 0; border-bottom:1px solid var(--line); }
  .v2-nav .v2-nav-cta { position:static; height:auto; margin:12px 0 0; border:1px solid var(--osd); padding:10px 14px; align-self:flex-start; }
  .v2-nav .language-switch { margin:12px 0 4px; }
}
.hero { min-height:min(760px, calc(100svh - 82px)); padding:72px 0 68px; overflow:hidden; background:#111211; }
.hero-in { width:100%; }
.hero-in > .wrap { display:block; position:relative; min-height:610px; padding-top:36px; padding-bottom:30px; }
.hero-in > .wrap > :not(.hero-visual) { width:100%; max-width:790px; }
.hero-osd { gap:9px; margin:0 0 26px; color:var(--osd); font-size:10px; letter-spacing:.15em; opacity:1; animation:none; }
.hero-osd i { width:7px; height:7px; background:var(--osd); box-shadow:none; }
.hero h1 { font-family:var(--font-display); font-size:clamp(52px,6.3vw,86px); line-height:.92; letter-spacing:-.045em; margin:0 0 24px; }
.hero h1 .ln { white-space:nowrap; }
.hero h1 .ln.accent { color:var(--white); }
.hero h1 .w { opacity:1; transform:none; animation:none; }
.hero-hook { margin:0 0 18px; color:var(--osd); font-family:var(--font-body); font-size:11px; letter-spacing:.1em; text-transform:uppercase; opacity:1; animation:none; }
.hero-sub p { max-width:45ch; font-size:17px; color:#b6b6b0; }
.hero-cta { margin-top:30px; gap:12px; }
.btn { border-radius:0; font-size:10px; letter-spacing:.09em; padding:14px 18px; }
.btn-primary { background:var(--osd); color:#101510; box-shadow:none; }
.btn-primary:hover { background:#9dffb4; box-shadow:none; transform:translateY(-2px); }
.btn-ghost { color:var(--white); background:transparent; border-color:#74756f; }
.btn-ghost:hover { color:var(--osd); border-color:var(--osd); background:transparent; }
.hero-strip { margin-top:42px; padding-top:18px; border-top:1px solid var(--line-2); grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 28px; max-width:570px; }
.hero-strip div { color:var(--text-3); }
.hero-strip b { color:var(--white); font-size:18px; }
.key-stats { padding:34px var(--gutter) 36px; background:#171918; border-top:1px solid rgba(244,243,239,.08); }
.key-stats-grid { width:100%; max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; }
.key-stat { min-width:0; min-height:92px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; text-align:center; }
.key-stat + .key-stat { border-left:1px solid rgba(244,243,239,.10); }
.key-stat-value { display:inline-block; min-width:7ch; box-sizing:border-box; color:var(--osd); font-family:var(--font-body); font-size:clamp(40px,3.6vw,50px); font-weight:600; line-height:1; letter-spacing:-.025em; white-space:nowrap; text-align:center; font-variant-numeric:tabular-nums; font-feature-settings:'tnum' 1; }
.key-stat-label { color:#c6c8c2; font-family:var(--font-body); font-size:10px; font-weight:500; line-height:1.45; letter-spacing:.09em; }
.hero-visual { display:none !important; }
.hero-visual::before,.hero-visual::after { content:""; position:absolute; width:24px; height:24px; border-color:var(--osd); border-style:solid; pointer-events:none; }
.hero-visual::before { top:-1px; left:-1px; border-width:1px 0 0 1px; }
.hero-visual::after { right:-1px; bottom:-1px; border-width:0 1px 1px 0; }
.hero-visual img { display:block; width:100%; height:clamp(300px,34vw,420px); object-fit:contain; background:#fefefe; }
.hero-visual figcaption { display:flex; justify-content:space-between; gap:12px; padding-top:14px; font-family:var(--font-body); color:#b7b8b2; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.hero-visual figcaption strong { color:var(--osd); font-weight:500; }
h2 { font-family:var(--font-display); font-size:clamp(38px,5.2vw,68px); line-height:.99; letter-spacing:-.04em; max-width:17ch; margin-bottom:22px; }
h3 { font-family:var(--font-display); font-size:24px; }
.tag,.lede { color:var(--text-2); }
.lede { font-size:16px; max-width:62ch; margin-bottom:42px; }
.prod { border-radius:0; background:#1a1b1a; border-color:#41433f; padding:16px 16px 22px; transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .25s ease,background .25s ease; }
.prod:hover { transform:translateY(-4px); border-color:#777972; background:#20211f; }
.prod.active { border-color:var(--osd); box-shadow:inset 0 0 0 1px var(--osd); }
.prods { gap:14px; }
.prod-shot { border:0; border-radius:0; background:#fefefe; margin-bottom:20px; }
.prod-shot img { aspect-ratio:1.42; }
.prod-shot .bk { width:11px; height:11px; border-color:var(--osd); opacity:.8; }
.prod-shot .stamp { color:#595a55; }
.prod .role { color:var(--osd-text); }
.prod .price { font-size:28px; }
.prod .fine { color:#aaa9a3; }
.prod .lead-flag { background:var(--osd); color:#101510; border-radius:0; }
.prod .btn { white-space:normal; }
@media(max-width:720px) {
  html { scroll-padding-top:72px; }
  .v2-header { min-height:66px; padding:10px 20px; }
  .v2-brand img { width:148px; }
  .v2-menu { display:flex; }
  .v2-nav { display:none; position:absolute; inset:100% 0 auto; padding:8px 20px 18px; background:#101110; border-bottom:1px solid var(--line); align-items:stretch; flex-direction:column; gap:0; }
  .v2-nav.is-open { display:flex; }
  .v2-nav a { padding:13px 0; border-bottom:1px solid var(--line); }
  .v2-nav .v2-nav-cta { position:static; height:auto; margin:12px 0 0; border:1px solid var(--osd); padding:10px 14px; align-self:flex-start; }
  .hero { min-height:calc(100svh - 66px); padding:30px 0 28px; }
  .hero-media { height:100%; }
  .hero-media video,.hero-media img.fallback { object-fit:cover; object-position:56% 66%; }
  .hero-media::after { background:linear-gradient(90deg,rgba(8,9,8,.62) 0%,rgba(8,9,8,.38) 56%,rgba(8,9,8,.10) 100%),linear-gradient(0deg,rgba(8,9,8,.48) 0%,transparent 54%); }
  .hero-in > .wrap { display:flex; flex-direction:column; align-items:stretch; gap:0; min-height:calc(100svh - 124px); padding-top:0; padding-bottom:0; }
  .hero-in > .wrap > :not(.hero-visual) { width:100%; max-width:none; }
  .hero-osd { order:0; }
  .hero h1 { order:1; }
  .hero-hook { order:2; }
  .hero-sub { order:3; }
  .hero-cta { order:4; }
  .hero-strip { order:5; }
  .hero-osd { margin-bottom:20px; flex-wrap:wrap; font-size:9px; }
  .hero h1 { font-size:clamp(42px,11.7vw,58px); line-height:.94; margin-bottom:18px; }
  .hero h1 .ln { white-space:normal; }
  .hero-hook { font-size:9px; }
  .hero-sub p { font-size:15px; }
  .hero-cta { display:flex; flex-direction:column; align-items:stretch; }
  .hero-cta .btn { justify-content:center; white-space:normal; text-align:center; }
  .hero-strip { margin-top:26px; gap:13px 18px; }
  .hero-strip div { font-size:8px; }
  .hero-strip b { font-size:15px; }
  section { padding:66px 0; }
  h2 { font-size:clamp(38px,11vw,52px); }
  .lede { margin-bottom:30px; font-size:15px; }
  .prods { grid-template-columns:1fr; }
  .prod-shot img { aspect-ratio:1.5; }
  .prod-cta { flex-wrap:wrap; }
  .calc { padding:20px; }
  .calc-top,.calc-out { grid-template-columns:1fr; }
  .mbar { display:none !important; }
  body { padding-bottom:0; }
}
@media(max-width:560px) {
  .key-stats { padding:12px 10px; }
  .key-stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
  .key-stat { min-height:0; align-items:center; justify-content:flex-start; text-align:center; padding:6px 3px; gap:4px; }
  .key-stat + .key-stat { border-left:1px solid rgba(244,243,239,.12); border-top:0; }
  .key-stat-value { min-width:0; font-size:clamp(16px,5vw,20px); letter-spacing:-.025em; }
  .key-stat-label { font-size:8px; line-height:1.25; letter-spacing:.025em; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .hero-media video { display:none !important; }
  .hero-media img.fallback { display:block !important; }
}

/* Deliberate per-breakpoint crop: preserve the drone and keep copy on the left. */
@media (min-width: 1200px) {
  .hero-media video,.hero-media img.fallback { object-position:50% 68%; }
}
@media (min-width: 721px) and (max-width: 980px) {
  .hero { min-height:calc(100svh - 72px); }
  .hero .wrap { width:calc(100% - 48px); max-width:1060px; margin-inline:auto; padding-left:0; padding-right:0; }
  .hero-media video,.hero-media img.fallback { object-position:46% 64%; }
  .hero-media::after { background:linear-gradient(90deg,rgba(8,9,8,.68) 0%,rgba(8,9,8,.42) 40%,rgba(8,9,8,.12) 78%,transparent 100%),linear-gradient(0deg,rgba(8,9,8,.4),transparent 40%); }
}

/* Product catalog composition: four compact camera selectors around the
   supplied transparent DJI drone image. */
#products.fpv-catalog { min-height:90svh; box-sizing:border-box; padding:56px 0 62px; background:#101110; }
#products.fpv-catalog > .wrap { max-width:1440px; padding-inline:24px; }
.catalog-head { max-width:1242px; margin:0 auto 34px; }
.catalog-head h2 { margin:0; max-width:100%; font-size:clamp(38px,3.6vw,52px); line-height:1.02; letter-spacing:-.035em; white-space:nowrap; }
html[lang="en"] .catalog-head h2 { white-space:normal; }
.catalog-layout { display:grid; grid-template-columns:280px minmax(600px,1fr) 280px; gap:clamp(60px,4.86vw,70px); align-items:center; min-height:700px; }
.catalog-side { display:grid; grid-template-rows:repeat(2,320px); gap:50px; min-width:0; align-self:center; }
.prod.catalog-item { width:100%; min-width:0; height:320px; min-height:320px; padding:12px; display:flex; flex-direction:column; align-items:stretch; gap:0; overflow:visible; border:1px solid rgba(244,243,239,.14); border-radius:1px; background:#121513; box-shadow:none; transform:none; transition:border-color .2s ease,background-color .2s ease; }
.prod.catalog-item:hover { border-color:rgba(244,243,239,.30); background:#171a18; box-shadow:none; transform:none; }
.prod.catalog-item.active,.prod.catalog-item.active:hover { border-color:#7CFF9E; background:#151916; box-shadow:inset 0 0 0 1px rgba(124,255,158,.25); }
.catalog-photo { position:relative; width:100%; height:132px; flex:0 0 132px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 65%,rgba(124,255,158,.10) 0%,rgba(124,255,158,.035) 35%,rgba(12,15,13,0) 68%),#0D100E; }
.catalog-photo::before { content:""; position:absolute; inset:7px; z-index:1; pointer-events:none; background:linear-gradient(var(--osd),var(--osd)) left top/12px 1px no-repeat,linear-gradient(var(--osd),var(--osd)) left top/1px 12px no-repeat,linear-gradient(var(--osd),var(--osd)) right top/12px 1px no-repeat,linear-gradient(var(--osd),var(--osd)) right top/1px 12px no-repeat,linear-gradient(var(--osd),var(--osd)) left bottom/12px 1px no-repeat,linear-gradient(var(--osd),var(--osd)) left bottom/1px 12px no-repeat,linear-gradient(var(--osd),var(--osd)) right bottom/12px 1px no-repeat,linear-gradient(var(--osd),var(--osd)) right bottom/1px 12px no-repeat; }
.catalog-photo img { display:block; width:100%; height:132px; padding:6px; object-fit:contain; transform:scale(1.18); transition:transform .2s ease; }
.catalog-index { position:absolute; z-index:2; top:10px; left:11px; color:#777d78; font-family:var(--font-body); font-size:9px; font-weight:500; letter-spacing:.08em; }
.catalog-item:hover .catalog-photo img { transform:scale(1.205); }
.catalog-item.active .catalog-photo { background:radial-gradient(circle at 50% 65%,rgba(124,255,158,.15) 0%,rgba(124,255,158,.05) 38%,rgba(12,15,13,0) 70%),#0D100E; }
.catalog-copy { display:flex; flex:1; flex-direction:column; align-items:stretch; min-width:0; padding-top:9px; }
.catalog-name { font-family:var(--font-display); display:-webkit-box; max-width:100%; margin:0 0 5px; overflow:hidden; color:var(--white); font-size:16px; font-weight:650; line-height:1.18; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.catalog-role { display:block; margin:0 0 6px; color:var(--osd); font-family:var(--font-body); font-size:8.5px; font-weight:500; line-height:1.35; letter-spacing:.1em; }
.catalog-price { display:block; color:#7CFF9E; font-family:var(--font-body); font-size:17px; font-weight:600; line-height:1.2; font-variant-numeric:tabular-nums; font-feature-settings:'tnum' 1; text-shadow:none; }
.catalog-actions { position:relative; display:flex; flex-wrap:wrap; gap:5px 12px; margin-top:auto; padding-top:7px; }
.catalog-detail-link { display:flex; width:100%; height:50px; box-sizing:border-box; align-items:center; justify-content:space-between; padding:0 13px; border:1px solid #7CFF9E; background:transparent; color:var(--white)!important; font-family:var(--font-body); font-size:10px; font-weight:500; letter-spacing:.08em; line-height:1; text-decoration:none!important; transition:background-color .18s ease,color .18s ease; cursor:pointer; }
.catalog-detail-link span { color:#7CFF9E; font-size:18px; line-height:1; transition:color .18s ease,transform .18s ease; }
.catalog-detail-link:hover,.catalog-detail-link:focus-visible { background:#7CFF9E; color:#101510!important; }
.catalog-detail-link:hover span,.catalog-detail-link:focus-visible span { color:#101510; transform:translateX(2px); }
.catalog-detail-link:focus-visible { outline:2px solid var(--white); outline-offset:2px; }
.catalog-detail-link { appearance:none; font-family:var(--font-body); cursor:pointer; }
.catalog-calc-link { position:absolute; top:auto; left:-10000px; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.catalog-calc-link:focus-visible { top:auto; right:0; bottom:calc(100% + 4px); left:auto; z-index:5; width:auto; height:auto; padding:8px 10px; overflow:visible; clip-path:none; border:1px solid #7CFF9E; background:#121513; color:var(--white); font-family:var(--font-body); font-size:10px; text-decoration:none; }
.product-detail-dialog { position:fixed; inset:0; z-index:1000; box-sizing:border-box; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:35px 40px; border:0; background:transparent; color:var(--white); overflow:auto; }
.product-detail-dialog[open] { display:grid; place-items:center; }
.product-detail-dialog::backdrop { background:rgba(3,5,4,.78); }
.product-detail-panel { position:relative; width:min(1100px,calc(100vw - 80px)); max-height:calc(100vh - 70px); box-sizing:border-box; overflow:auto; border:1px solid rgba(244,243,239,.20); background:#0D100E; box-shadow:0 24px 90px rgba(0,0,0,.48); animation:product-detail-in .22s ease-out both; }
.product-detail-topline { display:flex; align-items:center; justify-content:space-between; padding:18px 20px 12px; color:#7CFF9E; font:500 11px/1 var(--font-body); letter-spacing:.12em; }
.product-detail-close { display:grid; width:40px; height:40px; place-items:center; border:1px solid rgba(244,243,239,.22); background:transparent; color:var(--white); font:400 25px/1 var(--font-body); cursor:pointer; }
.product-detail-close:hover,.product-detail-close:focus-visible { border-color:#7CFF9E; color:#7CFF9E; }
.product-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:34px; padding:0 28px 26px; }
.product-detail-stage { position:relative; display:grid; min-height:420px; place-items:center; overflow:hidden; border:1px solid rgba(244,243,239,.10); background:radial-gradient(circle at 50% 62%,rgba(124,255,158,.10),rgba(124,255,158,.035) 36%,transparent 70%),#0A0C0B; }
.product-detail-stage::before { content:""; position:absolute; inset:14px; pointer-events:none; background:linear-gradient(#7CFF9E,#7CFF9E) left top/16px 1px no-repeat,linear-gradient(#7CFF9E,#7CFF9E) left top/1px 16px no-repeat,linear-gradient(#7CFF9E,#7CFF9E) right top/16px 1px no-repeat,linear-gradient(#7CFF9E,#7CFF9E) right top/1px 16px no-repeat,linear-gradient(#7CFF9E,#7CFF9E) left bottom/16px 1px no-repeat,linear-gradient(#7CFF9E,#7CFF9E) left bottom/1px 16px no-repeat,linear-gradient(#7CFF9E,#7CFF9E) right bottom/16px 1px no-repeat,linear-gradient(#7CFF9E,#7CFF9E) right bottom/1px 16px no-repeat; opacity:.65; }
.product-detail-stage img { display:block; width:88%; height:88%; max-height:390px; object-fit:contain; }
.product-detail-stage img[hidden] { display:none!important; }
.product-detail-stage[data-model="prbz"] { grid-template-rows:auto auto; align-content:center; justify-items:center; gap:18px; padding:22px 0; box-sizing:border-box; }
.product-detail-stage[data-model="prbz"] img[data-product-image] { width:70%; height:auto; max-width:70%; max-height:none; object-fit:contain; }
.product-detail-stage[data-model="prbz"] img[data-prbz-second-image] { width:68%; height:auto; max-width:68%; max-height:none; object-fit:contain; }
.product-detail-stage[data-model="prbz"] img[hidden] { display:none; }
.product-detail-stage[data-model="starlight"] { grid-template-rows:auto auto; align-content:start; justify-items:center; gap:52px; padding:32px 0 22px; box-sizing:border-box; }
.product-detail-stage[data-model="starlight"] img[data-product-image] { width:80%; height:80%; max-width:80%; object-fit:contain; }
.product-detail-stage[data-model="starlight"] img[data-starlight-second-image] { width:76%; height:auto; max-width:76%; max-height:none; object-fit:contain; }
.product-detail-copy { display:flex; flex-direction:column; align-items:flex-start; padding:18px 0 6px; }
.product-detail-label { margin:0 0 14px; color:#7CFF9E; font:500 11px/1.5 var(--font-body); letter-spacing:.12em; }
.product-detail-title { margin:0 0 18px; color:var(--white); font:650 clamp(27px,3vw,40px)/1.12 var(--font-display); letter-spacing:-.025em; }
.product-detail-price { margin:0; color:#7CFF9E; font:600 clamp(25px,2.6vw,34px)/1.2 var(--font-body); font-variant-numeric:tabular-nums; }
.product-detail-sections { display:grid; width:100%; gap:14px; margin-top:24px; }
.product-detail-info { padding:14px 0; border-top:1px solid rgba(244,243,239,.13); }
.product-detail-info h3 { margin:0 0 8px; color:#c9ceca; font:500 11px/1.3 var(--font-display); letter-spacing:.1em; }
.product-detail-info p,.product-detail-info ul { margin:0; color:#daddda; font:400 15px/1.55 var(--font-body); }
.product-detail-info ul { padding-left:18px; }
.product-detail-sections { gap:11px; margin-top:17px; }
.product-detail-description { display:-webkit-box; max-width:58ch; margin:0; overflow:hidden; color:#daddda; font:400 14px/1.5 var(--font-body); -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.product-detail-highlight { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:11px 0; border-top:1px solid rgba(124,255,158,.28); border-bottom:1px solid rgba(124,255,158,.28); }
.product-detail-highlight[hidden],.product-detail-key-specs[hidden],.product-detail-info[hidden],.product-detail-note[hidden] { display:none!important; }
.product-detail-highlight span { color:#c9ceca; font:500 10px/1.3 var(--font-body); letter-spacing:.11em; }
.product-detail-highlight strong { color:#7CFF9E; font:600 clamp(22px,2.4vw,30px)/1.1 var(--font-body); font-variant-numeric:tabular-nums; }
.product-detail-key-specs { display:grid; width:100%; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid rgba(244,243,239,.13); border-bottom:1px solid rgba(244,243,239,.13); }
.product-detail-key-spec { display:flex; min-width:0; flex-direction:column; justify-content:center; gap:6px; padding:11px 10px; }
.product-detail-key-spec:first-child { padding-left:0; }
.product-detail-key-spec + .product-detail-key-spec { border-left:1px solid rgba(244,243,239,.12); }
.product-detail-key-spec span { color:#aeb5b0; font:400 9px/1.3 var(--font-body); letter-spacing:.035em; }
.product-detail-key-spec strong { color:#7CFF9E; font:600 clamp(13px,1.1vw,16px)/1.2 var(--font-body); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.product-detail-info { padding:10px 0; }
.product-detail-info h3 { margin-bottom:6px; font-size:10px; }
.product-detail-specs dl,.product-detail-wholesale-tiers { margin:0; }
.product-detail-spec-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); align-items:start; gap:16px; padding:6px 0; border-bottom:1px solid rgba(244,243,239,.08); }
.product-detail-spec-row:last-child { border-bottom:0; }
.product-detail-spec-row dt,.product-detail-spec-row dd { min-width:0; margin:0; font:400 12px/1.4 var(--font-body); }
.product-detail-spec-row dt { color:#aeb5b0; }
.product-detail-spec-row dd { color:#f4f3ef; text-align:right; overflow-wrap:anywhere; }
.product-detail-usecases .product-detail-chips { display:flex; flex-wrap:wrap; gap:6px; padding:0; list-style:none; }
.product-detail-chips li { padding:5px 8px; border:1px solid rgba(244,243,239,.15); color:#daddda; font:400 10px/1.2 var(--font-body); }
.product-detail-package ul { display:grid; gap:4px; padding-left:16px; color:#daddda; font:400 12px/1.4 var(--font-body); }
.product-detail-wholesale-tiers .product-detail-spec-row { padding:5px 0; }
.product-detail-wholesale-tiers .product-detail-spec-row dd { color:#7CFF9E; font-family:var(--font-body); font-variant-numeric:tabular-nums; }
.product-detail-wholesale-message { margin:0; color:#7CFF9E; font:500 11px/1.4 var(--font-body); letter-spacing:.06em; }
.product-detail-note { padding:9px 11px; border-left:2px solid rgba(124,255,158,.55); background:rgba(244,243,239,.035); color:#c9ceca; font:400 11px/1.45 var(--font-body); }
.product-detail-footer { display:flex; justify-content:flex-end; padding:0 28px 26px; }
.product-detail-cta { display:flex; min-height:54px; width:min(420px,100%); box-sizing:border-box; align-items:center; justify-content:space-between; padding:0 18px; border:1px solid #7CFF9E; background:#7CFF9E; color:#101510!important; font:600 11px/1 var(--font-body); letter-spacing:.08em; text-decoration:none!important; }
.product-detail-cta span { font-size:18px; }
@keyframes product-detail-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:767px) {
  .product-detail-dialog { padding:10px; }
  .product-detail-panel { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); }
  .product-detail-topline { padding:12px 14px 8px; }
  .product-detail-close { width:42px; height:42px; }
  .product-detail-grid { grid-template-columns:1fr; gap:18px; padding:0 14px 18px; }
  .product-detail-stage { min-height:clamp(190px,43dvh,320px); }
  .product-detail-stage img { width:84%; height:84%; max-height:290px; }
  .product-detail-stage[data-model="prbz"] { gap:14px; padding:18px 0; }
  .product-detail-stage[data-model="prbz"] img[data-product-image] { width:70%; max-width:70%; max-height:none; }
  .product-detail-stage[data-model="prbz"] img[data-prbz-second-image] { width:68%; max-width:68%; max-height:none; }
  .product-detail-copy { padding:0; }
  .product-detail-label { margin-bottom:8px; font-size:10px; }
  .product-detail-title { margin-bottom:10px; font-size:clamp(24px,7vw,31px); }
  .product-detail-price { font-size:25px; }
  .product-detail-sections { margin-top:18px; }
  .product-detail-description { font-size:13px; }
  .product-detail-key-specs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-detail-key-spec { padding:9px 8px; }
  .product-detail-key-spec:nth-child(odd) { padding-left:0; }
  .product-detail-key-spec:nth-child(even) { border-left:1px solid rgba(244,243,239,.12); }
  .product-detail-key-spec:nth-child(n+3) { border-top:1px solid rgba(244,243,239,.1); }
  .product-detail-key-spec strong { font-size:14px; }
  .product-detail-spec-row { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:10px; }
  .product-detail-spec-row dt,.product-detail-spec-row dd { font-size:12px; }
  .product-detail-chips { gap:5px!important; }
  .product-detail-chips li { font-size:10px; }
  .product-detail-footer { padding:0 14px 14px; }
  .product-detail-cta { min-height:52px; }
}
html.mobile-preview .product-detail-dialog { inset:0 auto 0 50%; width:375px; height:100dvh; padding:10px; overflow:auto; transform:translateX(-50%); }
html.mobile-preview .product-detail-panel { width:355px; max-height:calc(100dvh - 20px); }
html.mobile-preview .product-detail-grid { grid-template-columns:1fr; gap:18px; padding:0 14px 18px; }
html.mobile-preview .product-detail-stage { min-height:clamp(190px,43dvh,320px); }
html.mobile-preview .product-detail-stage img { width:84%; height:84%; max-height:290px; }
html.mobile-preview .product-detail-stage[data-model="prbz"] { gap:14px; padding:18px 0; }
html.mobile-preview .product-detail-stage[data-model="prbz"] img[data-product-image] { width:70%; max-width:70%; max-height:none; }
html.mobile-preview .product-detail-stage[data-model="prbz"] img[data-prbz-second-image] { width:68%; max-width:68%; max-height:none; }
html.mobile-preview .product-detail-copy { padding:0; }
html.mobile-preview .product-detail-label { margin-bottom:8px; font-size:10px; }
html.mobile-preview .product-detail-title { margin-bottom:10px; font-size:clamp(24px,7vw,31px); }
html.mobile-preview .product-detail-price { font-size:25px; }
html.mobile-preview .product-detail-sections { margin-top:18px; }
html.mobile-preview .product-detail-description { font-size:13px; }
html.mobile-preview .product-detail-key-specs { grid-template-columns:repeat(2,minmax(0,1fr)); }
html.mobile-preview .product-detail-key-spec { padding:9px 8px; }
html.mobile-preview .product-detail-key-spec:nth-child(odd) { padding-left:0; }
html.mobile-preview .product-detail-key-spec:nth-child(even) { border-left:1px solid rgba(244,243,239,.12); }
html.mobile-preview .product-detail-key-spec:nth-child(n+3) { border-top:1px solid rgba(244,243,239,.1); }
html.mobile-preview .product-detail-key-spec strong { font-size:14px; }
html.mobile-preview .product-detail-spec-row { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:10px; }
html.mobile-preview .product-detail-spec-row dt,html.mobile-preview .product-detail-spec-row dd { font-size:12px; }
html.mobile-preview .product-detail-chips { gap:5px!important; }
html.mobile-preview .product-detail-chips li { font-size:10px; }
html.mobile-preview .product-detail-footer { padding:0 14px 14px; }
html.mobile-preview .product-detail-cta { min-height:52px; }
@media (prefers-reduced-motion:reduce) { .product-detail-panel { animation:none; } }
.catalog-layout { position:relative; isolation:isolate; }
.catalog-layout::before { content:""; position:absolute; z-index:0; left:50%; top:50%; width:min(58%,820px); height:76%; transform:translate(-50%,-50%); pointer-events:none; background:radial-gradient(ellipse at 50% 48%,rgba(124,255,158,.19) 0%,rgba(124,255,158,.105) 31%,rgba(124,255,158,.045) 52%,transparent 74%); filter:blur(18px); }
.catalog-orbit-arrows { position:absolute; z-index:1; inset:0; display:block; width:100%; height:100%; overflow:visible; color:rgba(124,255,158,.8); pointer-events:none; user-select:none; }
.catalog-center { position:relative; z-index:2; display:grid; place-items:stretch; min-width:0; }
.catalog-drone-stage { position:relative; min-height:700px; display:grid; place-items:center; background:none; }
.catalog-drone { position:relative; z-index:1; display:block; width:min(102%,700px); max-width:none; height:auto; object-fit:contain; }
.prod.catalog-item { position:relative; z-index:3; }
@media(max-width:1100px) { .catalog-orbit-arrows { display:none; } }
@media(max-width:1320px) {
  #products.fpv-catalog { min-height:0; padding:58px 0 68px; }
  #products.fpv-catalog > .wrap { max-width:900px; padding-inline:var(--gutter); }
  .catalog-head { margin-bottom:24px; }
  .catalog-head h2 { white-space:normal; font-size:clamp(34px,5.2vw,44px); }
  .catalog-layout { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"drone drone" "prbz starlight" "ratel thermal"; gap:14px; min-height:0; }
  .catalog-side { display:contents; }
  .catalog-center { grid-area:drone; }
  .catalog-prbz { grid-area:prbz; }
  .catalog-starlight { grid-area:starlight; }
  .catalog-ratel { grid-area:ratel; }
  .catalog-thermal { grid-area:thermal; }
  .catalog-drone-stage { min-height:0; padding:0 0 8px; }
  .catalog-layout::before { top:170px; width:min(72%,560px); height:300px; opacity:.78; filter:blur(15px); }
  .catalog-drone { width:min(44vw,360px); }
  .catalog-side { grid-template-rows:none; gap:14px; align-self:stretch; }
  .catalog-side { grid-template-rows:none; gap:14px; align-self:stretch; }
  .prod.catalog-item { width:100%; height:340px; min-height:340px; padding:14px; }
  .catalog-photo { height:150px; flex-basis:150px; }
  .catalog-photo img { height:150px; }
  .catalog-name { font-size:17px; }
  .catalog-role { font-size:9px; }
  .catalog-price { font-size:18px; }
  .catalog-detail-link { height:52px; font-size:10px; }
}
@media(max-width:560px) {
  #products.fpv-catalog { padding:46px 0 58px; }
  #products.fpv-catalog > .wrap { padding-inline:20px; }
  .catalog-head { margin-bottom:18px; }
  .catalog-head h2 { font-size:clamp(29px,8vw,36px); line-height:1.04; }
  .catalog-layout { grid-template-columns:1fr; grid-template-areas:"drone" "prbz" "ratel" "starlight" "thermal"; gap:14px; }
  .catalog-drone-stage { min-height:0; padding:0 0 4px; }
  .catalog-layout::before { top:135px; width:min(92vw,390px); height:245px; opacity:.58; filter:blur(12px); }
  .catalog-drone { width:min(72vw,270px); }
  .prod.catalog-item { min-height:0; height:350px; padding:12px; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; }
  .catalog-photo { width:100%; height:158px; flex:0 0 158px; }
  .catalog-photo img { height:158px; }
  .catalog-copy { width:100%; }
  .catalog-copy { padding-top:11px; }
  .catalog-name { margin-bottom:6px; font-size:16px; line-height:1.2; }
  .catalog-role { margin:0 0 7px; font-size:9px; line-height:1.4; letter-spacing:.09em; }
  .catalog-price { font-size:17px; }
  .catalog-actions { flex-direction:column; align-items:stretch; gap:4px; margin-top:auto; padding-top:8px; }
  .catalog-detail-link { height:50px; font-size:10px; }
}

/* FPV Vision 2.0 calculator: centered, wide two-column layout. */
#calc { padding:78px 0 92px; background:#0b0d0c; }
#calc > .wrap.calc-wrap { box-sizing:border-box; width:min(1180px,calc(100% - 64px)); max-width:1180px; margin-inline:auto; padding-inline:0; }
#calc .calc-intro { width:100%; max-width:1180px; margin:0 auto 22px; text-align:center; }
#calc .calc-eyebrow { margin:0 0 10px; color:#71d88c; font:600 10px/1.2 var(--font-body); letter-spacing:.16em; }
#calc .calc-heading { max-width:none; margin:0 0 10px; color:#f4f3ef; font:600 clamp(34px,4vw,50px)/1.04 var(--font-display); letter-spacing:-.035em; }
#calc .calc-description { max-width:64ch; margin:0 auto; color:#a9ada8; font-size:15px; line-height:1.5; }
#calc .calc { box-sizing:border-box; display:grid; width:100%; max-width:none; min-width:0; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); padding:0; border:1px solid #303431; border-radius:4px; background:#111412; box-shadow:0 24px 60px rgba(0,0,0,.18); }
#calc .calc-config,#calc .calc-result { box-sizing:border-box; min-width:0; padding:26px 32px; }
#calc .calc-result { display:flex; flex-direction:column; border-left:1px solid #303431; background:#181b19; }
#calc .calc-panel-heading { display:flex; align-items:center; gap:12px; margin:0 0 19px; }
#calc .calc-panel-heading h3 { margin:0; color:#eff1ed; font:600 11px/1.2 var(--font-display); letter-spacing:.12em; }
#calc .calc-index { color:#72d88c; font:500 10px/1 var(--font-body); }
#calc .calc-field-label { color:#b4b9b4; font:600 10px/1.3 var(--font-body); letter-spacing:.11em; }
#calc .calc-field-group { margin:0 0 18px; }
#calc .calc-field-group > .calc-field-label { margin:0 0 8px; }
#calc .calc-prod { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; }
#calc .cpbtn { box-sizing:border-box; display:flex; min-width:0; min-height:64px; align-items:center; gap:9px; padding:8px 11px; border:1px solid #373c38; border-radius:3px; background:#191c1a; color:#c8ccc8; text-align:left; font:inherit; cursor:pointer; transition:border-color .18s ease,background-color .18s ease,color .18s ease; }
#calc .cpbtn strong,#calc .cpbtn small { display:block; }
#calc .cpbtn strong { color:#e8ebe7; font:600 13px/1.22 var(--font-body); }
#calc .cpbtn small { margin-top:3px; color:#9ca29c; font:500 10px/1.2 var(--font-body); letter-spacing:.04em; }
#calc .calc-model-image { flex:none; width:40px; height:42px; object-fit:contain; }
#calc .calc-model-copy { min-width:0; }
#calc .calc-model-copy strong { white-space:normal; }
#calc .model-indicator { position:relative; flex:none; width:13px; height:13px; border:1px solid #717871; border-radius:50%; }
#calc .cpbtn[aria-pressed=true] { border-color:#65c980; background:#1b211d; }
#calc .cpbtn[aria-pressed=true] .model-indicator { border-color:#75df91; }
#calc .cpbtn[aria-pressed=true] .model-indicator::after { position:absolute; inset:3px; border-radius:50%; background:#75df91; content:""; }
#calc .cpbtn:hover { border-color:#6bc985; }
#calc .calc-quantity-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 5px; }
#calc .calc-quantity-input { display:flex; align-items:center; gap:12px; }
#calc .calc-quantity-input input { box-sizing:border-box; width:6ch; padding:0; border:0; outline:0; background:transparent; color:#f4f3ef; text-align:center; font:600 36px/1 var(--font-body); font-variant-numeric:tabular-nums; }
#calc .calc-quantity-input input::-webkit-inner-spin-button,#calc .calc-quantity-input input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
#calc .calc-quantity-input input[type=number] { appearance:textfield; -moz-appearance:textfield; }
#calc .calc-quantity-input input:focus-visible { outline:1px solid #71d88c; outline-offset:4px; }
#calc .calc-quantity-input > span { margin-left:4px; color:#a8ada8; font:500 12px/1 var(--font-body); }
#calc .qty-step { width:28px; height:28px; padding:0; border:1px solid #424842; border-radius:2px; background:#1a1d1b; color:#dce2dc; font:500 19px/1 var(--font-body); cursor:pointer; }
#calc .qty-step:hover { border-color:#76d991; color:#8ce3a2; }
#calc .calc-range-wrap { position:relative; margin:2px 0 22px; padding-top:3px; }
#calc .calc-range { display:block; width:100%; height:5px; margin:0; appearance:none; border:0; border-radius:4px; background:linear-gradient(to right,#75d991 0%,#75d991 var(--range-progress,68%),#3b403c var(--range-progress,68%),#3b403c 100%); cursor:pointer; }
#calc .calc-range::-webkit-slider-thumb { width:20px; height:20px; appearance:none; border:3px solid #111412; border-radius:50%; background:#86e19b; box-shadow:0 0 0 1px #86e19b; }
#calc .calc-range::-moz-range-thumb { width:15px; height:15px; border:3px solid #111412; border-radius:50%; background:#86e19b; box-shadow:0 0 0 1px #86e19b; }
#calc .calc-range:focus-visible { outline:2px solid #86e19b; outline-offset:5px; }
#calc .calc-thresholds { position:relative; display:block; height:15px; margin:9px 0 0; color:#aeb5ae; font:500 10px/1 var(--font-body); }
#calc .calc-thresholds span { position:absolute; top:0; transform:translateX(-50%); white-space:nowrap; }
#calc .calc-thresholds span.threshold-start { transform:none; }
#calc .calc-thresholds span.threshold-end { transform:translateX(-100%); }
#calc .calc-quick-head { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin:0 0 7px; }
#calc .calc-quick-hint { color:#858c86; font-size:11px; }
#calc .qbtns { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
#calc .qbtn { min-width:0; min-height:42px; padding:8px 10px; border:1px solid #383d39; border-radius:3px; background:#181b19; color:#c8ccc8; font:500 12px/1 var(--font-body); cursor:pointer; transition:border-color .18s ease,color .18s ease,background-color .18s ease; }
#calc .qbtn:hover,#calc .qbtn[aria-pressed=true] { border-color:#70d68b; color:#8ce3a2; background:#1a211c; }
#calc .tier-note { display:grid; grid-template-columns:minmax(0,1fr) minmax(90px,120px); align-items:center; gap:14px; margin:17px 0 0; padding:10px 12px; border-left:2px solid #5e9f6e; background:#171b18; color:#b8c2b9; font:500 10px/1.4 var(--font-body); }
#calc .tier-progress { height:4px; background:#343a35; }
#calc .tier-progress i { display:block; width:0; height:100%; background:#72d88c; transition:width .22s ease; }
#calc .calc-result-label { margin:0 0 9px; color:#a3aaa4; font:600 10px/1.2 var(--font-body); letter-spacing:.13em; }
#calc .calc-total { display:block; min-width:0; min-height:1em; color:#f4f3ef; font:600 clamp(48px,4.3vw,72px)/.98 var(--font-body); letter-spacing:-.035em; font-variant-numeric:tabular-nums; white-space:nowrap; }
#calc .calc-breakdown { margin:9px 0 0; color:#bec3be; font:500 13px/1.4 var(--font-body); font-variant-numeric:tabular-nums; }
#calc .calc-result-rows { display:grid; gap:0; margin:18px 0 19px; padding-top:7px; border-top:1px solid #383d39; }
#calc .calc-result-rows > div { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:9px 0; border-bottom:1px solid #2b302c; color:#aeb4ae; font-size:13px; }
#calc .calc-result-rows strong { color:#eceeeb; font:600 14px/1.2 var(--font-body); font-variant-numeric:tabular-nums; white-space:nowrap; }
#calc .calc-result-rows .calc-saving-row span,#calc .calc-result-rows .calc-saving-row strong { color:#83d897; }
#calc .calc .btn { box-sizing:border-box; display:flex; width:100%; min-height:58px; margin-top:auto; align-items:center; justify-content:center; gap:12px; padding:15px 18px; border:0; border-radius:3px; background:#72d88c; color:#101510; font:700 11px/1.2 var(--font-body); letter-spacing:.08em; transition:background-color .18s ease,transform .18s ease; white-space:nowrap; }
#calc .calc .btn:hover { transform:translateY(-1px); background:#8ae5a0; box-shadow:none; }
#calc .calc-fine { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin:13px 0 0; color:#858c86; font-size:10px; line-height:1.4; }
#calc .calc-fine > span { max-width:27ch; }
#calc .calc-fine a { flex:none; color:#9bdaa9; font:600 9px/1.3 var(--font-body); letter-spacing:.05em; white-space:nowrap; }
#calc .calc-fine a:hover { color:#c3f1cc; }
@media(min-width:1100px) {
  #calc .calc { grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); }
}
@media(min-width:768px) and (max-width:1099px) {
  #calc { padding:70px 0 82px; }
  #calc > .wrap.calc-wrap { width:calc(100% - 48px); }
  #calc .calc { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); }
  #calc .calc-config,#calc .calc-result { padding:24px 22px; }
  #calc .calc-prod { gap:7px; }
  #calc .calc-quantity-input { gap:10px; }
  #calc .calc-quantity-input input { font-size:32px; }
  #calc .cpbtn { gap:6px; padding:7px; }
  #calc .calc-model-image { width:34px; height:38px; }
  #calc .cpbtn strong { font-size:12px; }
  #calc .calc-total { font-size:clamp(48px,5.4vw,60px); }
  #calc .calc-fine { gap:7px; font-size:9px; }
  #calc .calc-fine a { font-size:8px; }
}
@media(max-width:767px) {
  #calc { padding:66px 0 76px; }
  #calc > .wrap.calc-wrap { width:calc(100% - 36px); }
  #calc .calc-intro { margin-bottom:20px; text-align:left; }
  #calc .calc-heading { font-size:clamp(34px,9vw,44px); }
  #calc .calc-description { margin:0; font-size:14px; }
  #calc .calc { grid-template-columns:minmax(0,1fr); }
  #calc .calc-config { padding:23px 20px 22px; }
  #calc .calc-result { padding:23px 20px 20px; border-top:1px solid #303431; border-left:0; }
  #calc .calc-prod { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  #calc .cpbtn { min-height:68px; padding:8px; gap:7px; }
  #calc .calc-model-image { width:36px; height:40px; }
  #calc .calc-quantity-input { gap:8px; }
  #calc .calc-quantity-input input { font-size:30px; }
  #calc .calc-total { font-size:clamp(50px,13vw,66px); }
  #calc .calc-result-rows { margin:17px 0; }
  #calc .calc-fine { gap:8px; }
}
@media(max-width:390px) {
  #calc > .wrap.calc-wrap { width:calc(100% - 32px); }
  #calc .calc-config,#calc .calc-result { padding-inline:16px; }
  #calc .calc-model-image { width:30px; height:36px; }
  #calc .calc-model-copy strong { font-size:11px; }
  #calc .calc-model-copy small { font-size:8px; }
  #calc .calc-quantity-head { gap:6px; }
  #calc .calc-quantity-input { gap:6px; }
  #calc .calc-quantity-input input { font-size:26px; }
  #calc .calc-quantity-input > span { margin-left:2px; }
  #calc .qty-step { width:26px; height:27px; }
  #calc .calc-thresholds { font-size:9px; }
  #calc .tier-note { grid-template-columns:minmax(0,1fr) 52px; gap:8px; font-size:9px; }
  #calc .calc-fine { align-items:flex-start; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) {
  #calc .calc * { transition-duration:.01ms!important; animation-duration:.01ms!important; }
}


/* Local FPV Vision 2.0 media gallery. Slots remain neutral until real camera-output files are supplied. */
#media-gallery.media-gallery-section { box-sizing:border-box; padding:34px 0 104px; background:#101110; color:#f4f3ef; }
#media-gallery .media-gallery-wrap { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
#media-gallery .media-gallery-intro { margin:0 auto; text-align:center; }
#media-gallery .media-gallery-eyebrow { margin:0 0 10px; color:#7CFF9E; font:600 10px/1.2 var(--font-body); letter-spacing:.16em; }
#media-gallery .media-gallery-intro h2 { margin:0 0 10px; color:#f4f3ef; font:600 clamp(36px,4vw,52px)/1.04 var(--font-display); letter-spacing:-.035em; }
#media-gallery .media-gallery-intro h2 span { color:#7CFF9E; }
#media-gallery .media-gallery-intro > p:last-child { margin:0; color:#a9ada8; font-size:15px; line-height:1.5; }
#media-gallery .media-gallery-grid { display:grid; grid-template-columns:minmax(0,1.27fr) minmax(0,1fr); grid-template-rows:245px 245px; gap:14px; margin-top:52px; }
#media-gallery .media-gallery-item { position:relative; display:block; min-width:0; min-height:0; overflow:hidden; border:1px solid #303431; border-radius:2px; background:#171a18; color:#a7ada8; }
#media-gallery .media-gallery-item-large { grid-column:1; grid-row:1 / span 2; }
#media-gallery .media-gallery-side-top { display:grid; min-width:0; min-height:0; grid-column:2; grid-row:1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
#media-gallery .media-gallery-item-wide { grid-column:2; grid-row:2; }
#media-gallery .media-gallery-item.is-placeholder { display:grid; place-items:center; background:#171a18; }
#media-gallery .media-placeholder-label { display:inline-flex; align-items:center; gap:8px; color:#89918b; font:500 10px/1.2 var(--font-body); letter-spacing:.14em; }
#media-gallery .media-placeholder-play { color:#7CFF9E; font-size:11px; }
#media-gallery button.media-gallery-item { padding:0; text-align:left; cursor:pointer; }
#media-gallery .media-gallery-item > img,#media-gallery .media-gallery-item > video { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
#media-gallery .media-card-caption { position:absolute; inset:auto 0 0; padding:30px 14px 12px; background:linear-gradient(180deg,transparent,rgba(8,10,9,.66)); color:#f1f3ef; font:500 10px/1.3 var(--font-body); letter-spacing:.08em; }
#media-gallery .media-card-play { position:absolute; top:14px; right:14px; display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(244,243,239,.72); border-radius:50%; background:rgba(8,10,9,.42); color:#f4f3ef; font-size:11px; }
@media (hover:hover) and (pointer:fine) {
  #media-gallery button.media-gallery-item:hover > img,#media-gallery button.media-gallery-item:hover > video { transform:scale(1.02); }
  #media-gallery button.media-gallery-item:hover .media-card-play { border-color:#7CFF9E; color:#7CFF9E; }
}
#media-gallery .media-lightbox { position:fixed; inset:0; box-sizing:border-box; width:100%; max-width:none; height:100%; max-height:none; margin:0; padding:24px 72px; border:0; overflow:hidden; background:#090a09; color:#f4f3ef; }
#media-gallery .media-lightbox::backdrop { background:rgba(4,5,4,.96); }
#media-gallery .media-lightbox-stage { display:grid; width:100%; height:100%; place-items:center; }
#media-gallery .media-lightbox-stage img,#media-gallery .media-lightbox-stage video { display:block; max-width:100%; max-height:calc(100dvh - 48px); object-fit:contain; }
#media-gallery .media-lightbox-close,#media-gallery .media-lightbox-nav { position:absolute; z-index:1; display:grid; width:42px; height:42px; place-items:center; border:1px solid #555b56; border-radius:50%; background:#141715; color:#f4f3ef; cursor:pointer; }
#media-gallery .media-lightbox-close { top:20px; right:20px; font-size:26px; line-height:1; }
#media-gallery .media-lightbox-nav { top:50%; transform:translateY(-50%); font-size:32px; line-height:1; }
#media-gallery .media-lightbox-prev { left:18px; }
#media-gallery .media-lightbox-next { right:18px; }
#media-gallery .media-lightbox-close:hover,#media-gallery .media-lightbox-nav:hover { border-color:#7CFF9E; color:#7CFF9E; }
#media-gallery .media-lightbox [hidden] { display:none !important; }
@media(max-width:980px) {
  #media-gallery.media-gallery-section { padding:42px 0 72px; }
  #media-gallery .media-gallery-wrap { width:min(760px,calc(100% - 48px)); }
  #media-gallery .media-gallery-grid { grid-template-columns:minmax(0,1fr); grid-template-rows:clamp(330px,56vw,430px) 206px 218px; gap:12px; margin-top:42px; }
  #media-gallery .media-gallery-item-large { grid-column:1; grid-row:1; }
  #media-gallery .media-gallery-side-top { grid-column:1; grid-row:2; gap:12px; }
  #media-gallery .media-gallery-item-wide { grid-column:1; grid-row:3; }
}
@media(max-width:430px) {
  #media-gallery.media-gallery-section { padding:38px 0 62px; }
  #media-gallery .media-gallery-wrap { width:calc(100% - 40px); }
  #media-gallery .media-gallery-intro h2 { font-size:36px; }
  #media-gallery .media-gallery-intro > p:last-child { max-width:31ch; margin-inline:auto; font-size:13px; }
  #media-gallery .media-gallery-grid { grid-template-rows:clamp(250px,72vw,300px) 174px 190px; gap:10px; margin-top:34px; }
  #media-gallery .media-gallery-side-top { gap:10px; }
  #media-gallery .media-placeholder-label { font-size:9px; letter-spacing:.1em; }
  #media-gallery .media-lightbox { padding:58px 12px; }
  #media-gallery .media-lightbox-nav { top:auto; bottom:10px; transform:none; }
  #media-gallery .media-lightbox-prev { left:calc(50% - 52px); }
  #media-gallery .media-lightbox-next { right:calc(50% - 52px); }
  #media-gallery .media-lightbox-stage img,#media-gallery .media-lightbox-stage video { max-height:calc(100dvh - 126px); }
}
@media(max-width:350px) {
  #media-gallery .media-gallery-grid { grid-template-rows:250px auto 190px; }
  #media-gallery .media-gallery-side-top { grid-template-columns:minmax(0,1fr); grid-auto-rows:170px; }
}
@media(prefers-reduced-motion:reduce) {
  #media-gallery .media-gallery-item > img,#media-gallery .media-gallery-item > video { transition:none; }
}


/* Restored original batch process section styles. */
#comparison.batch-process-section { padding:58px 0 100px; background:#F7F7F4; color:#171817; }
#comparison.light-map-section { position:relative; isolation:isolate; overflow:hidden; background-color:#F7F7F4; }
#comparison.light-map-section::before { position:absolute; z-index:0; inset:-4% -16%; content:""; pointer-events:none; user-select:none; background-image:url("assets/world-map-watermark.svg"); background-repeat:no-repeat; background-size:min(1900px,145vw) auto; background-position:50% 48%; opacity:.15; }
#comparison.light-map-section::after { position:absolute; z-index:0; inset:0; content:""; pointer-events:none; background:linear-gradient(180deg,rgba(247,247,244,.48) 0%,rgba(247,247,244,.26) 32%,rgba(247,247,244,0) 58%); }
#comparison.batch-process-section > .wrap { width:calc(100% - 64px); max-width:1440px; }
#comparison.light-map-section > .wrap { position:relative; z-index:1; }
#comparison .section-label { margin-bottom:12px; color:#4e7d5a; }
#comparison .section-label::after { background:#7CFF9E; }
#comparison .batch-process-intro h2 { max-width:1100px; margin:0 0 12px; color:#171817; font-family:var(--font-display); font-size:clamp(34px,4vw,52px); line-height:1.04; letter-spacing:-.03em; }
#comparison .batch-process-intro h2 span { color:#338b4f; }
#comparison .batch-process-intro > p { max-width:70ch; margin:0; color:#535853; font-size:15px; line-height:1.55; }
#comparison .process-hanging { position:relative; margin-top:64px; }
#comparison .process-wire { position:absolute; z-index:2; inset:0; display:block; width:100%; height:100%; overflow:visible; pointer-events:none; }
#comparison .process-wire path { fill:none; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset .68s cubic-bezier(.23,1,.32,1); vector-effect:non-scaling-stroke; }
#comparison .process-wire-shadow { stroke:rgba(20,23,21,.13); stroke-width:3px; }
#comparison .process-wire-highlight { stroke:rgba(255,255,255,.48); stroke-width:2px; transform:translateY(-.45px); }
#comparison .process-wire-path { stroke:#666a67; stroke-width:1.15px; }
#comparison.is-visible .process-wire path { stroke-dashoffset:0; }
#comparison .process-notes { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; gap:clamp(20px,3vw,42px); margin:0; padding:0; list-style:none; }
#comparison .process-note { position:relative; z-index:1; min-width:0; aspect-ratio:1; transform:rotate(var(--note-angle)); transform-origin:50% 9%; opacity:1!important; visibility:visible!important; filter:drop-shadow(0 0 0 rgba(23,24,23,0)); transition:none!important; animation:none!important; }
#comparison .process-note:nth-child(1) { --note-angle:-2deg; }
#comparison .process-note:nth-child(2) { --note-angle:1deg; }
#comparison .process-note:nth-child(3) { --note-angle:-1deg; }
#comparison .process-note:nth-child(4) { --note-angle:2deg; }
#comparison .hanging-item { position:absolute; inset:0; transform-origin:50% 9%; will-change:transform; }
#comparison .process-note-paper { position:absolute; z-index:0; inset:0; display:block; width:100%; height:100%; object-fit:contain; pointer-events:none; user-select:none; }
#comparison .process-clip-anchor { position:absolute; z-index:5; top:9.1%; left:50%; width:2px; height:2px; transform:translate(-50%,-50%); pointer-events:none; }
#comparison .process-note-copy { position:absolute; z-index:3; inset:22% 15% 11%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#171817; }
#comparison .process-note-number { margin:0 0 7px; color:#338b4f; font:600 10px/1 var(--font-body); letter-spacing:.09em; }
#comparison .process-note-copy h3 { margin:0 0 9px; color:#303330; font:600 clamp(9px,.78vw,11px)/1.2 var(--font-display); letter-spacing:.09em; }
#comparison .process-note-value { margin:0 0 6px; color:#171817; font:700 clamp(17px,1.45vw,21px)/1.12 var(--font-body); letter-spacing:-.02em; }
#comparison .process-note-value-compact { line-height:1.02; }
#comparison .process-note-detail { margin:0; color:#444944; font:500 clamp(8px,.66vw,10px)/1.35 var(--font-body); letter-spacing:.05em; }
@media (hover:hover) and (pointer:fine) {
  #comparison.is-visible .process-note:hover { filter:drop-shadow(0 6px 7px rgba(23,24,23,.2)); }
}
@media(prefers-reduced-motion:reduce) {
  #comparison .process-wire path { stroke-dashoffset:0; transition:none!important; }
  #comparison .process-note { opacity:1; transition:none!important; }
}
@media(max-width:980px) {
  #comparison.batch-process-section { padding:48px 0 58px; }
  #comparison .section-label { margin-bottom:10px; }
  #comparison .batch-process-intro h2 { margin-bottom:10px; font-size:clamp(34px,5.5vw,46px); }
  #comparison .batch-process-intro > p { font-size:14px; line-height:1.55; }
  #comparison .process-notes { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px; }
  #comparison.batch-process-section { padding-bottom:98px; }
  #comparison .process-note { grid-column:auto; }
  #comparison .process-note-number { font-size:9px; }
  #comparison .process-note-copy h3 { font-size:10px; }
  #comparison .process-note-value { font-size:20px; }
  #comparison .process-note-detail { font-size:9px; }
  #comparison .process-footer { text-align:left; }
}
@media(max-width:720px) {
  #comparison .process-notes { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 8px; margin-top:30px; }
  #comparison .process-note-paper { inset:0; width:100%; height:100%; }
  #comparison .process-note { grid-column:auto; }
  #comparison .process-note-number { font-size:9px; }
  #comparison .process-note-copy h3 { font-size:9px; }
  #comparison .process-note-value { font-size:19px; }
  #comparison .process-note-detail { font-size:8px; }
}
@media(max-width:430px) {
  #comparison .process-notes { grid-template-columns:minmax(0,1fr); gap:8px; }
  #comparison .process-note-paper { inset:0; width:100%; height:100%; }
  #comparison .process-note { grid-column:1; width:min(100%,310px); justify-self:center; }
  #comparison .process-note-copy h3 { font-size:9px; }
  #comparison .process-note-value { font-size:18px; }
  #comparison .process-note-detail { font-size:8px; }
}
#comparison.is-wire-vertical.batch-process-section { padding-bottom:98px; }
#comparison.is-wire-vertical .process-hanging { margin-top:38px; }
#comparison.is-wire-vertical .process-notes { display:block; }
#comparison.is-wire-vertical .process-note { z-index:1; }
#comparison.is-wire-vertical .process-wire { z-index:2; }
@media(max-width:720px) {
  #comparison.light-map-section::before { inset:-2% -36%; background-size:auto 145%; background-position:50% 38%; opacity:.14; }
}


/* Real camera gallery media captions and data-driven PRBZ items. */
#media-gallery .media-gallery-item { background:#080a09; }
#media-gallery .media-gallery-item > img,#media-gallery .media-gallery-item > video { object-fit:contain; background:#080a09; }
#media-gallery .media-gallery-item.is-placeholder { background:#171a18; }
#media-gallery .media-card-caption { position:absolute; right:auto; bottom:10px; left:10px; display:flex; max-width:calc(100% - 20px); flex-direction:column; gap:3px; padding:8px 10px; border:1px solid rgba(244,243,239,.12); background:rgba(5,7,6,.78); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:#f4f3ef; }
#media-gallery .media-card-caption::before { width:5px; height:5px; margin:1px 0 2px; border-radius:50%; background:#7CFF9E; content:""; }
#media-gallery .media-card-type { color:#c5cbc6; font:500 9px/1.2 var(--font-body); letter-spacing:.08em; }
#media-gallery .media-card-camera { color:#f4f3ef; font:600 12px/1.25 var(--font-body); letter-spacing:.035em; overflow-wrap:anywhere; }
#media-gallery .media-card-condition { color:#aeb6af; font:500 9px/1.2 var(--font-body); letter-spacing:.05em; }
#media-gallery .media-lightbox-stage { height:100%; padding-bottom:88px; box-sizing:border-box; }
#media-gallery .media-lightbox-stage img,#media-gallery .media-lightbox-stage video { max-height:calc(100dvh - 136px); object-fit:contain; }
#media-gallery .media-lightbox-info { position:absolute; z-index:2; right:auto; bottom:18px; left:24px; display:flex; max-width:min(520px,calc(100% - 100px)); flex-direction:column; gap:4px; padding:10px 12px; border:1px solid rgba(244,243,239,.14); background:rgba(5,7,6,.8); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
#media-gallery .media-lightbox-type { color:#bfc8c1; font:500 9px/1.2 var(--font-body); letter-spacing:.1em; text-transform:uppercase; }
#media-gallery .media-lightbox-camera { color:#f4f3ef; font:600 13px/1.3 var(--font-body); letter-spacing:.025em; overflow-wrap:anywhere; }
#media-gallery .media-lightbox-condition { color:#aeb6af; font:500 10px/1.25 var(--font-body); letter-spacing:.05em; }
#media-gallery .media-lightbox-counter { margin-top:2px; color:#7CFF9E; font:500 10px/1.2 var(--font-body); letter-spacing:.1em; }
@media(max-width:430px) {
  #media-gallery .media-gallery-grid { grid-template-rows:clamp(250px,72vw,300px) 188px 190px; }
  #media-gallery .media-card-caption { right:6px; bottom:6px; left:6px; max-width:calc(100% - 12px); gap:2px; padding:7px 8px; }
  #media-gallery .media-card-type { font-size:8px; }
  #media-gallery .media-card-camera { font-size:10px; line-height:1.25; }
  #media-gallery .media-card-condition { font-size:8px; }
  #media-gallery .media-lightbox { padding:58px 12px 96px; }
  #media-gallery .media-lightbox-nav { top:50%; bottom:auto; transform:translateY(-50%); }
  #media-gallery .media-lightbox-prev { left:8px; }
  #media-gallery .media-lightbox-next { right:8px; }
  #media-gallery .media-lightbox-stage { padding-bottom:78px; }
  #media-gallery .media-lightbox-stage img,#media-gallery .media-lightbox-stage video { max-height:calc(100dvh - 188px); }
  #media-gallery .media-lightbox-info { right:60px; bottom:14px; left:12px; max-width:none; gap:3px; padding:8px 9px; }
  #media-gallery .media-lightbox-camera { font-size:12px; }
  #media-gallery .media-lightbox-counter { font-size:9px; }
}


/* YouTube video cards and the second editorial mosaic for the seven-item gallery. */
#media-gallery .media-gallery-grid-followup { grid-template-rows:218px 218px; margin-top:14px; }
#media-gallery .media-gallery-grid-followup .media-gallery-item-large { grid-column:1; grid-row:1 / span 2; }
#media-gallery .media-gallery-grid-followup .media-gallery-item-small { grid-column:2; grid-row:1; }
#media-gallery .media-gallery-grid-followup .media-gallery-item-wide { grid-column:2; grid-row:2; }
#media-gallery .is-youtube-card .media-card-play { top:50%; right:auto; left:50%; width:46px; height:46px; transform:translate(-50%,-50%); border-color:rgba(244,243,239,.8); background:rgba(5,7,6,.52); font-size:13px; }
#media-gallery .media-lightbox-stage iframe { display:block; width:min(100%,1280px); max-height:calc(100dvh - 136px); aspect-ratio:16/9; border:0; background:#000; }
#media-gallery .media-lightbox-youtube { position:absolute; right:24px; bottom:22px; padding:8px 10px; border:1px solid #4b554d; color:#bfc8c1; font:500 9px/1.2 var(--font-body); letter-spacing:.08em; text-decoration:none; }
#media-gallery .media-lightbox-youtube:hover { border-color:#7CFF9E; color:#7CFF9E; }
#media-gallery .media-lightbox [hidden] { display:none !important; }
@media(max-width:980px) {
  #media-gallery .media-gallery-grid-followup { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:clamp(330px,56vw,430px) 206px; }
  #media-gallery .media-gallery-grid-followup .media-gallery-item-large { grid-column:1 / -1; grid-row:1; }
  #media-gallery .media-gallery-grid-followup .media-gallery-item-small { grid-column:1; grid-row:2; }
  #media-gallery .media-gallery-grid-followup .media-gallery-item-wide { grid-column:2; grid-row:2; }
}
@media(max-width:430px) {
  #media-gallery .media-gallery-grid-followup { grid-template-rows:clamp(250px,72vw,300px) 188px; gap:10px; }
  #media-gallery .media-lightbox-stage iframe { width:100%; max-height:calc(100dvh - 188px); }
  #media-gallery .media-lightbox-youtube { right:12px; bottom:14px; padding:7px 8px; font-size:8px; }
  #media-gallery .media-lightbox-info { right:148px; }
}
@media(max-width:350px) {
  #media-gallery .media-gallery-grid-followup { grid-template-columns:minmax(0,1fr); grid-template-rows:250px auto; }
  #media-gallery .media-gallery-grid-followup .media-gallery-item-large { grid-column:1; grid-row:1; }
  #media-gallery .media-gallery-grid-followup .media-gallery-item-small { grid-column:1; grid-row:2; }
  #media-gallery .media-gallery-grid-followup .media-gallery-item-wide { grid-column:1; grid-row:3; }
}


/* Compact FPV Vision real-media carousel: one featured item and two upcoming previews. */
#media-gallery.media-gallery-section { padding:34px 0 76px; }
#media-gallery .media-gallery-intro h2 { margin-bottom:8px; }
#media-gallery .media-carousel { display:grid; grid-template-columns:minmax(0,2.05fr) minmax(260px,1fr); gap:16px; align-items:stretch; margin-top:36px; }
#media-gallery .media-carousel-main { min-width:0; }
#media-gallery .media-carousel-stage { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border:1px solid #303431; background:#111412; touch-action:pan-y; outline-offset:4px; }
#media-gallery .media-carousel-image,#media-gallery .media-carousel-video,#media-gallery .media-carousel-iframe { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; object-fit:cover; background:#111412; transition:opacity .18s ease,transform .24s ease; }
#media-gallery .media-carousel-stage.is-switching .media-carousel-image,#media-gallery .media-carousel-stage.is-switching .media-carousel-video { opacity:.72; transform:scale(1.008); }
#media-gallery .media-carousel-stage [hidden] { display:none!important; }
#media-gallery .media-carousel-play { position:absolute; z-index:3; top:50%; left:50%; display:grid; width:62px; height:62px; place-items:center; transform:translate(-50%,-50%); border:1px solid rgba(244,243,239,.8); border-radius:50%; background:rgba(5,7,6,.54); color:#f4f3ef; font-size:18px; cursor:pointer; transition:background-color .2s ease,border-color .2s ease,transform .2s ease; }
#media-gallery .media-carousel-play:hover { transform:translate(-50%,-50%) scale(1.05); border-color:#7CFF9E; background:rgba(5,7,6,.76); color:#7CFF9E; }
#media-gallery .media-carousel-caption { position:absolute; z-index:2; right:0; bottom:0; left:0; display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:44px 16px 13px; background:linear-gradient(180deg,transparent,rgba(5,7,6,.76)); pointer-events:none; }
#media-gallery .media-carousel-type { color:#d4d9d5; font:500 9px/1.2 var(--font-body); letter-spacing:.11em; }
#media-gallery .media-carousel-type::before { display:inline-block; width:5px; height:5px; margin:0 8px 1px 0; border-radius:50%; background:#7CFF9E; content:""; }
#media-gallery .media-carousel-camera { color:#f4f3ef; font:600 13px/1.25 var(--font-body); letter-spacing:.02em; }
#media-gallery .media-carousel-condition { color:#c0c6c1; font:500 10px/1.25 var(--font-body); letter-spacing:.04em; }
#media-gallery .media-carousel-side { display:flex; min-width:0; flex-direction:column; justify-content:center; gap:14px; }
#media-gallery .media-carousel-thumbs { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
#media-gallery .media-carousel-thumb { position:relative; display:block; width:100%; height:clamp(112px,10.4vw,146px); min-width:0; overflow:hidden; padding:0; border:1px solid #303431; background:#111412; color:#f4f3ef; text-align:left; cursor:pointer; }
#media-gallery .media-carousel-thumb::after { position:absolute; inset:0; background:rgba(7,9,8,.12); content:""; transition:background-color .18s ease; }
#media-gallery .media-carousel-thumb:hover::after { background:rgba(7,9,8,.02); }
#media-gallery .media-carousel-thumb img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .24s ease,opacity .18s ease; }
#media-gallery .media-carousel-thumb:hover img { transform:scale(1.025); }
#media-gallery .media-carousel-thumb-caption { position:absolute; z-index:2; right:0; bottom:0; left:0; display:flex; flex-direction:column; gap:2px; padding:26px 10px 8px; background:linear-gradient(180deg,transparent,rgba(5,7,6,.78)); }
#media-gallery .media-carousel-thumb-type { color:#d4d9d5; font:500 8px/1.2 var(--font-body); letter-spacing:.08em; }
#media-gallery .media-carousel-thumb-camera { color:#f4f3ef; font:600 10px/1.25 var(--font-body); letter-spacing:.015em; overflow-wrap:anywhere; }
#media-gallery .media-carousel-thumb-condition { color:#c0c6c1; font:500 8px/1.2 var(--font-body); }
#media-gallery .media-carousel-thumb-play { position:absolute; z-index:2; top:9px; right:10px; display:grid; width:26px; height:26px; place-items:center; border:1px solid rgba(244,243,239,.72); border-radius:50%; background:rgba(5,7,6,.5); color:#fff; font-size:9px; }
#media-gallery .media-carousel-controls { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:11px; border-top:1px solid #303431; }
#media-gallery .media-carousel-arrow { display:grid; width:38px; height:38px; flex:none; place-items:center; border:1px solid #434a44; background:transparent; color:#f4f3ef; font-size:18px; cursor:pointer; transition:border-color .18s ease,color .18s ease; }
#media-gallery .media-carousel-arrow:hover { border-color:#7CFF9E; color:#7CFF9E; }
#media-gallery .media-carousel-counter { color:#b8c0b9; font:500 10px/1 var(--font-body); letter-spacing:.12em; font-variant-numeric:tabular-nums; }
@media(max-width:980px) {
  #media-gallery.media-gallery-section { padding:42px 0 66px; }
  #media-gallery .media-gallery-wrap { width:min(800px,calc(100% - 48px)); }
  #media-gallery .media-carousel { grid-template-columns:minmax(0,1fr); gap:12px; margin-top:30px; }
  #media-gallery .media-carousel-side { gap:9px; }
  #media-gallery .media-carousel-thumbs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #media-gallery .media-carousel-thumb { height:auto; aspect-ratio:16/9; }
  #media-gallery .media-carousel-controls { padding-top:8px; }
}
@media(max-width:430px) {
  #media-gallery.media-gallery-section { padding:38px 0 60px; }
  #media-gallery .media-gallery-wrap { width:calc(100% - 40px); }
  #media-gallery .media-gallery-intro h2 { font-size:36px; }
  #media-gallery .media-gallery-intro > p:last-child { max-width:31ch; margin-inline:auto; font-size:13px; }
  #media-gallery .media-carousel { gap:10px; margin-top:24px; }
  #media-gallery .media-carousel-caption { padding:35px 10px 9px; }
  #media-gallery .media-carousel-camera { font-size:11px; }
  #media-gallery .media-carousel-condition { font-size:9px; }
  #media-gallery .media-carousel-play { width:52px; height:52px; }
  #media-gallery .media-carousel-thumb-caption { padding:23px 7px 7px; }
  #media-gallery .media-carousel-thumb-type,#media-gallery .media-carousel-thumb-condition { font-size:7px; }
  #media-gallery .media-carousel-thumb-camera { font-size:8px; }
  #media-gallery .media-carousel-arrow { width:36px; height:36px; }
}
@media(prefers-reduced-motion:reduce) {
  #media-gallery .media-carousel * { scroll-behavior:auto!important; transition-duration:.01ms!important; }
}


/* Fullscreen lightbox behavior for the compact media showcase. */
#media-gallery .media-carousel-stage { display:block; appearance:none; padding:0; color:inherit; text-align:left; cursor:zoom-in; }
#media-gallery .media-carousel-stage:hover .media-carousel-image { transform:scale(1.012); }
#media-gallery .media-carousel-open { position:absolute; z-index:3; top:14px; right:14px; display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(244,243,239,.58); border-radius:50%; background:rgba(5,7,6,.42); color:#f4f3ef; font:400 23px/1 sans-serif; opacity:0; transition:opacity .18s ease; pointer-events:none; }
#media-gallery .media-carousel-stage:hover .media-carousel-open,#media-gallery .media-carousel-stage:focus-visible .media-carousel-open { opacity:1; }
#media-gallery .media-carousel-thumb { cursor:zoom-in; }
#media-gallery .media-carousel-thumb:hover img { transform:scale(1.025); }
#media-gallery .media-lightbox[hidden] { display:none!important; }
#media-gallery .media-lightbox { position:fixed; z-index:10000; inset:0; display:grid; grid-template-columns:56px minmax(0,1fr) 56px; align-items:center; justify-items:center; gap:18px; padding:64px 26px 42px; background:rgba(3,5,4,.94); color:#f4f3ef; }
#media-gallery .media-lightbox-stage { position:relative; display:grid; width:min(100%,1500px); height:min(100%,calc(100dvh - 106px)); min-width:0; place-items:center; overflow:hidden; touch-action:pan-y; }
#media-gallery .media-lightbox-image,#media-gallery .media-lightbox-video,#media-gallery .media-lightbox-iframe { display:block; width:100%; height:100%; max-width:100%; max-height:100%; border:0; object-fit:contain; background:transparent; }
#media-gallery .media-lightbox-stage [hidden] { display:none!important; }
#media-gallery .media-lightbox-iframe { position:relative; inset:auto; width:min(100%,1280px,calc((100dvh - 106px) * 16 / 9)); height:auto; max-height:calc(100dvh - 106px); aspect-ratio:16/9; background:#000; }
#media-gallery .media-lightbox-close { position:absolute; z-index:4; top:16px; right:20px; display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(244,243,239,.35); border-radius:50%; background:rgba(10,12,11,.5); color:#fff; font:300 34px/1 sans-serif; cursor:pointer; }
#media-gallery .media-lightbox-nav { position:relative; z-index:4; display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(244,243,239,.38); border-radius:50%; background:rgba(10,12,11,.5); color:#fff; font-size:22px; cursor:pointer; transition:border-color .18s ease,color .18s ease; }
#media-gallery .media-lightbox-nav:hover,#media-gallery .media-lightbox-close:hover { border-color:#7CFF9E; color:#7CFF9E; }
#media-gallery .media-lightbox-caption { position:absolute; z-index:3; right:0; bottom:0; left:0; display:flex; flex-direction:column; align-items:center; gap:5px; padding:52px 18px 14px; background:linear-gradient(180deg,transparent,rgba(3,5,4,.78)); pointer-events:none; }
#media-gallery .media-lightbox-type { color:#d4d9d5; font:500 10px/1.2 var(--font-body); letter-spacing:.11em; }
#media-gallery .media-lightbox-type::before { display:inline-block; width:5px; height:5px; margin:0 8px 1px 0; border-radius:50%; background:#7CFF9E; content:""; }
#media-gallery .media-lightbox-camera { color:#fff; font:600 14px/1.3 var(--font-body); letter-spacing:.02em; text-align:center; }
#media-gallery .media-lightbox-condition { color:#c0c6c1; font:500 11px/1.25 var(--font-body); }
#media-gallery .media-lightbox-counter { margin-top:4px; color:#7CFF9E; font:500 10px/1 var(--font-body); letter-spacing:.12em; font-variant-numeric:tabular-nums; }
#media-gallery .media-lightbox-play { position:absolute; z-index:3; top:50%; left:50%; display:grid; width:66px; height:66px; place-items:center; transform:translate(-50%,-50%); border:1px solid rgba(244,243,239,.8); border-radius:50%; background:rgba(5,7,6,.58); color:#fff; font-size:20px; cursor:pointer; }
#media-gallery .media-lightbox-play:hover { border-color:#7CFF9E; color:#7CFF9E; }
@media(max-width:700px) {
  #media-gallery .media-lightbox { grid-template-columns:38px minmax(0,1fr) 38px; gap:5px; padding:64px 8px 28px; }
  #media-gallery .media-lightbox-stage { height:calc(100dvh - 118px); }
  #media-gallery .media-lightbox-iframe { width:min(100%,calc((100dvh - 118px) * 16 / 9)); max-height:calc(100dvh - 118px); }
  #media-gallery .media-lightbox-close { top:10px; right:12px; width:48px; height:48px; }
  #media-gallery .media-lightbox-nav { width:38px; height:44px; border-radius:8px; background:rgba(10,12,11,.72); }
  #media-gallery .media-lightbox-caption { padding:44px 8px 10px; }
  #media-gallery .media-lightbox-camera { font-size:12px; }
  #media-gallery .media-lightbox-condition { font-size:9px; }
  #media-gallery .media-lightbox-counter { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  #media-gallery .media-carousel-stage *,#media-gallery .media-lightbox * { transition-duration:.01ms!important; }
}

/* Desktop gallery balance: main media and a full-height pair of previews. */
@media(min-width:981px) {
  #media-gallery .media-carousel { grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:12px; }
  #media-gallery .media-carousel-side { display:grid; min-height:0; grid-template-rows:minmax(0,1fr); gap:0; }
  #media-gallery .media-carousel-thumbs { height:100%; min-height:0; grid-template-columns:minmax(0,1fr); grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; }
  #media-gallery .media-carousel-thumb { height:100%; min-height:0; aspect-ratio:auto; }
}


/* Desktop reference composition: one near-square feature plus a 2x2 media grid. */
@media(min-width:981px) {
  #media-gallery .media-carousel { grid-template-columns:minmax(0,1.22fr) minmax(0,1fr); gap:12px; }
  #media-gallery .media-carousel-stage { aspect-ratio:1.22/1; }
  #media-gallery .media-carousel-side { display:grid; min-height:0; grid-template-rows:minmax(0,1fr); gap:0; }
  #media-gallery .media-carousel-thumbs { height:100%; min-height:0; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; }
  #media-gallery .media-carousel-thumb { height:100%; min-height:0; aspect-ratio:auto; }
}
@media(max-width:980px) {
  #media-gallery .media-carousel-thumbs { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
#media-gallery .media-lightbox { grid-template-columns:40px minmax(0,1fr) 40px; gap:8px; }
#media-gallery .media-lightbox-nav { width:36px; height:36px; border-radius:50%; background:rgba(10,12,11,.62); font-size:19px; }
@media(max-width:700px) {
  #media-gallery .media-lightbox { grid-template-columns:34px minmax(0,1fr) 34px; gap:4px; }
  #media-gallery .media-lightbox-nav { width:34px; height:34px; border-radius:50%; }
}
/* Local FPV Vision 2.0 testimonial section styles. */
#proof.testimonials-section { padding:clamp(82px,8vw,124px) 0; background:#f6f7f3; color:#171a18; }
#proof.testimonials-section::before { display:none; }
#proof .testimonials-wrap { display:grid; width:min(1180px,calc(100% - 80px)); margin:0 auto; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); grid-template-rows:minmax(0,1fr) auto; grid-template-areas:"intro card" "nav card"; column-gap:clamp(44px,7vw,104px); row-gap:28px; align-items:center; }
#proof .testimonials-intro { grid-area:intro; align-self:end; }
#proof .testimonials-badge { display:inline-flex; align-items:center; min-height:30px; padding:0 12px; border:1px solid rgba(46,112,65,.28); border-radius:3px; background:rgba(124,255,158,.12); color:#326743; font:600 10px/1 var(--font-body); letter-spacing:.12em; }
#proof .testimonials-intro h2 { max-width:11ch; margin:24px 0 16px; color:#171a18; font-size:clamp(42px,5vw,68px); line-height:.98; letter-spacing:-.055em; }
#proof .testimonials-intro h2 span { color:#397c4a; }
#proof .testimonials-intro > p { max-width:38ch; margin:0; color:#555c57; font-size:17px; line-height:1.65; }
#proof .testimonials-demo-marker { display:inline-block; margin-top:22px; padding:6px 8px; border:1px dashed #a6ada7; color:#68716a; font:600 9px/1 var(--font-body); letter-spacing:.12em; }
#proof .testimonial-card { grid-area:card; min-width:0; min-height:370px; display:flex; align-items:stretch; padding:clamp(30px,4vw,52px); border:1px solid #dfe3de; border-radius:12px; background:#fff; box-shadow:0 14px 40px rgba(24,35,27,.07); outline-offset:5px; touch-action:pan-y; }
#proof .testimonial-content { display:flex; width:100%; flex-direction:column; transition:opacity 180ms cubic-bezier(.23,1,.32,1),transform 180ms cubic-bezier(.23,1,.32,1); }
#proof .testimonial-card.is-changing .testimonial-content { opacity:0; transform:translateX(12px); }
#proof .testimonial-stars { margin-bottom:26px; color:#559c5f; font:600 18px/1 var(--font-body); letter-spacing:.16em; }
#proof .testimonial-card blockquote { flex:1; margin:0; color:#202521; font-size:clamp(19px,2.1vw,27px); font-weight:500; line-height:1.48; letter-spacing:-.02em; }
#proof .testimonial-separator { height:1px; margin:30px 0 20px; background:#e5e8e4; }
#proof .testimonial-author { display:flex; align-items:center; gap:13px; }
#proof .testimonial-avatar { display:grid; width:46px; height:46px; flex:none; place-items:center; border:1px solid #d7dfd6; border-radius:50%; background:#f1f5ef; color:#42734a; font:600 15px/1 var(--font-body); }
#proof .testimonial-person { display:flex; flex-direction:column; gap:5px; }
#proof .testimonial-person strong { color:#202521; font-size:14px; font-weight:600; }
#proof .testimonial-person small { color:#69716b; font:500 10px/1.3 var(--font-body); letter-spacing:.07em; text-transform:uppercase; }
#proof .testimonials-navigation { grid-area:nav; display:flex; align-items:center; justify-content:space-between; gap:18px; align-self:start; }
#proof .testimonials-indicators { display:flex; align-items:center; gap:9px; }
#proof .testimonials-dot { width:9px; height:9px; padding:0; border:0; border-radius:50%; background:#c8cec9; cursor:pointer; transition:width 180ms cubic-bezier(.23,1,.32,1),background-color 180ms ease; }
#proof .testimonials-dot[aria-current="true"] { width:26px; border-radius:6px; background:#4b9257; }
#proof .testimonials-arrows { display:flex; gap:8px; }
#proof .testimonials-arrows button { display:grid; width:42px; height:42px; place-items:center; border:1px solid #d8ded8; border-radius:50%; background:transparent; color:#253029; font-size:17px; cursor:pointer; transition:border-color 160ms ease,color 160ms ease,background-color 160ms ease; }
#proof .testimonials-arrows button:hover { border-color:#4b9257; background:#eef5ed; color:#397c4a; }
@media(max-width:800px) {
  #proof.testimonials-section { padding:72px 0; }
  #proof .testimonials-wrap { width:calc(100% - 48px); grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto; grid-template-areas:"intro" "card" "nav"; gap:25px; }
  #proof .testimonials-intro { align-self:auto; }
  #proof .testimonials-intro h2 { max-width:14ch; margin:18px 0 12px; font-size:clamp(38px,8vw,54px); }
  #proof .testimonials-intro > p { max-width:44ch; font-size:15px; }
  #proof .testimonials-demo-marker { margin-top:14px; }
  #proof .testimonial-card { min-height:320px; padding:30px; }
  #proof .testimonial-card blockquote { font-size:21px; }
  #proof .testimonials-navigation { margin-top:-5px; }
}
@media(max-width:430px) {
  #proof.testimonials-section { padding:60px 0; }
  #proof .testimonials-wrap { width:calc(100% - 40px); gap:22px; }
  #proof .testimonials-intro h2 { font-size:38px; }
  #proof .testimonial-card { min-height:330px; padding:24px 22px; }
  #proof .testimonial-stars { margin-bottom:22px; font-size:16px; }
  #proof .testimonial-card blockquote { font-size:19px; }
  #proof .testimonial-separator { margin:24px 0 17px; }
  #proof .testimonials-dot { width:8px; height:8px; }
  #proof .testimonials-dot[aria-current="true"] { width:22px; }
}
@media(max-width:375px) {
  #proof .testimonials-navigation { flex-wrap:wrap; row-gap:8px; }
  #proof .testimonials-arrows { margin-left:auto; }
}
@media(prefers-reduced-motion:reduce) {
  #proof .testimonial-content,#proof .testimonials-dot,#proof .testimonials-arrows button { transition-duration:.01ms!important; }
}

/* Testimonial card consistency, local preview only. */
#proof .testimonial-card { height:520px; min-height:0; box-sizing:border-box; overflow:hidden; }
#proof .testimonial-content { transition-duration:250ms; }
#proof .testimonial-stars { margin-bottom:22px; color:#D4A72C; font-size:22px; letter-spacing:.08em; }
#proof .testimonial-card blockquote { display:flex; flex-direction:column; justify-content:center; min-width:0; }
#proof .testimonial-card.is-long blockquote { font-size:clamp(16px,1.42vw,19px); line-height:1.5; letter-spacing:-.01em; }
#proof .testimonial-avatar { overflow:hidden; border-color:#e4e3dc; }
@media(max-width:800px) {
  #proof .testimonial-card { height:470px; }
  #proof .testimonial-stars { font-size:20px; }
  #proof .testimonial-card.is-long blockquote { font-size:17px; }
}

/* Fixed testimonial geometry; equal footprint across all review lengths. */
#proof .testimonial-card { height:470px; min-height:0; box-sizing:border-box; overflow:hidden; }
#proof .testimonial-content { transition:opacity 250ms cubic-bezier(.23,1,.32,1),transform 250ms cubic-bezier(.23,1,.32,1); }
#proof .testimonial-card.is-changing .testimonial-content { opacity:0; transform:translateX(10px); }
#proof .testimonial-stars { margin:0 0 22px; color:#D4A72C; font-size:22px; line-height:1; letter-spacing:.08em; }
#proof .testimonial-card blockquote { display:flex; flex-direction:column; justify-content:center; min-width:0; }
#proof .testimonial-card.is-long blockquote { font-size:clamp(16px,1.35vw,18px); line-height:1.5; letter-spacing:-.01em; }
#proof .testimonial-avatar { overflow:hidden; border-color:#e4e3dc; }

@media(min-width:801px) {
  #proof .testimonials-intro { transform:translateY(-60px); }
}

/* Testimonial carousel viewport. */
#proof .testimonial-stage { grid-area:card; position:relative; width:100%; height:470px; min-width:0; overflow:hidden; }
@media(max-width:800px) { #proof .testimonial-stage { height:460px; } }
@media(max-width:430px) { #proof .testimonial-stage { height:530px; } }

/* Infinite testimonial track: one viewport-wide slide at each physical position. */
#proof .testimonial-stage { width:100%; height:470px; overflow:hidden; }
#proof .testimonial-track { display:flex; width:100%; height:100%; transform:translate3d(0,0,0); transition:transform 500ms cubic-bezier(.77,0,.175,1); will-change:transform; }
#proof .testimonial-track.is-jumping { transition:none!important; }
#proof .testimonial-slide { display:flex; flex:0 0 100%; width:100%; min-width:0; height:100%; justify-content:flex-end; box-sizing:border-box; }
#proof .testimonial-card { position:relative; inset:auto; flex:0 0 auto; width:min(535px,100%); max-width:100%; height:100%; min-height:0; margin:0 0 0 auto; transform:none; opacity:1; z-index:auto; transition:none; box-sizing:border-box; }
#proof .testimonial-card[data-size="short"] { width:min(535px,100%); }
#proof .testimonial-card[data-size="medium"] { width:min(620px,100%); }
#proof .testimonial-card[data-size="long"] { width:min(710px,100%); }
#proof .testimonial-avatar { display:block; width:50px; height:50px; flex:none; border:1px solid #e4e3dc; border-radius:50%; background:none; object-fit:cover; overflow:hidden; }
@media(min-width:801px) {
  #proof .testimonials-wrap { grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr); column-gap:clamp(44px,5vw,72px); }
}
@media(max-width:800px) {
  #proof .testimonial-stage { height:460px; }
  #proof .testimonial-avatar { width:46px; height:46px; }
}
@media(max-width:430px) { #proof .testimonial-stage { height:530px; } }
@media(prefers-reduced-motion:reduce) { #proof .testimonial-track { transition:none!important; } }

/* Keep testimonial copy and author inside the fixed carousel card. */
#proof .testimonial-stage,
#proof .testimonial-track,
#proof .testimonial-slide { height:470px; }
#proof .testimonial-card {
  height:470px;
  min-height:0;
  box-sizing:border-box;
  padding:46px 48px 36px;
  overflow:hidden;
}
#proof .testimonial-content {
  display:flex;
  width:100%;
  height:100%;
  min-height:0;
  flex-direction:column;
  box-sizing:border-box;
}
#proof .testimonial-stars { flex:0 0 auto; margin:0 0 18px; }
#proof .testimonial-card blockquote {
  display:block;
  flex:1 1 auto;
  min-height:0;
  margin:0;
  overflow-wrap:anywhere;
  font-size:24px;
  line-height:1.45;
  letter-spacing:-.02em;
}
#proof .testimonial-card[data-size="medium"] blockquote { font-size:22px; line-height:1.45; }
#proof .testimonial-card[data-size="long"] blockquote { font-size:18px; line-height:1.45; letter-spacing:-.01em; }
#proof .testimonial-separator { flex:0 0 1px; margin:16px 0 14px; }
#proof .testimonial-author { flex:0 0 auto; min-height:50px; margin-top:auto; }
#proof .testimonial-person { min-width:0; }
#proof .testimonial-card--extra-long blockquote { font-size:16px; line-height:1.45; }

@media(max-width:800px) {
  #proof .testimonial-stage,
  #proof .testimonial-track,
  #proof .testimonial-slide { height:auto; }
  #proof .testimonial-stage { transition:height 260ms ease; }
  #proof .testimonial-track { align-items:flex-start; }
  #proof .testimonial-card { height:auto; min-height:0; padding:24px 22px 20px; overflow:visible; }
  #proof .testimonial-content { height:auto; }
  #proof .testimonial-card blockquote { flex:0 0 auto; }
  #proof .testimonial-stars { margin-bottom:12px; }
  #proof .testimonial-card blockquote { font-size:22px; line-height:1.45; }
  #proof .testimonial-card[data-size="medium"] blockquote { font-size:20px; }
  #proof .testimonial-card[data-size="long"] blockquote { font-size:17px; line-height:1.42; }
  #proof .testimonial-separator { margin:14px 0 12px; }
  #proof .testimonial-author { min-height:46px; margin-top:0; }
}
@media(prefers-reduced-motion:reduce) {
  #proof .testimonial-stage { transition:none; }
}
@media(max-width:430px) {
  #proof .testimonial-card { height:auto; padding:22px 18px 18px; }
  #proof .testimonial-stars { margin-bottom:10px; font-size:19px; }
  #proof .testimonial-card blockquote { font-size:21px; }
  #proof .testimonial-card[data-size="medium"] blockquote { font-size:19px; }
  #proof .testimonial-card[data-size="long"] blockquote { font-size:16px; line-height:1.45; }
}

/* FPV Vision local preview lead-card redesign. The parent section background
   remains owned by its existing .bloom styles above. */
#form .fpv-lead-card.form-layout {
  width:100%; max-width:1280px; box-sizing:border-box; margin:0 auto;
  grid-template-columns:minmax(0,.4fr) minmax(0,.6fr);
  grid-template-rows:minmax(0,1fr) auto;
  grid-template-areas:"intro form" "contact form";
  column-gap:clamp(38px,5vw,76px); row-gap:34px; align-items:start;
  padding:clamp(34px,5.2vw,72px);
  border:1px solid #39413b; border-radius:20px;
  background:radial-gradient(circle at 4% 100%,rgba(124,255,158,.14),transparent 42%),linear-gradient(140deg,#1b1f1c 0%,#151816 70%,#141715 100%);
  box-shadow:0 28px 76px rgba(0,0,0,.22);
}
#form .fpv-lead-intro { grid-area:intro; align-self:start; min-width:0; }
#form .fpv-form-kicker { display:block; margin:0 0 23px; color:#7CFF9E; font:500 10px/1.2 var(--font-body); letter-spacing:.15em; }
#form #lead-form-title { max-width:13ch; margin:0 0 30px; color:#f4f3ef; font:600 clamp(38px,4vw,56px)/1.02 var(--font-display); letter-spacing:-.035em; }
#form .fpv-form-benefits { display:grid; gap:15px; margin:0; padding:0; list-style:none; }
#form .fpv-form-benefits li { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:11px; color:#d2d7d2; font:400 14px/1.5 var(--font-body); }
#form .fpv-form-benefits li::before { display:grid; width:18px; height:18px; box-sizing:border-box; place-items:center; border:1px solid rgba(124,255,158,.66); border-radius:50%; color:#7CFF9E; font:600 11px/1 var(--font-body); content:"✓"; }
#form .fpv-direct-contact { grid-area:contact; display:grid; gap:11px; align-self:end; min-width:0; padding-top:22px; border-top:1px solid rgba(244,243,239,.12); }
#form .fpv-direct-contact > p { margin:0 0 2px; color:#9ea7a0; font:400 12px/1.4 var(--font-body); }
#form .fpv-direct-contact > a { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:14px; color:#f4f3ef; text-decoration:none; }
#form .fpv-direct-contact > a span { color:#8c978f; font:500 9px/1.2 var(--font-body); letter-spacing:.1em; }
#form .fpv-direct-contact > a strong { color:#e8ece8; font:500 12px/1.3 var(--font-body); text-align:right; overflow-wrap:anywhere; }
#form .fpv-direct-contact > a:hover strong,#form .fpv-direct-contact > a:focus-visible strong { color:#7CFF9E; }
#form .fpv-lead-form.form { grid-area:form; display:flex; min-width:0; flex-direction:column; gap:22px; padding:0; border:0; background:transparent; }
#form .fpv-form-group { min-width:0; margin:0; padding:0; border:0; }
#form .fpv-form-group legend { margin:0 0 12px; padding:0; color:#dfe4df; font:500 12px/1.3 var(--font-body); letter-spacing:.035em; }
#form .fpv-choice-list { display:flex; flex-wrap:wrap; gap:8px; }
#form .fpv-choice { min-height:38px; padding:0 13px; border:1px solid #414943; border-radius:5px; background:#171b18; color:#c6cdc7; font:500 11px/1 var(--font-body); cursor:pointer; transition:border-color .18s ease,background-color .18s ease,color .18s ease; }
#form .fpv-choice:hover { border-color:#758879; color:#f4f3ef; }
#form .fpv-choice[aria-pressed="true"] { border-color:#7CFF9E; background:rgba(124,255,158,.09); color:#9dffb4; }
#form .fpv-choice:focus-visible,#form .chan:focus-visible,#form .fpv-submit:focus-visible { outline:2px solid #7CFF9E; outline-offset:3px; }
#form .fpv-exact-quantity { margin-top:12px; }
#form .fpv-field { display:grid; min-width:0; gap:7px; color:#b9c1bb; font:500 10px/1.35 var(--font-body); letter-spacing:.045em; }
#form .fpv-field > span:first-child { display:block; }
#form .fpv-field > span:first-child b { color:#7CFF9E; font-weight:500; }
#form .fpv-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
#form .fpv-field input,#form .fpv-field textarea { display:block; width:100%; min-width:0; box-sizing:border-box; padding:11px 0 12px; border:0; border-bottom:1px solid #59635b; border-radius:0; background:transparent; color:#f4f3ef; font:400 14px/1.4 var(--font-body); box-shadow:none; }
#form .fpv-field input::placeholder,#form .fpv-field textarea::placeholder { color:#7e8880; opacity:1; }
#form .fpv-field input:focus,#form .fpv-field textarea:focus { border-color:#7CFF9E; outline:0; box-shadow:none; }
#form .fpv-field input[aria-invalid="true"] { border-color:var(--thermal); }
#form .fpv-contact-field .contact-row { display:flex; min-width:0; align-items:flex-start; gap:8px; }
#form .fpv-contact-field .contact-row #fContact { flex:1 1 auto; min-width:0; }
#form .fpv-contact-field .country-btn { min-height:44px; border:1px solid #414943; border-radius:4px; background:#171b18; }
#form .fpv-contact-field .country-pop[hidden] { display:none!important; }
#form .fpv-contact-field .country-list { display:block; }
#form .fpv-field .err { margin:2px 0 0; color:#ff9178; font:400 10px/1.35 var(--font-body); letter-spacing:0; }
#form .fpv-channel.channel { padding:0; border:0; border-radius:0; background:transparent; }
#form .fpv-channel .cl { margin:0 0 10px; color:#b9c1bb; font:500 10px/1.35 var(--font-body); letter-spacing:.045em; text-transform:none; }
#form .fpv-channel .opts { display:flex; flex-wrap:wrap; gap:7px; margin:0; }
#form .fpv-channel .chan { min-height:32px; padding:0 10px; border:1px solid #414943; border-radius:4px; background:#171b18; color:#bfc7c0; font:500 10px/1 var(--font-body); }
#form .fpv-channel .chan[aria-pressed="true"] { border-color:#7CFF9E; background:rgba(124,255,158,.09); color:#9dffb4; }
#form .fpv-comment-field textarea { min-height:78px; resize:vertical; }
#form .fpv-submit.btn { display:flex; width:100%; min-height:58px; align-items:center; justify-content:center; margin:0; border:1px solid #7CFF9E; border-radius:4px; background:#7CFF9E; color:#111612; font:600 11px/1.2 var(--font-body); letter-spacing:.09em; transition:filter .18s ease,transform .18s ease; }
#form .fpv-submit.btn:hover { filter:brightness(1.06); transform:translateY(-1px); }
#form .fpv-submit.btn:disabled { cursor:wait; filter:saturate(.55); transform:none; }
#form .fpv-lead-form .form-fine { margin:0; color:#929d94; font:400 10px/1.5 var(--font-body); text-align:center; }
@media(max-width:940px) {
  #form .fpv-lead-card.form-layout { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto; grid-template-areas:"intro" "form" "contact"; gap:28px; }
  #form .fpv-direct-contact { padding-top:18px; }
}
#proof .testimonial-card.testimonial-card--extra-long blockquote { font-size:16px; line-height:1.45; }

/* Compact the existing local-preview lead card without changing its visual language. */
#form .fpv-lead-card.form-layout {
  width:100%; max-width:1088px; margin-inline:auto;
  grid-template-columns:minmax(0,.4fr) minmax(0,.6fr);
  grid-template-rows:auto;
  grid-template-areas:"intro form";
  column-gap:clamp(34px,4vw,58px); row-gap:0; align-items:start;
  padding:clamp(32px,3.4vw,48px);
}
#form #lead-form-title { font-size:clamp(36px,3.7vw,52px); }
#form .fpv-direct-contact { align-self:start; min-width:0; margin-top:36px; padding-top:0; border-top:0; }
#form .fpv-lead-form.form { gap:17px; }
#form .fpv-form-group legend { margin-bottom:9px; }
#form .fpv-choice-list { gap:7px; }
#form .fpv-choice { min-height:36px; padding-inline:11px; }
#form .fpv-exact-quantity { margin-top:8px; }
#form .fpv-field input,#form .fpv-field textarea { padding-block:9px 10px; }
#form .fpv-contact-fields { gap:18px; }
#form .fpv-comment-field textarea { min-height:70px; }
#form .fpv-submit.btn { min-height:54px; }
#form .fpv-lead-form .form-fine { margin-top:-7px; }
@media(max-width:940px) {
  #form .fpv-lead-card.form-layout {
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    grid-template-areas:"intro" "form";
    row-gap:28px; padding:32px;
  }
  #form #lead-form-title { font-size:clamp(36px,6vw,48px); }
  #form .fpv-direct-contact { margin-top:30px; }
  #form .fpv-lead-form.form { gap:17px; }
}
@media(max-width:560px) {
  #form .fpv-lead-card.form-layout { width:100%; padding:24px 20px; row-gap:24px; }
  #form .fpv-lead-form.form { gap:16px; }
  #form .fpv-contact-fields { gap:16px; }
  #form .fpv-submit.btn { min-height:54px; }
}

/* Dark, padded field states for the local FPV Vision form. */
#form .fpv-field { gap:9px; }
#form .fpv-lead-form .fpv-field input:not([type="hidden"]),
#form .fpv-lead-form .fpv-field textarea {
  width:100%; min-width:0; min-height:50px; box-sizing:border-box;
  padding:13px 16px; border:1px solid rgba(255,255,255,.14); border-radius:7px;
  background:rgba(255,255,255,.035); color:#F0EFE9;
  font:400 14px/1.4 var(--font-body); box-shadow:none; caret-color:#7CFF9E;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
#form .fpv-lead-form .fpv-field input::placeholder,
#form .fpv-lead-form .fpv-field textarea::placeholder { color:#8f9891; opacity:1; }
#form .fpv-lead-form .fpv-field input:hover:not(:disabled),
#form .fpv-lead-form .fpv-field textarea:hover:not(:disabled) { border-color:rgba(255,255,255,.24); }
#form .fpv-lead-form .fpv-field input:focus,
#form .fpv-lead-form .fpv-field textarea:focus {
  border-color:#7CFF9E; outline:0; background:rgba(255,255,255,.045);
  box-shadow:0 0 0 2px rgba(124,255,158,.10);
}
#form .fpv-lead-form .fpv-field input[aria-invalid="true"] { border-color:rgba(255,139,117,.66); }
#form .fpv-lead-form .fpv-field input[aria-invalid="true"]:focus {
  border-color:#e9917e; box-shadow:0 0 0 2px rgba(233,145,126,.11);
}
#form .fpv-lead-form .fpv-field input:disabled,
#form .fpv-lead-form .fpv-field textarea:disabled {
  border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.02); color:#808982; cursor:not-allowed;
}
#form .fpv-lead-form .fpv-field input:-webkit-autofill,
#form .fpv-lead-form .fpv-field input:-webkit-autofill:hover,
#form .fpv-lead-form .fpv-field input:-webkit-autofill:focus,
#form .fpv-lead-form .fpv-field textarea:-webkit-autofill {
  -webkit-text-fill-color:#F0EFE9!important; caret-color:#7CFF9E;
  -webkit-box-shadow:0 0 0 1000px #202421 inset!important;
  box-shadow:0 0 0 1000px #202421 inset!important;
  transition:background-color 99999s ease-out 0s;
}
#form .fpv-lead-form .fpv-field input:autofill,
#form .fpv-lead-form .fpv-field input:autofill:hover,
#form .fpv-lead-form .fpv-field input:autofill:focus {
  color:#F0EFE9; background:#202421; box-shadow:0 0 0 1000px #202421 inset!important;
}
#form .fpv-lead-form .fpv-exact-quantity { width:min(100%,260px); }
#form .fpv-lead-form .fpv-exact-quantity input { font-variant-numeric:tabular-nums; }
#form .fpv-contact-field .country-btn { min-height:50px; }
#form .fpv-contact-fields { gap:18px; }
#form .fpv-field .err { margin:0; color:#d99583; font-size:10px; line-height:1.45; }
#form .fpv-comment-field textarea { min-height:112px; resize:vertical; }
#form .fpv-direct-contact > a,
#form .fpv-direct-contact > .fpv-contact-row {
  display:grid; grid-template-columns:78px minmax(0,1fr); align-items:baseline;
  justify-content:normal; gap:12px; min-width:0;
}
#form .fpv-direct-contact > a strong,
#form .fpv-direct-contact > .fpv-contact-row strong {
  min-width:0; color:#e8ece8; font:500 12px/1.4 var(--font-body); text-align:left; overflow-wrap:anywhere;
}
#form .fpv-direct-contact > a[href^="mailto:"] { text-decoration:none; }
#form .fpv-direct-contact > a[href^="mailto:"]:hover strong { color:#7CFF9E; }
#form .fpv-contact-row > span { color:#8c978f; font:500 9px/1.2 var(--font-body); letter-spacing:.1em; }
#form .fpv-submit.btn { margin-top:2px; }
#form .fpv-lead-form.form { gap:20px; }
#form .fpv-quantity-control { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
#form .fpv-quantity-control .fpv-choice-list { flex:0 1 auto; align-items:center; }
#form .fpv-quantity-control .fpv-exact-quantity { flex:0 0 170px; width:170px; max-width:100%; margin:0; gap:0; }
#form .fpv-quantity-control .fpv-exact-quantity input { height:36px; min-height:36px; padding:8px 12px; border-radius:5px; }
@media(max-width:540px) {
  #form .fpv-contact-fields { grid-template-columns:minmax(0,1fr); }
  #form .fpv-lead-form.form { gap:20px; }
  #form .fpv-quantity-control { align-items:center; }
  #form .fpv-quantity-control .fpv-exact-quantity { flex:1 1 170px; width:auto; }
  #form .fpv-direct-contact > a,
  #form .fpv-direct-contact > .fpv-contact-row { grid-template-columns:78px minmax(0,1fr); }
  #form .fpv-direct-contact > a strong,
  #form .fpv-direct-contact > .fpv-contact-row strong { overflow-wrap:anywhere; }
}
@media(min-width:541px) {
  html:not(.mobile-preview) #form .fpv-contact-fields { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:start; }
  html:not(.mobile-preview) #form .fpv-contact-fields > .fpv-field {
    grid-template-rows:auto 50px 32px;
    align-content:start;
    gap:9px;
  }
  html:not(.mobile-preview) #form .fpv-contact-fields > .fpv-field > input,
  html:not(.mobile-preview) #form .fpv-contact-fields > .fpv-field > .contact-row {
    width:100%; height:50px; min-height:50px; box-sizing:border-box; align-self:start;
  }
  html:not(.mobile-preview) #form .fpv-contact-fields > .fpv-field > .contact-row { align-items:stretch; }
  html:not(.mobile-preview) #form .fpv-contact-fields > .fpv-field > .err { min-height:32px; margin:0; align-self:start; }
}

/* FPV Vision 2.0 process: five compact, equal-height steps. */
#how.process-journey { padding:76px 0 82px; }
#how.process-journey > .wrap { max-width:1280px; }
#how .process-heading { margin:0 auto 30px; }
#how .process-eyebrow { display:block; margin:0 0 10px; color:var(--osd); font:500 10px/1.3 var(--font-body); letter-spacing:.16em; }
#how .process-heading h2 { max-width:none; margin:0 0 10px; color:var(--white); font-size:clamp(36px,4.2vw,50px); line-height:1; }
#how .process-heading p { max-width:66ch; margin:0; color:var(--text-2); font-size:15px; line-height:1.55; }
#how .process-heading .process-availability { margin-top:5px; color:#898f89; font-size:13px; line-height:1.5; }
#entries > .wrap > h2 { max-width:none; margin-inline:auto; text-align:center; }
#how .process-track {
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px;
  width:min(1240px,calc(100vw - 2 * var(--gutter))); margin:0 auto;
}
#how .process-card {
  box-sizing:border-box; min-width:0; height:264px; padding:22px 20px 20px;
  display:flex; flex-direction:column; align-items:flex-start;
  border:1px solid rgba(244,243,239,.12); border-radius:19px;
  background:#f5f5f0; color:#191d19;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  transition:transform .22s cubic-bezier(.2,.75,.25,1),box-shadow .22s ease,border-color .22s ease;
}
#how .process-card:hover { transform:translateY(-3px); border-color:rgba(124,255,158,.68); box-shadow:0 12px 28px rgba(0,0,0,.18); }
#how .process-icon { width:28px; height:28px; flex:0 0 28px; margin:0 0 15px; color:#31854b; }
#how .process-card h3 { min-height:2.35em; margin:0 0 13px; color:#171b18; font:600 20px/1.16 var(--font-display); letter-spacing:-.012em; }
#how .process-divider { display:block; width:100%; height:1px; flex:0 0 1px; margin:0 0 13px; background:rgba(28,42,31,.15); }
#how .process-card p { margin:0; color:#4d554e; font:400 13px/1.52 var(--font-body); }
@media(max-width:1239px) {
  html:not(.mobile-preview) #how .process-track { display:flex; overflow-x:auto; gap:19px; padding:0 0 9px; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; }
  html:not(.mobile-preview) #how .process-track::-webkit-scrollbar { display:none; }
  html:not(.mobile-preview) #how .process-card { flex:0 0 228px; scroll-snap-align:start; }
}
@media(max-width:720px) {
  #how.process-journey { padding:58px 0 62px; }
  #how .process-heading { margin-bottom:23px; }
  #how .process-heading h2 { font-size:clamp(34px,8vw,42px); }
  #how .process-heading p { font-size:14px; }
  html:not(.mobile-preview) #how .process-track { width:calc(100vw - 2 * var(--gutter)); }
  html:not(.mobile-preview) #how .process-card { flex-basis:88%; height:254px; }
}
@media(min-width:1240px) {
  /* Center the 1240px card row on the section container, accounting for .wrap's gutters. */
  #how .process-track {
    width:1240px;
    max-width:calc(100% + var(--gutter) + var(--gutter));
    margin-inline:calc(50% - 620px);
  }
}
@media(min-width:1200px) {
  html:not(.mobile-preview) #entries { padding:56px 0 64px; }
  /* Compensate for removing the former 8px title offset so the card gap stays steady. */
  html:not(.mobile-preview) #entries > .wrap > h2 { margin-bottom:30px; }
}
@media(max-width:1199px) {
  /* Keep the existing small-screen title position; section padding stays unchanged there. */
  #entries > .wrap > h2 { position:relative; top:-8px; }
}

/* FAQ editorial split with a single, collapsible accordion column. */
#faq.faq-order { padding:clamp(54px,6vw,82px) 0 clamp(58px,6.2vw,86px); }
#faq.faq-order > .wrap { max-width:1320px; }
#faq .faq-editorial-layout { display:grid; width:calc(100% + var(--gutter) + var(--gutter)); margin-left:calc(-1 * var(--gutter)); grid-template-columns:minmax(330px,.8fr) minmax(600px,1.25fr); gap:clamp(120px,10vw,150px); align-items:start; }
#faq .faq-editorial-aside { min-width:0; max-width:420px; text-align:left; }
#faq .faq-order-heading { margin:0; }
#faq .faq-order-eyebrow { display:block; margin:0 0 12px; color:var(--osd); font:500 10px/1.3 var(--font-body); letter-spacing:.16em; }
#faq .faq-order-heading h2 { max-width:none; margin:0; color:var(--white); font-size:clamp(42px,4vw,50px); line-height:1.05; letter-spacing:-.025em; }
#faq .faq-order-description { max-width:34ch; margin:18px 0 0; color:var(--text-2); font:400 15px/1.65 var(--font-body); }
#faq .faq-contact-block { margin-top:38px; }
#faq .faq-contact-block p { margin:0 0 5px; color:var(--text-2); font:400 14px/1.5 var(--font-body); }
#faq .faq-contact-link { display:inline-flex; align-items:center; gap:7px; color:var(--osd); font:500 14px/1.45 var(--font-body); text-decoration:none; transition:color .18s ease; }
#faq .faq-contact-link:hover { color:#b6ffc4; }
#faq .faq-contact-link:focus-visible { outline:2px solid var(--osd); outline-offset:4px; }
#faq .faq-column { min-width:0; border-top:1px solid var(--line-2); }
#faq .faq-item { border-bottom:1px solid var(--line); }
#faq .faq-question-heading { margin:0; }
#faq .faq-question {
  display:flex; width:100%; min-height:72px; align-items:center; justify-content:space-between; gap:22px;
  padding:17px 0; border:0; background:transparent; color:var(--white); text-align:left;
  font:600 clamp(18px,1.7vw,21px)/1.35 var(--font-display); letter-spacing:-.008em; cursor:pointer;
  transition:color .18s ease;
}
#faq .faq-question:hover { color:#fff; }
#faq .faq-question:focus-visible { outline:2px solid var(--osd); outline-offset:3px; }
#faq .faq-chevron { position:relative; display:block; width:17px; height:17px; flex:0 0 17px; color:#b8beb8; transition:transform .2s ease,color .2s ease; }
#faq .faq-chevron::before { position:absolute; top:3px; left:4px; width:8px; height:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; content:""; transform:rotate(45deg); }
#faq .faq-question:hover .faq-chevron,#faq .faq-item.is-open .faq-chevron { color:var(--osd); }
#faq .faq-item.is-open .faq-chevron { transform:rotate(180deg); }
#faq .faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .24s ease-out; }
#faq .faq-answer-inner { min-height:0; overflow:hidden; padding:0; transition:padding .24s ease-out; }
#faq .faq-item.is-open .faq-answer { grid-template-rows:1fr; }
#faq .faq-item.is-open .faq-answer-inner { padding-bottom:18px; }
#faq .faq-answer p { max-width:720px; margin:0; color:var(--text-2); font:400 16px/1.7 var(--font-body); }
#faq .faq-answer a { color:var(--osd); font-weight:600; text-decoration:underline; text-decoration-color:rgba(124,255,158,.48); text-underline-offset:3px; cursor:pointer; }
#faq .faq-answer a:hover { color:#b6ffc4; text-decoration-color:currentColor; }
#faq .faq-answer a:focus-visible { border-radius:2px; outline:2px solid var(--osd); outline-offset:3px; }
@media(min-width:901px) and (max-width:1400px) {
  #faq .faq-editorial-layout { grid-template-columns:minmax(280px,.8fr) minmax(0,1.25fr); gap:clamp(40px,5vw,70px); }
}
@media(max-width:900px) {
  #faq.faq-order { padding:58px 0 68px; }
  #faq .faq-editorial-layout { display:flex; width:100%; margin-left:0; flex-direction:column; gap:28px; }
  #faq .faq-editorial-aside { display:contents; }
  #faq .faq-order-heading { order:0; min-width:0; width:100%; }
  #faq .faq-order-heading h2 { font-size:clamp(40px,7vw,48px); }
  #faq .faq-order-description { max-width:42ch; margin-top:14px; }
  #faq .faq-column { order:1; width:100%; }
  #faq .faq-contact-block { order:2; margin-top:0; }
  #faq .faq-question { min-height:68px; gap:16px; padding-block:15px; font-size:19px; }
  #faq .faq-answer p { font-size:15px; }
}
@media(max-width:520px) {
  #faq.faq-order { padding:48px 0 58px; }
  #faq .faq-editorial-layout { gap:22px; }
  #faq .faq-order-eyebrow { margin-bottom:10px; }
  #faq .faq-order-heading h2 { font-size:clamp(36px,9vw,42px); overflow-wrap:anywhere; }
  #faq .faq-order-description { margin-top:12px; font-size:14px; }
  #faq .faq-question { min-height:66px; gap:12px; padding-block:14px; font-size:18px; }
  #faq .faq-answer p { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  #faq .faq-answer,#faq .faq-answer-inner,#faq .faq-chevron { transition:none; }
}

/* Continuous, phase-shifted paper motion around the existing clip point. */
#comparison .hanging-item { transform-origin:50% 9.1%; }
#comparison .process-note:nth-child(1) .hanging-item { animation:process-note-breeze-1 3.6s linear -.3s infinite; }
#comparison .process-note:nth-child(2) .hanging-item { animation:process-note-breeze-2 4.2s linear -1.1s infinite; }
#comparison .process-note:nth-child(3) .hanging-item { animation:process-note-breeze-3 3.9s linear -2.3s infinite; }
#comparison .process-note:nth-child(4) .hanging-item { animation:process-note-breeze-4 4.6s linear -3.4s infinite; }
@keyframes process-note-breeze-1 {
  0% { transform:translate(0,0) rotate(0deg); }
  9% { transform:translate(1px,.3px) rotate(1.2deg); }
  18% { transform:translate(2px,.8px) rotate(2.8deg); }
  27% { transform:translate(2.5px,1.2px) rotate(3.6deg); }
  36% { transform:translate(1.4px,1.8px) rotate(2.8deg); }
  46% { transform:translate(.2px,1.2px) rotate(1deg); }
  56% { transform:translate(-1.2px,.5px) rotate(-1.2deg); }
  66% { transform:translate(-2.4px,1.4px) rotate(-3deg); }
  76% { transform:translate(-2.8px,2px) rotate(-4deg); }
  86% { transform:translate(-1.6px,1px) rotate(-2.5deg); }
  94% { transform:translate(-.5px,.4px) rotate(-.9deg); }
  100% { transform:translate(0,0) rotate(0deg); }
}
@keyframes process-note-breeze-2 {
  0% { transform:translate(0,0) rotate(0deg); }
  9% { transform:translate(-1px,.4px) rotate(-1.5deg); }
  18% { transform:translate(-2.1px,1px) rotate(-3.6deg); }
  27% { transform:translate(-2.7px,1.8px) rotate(-4.7deg); }
  36% { transform:translate(-1.8px,1.2px) rotate(-3.8deg); }
  46% { transform:translate(-.4px,.5px) rotate(-2deg); }
  56% { transform:translate(1px,1.4px) rotate(.6deg); }
  66% { transform:translate(2.2px,2px) rotate(3deg); }
  76% { transform:translate(2.8px,1px) rotate(5deg); }
  86% { transform:translate(1.5px,.3px) rotate(3.6deg); }
  94% { transform:translate(.5px,1px) rotate(1.2deg); }
  100% { transform:translate(0,0) rotate(0deg); }
}
@keyframes process-note-breeze-3 {
  0% { transform:translate(0,0) rotate(0deg); }
  9% { transform:translate(.8px,.5px) rotate(.9deg); }
  18% { transform:translate(1.8px,1.4px) rotate(2.5deg); }
  27% { transform:translate(2.4px,2px) rotate(4.3deg); }
  36% { transform:translate(1.5px,1.1px) rotate(3.1deg); }
  46% { transform:translate(.2px,.4px) rotate(1.6deg); }
  56% { transform:translate(-1px,1.2px) rotate(-.5deg); }
  66% { transform:translate(-2px,1.9px) rotate(-2.6deg); }
  76% { transform:translate(-2.6px,.8px) rotate(-4.3deg); }
  86% { transform:translate(-1.3px,.2px) rotate(-2.8deg); }
  94% { transform:translate(-.4px,1px) rotate(-.8deg); }
  100% { transform:translate(0,0) rotate(0deg); }
}
@keyframes process-note-breeze-4 {
  0% { transform:translate(0,0) rotate(0deg); }
  9% { transform:translate(-1.2px,.5px) rotate(-1.8deg); }
  18% { transform:translate(-2.4px,1.4px) rotate(-4.2deg); }
  27% { transform:translate(-3px,2px) rotate(-5.8deg); }
  36% { transform:translate(-2px,1px) rotate(-4.2deg); }
  46% { transform:translate(-.5px,.4px) rotate(-2deg); }
  56% { transform:translate(1px,1.2px) rotate(.5deg); }
  66% { transform:translate(2.3px,2px) rotate(3deg); }
  76% { transform:translate(3px,1px) rotate(5.2deg); }
  86% { transform:translate(1.6px,.3px) rotate(3.4deg); }
  94% { transform:translate(.5px,.9px) rotate(1deg); }
  100% { transform:translate(0,0) rotate(0deg); }
}
@media(max-width:720px) {
  #comparison { display:none; }
  #comparison .process-note:nth-child(1) .hanging-item { animation-name:process-note-breeze-mobile-1; animation-duration:4.3s; animation-delay:-.35s; }
  #comparison .process-note:nth-child(2) .hanging-item { animation-name:process-note-breeze-mobile-2; animation-duration:4.7s; animation-delay:-1.2s; }
  #comparison .process-note:nth-child(3) .hanging-item { animation-name:process-note-breeze-mobile-3; animation-duration:4.9s; animation-delay:-2.5s; }
  #comparison .process-note:nth-child(4) .hanging-item { animation-name:process-note-breeze-mobile-4; animation-duration:5.2s; animation-delay:-3.8s; }
}
html.mobile-preview #comparison .process-note:nth-child(1) .hanging-item { animation-name:process-note-breeze-mobile-1; animation-duration:4.3s; animation-delay:-.35s; }
html.mobile-preview #comparison .process-note:nth-child(2) .hanging-item { animation-name:process-note-breeze-mobile-2; animation-duration:4.7s; animation-delay:-1.2s; }
html.mobile-preview #comparison .process-note:nth-child(3) .hanging-item { animation-name:process-note-breeze-mobile-3; animation-duration:4.9s; animation-delay:-2.5s; }
html.mobile-preview #comparison .process-note:nth-child(4) .hanging-item { animation-name:process-note-breeze-mobile-4; animation-duration:5.2s; animation-delay:-3.8s; }
@keyframes process-note-breeze-mobile-1 {
  0% { transform:translate(0,0) rotate(0deg); }
  9% { transform:translate(.5px,.2px) rotate(.7deg); }
  18% { transform:translate(1px,.5px) rotate(1.6deg); }
  27% { transform:translate(1.4px,.8px) rotate(2.3deg); }
  36% { transform:translate(.8px,1.2px) rotate(1.8deg); }
  46% { transform:translate(.1px,.8px) rotate(.7deg); }
  56% { transform:translate(-.6px,.3px) rotate(-.6deg); }
  66% { transform:translate(-1.2px,.9px) rotate(-1.8deg); }
  76% { transform:translate(-1.5px,1.4px) rotate(-2.3deg); }
  86% { transform:translate(-.8px,.7px) rotate(-1.4deg); }
  94% { transform:translate(-.3px,.3px) rotate(-.5deg); }
  100% { transform:translate(0,0) rotate(0deg); }
}
@keyframes process-note-breeze-mobile-2 {
  0% { transform:translate(0,0) rotate(0deg); }
  9% { transform:translate(-.5px,.2px) rotate(-.8deg); }
  18% { transform:translate(-1.2px,.6px) rotate(-2deg); }
  27% { transform:translate(-1.6px,1.1px) rotate(-2.9deg); }
  36% { transform:translate(-1px,.7px) rotate(-2.2deg); }
  46% { transform:translate(-.2px,.3px) rotate(-.8deg); }
  56% { transform:translate(.6px,.8px) rotate(.4deg); }
  66% { transform:translate(1.3px,1.2px) rotate(1.8deg); }
  76% { transform:translate(1.7px,.6px) rotate(2.9deg); }
  86% { transform:translate(.9px,.2px) rotate(2deg); }
  94% { transform:translate(.3px,.6px) rotate(.7deg); }
  100% { transform:translate(0,0) rotate(0deg); }
}
@keyframes process-note-breeze-mobile-3 {
  0% { transform:translate(0,0) rotate(0deg); }
  9% { transform:translate(.4px,.3px) rotate(.6deg); }
  18% { transform:translate(1px,.8px) rotate(1.5deg); }
  27% { transform:translate(1.4px,1.2px) rotate(2.6deg); }
  36% { transform:translate(.8px,.7px) rotate(1.9deg); }
  46% { transform:translate(.1px,.3px) rotate(.8deg); }
  56% { transform:translate(-.5px,.7px) rotate(-.4deg); }
  66% { transform:translate(-1.1px,1.1px) rotate(-1.7deg); }
  76% { transform:translate(-1.5px,.5px) rotate(-2.6deg); }
  86% { transform:translate(-.8px,.2px) rotate(-1.7deg); }
  94% { transform:translate(-.3px,.6px) rotate(-.5deg); }
  100% { transform:translate(0,0) rotate(0deg); }
}
@keyframes process-note-breeze-mobile-4 {
  0% { transform:translate(0,0) rotate(0deg); }
  9% { transform:translate(-.6px,.3px) rotate(-.9deg); }
  18% { transform:translate(-1.2px,.8px) rotate(-2.1deg); }
  27% { transform:translate(-1.7px,1.3px) rotate(-3deg); }
  36% { transform:translate(-1px,.7px) rotate(-2.2deg); }
  46% { transform:translate(-.2px,.3px) rotate(-.7deg); }
  56% { transform:translate(.6px,.8px) rotate(.5deg); }
  66% { transform:translate(1.3px,1.3px) rotate(1.9deg); }
  76% { transform:translate(1.8px,.6px) rotate(3deg); }
  86% { transform:translate(1px,.2px) rotate(2deg); }
  94% { transform:translate(.3px,.6px) rotate(.6deg); }
  100% { transform:translate(0,0) rotate(0deg); }
}
@media(prefers-reduced-motion:reduce) {
  #comparison .hanging-item { animation:none!important; }
}

/* Keep lightbox navigation in side zones centered on the actual media stage. */
#media-gallery .media-lightbox {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);
  align-items:center;
  justify-items:stretch;
}
#media-gallery .media-lightbox-layout {
  display:grid;
  width:max-content;
  max-width:100%;
  height:auto;
  margin-inline:auto;
  grid-template-columns:52px minmax(0,1fr) 52px;
  align-items:center;
  gap:12px;
}
#media-gallery .media-lightbox-stage {
  width:min(100%,1500px);
  height:100%;
  padding:0;
  box-sizing:border-box;
  grid-template-rows:minmax(0,1fr);
  place-self:center;
}
#media-gallery .media-lightbox-image,#media-gallery .media-lightbox-video { min-width:0; min-height:0; max-width:100%; max-height:100%; }
#media-gallery .media-lightbox-nav {
  position:relative;
  inset:auto;
  width:50px;
  height:50px;
  padding:0;
  transform:none;
  align-self:center;
  justify-self:center;
  border-radius:50%;
  background:rgba(10,12,11,.5);
  color:#f4f3ef;
  font-size:23px;
  line-height:1;
  transition:border-color .18s ease,background-color .18s ease,color .18s ease;
}
#media-gallery .media-lightbox-nav:hover {
  border-color:rgba(244,243,239,.72);
  background:rgba(35,39,36,.78);
  color:#fff;
}
#media-gallery .media-lightbox-nav:focus-visible { outline:2px solid #7CFF9E; outline-offset:3px; }
@media(max-width:980px) {
  #media-gallery .media-lightbox-layout { grid-template-columns:50px minmax(0,1fr) 50px; gap:8px; }
  #media-gallery .media-lightbox-nav { width:48px; height:48px; }
}
@media(max-width:700px) {
  #media-gallery .media-lightbox-layout { grid-template-columns:50px minmax(0,1fr) 50px; gap:2px; }
  #media-gallery .media-lightbox-nav { width:48px; height:48px; border-radius:50%; }
}
/* product-page link under the catalogue DETAILS button */

/* P4: mobile hero gutter - same 20px side margin as the header and the other sections */
@media(max-width:720px) {
  .hero .wrap { width:calc(100% - 40px); margin-inline:auto; }
}

/* P4: 24px minimum hit area (WCAG 2.5.8) for the review dots; the visible dot is drawn by ::before and keeps its size */
#proof .testimonials-indicators { gap:0; }
#proof .testimonials-dot { position:relative; width:24px; height:24px; background:transparent; border-radius:0; }
#proof .testimonials-dot::before { content:""; position:absolute; top:50%; right:7.5px; left:7.5px; height:9px; margin-top:-4.5px; border-radius:50%; background:#c8cec9; transition:background-color 180ms ease; }
#proof .testimonials-dot[aria-current="true"] { width:41px; border-radius:0; background:transparent; }
#proof .testimonials-dot[aria-current="true"]::before { border-radius:6px; background:#4b9257; }
@media(max-width:430px) {
  #proof .testimonials-dot { width:24px; height:24px; }
  #proof .testimonials-dot::before { right:8px; left:8px; height:8px; margin-top:-4px; }
  #proof .testimonials-dot[aria-current="true"] { width:40px; }
}

/* P4: larger hit area for the small text link under the calculator, layout unchanged */
#calc .calc-fine a { padding-block:7px; margin-block:-7px; }
