/* ================================================================
   noGrey v4 — čistý moderný dizajn · azúrová + mint
   Písma: Bricolage Grotesque (nadpisy) + Manrope (text)
   KONTRASTNÉ PRAVIDLÁ:
   - text na bielom: --ink / --slate / --azure-text (AA overené)
   - mint NIKDY ako text na bielom (len výplne/orámovania/na tmavom)
   - v .dark scope má KAŽDÝ textový prvok explicitnú farbu
   ================================================================ */
:root{
  --ink:#0B1220;            /* takmer čierna s modrým podtónom */
  --slate:#4B5A6B;          /* sekundárny text na bielom */
  --muted:#7C8A99;          /* labely */
  --azure:#0E9DE5;          /* akcent — výplne, na tmavom */
  --azure-text:#16AFD4;
  --azure-deep:#28D9AC;
  --mint:#2BE0A6;           /* akcent — výplne, na tmavom */
  --grad:linear-gradient(92deg,var(--azure) 0%,var(--mint) 100%);
  --bg:#FFFFFF;
  --tint:#F2F8FD;           /* svetlá azúrová podložka sekcií */
  --line:#E3EAF2;           /* linky na svetlom */
  --dark-panel:#101A2B;     /* karty na tmavom */
  --line-d:#22314A;         /* linky na tmavom */
  --dark-text:#AAB8C9;      /* telo textu na tmavom */
  --radius:18px;
  --max:1160px;
  --shadow:0 14px 34px rgba(11,18,32,.10);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
h1,h2,h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;line-height:1.1;letter-spacing:-.015em;color:var(--ink)}
h2{font-size:clamp(1.7rem,3.6vw,2.45rem);margin-bottom:.55em}
img{max-width:100%;display:block}
a{color:var(--azure-text)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 26px}
section{padding:92px 0}
.tint{background:var(--tint)}

/* label sekcie */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.13em;color:var(--azure-text);margin-bottom:18px}
.eyebrow::before{content:"";width:9px;height:9px;border-radius:3px;background:var(--grad);flex:none}
.dark .eyebrow{color:var(--mint)}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}
/* tieňovanie ako logo – -webkit-text-fill-color kvôli Safari/iOS */
.grad-logo,.cta-final h2.grad-logo,.dark h2.grad-logo,
section:not(.dark) > .wrap h2{background:linear-gradient(100deg,#259BD7 0%,#5EBA96 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* ============ NAV ============ */
nav{position:fixed;top:0;left:0;right:0;z-index:60;background:#0B1220;border-bottom:1px solid rgba(255,255,255,.08);transition:background .25s}
nav.scrolled{background:#0B1220}
.nav-inner{max-width:var(--max);margin:0 auto;padding:0 26px;height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-family:'Bricolage Grotesque';font-weight:800;font-size:1.35rem;text-decoration:none;color:#fff}
.logo span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.logo-img{height:27px;width:auto;display:block}
.foot-logo-img{height:31px}
.nav-links{display:flex;gap:26px;align-items:center;list-style:none}
.nav-links a{color:#D5DEE9;text-decoration:none;font-weight:600;font-size:.92rem;transition:color .15s}
.nav-links a:hover{color:var(--mint)}
.nav-links a.btn{color:#fff;font-size:.85rem;padding:10px 20px}
.nav-links a.btn:hover{color:#fff}
@media(max-width:920px){.nav-links{display:none}}

/* ============ MOBILNÝ HAMBURGER + MENU ============ */
.nav-burger{display:none;position:relative;z-index:70;width:46px;height:46px;padding:0;border:0;background:transparent;cursor:pointer;animation:burgerPulse 2.4s ease-in-out infinite}
.nav-burger.is-open{animation:none}
@keyframes burgerPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
.nav-burger span{position:absolute;left:11px;right:11px;height:2.5px;border-radius:3px;background:#fff;transition:transform .34s cubic-bezier(.16,1,.3,1),opacity .2s ease,background .2s}
.nav-burger span:nth-child(1){top:16px}
.nav-burger span:nth-child(2){top:22px}
.nav-burger span:nth-child(3){top:28px}
.nav-burger:hover span{background:var(--mint)}
.nav-burger.is-open span{background:var(--mint)}
.nav-burger.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-burger.is-open span:nth-child(2){opacity:0;transform:scaleX(.3)}
.nav-burger.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.mobile-menu{position:fixed;inset:0;z-index:55;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:88px 24px 44px;
  background:radial-gradient(720px 620px at 82% 16%,rgba(14,157,229,.24),transparent 60%),radial-gradient(1100px 820px at 50% 0,#12304A 0%,var(--ink) 60%);
  opacity:0;visibility:hidden;clip-path:circle(0% at calc(100% - 35px) 39px);
  transition:clip-path .55s cubic-bezier(.16,1,.3,1),opacity .35s ease,visibility .55s}
.mobile-menu.is-open{opacity:1;visibility:visible;clip-path:circle(150% at calc(100% - 35px) 39px)}
.mm-links{list-style:none;display:flex;flex-direction:column;align-items:center;gap:4px;margin:auto;padding:0}
.mm-links li{opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .55s cubic-bezier(.16,1,.3,1)}
.mobile-menu.is-open .mm-links li{opacity:1;transform:none;transition-delay:calc(.16s + var(--i) * .06s)}
.mm-links a{display:inline-block;padding:10px 22px;font-family:'Bricolage Grotesque';font-weight:700;font-size:clamp(1.5rem,7vw,2rem);line-height:1.2;letter-spacing:-.015em;color:#fff;text-decoration:none;transition:color .18s,transform .18s}
.mm-links a:hover,.mm-links a:focus-visible{color:var(--mint);transform:translateY(-2px)}
.mm-links a.mm-tel{font-family:'Manrope';font-size:1.2rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;margin-top:8px}
.mm-links a.mm-cta{margin-top:18px;background:var(--azure-text);color:#fff;border-radius:13px;padding:15px 34px;font-family:'Manrope';font-size:1.02rem}
.mm-links a.mm-cta:hover{background:var(--azure-deep);color:#fff;transform:translateY(-2px)}
body.menu-lock{overflow:hidden}
@media(max-width:920px){.nav-burger{display:block}}
@media(prefers-reduced-motion:reduce){
  .mobile-menu{clip-path:none!important;transition:opacity .2s ease,visibility .2s}
  .nav-burger span{transition:none}
  .nav-burger{animation:none}
  .mm-links li{transition:none;transform:none}
}

/* ============ TLAČIDLÁ ============ */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 28px;border-radius:12px;font-weight:700;font-size:.95rem;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s,color .16s;font-family:'Manrope'}
.btn::after{content:"→";font-weight:600;transition:transform .2s ease}
.btn:hover::after{transform:translateX(4px)}
.btn-primary{background:var(--azure-text);color:#fff}
.btn-primary:hover{background:var(--azure-deep);transform:translateY(-2px);box-shadow:0 10px 26px rgba(10,111,184,.35)}
.btn-ghost{color:#fff;border-color:rgba(255,255,255,.4);background:transparent}
.btn-ghost:hover{border-color:var(--mint);color:var(--mint);transform:translateY(-2px)}
.btn-dark{color:var(--azure-deep);border-color:#C8D3DF;background:#fff}
.btn-dark:hover{border-color:var(--azure-deep);color:var(--azure-deep);transform:translateY(-2px)}
.pill{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:10px;border:1.5px solid #C8D3DF;color:var(--ink);font-size:.83rem;font-weight:700;text-decoration:none;transition:all .16s;background:#fff}
.pill::after{content:"→";font-weight:600;transition:transform .2s}
.pill:hover{border-color:var(--azure-text);color:var(--azure-text)}
.pill:hover::after{transform:translateX(3px)}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.35);transform:scale(0);animation:rip .55s ease-out forwards;pointer-events:none}
.btn-dark .ripple,.pill .ripple,.filters .ripple{background:rgba(14,157,229,.18)}
@keyframes rip{to{transform:scale(3.2);opacity:0}}

/* ============ HERO ============ */
.hero{position:relative;background:radial-gradient(720px 620px at 76% 44%,rgba(14,157,229,.18),transparent 62%),radial-gradient(1100px 640px at 82% -12%,#12304A 0%,var(--ink) 58%);color:#fff;padding:158px 0 100px;overflow:hidden}
.hero::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-140px;height:260px;background:var(--grad);opacity:.16;filter:blur(80px);pointer-events:none}
.hero-inner{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:0 26px;display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center}
@media(max-width:960px){.hero-inner{grid-template-columns:1fr}.hero-visual{display:none}}
.hero h1{font-size:clamp(2.3rem,5.4vw,3.9rem);font-weight:800;color:#fff;margin-bottom:24px;max-width:16ch}
.hero p.lead{font-size:clamp(1rem,1.8vw,1.18rem);max-width:54ch;margin-bottom:34px;color:var(--dark-text)}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:44px}
.trust{display:flex;gap:18px;flex-wrap:wrap;list-style:none;border-top:1px solid var(--line-d);padding-top:20px;justify-content:space-between}
.trust li{font-size:.62rem;font-weight:600;color:#8FA2B8;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.trust li b{display:block;font-family:'Bricolage Grotesque';font-size:1.18rem;font-weight:800;color:#fff;letter-spacing:0;text-transform:none;line-height:1.2}
.trust li b em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-visual{position:relative;height:460px;display:grid;place-items:center;z-index:1}
.hero-inner>div:first-child{position:relative;z-index:2} /* text prechádza ponad zemeguľu */
.shot{position:absolute;border-radius:14px;overflow:hidden;box-shadow:0 34px 80px rgba(0,0,0,.5);animation:float 8s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-14px) rotate(.5deg)}}

/* voľná jemná levitácia obrázkov */
.levitate{animation:levitate 7s ease-in-out infinite}
@keyframes levitate{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* interaktívne canvas animácie v hlavičkách sekcií */
.fx-head{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}
.fx-canvas{width:min(100%,400px);height:240px;justify-self:end;cursor:pointer}
/* AI particles – veľké, siahajú za karty služieb */
#sluzby .wrap{position:relative}
#sluzby .grid,#sluzby .fx-head>div{position:relative;z-index:1}
#fx-ai{position:absolute;top:-14px;right:-56px;width:595px;height:357px;z-index:0;opacity:.85}
/* svetelný proces – veľký, za kartami Prečo noGrey */
#preco .wrap{position:relative}
#preco .grid,#preco .fx-head>div{position:relative;z-index:1}
#fx-proc{position:absolute;top:-40px;right:-70px;width:680px;height:410px;z-index:0;opacity:.9}
#preco .card,#sluzby .card{background:rgba(16,26,43,.95)} /* mierne priehľadné – presvitá animácia */
/* ambientné pozadové animácie sekcií */
#biznis,#postup{position:relative}
#fx-biznis,#fx-tech{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
#biznis>.wrap,#postup>.wrap{position:relative;z-index:1}
@media(max-width:960px){.fx-canvas{display:none}.fx-head{grid-template-columns:1fr}}

/* animovaná zemeguľa – čisté particles na canvase, bez pozadia */
#globe{position:absolute;width:1125px;max-width:none;left:calc(50% - 650px);top:calc(50% - 622px);aspect-ratio:1;animation:globeFloat 9s ease-in-out infinite;filter:drop-shadow(0 0 46px rgba(20,140,210,.28));cursor:pointer;-webkit-tap-highlight-color:transparent}
@keyframes globeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

/* nástup hero obsahu pri načítaní stránky */
@keyframes heroIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.hero-inner>div:first-child>*{opacity:0;animation:heroIn .8s cubic-bezier(.16,1,.3,1) forwards}
.hero-inner>div:first-child>.eyebrow{animation-delay:.05s}
.hero-inner>div:first-child>h1{animation-delay:.16s}
.hero-inner>div:first-child>p.lead{animation-delay:.3s}
.hero-inner>div:first-child>.hero-ctas{animation-delay:.44s}
.hero-inner>div:first-child>.trust{animation-delay:.58s}
.hero-visual{opacity:0;animation:heroInVisual 1s cubic-bezier(.16,1,.3,1) .32s forwards}
@keyframes heroInVisual{from{opacity:0;transform:translateY(26px) scale(.97)}to{opacity:1;transform:none}}

/* ============ SUB-HERO ============ */
.sub-hero{position:relative;background:radial-gradient(720px 620px at 76% 44%,rgba(14,157,229,.18),transparent 62%),radial-gradient(900px 520px at 82% -12%,#12304A 0%,var(--ink) 60%);color:#fff;padding:150px 0 86px;overflow:hidden}
.sub-hero .wrap{position:relative;z-index:2}
.sub-hero h1{font-size:clamp(2rem,4.6vw,3.2rem);font-weight:800;color:#fff;margin-bottom:18px;max-width:21ch}
.sub-hero p.lead{font-size:1.04rem;max-width:60ch;color:var(--dark-text);margin-bottom:32px}
.crumb{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#6E8095;margin-bottom:20px}
.crumb a{color:#9DB0C4;text-decoration:none}
.crumb a:hover{color:var(--mint)}
.blob{display:none}

/* ============ BROWSER MOCKUPY ============ */
.browser{background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.browser .bar{display:flex;align-items:center;gap:6px;padding:9px 13px;background:#F3F6FA;border-bottom:1px solid var(--line)}
.browser .bar i{width:9px;height:9px;border-radius:50%;display:block}
.browser .bar i:nth-child(1){background:#0E9DE5}.browser .bar i:nth-child(2){background:#0A6FB8}.browser .bar i:nth-child(3){background:#085E9C}
.browser .url{margin-left:10px;flex:1;background:#fff;border-radius:6px;font-size:.66rem;color:var(--muted);padding:3px 10px;border:1px solid var(--line);font-weight:600}
.browser .page{aspect-ratio:16/10;position:relative;display:flex;flex-direction:column}
.m-hero{flex:1;display:flex;flex-direction:column;justify-content:center;padding:8%;gap:8px}
.m-line{height:9px;border-radius:5px;background:rgba(255,255,255,.93)}
.m-line.sm{height:5px;opacity:.78}
.m-btn{width:32%;height:13px;border-radius:7px;background:#fff;margin-top:6px}
.m-cards{display:flex;gap:6px;padding:0 8% 8%}
.m-cards i{flex:1;height:31px;border-radius:6px;background:rgba(255,255,255,.86);display:block}
.t-dukla .page{background:linear-gradient(135deg,#c4161f,#5c0a0f)}
.t-slovakia .page{background:linear-gradient(135deg,#0a53a8,#062f63)}
.t-rezidencia .page{background:linear-gradient(135deg,#2e7d5b,#123527)}
.t-eurotip .page{background:linear-gradient(135deg,#c62828,#3a3a42)}
.t-mercedes .page{background:linear-gradient(135deg,#2a2f38,#0b0d10)}
.t-bosco .page{background:linear-gradient(135deg,#d1731d,#5e2f08)}
.t-gratube .page{background:linear-gradient(135deg,#2e3833,#121815)}
.t-tiso .page{background:linear-gradient(135deg,#d8c520,#26221a)}
.t-schodex .page{background:linear-gradient(135deg,#e2661e,#1f8a70)}
.t-humed .page{background:linear-gradient(135deg,#a3123a,#4a0a1e)}
.t-magnus .page{background:linear-gradient(135deg,#8a744a,#241d10)}
.t-sushi .page{background:linear-gradient(135deg,#b3313c,#1d1013)}
.t-kotaind .page{background:linear-gradient(135deg,#1e9e50,#0e2e1a)}
.t-nogrey .page{background:linear-gradient(135deg,var(--azure-deep),var(--azure))}
.t-nogrey2 .page{background:linear-gradient(135deg,var(--azure),var(--mint))}

/* ============ TMAVÉ SEKCIE ============ */
.dark{background:radial-gradient(720px 620px at 76% 44%,rgba(14,157,229,.18),transparent 62%),radial-gradient(1100px 640px at 82% -12%,#12304A 0%,var(--ink) 58%);color:var(--dark-text)}
.dark h2,.dark h3{color:#fff}
.dark p{color:var(--dark-text)}
.dark strong{color:#fff}

/* ============ KARTY ============ */
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{background:#fff;border-radius:var(--radius);padding:32px;border:1px solid var(--line);transition:transform .18s ease,box-shadow .18s ease,border-color .18s;position:relative;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;align-items:flex-start}
.card h3,.card p{width:100%}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#BFE3F7}

/* ============ TÍM ============ */
.team{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.team-card{background:none;border:none;border-radius:0;padding:0;text-align:center}
.team-photo{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:14px;display:block;margin:0 0 16px;box-shadow:0 8px 20px rgba(11,18,32,.14);background:var(--tint)}
.team-card h3{font-size:1rem;margin:0 0 4px;text-transform:uppercase}
.team-role{display:block;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--azure-text);margin-bottom:8px}
.team-quote-row{display:flex;align-items:flex-start;gap:8px}
.team-quote{flex:none;font-family:'Bricolage Grotesque';font-size:2.6rem;font-weight:800;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;margin-top:-4px}
.team-motto{font-size:.86rem;line-height:1.35;color:var(--slate);font-style:normal;text-align:left;margin:0;flex:1}
@media(max-width:700px){.team-photo{max-width:180px;margin:0 auto 16px}}
.card h3{font-size:1.12rem;margin-bottom:10px}
.card p{color:var(--slate);font-size:.94rem}
.dark .card{background:var(--dark-panel);border-color:var(--line-d)}
.dark .card h3{color:#fff}
.dark .card p{color:var(--dark-text)}
.dark .card:hover{border-color:#2E5E86;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.card .rows{margin-top:auto;padding-top:18px;width:100%}
.rows>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--line);font-size:.9rem}
.rows span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.rows b{color:var(--azure-text);font-weight:700}
.dark .rows>div{border-color:var(--line-d)}
.dark .rows b{color:var(--mint)}
.dark .rows span{color:#93A7BC} /* labely CENA/TERMÍN čitateľné na tmavom */
.card .pill{margin-top:18px}
.more{display:none}

/* ============ IKONY ============ */
.ic{width:46px;height:46px;margin-bottom:18px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(14,157,229,.12),rgba(43,224,166,.12));border:1px solid #CBE9F9;border-radius:13px;padding:10px;transition:transform .22s cubic-bezier(.34,1.5,.64,1)}
.ic *{stroke:var(--azure-text);stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.dark .ic{background:rgba(43,224,166,.08);border-color:#234A63}
.dark .ic *{stroke:var(--mint)}
.card:hover .ic{transform:translateY(-3px) scale(1.06)}
.reveal .ic *{stroke-dasharray:95;stroke-dashoffset:95}
.reveal.in .ic *{animation:draw .95s ease .12s forwards}
@keyframes draw{to{stroke-dashoffset:0}}

/* ============ CHECKLIST / STATS ============ */
.check{list-style:none;display:grid;gap:13px}
.check li{display:flex;gap:13px;align-items:flex-start;font-size:.96rem;color:var(--ink)}
.dark .check li{color:#E7EDF4}
.check li::before{content:"✓";flex:none;width:24px;height:24px;border-radius:8px;background:var(--grad);color:var(--ink);display:grid;place-items:center;font-size:.72rem;font-weight:800;margin-top:2px}
.check li a{color:var(--azure-text)}
.dark .check li a{color:var(--mint)}
.reveal .check li::before{transform:scale(0)}
.reveal.in .check li::before{animation:pop .4s cubic-bezier(.5,1.6,.5,1) forwards}
.reveal.in .check li:nth-child(2)::before{animation-delay:.07s}
.reveal.in .check li:nth-child(3)::before{animation-delay:.14s}
.reveal.in .check li:nth-child(4)::before{animation-delay:.21s}
.reveal.in .check li:nth-child(5)::before{animation-delay:.28s}
.reveal.in .check li:nth-child(6)::before{animation-delay:.35s}
@keyframes pop{to{transform:scale(1)}}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;text-align:center}
.stats>div{padding:28px 18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.dark .stats>div{border-color:var(--line-d);background:var(--dark-panel)}
.stats b{font-family:'Bricolage Grotesque';font-size:clamp(1.8rem,4vw,2.5rem);display:block;font-weight:800;line-height:1.15;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stats span{color:var(--muted);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}
.dark .stats span{color:#8FA2B8}

/* ============ MARQUEE ============ */
.marquee{overflow:hidden;border-bottom:1px solid var(--line);padding:18px 0;background:#fff}
.marquee-track{display:flex;gap:58px;width:max-content;animation:scroll 28s linear infinite;font-weight:700;font-size:.86rem;color:#B4C0CC;white-space:nowrap;text-transform:uppercase;letter-spacing:.08em}
.marquee-track span{display:flex;align-items:center;gap:58px}
.marquee-track b{color:var(--slate);font-weight:700}
@keyframes scroll{to{transform:translateX(-50%)}}
.marquee:hover .marquee-track{animation-play-state:paused}

/* ============ PARTNERI (logo karusel) ============ */
.partners{margin-top:-70px;padding:60px 0;background:#F7F9FB;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.partners .p-head{text-align:center;max-width:820px;margin:0 auto 34px;border-top:0!important;padding-top:0!important}
.partners .p-head .eyebrow{justify-content:center}
.partners .p-head h2{font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.28;margin:0}
.plogos{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.plogos-track{display:flex;align-items:center;gap:66px;width:max-content;animation:plscroll 46s linear infinite}
.partners:hover .plogos-track{animation-play-state:paused}
@keyframes plscroll{to{transform:translateX(-50%)}}
.pl-item{flex:none;display:inline-flex;align-items:center;justify-content:center;height:44px;text-decoration:none;opacity:.5;filter:grayscale(1);transition:opacity .22s ease,filter .22s ease,transform .22s ease}
.pl-item:hover,.pl-item:focus-visible{opacity:1;filter:grayscale(0);transform:translateY(-2px)}
.pl-item img{height:100%;width:auto;max-width:168px;object-fit:contain;display:block}
.pl-name{font-family:'Bricolage Grotesque';font-weight:700;font-size:1.15rem;letter-spacing:-.01em;color:var(--slate);white-space:nowrap}
@media(prefers-reduced-motion:reduce){
  .plogos{-webkit-mask-image:none;mask-image:none}
  .plogos-track{animation:none;flex-wrap:wrap;justify-content:center;width:100%;row-gap:30px}
  .pl-item{opacity:.75;filter:grayscale(1)}
}
@media(max-width:700px){.partners{margin-top:0}}
@media(max-width:560px){.partners{padding:44px 0}.plogos-track{gap:48px}.pl-item{height:38px}}

/* ============ PORTFÓLIO ============ */
.pf{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#fff;transition:transform .18s,box-shadow .18s,border-color .18s}
.pf:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#BFE3F7}
a.pf{display:block;color:var(--ink);text-decoration:none}
a.pf .pill{background:#F6F8FB;border-color:#ECF0F5;box-shadow:0 2px 5px rgba(11,18,32,.035)}
a.pf:hover .pill{border-color:var(--azure-text);color:var(--azure-text);box-shadow:0 3px 6px rgba(11,18,32,.05)}
a.pf:hover .pill::after{transform:translateX(3px)}
.pf .browser{border:0;border-radius:0;border-bottom:1px solid var(--line)}
.pf-body{padding:22px 24px 26px}
.pf-body h3{font-size:1.06rem;margin:12px 0 8px}
.pf-body p{color:var(--slate);font-size:.9rem}
.ref-tag{display:inline-block;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em;padding:5px 12px;border-radius:8px;background:linear-gradient(135deg,rgba(14,157,229,.13),rgba(43,224,166,.13));color:var(--azure-text);border:1px solid #CBE9F9}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0 6px}
.filters button{position:relative;overflow:hidden;padding:9px 20px;border-radius:10px;border:1.5px solid #C8D3DF;background:#fff;font-family:'Manrope';font-weight:700;font-size:.83rem;cursor:pointer;transition:all .15s;color:var(--slate)}
.filters button:hover{border-color:var(--azure-text);color:var(--azure-text)}
.filters button.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ============ PROCES ============ */
.step{display:flex;gap:22px;align-items:flex-start;padding:24px 0;border-bottom:1px solid var(--line-d)}
.step:last-child{border-bottom:0}
section:not(.dark) .step{border-color:var(--line)}
.step-num{font-family:'Bricolage Grotesque';font-weight:800;font-size:1.1rem;flex:none;width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:var(--grad);color:var(--ink);transition:transform .2s cubic-bezier(.34,1.5,.64,1)}
.step:hover .step-num{transform:rotate(-6deg) scale(1.07)}
.step h3{font-size:1.08rem;margin-bottom:5px}
.step p{color:var(--slate)}
.dark .step h3{color:#fff}
.dark .step p{color:var(--dark-text)}

/* ============ FAQ ============ */
details{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;background:#fff;overflow:hidden;transition:border-color .15s}
details:hover{border-color:#BFE3F7}
details[open]{border-color:var(--azure)}
summary{cursor:pointer;padding:19px 24px;font-weight:700;font-size:.99rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.35rem;font-weight:500;color:var(--azure-text);transition:transform .2s;flex:none}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 24px 20px;color:var(--slate);font-size:.94rem}

/* ============ CENNÍK ============ */
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px;align-items:stretch}
.price-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px 32px;display:flex;flex-direction:column;position:relative;transition:transform .18s,box-shadow .18s}
.price-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.price-card.featured{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;box-shadow:0 20px 48px rgba(14,157,229,.18)}
.price-card .tier{font-weight:800;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;color:var(--muted);margin-bottom:10px}
.price-card .price{font-family:'Bricolage Grotesque';font-weight:800;font-size:2.15rem;color:var(--ink);margin-bottom:6px}
.price-card .price::first-letter{text-transform:none}
.price-card .for{color:var(--slate);font-size:.9rem;margin-bottom:22px}
.price-card .check{margin-bottom:28px;font-size:.9rem;gap:10px}
.price-card .btn{margin-top:auto}
.badge-top{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--grad);color:var(--ink);font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:6px 16px;border-radius:999px;white-space:nowrap}

/* kalkulačka */
.calc{background:radial-gradient(700px 400px at 85% -20%,#12304A 0%,var(--ink) 60%);border:1px solid var(--line-d);border-radius:22px;padding:40px;color:#fff;display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center}
@media(max-width:820px){.calc{grid-template-columns:1fr}}
.calc h2{color:#fff;font-size:clamp(1.35rem,2.6vw,1.85rem)}
.calc .eyebrow{color:var(--mint)}
.calc .result{text-align:center;border-left:1px solid var(--line-d);padding-left:44px}
@media(max-width:820px){.calc .result{border-left:0;padding-left:0;border-top:1px solid var(--line-d);padding-top:28px}}
.calc .result span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:#8FA2B8;display:block;margin-bottom:8px}
.calc .result b{font-family:'Bricolage Grotesque';font-size:clamp(2.1rem,4.6vw,2.9rem);font-weight:800;display:block;line-height:1.1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.calc .result small{color:#8FA2B8;font-size:.82rem;display:block;margin-top:10px}
.calc label.chk{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:.9rem;font-weight:600;color:#D5DEE9;cursor:pointer}
.calc label.chk input{width:18px;height:18px;accent-color:var(--mint)}
.slider-row{margin-top:24px}
.slider-row .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.slider-row .top span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#8FA2B8}
.slider-row .top b{font-family:'Bricolage Grotesque';color:#fff;font-size:1.15rem;font-weight:800}
.slider-row .minmax{display:flex;justify-content:space-between;font-size:.72rem;color:#6E8095;margin-top:8px;font-weight:600}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:#26405C;outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:21px;height:21px;border-radius:50%;background:var(--mint);border:3px solid var(--ink);box-shadow:0 0 0 2px var(--mint);cursor:pointer}
input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--mint);border:3px solid var(--ink);box-shadow:0 0 0 2px var(--mint);cursor:pointer}
input[type=range]:focus-visible{outline:2px solid var(--mint);outline-offset:4px}

/* ============ FORM ============ */
.form{display:grid;gap:16px;max-width:640px}
.form label{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--slate);display:grid;gap:8px}
.form input,.form select,.form textarea{padding:13px 16px;border-radius:11px;border:1.5px solid #C8D3DF;font:inherit;font-size:.95rem;color:var(--ink);width:100%;background:#fff;transition:border-color .15s,box-shadow .15s}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--azure);box-shadow:0 0 0 3px rgba(14,157,229,.18)}
.form textarea{min-height:140px;resize:vertical}
.form-note{display:none;padding:14px 18px;border-radius:11px;background:rgba(43,224,166,.14);border:1px solid var(--mint);color:#0B5C40;font-weight:600;font-size:.9rem}
.form-note.show{display:block}

/* ============ CTA + FOOTER ============ */
.cta-final{background:radial-gradient(760px 420px at 80% -20%,#12304A 0%,var(--ink) 60%);color:var(--dark-text);border-radius:22px;padding:64px 40px;text-align:center;max-width:var(--max);margin:0 auto;position:relative;overflow:hidden}
.cta-final::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-120px;height:200px;background:var(--grad);opacity:.2;filter:blur(70px)}
.cta-final>*{position:relative;z-index:1}
.cta-final h2{color:#fff;max-width:24ch;margin:0 auto .5em}
.cta-final p{max-width:54ch;margin:0 auto 30px;color:var(--dark-text)}
footer{background:radial-gradient(720px 520px at 76% 30%,rgba(14,157,229,.14),transparent 62%),radial-gradient(1100px 640px at 82% -12%,#12304A 0%,var(--ink) 58%);color:var(--dark-text);padding:64px 0 36px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:42px;border-bottom:1px solid var(--line-d)}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
footer h4{color:#fff;font-family:'Bricolage Grotesque';font-size:.92rem;font-weight:700;margin-bottom:16px}
footer ul{list-style:none;display:grid;gap:10px;font-size:.92rem}
footer p{color:var(--dark-text)}
footer a{color:var(--dark-text);text-decoration:none}
footer a:hover{color:var(--mint)}
footer .logo{font-size:1.3rem}
.foot-bottom{padding-top:24px;font-size:.8rem;color:#6E8095;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* ============ REVEAL / PRÍSTUPNOSŤ ============ */
.reveal{--tx:0;opacity:0;transform:translate(var(--tx),22px);transition:opacity .6s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
/* fade-in nadpisov pri scrolle (jemne oneskorený za parent reveal) */
.fade-head{opacity:0;transition:opacity .9s ease .12s}
.fade-head.in{opacity:1}
/* smerové zasúvanie kariet z bokov do stredu pri scrolle */
.grid.g2>.reveal:nth-child(odd),.grid.g3>.reveal:nth-child(3n+1),.price-grid>.reveal:nth-child(odd){--tx:-64px}
.grid.g2>.reveal:nth-child(even),.grid.g3>.reveal:nth-child(3n),.price-grid>.reveal:nth-child(even){--tx:64px}
.proc-grid>.proc-visual{--tx:64px}
@media(max-width:820px){.grid.g2>.reveal,.grid.g3>.reveal,.price-grid>.reveal,.proc-grid>.proc-visual{--tx:0}}
.grid>.reveal:nth-child(2),.price-grid>.reveal:nth-child(2),.proc-grid>div>.reveal:nth-child(2){transition-delay:.08s}
.grid>.reveal:nth-child(3),.price-grid>.reveal:nth-child(3),.proc-grid>div>.reveal:nth-child(3){transition-delay:.16s}
.grid>.reveal:nth-child(4),.price-grid>.reveal:nth-child(4),.proc-grid>div>.reveal:nth-child(4){transition-delay:.24s}
.grid>.reveal:nth-child(5),.price-grid>.reveal:nth-child(5){transition-delay:.32s}
.grid>.reveal:nth-child(6),.price-grid>.reveal:nth-child(6){transition-delay:.4s}
:focus-visible{outline:2.5px solid var(--azure);outline-offset:3px;border-radius:4px}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .fade-head{opacity:1!important;transition:none!important}
  .marquee-track,.shot,.levitate{animation:none!important}
  .reveal .ic *{stroke-dasharray:none;stroke-dashoffset:0;animation:none!important}
  .reveal .check li::before{transform:scale(1);animation:none!important}
  .ripple{display:none}
  .hero-inner>div:first-child>*,.hero-visual{opacity:1!important;transform:none!important;animation:none!important}
  #globe{animation:none!important}
}

/* ============ OBRÁZKY V SEKCIÁCH ============ */
/* sub-hero s vizuálom (podstránky služieb) */
.sub-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
@media(max-width:940px){.sub-grid{grid-template-columns:1fr}.sub-visual{display:none}}
.sub-visual{position:relative}
.sub-visual .browser{box-shadow:0 30px 70px rgba(0,0,0,.45);animation:float 8s ease-in-out infinite;border:0}

/* varianty obsahu mockupov */
.m-prod{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:7%;align-content:center}
.m-prod i{display:block;aspect-ratio:1/1.15;border-radius:7px;background:rgba(255,255,255,.9)}
.m-prod i:nth-child(2){background:rgba(255,255,255,.65)}
.m-prod i:nth-child(4){background:rgba(255,255,255,.75)}
.m-bars{flex:1;display:flex;align-items:flex-end;gap:8%;padding:10% 12%}
.m-bars i{display:block;flex:1;border-radius:6px 6px 0 0;background:rgba(255,255,255,.92)}
.m-bars i:nth-child(1){height:34%}.m-bars i:nth-child(2){height:55%;opacity:.8}
.m-bars i:nth-child(3){height:72%}.m-bars i:nth-child(4){height:46%;opacity:.8}.m-bars i:nth-child(5){height:88%}
.m-chat{flex:1;display:flex;flex-direction:column;justify-content:center;gap:9px;padding:9%}
.m-chat i{display:block;height:16%;max-height:34px;border-radius:12px;background:rgba(255,255,255,.92);width:62%}
.m-chat i:nth-child(2n){align-self:flex-end;background:rgba(11,18,32,.55);width:52%}
.m-dots{flex:1;display:flex;align-items:center;justify-content:center;gap:6%;padding:10%}
.m-dots i{display:block;width:17%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.92)}
.m-dots i:nth-child(2){transform:translateY(-22%);opacity:.85}
.m-dots i:nth-child(3){transform:translateY(14%)}
.m-dots i:nth-child(4){transform:translateY(-10%);opacity:.75}

/* ilustrácia „šedý vs farebný web" */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}
.duo .browser{border:0;box-shadow:0 22px 50px rgba(0,0,0,.4)}
.duo .old{filter:grayscale(1);opacity:.55;transform:scale(.94) rotate(-1.5deg)}
.duo .new{transform:rotate(1deg)}
.duo-arrow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:var(--ink);font-weight:800;font-size:1.25rem;z-index:2;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.duo-wrap{position:relative}

/* menší mock v tmavej sekcii služieb */
.mini-shot{margin-top:30px;max-width:420px}
.mini-shot .browser{border:0;box-shadow:0 24px 56px rgba(0,0,0,.45)}

/* proces s vizuálom */
.proc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;margin-top:30px}
@media(max-width:940px){.proc-grid{grid-template-columns:1fr}.proc-visual{display:none}}
.proc-visual{position:relative}
.proc-visual img{width:150%!important;max-width:none;margin-left:-25%}

/* miesto pre reálnu fotku */
.photo-ph{border:2px dashed #B9CFE2;border-radius:var(--radius);background:var(--tint);aspect-ratio:16/10;display:grid;place-items:center;text-align:center;color:var(--muted);font-weight:700;font-size:.85rem;padding:20px;margin-bottom:22px}
.photo-ph small{display:block;font-weight:600;font-size:.75rem;margin-top:6px;color:#9AAABB}

/* ilustrácie na mieru (SVG) – náhrada za fotky, ladia s paletou */
.ill-img{width:100%;height:auto;display:block;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:22px;background:#fff}

/* ============ EDITORIAL POLISH (podľa referencie) ============ */
/* jemne tónované pozadie – obsah dýcha, biele karty vystupujú */
body{background:#F7F9FB}
.marquee{background:#F7F9FB}
details,.card,.pf,.price-card,.stats>div{background:#fff}

/* typografia vo veľkom */
.hero h1{font-size:clamp(2.5rem,6vw,4.6rem);letter-spacing:-.022em;line-height:1.04}
.sub-hero h1{font-size:clamp(2.1rem,5vw,3.5rem);letter-spacing:-.02em}
h2{font-size:clamp(1.8rem,4vw,2.7rem);letter-spacing:-.018em}


/* editoriálne číslovanie kariet služieb (mikro-labely z referencie) */
#sluzby .grid{counter-reset:svc}
#sluzby .card{counter-increment:svc}
#sluzby .card::after{content:"0" counter(svc);position:absolute;top:26px;right:28px;font-family:'Bricolage Grotesque';font-weight:700;font-size:.78rem;color:#C3D2DF;letter-spacing:.06em}

/* hairline nad nadpismi sekcií – editoriálny rytmus */
section > .wrap > .reveal:first-child:has(.eyebrow){border-top:1px solid var(--line);padding-top:34px}
section.dark > .wrap > .reveal:first-child:has(.eyebrow){border-color:var(--line-d)}
/* medzi dvoma tmavými sekciami čiaru nezobrazuj */
section.dark + section.dark > .wrap > .reveal:first-child:has(.eyebrow){border-top:0;padding-top:0}
.sub-hero .wrap{border:0!important}

/* CTA ako statement blok – pozadie ako v hero intre, žiara v strede */
.cta-final{background:radial-gradient(720px 620px at 50% 44%,rgba(14,157,229,.18),transparent 62%),radial-gradient(1100px 640px at 50% -12%,#12304A 0%,var(--ink) 58%);border-radius:22px;isolation:isolate}
/* zemeguľa v pravom hornom rohu CTA – bez hrán (radiálna maska), sýta */
.cta-final::before{content:"";position:absolute;top:-180px;right:-210px;width:640px;height:640px;background:url("img/hero-globus.webp") center/cover no-repeat;mix-blend-mode:screen;opacity:.95;z-index:-1;pointer-events:none;-webkit-mask-image:radial-gradient(circle at 50% 46%,#000 42%,transparent 70%);mask-image:radial-gradient(circle at 50% 46%,#000 42%,transparent 70%)}
.cta-final::after{display:none}
.cta-final h2{color:#fff;font-size:clamp(1.9rem,4.2vw,2.9rem)}
.cta-final p{color:rgba(255,255,255,.88)}
.cta-final .eyebrow{color:#fff}
.cta-final .eyebrow::before{background:#fff}
.cta-final .btn-primary{background:var(--ink);color:#fff}
.cta-final .btn-primary:hover{background:#000;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.cta-final .btn{background:#fff;color:var(--azure-deep);border-color:#fff}
.cta-final .btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.25)}
.cta-final h2.grad-logo,section:not(.dark) > .wrap .cta-final h2{background:none;color:#fff;-webkit-text-fill-color:#fff} /* CTA nadpis biely */

/* telefón v navigácii */
.nav-tel{font-weight:800!important;white-space:nowrap;background:linear-gradient(100deg,#259BD7 0%,#5EBA96 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}

/* ============ COOKIES LIŠTA ============ */
.cookiebar{position:fixed;left:18px;right:18px;bottom:18px;z-index:120;max-width:680px;margin:0 auto;background:var(--dark-panel);border:1px solid var(--line-d);border-radius:16px;padding:20px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;box-shadow:0 20px 50px rgba(0,0,0,.45);opacity:0;transform:translateY(16px);transition:opacity .3s ease,transform .3s ease}
.cookiebar.show{opacity:1;transform:none}
.cookiebar p{color:var(--dark-text);font-size:.88rem;margin:0;flex:1 1 280px;line-height:1.5}
.cookiebar a{color:var(--mint)}
.cookiebar-btns{display:flex;gap:10px;flex-wrap:wrap}
.cookiebar .btn{padding:10px 18px;font-size:.85rem}
.cookiebar .btn-ghost{color:#D5DEE9;border-color:#3A4A63}
.cookiebar .btn-ghost:hover{border-color:var(--mint);color:var(--mint)}
@media(prefers-reduced-motion:reduce){.cookiebar{transition:none;opacity:1;transform:none}}
.nav-tel:hover{filter:brightness(1.3)}
@media(max-width:920px){.nav-links li:has(.nav-tel){display:flex!important}}
@media(max-width:560px){.nav-links li:has(.nav-tel){display:none!important}}

/* široká karta: na mobile/tablete plná šírka, span 2 len keď mriežka má 3 stĺpce */
.card-wide{grid-column:1/-1}
@media(min-width:996px){.card-wide{grid-column:span 2}}

/* responzivita duo ilustrácie a drobné mobilné korekcie */
@media(max-width:560px){
  .duo{grid-template-columns:1fr;gap:14px}
  .duo-arrow{top:auto;bottom:-2px;transform:translate(-50%,50%) rotate(90deg);width:44px;height:44px}
  .duo-wrap{padding-bottom:26px}
}
@media(max-width:700px){
  .hero{padding:130px 0 0}
  .hero-inner{gap:0}
  .sub-hero{padding:128px 0 64px}
  section{padding:72px 0}
  .trust{gap:20px}
  .calc{padding:28px 22px}
  .cta-final{padding:48px 24px}
  /* globus na mobile (len homepage – .hero-visual obsahujúca #globe): full-bleed, väčší mesh, celý zaoblený vrch, spodok lícuje s tmavou plochou */
  .hero-visual:has(#globe){display:block;height:240px;overflow:hidden;width:100vw;margin-top:-30px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
  #globe{width:820px;max-width:none;left:calc(50% - 410px);top:-168px}
}

/* ============ FOOTER – kontaktné ikony (gradient azúra→mint cez mask) ============ */
/* posun celého stĺpca Kontakt o 30px doľava (len desktop – 4-stĺpcový footer) */
@media(min-width:821px){footer .foot-grid > div:has(a[href^="tel"]){transform:translateX(-30px)}}
footer ul:has(a[href^="tel"]) li:nth-child(n+2){position:relative;padding-left:22px}
footer ul:has(a[href^="tel"]) li:nth-child(n+2)::before{content:"";position:absolute;left:0;top:8px;width:10px;height:10px;background:#fff;-webkit-mask:var(--fic) no-repeat center/contain;mask:var(--fic) no-repeat center/contain}
footer ul:has(a[href^="tel"]) li:nth-child(2)::before{--fic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 12-9 12s-9-5-9-12a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
footer ul:has(a[href^="tel"]) li:has(a[href^="mailto"])::before{--fic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 6-10 7L2 6'/%3E%3C/svg%3E")}
footer ul:has(a[href^="tel"]) li:has(a[href^="tel"])::before{--fic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
footer ul:has(a[href^="tel"]) li:has(a[href*="facebook"])::before{--fic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cline x1='8.59' y1='13.51' x2='15.42' y2='17.49'/%3E%3Cline x1='15.41' y1='6.51' x2='8.59' y2='10.49'/%3E%3C/svg%3E")}
