*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font-family:inherit}
:root{
  /* ── BACKGROUNDS (deep navy-steel, not blue-black) ── */
  --ink:#0b0f14;          /* Page base: near-black with warm steel tint */
  --navy:#111820;         /* Section alt: dark steel */
  --navy2:#161d27;        /* Panel/card base */
  --navy3:#1c2535;        /* Elevated surfaces */

  /* ── GLASS & BORDERS (metallic, no neon) ── */
  --glass:rgba(22,29,39,.72);       /* Card fill: muted steel glass */
  --edge:rgba(255,255,255,.07);     /* Default border: barely visible iron */
  --edge2:rgba(0,188,212,.18);      /* Active/hover border: restrained cyan */
  --edge-steel:rgba(180,195,210,.1);/* Steel highlight border */

  /* ── PRIMARY ACCENT — Cyan (restrained, not neon) ── */
  --cyan:#00b4cc;         /* Primary CTA, links, active states — industrial teal */
  --cyan2:#00d0e8;        /* Hover/lighter state only */
  --cyan-dim:rgba(0,180,204,.12);   /* Subtle fills */
  --cyan-glow:rgba(0,180,204,.2);   /* Minimal shadow, not bloom */

  /* ── SECONDARY ACCENT — Steel Blue (metallic highlights) ── */
  --steel-blue:#4a7fa5;   /* Secondary buttons, tags, chips */
  --steel-light:#7aadc8;  /* Lighter steel for text accents */

  /* ── FUNCTIONAL COLORS ── */
  --amber:#c8891a;        /* Warnings, specs, badges — muted industrial gold */
  --amber-l:#e8a830;      /* Lighter amber for tags */
  --green:#2e9e6e;        /* Success, approvals — muted industrial green */
  --green-l:#3dbb85;      /* Lighter green tags */
  --red:#b83a4a;          /* Errors only */

  /* ── TYPOGRAPHY (warm steel white, not cold blue) ── */
  --white:#dde6ef;        /* Primary headings: warm steel white */
  --mist:#9aafc2;         /* Body text: readable mid-gray */
  --silver:#5a7088;       /* Secondary text, labels */
  --ghost:rgba(221,230,239,.05); /* Subtle fill */

  /* ── FONTS ── */
  --fh:'Syne',sans-serif;--fb:'Inter',sans-serif;--fm:'JetBrains Mono',monospace;

  /* ── RADIUS & SHADOWS ── */
  --r:12px;--r2:6px;
  --sc:0 6px 36px rgba(5,8,12,.75);          /* Card shadow: deeper, no color */
  --sy:0 4px 24px rgba(0,180,204,.15);        /* Accent shadow: subtle, not bloom */
  --ss:0 2px 12px rgba(5,8,12,.5);            /* Small shadow */
}

/* ── LIGHT MODE (Logo colours: Orange + Green + Blue + White) ── */
body.light-mode {
  --ink:#f5f7fa;
  --navy:#eef0f5;
  --navy2:#e8eaf0;
  --navy3:#dde0ea;
  --glass:rgba(255,255,255,.82);
  --edge:rgba(0,0,0,.10);
  --edge2:rgba(213,94,0,.25);
  --edge-steel:rgba(30,70,140,.12);
  --cyan:#d55e00;          /* Logo orange as primary accent */
  --cyan2:#e87020;
  --cyan-dim:rgba(213,94,0,.10);
  --cyan-glow:rgba(213,94,0,.18);
  --steel-blue:#1565c0;    /* Logo blue as secondary */
  --steel-light:#3a7ed4;
  --amber:#2e8b20;         /* Logo green as amber/highlight */
  --amber-l:#3aaa28;
  --green:#1565c0;
  --green-l:#2e7fcc;
  --red:#c0392b;
  --white:#1a1a2e;
  --mist:#2c3560;
  --silver:#5a6080;
  --ghost:rgba(26,26,46,.04);
  --sc:0 4px 24px rgba(0,0,0,.12);
  --sy:0 4px 20px rgba(213,94,0,.15);
  --ss:0 2px 10px rgba(0,0,0,.10);
}
body.light-mode { background:var(--ink); color:var(--white); }
body.light-mode #nav { background:rgba(255,255,255,.88) !important; border-color:rgba(213,94,0,.18); }
body.light-mode #nav.sh { background:rgba(245,247,250,.97) !important; border-color:rgba(213,94,0,.3); }
body.light-mode .nl a { color:var(--mist); }
body.light-mode .nl a:hover { color:var(--cyan); }
body.light-mode .nl a::after { background:var(--cyan); }
body.light-mode .nbn { color:var(--white); }
body.light-mode .nbn em { color:var(--cyan); }
body.light-mode .nbs { color:var(--silver); }
body.light-mode #mm { background:rgba(245,247,250,.98); }
body.light-mode #mm a { color:var(--white); }
body.light-mode #mm a:hover { color:var(--cyan); }
body.light-mode #mc { color:var(--cyan); }
body.light-mode .nbg span { background:var(--cyan); }
body.light-mode .hh1 { color:var(--white); }
body.light-mode .hh1 span { background:linear-gradient(110deg,var(--cyan),var(--cyan2) 60%,var(--steel-light));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent; }
body.light-mode .hh1 small { color:var(--mist);-webkit-text-fill-color:var(--mist); }
body.light-mode .hp { color:var(--mist); }
body.light-mode .hp strong { color:var(--cyan); }
body.light-mode .hey { background:rgba(213,94,0,.08);border-color:rgba(213,94,0,.28);color:var(--cyan); }
body.light-mode .hbl { background:var(--cyan); }
body.light-mode .kn { background:linear-gradient(135deg,var(--cyan),var(--steel-light));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent; }
body.light-mode .kl { color:var(--silver); }
body.light-mode .hmc { background:#fff;border-color:rgba(213,94,0,.22); }
body.light-mode .hmc img { background:#f0f2f7; }
body.light-mode .hbdg { background:rgba(255,255,255,.92);border-color:rgba(213,94,0,.28); }
body.light-mode .hbl2 { color:var(--silver); }
body.light-mode .hbv { color:var(--cyan); }
body.light-mode .hbar { background:linear-gradient(90deg,var(--cyan),var(--steel-blue),rgba(213,94,0,.3)); }
body.light-mode .hfc { background:#fff;border-color:rgba(213,94,0,.22); }
body.light-mode .hfc img { background:#f0f2f7; }
body.light-mode .ticker { background:linear-gradient(90deg,#e8eaf0,#eef0f5,#e8eaf0);border-color:rgba(0,0,0,.08); }
body.light-mode .ti { color:var(--mist); }
body.light-mode .ts { color:rgba(213,94,0,.5); }
body.light-mode #about { background:var(--navy);border-color:var(--edge); }
body.light-mode #about::before { background:linear-gradient(90deg,var(--cyan),var(--steel-blue),rgba(213,94,0,.3)); }
body.light-mode .abp { color:var(--mist); }
body.light-mode .abp strong { color:var(--cyan); }
body.light-mode .chip { color:var(--cyan); }
body.light-mode .chip::before { background:var(--cyan); }
body.light-mode .h2 .c { color:var(--cyan); }
body.light-mode .h2 .g { color:var(--amber); }
body.light-mode .sub { color:var(--silver); }
body.light-mode .qual { background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.09); }
body.light-mode .qual:hover { background:rgba(213,94,0,.07);border-color:rgba(213,94,0,.22); }
body.light-mode .qt { color:var(--cyan); }
body.light-mode .qd { color:var(--silver); }
body.light-mode .mvs { background:rgba(255,255,255,.8);border-color:rgba(0,0,0,.08);border-left-color:var(--cyan); }
body.light-mode .mvs:nth-child(2) { border-left-color:var(--amber); }
body.light-mode .mvs:nth-child(3) { border-left-color:var(--steel-blue); }
body.light-mode .mvst { color:var(--cyan); }
body.light-mode .mvs:nth-child(2) .mvst { color:var(--amber); }
body.light-mode .mvs:nth-child(3) .mvst { color:var(--steel-blue); }
body.light-mode .mvsd { color:var(--mist); }
body.light-mode .bpill { background:rgba(213,94,0,.05);border-color:rgba(213,94,0,.18); }
body.light-mode .bpt { color:var(--white); }
body.light-mode .bps { color:var(--cyan); }
body.light-mode .bpc { color:var(--silver); }
body.light-mode #stats { background:var(--ink);border-color:var(--edge); }
body.light-mode .sbox { background:rgba(255,255,255,.85);border-color:var(--edge);backdrop-filter:blur(12px); }
body.light-mode .sbox:hover { border-color:rgba(213,94,0,.25); }
body.light-mode .sbn { background:linear-gradient(135deg,var(--cyan),var(--steel-light));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent; }
body.light-mode .sbox:nth-child(2) .sbn { background:linear-gradient(135deg,var(--amber),#2eaa28);-webkit-background-clip:text;background-clip:text; }
body.light-mode .sbox:nth-child(3) .sbn { background:linear-gradient(135deg,var(--steel-blue),#3a7ed4);-webkit-background-clip:text;background-clip:text; }
body.light-mode .sbox:nth-child(4) .sbn { background:linear-gradient(135deg,var(--cyan),var(--amber));-webkit-background-clip:text;background-clip:text; }
body.light-mode .sbl { color:var(--silver); }
body.light-mode #caps { background:var(--navy); }
body.light-mode .ccard { background:rgba(255,255,255,.9);border-color:var(--edge); }
body.light-mode .ct { color:var(--white); }
body.light-mode .cd { color:var(--silver); }
body.light-mode .cn2 { color:var(--cyan);background:rgba(255,255,255,.85);border-color:rgba(213,94,0,.22); }
body.light-mode .tag-c { background:rgba(213,94,0,.08);border-color:rgba(213,94,0,.22);color:var(--cyan); }
body.light-mode .tag-g { background:rgba(46,139,32,.08);border-color:rgba(46,139,32,.22);color:var(--amber); }
body.light-mode .tag-a { background:rgba(21,101,192,.08);border-color:rgba(21,101,192,.22);color:var(--steel-blue); }
body.light-mode .cf { border-color:rgba(213,94,0,.12); }
body.light-mode .ck { color:var(--silver); }
body.light-mode .ck strong { color:var(--cyan); }
body.light-mode .cl { color:var(--cyan); }
body.light-mode .cl:hover { color:var(--cyan2); }
body.light-mode #specs { background:var(--ink);border-color:var(--edge); }
body.light-mode .sh2 { color:var(--white); }
body.light-mode .sp { color:var(--silver); }
body.light-mode .sf li { color:var(--mist); }
body.light-mode .sf li::before { color:var(--cyan); }
body.light-mode .sey { background:rgba(213,94,0,.07);border-color:rgba(213,94,0,.22);color:var(--cyan); }
body.light-mode .sk { background:rgba(255,255,255,.85);border-color:var(--edge); }
body.light-mode .skn { color:var(--white); }
body.light-mode .skl { color:var(--silver); }
body.light-mode .siw { border-color:rgba(213,94,0,.2); }
body.light-mode .sib { background:linear-gradient(90deg,var(--cyan),var(--amber)); }
body.light-mode #process { background:var(--navy);border-color:var(--edge); }
body.light-mode .pg { background:rgba(0,0,0,.06); }
body.light-mode .ps { background:var(--navy); }
body.light-mode .ps:hover { background:rgba(213,94,0,.05); }
body.light-mode .ps::after { background:linear-gradient(90deg,var(--cyan),var(--amber)); }
body.light-mode .pn { color:rgba(213,94,0,.12); }
body.light-mode .ps:hover .pn { color:rgba(213,94,0,.25); }
body.light-mode .pt { color:var(--white); }
body.light-mode .pd { color:var(--silver); }
body.light-mode #est { background:var(--ink);border-color:var(--edge); }
body.light-mode .ept { color:var(--mist); }
body.light-mode .epd { color:var(--silver); }
body.light-mode .epi { background:rgba(213,94,0,.07);border-color:rgba(213,94,0,.2); }
body.light-mode .epnl { background:rgba(255,255,255,.88);border-color:rgba(213,94,0,.2); }
body.light-mode .ebar { background:linear-gradient(90deg,var(--cyan),var(--steel-blue),rgba(213,94,0,.4)); }
body.light-mode .etit { color:var(--white); }
body.light-mode .etit::before { color:var(--cyan); }
body.light-mode .fll { color:var(--mist); }
body.light-mode .flv { color:var(--cyan); }
body.light-mode .fsel { background:rgba(255,255,255,.9);border-color:rgba(213,94,0,.18);color:var(--white); }
body.light-mode .fsel:focus { border-color:var(--cyan);box-shadow:0 0 0 3px rgba(213,94,0,.10); }
body.light-mode .fsel option { background:#f5f7fa;color:#1a1a2e; }
body.light-mode .frank { background:linear-gradient(90deg,var(--cyan) 0%,var(--cyan) var(--pct,0%),rgba(213,94,0,.15) var(--pct,0%),rgba(213,94,0,.15) 100%); }
body.light-mode .frank::-webkit-slider-thumb { background:var(--cyan);border-color:var(--ink);box-shadow:0 0 0 2px rgba(213,94,0,.3),0 0 10px rgba(213,94,0,.35); }
body.light-mode .ftb { background:rgba(213,94,0,.06);border-color:rgba(213,94,0,.18);color:var(--silver); }
body.light-mode .ftb.on,.light-mode .ftb:hover { background:rgba(213,94,0,.14);border-color:var(--cyan);color:var(--cyan); }
body.light-mode .eres { background:linear-gradient(135deg,rgba(213,94,0,.07),rgba(213,94,0,.03));border-color:rgba(213,94,0,.28); }
body.light-mode .erl { color:var(--cyan); }
body.light-mode .erp { color:var(--white); }
body.light-mode .err { color:var(--silver);border-color:rgba(0,0,0,.06); }
body.light-mode .erv { color:var(--mist); }
body.light-mode .ecta { background:linear-gradient(135deg,var(--cyan),#b84d00);color:#fff;box-shadow:0 4px 18px rgba(213,94,0,.28); }
body.light-mode #why { background:var(--navy);border-color:var(--edge); }
body.light-mode .wc { background:rgba(255,255,255,.85);border-color:var(--edge); }
body.light-mode .wc::before { background:linear-gradient(90deg,var(--cyan),var(--amber)); }
body.light-mode .wi { background:rgba(213,94,0,.08);border-color:rgba(213,94,0,.22); }
body.light-mode .wc:nth-child(2) .wi,.light-mode .wc:nth-child(5) .wi { background:rgba(46,139,32,.07);border-color:rgba(46,139,32,.22); }
body.light-mode .wc:nth-child(3) .wi,.light-mode .wc:nth-child(6) .wi { background:rgba(21,101,192,.07);border-color:rgba(21,101,192,.22); }
body.light-mode .wt { color:var(--white); }
body.light-mode .wd { color:var(--silver); }
body.light-mode #locs { background:var(--ink);border-color:var(--edge); }
body.light-mode .lc { background:rgba(255,255,255,.85);border-color:var(--edge); }
body.light-mode .lc:hover { border-color:rgba(213,94,0,.25); }
body.light-mode .lb2 { background:linear-gradient(90deg,var(--cyan),var(--amber)); }
body.light-mode .lc:nth-child(2) .lb2 { background:linear-gradient(90deg,var(--amber),var(--steel-blue)); }
body.light-mode .lbg { background:rgba(213,94,0,.07);border-color:rgba(213,94,0,.2);color:var(--cyan); }
body.light-mode .lct { background:linear-gradient(135deg,var(--white),var(--mist));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent; }
body.light-mode .ls { color:var(--mist); }
body.light-mode .lf li { color:var(--silver); }
body.light-mode .lf li::before { color:var(--cyan); }
body.light-mode .lc:nth-child(2) .lf li::before { color:var(--amber); }
body.light-mode .mph { color:var(--silver); }
body.light-mode #testi { background:var(--navy);border-color:var(--edge); }
body.light-mode .tc2 { background:rgba(255,255,255,.85);border-color:var(--edge); }
body.light-mode .tc2::before { color:rgba(213,94,0,.12); }
body.light-mode .tc2:hover { border-color:rgba(213,94,0,.2); }
body.light-mode .tst { color:var(--cyan); }
body.light-mode .tq { color:var(--mist); }
body.light-mode .tav { background:linear-gradient(135deg,var(--cyan),#b84d00);color:#fff; }
body.light-mode .tnm { color:var(--white); }
body.light-mode .tco { color:var(--silver); }
body.light-mode .tind { color:var(--cyan); }
body.light-mode #contact { background:var(--navy);border-color:var(--edge); }
body.light-mode .cico { background:rgba(213,94,0,.07);border-color:rgba(213,94,0,.18); }
body.light-mode .clb { color:var(--silver); }
body.light-mode .cvl { color:var(--mist); }
body.light-mode .cvl a { color:var(--mist); }
body.light-mode .cvl a:hover { color:var(--cyan); }
body.light-mode .cfc { background:rgba(255,255,255,.88);border-color:rgba(213,94,0,.2); }
body.light-mode .cfbar { background:linear-gradient(90deg,var(--cyan),var(--steel-blue),rgba(213,94,0,.4)); }
body.light-mode .cftit { color:var(--white); }
body.light-mode .cftit::before { color:var(--cyan); }
body.light-mode .ff label { color:var(--silver); }
body.light-mode .ff input,.light-mode .ff textarea,.light-mode .ff select { background:rgba(255,255,255,.9);border-color:rgba(0,0,0,.12);color:var(--white); }
body.light-mode .ff input:focus,.light-mode .ff textarea:focus,.light-mode .ff select:focus { border-color:var(--cyan);box-shadow:0 0 0 3px rgba(213,94,0,.10); }
body.light-mode .cfnote { color:var(--silver); }
body.light-mode .cfnote a { color:var(--cyan); }
body.light-mode .csub { background:linear-gradient(135deg,var(--cyan),#b84d00);color:#fff;box-shadow:0 4px 18px rgba(213,94,0,.28); }
body.light-mode #backend { background:var(--navy);border-color:var(--edge); }
body.light-mode footer { background:#eef0f5;border-image:linear-gradient(90deg,rgba(213,94,0,.4),rgba(21,101,192,.5),rgba(213,94,0,.25)) 1; }
body.light-mode .fln { color:var(--white); }
body.light-mode .fln em { color:var(--cyan); }
body.light-mode .fls { color:var(--silver); }
body.light-mode .ftag { color:var(--silver); }
body.light-mode .fcc a { color:var(--silver); }
body.light-mode .fcc a:hover { color:var(--cyan); }
body.light-mode .fct { color:var(--cyan); }
body.light-mode .fli a { color:var(--silver); }
body.light-mode .fli a:hover { color:var(--cyan); }
body.light-mode .fcpy,.light-mode .fnap { color:rgba(90,96,128,.6); }
body.light-mode #toast { background:rgba(255,255,255,.97);border-color:rgba(213,94,0,.3);color:var(--white); }
body.light-mode .btn-c { background:linear-gradient(135deg,var(--cyan),#b84d00);color:#fff !important; }
body.light-mode .btn-o { background:rgba(213,94,0,.07);border-color:rgba(213,94,0,.35);color:var(--cyan); }
body.light-mode .btn-g { background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.12);color:var(--mist); }
body.light-mode .btn-g:hover { border-color:rgba(213,94,0,.4);color:var(--cyan); }
body.light-mode .ncta { background:linear-gradient(135deg,var(--cyan),#b84d00) !important;color:#fff !important; }
body.light-mode .gb { background-image:linear-gradient(rgba(26,26,46,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(26,26,46,.04) 1px,transparent 1px); }
body.light-mode body::after { opacity:.15; }
body.light-mode #cd { background:var(--cyan);box-shadow:0 0 8px rgba(213,94,0,.35); }
body.light-mode #cr { border-color:rgba(213,94,0,.38); }

/* ── THEME TOGGLE BUTTON ── */
#theme-toggle {
  position:fixed;
  bottom:2rem;
  left:2rem;
  z-index:9001;
  width:52px;
  height:52px;
  border-radius:50%;
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.35rem;
  transition:all .3s cubic-bezier(.34,1.56,.64,1);
  box-shadow:0 4px 20px rgba(0,0,0,.35);
  background:linear-gradient(135deg,var(--cyan),#009bbc);
  color:var(--ink);
}
body.light-mode #theme-toggle {
  background:linear-gradient(135deg,#d55e00,#b84d00);
  color:#fff;
  box-shadow:0 4px 20px rgba(213,94,0,.4);
}
#theme-toggle:hover { transform:scale(1.12) rotate(15deg); }
#theme-toggle .icon-dark { display:block; }
#theme-toggle .icon-light { display:none; }
body.light-mode #theme-toggle .icon-dark { display:none; }
body.light-mode #theme-toggle .icon-light { display:block; }
body{background:var(--ink);color:var(--white);font-family:var(--fb);overflow-x:hidden;cursor:none;-webkit-font-smoothing:antialiased;line-height:1.6}
img{display:block;max-width:100%}
#cd,#cr{position:fixed;pointer-events:none;z-index:9999;border-radius:50%;transform:translate(-50%,-50%);will-change:left,top}
#cd{width:6px;height:6px;background:var(--cyan);box-shadow:0 0 8px rgba(0,180,204,.4);transition:width .2s,height .2s}
#cr{width:28px;height:28px;border:1px solid rgba(0,180,204,.35);transition:width .25s,height .25s}
body.hl #cd{width:13px;height:13px;background:var(--cyan2)}
body.hl #cr{width:46px;height:46px;border-color:var(--cyan)}
body::after{content:'';position:fixed;inset:0;z-index:1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.45' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E");opacity:.35}
#nav{position:fixed;top:0;left:0;right:0;z-index:900;height:72px;padding:0 3rem;display:flex;align-items:center;justify-content:space-between;background:rgba(2,13,26,.55);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border-bottom:1px solid var(--edge);transition:height .35s,background .35s}
#nav.sh{height:60px;background:rgba(11,15,20,.96);border-color:rgba(0,180,204,.2)}
.nb{display:flex;align-items:center;gap:.8rem}
.nbl{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.18);box-shadow:0 2px 12px rgba(5,8,12,.6),0 0 0 1px rgba(0,180,204,.15);flex-shrink:0}
.nbn{font-family:var(--fh);font-size:1.1rem;letter-spacing:.06em;color:var(--white);line-height:1.1}
.nbn em{color:var(--cyan);font-style:normal}
.nbs{font-family:var(--fm);font-size:.58rem;color:var(--silver);letter-spacing:.16em;text-transform:uppercase}
.nl{display:flex;align-items:center;gap:2rem;list-style:none}
.nl a{font-size:.75rem;font-weight:600;color:var(--mist);letter-spacing:.09em;text-transform:uppercase;position:relative;padding:.2rem 0;transition:color .2s}
.nl a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1.5px;background:var(--cyan);border-radius:1px;transition:width .3s}
.nl a:hover{color:var(--cyan)}
.nl a:hover::after{width:100%}
.ncta{background:linear-gradient(135deg,var(--cyan),#009bbc)!important;color:var(--ink)!important;padding:.5rem 1.4rem;border-radius:30px;font-weight:700!important;box-shadow:0 0 20px rgba(0,212,255,.3);transition:all .25s!important;white-space:nowrap}
.ncta:hover{box-shadow:var(--sy)!important;transform:translateY(-2px)!important}
.ncta::after{display:none!important}
.nbg{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:.3rem}
.nbg span{width:22px;height:1.5px;background:var(--cyan);border-radius:1px;display:block;transition:all .3s}
#mm{display:none;position:fixed;inset:0;z-index:850;background:rgba(2,13,26,.97);backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;gap:2.5rem}
#mm.open{display:flex}
#mm a{font-family:var(--fh);font-size:2rem;letter-spacing:.05em;color:var(--white);transition:color .2s}
#mm a:hover{color:var(--cyan)}
#mc{position:absolute;top:1.4rem;right:1.6rem;background:none;border:none;color:var(--cyan);font-size:1.8rem;line-height:1}
.gb{position:absolute;inset:0;background-image:linear-gradient(rgba(180,195,210,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(180,195,210,.025) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse at 50% 50%,black 25%,transparent 68%);pointer-events:none;z-index:0}
.chip{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--fm);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:1rem}
.chip::before{content:'';width:18px;height:1.5px;background:var(--cyan);border-radius:1px}
.h2{font-family:var(--fh);font-size:clamp(1.9rem,3.8vw,3rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin-bottom:.9rem}
.h2 .c{color:var(--cyan)}.h2 .g{color:var(--green)}
.sub{font-size:.94rem;color:var(--silver);line-height:1.82;max-width:500px}
.sec{padding:7.5rem 4rem;position:relative;overflow:hidden}
.wrap{max-width:1260px;margin:0 auto}
.btn{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;font-size:.83rem;letter-spacing:.07em;text-transform:uppercase;border-radius:30px;padding:.82rem 1.9rem;border:none;cursor:none;transition:all .25s;white-space:nowrap}
.btn-c{background:linear-gradient(135deg,var(--cyan),#009bbc);color:var(--ink);box-shadow:0 6px 28px rgba(0,212,255,.35)}
.btn-c:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,212,255,.5)}
.btn-o{background:rgba(0,212,255,.06);border:1.5px solid rgba(0,212,255,.35);color:var(--cyan)}
.btn-o:hover{background:rgba(0,212,255,.14);border-color:var(--cyan)}
.btn-g{background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.12);color:var(--mist)}
.btn-g:hover{border-color:rgba(0,212,255,.4);color:var(--cyan)}
[data-reveal]{opacity:0;transition:opacity .8s ease,transform .8s ease}
[data-reveal="up"]{transform:translateY(36px)}
[data-reveal="left"]{transform:translateX(-36px)}
[data-reveal="right"]{transform:translateX(36px)}
[data-reveal].in{opacity:1;transform:none}
[data-delay="1"]{transition-delay:.1s}[data-delay="2"]{transition-delay:.2s}[data-delay="3"]{transition-delay:.3s}
[data-delay="4"]{transition-delay:.4s}[data-delay="5"]{transition-delay:.5s}[data-delay="6"]{transition-delay:.6s}
#hero{min-height:100vh;display:flex;align-items:center;padding:9rem 4rem 5rem;background:radial-gradient(ellipse 90% 70% at 65% 35%,rgba(0,180,204,.04) 0%,transparent 55%),radial-gradient(ellipse 60% 60% at 5% 80%,rgba(74,127,165,.04) 0%,transparent 50%),linear-gradient(160deg,#0b0f14 0%,#101520 50%,#0b0f14 100%);position:relative;overflow:hidden}
.hi{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:2;width:100%}
.hey{display:inline-flex;align-items:center;gap:.6rem;background:rgba(0,212,255,.07);border:1px solid rgba(0,212,255,.25);padding:.35rem 1rem;border-radius:30px;margin-bottom:1.8rem;font-family:var(--fm);font-size:.7rem;color:var(--cyan);letter-spacing:.1em}
.hbl{width:7px;height:7px;background:var(--cyan);border-radius:50%;flex-shrink:0;animation:blink 1.4s infinite}
@keyframes blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.6)}}
.hh1{font-family:var(--fh);font-size:clamp(2.8rem,5.5vw,4.8rem);font-weight:800;line-height:.98;letter-spacing:-.03em;margin-bottom:1.3rem}
.hh1 span{display:block;background:linear-gradient(110deg,var(--cyan),var(--cyan2) 60%,var(--steel-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 16px rgba(0,180,204,.2))}
.hh1 small{display:block;font-size:.38em;color:var(--mist);-webkit-text-fill-color:var(--mist);filter:none;letter-spacing:.02em;margin-top:.4rem}
.hp{font-size:.97rem;color:var(--mist);line-height:1.82;max-width:540px;margin-bottom:2.2rem}
.hp strong{color:var(--cyan);font-weight:600}
.hbt{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem}
.hkp{display:flex;gap:2.8rem;flex-wrap:wrap}
.kn{font-family:var(--fh);font-size:2.5rem;font-weight:800;line-height:1;background:linear-gradient(135deg,var(--cyan),var(--steel-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.kl{font-size:.7rem;color:var(--silver);text-transform:uppercase;letter-spacing:.1em;margin-top:.2rem}
.hv{position:relative}
.hmc{border-radius:var(--r);overflow:hidden;background:var(--navy2);border:1px solid rgba(0,212,255,.2);box-shadow:var(--sc),var(--sy);position:relative}
.hmc img{width:100%;height:360px;object-fit:contain;background:#050e1a;padding:1.5rem;animation:lev 5s ease-in-out infinite}
.hbar{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--steel-blue),rgba(0,180,204,.3))}
.hscn{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,180,204,.5),transparent);animation:scan 3.5s ease-in-out infinite;opacity:.35}
@keyframes scan{0%{top:0;opacity:.6}100%{top:100%;opacity:0}}
.hbdg{position:absolute;bottom:1.2rem;left:1.2rem;background:rgba(2,13,26,.88);backdrop-filter:blur(12px);border:1px solid rgba(0,212,255,.25);border-radius:var(--r2);padding:.75rem 1.1rem}
.hbl2{font-family:var(--fm);font-size:.62rem;color:var(--silver);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.15rem}
.hbv{font-family:var(--fh);font-size:.88rem;color:var(--cyan)}
.hfc{position:absolute;top:-1.2rem;right:-1.4rem;width:130px;height:130px;background:var(--navy2);border:1px solid rgba(0,212,255,.2);border-radius:var(--r);overflow:hidden;box-shadow:var(--sc);animation:lev 5s 1.8s ease-in-out infinite}
.hfc img{width:100%;height:100%;object-fit:contain;background:#050e1a;padding:.5rem}
@keyframes lev{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.ticker{background:linear-gradient(90deg,#0e1620,#131c28,#0e1620);border-top:1px solid rgba(180,195,210,.08);border-bottom:1px solid rgba(180,195,210,.08);padding:.6rem 0;overflow:hidden}
.tki{display:flex;width:max-content;animation:tick 32s linear infinite}
.ti{font-family:var(--fm);font-size:.78rem;font-weight:500;color:var(--mist);padding:0 2rem;white-space:nowrap;letter-spacing:.1em}
.ts{color:rgba(0,180,204,.4);margin:0 .3rem}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
#about{background:var(--navy);border-top:1px solid var(--edge)}
#about::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--steel-blue),rgba(0,180,204,.3))}
.ag{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.abp{font-size:.94rem;color:var(--mist);line-height:1.85;margin-bottom:1.15rem}
.abp strong{color:var(--cyan);font-weight:600}
.qg{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-top:2rem}
.qual{background:rgba(255,255,255,.03);border:1px solid rgba(180,195,210,.09);border-radius:var(--r2);padding:1.15rem;cursor:default;transition:all .3s}
.qual:hover{background:rgba(0,180,204,.06);border-color:rgba(0,180,204,.22);transform:translateY(-3px)}
.qi{font-size:1.3rem;margin-bottom:.45rem}
.qt{font-weight:700;font-size:.85rem;color:var(--cyan);margin-bottom:.2rem}
.qd{font-size:.79rem;color:var(--silver);line-height:1.55}
.mvss{display:flex;flex-direction:column;gap:1.1rem}
.mvs{background:rgba(22,29,39,.8);border:1px solid rgba(180,195,210,.08);border-left:3px solid var(--cyan);border-radius:0 var(--r2) var(--r2) 0;padding:1.4rem 1.4rem 1.4rem 1.7rem;transition:transform .3s}
.mvs:nth-child(2){border-left-color:var(--green)}.mvs:nth-child(3){border-left-color:var(--amber)}
.mvs:hover{transform:translateX(5px)}
.mvst{font-family:var(--fm);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:.35rem}
.mvs:nth-child(2) .mvst{color:var(--green)}.mvs:nth-child(3) .mvst{color:var(--amber)}
.mvsd{font-size:.86rem;color:var(--mist);line-height:1.65}
.bpill{display:flex;align-items:center;gap:1rem;padding:1.3rem;background:rgba(0,212,255,.04);border:1px solid rgba(0,212,255,.15);border-radius:var(--r);margin-top:1.2rem}
.bpill img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.15);box-shadow:0 2px 12px rgba(5,8,12,.5);flex-shrink:0}
.bpt{font-family:var(--fh);font-weight:800;font-size:.92rem;color:var(--white)}
.bps{font-family:var(--fm);font-size:.6rem;color:var(--cyan);letter-spacing:.1em;margin:.15rem 0}
.bpc{font-size:.77rem;color:var(--silver)}
#stats{background:var(--ink);padding:5.5rem 4rem;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);position:relative;overflow:hidden}
#stats::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(0,229,160,.04) 0%,transparent 65%)}
.sr{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;position:relative;z-index:1}
.sbox{padding:2.4rem 1.5rem;text-align:center;background:var(--glass);border:1px solid var(--edge);border-radius:var(--r);backdrop-filter:blur(12px);cursor:default;transition:all .35s;position:relative;overflow:hidden}
.sbox::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,212,255,.06) 0%,transparent 60%);opacity:0;transition:opacity .35s}
.sbox:hover::before{opacity:1}
.sbox:hover{transform:translateY(-4px);border-color:rgba(0,180,204,.25);box-shadow:0 8px 32px rgba(5,8,12,.6),0 0 20px rgba(0,180,204,.1)}
.sbox:nth-child(2){border-color:rgba(0,229,160,.15)}.sbox:nth-child(3){border-color:rgba(255,184,48,.12)}
.sbi{font-size:1.6rem;margin-bottom:.7rem}
.sbn{font-family:var(--fh);font-size:2.8rem;font-weight:800;line-height:1;margin-bottom:.35rem;background:linear-gradient(135deg,var(--cyan),var(--steel-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sbox:nth-child(2) .sbn{background:linear-gradient(135deg,var(--green),#00ffbf);-webkit-background-clip:text;background-clip:text}
.sbox:nth-child(3) .sbn{background:linear-gradient(135deg,var(--amber),#ffda85);-webkit-background-clip:text;background-clip:text}
.sbox:nth-child(4) .sbn{background:linear-gradient(135deg,var(--cyan),var(--green));-webkit-background-clip:text;background-clip:text}
.sbl{font-family:var(--fm);font-size:.7rem;color:var(--silver);letter-spacing:.12em;text-transform:uppercase}
#caps{background:var(--navy)}
.ch{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:3.5rem}
.cg{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.ccard{background:var(--glass);border:1px solid var(--edge);border-radius:var(--r);overflow:hidden;cursor:none;transition:all .35s;position:relative;backdrop-filter:blur(12px);display:flex;flex-direction:column}
.ccard::after{content:'';position:absolute;inset:0;border-radius:var(--r);border:1px solid transparent;background:linear-gradient(var(--glass),var(--glass)) padding-box,linear-gradient(135deg,var(--cyan),var(--green),var(--cyan)) border-box;opacity:0;transition:opacity .35s;pointer-events:none}
.ccard:hover::after{opacity:1}
.ccard:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(5,8,12,.7),0 0 0 1px rgba(0,180,204,.2)}
.ccard:hover .ci img{transform:scale(1.07);filter:brightness(.95) saturate(1)}
.ci{height:190px;overflow:hidden;position:relative;flex-shrink:0}
.ci img{width:100%;height:100%;object-fit:cover;transition:transform .55s,filter .55s;filter:brightness(.85) saturate(.88)}
.co{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(6,21,37,.1) 30%,rgba(6,21,37,.88) 100%)}
.cn2{position:absolute;top:.75rem;left:.75rem;font-family:var(--fm);font-size:.62rem;color:var(--cyan);background:rgba(2,13,26,.75);border:1px solid rgba(0,212,255,.2);padding:.22rem .6rem;border-radius:30px;letter-spacing:.1em;backdrop-filter:blur(8px)}
.cpill{position:absolute;bottom:.75rem;right:.75rem;border-radius:30px;padding:.2rem .65rem;font-family:var(--fm);font-size:.6rem;letter-spacing:.08em;backdrop-filter:blur(8px)}
.cb{padding:1.4rem 1.4rem .9rem;flex:1}
.ct{font-family:var(--fh);font-weight:800;font-size:1rem;color:var(--white);margin-bottom:.5rem;letter-spacing:-.01em}
.cd{font-size:.82rem;color:var(--silver);line-height:1.62;margin-bottom:1rem}
.tags{display:flex;flex-wrap:wrap;gap:.35rem}
.tag-c{font-size:.67rem;font-weight:600;padding:.2rem .6rem;border-radius:30px;background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.2);color:var(--cyan)}
.tag-g{font-size:.67rem;font-weight:600;padding:.2rem .6rem;border-radius:30px;background:rgba(46,158,110,.08);border:1px solid rgba(46,158,110,.2);color:var(--green-l)}
.tag-a{font-size:.67rem;font-weight:600;padding:.2rem .6rem;border-radius:30px;background:rgba(200,137,26,.08);border:1px solid rgba(200,137,26,.22);color:var(--amber-l)}
.cf{padding:.85rem 1.4rem 1.1rem;border-top:1px solid rgba(0,212,255,.1);display:flex;align-items:center;justify-content:space-between;margin-top:auto}
.ck{font-family:var(--fm);font-size:.65rem;color:var(--silver)}
.ck strong{color:var(--cyan)}
.cl{font-family:var(--fm);font-size:.65rem;color:var(--cyan);letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.3rem;transition:gap .2s,color .2s;cursor:none}
.cl:hover{gap:.6rem;color:var(--cyan2)}
.cl::after{content:'→'}
#specs{background:var(--ink);border-top:1px solid var(--edge)}
.sb{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;padding:5rem 0;border-bottom:1px solid var(--edge);max-width:1260px;margin:0 auto}
.sb:last-child{border-bottom:none;padding-bottom:0}
.sb.flip .si{order:-1}
.sey{display:inline-flex;align-items:center;gap:.5rem;background:rgba(0,212,255,.06);border:1px solid rgba(0,212,255,.2);padding:.28rem .8rem;border-radius:30px;font-family:var(--fm);font-size:.65rem;color:var(--cyan);letter-spacing:.1em;margin-bottom:.9rem}
.sh2{font-family:var(--fh);font-weight:800;font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.1;letter-spacing:-.02em;margin-bottom:.9rem}
.sp{font-size:.92rem;color:var(--silver);line-height:1.82;margin-bottom:1.4rem}
.sf{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.8rem}
.sf li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;font-size:.86rem;color:var(--mist);line-height:1.5;align-items:baseline}
.sf li::before{content:'▹';color:var(--cyan);font-size:.65rem;margin-top:3px}
.skp{display:flex;gap:1.2rem;flex-wrap:wrap}
.sk{padding:.85rem 1.25rem;background:var(--glass);border:1px solid var(--edge);border-radius:var(--r2);text-align:center;backdrop-filter:blur(8px)}
.skn{font-family:var(--fh);font-weight:800;font-size:1.5rem;color:var(--white);line-height:1}
.skl{font-size:.68rem;color:var(--silver);text-transform:uppercase;letter-spacing:.09em;margin-top:.2rem}
.siw{border-radius:var(--r);overflow:hidden;border:1px solid var(--edge2);box-shadow:var(--sc),0 0 80px rgba(0,212,255,.12);position:relative}
.siw img{width:100%;height:380px;object-fit:cover;transition:transform .65s;filter:brightness(.88) saturate(.85)}
.sb:hover .siw img{transform:scale(1.04);filter:brightness(.95) saturate(1)}
.sib{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--cyan),var(--green))}
.ssc{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:scan 3s ease-in-out infinite;opacity:.5}
#process{background:var(--navy);border-top:1px solid var(--edge)}
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:3.5rem;background:rgba(180,195,210,.07);border-radius:var(--r);overflow:hidden;border:1px solid rgba(180,195,210,.07)}
.ps{background:var(--navy);padding:2.2rem;cursor:default;transition:background .3s;position:relative;overflow:hidden}
.ps::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--green));transform:scaleX(0);transition:transform .4s;transform-origin:left}
.ps:hover{background:rgba(0,212,255,.04)}
.ps:hover::after{transform:scaleX(1)}
.pn{font-family:var(--fh);font-size:3rem;font-weight:800;color:rgba(0,212,255,.1);line-height:1;margin-bottom:.7rem;transition:color .3s}
.ps:hover .pn{color:rgba(0,212,255,.2)}
.pt{font-family:var(--fh);font-weight:800;font-size:.92rem;color:var(--white);margin-bottom:.5rem;letter-spacing:.01em}
.pd{font-size:.82rem;color:var(--silver);line-height:1.62}
#est{background:var(--ink);border-top:1px solid var(--edge)}
#est::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 75% 75% at 80% 50%,rgba(0,212,255,.04) 0%,transparent 60%)}
.eg{display:grid;grid-template-columns:1fr 1.15fr;gap:5rem;align-items:start;position:relative;z-index:1}
.epk{display:flex;flex-direction:column;gap:1rem;margin-top:2.5rem}
.ep{display:flex;gap:.9rem;align-items:flex-start}
.epi{width:38px;height:38px;border-radius:var(--r2);background:rgba(0,212,255,.07);border:1px solid rgba(0,212,255,.2);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}
.ept{font-weight:700;font-size:.86rem;color:var(--mist);margin-bottom:.15rem}
.epd{font-size:.78rem;color:var(--silver)}
.epnl{background:var(--glass);border:1px solid var(--edge2);border-radius:var(--r);backdrop-filter:blur(20px);margin-top:3rem;overflow:hidden;box-shadow:var(--sc)}
.ebar{height:2px;background:linear-gradient(90deg,var(--cyan),var(--steel-blue),rgba(0,180,204,.4))}
.ebody{padding:2.2rem}
.etit{font-family:var(--fh);font-weight:800;font-size:1rem;color:var(--white);letter-spacing:.02em;margin-bottom:1.5rem;display:flex;align-items:center;gap:.6rem}
.etit::before{content:'◈';color:var(--cyan);font-size:.9rem}
.fg{margin-bottom:1.4rem}
.fl{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}
.fll{font-size:.72rem;font-weight:700;color:var(--mist);text-transform:uppercase;letter-spacing:.09em}
.flv{font-family:var(--fm);font-size:.85rem;color:var(--cyan)}
.fsel{width:100%;background:rgba(6,21,37,.8);border:1px solid rgba(0,212,255,.18);color:var(--white);padding:.68rem .95rem;font-family:var(--fb);font-size:.84rem;border-radius:var(--r2);outline:none;appearance:none;cursor:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2300d4ff' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;transition:border-color .2s}
.fsel:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,212,255,.12)}
.fsel option{background:#0a2540}
.frank{width:100%;-webkit-appearance:none;height:3px;border-radius:2px;outline:none;cursor:none;background:linear-gradient(90deg,var(--cyan) 0%,var(--cyan) var(--pct,0%),rgba(0,212,255,.12) var(--pct,0%),rgba(0,212,255,.12) 100%)}
.frank::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--cyan);border-radius:50%;border:3px solid var(--ink);box-shadow:0 0 0 2px rgba(0,212,255,.4),0 0 14px rgba(0,212,255,.5);cursor:none}
.ftr{display:flex;gap:.4rem;flex-wrap:wrap}
.ftb{padding:.42rem .9rem;background:rgba(0,212,255,.05);border:1px solid rgba(0,212,255,.15);color:var(--silver);font-size:.77rem;font-weight:600;border-radius:30px;cursor:none;transition:all .2s}
.ftb.on,.ftb:hover{background:rgba(0,212,255,.14);border-color:var(--cyan);color:var(--cyan)}
.eres{background:linear-gradient(135deg,rgba(0,212,255,.08),rgba(0,212,255,.03));border:1.5px solid rgba(0,212,255,.28);border-radius:var(--r2);padding:1.7rem;margin-top:1.3rem}
.erl{font-family:var(--fm);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);margin-bottom:.3rem}
.erp{font-family:var(--fh);font-size:2.3rem;font-weight:800;color:var(--white);line-height:1;margin-bottom:1rem;text-shadow:0 0 30px rgba(0,212,255,.3)}
.erd{display:flex;flex-direction:column;gap:.3rem}
.err{display:flex;justify-content:space-between;font-size:.79rem;color:var(--silver);padding:.3rem 0;border-bottom:1px solid rgba(255,255,255,.04)}
.err:last-child{border:none}
.erv{color:var(--mist);font-family:var(--fm);font-size:.78rem}
.ecta{width:100%;margin-top:1.1rem;padding:.9rem;background:linear-gradient(135deg,var(--cyan),#009bbc);color:var(--ink);font-weight:700;font-size:.84rem;letter-spacing:.09em;text-transform:uppercase;border:none;border-radius:30px;cursor:none;transition:all .25s;box-shadow:0 6px 24px rgba(0,212,255,.3)}
.ecta:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(0,212,255,.45)}
#why{background:var(--navy);border-top:1px solid var(--edge)}
.wg{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem}
.wc{background:var(--glass);border:1px solid var(--edge);border-radius:var(--r);padding:2rem;cursor:default;transition:all .35s;position:relative;overflow:hidden;backdrop-filter:blur(12px)}
.wc::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--green));transform:scaleX(0);transition:transform .4s;border-radius:0 0 var(--r) var(--r)}
.wc:hover::before{transform:scaleX(1)}
.wc:hover{transform:translateY(-5px);border-color:rgba(0,180,204,.2);box-shadow:0 10px 36px rgba(5,8,12,.65)}
.wi{width:46px;height:46px;border-radius:var(--r2);background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.2);display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:1.1rem}
.wc:nth-child(2) .wi,.wc:nth-child(5) .wi{background:rgba(0,229,160,.07);border-color:rgba(0,229,160,.2)}
.wc:nth-child(3) .wi,.wc:nth-child(6) .wi{background:rgba(255,184,48,.07);border-color:rgba(255,184,48,.2)}
.wt{font-family:var(--fh);font-weight:800;font-size:.95rem;color:var(--white);margin-bottom:.5rem}
.wd{font-size:.82rem;color:var(--silver);line-height:1.65}
#locs{background:var(--ink);border-top:1px solid var(--edge)}
.lg{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3.5rem}
.lc{background:var(--glass);border:1px solid var(--edge);border-radius:var(--r);overflow:hidden;backdrop-filter:blur(12px);transition:border-color .3s;cursor:default}
.lc:hover{border-color:rgba(0,180,204,.22)}
.lb2{height:3px;background:linear-gradient(90deg,var(--cyan),var(--green))}
.lc:nth-child(2) .lb2{background:linear-gradient(90deg,var(--green),var(--amber))}
.lbd{padding:2.4rem}
.lbg{display:inline-flex;align-items:center;gap:.4rem;background:rgba(0,212,255,.06);border:1px solid rgba(0,212,255,.18);color:var(--cyan);font-family:var(--fm);font-size:.65rem;padding:.25rem .75rem;border-radius:30px;letter-spacing:.1em;margin-bottom:.9rem}
.lct{font-family:var(--fh);font-size:2.1rem;font-weight:800;line-height:1;letter-spacing:-.02em;margin-bottom:.35rem;background:linear-gradient(135deg,var(--white),var(--mist));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.lc:nth-child(2) .lct{background:linear-gradient(135deg,var(--steel-light),var(--mist));-webkit-background-clip:text;background-clip:text}
.ls{font-size:.84rem;color:var(--mist);font-weight:600;margin-bottom:1.4rem}
.lf{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.lf li{display:grid;grid-template-columns:auto 1fr;gap:.65rem;font-size:.84rem;color:var(--silver);line-height:1.5;align-items:baseline}
.lf li::before{content:'›';color:var(--cyan);font-size:1rem;line-height:1}
.lc:nth-child(2) .lf li::before{color:var(--green)}
.mf{margin-top:2.5rem;border-radius:var(--r);overflow:hidden;border:1px solid var(--edge);height:320px;background:var(--glass);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px)}
.mph{text-align:center;padding:2rem}
#testi{background:var(--navy);border-top:1px solid var(--edge)}
.tg{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem}
.tc2{background:var(--glass);border:1px solid var(--edge);border-radius:var(--r);padding:1.9rem;cursor:default;transition:all .35s;backdrop-filter:blur(12px);position:relative}
.tc2::before{content:'"';position:absolute;top:1.2rem;right:1.5rem;font-family:var(--fh);font-size:3.5rem;color:rgba(0,212,255,.1);line-height:1;pointer-events:none}
.tc2:hover{transform:translateY(-4px);border-color:rgba(0,180,204,.2);box-shadow:0 8px 32px rgba(5,8,12,.6)}
.tst{color:var(--amber);font-size:.78rem;letter-spacing:.06em;margin-bottom:.85rem}
.tq{font-size:.87rem;color:var(--mist);line-height:1.74;font-style:italic;margin-bottom:1.3rem}
.ta{display:flex;align-items:center;gap:.8rem}
.tav{width:40px;height:40px;background:linear-gradient(135deg,var(--cyan),#0080aa);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-size:.95rem;color:var(--ink);flex-shrink:0;font-weight:800}
.tnm{font-weight:700;font-size:.86rem;color:var(--white)}
.tco{font-size:.75rem;color:var(--silver);margin-top:.1rem}
.tind{font-family:var(--fm);font-size:.65rem;color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;margin-top:.1rem}
#contact{background:var(--navy);border-top:1px solid var(--edge)}
.cntg{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start}
.cinf{margin-top:2rem;display:flex;flex-direction:column;gap:1.1rem}
.cdt{display:flex;gap:.9rem;align-items:flex-start}
.cico{width:40px;height:40px;border-radius:var(--r2);background:rgba(0,212,255,.07);border:1px solid rgba(0,212,255,.18);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}
.clb{font-size:.68rem;font-weight:700;color:var(--silver);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.18rem}
.cvl{font-size:.9rem;color:var(--mist);font-weight:500}
.cvl a{color:var(--mist);transition:color .2s}
.cvl a:hover{color:var(--cyan)}
.cfc{background:var(--glass);border:1px solid var(--edge2);border-radius:var(--r);backdrop-filter:blur(20px);margin-top:2rem;overflow:hidden}
.cfbar{height:2px;background:linear-gradient(90deg,var(--cyan),var(--steel-blue),rgba(0,180,204,.4))}
.cfb{padding:2.2rem}
.cftit{font-family:var(--fh);font-weight:800;font-size:1.2rem;color:var(--white);margin-bottom:1.4rem;display:flex;align-items:center;gap:.6rem}
.cftit::before{content:'◈';color:var(--cyan)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.ff{margin-bottom:.9rem}
.ff label{display:block;font-size:.7rem;font-weight:700;color:var(--silver);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.42rem}
.ff input,.ff textarea,.ff select{width:100%;background:rgba(6,21,37,.8);border:1px solid rgba(255,255,255,.08);color:var(--white);padding:.68rem .95rem;font-family:var(--fb);font-size:.85rem;border-radius:var(--r2);outline:none;transition:border-color .2s,box-shadow .2s;resize:none;appearance:none}
.ff input:focus,.ff textarea:focus,.ff select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,212,255,.1)}
.ff textarea{min-height:100px}
.ff select{cursor:none}
.cfnote{font-size:.73rem;color:var(--silver);margin-top:.7rem;line-height:1.55}
.cfnote a{color:var(--cyan)}
.csub{width:100%;margin-top:.75rem;padding:.9rem;background:linear-gradient(135deg,var(--cyan),#009bbc);color:var(--ink);font-weight:700;font-size:.84rem;letter-spacing:.09em;text-transform:uppercase;border:none;border-radius:30px;cursor:none;transition:all .25s;box-shadow:0 6px 24px rgba(0,212,255,.3)}
.csub:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(0,212,255,.45)}
#backend{background:var(--navy);border-top:1px solid var(--edge);padding:4rem}
.pnote{background:rgba(0,229,160,.04);border:1px solid rgba(0,229,160,.15);border-radius:var(--r);padding:2rem;margin-top:1.2rem;max-width:1260px;margin-left:auto;margin-right:auto}
.pnote pre{font-family:var(--fm);font-size:.76rem;color:#a8ff78;line-height:1.75;overflow-x:auto;white-space:pre-wrap;word-break:break-all}
.kw{color:#ff79c6}.fn2{color:#50fa7b}.str{color:#f1fa8c}.cm{color:#6272a4}
footer{background:#0e1620;padding:4rem 4rem 2rem;border-top:2px solid transparent;border-image:linear-gradient(90deg,rgba(0,180,204,.5),rgba(74,127,165,.6),rgba(0,180,204,.3)) 1}
.fi{max-width:1260px;margin:0 auto}
.fg2{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid var(--edge)}
.flw{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.flw img{width:50px;height:50px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(0,212,255,.35);flex-shrink:0}
.fln{font-family:var(--fh);font-weight:800;font-size:1.2rem;color:var(--white)}
.fln em{color:var(--cyan);font-style:normal}
.fls{font-family:var(--fm);font-size:.58rem;color:var(--silver);letter-spacing:.12em}
.ftag{font-size:.82rem;color:var(--silver);line-height:1.65;max-width:290px;margin-bottom:1.2rem}
.fcc{display:flex;flex-direction:column;gap:.5rem}
.fcc a{font-size:.81rem;color:var(--silver);display:flex;align-items:center;gap:.4rem;transition:color .2s}
.fcc a:hover{color:var(--cyan)}
.fct{font-family:var(--fh);font-weight:800;font-size:.78rem;color:var(--cyan);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.1rem}
.fli{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.fli a{font-size:.8rem;color:var(--silver);transition:color .2s}
.fli a:hover{color:var(--cyan)}
.fbot{display:flex;justify-content:space-between;align-items:center;padding-top:1.8rem;flex-wrap:wrap;gap:1rem}
.fcpy,.fnap{font-size:.72rem;color:rgba(94,125,153,.5)}
#toast{position:fixed;bottom:2rem;right:2rem;background:rgba(22,29,39,.97);border:1px solid rgba(0,180,204,.3);backdrop-filter:blur(16px);color:var(--white);padding:.95rem 1.5rem;border-radius:var(--r2);font-weight:600;font-size:.84rem;z-index:9000;transform:translateY(5rem);transition:transform .4s cubic-bezier(.34,1.56,.64,1);opacity:0;pointer-events:none;box-shadow:0 8px 32px rgba(5,8,12,.6);display:flex;align-items:center;gap:.55rem;max-width:360px}
#toast.show{transform:translateY(0);opacity:1}
@media(max-width:1100px){.cg{grid-template-columns:1fr 1fr}.fg2{grid-template-columns:1fr 1fr}.wg{grid-template-columns:1fr 1fr}.tg{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
  #nav{padding:0 1.5rem}.nl{display:none}.nbg{display:flex}
  .sec{padding-left:1.5rem;padding-right:1.5rem}
  #hero{padding:7.5rem 1.5rem 4rem}
  .hi{grid-template-columns:1fr}.hv{display:none}
  .hh1{font-size:clamp(2.6rem,10vw,3.8rem)}.hkp{gap:2rem}
  .ag,.sb,.eg,.cntg{grid-template-columns:1fr}
  .sb.flip .si{order:unset}
  .sr{grid-template-columns:1fr 1fr}.cg{grid-template-columns:1fr}
  .ch{grid-template-columns:1fr}.pg{grid-template-columns:1fr 1fr}
  .wg{grid-template-columns:1fr}.lg{grid-template-columns:1fr}
  .tg{grid-template-columns:1fr}.frow{grid-template-columns:1fr}
  .fg2{grid-template-columns:1fr}
  footer,#backend{padding-left:1.5rem;padding-right:1.5rem}
}
@media(max-width:520px){.sr{grid-template-columns:1fr 1fr}.hbt{flex-direction:column;align-items:flex-start}.pg{grid-template-columns:1fr}.qg{grid-template-columns:1fr}}
/* ── CLIENT LOGO CAROUSEL ──────────────────────────────────────────────── */
#clients{
  background:var(--navy);
  border-top:1px solid var(--edge);
  border-bottom:1px solid var(--edge);
  padding:3.5rem 0;
  overflow:hidden;
}
.clhd{
  text-align:center;
  margin-bottom:2rem;
  padding:0 1.5rem;
}
.clsub{
  font-size:.88rem;
  color:var(--silver);
  margin-top:.45rem;
  font-family:var(--fb);
  letter-spacing:.04em;
}
.cl-track-wrap{
  position:relative;
  width:100%;
  overflow:hidden;
}
/* fade masks on edges */
.cl-fade{
  position:absolute;
  top:0;bottom:0;
  width:120px;
  z-index:2;
  pointer-events:none;
}
.cl-fade-l{background:linear-gradient(90deg,var(--navy),transparent)}
.cl-fade-r{right:0;background:linear-gradient(-90deg,var(--navy),transparent)}
.cl-track{
  display:flex;
  width:max-content;
  animation:clScroll 28s linear infinite;
}
.cl-track:hover{animation-play-state:paused}
@keyframes clScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.cl-row{
  display:flex;
  align-items:center;
  gap:1.2rem;
  padding:0 .6rem;
}
.cl-logo{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  height:72px;
  padding:0 1.6rem;
  background:var(--glass);
  border:1px solid var(--edge);
  border-radius:var(--r);
  backdrop-filter:blur(8px);
  transition:border-color .3s,background .3s,transform .3s,box-shadow .3s;
  cursor:default;
}
.cl-logo:hover{
  border-color:var(--edge2);
  background:var(--navy3);
  transform:translateY(-3px);
  box-shadow:var(--sy);
}
/* logos with dark/black backgrounds need a dark card */
.cl-logo--dark{
  background:#111;
  border-color:rgba(255,255,255,.08);
}
.cl-logo--dark:hover{background:#1a1a1a}
.cl-img{
  height:40px;
  width:auto;
  max-width:160px;
  object-fit:contain;
  display:block;
  filter:none;
  transition:opacity .3s,filter .3s;
}
/* slightly dim on dark cards in dark mode so they feel consistent */
.cl-logo:not(.cl-logo--dark) .cl-img{
  filter:brightness(.92) contrast(1.05);
}
.cl-logo:hover .cl-img{
  filter:brightness(1) contrast(1.08);
  opacity:1;
}
/* green plastik logo has sq background — add padding */
.cl-img--pad{
  height:44px;
  border-radius:6px;
}
/* Nilesh Plastic — text badge fallback (no logo provided) */
.cl-logo--svg{padding:0 2rem}
.cl-text-badge{
  font-family:var(--fb);
  font-weight:700;
  font-size:.85rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--mist);
  white-space:nowrap;
}
.cl-logo--svg:hover .cl-text-badge{color:var(--cyan)}
/* legacy .cl-text still works */
.cl-text{
  font-family:var(--fb);
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--mist);
  white-space:nowrap;
  transition:color .3s;
}
.cl-logo:hover .cl-text{color:var(--cyan)}

/* light mode overrides */
body.light-mode .cl-logo:not(.cl-logo--dark){background:rgba(255,255,255,.82);border-color:rgba(0,0,0,.09)}
body.light-mode .cl-logo:not(.cl-logo--dark):hover{border-color:rgba(213,94,0,.3);background:#fff}
body.light-mode .cl-logo:not(.cl-logo--dark) .cl-img{filter:brightness(1) contrast(1)}
body.light-mode .cl-text-badge{color:var(--silver)}
body.light-mode .cl-logo--svg:hover .cl-text-badge{color:var(--cyan)}

/* light mode overrides */
body.light-mode #clients{background:var(--navy);border-color:var(--edge)}
body.light-mode .cl-fade-l{background:linear-gradient(90deg,var(--navy),transparent)}
body.light-mode .cl-fade-r{background:linear-gradient(-90deg,var(--navy),transparent)}

/* ═══════════════════════════════════════════════════════════════════════════
   FULL MOBILE & PERFORMANCE OPTIMISATION
   Breakpoints: 1100px · 900px · 768px · 480px · 360px
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── GLOBAL TOUCH / TAP IMPROVEMENTS ─────────────────────────────────── */
@media (hover: none) {
  /* On touch devices restore pointer cursor so nothing looks broken */
  *{cursor:auto !important}
  .btn,.ftb,.csub,.cl,.cl-logo,.ccard,.tc2,.wc,.qual,.sbox,.sk,.ps,.mvs,.ep,.ncta{cursor:pointer !important}
  /* Remove hover transforms that feel glitchy on touch */
  .btn:hover,.btn-c:hover,.btn-o:hover,.btn-g:hover{transform:none !important;box-shadow:none !important}
  .ccard:hover{transform:none}
  .cl-logo:hover{transform:none}
}

/* ── TAP TARGET SIZING (min 44×44px per Apple/Google guidelines) ──────── */
.btn{min-height:44px;padding:.82rem 1.6rem}
.ftb{min-height:36px;display:inline-flex;align-items:center}
#mc{min-width:44px;min-height:44px}
.nbg{width:44px;height:44px}
#theme-toggle{width:48px;height:48px}

/* ── PREVENT HORIZONTAL OVERFLOW ─────────────────────────────────────── */
html,body{max-width:100%;overflow-x:hidden}
.wrap{width:100%;box-sizing:border-box}
pre{overflow-x:auto;white-space:pre;word-break:normal}
.pnote{overflow-x:auto}

/* ── FORM INPUTS — prevent iOS zoom (font-size must be ≥16px) ─────────── */
.ff input,.ff textarea,.ff select{font-size:16px}

/* ── IMAGES — always responsive ──────────────────────────────────────── */
img{max-width:100%;height:auto}

/* ── THEME TOGGLE — move up on mobile so it doesn't cover WhatsApp btn ─ */
@media(max-width:480px){
  #theme-toggle{bottom:1rem;right:1rem;width:42px;height:42px;font-size:1rem}
  #toast{bottom:5rem;right:1rem;left:1rem;max-width:100%;font-size:.8rem}
}

/* ══════════════════════════════════════════════════════════════════════════
   1100px — Large tablet / small laptop
   ══════════════════════════════════════════════════════════════════════════ */
@media(max-width:1100px){
  .sec{padding:5.5rem 2.5rem}
  #hero{padding:8rem 2.5rem 5rem}
  #backend{padding:3rem 2.5rem}
  .hh1{font-size:clamp(2.4rem,5vw,3.8rem)}
  .h2{font-size:clamp(1.7rem,3.5vw,2.5rem)}
  /* estimator grid */
  .eg{grid-template-columns:1fr !important}
}

/* ══════════════════════════════════════════════════════════════════════════
   900px — Tablet portrait / large phone landscape
   ══════════════════════════════════════════════════════════════════════════ */
@media(max-width:900px){
  /* ── Sections ── */
  .sec{padding:4.5rem 1.5rem}
  #hero{padding:7rem 1.5rem 4rem}
  #backend{padding:3rem 1.5rem}
  .wrap{padding-left:0;padding-right:0}

  /* ── Hero ── */
  .hi{grid-template-columns:1fr;gap:2.5rem}
  .hv{display:none}
  .hh1{font-size:clamp(2.2rem,8vw,3.2rem);line-height:1.05}
  .hh1 small{font-size:.42em}
  .hp{font-size:.93rem;max-width:100%}
  .hbt{flex-direction:column;align-items:flex-start;gap:.75rem}
  .hbt .btn{width:100%;justify-content:center}
  .hkp{gap:1.6rem;flex-wrap:wrap}
  .kn{font-size:2rem}
  .hey{font-size:.66rem}

  /* ── Nav ── */
  #nav{padding:0 1.25rem}
  .nl{display:none}
  .nbg{display:flex}
  .nbn{font-size:.9rem}
  .nbs{font-size:.68rem}

  /* ── Stats ── */
  .sr{grid-template-columns:1fr 1fr;gap:1rem}
  .sbn{font-size:2.4rem}

  /* ── About ── */
  .ag{grid-template-columns:1fr;gap:2rem}
  .abp{font-size:.9rem}

  /* ── Products ── */
  .cg{grid-template-columns:1fr 1fr}
  .ccard{border-radius:10px}

  /* ── Specs ── */
  .sb{grid-template-columns:1fr !important}
  .sb.flip .si{order:unset !important}
  .si img,.siw img{max-height:260px;object-fit:cover}

  /* ── Process ── */
  .pg{grid-template-columns:1fr 1fr;gap:1rem}

  /* ── Estimator ── */
  .eg{grid-template-columns:1fr !important}
  .ep{flex-direction:column;gap:.6rem}
  .epnl{margin-top:1.5rem}

  /* ── Why Us ── */
  .wg{grid-template-columns:1fr 1fr}

  /* ── Locations ── */
  .lg{grid-template-columns:1fr;gap:1rem}

  /* ── Testimonials ── */
  .tg{grid-template-columns:1fr 1fr}

  /* ── Contact ── */
  .cntg{grid-template-columns:1fr !important;gap:2rem}
  .frow{grid-template-columns:1fr 1fr}

  /* ── Footer ── */
  .frow{grid-template-columns:1fr}
  footer{padding:3rem 1.5rem}
  .fg2{grid-template-columns:1fr 1fr}
  .fct{margin-top:1.5rem}
}

/* ══════════════════════════════════════════════════════════════════════════
   768px — Tablet portrait
   ══════════════════════════════════════════════════════════════════════════ */
@media(max-width:768px){
  /* ── Typography scale ── */
  .h2{font-size:clamp(1.5rem,6vw,2rem)}
  .sub{font-size:.88rem;max-width:100%}
  .chip{font-size:.65rem}

  /* ── Products — single column ── */
  .cg{grid-template-columns:1fr}

  /* ── Process — single column ── */
  .pg{grid-template-columns:1fr}

  /* ── Why Us — single column ── */
  .wg{grid-template-columns:1fr}

  /* ── Testimonials — single column ── */
  .tg{grid-template-columns:1fr}

  /* ── Footer ── */
  .fg2{grid-template-columns:1fr}
  .fli{columns:2;gap:.5rem}

  /* ── Qual grid ── */
  .qg{grid-template-columns:1fr}

  /* ── Contact form ── */
  .frow{grid-template-columns:1fr}
  .cfb{padding:1.5rem}

  /* ── Backend code block ── */
  #backend{display:none} /* hide dev section on mobile — not relevant for end users */

  /* ── Carousel logos ── */
  .cl-img{height:32px}
  .cl-logo{height:60px;padding:0 1.1rem}
  .cl-fade{width:60px}
}

/* ══════════════════════════════════════════════════════════════════════════
   480px — Phone landscape / large phone portrait
   ══════════════════════════════════════════════════════════════════════════ */
@media(max-width:480px){
  /* ── Sections ── */
  .sec{padding:3.5rem 1rem}
  #hero{padding:6rem 1rem 3rem}

  /* ── Hero ── */
  .hh1{font-size:clamp(2rem,9vw,2.8rem)}
  .hkp{gap:1.2rem}
  .kn{font-size:1.75rem}
  .kl{font-size:.72rem}

  /* ── Ticker ── */
  .ticker{padding:.55rem 0}
  .ti{font-size:.7rem}

  /* ── Stats ── */
  .sr{grid-template-columns:1fr 1fr}
  .sbox{padding:1.4rem 1rem}
  .sbi{font-size:1.6rem}
  .sbn{font-size:2rem}
  .sbl{font-size:.72rem}

  /* ── About ── */
  .qual{padding:1rem}
  .qg{grid-template-columns:1fr}
  .mvs{padding:1rem 1.2rem}

  /* ── Products ── */
  .ci{height:160px}
  .ct{font-size:.95rem}
  .cd{font-size:.8rem}

  /* ── Process steps ── */
  .ps{padding:1.2rem 1.4rem}
  .pt{font-size:.9rem}
  .pd{font-size:.78rem}

  /* ── Estimator ── */
  .ept{font-size:.88rem}
  .epi{padding:1.2rem}
  .ep{font-size:.82rem}
  .ftr{gap:.35rem}
  .ftb{font-size:.72rem;padding:.38rem .75rem}

  /* ── Why Us ── */
  .wc{padding:1.2rem}
  .wt{font-size:.9rem}
  .wd{font-size:.8rem}

  /* ── Testimonials ── */
  .tc2{padding:1.2rem}
  .tq{font-size:.84rem}

  /* ── Contact ── */
  .cdt{gap:.6rem}
  .clb{font-size:.72rem}
  .cvl{font-size:.82rem}
  .cico{font-size:1rem}
  .cinf{gap:.85rem}

  /* ── Footer ── */
  .fli{columns:1}
  .fcpy,.fnap{font-size:.68rem}
  .fcc{flex-direction:column;gap:.5rem}
  .flw img{width:32px;height:32px}
  .fln{font-size:1rem}

  /* ── Mobile menu ── */
  #mm a{font-size:1.1rem;padding:.9rem 0}
  #mc{font-size:1.3rem}

  /* ── Carousel ── */
  .cl-img{height:28px}
  .cl-logo{height:54px;padding:0 .85rem}
  .cl-row{gap:.7rem}
  .cl-fade{width:40px}
  .clsub{font-size:.8rem}
}

/* ══════════════════════════════════════════════════════════════════════════
   360px — Small phones (Galaxy A, iPhone SE)
   ══════════════════════════════════════════════════════════════════════════ */
@media(max-width:360px){
  .sec{padding:3rem .85rem}
  #hero{padding:5.5rem .85rem 2.5rem}
  .hh1{font-size:clamp(1.8rem,10vw,2.4rem)}
  .hbt .btn{font-size:.75rem;padding:.75rem 1.2rem}
  .sr{grid-template-columns:1fr 1fr}
  .kn{font-size:1.55rem}
  .h2{font-size:clamp(1.4rem,7vw,1.8rem)}
  .nbn{font-size:.82rem}
  .nbs{display:none}
  .ccard{border-radius:8px}
  .cfb{padding:1.1rem}
  .ff input,.ff textarea,.ff select{padding:.62rem .8rem}
}

/* ── PERFORMANCE: reduce motion for users who prefer it ─────────────────── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .cl-track{animation:none}
  html{scroll-behavior:auto}
}

/* ── PRINT ───────────────────────────────────────────────────────────────── */
@media print{
  #nav,#mm,#cd,#cr,.ticker,#clients,#theme-toggle,#toast,.nbg,.btn-o,.btn-g,.hv{display:none !important}
  body{background:#fff;color:#000}
  .sec{padding:2rem 1rem}
  .h2,.hh1{color:#000}
  a{color:#000;text-decoration:underline}
}

/* ── WHATSAPP FLOATING BUTTON ───────────────────────────────────────────── */
.wa-fab{
  position:fixed;
  bottom:5.5rem;
  right:1.5rem;
  width:52px;height:52px;
  background:#25d366;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  z-index:8500;
  box-shadow:0 4px 20px rgba(37,211,102,.45),0 2px 8px rgba(0,0,0,.3);
  transition:transform .25s,box-shadow .25s;
  cursor:pointer;
}
.wa-fab svg{width:28px;height:28px;color:#fff}
.wa-fab:hover{transform:scale(1.1);box-shadow:0 8px 28px rgba(37,211,102,.6)}

@media(max-width:480px){
  .wa-fab{bottom:4.5rem;right:1rem;width:46px;height:46px}
  .wa-fab svg{width:24px;height:24px}
  #theme-toggle{bottom:1rem}
}

/* ── MAP SECTION ────────────────────────────────────────────────────────── */
.map-wrap{
  margin-top:2.5rem;
  border:1px solid var(--edge2);
  border-radius:var(--r);
  overflow:hidden;
  box-shadow:var(--sc);
}
.map-bar{
  background:var(--glass);
  backdrop-filter:blur(16px);
  border-top:1px solid var(--edge2);
  padding:1.1rem 1.4rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.map-info{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-shrink:0;
}
.map-pin{font-size:1.4rem;line-height:1}
.map-name{
  font-family:var(--fh);
  font-weight:800;
  font-size:.88rem;
  color:var(--cyan);
  letter-spacing:.06em;
}
.map-addr{
  font-size:.75rem;
  color:var(--silver);
  margin-top:.15rem;
}
.map-btns{
  display:flex;
  gap:.55rem;
  flex-wrap:wrap;
}
/* light mode */
body.light-mode .map-wrap{border-color:rgba(213,94,0,.25)}
body.light-mode .map-bar{background:rgba(255,255,255,.88);border-top-color:rgba(213,94,0,.2)}
body.light-mode .map-name{color:var(--cyan)}
body.light-mode .map-addr{color:var(--silver)}

/* mobile */
@media(max-width:600px){
  .map-bar{flex-direction:column;align-items:flex-start;padding:1rem}
  .map-btns{width:100%}
  .map-btns .btn{flex:1;justify-content:center;font-size:.7rem !important;padding:.5rem .6rem !important}
  .map-wrap iframe{height:260px}
}