:root{
    --bg:#eaf4ff;
    --surface:#ffffff;
    --surface-2:#ffffff;
    --line:rgba(30,64,175,.18);
    --text:#0f172a;
    --muted:#1e3a8a;
    --brand:#3b82f6;
    --brand-2:#22d3ee;
    --radius:18px;
    --shadow:0 16px 30px rgba(15,23,42,.12);
    --mx:50vw;
    --my:50vh;
}
[data-theme="light"]{
    --bg:#f3f8ff;
    --surface:rgba(255,255,255,.9);
    --surface-2:rgba(247,250,255,.92);
    --line:rgba(37,99,235,.18);
    --text:#0f172a;
    --muted:#1e3a8a;
    --shadow:0 16px 28px rgba(15,23,42,.14);
}
[data-theme="dark"]{
    --bg:#071325;
    --surface:#0f1f3a;
    --surface-2:#122a4f;
    --line:rgba(125,211,252,.24);
    --text:#e2ecff;
    --muted:#bcd2f5;
    --shadow:0 18px 32px rgba(2,8,20,.42);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    background:
      radial-gradient(circle at 12% 8%,rgba(59,130,246,.28),transparent 42%),
      radial-gradient(circle at 85% 5%,rgba(14,165,233,.24),transparent 44%),
      radial-gradient(circle at 50% 120%,rgba(37,99,235,.2),transparent 48%),
      linear-gradient(160deg,#ffffff 0%,#edf5ff 52%,#d9ecff 100%);
    color:var(--text);
    min-height:100vh;
    transition:background .35s ease,color .35s ease;
}
body::before{
    content:"";
    position:fixed;inset:0;pointer-events:none;z-index:-1;
    background:radial-gradient(520px circle at var(--mx) var(--my),rgba(56,189,248,.18),transparent 60%);
}
body::after{
    content:"";
    position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.14;
    background-image:repeating-linear-gradient(135deg,rgba(30,64,175,.03) 0 2px,transparent 2px 10px);
    mix-blend-mode:multiply;
}
a{color:#1d4ed8;text-decoration:none}
a:hover{color:#1e3a8a}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px}
.aurora{
    position:fixed;inset:auto auto 0 0;pointer-events:none;z-index:-1;filter:blur(64px);opacity:.42;
    animation:float 14s ease-in-out infinite;
}
.aurora--one{width:34vw;height:34vw;left:-8vw;top:8vh;background:radial-gradient(circle,#38bdf8,transparent 65%)}
.aurora--two{width:30vw;height:30vw;right:-8vw;top:46vh;background:radial-gradient(circle,#2563eb,transparent 65%);animation-delay:-7s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}

.topbar{
    position:sticky;top:0;z-index:30;
    backdrop-filter:blur(18px);
    background:rgba(255,255,255,.96);
    border-bottom:1px solid var(--line);
}
.scroll-progress{
    position:fixed;top:0;left:0;height:3px;width:0;
    background:linear-gradient(90deg,#2563eb,#06b6d4);
    z-index:80;transition:width .12s linear
}
.nav{display:flex;justify-content:space-between;align-items:center;min-height:72px;gap:16px}
.brand{
    font-weight:800;font-size:1.24rem;letter-spacing:.3px;
    background:linear-gradient(90deg,#e0f2fe,#7dd3fc);-webkit-background-clip:text;background-clip:text;color:transparent
}
.brand small{
    display:block;
    font-size:.7rem;
    font-weight:600;
    letter-spacing:.2px;
    color:#1e3a8a;
    background:none;
    -webkit-text-fill-color:initial;
}
.nav nav{display:flex;align-items:center;gap:14px}
.nav nav a{
    color:#0f172a;padding:8px 10px;border-radius:10px;transition:all .24s ease;
    display:inline-flex;align-items:center;gap:7px;
}
.nav nav a:hover,.nav nav a.is-active{background:rgba(59,130,246,.16);color:#1e3a8a}
.nav-cta{border:1px solid #60a5fa}
.nav-toggle{
    display:none;background:rgba(37,99,235,.1);border:1px solid var(--line);color:#1e3a8a;
    padding:8px 12px;border-radius:10px
}
.theme-toggle{
    background:rgba(37,99,235,.08);border:1px solid var(--line);color:#1e3a8a;
    padding:8px 12px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px
}
.ico{
    width:16px;height:16px;display:inline-block;flex:0 0 16px;
    border-radius:50%;border:2px solid currentColor;position:relative;opacity:.92
}
.ico::after{content:"";position:absolute;inset:4px;border-radius:50%;background:currentColor;opacity:.25}
.ico-home{border-radius:3px;transform:rotate(45deg)}
.ico-home::after{inset:6px;border-radius:2px}
.ico-tools::after{inset:3px 6px;border-radius:2px}
.ico-pin::after{inset:3px}
.ico-help::after{inset:5px 6px;border-radius:2px}
.ico-blog::after{inset:3px 3px 8px}
.ico-map{border-radius:3px}
.ico-phone{border-radius:8px}
.ico-message{border-radius:6px}
.ico-rss::after{inset:6px}
.ico-doc{border-radius:2px}
.ico-spark::after{inset:2px}
.ico-shield{border-radius:4px}
.ico-mount::after{inset:6px 3px 3px}
.ico-moon{border-color:currentColor}
.ico-moon::after{inset:2px 2px 2px 6px;background:currentColor;opacity:.35}
.ico-sun::after{inset:5px}

main{position:relative}
.hero{
    position:relative;overflow:hidden;
    padding:86px 0 74px;
    background:
      linear-gradient(128deg,#1e40af,#0c4a6e 55%,#0ea5e9),
      radial-gradient(circle at 88% 12%,rgba(125,211,252,.35),transparent 48%);
    border-bottom:1px solid var(--line);
    --depth:1;
    --depth-blur:0px;
    --depth-shift:0px;
    transform:translateY(var(--depth-shift));
    filter:blur(var(--depth-blur));
    transition:transform .28s ease,filter .28s ease,opacity .28s ease;
    opacity:calc(.9 + (var(--depth) * .1));
}
.hero-layer{
    position:absolute;border-radius:999px;pointer-events:none;opacity:.32;filter:blur(34px);
    will-change:transform;
}
.hero-layer--one{
    width:320px;height:320px;left:-90px;top:20px;
    background:radial-gradient(circle,rgba(125,211,252,.8),transparent 64%);
}
.hero-layer--two{
    width:360px;height:360px;right:-120px;top:-40px;
    background:radial-gradient(circle,rgba(59,130,246,.72),transparent 64%);
}
.hero-layer--three{
    width:420px;height:420px;left:36%;top:120px;
    background:radial-gradient(circle,rgba(14,165,233,.56),transparent 66%);
}
.hero::after{
    content:"";position:absolute;inset:0;
    background-image:linear-gradient(transparent 95%,rgba(186,230,253,.08) 95%);
    background-size:100% 32px;pointer-events:none
}
.hero h1{font-size:clamp(2rem,4.8vw,3.35rem);margin:0 0 12px}
.hero p{max-width:760px;color:#e0f2fe}

.btn{
    display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,#3b82f6,#06b6d4);
    color:#eff6ff;padding:11px 18px;border-radius:12px;font-weight:700;border:1px solid rgba(125,211,252,.4);
    box-shadow:0 10px 26px rgba(37,99,235,.35);transition:transform .24s ease,box-shadow .24s ease,filter .24s ease;
    will-change:transform;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(37,99,235,.42);filter:saturate(1.12)}

.section{padding:52px 0}
.section{
    background:
      linear-gradient(180deg,#ffffff,#f3f9ff);
    border-top:1px solid rgba(59,130,246,.14);
    border-bottom:1px solid rgba(59,130,246,.14);
    position:relative;
    overflow:hidden;
    --depth:1;
    --depth-blur:0px;
    --depth-shift:0px;
    transform:translateY(var(--depth-shift));
    filter:blur(var(--depth-blur));
    transition:transform .28s ease,filter .28s ease,opacity .28s ease;
    opacity:calc(.86 + (var(--depth) * .14));
}
.section:nth-of-type(even){
    background:
      linear-gradient(180deg,#ffffff,#eef7ff);
}
.section::after{
    content:"";
    position:absolute;inset:0;pointer-events:none;
    background-image:
      radial-gradient(circle at 12% 20%,rgba(59,130,246,.08) 0,transparent 28%),
      radial-gradient(circle at 80% 78%,rgba(14,165,233,.1) 0,transparent 30%);
}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.card{
    background:#ffffff;
    border:1px solid rgba(59,130,246,.22);
    border-radius:var(--radius);
    padding:18px;
    box-shadow:var(--shadow);
    backdrop-filter:blur(9px);
    transition:transform .24s ease,border-color .24s ease;
    color:#0f172a;
    content-visibility:auto;
    contain-intrinsic-size: 320px;
}
.card:hover{transform:translateY(-4px);border-color:rgba(30,64,175,.24)}
.card h2,.card h3{margin-top:0}
.card p,.card li{color:#1e3a8a}
.card a{color:#1d4ed8}
.card a:hover{color:#1e3a8a}
.is-loading .card,
.is-loading .hero .btn,
.is-loading h1,
.is-loading h2{
    position:relative;
    overflow:hidden;
}
.is-loading .card::after,
.is-loading .hero .btn::after,
.is-loading h1::after,
.is-loading h2::after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.14) 45%,transparent 70%);
    animation:shimmer 1.2s linear infinite;
}
@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.chip{
    display:inline-flex;align-items:center;gap:6px;
    background:rgba(34,211,238,.16);color:#a5f3fc;border:1px solid rgba(34,211,238,.28);
    padding:5px 10px;border-radius:999px;font-size:12px
}
.chip .ico{width:14px;height:14px;flex-basis:14px}
.card h2 .ico,.card h3 .ico{width:18px;height:18px;vertical-align:-3px;flex-basis:18px}

.list{margin:0;padding-left:18px;color:#1e3a8a}
.list li{margin:7px 0}
.form input,.form textarea,.form select{
    width:100%;padding:11px;border-radius:12px;border:1px solid rgba(96,165,250,.3);
    margin-top:6px;background:#ffffff;color:#0f172a
}
.form label{display:block;margin-bottom:12px}
.form button{background:linear-gradient(135deg,#2563eb,#0891b2);color:#fff;border:0;padding:11px 16px;border-radius:12px}
.form input:focus,.form textarea:focus,.form select:focus{
    outline:2px solid rgba(59,130,246,.38);
    outline-offset:1px;
    border-color:rgba(59,130,246,.48);
}

.footer{
    background:linear-gradient(135deg,#1e40af,#0ea5e9);
    color:#ffffff;
    padding:24px 0;margin-top:46px;
    border-top:1px solid var(--line);backdrop-filter:blur(12px)
}
.footer-grid{display:flex;justify-content:space-between;gap:20px}
.footer a{display:block;color:#ffffff;margin:6px 0}
.footer a{display:flex;align-items:center;gap:8px}
.mobile-cta{display:none}
h1,h2,h3{line-height:1.2;letter-spacing:.1px}
main p{line-height:1.72;color:var(--muted)}
body::selection{background:rgba(59,130,246,.25)}
.cinematic-ready main{
    animation:cinematicReveal .8s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes cinematicReveal{
    0%{opacity:.02;filter:blur(10px);transform:translateY(8px)}
    100%{opacity:1;filter:blur(0);transform:translateY(0)}
}

[data-theme="dark"] body{
    background:
      radial-gradient(circle at 12% 8%,rgba(59,130,246,.34),transparent 42%),
      radial-gradient(circle at 85% 5%,rgba(14,165,233,.28),transparent 44%),
      radial-gradient(circle at 50% 120%,rgba(37,99,235,.25),transparent 48%),
      linear-gradient(160deg,#08152a 0%,#0b1f3d 52%,#10305f 100%);
}
[data-theme="dark"] body::before{
    background:radial-gradient(520px circle at var(--mx) var(--my),rgba(59,130,246,.22),transparent 60%);
}
[data-theme="dark"] body::after{opacity:.12;mix-blend-mode:screen}
[data-theme="dark"] .topbar{background:rgba(7,19,37,.92)}
[data-theme="dark"] .nav nav a{color:#dbeafe}
[data-theme="dark"] .nav nav a:hover,
[data-theme="dark"] .nav nav a.is-active{background:rgba(59,130,246,.28);color:#ffffff}
[data-theme="dark"] .theme-toggle,
[data-theme="dark"] .nav-toggle{color:#dbeafe;border-color:rgba(125,211,252,.3);background:rgba(30,64,175,.3)}
[data-theme="dark"] .brand small{color:#bfdbfe}
[data-theme="dark"] .section{
    background:linear-gradient(180deg,rgba(15,31,58,.9),rgba(18,42,79,.9));
    border-top:1px solid rgba(125,211,252,.2);
    border-bottom:1px solid rgba(125,211,252,.2);
}
[data-theme="dark"] .section:nth-of-type(even){
    background:linear-gradient(180deg,rgba(18,42,79,.92),rgba(14,33,63,.92));
}
[data-theme="dark"] .card{
    background:linear-gradient(165deg,rgba(16,36,68,.95),rgba(18,48,90,.95));
    border-color:rgba(125,211,252,.28);
    color:#e2ecff;
}
[data-theme="dark"] .card p,
[data-theme="dark"] .card li{color:#c7dbff}
[data-theme="dark"] .card a{color:#93c5fd}
[data-theme="dark"] .form input,
[data-theme="dark"] .form textarea,
[data-theme="dark"] .form select{
    background:rgba(7,19,37,.92);
    color:#e2ecff;
    border-color:rgba(125,211,252,.26);
}
[data-theme="dark"] .footer{
    background:linear-gradient(135deg,#0f172a,#1e3a8a);
}
[data-theme="dark"] .scroll-progress{background:linear-gradient(90deg,#60a5fa,#22d3ee)}
[data-theme="dark"] .hero-layer--one{background:radial-gradient(circle,rgba(125,211,252,.58),transparent 64%)}
[data-theme="dark"] .hero-layer--two{background:radial-gradient(circle,rgba(96,165,250,.54),transparent 64%)}
[data-theme="dark"] .hero-layer--three{background:radial-gradient(circle,rgba(34,211,238,.4),transparent 66%)}

[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
    *,*::before,*::after{animation:none !important;transition:none !important}
    [data-reveal]{opacity:1;transform:none}
    body::before,body::after{display:none}
    .hero-layer{display:none}
    .section,.hero{transform:none;filter:none;opacity:1}
}
.low-fx body::before,.low-fx body::after{display:none}
.low-fx .aurora{animation:none}
.low-fx .hero-layer{display:none}
.low-fx .section,.low-fx .hero{transform:none;filter:none;opacity:1}

@media(max-width:940px){
    .nav-toggle{display:block}
    .nav nav{
        position:absolute;left:18px;right:18px;top:76px;
        background:rgba(255,255,255,.98);border:1px solid var(--line);
        border-radius:14px;padding:12px;display:none;flex-direction:column;align-items:stretch
    }
    .nav nav.is-open{display:flex}
    .theme-toggle span{display:none}
}
@media(max-width:740px){
    .hero{padding-top:70px}
    .footer-grid{flex-direction:column}
    body{padding-bottom:110px}
    .mobile-cta{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:10px;
        position:fixed;
        left:10px;right:10px;bottom:10px;
        z-index:60;
    }
    .mobile-cta__btn{
        display:flex;flex-direction:column;align-items:center;justify-content:center;
        min-height:64px;border-radius:14px;color:#fff;
        box-shadow:0 10px 24px rgba(30,64,175,.35);
        border:1px solid rgba(255,255,255,.28);
        transition:transform .2s ease;
        will-change:transform;
    }
    .mobile-cta__btn .ico{width:18px;height:18px;flex-basis:18px;margin-bottom:2px}
    .mobile-cta__btn span{font-size:12px;opacity:.92}
    .mobile-cta__btn strong{font-size:15px;line-height:1.2}
    .mobile-cta__btn--call{background:linear-gradient(140deg,#1d4ed8,#2563eb)}
    .mobile-cta__btn--wa{background:linear-gradient(140deg,#059669,#10b981)}
}

