:root {
  --orange:        #ff7300;
  --orange-dk:     #e06200;
  --orange-glow:   rgba(255,115,0,0.10);
  --orange-border: rgba(255,115,0,0.22);
  --navy:          #030810;
  --navy-2:        #081424;
  --navy-3:        #122040;
  --white:         #ffffff;
  --text:          #1a2536;
  --muted:         #6b7a96;
  --surface:       #f4f6f9;
  --border:        rgba(0,0,0,0.07);
  --sh-xs:  0 1px 4px rgba(0,0,0,.05);
  --sh-sm:  0 2px 10px rgba(0,0,0,.07);
  --sh-md:  0 8px 30px rgba(0,0,0,.10);
  --sh-lg:  0 20px 64px rgba(0,0,0,.14);
  --sh-xl:  0 32px 80px rgba(0,0,0,.18);
  --r:      16px;
  --r-sm:   8px;
  --r-pill: 100px;
}

/*──────────────────────────────────────────
  RESET & BASE
──────────────────────────────────────────*/
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Inter', system-ui, sans-serif;
  line-height:1.7; color:var(--text); background:#fff;
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"ss01","cv01";
}
img { display:block; max-width:100%; }
.container { width:90%; max-width:1200px; margin:0 auto; }

/*──────────────────────────────────────────
  HEADER
──────────────────────────────────────────*/
header {
  position:fixed; top:0; left:0; width:100%;
  z-index:1000; padding:0; overflow:visible;
  transition:background .45s cubic-bezier(.4,0,.2,1),
             height .45s cubic-bezier(.4,0,.2,1),
             box-shadow .45s ease;
}
.header-transparent { height:100px; background:transparent; box-shadow:none; }
.header-scrolled {
  height:70px;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:0 1px 0 rgba(0,0,0,.06), 0 4px 20px rgba(0,0,0,.06);
}
.nav-container {
  display:flex; justify-content:space-between; align-items:center;
  height:100%; overflow:visible;
}
.logo { display:flex; align-items:center; height:100%; width:280px; overflow:visible; }
.site-logo {
  height:240px; width:auto; max-width:none; object-fit:contain;
  pointer-events:none; transform:translateY(26px);
  transition:height .4s ease, transform .4s ease;
}
.header-scrolled .site-logo { height:200px; transform:translateY(18px); }
.logo-white,.logo-dark { display:none; }
.header-transparent .logo-white { display:block; }
.header-scrolled    .logo-dark  { display:block; }

nav ul { display:flex; gap:2.2rem; list-style:none; }
nav a {
  font-weight:500; font-size:.875rem; text-decoration:none;
  letter-spacing:.03em; position:relative; transition:color .3s;
}
nav a::after {
  content:''; position:absolute; bottom:-5px; left:0;
  width:0; height:2px; border-radius:2px; background:var(--orange);
  transition:width .3s cubic-bezier(.4,0,.2,1);
}
nav a:hover::after, nav a.active::after { width:100%; }
.header-transparent nav a { color:rgba(255,255,255,.85); }
.header-scrolled    nav a { color:var(--text); }
nav a:hover, nav a.active { color:var(--orange); }

/*──────────────────────────────────────────
  HERO
──────────────────────────────────────────*/
.hero {
  background:var(--navy);
  min-height:100vh;
  display:flex; align-items:center;
  position:relative; overflow:hidden;
  padding-top:100px;
}

/* ── Scanline texture (premium tech detail) */
.hero::before {
  content:''; position:absolute; inset:0;
  background:repeating-linear-gradient(
    0deg,
    transparent,
    transparent 3px,
    rgba(255,255,255,.012) 3px,
    rgba(255,255,255,.012) 4px
  );
  pointer-events:none; z-index:3;
}

/* ── Edge vignette (focus on content) */
.hero::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 80% 70% at 38% 50%, transparent 45%, rgba(3,8,16,.65) 100%);
  pointer-events:none; z-index:4;
}

/* ── Dot grid */
.hero-grid {
  position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,115,0,0.10) 1px, transparent 1px);
  background-size:28px 28px;
  animation:gridDrift 28s linear infinite;
  opacity:.55;
}
@keyframes gridDrift { to { transform:translateY(28px); } }

/* ── Ambient orbs */
.hero-orb { position:absolute; border-radius:50%; pointer-events:none; }
.hero-orb--a {
  width:700px; height:700px;
  background:radial-gradient(circle,rgba(255,100,0,.16) 0%,rgba(255,60,0,.07) 45%,transparent 70%);
  top:-220px; right:-120px;
  animation:orbDrift 14s ease-in-out infinite;
}
.hero-orb--b {
  width:560px; height:560px;
  background:radial-gradient(circle,rgba(20,55,220,.18) 0%,rgba(10,25,140,.08) 45%,transparent 70%);
  bottom:-180px; left:-90px;
  animation:orbDrift 18s ease-in-out infinite reverse;
}
.hero-orb--c {
  width:300px; height:300px;
  background:radial-gradient(circle,rgba(255,115,0,.06) 0%,transparent 68%);
  top:42%; left:38%;
  animation:orbDrift 11s ease-in-out infinite;
  animation-delay:-5s;
}
@keyframes orbDrift {
  0%,100% { transform:translateY(0) scale(1); }
  50%      { transform:translateY(-44px) scale(1.07); }
}

/* ── SVG geometric shapes */
.hero-geo {
  position:absolute; inset:0; width:100%; height:100%;
  pointer-events:none; z-index:2;
}
.hex-main  { animation:geoSpin 55s linear infinite; transform-origin:1340px 140px; }
.hex-inner { animation:geoSpin 55s linear infinite reverse; transform-origin:1340px 140px; }
.hex-bl    { animation:geoFloat  9s ease-in-out infinite; animation-delay:-1s; }
.hex-sm    { animation:geoFloat  6s ease-in-out infinite reverse; animation-delay:-2s; }
.tri-tl    { animation:geoPulse  5s ease-in-out infinite; }
.tri-br    { animation:geoPulse  7s ease-in-out infinite reverse; }
.diamond-ml{ animation:geoFloat  8s ease-in-out infinite; animation-delay:-3s; }
.tri-sm-1  { animation:geoPulse  4s ease-in-out infinite; animation-delay:-1s; }
.tri-sm-2  { animation:geoPulse  4s ease-in-out infinite; animation-delay:-2.5s; }
.rect-scatter { animation:geoSpin 32s linear infinite; transform-origin:525px 625px; }
.dot-1  { animation:dotBlink 3s ease-in-out infinite; }
.dot-2  { animation:dotBlink 4s ease-in-out infinite; animation-delay:-1s; }
.dot-3  { animation:dotBlink 2.5s ease-in-out infinite; animation-delay:-.5s; }
.dot-4  { animation:dotBlink 3.5s ease-in-out infinite; animation-delay:-2s; }
.dot-5  { animation:dotBlink 3s ease-in-out infinite; animation-delay:-1.5s; }
.line-1,.line-2,.line-3 { animation:geoPulse 7s ease-in-out infinite; }

@keyframes geoSpin  { to { transform:rotate(360deg); } }
@keyframes geoFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-18px)} }
@keyframes geoPulse { 0%,100%{opacity:.5} 50%{opacity:.9} }
@keyframes dotBlink { 0%,100%{opacity:.25;transform:scale(.7)} 50%{opacity:1;transform:scale(1.3)} }

/* ── Hero layout */
.hero-container {
  display:flex; justify-content:space-between; align-items:center;
  gap:72px; position:relative; z-index:10;
}
.hero-content { flex:1.4; color:#fff; }

/* ── Badge */
.hero-badge {
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(255,115,0,.07);
  border:1px solid rgba(255,115,0,.20);
  box-shadow:0 0 24px rgba(255,115,0,.06), inset 0 1px 0 rgba(255,255,255,.04);
  color:rgba(255,255,255,.78);
  padding:9px 20px; border-radius:var(--r-pill);
  font-size:.76rem; font-weight:500; letter-spacing:.06em;
  margin-bottom:32px;
  animation:fadeUp .8s ease both;
}
.badge-pulse {
  width:7px; height:7px; background:var(--orange);
  border-radius:50%;
  box-shadow:0 0 6px rgba(255,115,0,.8);
  animation:pulseDot 2s ease-in-out infinite;
}
@keyframes pulseDot {
  0%,100% { box-shadow:0 0 0 0 rgba(255,115,0,.6); }
  50%      { box-shadow:0 0 0 8px rgba(255,115,0,0); }
}

/* ── Headline */
.hero-content h1 {
  font-size:clamp(2.6rem,5.5vw,5rem);
  font-weight:900; line-height:1.05; letter-spacing:-.04em;
  color:#fff; margin-bottom:28px;
  animation:fadeUp .9s .1s ease both;
}
.hero-accent {
  background:linear-gradient(112deg,#ff7300 10%,#ffc46b 90%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}

/* ── Subtitle with decorative rule */
.hero-sub {
  font-size:1.05rem; color:rgba(255,255,255,.50);
  max-width:480px; line-height:1.92; margin-bottom:40px;
  position:relative; padding-top:22px;
  animation:fadeUp .9s .2s ease both;
}
.hero-sub::before {
  content:''; position:absolute; top:0; left:0;
  width:52px; height:2px; border-radius:2px;
  background:linear-gradient(90deg, var(--orange), transparent);
}

/* ── CTAs */
.hero-ctas {
  display:flex; gap:14px; align-items:center;
  margin-bottom:48px;
  animation:fadeUp .9s .3s ease both;
}
.btn-primary {
  background:var(--orange); color:#fff;
  padding:14px 30px; border-radius:var(--r-pill);
  display:inline-flex; align-items:center; gap:8px;
  font-weight:600; font-size:.92rem; text-decoration:none;
  transition:all .3s ease;
  box-shadow:0 4px 22px rgba(255,115,0,.40);
}
.btn-primary:hover {
  background:var(--orange-dk); transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(255,115,0,.55);
}
.btn-ghost {
  color:rgba(255,255,255,.68); text-decoration:none;
  font-weight:500; font-size:.92rem;
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 22px; border-radius:var(--r-pill);
  border:1px solid rgba(255,255,255,.10);
  transition:all .3s;
}
.btn-ghost:hover {
  color:var(--orange); gap:12px;
  border-color:rgba(255,115,0,.25);
  background:rgba(255,115,0,.05);
}

/* ── Stats — glass card */
.hero-stats {
  display:inline-flex; align-items:center; gap:0;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r);
  padding:16px 0;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  animation:fadeUp .9s .4s ease both;
}
.stat { text-align:center; padding:0 28px; }
.stat strong {
  display:block; font-size:1.85rem; font-weight:800;
  color:var(--orange); line-height:1; letter-spacing:-.02em;
}
.stat span {
  display:block; font-size:.67rem;
  color:rgba(255,255,255,.34);
  text-transform:uppercase; letter-spacing:.13em; margin-top:5px;
}
.stat-sep { width:1px; height:36px; background:rgba(255,255,255,.08); flex-shrink:0; }

/* ── Hero visual — glass card */
.hero-visual {
  flex:1; display:flex; justify-content:center; align-items:center;
  animation:fadeUp .9s .15s ease both;
}
.hero-ring-wrap {
  position:relative;
  width:460px; height:400px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.01) 100%);
  border:1px solid rgba(255,255,255,.08);
  border-top:1px solid rgba(255,255,255,.13);
  border-radius:28px;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:
    0 40px 80px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.07),
    0 0 0 1px rgba(255,255,255,.02);
  overflow:hidden;
}

/* Top orange accent line on card */
.hero-ring-wrap::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent 5%, rgba(255,115,0,.55) 40%, rgba(255,115,0,.55) 60%, transparent 95%);
  animation:none;
}

/* Corner bracket — bottom-left */
.hero-ring-wrap::after {
  content:''; position:absolute;
  bottom:18px; left:18px;
  width:28px; height:28px;
  border-left:2px solid rgba(255,115,0,.35);
  border-bottom:2px solid rgba(255,115,0,.35);
  border-radius:0 0 0 6px;
  animation:none;
}

/* Ambient floor glow inside card */
.hero-glow {
  position:absolute; bottom:-30px; left:50%;
  transform:translateX(-50%);
  width:280px; height:200px;
  background:radial-gradient(ellipse, rgba(255,115,0,.14) 0%, transparent 65%);
  border-radius:50%;
  pointer-events:none;
}

.hero-large-logo {
  width:300px; height:auto; position:relative; z-index:2;
  filter:
    drop-shadow(0 0 28px rgba(255,115,0,.22))
    drop-shadow(0 20px 44px rgba(0,0,0,.50));
  animation:logoFloat 7s ease-in-out infinite;
}
@keyframes logoFloat {
  0%,100% { transform:translateY(0); }
  50%      { transform:translateY(-14px); }
}

/* ── Scroll cue */
.hero-scroll {
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px; z-index:10;
}
.scroll-bar {
  width:1px; height:44px;
  background:linear-gradient(to bottom, transparent, rgba(255,115,0,.55));
  animation:scrollAnim 2.2s ease-in-out infinite;
}
@keyframes scrollAnim {
  0%,100% { opacity:.3; transform:scaleY(.5); }
  50%      { opacity:1;  transform:scaleY(1); }
}
.hero-scroll span {
  font-size:.63rem; color:rgba(255,255,255,.24);
  letter-spacing:.22em; text-transform:uppercase;
}

@keyframes fadeUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }

/*──────────────────────────────────────────
  SECTIONS — SHARED
──────────────────────────────────────────*/
section { padding:112px 0; }
.bg-light { background:var(--surface); }

.section-label {
  display:block; font-size:.70rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--orange); margin-bottom:12px;
}
.section-title {
  text-align:center; margin-bottom:68px;
  display:flex; flex-direction:column; align-items:center;
}
.section-title h2 {
  font-size:clamp(1.9rem,3vw,2.6rem); font-weight:800;
  color:var(--text); letter-spacing:-.03em;
  position:relative; padding-bottom:18px; margin-bottom:14px;
  display:inline-block;
}
.section-title h2::after {
  content:''; position:absolute; bottom:0; left:50%;
  transform:translateX(-50%);
  width:38px; height:3px; background:var(--orange); border-radius:2px;
}
.section-sub {
  font-size:1rem; color:var(--muted); max-width:560px; line-height:1.80;
}

/*──────────────────────────────────────────
  ABOUT
──────────────────────────────────────────*/
.about-wrap {
  display:flex; align-items:center; gap:80px; flex-wrap:wrap;
}
.about-carousel-column {
  flex:1; min-width:320px; display:flex; justify-content:center;
}
.about-text-column { flex:1.2; min-width:300px; }
.about-heading {
  font-size:clamp(1.7rem,2.5vw,2.2rem); font-weight:800;
  color:var(--text); line-height:1.14; letter-spacing:-.025em; margin-bottom:16px;
}
.about-intro { color:var(--muted); font-size:1rem; line-height:1.85; }

/* Carousel */
.promo-carousel-v2 {
  position:relative; width:100%; max-width:510px; height:375px;
  border-radius:var(--r); overflow:hidden;
  box-shadow:var(--sh-xl), 0 0 0 1px rgba(0,0,0,.06);
  background:linear-gradient(145deg,var(--navy-2) 0%,var(--navy-3) 100%);
}
.promo-slides { width:100%; height:100%; }
.promo-item {
  position:absolute; inset:0; opacity:0; transition:opacity .9s ease;
  display:flex; align-items:center; justify-content:center;
  padding:36px 36px 86px; z-index:1;
}
.promo-item.active { opacity:1; z-index:2; }
.promo-item img {
  max-width:100%; max-height:100%; object-fit:contain;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.55));
}
.promo-overlay {
  position:absolute; bottom:0; left:0; right:0;
  background:rgba(3,8,16,.94); backdrop-filter:blur(12px);
  border-top:1px solid rgba(255,115,0,.14);
  color:#fff; padding:18px 24px; text-align:center; z-index:10;
}
.promo-title { font-weight:700; font-size:.97rem; margin-bottom:4px; }
.promo-desc  { font-size:.82rem; color:rgba(255,255,255,.52); }

.carousel-nav {
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(255,255,255,.06); backdrop-filter:blur(6px);
  color:#fff; border:1px solid rgba(255,255,255,.12);
  width:38px; height:38px; border-radius:50%; cursor:pointer;
  z-index:20; font-size:.85rem;
  display:flex; align-items:center; justify-content:center; transition:all .3s;
}
.carousel-nav:hover {
  background:var(--orange); border-color:var(--orange);
  transform:translateY(-50%) scale(1.1);
}
.carousel-nav.prev { left:12px; }
.carousel-nav.next { right:12px; }

/* Feature list */
.feature-list {
  list-style:none; margin:26px 0 32px;
  display:flex; flex-direction:column; gap:20px;
}
.feature-list li { display:flex; align-items:flex-start; gap:14px; }
.feat-icon {
  width:32px; height:32px; flex-shrink:0;
  background:var(--orange-glow); border-radius:var(--r-sm);
  display:flex; align-items:center; justify-content:center;
  color:var(--orange); font-size:.74rem; margin-top:2px; transition:all .3s;
}
.feature-list li:hover .feat-icon { background:var(--orange); color:#fff; }
.feature-list strong {
  display:block; font-size:.92rem; font-weight:700;
  color:var(--text); margin-bottom:2px;
}
.feature-list p { font-size:.85rem; color:var(--muted); margin:0; line-height:1.55; }

/*──────────────────────────────────────────
  SERVICES
──────────────────────────────────────────*/
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

.service-card {
  display:flex; flex-direction:column; align-items:flex-start;
  padding:36px 28px 28px; background:#fff;
  border-radius:var(--r); border:1px solid var(--border);
  box-shadow:var(--sh-sm); position:relative; overflow:hidden;
  transition:all .4s cubic-bezier(.4,0,.2,1);
}
.service-card::before {
  content:attr(data-num);
  position:absolute; top:12px; right:18px;
  font-size:5rem; font-weight:900; line-height:1;
  color:rgba(0,0,0,.035); pointer-events:none; transition:color .4s;
  letter-spacing:-.05em;
}
.service-card::after {
  content:''; position:absolute; bottom:0; left:0;
  width:100%; height:3px; background:var(--orange);
  transform:scaleX(0); transform-origin:left; transition:transform .4s ease;
}
.service-card:hover::after { transform:scaleX(1); }

.svc-icon {
  width:52px; height:52px; background:var(--orange-glow);
  border-radius:var(--r-sm); display:flex; align-items:center;
  justify-content:center; font-size:1.3rem; color:var(--orange);
  margin-bottom:20px; transition:all .4s;
}
.service-card h3 {
  font-size:.97rem; font-weight:700; color:var(--text);
  margin-bottom:10px; transition:color .3s;
}
.service-card > p {
  font-size:.88rem; color:var(--muted); line-height:1.65;
  flex:1; margin-bottom:24px;
}
.btn-service {
  padding:9px 18px; border:1.5px solid var(--orange-border);
  color:var(--orange); background:transparent;
  text-decoration:none; font-weight:600; font-size:.82rem;
  border-radius:var(--r-pill);
  display:inline-flex; align-items:center; gap:6px; transition:all .3s;
}
.btn-service i { font-size:.7rem; transition:transform .3s; }
.btn-service:hover i { transform:translateX(3px); }

.service-card:hover {
  transform:translateY(-7px);
  box-shadow:var(--sh-xl); border-color:transparent;
  background:var(--navy-2);
}
.service-card:hover::before { color:rgba(255,255,255,.04); }
.service-card:hover .svc-icon   { background:rgba(255,115,0,.18); }
.service-card:hover h3           { color:#fff; }
.service-card:hover > p          { color:rgba(255,255,255,.52); }
.service-card:hover .btn-service { border-color:rgba(255,255,255,.28); color:#fff; }
.service-card:hover .btn-service:hover { background:#fff; color:var(--navy-2); border-color:#fff; }

/*──────────────────────────────────────────
  PARTNERS
──────────────────────────────────────────*/
.partners-section { padding:88px 0; background:#fff; }
.partners-grid {
  display:flex; justify-content:center; align-items:stretch;
  gap:18px; flex-wrap:wrap;
}
.partner-logo {
  flex:0 0 186px; height:110px;
  display:flex; justify-content:center; align-items:center;
  padding:20px; border-radius:var(--r);
  border:1px solid var(--border);
  transition:all .35s ease;
}
.partner-logo:hover {
  transform:translateY(-5px); box-shadow:var(--sh-md);
  border-color:var(--orange-border);
}
.partner-logo img {
  width:100%; height:100%;
  max-width:140px; max-height:50px; object-fit:contain;
}

/*──────────────────────────────────────────
  CONTACT
──────────────────────────────────────────*/
.contact-section { padding:112px 0; background:var(--surface); }
.contact-layout  { display:flex; flex-direction:column; align-items:center; gap:44px; }
.contact-cards   {
  display:flex; gap:20px; width:100%;
  max-width:680px; flex-wrap:wrap; justify-content:center;
}
.info-card {
  flex:1; min-width:240px; background:#fff;
  border-radius:var(--r); padding:36px 28px 32px; text-align:center;
  box-shadow:var(--sh-sm); border:1px solid var(--border);
  transition:all .35s ease;
}
.info-card:hover { box-shadow:var(--sh-md); transform:translateY(-5px); }
.info-icon {
  width:56px; height:56px; margin:0 auto 18px;
  background:var(--orange-glow); border-radius:var(--r-sm);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; color:var(--orange); transition:all .35s;
}
.info-card:hover .info-icon { background:var(--orange); color:#fff; }
.info-card h4 { color:var(--text); font-size:1rem; font-weight:700; margin-bottom:8px; }
.info-card p  { font-size:.93rem; color:var(--muted); }
.contact-map {
  width:100%; max-width:1100px; height:440px;
  border-radius:var(--r); overflow:hidden;
  box-shadow:var(--sh-md); border:1px solid var(--border);
}

/*──────────────────────────────────────────
  FOOTER
──────────────────────────────────────────*/
.footer-accent-bar { display:none; }

footer { background:var(--navy); color:rgba(255,255,255,.48); padding:64px 0 24px; }
.footer-cols {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:36px; margin-bottom:44px; padding-bottom:44px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.footer-cols h4 {
  color:#fff; font-size:.8rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.12em; margin-bottom:14px;
}
.footer-cols p { font-size:.88rem; line-height:1.80; }
.footer-copy { text-align:center; font-size:.75rem; color:rgba(255,255,255,.18); }

/*──────────────────────────────────────────
  RESPONSIVE
──────────────────────────────────────────*/
@media (max-width:992px) {
  .hero-container { flex-direction:column; gap:44px; text-align:center; }
  .hero-content    { order:2; }
  .hero-visual     { order:1; }
  .hero-ctas, .hero-stats { justify-content:center; }
  .hero-sub, .hero-badge  { margin-inline:auto; }
  .hero-badge  { margin-bottom:22px; }
  .hero-sub    { margin-bottom:32px; padding-top:20px; }
  .hero-sub::before { left:50%; transform:translateX(-50%); }
  .hero-ring-wrap  { width:320px; height:280px; }
  .hero-large-logo { width:220px; }
  .about-wrap { flex-direction:column; gap:44px; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
  nav ul { display:none; }
  .promo-carousel-v2 { height:260px; }
  .contact-map { height:300px; }
  section { padding:80px 0; }
}
@media (max-width:600px) {
  .services-grid { grid-template-columns:1fr; }
  .hero-stats  { flex-direction:column; gap:0; border-radius:var(--r); }
  .stat        { padding:14px 28px; }
  .stat-sep    { width:80%; height:1px; }
}