/* ===== TOKENS ===== */
:root{
  --ink:#0a1626;
  --ink-2:#0f2136;
  --ink-3:#16304c;
  --frost:#eef5fb;
  --paper:#f6f9fc;
  --white:#ffffff;
  --cyan:#38bdf8;
  --cyan-2:#7dd3fc;
  --cyan-deep:#0ea5e9;
  --ember:#fb923c;
  --line:rgba(12,38,63,.10);
  --muted:#5b7186;
  --muted-2:#8aa0b4;
  --radius:20px;
  --radius-sm:14px;
  --shadow:0 24px 60px -24px rgba(10,22,38,.35);
  --shadow-sm:0 12px 30px -16px rgba(10,22,38,.30);
  --maxw:1200px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --f-head:'Montserrat',system-ui,sans-serif;
  --f-body:'Manrope',system-ui,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--f-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--f-head);line-height:1.12;letter-spacing:-.02em;font-weight:700}
section{position:relative}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--f-head);font-weight:600;font-size:.95rem;
  padding:.85rem 1.5rem;border-radius:100px;border:1px solid transparent;
  cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s;
  white-space:nowrap;
}
.btn--primary{
  background:linear-gradient(135deg,var(--cyan),var(--cyan-deep));
  color:#04101d;box-shadow:0 14px 30px -12px rgba(14,165,233,.65);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px -12px rgba(14,165,233,.75)}
.btn--ghost{background:transparent;border-color:rgba(255,255,255,.28);color:#fff}
.btn--ghost:hover{background:rgba(255,255,255,.10);transform:translateY(-2px)}
.btn--full{width:100%;justify-content:center;margin-top:.4rem}
.btn--call{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.16);padding:.65rem 1.15rem;font-size:.9rem}
.btn--call:hover{background:rgba(255,255,255,.16)}

/* ===== NAV ===== */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  transition:background .4s,backdrop-filter .4s,box-shadow .4s,border-color .4s;
  border-bottom:1px solid transparent;
}
.nav__inner{
  max-width:var(--maxw);margin:0 auto;padding:1rem 1.5rem;
  display:flex;align-items:center;gap:1.5rem;
}
.nav.scrolled{
  background:rgba(9,20,34,.82);backdrop-filter:blur(14px);
  border-bottom-color:rgba(255,255,255,.08);
  box-shadow:0 10px 30px -18px rgba(0,0,0,.6);
}
.brand{display:flex;align-items:center;gap:.6rem}
.brand__text{font-family:var(--f-head);font-weight:800;font-size:1.2rem;color:#fff;letter-spacing:-.02em}
.brand__text span{color:var(--cyan-2)}
.nav__links{display:flex;gap:1.6rem;margin-left:auto}
.nav__links a{color:rgba(255,255,255,.82);font-size:.94rem;font-weight:500;position:relative;padding:.2rem 0}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--cyan);transition:width .3s var(--ease)}
.nav__links a:hover{color:#fff}
.nav__links a:hover::after{width:100%}
.nav__actions{display:flex;align-items:center;gap:.8rem}
.lang{
  display:flex;align-items:center;gap:.4rem;background:transparent;border:1px solid rgba(255,255,255,.2);
  border-radius:100px;padding:.42rem .8rem;cursor:pointer;color:rgba(255,255,255,.82);
  font-family:var(--f-head);font-size:.78rem;font-weight:700;letter-spacing:.04em;transition:border-color .25s,color .25s,background .25s;
}
.lang:hover{color:var(--cyan-2);border-color:rgba(125,211,252,.45);background:rgba(56,189,248,.08)}
.lang svg{opacity:.85}
.lang__code{line-height:1}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.burger span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== HERO ===== */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:center;
  background:
    radial-gradient(120% 80% at 80% -10%,rgba(56,189,248,.16),transparent 55%),
    radial-gradient(90% 70% at 0% 100%,rgba(14,165,233,.14),transparent 60%),
    linear-gradient(160deg,#0a1626 0%,#0d1e33 55%,#0a1626 100%);
  overflow:hidden;padding:7rem 0 4rem;
}
.hero__field{position:absolute;inset:0;pointer-events:none}
.rings{position:absolute;top:50%;right:-6%;transform:translateY(-50%);width:min(46vw,620px);aspect-ratio:1}
.rings i{position:absolute;inset:0;border:1px solid rgba(125,211,252,.16);border-radius:50%;animation:pulse 6s ease-in-out infinite}
.rings i:nth-child(2){inset:14%;animation-delay:1.2s;border-color:rgba(125,211,252,.22)}
.rings i:nth-child(3){inset:30%;animation-delay:2.4s;border-color:rgba(125,211,252,.3)}
@keyframes pulse{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}
.airflow{position:absolute;inset:0;overflow:hidden}
.airflow span{
  position:absolute;left:-30%;height:2px;width:34%;
  background:linear-gradient(90deg,transparent,rgba(125,211,252,.55),transparent);
  border-radius:2px;animation:flow linear infinite;
}
.airflow span:nth-child(1){top:22%;animation-duration:9s}
.airflow span:nth-child(2){top:38%;width:22%;animation-duration:7s;animation-delay:1s;opacity:.7}
.airflow span:nth-child(3){top:54%;width:40%;animation-duration:11s;animation-delay:.5s}
.airflow span:nth-child(4){top:66%;width:26%;animation-duration:8s;animation-delay:2s;opacity:.6}
.airflow span:nth-child(5){top:78%;width:30%;animation-duration:10s;animation-delay:1.5s}
.airflow span:nth-child(6){top:12%;width:18%;animation-duration:6.5s;animation-delay:3s;opacity:.5}
@keyframes flow{0%{transform:translateX(0)}100%{transform:translateX(380%)}}

.hero__inner{
  position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:0 1.5rem;width:100%;
  display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;color:var(--cyan-2);
  font-family:var(--f-head);font-weight:600;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.45rem .9rem;border:1px solid rgba(125,211,252,.28);border-radius:100px;background:rgba(56,189,248,.06);
}
.hero h1{
  color:#fff;font-size:clamp(2.5rem,5.4vw,4.1rem);font-weight:800;margin:1.4rem 0 1.2rem;max-width:16ch;
}
.hero__lead{color:rgba(226,240,251,.78);font-size:1.1rem;max-width:52ch}
.hero__cta{display:flex;gap:1rem;margin:2rem 0 1.8rem;flex-wrap:wrap}
.hero__proof{display:flex;align-items:center;gap:.9rem}
.stars{color:#ffd166;letter-spacing:.12em;font-size:1.05rem}
.hero__proof-text{display:flex;align-items:baseline;gap:.5rem;color:rgba(226,240,251,.72);font-size:.92rem}
.hero__proof-text strong{color:#fff;font-family:var(--f-head);font-size:1.15rem}

/* hero panel unit */
.hero__panel{display:flex;justify-content:center}
.unit{
  width:100%;max-width:320px;background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.03));
  border:1px solid rgba(125,211,252,.22);border-radius:26px;padding:1.6rem;
  backdrop-filter:blur(16px);box-shadow:0 30px 70px -30px rgba(0,0,0,.7);
  animation:float 6s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.unit__head{display:flex;align-items:center;gap:.5rem;color:var(--cyan-2);font-family:var(--f-head);font-size:.72rem;letter-spacing:.14em;font-weight:600}
.unit__dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 0 rgba(56,189,248,.6);animation:blink 2s infinite}
@keyframes blink{0%{box-shadow:0 0 0 0 rgba(56,189,248,.6)}70%{box-shadow:0 0 0 8px rgba(56,189,248,0)}100%{box-shadow:0 0 0 0 rgba(56,189,248,0)}}
.unit__temp{color:#fff;font-family:var(--f-head);font-weight:800;font-size:3.6rem;line-height:1;margin:1rem 0 .1rem;display:flex;align-items:flex-start}
.unit__temp small{font-size:1.2rem;font-weight:600;color:var(--cyan-2);margin-top:.4rem}
.unit__label{color:rgba(226,240,251,.62);font-size:.85rem}
.unit__bars{display:flex;gap:6px;margin:1.3rem 0}
.unit__bars i{flex:1;height:34px;border-radius:6px;background:rgba(125,211,252,.16);position:relative;overflow:hidden}
.unit__bars i::after{content:"";position:absolute;inset:auto 0 0 0;height:var(--h,40%);background:linear-gradient(180deg,var(--cyan),var(--cyan-deep));border-radius:6px;animation:eq 2.6s ease-in-out infinite}
.unit__bars i:nth-child(1){--h:60%}
.unit__bars i:nth-child(2){--h:85%}
.unit__bars i:nth-child(3){--h:45%}
.unit__bars i:nth-child(4){--h:72%}
.unit__bars i:nth-child(5){--h:55%}
.unit__bars i:nth-child(2)::after{animation-delay:.3s}
.unit__bars i:nth-child(3)::after{animation-delay:.6s}
.unit__bars i:nth-child(4)::after{animation-delay:.2s}
.unit__bars i:nth-child(5)::after{animation-delay:.5s}
@keyframes eq{0%,100%{transform:translateY(60%)}50%{transform:translateY(0)}}
.unit__foot{display:flex;justify-content:space-between;gap:.5rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1rem}
.unit__foot div{display:flex;flex-direction:column;gap:.15rem}
.unit__foot b{color:rgba(226,240,251,.55);font-family:var(--f-body);font-weight:500;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}
.unit__foot span{color:#fff;font-family:var(--f-head);font-weight:600;font-size:.85rem}

.hero__scroll{position:absolute;bottom:1.7rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(226,240,251,.5);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.hero__scroll i{width:1px;height:34px;background:linear-gradient(rgba(125,211,252,.7),transparent);position:relative}
.hero__scroll i::after{content:"";position:absolute;top:0;left:-2px;width:5px;height:5px;border-radius:50%;background:var(--cyan);animation:drop 2s infinite}
@keyframes drop{0%{top:0;opacity:1}80%{top:30px;opacity:0}100%{opacity:0}}

/* ===== STRIP ===== */
.strip{background:var(--ink-2);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden;padding:1.1rem 0}
.strip__track{display:flex;align-items:center;gap:2rem;white-space:nowrap;width:max-content;animation:scroll 32s linear infinite}
.strip__track span{color:rgba(226,240,251,.72);font-family:var(--f-head);font-weight:600;font-size:.95rem;letter-spacing:.02em}
.strip__track i{color:var(--cyan);font-size:.6rem;font-style:normal}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ===== SECTION SHELL ===== */
.section-head{max-width:720px;margin:0 auto 3.2rem;text-align:center}
.section-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem);margin:1rem 0 .9rem;color:var(--ink)}
.section-head p{color:var(--muted);font-size:1.05rem}
.section-head--light h2{color:#fff}
.section-head--light p{color:rgba(226,240,251,.7)}
.tag{display:inline-block;color:var(--cyan-deep);font-family:var(--f-head);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:.4rem .85rem;background:rgba(14,165,233,.09);border-radius:100px}
.tag--light{color:var(--cyan-2);background:rgba(125,211,252,.12)}

/* ===== ABOUT ===== */
.about{padding:6.5rem 1.5rem;max-width:var(--maxw);margin:0 auto}
.about__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center}
.about__media{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.about__media img{width:100%;height:100%;min-height:440px;object-fit:cover}
.about__badge{
  position:absolute;bottom:1.3rem;left:1.3rem;background:rgba(9,20,34,.86);backdrop-filter:blur(10px);
  border:1px solid rgba(125,211,252,.3);border-radius:16px;padding:1rem 1.3rem;display:flex;flex-direction:column;color:#fff;
}
.about__badge-num{font-family:var(--f-head);font-weight:800;font-size:1.9rem;color:var(--cyan-2);line-height:1}
.about__badge-txt{font-size:.78rem;color:rgba(226,240,251,.7);letter-spacing:.04em}
.about__copy h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin:1rem 0 1.2rem}
.about__copy p{color:var(--muted);margin-bottom:1rem}
.about__list{list-style:none;margin-top:1.6rem;display:grid;gap:.8rem}
.about__list li{display:flex;align-items:center;gap:.8rem;font-weight:500;color:var(--ink-2)}
.about__list li::before{content:"";flex:none;width:24px;height:24px;border-radius:50%;background:rgba(14,165,233,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230ea5e9' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/14px no-repeat}

/* ===== SERVICES ===== */
.services{padding:6.5rem 1.5rem;max-width:var(--maxw);margin:0 auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.8rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;position:relative;overflow:hidden;
}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--cyan),var(--cyan-deep));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.card:hover::before{transform:scaleX(1)}
.card__ico{
  width:56px;height:56px;border-radius:16px;display:grid;place-items:center;color:var(--cyan-deep);
  background:linear-gradient(160deg,rgba(56,189,248,.14),rgba(14,165,233,.06));margin-bottom:1.2rem;
  transition:transform .4s var(--ease);
}
.card:hover .card__ico{transform:scale(1.06) rotate(-3deg)}
.card h3{font-size:1.2rem;margin-bottom:.6rem;color:var(--ink)}
.card p{color:var(--muted);font-size:.96rem}

/* ===== PROCESS ===== */
.process{background:linear-gradient(160deg,#0a1626,#0f2136);padding:6rem 1.5rem}
.process .section-head{margin-bottom:3rem}
.steps{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.step{position:relative;padding:1.8rem 1.5rem;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);background:rgba(255,255,255,.03);transition:background .4s,border-color .4s,transform .4s var(--ease)}
.step:hover{background:rgba(56,189,248,.06);border-color:rgba(125,211,252,.28);transform:translateY(-5px)}
.step__num{font-family:var(--f-head);font-weight:800;font-size:2.4rem;background:linear-gradient(135deg,var(--cyan-2),var(--cyan-deep));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:block;margin-bottom:.6rem}
.step h3{color:#fff;font-size:1.15rem;margin-bottom:.5rem}
.step p{color:rgba(226,240,251,.66);font-size:.92rem}

/* ===== WHY ===== */
.why{padding:6.5rem 1.5rem;max-width:var(--maxw);margin:0 auto}
.why__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.5rem;align-items:start}
.why__intro{position:sticky;top:100px}
.why__intro h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin:1rem 0 1.1rem}
.why__intro p{color:var(--muted);margin-bottom:1.8rem}
.why__list{display:grid;gap:1.1rem}
.feat{display:flex;gap:1.1rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.5rem;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.feat:hover{transform:translateX(6px);box-shadow:var(--shadow-sm)}
.feat__ico{flex:none;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;color:var(--cyan-deep);background:linear-gradient(160deg,rgba(56,189,248,.14),rgba(14,165,233,.06))}
.feat h3{font-size:1.1rem;margin-bottom:.3rem;color:var(--ink)}
.feat p{color:var(--muted);font-size:.94rem}

/* ===== GALLERY ===== */
.gallery{padding:6.5rem 1.5rem;max-width:var(--maxw);margin:0 auto}
.gallery__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:1.1rem}
.gallery figure{overflow:hidden;border-radius:var(--radius-sm);position:relative}
.gallery figure img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.gallery figure:hover img{transform:scale(1.07)}
.gallery figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,22,38,.35));opacity:0;transition:opacity .4s}
.gallery figure:hover::after{opacity:1}
.gallery figure:not(.ph):hover::after{opacity:1}
/* placeholder tiles */
.ph{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;
  color:var(--cyan-deep);text-align:center;
  background:
    linear-gradient(160deg,rgba(56,189,248,.08),rgba(14,165,233,.03)),
    var(--frost);
  border:1px dashed rgba(14,165,233,.35);
}
.ph::after{display:none}
.ph svg{opacity:.55;transition:transform .4s var(--ease),opacity .4s}
.ph:hover svg{transform:translateY(-3px);opacity:.85}
.ph__cap{display:flex;flex-direction:column;gap:.15rem;line-height:1.3}
.ph__cap b{font-family:var(--f-head);font-weight:600;font-size:.98rem;color:var(--ink-2)}
.ph__cap span{font-size:.78rem;color:var(--muted-2);letter-spacing:.02em}
.g1{grid-column:span 2;grid-row:span 2}
.g4{grid-column:span 2}

/* ===== REVIEWS ===== */
.reviews{padding:6.5rem 1.5rem;max-width:var(--maxw);margin:0 auto}
.reviews__head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-bottom:2.5rem}
.reviews__score{display:flex;align-items:center;gap:1rem}
.reviews__num{font-family:var(--f-head);font-weight:800;font-size:3.4rem;color:var(--ink);line-height:1}
.reviews__score>div>span{color:var(--muted);font-size:.92rem}
.reviews__gl{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-family:var(--f-head);font-weight:600;font-size:.9rem;background:var(--white);border:1px solid var(--line);padding:.6rem 1rem;border-radius:100px}
.reviews__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1.4rem}
.review{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;display:flex;flex-direction:column;gap:1rem;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.review:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm)}
.review p{color:var(--ink-2);font-size:1rem;flex:1}
.review--feature{background:linear-gradient(160deg,#0d1e33,#0a1626);border-color:transparent}
.review--feature p{color:#fff;font-size:1.35rem;font-family:var(--f-head);font-weight:600;line-height:1.35}
.review--feature .review__ava{background:var(--cyan);color:#04101d}
.review--feature footer b{color:#fff}
.review--feature footer span{color:rgba(226,240,251,.6)}
.review footer{display:flex;align-items:center;gap:.75rem}
.review__ava{width:42px;height:42px;border-radius:50%;background:rgba(14,165,233,.14);color:var(--cyan-deep);display:grid;place-items:center;font-family:var(--f-head);font-weight:700}
.review footer b{display:block;font-family:var(--f-head);font-size:.95rem;color:var(--ink)}
.review footer span{font-size:.8rem;color:var(--muted-2)}
.reviews__note{text-align:center;color:var(--muted-2);font-size:.85rem;margin-top:1.6rem}

/* ===== CONTACT ===== */
.contact{background:linear-gradient(160deg,#0a1626,#0d1e33);padding:6rem 1.5rem 0;margin-top:2rem}
.contact__inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
.contact__info h2{color:#fff;font-size:clamp(1.8rem,3.4vw,2.5rem);margin:1rem 0 1.1rem}
.contact__info p{color:rgba(226,240,251,.74);margin-bottom:2rem}
.contact__list{list-style:none;display:grid;gap:1.2rem}
.contact__list li{display:flex;gap:1rem;align-items:flex-start}
.contact__ico{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--cyan-2);background:rgba(125,211,252,.12)}
.contact__list b{display:block;color:rgba(226,240,251,.6);font-family:var(--f-body);font-weight:500;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.15rem}
.contact__list a,.contact__list div>span{color:#fff;font-family:var(--f-head);font-weight:600;font-size:1.05rem}
.contact__list a:hover{color:var(--cyan-2)}

.contact__form{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:2rem;backdrop-filter:blur(10px)}
.contact__form h3{color:#fff;font-size:1.4rem;margin-bottom:1.4rem}
.field{margin-bottom:1rem;display:flex;flex-direction:column}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field label{color:rgba(226,240,251,.7);font-size:.82rem;font-weight:500;margin-bottom:.4rem}
.field input,.field select,.field textarea{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;
  padding:.8rem 1rem;color:#fff;font-family:var(--f-body);font-size:.95rem;transition:border-color .3s,background .3s;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cyan);background:rgba(56,189,248,.08)}
.field select option{color:#0a1626}
.form__hint{text-align:center;color:rgba(226,240,251,.55);font-size:.85rem;margin-top:.9rem}
.form__ok{text-align:center;color:var(--cyan-2);font-weight:600;margin-top:.9rem}

.contact__map{max-width:var(--maxw);margin:4rem auto 0;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;height:340px;border:1px solid rgba(255,255,255,.1);border-bottom:0}
.contact__map iframe{width:100%;height:100%;border:0;filter:grayscale(.3) contrast(1.05)}

/* ===== FOOTER ===== */
.foot{background:#081320;color:#fff;padding:3.5rem 1.5rem 1.5rem}
.foot__inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
.brand--foot .brand__text{color:#fff}
.foot__brand p{color:rgba(226,240,251,.6);font-size:.92rem;margin-top:1rem;max-width:34ch}
.foot__col{display:flex;flex-direction:column;gap:.7rem}
.foot__col b{font-family:var(--f-head);font-size:.95rem;margin-bottom:.3rem}
.foot__col a{color:rgba(226,240,251,.6);font-size:.9rem;transition:color .25s}
.foot__col a:hover{color:var(--cyan-2)}
.foot__bar{max-width:var(--maxw);margin:1.5rem auto 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;color:rgba(226,240,251,.45);font-size:.82rem}

/* ===== FAB ===== */
.fab{position:fixed;bottom:1.4rem;right:1.4rem;z-index:50;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--cyan-deep));color:#04101d;display:none;place-items:center;box-shadow:0 14px 30px -8px rgba(14,165,233,.7);animation:fabpulse 2.5s infinite}
@keyframes fabpulse{0%{box-shadow:0 0 0 0 rgba(56,189,248,.5),0 14px 30px -8px rgba(14,165,233,.7)}70%{box-shadow:0 0 0 14px rgba(56,189,248,0),0 14px 30px -8px rgba(14,165,233,.7)}100%{box-shadow:0 0 0 0 rgba(56,189,248,0),0 14px 30px -8px rgba(14,165,233,.7)}}

/* ===== REVEAL ===== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ===== RESPONSIVE ===== */
@media (max-width:980px){
  .nav__links{display:none}
  .nav__links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:rgba(9,20,34,.97);backdrop-filter:blur(14px);padding:1.2rem 1.5rem;gap:1rem;border-top:1px solid rgba(255,255,255,.08)}
  .burger{display:flex}
  .btn--call span{display:none}
  .hero__inner{grid-template-columns:1fr;gap:2.5rem}
  .hero__panel{order:-1;max-width:300px;margin:0 auto}
  .about__grid,.why__grid,.contact__inner{grid-template-columns:1fr;gap:2.5rem}
  .why__intro{position:static}
  .cards{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .reviews__grid{grid-template-columns:1fr 1fr}
  .review--feature{grid-column:span 2}
  .foot__inner{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .fab{display:grid}
  .hero{padding-top:6rem}
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn{justify-content:center}
  .cards,.steps,.gallery__grid,.reviews__grid{grid-template-columns:1fr}
  .g1,.g4,.review--feature{grid-column:auto}
  .gallery__grid{grid-auto-rows:220px}
  .g1{grid-row:auto}
  .field-row{grid-template-columns:1fr}
  .foot__inner{grid-template-columns:1fr 1fr}
  .foot__brand{grid-column:1 / -1}
  .reviews__head{flex-direction:column;align-items:flex-start}
  .section-head{margin-bottom:2.4rem}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
  .reveal{opacity:1;transform:none}
}
