/* ═══════════════════════════════════════════════════════════
   DIDIM WEB TASARIM — "Didyma" design system
   Palette
   --ink        #04060a  obsidian base (matches logo bg)
   --deep       #0a111c  deep aegean panel
   --steel      #8fc6ff  logo steel-blue (accents)
   --azure      #2f6fd6  saturated logo blue
   --silver     #dbe4ee  cold marble text
   --mist       #7c8aa0  muted body text
   Type: Cinzel (lapidary display) + Manrope (body)
   ═══════════════════════════════════════════════════════════ */

:root{
  --ink:#04060a;
  --deep:#0a111c;
  --deep-2:#0d1522;
  --steel:#8fc6ff;
  --azure:#2f6fd6;
  --silver:#dbe4ee;
  --mist:#8b99ae;
  --mist-2:#5d6b80;
  --line:rgba(143,198,255,.12);
  --line-soft:rgba(143,198,255,.07);
  --font-d:'Cinzel',serif;
  --font-b:'Manrope',system-ui,sans-serif;
  --max:1180px;
  --r:18px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-b);
  background:var(--ink);
  color:var(--silver);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
::selection{background:rgba(47,111,214,.4);color:#fff}

body::before{
  content:"";position:fixed;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(1000px 520px at 50% -140px, rgba(47,111,214,.14), transparent 65%),
    radial-gradient(800px 600px at 85% 110%, rgba(47,111,214,.06), transparent 60%);
}

/* ─── 3D canvas ─── */
#scene{
  position:fixed;inset:0;width:100%;height:100%;
  z-index:0;pointer-events:none;
}

main,nav,footer,.wa-float{position:relative;z-index:2}

/* ═══ PRELOADER ═══ */
.preloader{
  position:fixed;inset:0;z-index:100;
  background:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
  transition:opacity .6s ease,visibility .6s;
}
.preloader.done{opacity:0;visibility:hidden}
.preloader__mark{width:96px;height:96px;animation:pl-pulse 1.6s ease-in-out infinite}
@keyframes pl-pulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 12px rgba(47,111,214,.25))}50%{transform:scale(1.06);filter:drop-shadow(0 0 28px rgba(47,111,214,.55))}}
.preloader__bar{width:150px;height:2px;background:rgba(143,198,255,.12);border-radius:2px;overflow:hidden}
.preloader__fill{height:100%;width:40%;background:linear-gradient(90deg,var(--azure),var(--steel));border-radius:2px;animation:pl-slide 1.1s ease-in-out infinite}
@keyframes pl-slide{0%{transform:translateX(-160%)}100%{transform:translateX(420%)}}

/* ═══ NAVBAR ═══ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  transition:background .35s,border-color .35s,backdrop-filter .35s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(4,6,10,.82);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom-color:var(--line-soft);
}
.nav__bar{
  max-width:var(--max);margin:0 auto;padding:0 24px;
  height:96px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  transition:height .35s;
}
.nav.scrolled .nav__bar{height:76px}
.nav__brand{flex-shrink:0;display:flex;align-items:center;gap:16px}

/* ── 3D medallion brand ── */
.brand-3d{
  position:relative;width:68px;height:68px;flex-shrink:0;
  perspective:520px;transform-style:preserve-3d;
  transition:width .35s,height .35s,transform .2s ease-out;
}
.nav.scrolled .brand-3d{width:56px;height:56px}

/* rotating energy halo */
.brand-halo{
  position:absolute;inset:-8px;border-radius:50%;
  background:conic-gradient(from 0deg,
    transparent 4%, rgba(143,198,255,.9) 14%, rgba(47,111,214,.25) 26%, transparent 38%,
    transparent 52%, rgba(47,111,214,.65) 66%, rgba(143,198,255,.2) 76%, transparent 88%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));
  animation:halo-spin 4.5s linear infinite;
  filter:drop-shadow(0 0 7px rgba(79,143,255,.7));
}
@keyframes halo-spin{to{transform:rotate(360deg)}}

/* orbiting spark */
.brand-orbit{
  position:absolute;inset:-8px;border-radius:50%;
  animation:halo-spin 4.5s linear infinite reverse;
}
.brand-orbit__dot{
  position:absolute;top:-2px;left:50%;width:5px;height:5px;margin-left:-2.5px;
  border-radius:50%;background:#cfe6ff;
  box-shadow:0 0 8px 2px rgba(143,198,255,.9);
}

/* the coin itself: periodic 3D flip */
.brand-med{
  position:absolute;inset:0;transform-style:preserve-3d;
  animation:coin-flip 8s cubic-bezier(.68,-0.02,.32,1.02) infinite;
  will-change:transform;
}
@keyframes coin-flip{
  0%,56%{transform:rotateY(0deg)}
  100%{transform:rotateY(360deg)}
}
.brand-med img{
  width:100%;height:100%;
  filter:drop-shadow(0 5px 16px rgba(0,0,0,.65)) drop-shadow(0 0 18px rgba(47,111,214,.5));
  transition:filter .3s;
}
.nav__brand:hover .brand-med img{
  filter:drop-shadow(0 5px 16px rgba(0,0,0,.65)) drop-shadow(0 0 26px rgba(96,165,250,.85));
}
/* glossy shine sweeping across the coin */
.brand-med::after{
  content:"";position:absolute;inset:5%;border-radius:50%;pointer-events:none;
  background:linear-gradient(120deg,transparent 34%,rgba(255,255,255,.30) 47%,rgba(143,198,255,.38) 53%,transparent 66%);
  background-size:240% 240%;background-position:135% 135%;
  animation:med-shine 8s ease-in-out infinite;
  mix-blend-mode:screen;
}
@keyframes med-shine{
  0%,8%{background-position:135% 135%}
  34%{background-position:-40% -40%}
  100%{background-position:-40% -40%}
}

/* wordmark */
.nav__wordmark{
  height:42px;width:auto;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.55));
  transition:height .35s,filter .3s;
}
.nav.scrolled .nav__wordmark{height:34px}
.nav__brand:hover .nav__wordmark{filter:drop-shadow(0 0 14px rgba(47,111,214,.45))}

.nav__links{display:flex;align-items:center;gap:6px}
.nav__link{
  position:relative;display:block;padding:10px 14px;
  font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--mist);transition:color .25s;
}
.nav__link::after{
  content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1px;
  background:var(--steel);transform:scaleX(0);transform-origin:left;
  transition:transform .3s ease;
}
.nav__link:hover{color:var(--silver)}
.nav__link:hover::after{transform:scaleX(1)}

.nav__right{display:flex;align-items:center;gap:16px}
.nav__phone{
  display:flex;align-items:center;gap:8px;
  font-size:.82rem;font-weight:700;color:var(--mist);transition:color .25s;
}
.nav__phone i{font-size:.72rem;color:var(--steel)}
.nav__phone:hover{color:var(--silver)}

.nav__burger{
  display:none;flex-direction:column;gap:5px;
  background:none;border:0;cursor:pointer;padding:8px;
}
.nav__burger span{width:24px;height:2px;background:var(--silver);border-radius:2px;transition:transform .3s,opacity .3s}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── Service pages navbar ── */
.nav[style*="position:relative"] .nav__bar{height:96px !important;padding:0 24px !important}
.nav[style*="position:relative"] .brand-3d{width:68px !important;height:68px !important}
.nav[style*="position:relative"] .nav__wordmark{height:42px !important}
.nav[style*="position:relative"] .nav__right{gap:16px !important}

/* ═══ BUTTONS ═══ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 30px;border-radius:12px;border:1px solid transparent;
  font-family:var(--font-b);font-size:.9rem;font-weight:700;letter-spacing:.02em;
  cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s;
}
.btn i{font-size:.8em}
.btn--primary{
  background:linear-gradient(135deg,#3577dd,#1e4fa3);
  color:#fff;
  box-shadow:0 8px 26px rgba(47,111,214,.28),inset 0 1px 0 rgba(255,255,255,.18);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(47,111,214,.42),inset 0 1px 0 rgba(255,255,255,.18)}
.btn--ghost{
  background:rgba(143,198,255,.05);color:var(--silver);
  border-color:var(--line);
}
.btn--ghost:hover{transform:translateY(-2px);background:rgba(143,198,255,.1);border-color:rgba(143,198,255,.28)}
.btn--sm{padding:10px 20px;font-size:.82rem;border-radius:10px}
.btn--block{width:100%}

/* ═══ HERO — temple composition ═══ */
.hero{
  position:relative;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:130px 24px 90px;text-align:center;
}
.hero__columns{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero__col{
  position:absolute;top:8%;bottom:8%;width:1px;
  background:linear-gradient(to bottom,transparent,rgba(143,198,255,.16) 20%,rgba(143,198,255,.16) 80%,transparent);
}
.hero__col--l{left:max(4%,calc(50% - 620px))}
.hero__col--r{right:max(4%,calc(50% - 620px))}
.hero__col::before,.hero__col::after{
  content:"";position:absolute;left:50%;transform:translateX(-50%);
  width:9px;height:9px;border:1px solid rgba(143,198,255,.3);transform:translateX(-50%) rotate(45deg);
}
.hero__col::before{top:-4px}
.hero__col::after{bottom:-4px}

.hero__inner{max-width:880px;display:flex;flex-direction:column;align-items:center}

.hero__eyebrow{
  font-size:.74rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;
  color:var(--steel);opacity:.85;margin-bottom:34px;
}

/* Emblem — the signature: 3D armillary medallion */
.hero__emblem{position:relative;width:min(340px,62vw);height:min(340px,62vw);margin-bottom:40px}
.hero__emblem-glow{
  position:absolute;inset:-22%;border-radius:50%;
  background:radial-gradient(circle,rgba(47,111,214,.32),rgba(47,111,214,.08) 45%,transparent 70%);
  animation:glow-breathe 5.5s ease-in-out infinite;
}
@keyframes glow-breathe{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}
.hero__emblem-canvas{
  position:absolute;left:50%;top:50%;
  width:min(720px,100vw);height:min(720px,100vw);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.hero__emblem-img{
  position:relative;width:100%;height:auto;
  filter:drop-shadow(0 18px 50px rgba(0,0,0,.7)) drop-shadow(0 0 34px rgba(47,111,214,.22));
  transition:opacity .6s;
}
.hero__emblem.has-3d .hero__emblem-img{opacity:0}

.hero__h1{display:flex;flex-direction:column;gap:14px;margin-bottom:26px}
.hero__h1-top{
  font-family:var(--font-d);font-weight:800;
  font-size:clamp(2.1rem,6vw,4.1rem);line-height:1.08;letter-spacing:.045em;
  background:linear-gradient(115deg,#f2f6fb 20%,var(--steel) 55%,#3d7be0 90%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  text-wrap:balance;
}
.hero__h1-sub{
  font-family:var(--font-d);font-weight:500;
  font-size:clamp(.95rem,2.4vw,1.35rem);letter-spacing:.42em;text-transform:uppercase;
  color:var(--mist);padding-left:.42em; /* optically re-center tracked text */
}
.hero__lead{
  max-width:620px;font-size:clamp(.98rem,1.7vw,1.1rem);color:var(--mist);
  margin-bottom:38px;text-wrap:pretty;
}
.hero__lead strong{color:var(--steel);font-weight:700}
.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:64px}

/* Frieze — stat band */
.hero__frieze{
  display:flex;flex-wrap:wrap;justify-content:center;
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
}
.frieze__item{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:20px 38px;position:relative;
}
.frieze__item+.frieze__item::before{
  content:"";position:absolute;left:0;top:26%;bottom:26%;width:1px;
  background:var(--line-soft);
}
.frieze__num{
  font-family:var(--font-d);font-weight:700;font-size:1.7rem;line-height:1.15;
  color:var(--steel);
}
.frieze__lbl{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mist-2)}

.hero__scroll{
  position:absolute;bottom:26px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.hero__scroll-line{width:1px;height:44px;background:linear-gradient(to bottom,transparent,var(--steel));position:relative;overflow:hidden}
.hero__scroll-line::after{
  content:"";position:absolute;top:-40%;left:0;width:100%;height:40%;
  background:#fff;animation:scroll-drip 2s ease-in-out infinite;
}
@keyframes scroll-drip{to{top:120%}}
.hero__scroll-text{font-size:.64rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--mist-2);transition:color .3s}
.hero__scroll:hover .hero__scroll-text{color:var(--steel)}

/* ═══ SECTIONS ═══ */
.sec{position:relative;padding:110px 24px}
.sec--alt{
  background:linear-gradient(to bottom,transparent,rgba(10,17,28,.55) 12%,rgba(10,17,28,.55) 88%,transparent);
}
.sec--tight{padding:40px 24px}
.sec__inner{max-width:var(--max);margin:0 auto}
.sec__inner--narrow{max-width:820px;margin:0 auto}

.sec__head{max-width:720px;margin:0 auto 64px;text-align:center}
.sec__tag{
  display:inline-block;font-size:.72rem;font-weight:700;
  letter-spacing:.3em;text-transform:uppercase;color:var(--steel);
  margin-bottom:16px;
}
.sec__tag::before,.sec__tag::after{content:"—";margin:0 12px;color:rgba(143,198,255,.35)}
.sec__heading{
  font-family:var(--font-d);font-weight:700;
  font-size:clamp(1.55rem,3.6vw,2.35rem);line-height:1.22;letter-spacing:.02em;
  color:#eef3f9;text-wrap:balance;
}
.sec__heading em{
  font-style:normal;
  background:linear-gradient(115deg,var(--steel),#3d7be0);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.sec__heading--left{text-align:left}
.sec__sub{margin-top:16px;color:var(--mist);font-size:.98rem}
.sec__sub--left{text-align:left}

/* ═══ SERVICE CARDS ═══ */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc{
  position:relative;display:flex;flex-direction:column;
  background:linear-gradient(160deg,rgba(143,198,255,.05),rgba(143,198,255,.015));
  border:1px solid var(--line-soft);border-radius:var(--r);
  padding:30px 28px;overflow:hidden;
  transition:border-color .35s,box-shadow .35s,transform .35s;
  transform-style:preserve-3d;
}
.svc::before{
  content:"";position:absolute;top:0;left:24px;right:24px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(143,198,255,.4),transparent);
  opacity:0;transition:opacity .35s;
}
.svc:hover{border-color:rgba(143,198,255,.22);box-shadow:0 24px 50px rgba(0,0,0,.45)}
.svc:hover::before{opacity:1}
.svc__ico{
  width:52px;height:52px;border-radius:14px;margin-bottom:20px;
  display:flex;align-items:center;justify-content:center;font-size:1.15rem;
  color:var(--steel);background:rgba(47,111,214,.1);
  border:1px solid rgba(143,198,255,.14);
  transition:transform .35s,color .35s,background .35s;
}
.svc:hover .svc__ico{transform:translateZ(26px) scale(1.06);color:#fff;background:rgba(47,111,214,.28)}
.svc__h{
  font-family:var(--font-d);font-size:1.02rem;font-weight:700;letter-spacing:.03em;
  color:#eef3f9;margin-bottom:10px;
}
.svc__p{font-size:.88rem;color:var(--mist);flex-grow:1;margin-bottom:20px}
.svc__link{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--steel);transition:gap .3s,color .3s;
}
.svc__link i{font-size:.62rem}
.svc__link:hover{gap:13px;color:#fff}

/* ═══ TRIO ═══ */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.trio__card{
  position:relative;padding:38px 30px;border-radius:var(--r);
  background:linear-gradient(160deg,rgba(143,198,255,.05),rgba(143,198,255,.015));
  border:1px solid var(--line-soft);
  transition:border-color .35s,box-shadow .35s;
  transform-style:preserve-3d;
}
.trio__card:hover{border-color:rgba(143,198,255,.22);box-shadow:0 24px 50px rgba(0,0,0,.45)}
.trio__num{
  font-family:var(--font-d);font-weight:800;font-size:2.4rem;line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(143,198,255,.4);
  margin-bottom:20px;
}
.trio__h{font-family:var(--font-d);font-size:1.2rem;font-weight:700;letter-spacing:.04em;color:#eef3f9;margin-bottom:12px}
.trio__p{font-size:.9rem;color:var(--mist);margin-bottom:22px}
.trio__tags{display:flex;flex-wrap:wrap;gap:8px}
.trio__tags span{
  font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--steel);padding:5px 12px;border-radius:99px;
  background:rgba(47,111,214,.09);border:1px solid rgba(143,198,255,.12);
}

/* ═══ GEO BOX & AI OPTIMIZATION ═══ */
.geo-box{
  border:1px solid var(--line-soft);border-radius:var(--r);
  background:linear-gradient(160deg,rgba(47,111,214,.07),rgba(143,198,255,.02));
  padding:30px 34px;
}
.geo-box__h{
  font-family:var(--font-d);font-size:.95rem;font-weight:700;letter-spacing:.06em;
  color:var(--steel);margin-bottom:16px;display:flex;align-items:center;gap:10px;
}
.geo-content{display:flex;flex-direction:column;gap:12px}
.geo-box__p{font-size:.88rem;color:var(--mist);line-height:1.7}
.geo-box__p strong{color:var(--silver);font-weight:700}
.geo-box__p [itemprop]{color:var(--steel);font-weight:600}

/* ═══ TIMELINE ═══ */
.timeline{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  position:relative;
}
.tl{
  position:relative;padding:34px 26px;border-radius:var(--r);
  background:linear-gradient(160deg,rgba(143,198,255,.05),rgba(143,198,255,.015));
  border:1px solid var(--line-soft);
  transition:border-color .35s,transform .35s;
}
.tl:hover{border-color:rgba(143,198,255,.22);transform:translateY(-4px)}
.tl__num{
  font-family:var(--font-d);font-weight:800;font-size:1.5rem;
  width:54px;height:54px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--steel);background:rgba(47,111,214,.1);
  border:1px solid rgba(143,198,255,.2);
  margin-bottom:20px;
}
.tl__h{font-family:var(--font-d);font-size:1rem;font-weight:700;letter-spacing:.03em;color:#eef3f9;margin-bottom:6px}
.tl__tag{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin-bottom:12px}
.tl__p{font-size:.86rem;color:var(--mist)}

/* ═══ TECH ═══ */
.tech-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.t-badge{
  display:flex;align-items:center;gap:10px;
  padding:12px 20px;border-radius:12px;
  background:rgba(143,198,255,.04);border:1px solid var(--line-soft);
  font-size:.84rem;font-weight:600;color:var(--silver);
  transition:border-color .3s,transform .3s,background .3s;
}
.t-badge:hover{border-color:rgba(143,198,255,.25);transform:translateY(-3px);background:rgba(143,198,255,.08)}
.t-badge i{font-size:1.05rem}

/* ═══ FAQ ═══ */
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq{
  border:1px solid var(--line-soft);border-radius:14px;
  background:rgba(143,198,255,.03);overflow:hidden;
  transition:border-color .3s;
}
.faq.open{border-color:rgba(143,198,255,.22)}
.faq__trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px 24px;background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--font-b);font-size:.94rem;font-weight:700;color:var(--silver);
}
.faq__icon{font-size:.72rem;color:var(--steel);transition:transform .35s;flex-shrink:0}
.faq.open .faq__icon{transform:rotate(180deg)}
.faq__body{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq__body p{padding:0 24px 22px;font-size:.88rem;color:var(--mist)}

/* ═══ CONTACT ═══ */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contact__rows{display:flex;flex-direction:column;gap:16px;margin-top:34px}
.c-row{display:flex;align-items:center;gap:16px}
.c-row__ico{
  width:46px;height:46px;border-radius:13px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:.95rem;
  color:var(--c,var(--steel));
  background:color-mix(in srgb,var(--c,var(--steel)) 8%,transparent);
  border:1px solid color-mix(in srgb,var(--c,var(--steel)) 18%,transparent);
  transition:transform .3s;
}
a.c-row:hover .c-row__ico{transform:scale(1.08)}
.c-row__txt{display:flex;flex-direction:column}
.c-row__txt small{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mist-2)}
.c-row__txt strong{font-size:.92rem;color:#fff}

.contact__form{
  border:1px solid var(--line-soft);border-radius:var(--r);
  background:linear-gradient(160deg,rgba(10,17,28,.85),rgba(10,17,28,.6));
  padding:34px;
}
.contact__form-h{font-family:var(--font-d);font-size:1.12rem;font-weight:700;letter-spacing:.03em;color:#eef3f9;margin-bottom:24px}

.form{display:flex;flex-direction:column;gap:18px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form__grp{display:flex;flex-direction:column;gap:7px}
.form__grp label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mist)}
.form__grp input,.form__grp select,.form__grp textarea{
  font-family:var(--font-b);font-size:.9rem;color:var(--silver);
  background:rgba(143,198,255,.045);
  border:1px solid var(--line-soft);border-radius:11px;
  padding:13px 16px;outline:none;resize:vertical;
  transition:border-color .3s,background .3s,box-shadow .3s;
}
.form__grp select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238fc6ff' fill='none' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.form__grp select option{background:var(--deep);color:var(--silver)}
.form__grp input::placeholder,.form__grp textarea::placeholder{color:var(--mist-2)}
.form__grp input:focus,.form__grp select:focus,.form__grp textarea:focus{
  border-color:rgba(143,198,255,.4);
  background:rgba(143,198,255,.07);
  box-shadow:0 0 0 3px rgba(47,111,214,.14);
}

/* ═══ FOOTER ═══ */
.foot{
  border-top:1px solid var(--line-soft);
  background:linear-gradient(to bottom,transparent,rgba(4,6,10,.9));
  padding:70px 24px 0;
}
.foot__grid{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px;
  padding-bottom:54px;
}
.foot__logo{height:90px;width:auto;margin-bottom:18px}
.foot__desc{font-size:.86rem;color:var(--mist);max-width:300px}
.foot__h{
  font-family:var(--font-d);font-size:.82rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--steel);
  margin-bottom:18px;
}
.foot__links{display:flex;flex-direction:column;gap:11px}
.foot__links a{font-size:.86rem;color:var(--mist);transition:color .25s;display:inline-flex;align-items:center;gap:8px}
.foot__links a i{font-size:.7rem;color:var(--steel)}
.foot__links a:hover{color:var(--silver)}
.foot__bottom{
  max-width:var(--max);margin:0 auto;
  border-top:1px solid var(--line-soft);
  padding:22px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;
  font-size:.78rem;color:var(--mist-2);
}
.foot__bottom a{color:var(--steel)}

/* ═══ NOTIFICATIONS ═══ */
.notification{
  position:fixed;top:24px;right:24px;z-index:200;
  background:rgba(4,6,10,.95);backdrop-filter:blur(12px);
  border:1px solid var(--line-soft);border-radius:12px;
  padding:16px 20px;max-width:400px;
  transform:translateX(120%);opacity:0;
  transition:transform .4s cubic-bezier(.22,.61,.36,1),opacity .4s;
}
.notification.show{transform:translateX(0);opacity:1}
.notification--success{border-color:rgba(34,197,94,.3)}
.notification--error{border-color:rgba(239,68,68,.3)}
.notification__content{
  display:flex;align-items:center;gap:12px;
  font-size:.88rem;font-weight:600;color:var(--silver);
}
.notification--success .notification__content i{color:#22c55e}
.notification--error .notification__content i{color:#ef4444}

/* ═══ WHATSAPP FLOAT ═══ */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:60;
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#2bd46b,#1ca452);color:#fff;font-size:1.5rem;
  box-shadow:0 10px 30px rgba(37,211,102,.35);
  transition:transform .3s,box-shadow .3s;
}
.wa-float:hover{transform:scale(1.1);box-shadow:0 14px 38px rgba(37,211,102,.5)}

/* ═══ REVEAL ═══ */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
.rv.in{opacity:1;transform:none}

/* ═══ RESPONSIVE ═══ */
@media (max-width:1024px){
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:repeat(2,1fr)}
  .foot__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .nav__links{
    position:fixed;top:72px;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:rgba(4,6,10,.97);backdrop-filter:blur(20px);
    border-bottom:1px solid var(--line);
    padding:12px 24px 20px;
    transform:translateY(-12px);opacity:0;visibility:hidden;
    transition:transform .35s,opacity .35s,visibility .35s;
  }
  .nav__links.open{transform:none;opacity:1;visibility:visible}
  .nav__link{padding:14px 8px;font-size:.92rem;border-bottom:1px solid var(--line-soft)}
  .nav__right{display:none}
  .nav__burger{display:flex}
  .nav__bar{height:72px}
  .nav__brand{gap:11px}
  .brand-3d,.nav.scrolled .brand-3d{width:46px;height:46px}
  .brand-halo,.brand-orbit{inset:-5px}
  .nav__wordmark,.nav.scrolled .nav__wordmark{height:29px}

  .contact{grid-template-columns:1fr;gap:44px}
  .trio{grid-template-columns:1fr}
  .hero__col--l{left:5%}
  .hero__col--r{right:5%}
}
@media (max-width:640px){
  .sec{padding:80px 20px}
  .svc-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .form__row{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr;gap:34px}
  .frieze__item{padding:16px 20px}
  .frieze__num{font-size:1.35rem}
  .hero{padding-top:110px}
  .hero__inner{width:100%}
  .hero__eyebrow{letter-spacing:.18em;font-size:.66rem}
  .hero__h1-top{font-size:clamp(1.7rem,8.6vw,2.4rem)}
  .hero__h1-sub{letter-spacing:.2em;padding-left:.2em;font-size:.82rem}
  .hero__lead{font-size:.92rem}
  .hero__emblem{margin-bottom:30px}
  .hero__actions{width:100%;flex-direction:column}
  .hero__actions .btn{width:100%}
  .contact__form{padding:26px 20px}
}

/* ═══ SERVICE PAGES ═══ */
.breadcrumb{
  font-size:.84rem;color:var(--mist);
  display:flex;align-items:center;gap:8px;
}
.breadcrumb a{color:var(--steel);transition:color .3s}
.breadcrumb a:hover{color:var(--silver)}
.breadcrumb span{color:var(--mist-2)}

.service-title{
  font-family:var(--font-d);font-size:clamp(2rem,4vw,3rem);
  font-weight:700;color:#eef3f9;margin-bottom:20px;
}
.service-lead{
  font-size:1.1rem;color:var(--mist);max-width:700px;
  margin-bottom:50px;line-height:1.7;
}

.feature-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:30px;margin:40px 0;
}
.feature-item{
  padding:30px 25px;border-radius:var(--r);
  background:linear-gradient(160deg,rgba(143,198,255,.05),rgba(143,198,255,.015));
  border:1px solid var(--line-soft);
  transition:transform .3s,border-color .3s;
}
.feature-item:hover{
  transform:translateY(-5px);
  border-color:rgba(143,198,255,.22);
}
.feature-item i{
  font-size:2rem;color:var(--steel);margin-bottom:15px;
}
.feature-item h3{
  font-family:var(--font-d);font-size:1.1rem;font-weight:700;
  color:#eef3f9;margin-bottom:10px;
}
.feature-item p{
  font-size:.9rem;color:var(--mist);line-height:1.6;
}

.cta-section h2{
  font-family:var(--font-d);font-size:1.8rem;font-weight:700;
  color:#eef3f9;margin-bottom:15px;
}
.cta-section p{
  font-size:1rem;color:var(--mist);margin-bottom:30px;
}

@media (max-width:640px){
  .feature-grid{grid-template-columns:1fr}
  .cta-section div{flex-direction:column!important}
  .cta-section .btn{width:100%}
}

/* ═══ REDUCED MOTION ═══ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .rv{opacity:1;transform:none}
  #scene{display:none}
}

/* ═══ FOCUS ═══ */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--steel);outline-offset:3px;border-radius:6px;
}
