@import url('/site-fonts.css');
/* Digilab — cinematic design system for static service / work pages */
:root{
  --b1:#1E1FE8; --b3:#1C5BFA; --b5:#17A1F9; --b6:#14C5F9; --pink:#E9227E;
  --bg:#010409; --bg2:#070b16; --fg:#eaf0fc; --muted:#a6b6d6; --line:rgba(255,255,255,.1);
  --grad:linear-gradient(90deg,#1E1FE8,#1C5BFA 45%,#14C5F9 100%);
  --wa:#25D366; --card:rgba(255,255,255,.04);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--fg);font-family:'Inter',system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative;}
/* animated aurora atmosphere + vignette (cinematic, GPU-cheap, no WebGL) */
body::before{content:"";position:fixed;inset:-25%;z-index:-2;pointer-events:none;
  background:
   radial-gradient(38% 32% at 18% 12%,rgba(30,31,232,.24),transparent 62%),
   radial-gradient(34% 30% at 86% 8%,rgba(233,34,126,.13),transparent 62%),
   radial-gradient(44% 40% at 78% 82%,rgba(20,197,249,.15),transparent 62%),
   radial-gradient(40% 36% at 10% 85%,rgba(28,91,250,.12),transparent 62%);
  animation:aurora 26s ease-in-out infinite alternate;}
@keyframes aurora{0%{transform:translate3d(0,0,0) scale(1);}100%{transform:translate3d(0,-2.5%,0) scale(1.1);}}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 85% 80% at 50% 38%,transparent 44%,rgba(1,4,9,.72) 100%);}

a{color:inherit;text-decoration:none;}
/* icons: line icons from /icons.svg (see scripts/build-icons.mjs), sized and coloured by the text around them */
.ic{display:inline-block;width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.14em;}
.ic-accent{color:var(--b6);}
img{max-width:100%;display:block;}
.container{width:100%;max-width:1120px;margin:0 auto;padding:0 24px;}
.display{font-family:'Nasalization','Clash Display',sans-serif;font-weight:400;letter-spacing:.012em;}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.eyebrow{font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--b6);}

/* cursor */
@media (hover:hover) and (pointer:fine){
  body.has-cursor,body.has-cursor a,body.has-cursor button,body.has-cursor .btn,body.has-cursor summary{cursor:none;}
  body.has-cursor input,body.has-cursor textarea,body.has-cursor select{cursor:auto;}
}
#cur-dot,#cur-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:9999;will-change:transform;mix-blend-mode:screen;}
#cur-dot{width:7px;height:7px;margin:-3.5px 0 0 -3.5px;background:var(--b6);}
#cur-ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid rgba(20,197,249,.5);z-index:9998;transition:width .28s,height .28s,border-color .28s;}
body.cur-hot #cur-ring{width:58px;height:58px;border-color:rgba(233,34,126,.6);}
body.cur-hot #cur-dot{background:var(--pink);}

/* nav */
.site-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:15px 24px;background:rgba(1,4,9,.62);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);}
.site-nav .brand{font-family:'Clash Display','Space Grotesk',sans-serif;font-size:20px;font-weight:600;letter-spacing:-.02em;}
.site-nav .brand span{color:var(--b6);}
.site-nav nav{display:flex;align-items:center;gap:28px;}
.site-nav nav a{font-family:'Space Grotesk',sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:color .2s;}
.site-nav nav a:hover,.site-nav nav a[aria-current]{color:#fff;}
.nav-cta{font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:11px 20px;border-radius:10px;background:var(--grad);color:#fff !important;box-shadow:0 0 28px rgba(28,91,250,.4);}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'Space Grotesk',sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:16px 30px;border-radius:12px;border:1px solid transparent;cursor:pointer;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .25s,background .25s;}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 0 40px rgba(28,91,250,.45);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 80px rgba(28,91,250,.8),0 0 40px rgba(20,197,249,.4);}
.btn-wa{background:var(--wa);color:#04310f;box-shadow:0 10px 32px rgba(37,211,102,.45);}
.btn-wa:hover{transform:translateY(-2px);box-shadow:0 16px 46px rgba(37,211,102,.65);}
.btn-ghost{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#fff;backdrop-filter:blur(14px);}
.btn-ghost:hover{border-color:rgba(20,197,249,.5);background:rgba(20,197,249,.08);}

/* hero */
.hero{position:relative;padding:104px 0 70px;text-align:center;}
.hero h1{font-family:'Nasalization','Clash Display',sans-serif;font-weight:400;font-size:clamp(32px,5.8vw,64px);line-height:1.06;letter-spacing:.01em;text-transform:uppercase;margin:18px auto;max-width:15ch;}
.hero p.lead{font-size:clamp(16px,1.6vw,19px);color:var(--muted);max-width:620px;margin:0 auto 32px;line-height:1.75;}
.hero .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.breadcrumb{font-family:'Space Grotesk',sans-serif;font-size:12px;letter-spacing:.06em;color:var(--muted);margin-bottom:8px;}
.breadcrumb a:hover{color:var(--b6);}
/* hero entrance */
.hero .breadcrumb,.hero .eyebrow,.hero h1,.hero p.lead,.hero .btns{animation:fadeUp .9s cubic-bezier(.22,1,.36,1) both;}
.hero .eyebrow{animation-delay:.05s;} .hero h1{animation-delay:.12s;} .hero p.lead{animation-delay:.2s;} .hero .btns{animation-delay:.28s;}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);filter:blur(7px);}to{opacity:1;transform:none;filter:blur(0);}}

/* scroll reveal */
.reveals .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);}
.reveals .reveal.is-visible{opacity:1;transform:none;}

/* trust */
.trust{display:flex;gap:36px;justify-content:center;flex-wrap:wrap;margin-top:46px;}
.trust .t{text-align:center;} .trust .t b{display:block;font-family:'Nasalization',sans-serif;font-size:28px;} .trust .t span{font-family:'Space Grotesk',sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}

/* sections */
.section{padding:70px 0;}
.section.alt{background:linear-gradient(180deg,transparent,rgba(7,11,22,.6),transparent);}
.section h2{font-family:'Nasalization','Clash Display',sans-serif;font-weight:400;font-size:clamp(23px,3.4vw,40px);line-height:1.14;letter-spacing:.012em;text-transform:uppercase;margin:12px 0 14px;max-width:22ch;}
.section .sub{color:var(--muted);max-width:640px;margin-bottom:36px;font-size:16px;line-height:1.75;}
.section.center{text-align:center;} .section.center .sub{margin-left:auto;margin-right:auto;}

/* grid + cards */
.grid{display:grid;gap:18px;}
.g2{grid-template-columns:repeat(2,1fr);}.g3{grid-template-columns:repeat(3,1fr);}.g4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.g2,.g3,.g4{grid-template-columns:1fr;}}
.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px 26px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:border-color .3s,transform .3s,box-shadow .3s,background .3s;overflow:hidden;}
.card::after{content:"";position:absolute;inset:0;border-radius:18px;background:radial-gradient(120% 90% at 50% 0%,rgba(20,197,249,.1),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none;}
.card:hover{border-color:rgba(20,197,249,.42);transform:translateY(-4px);box-shadow:0 24px 60px rgba(0,0,0,.45);}
.card:hover::after{opacity:1;}
.card .ico{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:16px;border-radius:13px;font-size:22px;color:var(--b6);background:linear-gradient(140deg,rgba(28,91,250,.26),rgba(20,197,249,.1));border:1px solid rgba(20,197,249,.24);transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .3s;}
.card:hover .ico{transform:translateY(-2px);border-color:rgba(20,197,249,.5);}
.card h3 > .ic:first-child{margin-right:9px;color:var(--b6);}
.card h3{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:700;margin-bottom:8px;letter-spacing:-.01em;}
.card p{color:var(--muted);font-size:14.5px;}
.card.link h3{display:flex;align-items:center;gap:8px;}
.card .arr{color:var(--b6);transition:transform .25s;} .card.link:hover .arr{transform:translateX(5px);}

/* steps */
.steps{counter-reset:s;display:grid;gap:16px;}
.step{position:relative;padding:24px 26px 24px 74px;background:var(--card);border:1px solid var(--line);border-radius:16px;backdrop-filter:blur(14px);}
.step::before{counter-increment:s;content:counter(s);position:absolute;left:22px;top:22px;width:36px;height:36px;border-radius:10px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-family:'Nasalization',sans-serif;font-size:15px;color:#fff;box-shadow:0 0 22px rgba(28,91,250,.4);}
.step h3{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:700;margin-bottom:5px;} .step p{color:var(--muted);font-size:14px;}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,1fr);}}
.stat{text-align:center;padding:26px 14px;background:var(--card);border:1px solid var(--line);border-radius:16px;backdrop-filter:blur(14px);}
.stat b{display:block;font-family:'Nasalization',sans-serif;font-size:clamp(26px,4vw,42px);line-height:1;}
.stat b.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.stat span{font-family:'Space Grotesk',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:9px;display:block;}
.stat .delta{color:#2BD98A;font-weight:700;font-size:11px;margin-top:4px;display:block;}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:18px 0;}
.faq summary{cursor:pointer;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:16.5px;list-style:none;display:flex;justify-content:space-between;gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--b6);font-size:22px;line-height:1;transition:transform .2s;}
.faq details[open] summary::after{content:"–";}
.faq p{color:var(--muted);margin-top:12px;font-size:15px;line-height:1.7;}

/* cta band */
.cta-band{position:relative;text-align:center;padding:76px 0;border-top:1px solid var(--line);background:radial-gradient(60% 130% at 50% 0%,rgba(28,91,250,.2),transparent 72%);}
.cta-band h2{font-family:'Nasalization','Clash Display',sans-serif;font-weight:400;font-size:clamp(26px,4vw,46px);text-transform:uppercase;margin-bottom:12px;}
.cta-band p{color:var(--muted);max-width:520px;margin:0 auto 26px;}

/* lead form */
.lead-form{max-width:460px;margin:30px auto 0;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;backdrop-filter:blur(18px);box-shadow:0 30px 80px rgba(0,0,0,.4);}
.lead-form label{display:block;margin-bottom:13px;}
.lead-form label span{display:block;font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;padding:13px 15px;border-radius:11px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:#fff;font-family:'Inter',sans-serif;font-size:14.5px;transition:border-color .2s,background .2s;}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:none;border-color:var(--b6);background:rgba(20,197,249,.06);}
.lead-form select option{background:#0b1120;}
.lead-form button{width:100%;margin-top:6px;}

/* footer */
.site-footer{position:relative;border-top:1px solid var(--line);padding:56px 0 30px;background:rgba(7,11,22,.6);}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px;margin-bottom:34px;}
@media(max-width:700px){.foot-grid{grid-template-columns:1fr;gap:26px;}}
.site-footer .brand{font-family:'Clash Display','Space Grotesk',sans-serif;font-size:21px;font-weight:600;letter-spacing:-.02em;}
.site-footer .brand span{color:var(--b6);}
.site-footer .tag{color:var(--muted);font-size:14px;margin-top:11px;max-width:34ch;}
.foot-col h4{font-family:'Space Grotesk',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.foot-col a{display:block;color:#cdd8ef;font-size:14px;margin-bottom:9px;transition:color .2s;}
.foot-col a:hover{color:var(--b6);}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--line);color:#6b7a99;font-size:12.5px;}
.foot-bottom a{color:#6b7a99;}.foot-bottom a:hover{color:var(--b6);}

/* floating whatsapp */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;display:inline-flex;align-items:center;gap:9px;padding:13px 20px;border-radius:100px;background:var(--wa);color:#04310f;font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;box-shadow:0 12px 34px rgba(37,211,102,.5);transition:transform .2s;}
.wa-float:hover{transform:translateY(-2px);}
.wa-float .ic{width:22px;height:22px;}
.btn .ic{width:1.25em;height:1.25em;}
@media(max-width:600px){.wa-float span{display:none;}.wa-float{padding:14px;}}

/* case-study split (work hub) */
.cs{display:grid;grid-template-columns:1.1fr 1fr;gap:0;overflow:hidden;align-items:stretch;padding:0;}
.cs.rev{grid-template-columns:1fr 1.1fr;}
.cs .cs-media{background:#0b1120 center/cover no-repeat;min-height:260px;}
.cs .cs-body{padding:36px 34px;}
.cs .cs-body h3{font-family:'Nasalization',sans-serif;font-size:26px;margin:8px 0 10px;}
@media(max-width:700px){.cs,.cs.rev{grid-template-columns:1fr;}.cs.rev .cs-media{order:-1;}}
.logos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media(max-width:700px){.logos-grid{grid-template-columns:repeat(2,1fr);}}
.logo-tile{display:flex;align-items:center;justify-content:center;height:84px;background:#fff;border-radius:14px;padding:16px;}
.logo-tile.dark{background:#111826;}
.logo-tile img{max-height:100%;max-width:100%;object-fit:contain;}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  body::before{animation:none !important;}
  .reveals .reveal{opacity:1 !important;transform:none !important;}
  body.has-cursor,body.has-cursor *{cursor:auto !important;}
  #cur-dot,#cur-ring{display:none !important;}
}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--b6);outline-offset:3px;border-radius:4px;}

/* websites-we-built grid */
.sites-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px;}
@media(max-width:860px){.sites-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.sites-grid{grid-template-columns:1fr;}}
.site-card{display:block;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);backdrop-filter:blur(14px);transition:border-color .3s,transform .3s,box-shadow .3s;}
.site-card:hover{border-color:rgba(20,197,249,.45);transform:translateY(-4px);box-shadow:0 24px 60px rgba(0,0,0,.45);}
.site-shot{aspect-ratio:16/10;background:#0b1120 top center/cover no-repeat;border-bottom:1px solid var(--line);}
.site-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 18px;}
.site-meta h3{font-family:'Space Grotesk',sans-serif;font-size:15.5px;font-weight:700;}
.site-meta > div > span{font-family:'Space Grotesk',sans-serif;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block;margin-top:3px;}
.site-go{color:var(--b6);font-family:'Space Grotesk',sans-serif;font-size:12px;font-weight:700;white-space:nowrap;}
/* common logo image */
.site-nav .brand img{height:26px;width:auto;display:block;}
.site-footer .brand img{height:30px;width:auto;display:block;}

/* ══════════ craft polish v2 ══════════ */
::selection{background:rgba(20,197,249,.28);color:#fff;}
[id]{scroll-margin-top:92px;}
h1,h2,h3,.display,.hero h1,.section h2,.cta-band h2{text-wrap:balance;}
p,.lead,.sub,.hero p.lead{text-wrap:pretty;}
/* branded scrollbar */
*{scrollbar-width:thin;scrollbar-color:rgba(20,197,249,.42) transparent;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(28,91,250,.6),rgba(20,197,249,.6));border-radius:10px;border:2px solid var(--bg);}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(28,91,250,.9),rgba(20,197,249,.9));}

/* scroll-reactive nav */
.site-nav{transition:padding .32s cubic-bezier(.22,1,.36,1),background .32s,box-shadow .32s,border-color .32s;}
.site-nav.scrolled{padding-top:10px;padding-bottom:10px;background:rgba(1,4,9,.88);box-shadow:0 14px 40px rgba(0,0,0,.5);border-bottom-color:rgba(20,197,249,.18);}
.site-nav .brand img{transition:transform .3s cubic-bezier(.22,1,.36,1),filter .3s;}
.site-nav .brand:hover img{transform:translateY(-1px);filter:drop-shadow(0 0 14px rgba(20,197,249,.55));}
/* animated nav underline */
.site-nav nav a:not(.nav-cta){position:relative;}
.site-nav nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--grad);border-radius:2px;transition:right .32s cubic-bezier(.22,1,.36,1);}
.site-nav nav a:not(.nav-cta):hover::after,.site-nav nav a[aria-current]::after{right:0;}

/* button shine sweep */
.btn-primary,.btn-wa,.nav-cta{position:relative;overflow:hidden;}
.nav-cta{transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 0 46px rgba(28,91,250,.7);}
.btn-primary::before,.btn-wa::before,.nav-cta::before{content:"";position:absolute;top:0;left:-130%;width:58%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-18deg);transition:left .6s cubic-bezier(.22,1,.36,1);pointer-events:none;}
.btn-primary:hover::before,.btn-wa:hover::before,.nav-cta:hover::before{left:130%;}

/* reveal cohesion — soft blur in, matching hero entrance */
.reveals .reveal{filter:blur(6px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),filter .8s cubic-bezier(.22,1,.36,1);}
.reveals .reveal.is-visible{filter:blur(0);}

/* card cursor-follow spotlight */
.card{--mx:50%;--my:0%;}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(240px 190px at var(--mx) var(--my),rgba(20,197,249,.15),transparent 70%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:0;}
.card:hover::before{opacity:1;}
.card > *{position:relative;z-index:1;}

/* site-card image zoom + arrow nudge */
.site-shot{transition:transform .5s cubic-bezier(.22,1,.36,1);}
.site-card:hover .site-shot{transform:scale(1.045);}
.site-go{transition:transform .25s cubic-bezier(.22,1,.36,1);}
.site-card:hover .site-go{transform:translateX(4px);}

/* steps + stats hover accents */
.step{transition:border-color .3s,transform .3s,box-shadow .3s;}
.step:hover{border-color:rgba(20,197,249,.3);transform:translateX(4px);}
.stat{transition:border-color .3s,transform .3s,box-shadow .3s;}
.stat:hover{border-color:rgba(20,197,249,.3);transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,0,0,.42);}
.stat b,.trust .t b{font-variant-numeric:tabular-nums;}

/* faq refinement */
.faq summary::after{transition:transform .25s cubic-bezier(.22,1,.36,1),color .2s;}
.faq summary:hover,.faq details[open] summary{color:#fff;}
.faq details[open] p{animation:faqIn .42s cubic-bezier(.22,1,.36,1) both;}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}

@media (prefers-reduced-motion:reduce){
  .btn-primary::before,.btn-wa::before,.nav-cta::before{display:none;}
  .reveals .reveal{filter:none !important;}
  .site-card:hover .site-shot{transform:none;}
  .faq details[open] p{animation:none;}
}

/* ══════════ header menu, skip link, tap targets ══════════ */
/* skip link — hidden until keyboard-focused */
.skip-link{position:fixed;top:12px;left:12px;z-index:200;padding:12px 22px;border-radius:10px;background:var(--grad);color:#fff;font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em;transform:translateY(-180%);transition:transform .2s ease;}
.skip-link:focus,.skip-link:focus-visible{transform:none;outline:2px solid #fff;outline-offset:2px;}

/* header: brand | links | CTA; under 720px the links move into a disclosure menu */
.site-nav{gap:28px;padding-top:11px;padding-bottom:11px;}
.site-nav.scrolled{padding-top:6px;padding-bottom:6px;}
.site-nav .brand{display:inline-flex;align-items:center;min-height:44px;margin-right:auto;}
.nav-cta{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;}
.nav-toggle,.nav-wa{display:none;}
@media(max-width:720px){
  .site-nav{padding:8px 16px;gap:8px;}
  .site-nav.scrolled{padding-top:6px;padding-bottom:6px;}
  .site-nav .brand img{height:22px;}
  .nav-cta{order:2;padding:0 14px;font-size:10px;}
  .nav-toggle{order:3;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.04);cursor:pointer;}
  .nav-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:#fff;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .2s;}
  .site-nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .site-nav.open .nav-toggle span:nth-child(2){opacity:0;}
  .site-nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .site-nav nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:6px 16px 14px;background:rgba(1,4,9,.97);border-bottom:1px solid var(--line);box-shadow:0 24px 50px rgba(0,0,0,.6);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .3s cubic-bezier(.22,1,.36,1),visibility 0s .3s;}
  .site-nav.open nav{visibility:visible;opacity:1;transform:none;transition-delay:0s;}
  .site-nav nav a{display:flex;align-items:center;min-height:52px;font-size:14px;color:#fff;border-bottom:1px solid var(--line);}
  .site-nav nav a:last-child{border-bottom:0;}
  .site-nav nav a:not(.nav-cta)::after{display:none;}
  .site-nav nav a[aria-current]{color:var(--b6);}
  .site-nav nav .nav-wa{display:flex;color:var(--wa);}
}
@media(max-width:380px){
  .site-nav .brand img{height:19px;}
  .nav-cta{padding:0 11px;font-size:9.5px;letter-spacing:.06em;}
}

/* comfortable tap targets on touch screens */
.faq details{padding:0;}
.faq summary{padding:18px 0;align-items:center;}
.faq p{margin-top:-6px;padding-bottom:18px;}
@media (pointer:coarse),(max-width:720px){
  .breadcrumb a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;}
  .foot-col a{display:flex;align-items:center;min-height:44px;margin-bottom:0;}
  .foot-bottom a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;}
}
/* keep the last footer row clear of the floating WhatsApp button */
@media(max-width:720px){.site-footer{padding-bottom:88px;}}

/* touch screens: lighter entrances (no blur), and no hover lifts, since a tap leaves :hover stuck */
@keyframes fadeUpLite{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@media (hover:none){
  .hero .breadcrumb,.hero .eyebrow,.hero h1,.hero p.lead,.hero .btns{animation-name:fadeUpLite;animation-duration:.6s;}
  .reveals .reveal{filter:none;transform:translateY(16px);transition-duration:.5s;}
  .card:hover,.site-card:hover,a.vcard:hover,.stat:hover,.step:hover{transform:none;box-shadow:none;}
  .btn-primary:hover,.btn-wa:hover,.nav-cta:hover,.wa-float:hover{transform:none;}
  .btn-primary::before,.btn-wa::before,.nav-cta::before{display:none;}
  .site-card:hover .site-shot{transform:none;}
}

/* services bento: feature tile with a real client site, four standard tiles, one wide tile */
.bento{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"f f a b" "f f c d" "w w w w";}
.bento > :nth-child(1){grid-area:f;}.bento > :nth-child(2){grid-area:a;}.bento > :nth-child(3){grid-area:b;}
.bento > :nth-child(4){grid-area:c;}.bento > :nth-child(5){grid-area:d;}.bento > :nth-child(6){grid-area:w;}
.bento .card.link h3{display:block;}.bento .card.link .arr{display:inline-block;margin-left:6px;}
.b-feature{display:flex;flex-direction:column;padding-bottom:0;}
.b-feature h3,.b-wide h3{font-size:23px;}
.b-feature p,.b-wide p{font-size:15.5px;max-width:46ch;}
.b-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;list-style:none;}
.b-chips li{font-family:'Space Grotesk',sans-serif;font-size:11.5px;letter-spacing:.03em;color:var(--fg);padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);}
/* browser-window crop of the screenshot; the box is sized by the tile, so the image cannot shift the layout */
.b-shot{flex:1 1 190px;min-height:190px;margin-top:24px;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;overflow:hidden;
  background:radial-gradient(circle at 14px 11px,#ff5f57 3.5px,transparent 4px),radial-gradient(circle at 28px 11px,#febc2e 3.5px,transparent 4px),radial-gradient(circle at 42px 11px,#28c840 3.5px,transparent 4px),#111a2c;}
.b-shot img{position:absolute;left:0;top:22px;width:100%;max-width:none;height:calc(100% - 22px);object-fit:cover;object-position:top center;}
.b-shot-cap{position:absolute;left:10px;bottom:10px;font-family:'Space Grotesk',sans-serif;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#fff;padding:4px 9px;border-radius:6px;background:rgba(1,4,9,.78);}
.b-wide{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:34px;align-items:center;}
.b-chat{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(1,4,9,.5);}
.b-chat span{max-width:84%;padding:9px 13px;border-radius:14px;font-size:13.5px;line-height:1.45;}
.b-chat .in{align-self:flex-start;background:rgba(255,255,255,.07);color:var(--fg);border-bottom-left-radius:4px;}
.b-chat .out{align-self:flex-end;background:linear-gradient(135deg,rgba(28,91,250,.6),rgba(20,197,249,.42));color:#fff;border-bottom-right-radius:4px;}
.b-chat .b-chat-cap{max-width:none;padding:0 2px 4px;font-family:'Space Grotesk',sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
@media(max-width:900px){
  .bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"f f" "a b" "c d" "w w";}
  .b-shot{flex-basis:240px;min-height:240px;}
}
@media(max-width:700px){.b-wide{grid-template-columns:minmax(0,1fr);gap:22px;}}
@media(max-width:560px){
  .bento{grid-template-columns:minmax(0,1fr);grid-template-areas:"f" "a" "b" "c" "d" "w";}
  .b-feature h3,.b-wide h3{font-size:20px;}
  .b-shot{flex-basis:180px;min-height:180px;}
}
