


*,
*::before,
*::after{
margin:0;
padding:0;
box-sizing:border-box;
}

:root{

--zinc-950:#09090B;
--zinc-900:#18181B;
--zinc-800:#27272A;
--zinc-700:#3F3F46;
--zinc-600:#52525B;
--zinc-500:#71717A;
--zinc-400:#A1A1AA;
--zinc-300:#D4D4D8;
--zinc-200:#E4E4E7;
--zinc-100:#F4F4F5;
--zinc-50:#FAFAFA;


--cyan-500:#06B6D4;
--cyan-400:#22D3EE;
--cyan-600:#0891B2;
--violet-500:#8B5CF6;
--violet-400:#A78BFA;
--violet-600:#7C3AED;
--green-500:#22C55E;
--amber-500:#F59E0B;


--bg:var(--zinc-950);
--surface:var(--zinc-900);
--border:var(--zinc-800);
--text:var(--zinc-50);
--text-muted:var(--zinc-400);
--accent:var(--cyan-500);
--accent-ai:var(--violet-500);


--font-sans:'Manrope',system-ui,-apple-system,sans-serif;
--font-serif:'Newsreader',Georgia,serif;
--font-mono:'JetBrains Mono','Fira Code',monospace;


--container:1200px;
--section-py:clamp(80px,10vw,140px);
}

html{
scroll-behavior:smooth;
scroll-padding-top:80px;
}


::selection{
background:rgba(6,182,212,0.25);
color:var(--zinc-50);
}

body{
font-family:var(--font-sans);
font-size:17px;
line-height:1.75;
font-weight:400;
color:var(--text);
background-color:var(--bg);
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
overflow-x:hidden;
}

a{
color:inherit;
text-decoration:none;
}

img{
max-width:100%;
display:block;
}


.container{
width:100%;
max-width:var(--container);
margin:0 auto;
padding:0 clamp(20px,4vw,40px);
}


.section-label{
font-family:var(--font-mono);
font-size:13px;
font-weight:500;
letter-spacing:0.08em;
text-transform:uppercase;
color:var(--accent);
margin-bottom:20px;
}

.section-title{
font-family:var(--font-sans);
font-weight:800;
font-size:clamp(32px,5vw,52px);
line-height:1.15;
letter-spacing:-0.02em;
color:var(--text);
margin-bottom:20px;
}

.section-subtitle{
font-size:18px;
color:var(--text-muted);
max-width:600px;
margin-bottom:56px;
}

.italic-accent{
font-family:var(--font-serif);
font-style:italic;
color:var(--accent);
}


.btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
font-family:var(--font-sans);
font-weight:600;
font-size:15px;
padding:14px 32px;
border-radius:8px;
border:1px solid transparent;
cursor:pointer;
transition:all 0.25s ease;
white-space:nowrap;
}

.btn--primary{
background:var(--accent);
color:var(--zinc-950);
border-color:var(--accent);
}

.btn--primary:hover{
background:var(--cyan-400);
border-color:var(--cyan-400);
transform:translateY(-1px);
box-shadow:0 8px 30px rgba(6,182,212,0.25);
}

.btn--ghost{
background:transparent;
color:var(--text);
border-color:var(--zinc-700);
}

.btn--ghost:hover{
border-color:var(--zinc-500);
background:rgba(255,255,255,0.03);
}

.btn--full{
width:100%;
}


.nav{
position:fixed;
top:0;
left:0;
right:0;
z-index:1000;
padding:0 0;
transition:all 0.3s ease;
background:rgba(9,9,11,0.6);
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);
border-bottom:1px solid transparent;
}

.nav--scrolled{
border-bottom-color:var(--border);
background:rgba(9,9,11,0.9);
}

.nav__inner{
display:flex;
align-items:center;
justify-content:space-between;
height:72px;
}

.nav__logo{
display:flex;
align-items:center;
gap:10px;
font-size:20px;
letter-spacing:-0.02em;
}

.nav__logo-icon{
flex-shrink:0;
color:var(--text);
transition:transform 0.3s ease;
}

.nav__logo:hover .nav__logo-icon{
transform:translateY(-1px);
}

.nav__logo-agulhas{
font-weight:800;
color:var(--text);
}

.nav__logo-code{
font-weight:400;
color:var(--accent);
}

.nav__links-desktop{
display:flex;
align-items:center;
gap:36px;
}

.nav__link{
font-size:14px;
font-weight:500;
color:var(--text-muted);
transition:color 0.2s;
}

.nav__link:hover{
color:var(--text);
}

.nav__link--cta{
color:var(--zinc-950);
background:var(--accent);
padding:8px 20px;
border-radius:6px;
font-weight:600;
}

.nav__link--cta:hover{
color:var(--zinc-950);
background:var(--cyan-400);
}


.nav__toggle{
display:none;
flex-direction:column;
gap:5px;
background:none;
border:none;
cursor:pointer;
padding:4px;
z-index:9999;
position:relative;
}

.nav__toggle span{
display:block;
width:24px;
height:2px;
background:var(--text);
border-radius:2px;
transition:all 0.3s;
}

.nav__toggle.active span:nth-child(1){
transform:rotate(45deg) translate(5px,5px);
}

.nav__toggle.active span:nth-child(2){
opacity:0;
}

.nav__toggle.active span:nth-child(3){
transform:rotate(-45deg) translate(5px,-5px);
}


.mobile-menu{
position:fixed;
top:0;
left:0;
width:100vw;
height:100vh;
height:100dvh;
z-index:9998;
background-color:#09090B;
display:flex;
align-items:center;
justify-content:center;
opacity:0;
pointer-events:none;
transition:opacity 0.4s ease;
}

.mobile-menu.open{
opacity:1;
pointer-events:auto;
}

.mobile-menu__inner{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:48px;
width:100%;
padding:0 32px;
}

.mobile-menu__nav{
display:flex;
flex-direction:column;
align-items:center;
gap:8px;
}

.mobile-menu__link{
font-family:var(--font-sans);
font-weight:800;
font-size:clamp(36px,9vw,52px);
letter-spacing:-0.03em;
color:var(--zinc-300);
text-decoration:none;
padding:4px 0;
position:relative;
display:inline-block;

opacity:0;
transform:translateY(30px);
transition:color 0.3s ease;
}

.mobile-menu.open .mobile-menu__link{
opacity:1;
transform:translateY(0);
transition:color 0.3s ease,
opacity 0.5s ease calc(var(--i) * 0.07s + 0.15s),
transform 0.5s cubic-bezier(0.16,1,0.3,1) calc(var(--i) * 0.07s + 0.15s);
}

.mobile-menu__link:hover,
.mobile-menu__link:focus{
color:var(--accent);
}

.mobile-menu__link::after{
content:'';
position:absolute;
left:0;
bottom:0;
width:0;
height:3px;
background:linear-gradient(90deg,var(--accent),var(--accent-ai));
border-radius:2px;
transition:width 0.35s cubic-bezier(0.16,1,0.3,1);
}

.mobile-menu__link:hover::after{
width:100%;
}

.mobile-menu__footer{
display:flex;
flex-direction:column;
align-items:center;
gap:8px;
opacity:0;
transform:translateY(20px);
}

.mobile-menu.open .mobile-menu__footer{
opacity:1;
transform:translateY(0);
transition:opacity 0.5s ease calc(var(--i) * 0.06s + 0.1s),
transform 0.5s ease calc(var(--i) * 0.06s + 0.1s);
}

.mobile-menu__contact{
font-family:var(--font-mono);
font-size:14px;
color:var(--accent);
text-decoration:none;
transition:color 0.2s;
}

.mobile-menu__contact:hover{
color:var(--cyan-400);
}

.mobile-menu__location{
font-family:var(--font-mono);
font-size:13px;
color:var(--zinc-600);
margin-top:4px;
}


.hero{
position:relative;
min-height:100vh;
display:flex;
align-items:center;
padding-top:72px;
overflow:hidden;
}

.hero__bg-grid{
position:absolute;
inset:0;
background-image:
linear-gradient(rgba(39,39,42,0.3) 1px,transparent 1px),
linear-gradient(90deg,rgba(39,39,42,0.3) 1px,transparent 1px);
background-size:60px 60px;
mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black 20%,transparent 100%);
-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black 20%,transparent 100%);
}

.hero__inner{
position:relative;
z-index:1;
padding-top:clamp(40px,8vw,80px);
padding-bottom:clamp(40px,8vw,80px);
}

.hero__badge{
display:inline-flex;
align-items:center;
gap:10px;
font-family:var(--font-mono);
font-size:13px;
color:var(--text-muted);
padding:8px 16px;
border:1px solid var(--border);
border-radius:100px;
margin-bottom:40px;
background:rgba(24,24,27,0.5);
}

.hero__badge-dot{
width:8px;
height:8px;
border-radius:50%;
background:var(--green-500);
animation:pulse 2s ease-in-out infinite;
}

@keyframes pulse{
0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(34,197,94,0.4)}
50%{opacity:0.8;box-shadow:0 0 0 6px rgba(34,197,94,0)}
}

.hero__title{
font-weight:800;
font-size:clamp(48px,8vw,96px);
line-height:1.05;
letter-spacing:-0.03em;
margin-bottom:28px;
}

.hero__title-line{
display:block;
}

.hero__title-italic{
font-family:var(--font-serif);
font-style:italic;
font-weight:400;
color:var(--accent);
}

.hero__title-dot{
color:var(--accent);
}

.hero__subtitle{
font-size:clamp(17px,2vw,20px);
line-height:1.7;
color:var(--text-muted);
max-width:580px;
margin-bottom:40px;
}

.hero__actions{
display:flex;
gap:16px;
margin-bottom:72px;
flex-wrap:wrap;
}

.hero__metrics{
display:flex;
gap:clamp(32px,5vw,64px);
padding-top:40px;
border-top:1px solid var(--border);
}

.hero__metric{
display:flex;
flex-direction:column;
gap:4px;
}

.hero__metric-value{
font-weight:800;
font-size:clamp(28px,4vw,40px);
letter-spacing:-0.02em;
color:var(--text);
line-height:1.1;
}

.hero__metric-star{
color:var(--amber-500);
font-size:0.7em;
}

.hero__metric-value--text{
font-size:clamp(22px,3vw,30px);
color:var(--accent);
}

.hero__metric-label{
font-family:var(--font-mono);
font-size:12px;
color:var(--text-muted);
text-transform:uppercase;
letter-spacing:0.05em;
}

.hero__scroll{
position:absolute;
bottom:32px;
left:50%;
transform:translateX(-50%);
display:flex;
flex-direction:column;
align-items:center;
gap:8px;
}

.hero__scroll span{
font-family:var(--font-mono);
font-size:11px;
color:var(--zinc-600);
text-transform:uppercase;
letter-spacing:0.1em;
}

.hero__scroll-line{
width:1px;
height:40px;
background:linear-gradient(to bottom,var(--zinc-600),transparent);
animation:scrollLine 2s ease-in-out infinite;
}

@keyframes scrollLine{
0%{transform:scaleY(0);transform-origin:top}
50%{transform:scaleY(1);transform-origin:top}
51%{transform-origin:bottom}
100%{transform:scaleY(0);transform-origin:bottom}
}


.about{
padding:var(--section-py) 0;
background:var(--bg);
}

.about__grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:start;
}

.about__content{
max-width:540px;
}

.about__text{
color:var(--text-muted);
margin-bottom:20px;
font-size:17px;
}

.about__mission-card{
background:var(--surface);
border:1px solid var(--border);
border-radius:16px;
padding:clamp(28px,4vw,44px);
position:relative;
overflow:hidden;
}

.about__mission-card::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:2px;
background:linear-gradient(90deg,var(--accent),var(--accent-ai));
}

.about__mission-label{
font-family:var(--font-mono);
font-size:12px;
font-weight:500;
letter-spacing:0.08em;
text-transform:uppercase;
color:var(--accent);
margin-bottom:16px;
}

.about__mission-text{
font-size:18px;
line-height:1.75;
color:var(--zinc-300);
font-weight:400;
}


.marquee{
padding:28px 0;
background:var(--surface);
border-top:1px solid var(--border);
border-bottom:1px solid var(--border);
overflow:hidden;
}

.marquee__track{
display:flex;
width:max-content;
animation:marqueeScroll 30s linear infinite;
}

.marquee__content{
display:flex;
align-items:center;
gap:24px;
padding-right:24px;
}

.marquee__item{
font-family:var(--font-mono);
font-size:14px;
font-weight:500;
color:var(--zinc-500);
white-space:nowrap;
letter-spacing:0.02em;
transition:color 0.3s;
}

.marquee:hover .marquee__item{
color:var(--zinc-400);
}

.marquee__dot{
width:4px;
height:4px;
border-radius:50%;
background:var(--zinc-700);
flex-shrink:0;
}

@keyframes marqueeScroll{
from{transform:translateX(0)}
to{transform:translateX(-50%)}
}

.marquee:hover .marquee__track{
animation-play-state:paused;
}


.trust{
padding:var(--section-py) 0;
background:var(--surface);
}

.trust__grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.trust__card{
position:relative;
background:var(--bg);
border:1px solid var(--border);
border-radius:16px;
padding:32px;
transition:all 0.35s ease;
overflow:hidden;
}

.trust__card::before{
content:'';
position:absolute;
inset:0;
border-radius:16px;
opacity:0;
transition:opacity 0.35s ease;
background:radial-gradient(
500px circle at var(--mouse-x,50%) var(--mouse-y,50%),
rgba(6,182,212,0.05),
transparent 40%
);
}

.trust__card:hover::before{
opacity:1;
}

.trust__card:hover{
border-color:var(--zinc-700);
transform:translateY(-2px);
}

.trust__icon{
width:48px;
height:48px;
border-radius:12px;
background:rgba(6,182,212,0.08);
border:1px solid rgba(6,182,212,0.15);
display:flex;
align-items:center;
justify-content:center;
color:var(--accent);
margin-bottom:20px;
}

.trust__icon--ai{
background:rgba(139,92,246,0.08);
border-color:rgba(139,92,246,0.15);
color:var(--violet-400);
}

.trust__card-title{
font-weight:700;
font-size:18px;
letter-spacing:-0.01em;
margin-bottom:10px;
color:var(--text);
}

.trust__card-desc{
font-size:14px;
line-height:1.7;
color:var(--text-muted);
}


.services{
padding:var(--section-py) 0;
background:var(--surface);
}

.services__grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.service-card{
position:relative;
background:var(--bg);
border:1px solid var(--border);
border-radius:16px;
padding:36px;
transition:all 0.35s ease;
overflow:hidden;
}

.service-card::before{
content:'';
position:absolute;
inset:0;
border-radius:16px;
opacity:0;
transition:opacity 0.35s ease;
background:radial-gradient(
600px circle at var(--mouse-x,50%) var(--mouse-y,50%),
rgba(6,182,212,0.06),
transparent 40%
);
}

.service-card:hover::before{
opacity:1;
}

.service-card:hover{
border-color:var(--zinc-700);
transform:translateY(-2px);
}

.service-card--ai::before{
background:radial-gradient(
600px circle at var(--mouse-x,50%) var(--mouse-y,50%),
rgba(139,92,246,0.06),
transparent 40%
);
}

.service-card__number{
font-family:var(--font-mono);
font-size:13px;
color:var(--zinc-600);
margin-bottom:20px;
}

.service-card__ai-badge{
display:inline-flex;
align-items:center;
font-family:var(--font-mono);
font-size:11px;
font-weight:500;
letter-spacing:0.05em;
padding:4px 10px;
border-radius:4px;
background:rgba(139,92,246,0.15);
color:var(--violet-400);
border:1px solid rgba(139,92,246,0.25);
margin-bottom:16px;
}

.service-card__title{
font-weight:700;
font-size:20px;
margin-bottom:12px;
letter-spacing:-0.01em;
}

.service-card__desc{
font-size:15px;
line-height:1.7;
color:var(--text-muted);
margin-bottom:24px;
}

.service-card__tags{
display:flex;
flex-wrap:wrap;
gap:8px;
}

.tag{
font-family:var(--font-mono);
font-size:12px;
padding:4px 12px;
border-radius:6px;
background:var(--surface);
color:var(--text-muted);
border:1px solid var(--border);
}

.tag--ai{
background:rgba(139,92,246,0.08);
border-color:rgba(139,92,246,0.2);
color:var(--violet-400);
}


.process{
padding:var(--section-py) 0;
background:var(--bg);
}

.process__timeline{
position:relative;
display:flex;
flex-direction:column;
gap:0;
}


.process__timeline::before{
content:'';
position:absolute;
left:23px;
top:40px;
bottom:40px;
width:1px;
background:linear-gradient(to bottom,var(--accent),var(--accent-ai),var(--accent));
opacity:0.3;
}

.process__step{
display:grid;
grid-template-columns:48px 1fr;
gap:32px;
padding:32px 0;
position:relative;
}

.process__step-number{
font-family:var(--font-mono);
font-size:14px;
font-weight:500;
color:var(--accent);
width:48px;
height:48px;
border-radius:12px;
border:1px solid var(--border);
background:var(--surface);
display:flex;
align-items:center;
justify-content:center;
position:relative;
z-index:1;
transition:all 0.3s ease;
}

.process__step:hover .process__step-number{
border-color:var(--accent);
background:rgba(6,182,212,0.08);
box-shadow:0 0 20px rgba(6,182,212,0.15);
}

.process__step-content{
background:var(--surface);
border:1px solid var(--border);
border-radius:16px;
padding:36px;
transition:all 0.35s ease;
}

.process__step:hover .process__step-content{
border-color:var(--zinc-700);
transform:translateX(4px);
}

.process__step-icon{
color:var(--accent);
margin-bottom:16px;
width:40px;
height:40px;
border-radius:10px;
background:rgba(6,182,212,0.08);
display:flex;
align-items:center;
justify-content:center;
}

.process__step-title{
font-weight:700;
font-size:22px;
letter-spacing:-0.01em;
margin-bottom:12px;
color:var(--text);
}

.process__step-desc{
font-size:15px;
line-height:1.75;
color:var(--text-muted);
margin-bottom:20px;
}

.process__step-deliverables{
display:flex;
flex-wrap:wrap;
gap:8px;
}

.process__step-tag{
font-family:var(--font-mono);
font-size:12px;
padding:5px 14px;
border-radius:6px;
background:var(--bg);
color:var(--text-muted);
border:1px solid var(--border);
}


.contact{
padding:var(--section-py) 0;
background:var(--surface);
}

.contact__grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:80px;
align-items:start;
}

.contact__text{
font-size:17px;
color:var(--text-muted);
margin-bottom:36px;
}

.contact__details{
display:flex;
flex-direction:column;
gap:20px;
}

.contact__detail{
display:flex;
flex-direction:column;
gap:2px;
transition:color 0.2s;
}

a.contact__detail:hover .contact__detail-value{
color:var(--accent);
}

.contact__detail-label{
font-family:var(--font-mono);
font-size:11px;
text-transform:uppercase;
letter-spacing:0.08em;
color:var(--zinc-500);
}

.contact__detail-value{
font-size:17px;
font-weight:500;
color:var(--text);
transition:color 0.2s;
}


.contact__form{
display:flex;
flex-direction:column;
gap:20px;
}

.form-group{
display:flex;
flex-direction:column;
gap:6px;
}

.form-label{
font-size:13px;
font-weight:600;
color:var(--zinc-300);
}

.form-input{
font-family:var(--font-sans);
font-size:15px;
padding:12px 16px;
background:var(--bg);
border:1px solid var(--border);
border-radius:8px;
color:var(--text);
outline:none;
transition:border-color 0.2s;
}

.form-input::placeholder{
color:var(--zinc-600);
}

.form-input:focus{
border-color:var(--accent);
}

.form-textarea{
resize:vertical;
min-height:100px;
}

select.form-input{
appearance:none;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2371717A' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 6l3.5 4 3.5-4z'/%3E%3C/svg%3E");
background-repeat:no-repeat;
background-position:right 12px center;
padding-right:36px;
}


.footer{
padding:48px 0 40px;
background:var(--bg);
border-top:1px solid var(--border);
}

.footer__inner{
display:flex;
flex-direction:column;
align-items:center;
gap:24px;
text-align:center;
}

.footer__tagline{
font-family:var(--font-mono);
font-size:13px;
color:var(--zinc-500);
margin-top:6px;
}

.footer__links{
display:flex;
gap:32px;
}

.footer__links a{
font-size:14px;
color:var(--text-muted);
transition:color 0.2s;
}

.footer__links a:hover{
color:var(--text);
}

.footer__bottom p{
font-size:13px;
color:var(--zinc-600);
}



.nav__link--active{
color:var(--text);
}


.about,
.trust,
.services,
.process,
.contact{
opacity:0;
transform:translateY(30px);
transition:opacity 0.7s ease,transform 0.7s ease;
}

.about.section-visible,
.trust.section-visible,
.services.section-visible,
.process.section-visible,
.contact.section-visible{
opacity:1;
transform:translateY(0);
}


[data-reveal]{
opacity:0;
transform:translateY(24px);
transition:opacity 0.6s ease,transform 0.6s ease;
}

[data-reveal].revealed{
opacity:1;
transform:translateY(0);
}


.hero__badge,
.hero__title,
.hero__subtitle,
.hero__actions,
.hero__metrics{
animation:heroFadeUp 0.8s ease both;
}

.hero__badge{animation-delay:0.1s}
.hero__title{animation-delay:0.25s}
.hero__subtitle{animation-delay:0.4s}
.hero__actions{animation-delay:0.55s}
.hero__metrics{animation-delay:0.7s}

@keyframes heroFadeUp{
from{
opacity:0;
transform:translateY(28px);
}
to{
opacity:1;
transform:translateY(0);
}
}


body::before{
content:'';
position:fixed;
inset:0;
background:var(--bg);
z-index:9999;
pointer-events:none;
animation:pageCurtain 0.6s ease 0.1s forwards;
}

@keyframes pageCurtain{
to{
opacity:0;
visibility:hidden;
}
}


.marquee,
.trust,
.services,
.contact{
position:relative;
}


.nav::after{
content:'';
position:absolute;
bottom:-1px;
left:0;
right:0;
height:1px;
background:linear-gradient(90deg,transparent,var(--accent),var(--accent-ai),transparent);
opacity:0;
transition:opacity 0.3s;
}

.nav--scrolled::after{
opacity:0.4;
}




.hero::after{
content:'';
position:absolute;
width:clamp(300px,50vw,600px);
height:clamp(300px,50vw,600px);
border-radius:50%;
background:radial-gradient(circle,rgba(6,182,212,0.08) 0%,transparent 70%);
top:20%;
right:-10%;
animation:floatOrb 8s ease-in-out infinite;
pointer-events:none;
z-index:0;
}

@keyframes floatOrb{
0%,100%{transform:translate(0,0) scale(1)}
33%{transform:translate(-30px,20px) scale(1.05)}
66%{transform:translate(20px,-15px) scale(0.95)}
}


.section-label{
position:relative;
overflow:hidden;
}

.section-visible .section-label{
animation:labelSlideIn 0.6s ease both;
}

@keyframes labelSlideIn{
from{transform:translateX(-20px);opacity:0}
to{transform:translateX(0);opacity:1}
}


.section-visible .section-title{
animation:titleReveal 0.7s ease 0.15s both;
}

@keyframes titleReveal{
from{transform:translateY(15px);opacity:0}
to{transform:translateY(0);opacity:1}
}


.btn--primary{
position:relative;
overflow:hidden;
}

.btn--primary::after{
content:'';
position:absolute;
top:0;
left:-100%;
width:60%;
height:100%;
background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);
animation:btnShimmer 3s ease-in-out infinite;
}

@keyframes btnShimmer{
0%{left:-100%}
50%,100%{left:150%}
}


.marquee::before,
.marquee::after{
content:'';
position:absolute;
top:0;
bottom:0;
width:100px;
z-index:2;
pointer-events:none;
}

.marquee::before{
left:0;
background:linear-gradient(to right,var(--surface),transparent);
}

.marquee::after{
right:0;
background:linear-gradient(to left,var(--surface),transparent);
}


.service-card:hover .service-card__number{
color:var(--accent);
transition:color 0.3s;
}

.service-card--ai:hover .service-card__number{
color:var(--violet-400);
}


.process__step-number::after{
content:'';
position:absolute;
inset:-3px;
border-radius:14px;
border:1px solid var(--accent);
opacity:0;
transition:opacity 0.3s;
}

.process__step:hover .process__step-number::after{
opacity:0.4;
animation:stepPulse 1.5s ease-in-out infinite;
}

@keyframes stepPulse{
0%,100%{transform:scale(1);opacity:0.4}
50%{transform:scale(1.15);opacity:0}
}


.trust__card:hover .trust__icon{
transform:translateY(-3px);
transition:transform 0.3s ease;
}


.form-input:focus{
border-color:var(--accent);
box-shadow:0 0 0 3px rgba(6,182,212,0.1);
}


.footer .nav__logo:hover .nav__logo-code{
text-shadow:0 0 20px rgba(6,182,212,0.4);
transition:text-shadow 0.3s;
}


.hero__scroll-line{
background:linear-gradient(to bottom,var(--accent),transparent);
}


.about__mission-card::after{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:2px;
background:linear-gradient(90deg,var(--accent),var(--accent-ai),var(--accent));
background-size:200% 100%;
animation:gradientShift 4s ease-in-out infinite;
}

.about__mission-card::before{
background:linear-gradient(90deg,var(--accent),var(--accent-ai));
background-size:200% 100%;
animation:gradientShift 4s ease-in-out infinite;
}

@keyframes gradientShift{
0%,100%{background-position:0% 50%}
50%{background-position:100% 50%}
}




@media (max-width:1024px){
.services__grid{
grid-template-columns:repeat(2,1fr);
}

.trust__grid{
grid-template-columns:repeat(2,1fr);
}
}


@media (max-width:768px){
.nav__links-desktop{
display:none;
}

.nav__toggle{
display:flex;
}

.hero__title{
font-size:clamp(40px,10vw,64px);
}

.hero__metrics{
flex-direction:column;
gap:24px;
}

.hero__scroll{
display:none;
}

.about__grid{
grid-template-columns:1fr;
gap:40px;
}

.services__grid{
grid-template-columns:1fr;
}

.trust__grid{
grid-template-columns:1fr;
}

.process__step{
grid-template-columns:1fr;
gap:16px;
}

.process__timeline::before{
display:none;
}

.process__step-number{
width:40px;
height:40px;
font-size:13px;
}

.contact__grid{
grid-template-columns:1fr;
gap:48px;
}

.project-card__stats{
flex-wrap:wrap;
gap:20px;
}
}

@media (max-width:480px){
.hero__actions{
flex-direction:column;
}

.btn{
width:100%;
justify-content:center;
}
}



.scroll-progress{
position:fixed;
top:0;
left:0;
width:100%;
height:2px;
z-index:10000;
background:linear-gradient(90deg,var(--cyan-500),var(--violet-500));
transform-origin:0 50%;
transform:scaleX(0);
transition:transform 0.1s linear;
pointer-events:none;
box-shadow:0 0 12px rgba(6,182,212,0.4);
will-change:transform;
}




.hero{
isolation:isolate;
}

.hero::before,
.hero::after{
content:'';
position:absolute;
border-radius:50%;
filter:blur(70px);
pointer-events:none;
z-index:0;
will-change:transform;
}


.hero::before{
width:700px;
height:700px;
top:-200px;
right:-100px;
background:radial-gradient(circle,rgba(6,182,212,0.18) 0%,transparent 70%);
animation:aurora-drift-a 20s ease-in-out infinite;
}


.hero::after{
width:600px;
height:600px;
bottom:-150px;
left:-100px;
background:radial-gradient(circle,rgba(139,92,246,0.14) 0%,transparent 70%);
animation:aurora-drift-b 24s ease-in-out infinite;
}

@keyframes aurora-drift-a{
0%,100%{transform:translate(0,0) scale(1)}
33%{transform:translate(-60px,40px) scale(1.1)}
66%{transform:translate(40px,-30px) scale(0.95)}
}

@keyframes aurora-drift-b{
0%,100%{transform:translate(0,0) scale(1)}
50%{transform:translate(80px,-40px) scale(1.15)}
}


.hero__bg-grid{
opacity:0.7;
}


.hero__badge{
background:rgba(24,24,27,0.6);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
position:relative;
overflow:hidden;
}

.hero__badge::before{
content:'';
position:absolute;
inset:0;
border-radius:100px;
padding:1px;
background:linear-gradient(135deg,rgba(34,197,94,0.4),transparent 50%,rgba(6,182,212,0.3));
-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
-webkit-mask-composite:xor;
mask-composite:exclude;
pointer-events:none;
}


.hero__title-word{
display:inline-block;
opacity:0;
transform:translateY(40px);

animation:word-reveal 0.9s cubic-bezier(0.16,1,0.3,1) forwards;
animation-delay:calc(var(--i,0) * 0.08s + 0.2s);
}

@keyframes word-reveal{
to{
opacity:1;
transform:translateY(0);
}
}


.hero__subtitle,
.hero__actions,
.hero__metrics{
opacity:0;
transform:translateY(20px);
animation:fade-up 0.8s cubic-bezier(0.16,1,0.3,1) forwards;
}
.hero__subtitle{animation-delay:0.7s}
.hero__actions{animation-delay:0.85s}
.hero__metrics{animation-delay:1.0s}

@keyframes fade-up{
to{opacity:1;transform:translateY(0)}
}


.hero__metric{
position:relative;
cursor:default;
transition:transform 0.3s ease;
}

.hero__metric:hover{
transform:translateY(-2px);
}

.hero__metric-value--text{
position:relative;
display:inline-block;
}

.hero__metric:hover .hero__metric-value--text{
background:linear-gradient(135deg,var(--cyan-400),var(--violet-400));
-webkit-background-clip:text;
background-clip:text;
color:transparent;
}


.nav__link{
position:relative;
padding:6px 0;
}

.nav__link:not(.nav__link--cta)::after{
content:'';
position:absolute;
left:0;
bottom:0;
width:0;
height:1px;
background:var(--accent);
transition:width 0.3s cubic-bezier(0.16,1,0.3,1);
}

.nav__link:not(.nav__link--cta):hover::after,
.nav__link--active::after{
width:100%;
}

.nav__link--active{
color:var(--text);
}


.btn--primary{
position:relative;
overflow:hidden;
isolation:isolate;
}

.btn--primary::before{
content:'';
position:absolute;
inset:0;
background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,0.4) 50%,transparent 70%);
transform:translateX(-100%);
transition:transform 0.7s cubic-bezier(0.16,1,0.3,1);
pointer-events:none;
z-index:0;
}

.btn--primary:hover::before{
transform:translateX(100%);
}

.btn--primary{
box-shadow:0 4px 20px rgba(6,182,212,0.15);
}

.btn--primary:hover{
box-shadow:0 12px 40px rgba(6,182,212,0.4),0 0 0 1px rgba(6,182,212,0.5);
transform:translateY(-2px);
}


.btn--primary[href]::after{
content:'\2192';
display:inline-block;
margin-left:4px;
transition:transform 0.3s cubic-bezier(0.16,1,0.3,1);
}

.btn--primary[href]:hover::after{
transform:translateX(4px);
}


.btn--ghost{
position:relative;
overflow:hidden;
}

.btn--ghost::before{
content:'';
position:absolute;
inset:0;
background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(6,182,212,0.12),transparent 60%);
opacity:0;
transition:opacity 0.3s;
}

.btn--ghost:hover::before{
opacity:1;
}


.about,
.trust,
.services,
.process,
.contact{
position:relative;
}

.about::before,
.trust::before,
.services::before,
.process::before,
.contact::before{
content:'';
position:absolute;
top:0;
left:50%;
transform:translateX(-50%);
width:min(85%,800px);
height:1px;
background:linear-gradient(90deg,transparent,var(--zinc-800) 30%,var(--zinc-800) 70%,transparent);
}


.trust__card,
.service-card,
.process__step-content{
position:relative;
isolation:isolate;
transition:transform 0.4s cubic-bezier(0.16,1,0.3,1),
border-color 0.3s ease;
}


.trust__card::after,
.service-card::after,
.process__step-content::after{
content:'';
position:absolute;
inset:0;
border-radius:inherit;
background:radial-gradient(
600px circle at var(--mouse-x,50%) var(--mouse-y,50%),
rgba(6,182,212,0.08),
transparent 40%
);
opacity:0;
transition:opacity 0.4s ease;
pointer-events:none;
z-index:1;
}

.trust__card:hover::after,
.service-card:hover::after,
.process__step-content:hover::after{
opacity:1;
}


.trust__card:hover,
.service-card:hover,
.process__step-content:hover{
transform:translateY(-3px);
border-color:rgba(6,182,212,0.25);
}

.service-card--ai:hover{
border-color:rgba(139,92,246,0.3);
}

.service-card--ai::after{
background:radial-gradient(
600px circle at var(--mouse-x,50%) var(--mouse-y,50%),
rgba(139,92,246,0.1),
transparent 40%
);
}


.trust__icon{
position:relative;
transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);
}

.trust__card:hover .trust__icon{
transform:scale(1.08) rotate(-3deg);
}

.trust__icon::before{
content:'';
position:absolute;
inset:-4px;
border-radius:inherit;
background:radial-gradient(circle,rgba(6,182,212,0.25),transparent 70%);
opacity:0;
transition:opacity 0.4s;
z-index:-1;
}

.trust__card:hover .trust__icon::before{
opacity:1;
}


.service-card__number{
position:relative;
font-feature-settings:'tnum';
}

.service-card:hover .service-card__number{
color:var(--accent);
transition:color 0.3s ease;
}


.service-card__ai-badge{
position:relative;
overflow:hidden;
}

.service-card__ai-badge::before{
content:'';
position:absolute;
inset:0;
background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,0.2) 50%,transparent 70%);
transform:translateX(-100%);
animation:ai-shimmer 4s ease-in-out infinite;
animation-delay:2s;
}

@keyframes ai-shimmer{
0%,50%,100%{transform:translateX(-100%)}
60%{transform:translateX(100%)}
}


.process__timeline{
position:relative;
}

@media (min-width:768px){
.process__timeline::before{
content:'';
position:absolute;
left:30px;
top:40px;
bottom:40px;
width:1px;
background:linear-gradient(180deg,
transparent 0%,
var(--zinc-800) 8%,
var(--zinc-800) 92%,
transparent 100%);
z-index:0;
}
}

.process__step-number{
position:relative;
transition:color 0.3s ease,text-shadow 0.3s ease;
}

.process__step:hover .process__step-number{
color:var(--accent);
text-shadow:0 0 20px rgba(6,182,212,0.4);
}

.process__step-icon{
transition:all 0.4s cubic-bezier(0.16,1,0.3,1);
position:relative;
}

.process__step:hover .process__step-icon{
background:rgba(6,182,212,0.1);
border-color:rgba(6,182,212,0.3);
color:var(--accent);
transform:scale(1.05);
}

.process__step-icon::after{
content:'';
position:absolute;
inset:-2px;
border-radius:inherit;
background:radial-gradient(circle,rgba(6,182,212,0.4),transparent 70%);
opacity:0;
transition:opacity 0.4s;
z-index:-1;
filter:blur(8px);
}

.process__step:hover .process__step-icon::after{
opacity:1;
}


.marquee{
position:relative;
overflow:hidden;
}

.marquee::before,
.marquee::after{
content:'';
position:absolute;
top:0;
bottom:0;
width:200px;
z-index:2;
pointer-events:none;
}

.marquee::before{
left:0;
background:linear-gradient(90deg,var(--bg) 10%,transparent);
}

.marquee::after{
right:0;
background:linear-gradient(-90deg,var(--bg) 10%,transparent);
}

.marquee__item{
transition:color 0.3s ease;
}

.marquee__item:hover{
color:var(--text);
}


.form-input{
position:relative;
transition:all 0.25s ease;
}

.form-input:focus{
outline:none;
border-color:var(--accent);
box-shadow:0 0 0 4px rgba(6,182,212,0.1);
}

.form-input:hover:not(:focus){
border-color:var(--zinc-600);
}


.contact{
position:relative;
isolation:isolate;
}

.contact::after{
content:'';
position:absolute;
width:600px;
height:600px;
border-radius:50%;
top:50%;
left:0;
transform:translate(-30%,-50%);
background:radial-gradient(circle,rgba(6,182,212,0.06),transparent 70%);
filter:blur(80px);
z-index:-1;
pointer-events:none;
}

.contact__detail{
display:block;
padding:16px 20px;
border:1px solid var(--border);
border-radius:12px;
background:rgba(24,24,27,0.4);
transition:all 0.3s cubic-bezier(0.16,1,0.3,1);
}

a.contact__detail:hover{
border-color:rgba(6,182,212,0.3);
background:rgba(6,182,212,0.04);
transform:translateX(4px);
}

a.contact__detail:hover .contact__detail-value{
color:var(--accent);
}

.contact__detail-value{
transition:color 0.3s ease;
}


.footer{
position:relative;
border-top:1px solid var(--border);
}

.footer::before{
content:'';
position:absolute;
top:0;
left:50%;
transform:translateX(-50%);
width:200px;
height:1px;
background:linear-gradient(90deg,transparent,var(--accent),transparent);
opacity:0.4;
}

.footer__links a{
position:relative;
transition:color 0.2s;
}

.footer__links a:hover{
color:var(--accent);
}

.footer__links a::before{
content:'\2192';
display:inline-block;
margin-right:6px;
opacity:0;
transform:translateX(-6px);
transition:all 0.3s cubic-bezier(0.16,1,0.3,1);
}

.footer__links a:hover::before{
opacity:1;
transform:translateX(0);
}


[data-reveal]{
transition-timing-function:cubic-bezier(0.16,1,0.3,1) !important;
}


.section-title{
opacity:0;
transform:translateY(20px);
transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1),
transform 0.8s cubic-bezier(0.16,1,0.3,1);
}

.section-visible .section-title{
opacity:1;
transform:translateY(0);
}

.section-label{
opacity:0;
transform:translateY(10px);
transition:opacity 0.6s ease 0.1s,transform 0.6s ease 0.1s;
}

.section-visible .section-label{
opacity:1;
transform:translateY(0);
}

.section-subtitle{
opacity:0;
transform:translateY(15px);
transition:opacity 0.6s ease 0.2s,transform 0.6s ease 0.2s;
}

.section-visible .section-subtitle{
opacity:1;
transform:translateY(0);
}


.about__mission-card{
position:relative;
overflow:hidden;
transition:transform 0.5s cubic-bezier(0.16,1,0.3,1);
}

.about__mission-card::before{
content:'';
position:absolute;
inset:-1px;
border-radius:inherit;
background:linear-gradient(135deg,rgba(6,182,212,0.3),transparent 30%,transparent 70%,rgba(139,92,246,0.2));
-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
-webkit-mask-composite:xor;
mask-composite:exclude;
pointer-events:none;
opacity:0.5;
transition:opacity 0.5s;
}

.about__mission-card:hover{
transform:translateY(-4px);
}

.about__mission-card:hover::before{
opacity:1;
}


@media (prefers-reduced-motion:reduce){
.hero::before,
.hero::after,
.hero__title-word,
.hero__subtitle,
.hero__actions,
.hero__metrics,
.service-card__ai-badge::before,
.scroll-progress{
animation:none !important;
opacity:1 !important;
transform:none !important;
filter:none !important;
}
}



.skip-link{
position:absolute;
top:-100px;
left:16px;
padding:12px 20px;
background:var(--accent);
color:var(--zinc-950);
font-weight:700;
border-radius:8px;
z-index:10001;
transition:top 0.2s ease;
box-shadow:0 8px 24px rgba(6,182,212,0.3);
}

.skip-link:focus{
top:16px;
outline:2px solid var(--zinc-50);
outline-offset:2px;
}


:focus-visible{
outline:2px solid var(--cyan-400);
outline-offset:3px;
border-radius:6px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible{
outline:2px solid var(--cyan-400);
outline-offset:3px;
}


.form-input:focus-visible{
outline-offset:0;
outline:2px solid var(--cyan-400);
}


button,
[role="button"],
.btn,
.nav__toggle,
summary,
.faq__q,
.tag{
cursor:pointer;
}


.form-required{
color:var(--cyan-400);
margin-left:2px;
font-weight:600;
}

.form-status{
font-family:var(--font-mono);
font-size:13px;
color:var(--green-500);
margin-top:4px;
min-height:18px;
text-align:center;
}

.form-status[data-state="error"]{
color:#F87171;
}


.faq{
padding:var(--section-py) 0;
background:var(--bg);
position:relative;
}

.faq__head{
max-width:720px;
margin-bottom:56px;
}

.faq__inline-link{
color:var(--accent);
border-bottom:1px dashed rgba(6,182,212,0.4);
padding-bottom:1px;
transition:border-color 0.2s,color 0.2s;
}

.faq__inline-link:hover{
color:var(--cyan-400);
border-bottom-color:var(--cyan-400);
}

.faq__list{
display:flex;
flex-direction:column;
gap:12px;
max-width:880px;
}

.faq__item{
background:var(--surface);
border:1px solid var(--border);
border-radius:14px;
overflow:hidden;
transition:border-color 0.3s ease,
background 0.3s ease,
box-shadow 0.3s ease;
}

.faq__item:hover{
border-color:var(--zinc-700);
}

.faq__item[open]{
border-color:rgba(6,182,212,0.3);
background:linear-gradient(180deg,rgba(6,182,212,0.025),var(--surface) 60%);
box-shadow:0 8px 30px rgba(0,0,0,0.2);
}

.faq__q{
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
padding:22px 28px;
font-family:var(--font-sans);
font-weight:600;
font-size:17px;
color:var(--text);
list-style:none;
user-select:none;
transition:color 0.2s ease;
}


.faq__q::-webkit-details-marker{display:none}
.faq__q::marker{content:none}

.faq__q:hover{
color:var(--cyan-400);
}

.faq__chevron{
flex-shrink:0;
color:var(--zinc-500);
transition:transform 0.35s cubic-bezier(0.16,1,0.3,1),
color 0.25s ease;
}

.faq__item[open] .faq__chevron{
transform:rotate(180deg);
color:var(--accent);
}

.faq__a{
padding:0 28px 24px;
color:var(--zinc-300);
font-size:16px;
line-height:1.75;
max-width:720px;
}


.faq__item > .faq__a{
display:grid;
grid-template-rows:0fr;
transition:grid-template-rows 0.35s cubic-bezier(0.16,1,0.3,1);
padding-top:0;
padding-bottom:0;
overflow:hidden;
}

.faq__item[open] > .faq__a{
grid-template-rows:1fr;
padding-bottom:24px;
}

.faq__a > p{
min-height:0;
}




.contact__form{
box-shadow:
0 4px 20px rgba(0,0,0,0.2),
0 24px 60px rgba(6,182,212,0.06),
0 1px 0 rgba(255,255,255,0.04) inset;
}


@media (min-width:768px){
.hero__subtitle{

border-left:1px solid var(--zinc-800);
padding-left:24px;
margin-left:-24px;
}
}


.about__mission-card{
background:linear-gradient(135deg,rgba(24,24,27,0.8),rgba(24,24,27,0.4));
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);
box-shadow:
0 1px 0 rgba(255,255,255,0.04) inset,
0 30px 60px -20px rgba(0,0,0,0.3);
}


.trust__card{
background:linear-gradient(180deg,rgba(9,9,11,0.9),rgba(9,9,11,0.6));
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
}


.service-card{
background:linear-gradient(180deg,rgba(9,9,11,0.95),rgba(9,9,11,0.75));
box-shadow:0 1px 0 rgba(255,255,255,0.04) inset;
}




.section-title{
line-height:1.1;
}


.service-card__title{
font-weight:700;
letter-spacing:-0.015em;
}


.faq__q span{
letter-spacing:-0.01em;
line-height:1.4;
}


.faq__a p,
.trust__card-desc,
.service-card__desc{
text-wrap:pretty;
}


.hero__title,
.section-title{
text-wrap:balance;
}




button,
.btn,
a:not(.nav__logo),
.tag,
.faq__item,
.form-input{
transition-duration:250ms;
}


.tag{
position:relative;
transition:all 0.25s ease;
}

.tag:hover{
background:rgba(6,182,212,0.08);
border-color:rgba(6,182,212,0.25);
color:var(--cyan-400);
}

.tag--ai:hover{
background:rgba(139,92,246,0.08);
border-color:rgba(139,92,246,0.25);
color:var(--violet-400);
}


.hero__scroll{
opacity:0.7;
transition:opacity 0.3s;
}
.hero__scroll:hover{opacity:1}




.hero::before,
.hero::after,
.marquee__track{
will-change:transform;
transform:translateZ(0);
backface-visibility:hidden;
}

.hero__bg-grid{
transform:translateZ(0);
backface-visibility:hidden;
}





@media (max-width:768px){

.btn,
.nav__link--cta,
.form-input,
.faq__q,
.footer__links a,
.nav__toggle{
min-height:44px;
}

.nav__toggle{
min-width:44px;
}


.faq__q{
padding:18px 22px;
font-size:15.5px;
}

.faq__a{
padding-left:22px;
padding-right:22px;
}


.hero__subtitle{
border-left:none;
padding-left:0;
margin-left:0;
}


.contact__detail{
padding:18px 20px;
}
}


.section-title em.italic-accent{
position:relative;
}

.section-title em.italic-accent::after{
content:'';
position:absolute;
left:0;
right:0;
bottom:0;
height:2px;
background:linear-gradient(90deg,var(--accent),transparent);
border-radius:2px;
opacity:0;
transform:scaleX(0.6);
transform-origin:left;
transition:opacity 0.5s ease 0.3s,transform 0.6s cubic-bezier(0.16,1,0.3,1) 0.3s;
}

.section-visible .section-title em.italic-accent::after{
opacity:0.5;
transform:scaleX(1);
}


.nav__inner{
min-width:0;
height:76px;
}

.nav__links-desktop{
gap:32px;
flex-shrink:0;
align-items:center;
}

.nav__link{
white-space:nowrap;
font-size:14.5px;
font-weight:500;
color:var(--zinc-400);
letter-spacing:-0.005em;
padding:8px 0;
transition:color 0.22s ease;
}

.nav__link:hover{
color:var(--zinc-50);
}


.nav__link--cta{
padding:10px 22px;
font-size:14px;
font-weight:600;
letter-spacing:0;
border-radius:8px;
background:var(--cyan-500);
color:var(--zinc-950);
margin-left:8px;
box-shadow:0 2px 12px rgba(6,182,212,0.18),
0 0 0 1px rgba(6,182,212,0.4) inset;
position:relative;
overflow:hidden;
transition:all 0.25s cubic-bezier(0.16,1,0.3,1);
}


.nav__link--cta::before{
content:'';
position:absolute;
inset:0;
background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,0.35) 50%,transparent 65%);
transform:translateX(-110%);
transition:transform 0.65s cubic-bezier(0.16,1,0.3,1);
pointer-events:none;
}

.nav__link--cta:hover{
background:var(--cyan-400);
color:var(--zinc-950);
transform:translateY(-1px);
box-shadow:0 8px 24px rgba(6,182,212,0.4),
0 0 0 1px rgba(6,182,212,0.6) inset;
}

.nav__link--cta:hover::before{
transform:translateX(110%);
}


.nav__link--cta::after{
display:none !important;
}


@media (max-width:980px){
.nav__links-desktop{display:none}
.nav__toggle{display:flex !important}
}


.hero__badge{
font-family:var(--font-sans);
font-size:15.5px;
padding:12px 24px;
letter-spacing:-0.005em;
font-weight:500;
gap:12px;
color:var(--zinc-200);
background:rgba(24,24,27,0.7);
backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);
margin-bottom:44px;
}

.hero__badge-dot{
width:10px;
height:10px;
}

@media (max-width:768px){
.hero__badge{
font-size:13.5px;
padding:10px 18px;
gap:10px;
}
.hero__badge-dot{
width:9px;
height:9px;
}
}


.contact__details{
display:flex;
flex-direction:column;
gap:10px;
}


.contact__detail,
a.contact__detail{
display:grid;
grid-template-columns:36px 1fr auto;
align-items:center;
gap:14px;
padding:16px 22px;
border:1px solid var(--zinc-800);
border-radius:12px;
background:rgba(24,24,27,0.35);
backdrop-filter:blur(6px);
-webkit-backdrop-filter:blur(6px);
transition:all 0.3s cubic-bezier(0.16,1,0.3,1);
position:relative;
overflow:hidden;
}


.contact__detail::before{
content:'';
position:absolute;
left:0;
top:50%;
transform:translateY(-50%);
width:2px;
height:0;
background:linear-gradient(180deg,var(--cyan-400),var(--violet-400));
border-radius:2px;
transition:height 0.4s cubic-bezier(0.16,1,0.3,1);
}

a.contact__detail:hover{
border-color:rgba(6,182,212,0.3);
background:rgba(6,182,212,0.04);
transform:translateX(4px);
}

a.contact__detail:hover::before{
height:60%;
}

.contact__detail-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:36px;
height:36px;
border-radius:10px;
background:rgba(6,182,212,0.08);
border:1px solid rgba(6,182,212,0.18);
color:var(--cyan-400);
flex-shrink:0;
transition:all 0.3s ease;
}

a.contact__detail:hover .contact__detail-icon{
background:rgba(6,182,212,0.14);
border-color:rgba(6,182,212,0.4);
transform:scale(1.05);
}

.contact__detail-value{
font-size:16px;
font-weight:500;
color:var(--zinc-100);
letter-spacing:-0.005em;
transition:color 0.25s ease;

min-width:0;
word-break:break-word;
}

a.contact__detail:hover .contact__detail-value{
color:var(--cyan-400);
}

.contact__detail-arrow{
display:inline-flex;
align-items:center;
justify-content:center;
width:28px;
height:28px;
border-radius:8px;
color:var(--zinc-600);
opacity:0;
transform:translateX(-4px);
transition:all 0.3s cubic-bezier(0.16,1,0.3,1);
}

a.contact__detail:hover .contact__detail-arrow{
opacity:1;
transform:translateX(0);
color:var(--cyan-400);
}


.contact__detail--static{
grid-template-columns:36px 1fr;
cursor:default;
}

.contact__detail--static:hover{
transform:none;
border-color:var(--zinc-800);
background:rgba(24,24,27,0.35);
}


.contact__detail-label{
display:none;
}


@media (max-width:768px){
.contact__detail,
a.contact__detail{
padding:14px 18px;
gap:12px;
}
.contact__detail-value{
font-size:15px;
}
}


.section-label,
.about__mission-label{
color:var(--cyan-400);
}

.hero__metric-label,
.marquee__item,
.service-card__number,
.process__step-number{
color:var(--zinc-400);
}


.trust__card--metric .trust__metric{
font-family:var(--font-sans);
font-weight:800;
font-size:44px;
line-height:1;
letter-spacing:-0.03em;
color:var(--cyan-400);
margin:4px 0 12px;
font-variant-numeric:tabular-nums;
}

.trust__card--metric .trust__metric-suffix{
font-size:18px;
font-weight:600;
color:var(--zinc-400);
margin-left:4px;
letter-spacing:0;
}


@media (min-width:1024px){
.services__grid{
grid-template-columns:repeat(6,1fr);
grid-auto-rows:minmax(240px,auto);
}


.services__grid .service-card:nth-child(1){
grid-column:span 4;
}

.services__grid .service-card:nth-child(2){
grid-column:span 2;
}

.services__grid .service-card:nth-child(3){
grid-column:span 2;
}

.services__grid .service-card:nth-child(4){
grid-column:span 2;
}

.services__grid .service-card:nth-child(5){
grid-column:span 2;
}

.services__grid .service-card:nth-child(6){
grid-column:span 4;
}
}


.service-card{
display:flex;
flex-direction:column;
}

.service-card__desc{
flex:1;
}


@media (min-width:1024px){
.services__grid .service-card:nth-child(1),
.services__grid .service-card:nth-child(6){
padding:44px;
}
.services__grid .service-card:nth-child(1) .service-card__title,
.services__grid .service-card:nth-child(6) .service-card__title{
font-size:24px;
}
}


.service-card--ai .service-card__ai-badge{
background:linear-gradient(135deg,rgba(139,92,246,0.15),rgba(139,92,246,0.05));
border-color:rgba(139,92,246,0.3);
}


.hero--offscreen::before,
.hero--offscreen::after{
animation-play-state:paused;
}


html{font-size-adjust:0.5}


@media print{
.nav,.mobile-menu,.scroll-progress,.hero__scroll,
.hero::before,.hero::after,body::before{
display:none !important;
}
body{background:white;color:black}
*{animation:none !important;transition:none !important}
}


@media (prefers-contrast:more){
:root{
--text-muted:#D4D4D8;
--border:#71717A;
}
.btn--primary{box-shadow:0 0 0 2px var(--zinc-50)}
.nav__link{color:var(--text)}
}



.hero__title{
font-family:var(--font-sans);
font-weight:800;

font-size:clamp(40px,5.5vw,80px);
letter-spacing:-0.035em;
line-height:1.02;
position:relative;
max-width:1100px;
}

.hero__title-italic{
font-family:var(--font-serif);
font-style:italic;
font-weight:500;
letter-spacing:-0.015em;
color:var(--accent);
}


.hero__title-italic--gradient{
background:linear-gradient(110deg,var(--cyan-400) 0%,var(--violet-400) 65%);
-webkit-background-clip:text;
background-clip:text;
-webkit-text-fill-color:transparent;
color:transparent;
text-shadow:none;
}


.hero__title-rule{
display:block;
height:1px;
width:clamp(220px,24vw,360px);
background:linear-gradient(90deg,var(--cyan-400),var(--violet-400) 60%,transparent);
border-radius:1px;
margin-top:18px;
transform-origin:left;
transform:scaleX(0);
animation:rule-draw 0.7s cubic-bezier(0.16,1,0.3,1) forwards 1.2s;
}

@keyframes rule-draw{
to{transform:scaleX(1)}
}


.hero__badge{
display:inline-flex;
align-items:center;
font-family:var(--font-sans);
font-size:14px;
font-weight:500;
color:var(--zinc-300);
background:rgba(24,24,27,0.65);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
padding:9px 18px;
border-radius:100px;
letter-spacing:-0.005em;
gap:0;
}

.hero__badge-dot{
width:8px;
height:8px;
border-radius:50%;
background:var(--green-500);
box-shadow:0 0 0 0 rgba(34,197,94,0.4);
animation:pulse-dot 2s ease-in-out infinite;
margin-right:12px;
flex-shrink:0;
}

@keyframes pulse-dot{
0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,0.5)}
50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}
}

.hero__badge-text{color:var(--zinc-200)}

.hero__badge-em{
color:var(--cyan-400);
font-weight:600;
margin-left:4px;
}

.hero__badge-sep{
display:inline-block;
width:1px;
height:12px;
background:var(--zinc-700);
margin:0 14px;
flex-shrink:0;
}

.hero__badge-locale{
color:var(--zinc-400);
font-weight:500;
}

@media (max-width:600px){
.hero__badge{
font-size:12.5px;
padding:8px 14px;
}
.hero__badge-sep{margin:0 10px}
}


.section-label,
.section-title,
.section-subtitle{
--d:0ms;
opacity:0;
transform:translate3d(0,12px,0);
transition:
opacity 500ms cubic-bezier(0.16,1,0.3,1) var(--d),
transform 500ms cubic-bezier(0.16,1,0.3,1) var(--d);
}

.section-visible .section-label{--d:0ms;opacity:1;transform:none}
.section-visible .section-title{--d:80ms;opacity:1;transform:none}
.section-visible .section-subtitle{--d:160ms;opacity:1;transform:none}


.btn--primary,
.nav__link--cta{
position:relative;
}

.btn--primary::after,
.nav__link--cta:not(.btn--primary)::after{
display:none;
}


.btn--primary > .btn-line,
.btn-line{
position:absolute;
left:8%;
right:8%;
bottom:6px;
height:1px;
background:currentColor;
opacity:0.5;
transform:scaleX(0);
transform-origin:left center;
transition:transform 320ms cubic-bezier(0.4,0,0.2,1);
pointer-events:none;
}

.btn--primary:hover .btn-line{transform:scaleX(1)}

.btn--primary:not(:hover) .btn-line{
transform-origin:right center;
}


.btn--primary:active{transform:scale(0.98) translateY(0);transition-duration:120ms}


.nav__logo{
gap:0.55em;
letter-spacing:-0.01em;
}

.nav__logo-icon{
height:1.08em;
width:auto;
transform:translateY(2%);
}

.nav__logo-agulhas{letter-spacing:-0.015em}
.nav__logo-code{margin-left:0.18em;letter-spacing:-0.015em}


.nav__logo-icon path:last-child{
fill:url(#brand-cyan-gradient);
}




.about__mission-card,
.trust__card,
.faq__item{
backdrop-filter:none;
-webkit-backdrop-filter:none;
}

.contact__detail,
a.contact__detail{
backdrop-filter:none;
-webkit-backdrop-filter:none;
}


.trust,
.services,
.process,
.faq,
.contact,
.footer{
content-visibility:auto;
contain-intrinsic-size:1px 800px;
}


.form-honeypot{
position:absolute;
left:-9999px;
width:1px;
height:1px;
overflow:hidden;
}


@media (prefers-reduced-motion:reduce){
.hero__title-rule{animation:none;transform:scaleX(1)}
.hero__badge-dot{animation:none}
.section-label,.section-title,.section-subtitle{
opacity:1;transform:none;transition:none;
}
}



:root{

--space-1:4px;
--space-2:8px;
--space-3:12px;
--space-4:16px;
--space-5:24px;
--space-6:32px;
--space-7:48px;
--space-8:64px;


--radius-xs:4px;
--radius-sm:8px;
--radius-md:12px;
--radius-lg:16px;
--radius-pill:999px;


--accent-rgb:6 182 212;
--accent-ai-rgb:139 92 246;
--green-rgb:34 197 94;
--red-400:#F87171;


--hairline:rgba(255,255,255,0.06);
--hairline-strong:rgba(255,255,255,0.10);
--shadow-color:0 0 0;
}


.section-label{
color:var(--zinc-400) !important;
letter-spacing:0.14em;
font-size:11px;
}

.about__mission-label{
color:var(--zinc-400);
letter-spacing:0.14em;
}


.trust__card,
.service-card,
.process__step-content,
.faq__item,
.about__mission-card,
.contact__detail,
a.contact__detail{
border-color:var(--hairline);
box-shadow:
0 0 0 1px rgba(255,255,255,0.03) inset,
0 1px 2px rgba(var(--shadow-color) / 0.4);
}

.trust__card:hover,
.service-card:hover,
.process__step-content:hover,
.faq__item:hover,
a.contact__detail:hover{
border-color:var(--hairline-strong);
box-shadow:
0 0 0 1px rgba(255,255,255,0.06) inset,
0 8px 24px -8px rgba(var(--shadow-color) / 0.6);
}


.trust__card::after,
.service-card::after,
.process__step-content::after,
.trust__card::before,
.service-card::before{
display:none !important;
}


.hero__actions{
align-items:center;
gap:28px;
}

.hero__actions-link{
display:inline-flex;
align-items:center;
gap:6px;
color:var(--zinc-300);
font-weight:500;
font-size:15px;
border-bottom:1px solid transparent;
padding:8px 0;
transition:color 0.2s ease,border-color 0.2s ease;
}

.hero__actions-link:hover{
color:var(--cyan-400);
border-bottom-color:rgba(var(--accent-rgb) / 0.5);
}


.hero__metric-value{
font-family:var(--font-sans);
font-weight:800;
font-size:clamp(28px,4vw,40px);
letter-spacing:-0.025em;
color:var(--zinc-50);
line-height:1;
font-feature-settings:'tnum' 1;
}

.hero__metric-suffix{
font-size:0.55em;
font-weight:600;
color:var(--cyan-400);
margin-left:2px;
}

.hero__metric-value--text{
font-size:clamp(22px,3vw,30px);
color:var(--zinc-50);
}

.hero__metric-label{
color:var(--zinc-400);
font-size:12px;
letter-spacing:0.08em;
}


.form-optional{
font-family:var(--font-mono);
font-size:11px;
color:var(--zinc-500);
font-weight:400;
letter-spacing:0.04em;
margin-left:6px;
}


.marquee__item{color:var(--zinc-400)}
.hero__scroll span{color:var(--zinc-500)}
.footer__bottom p{color:var(--zinc-500)}
.form-input::placeholder{
color:var(--zinc-500);
opacity:1;
}


.nav{
transition:
transform 250ms cubic-bezier(0.22,0.61,0.36,1),
background-color 200ms ease,
box-shadow 200ms ease;
will-change:transform;
}

.nav--hidden{
transform:translate3d(0,-100%,0);
}

@media (prefers-reduced-motion:reduce){
.nav{transition:background-color 200ms ease,box-shadow 200ms ease}
.nav--hidden{transform:none}
}


@media (max-width:768px){
.nav__logo{
min-height:44px;
display:inline-flex;
align-items:center;
}
.mobile-menu__contact{
min-height:44px;
display:inline-flex;
align-items:center;
padding:6px 0;
}
.hero__actions-link{
min-height:44px;
padding:12px 0;
}

.faq__inline-link{
padding:4px 2px;
margin:0 -2px;
}
}


@media (max-width:768px){

:root{--section-py:64px}

.container{padding:0 24px}


.hero__inner{
padding-top:32px;
padding-bottom:32px;
}

.hero__actions{
margin-bottom:48px;
gap:16px;
}

.section-subtitle{margin-bottom:40px}

.trust__grid,
.services__grid{
gap:16px;
}


.btn{
font-weight:700;
font-size:16px;
padding:16px 26px;
letter-spacing:-0.005em;
}

.btn--primary{
box-shadow:
0 0 0 1px rgba(var(--accent-rgb) / 0.6),
0 8px 24px rgba(var(--accent-rgb) / 0.3);
}


.about__text,
.service-card__desc,
.trust__card-desc,
.faq__a,
.faq__a p{
color:var(--zinc-300);
}


.hero::before,
.hero::after{
display:none;
}


.marquee{
display:none;
}


.service-card__tags,
.process__step-deliverables{
display:none;
}


.about__text:nth-of-type(2){
display:none;
}


.trust__grid > .trust__card:nth-child(n+5){
display:none;
}

.trust__more{
display:block;
width:100%;
margin-top:16px;
padding:14px 18px;
background:transparent;
border:1px solid var(--hairline-strong);
border-radius:var(--radius-md);
color:var(--zinc-300);
font-family:var(--font-sans);
font-weight:500;
font-size:14px;
cursor:pointer;
transition:all 0.25s ease;
}

.trust__more:hover{
border-color:rgba(var(--accent-rgb) / 0.4);
color:var(--cyan-400);
}

.trust--expanded .trust__grid > .trust__card:nth-child(n+5){
display:block;
}

.trust--expanded .trust__more{
display:none;
}
}

@media (min-width:769px){
.trust__more{display:none}
}



body{font-weight:500}
.section-title{font-weight:700}


@media (max-width:768px){
body{font-size:16px}
}



.nav__logo{
display:inline-flex;
align-items:center;
gap:0.34em;
font-size:20px;
letter-spacing:-0.015em;
line-height:1;
isolation:isolate;
text-decoration:none;
min-height:44px;
}

.nav__logo-icon{
height:1.18em;
width:auto;
flex-shrink:0;
color:var(--text);

transform:translateY(6%);
transition:
transform 320ms cubic-bezier(0.2,0.7,0.2,1),
filter 320ms cubic-bezier(0.2,0.7,0.2,1);
will-change:transform;
}

.nav__logo-agulhas{
font-weight:800;
color:var(--text);
letter-spacing:-0.02em;
line-height:1;
}

.nav__logo-code{
font-weight:400;
color:var(--accent);
margin-left:0.14em;
letter-spacing:-0.02em;
line-height:1;
}


.nav__logo-icon .tri-cyan{
fill:url(#agcGradient);
}
.footer .nav__logo-icon .tri-cyan{
fill:url(#agcGradientFooter);
}


.nav__logo:hover .nav__logo-icon{
transform:translateY(6%) scale(1.04) rotate(-0.5deg);
filter:drop-shadow(0 0 14px rgba(6,182,212,0.35));
}

.nav__logo:active .nav__logo-icon{
transform:translateY(6%) scale(0.98);
transition-duration:120ms;
}


.nav__logo:focus-visible{
outline:2px solid var(--cyan-400);
outline-offset:4px;
border-radius:6px;
}


.nav__inner{
align-items:center;
}

.nav__links-desktop{
align-self:center;
}


.footer .nav__logo{
font-size:22px;
gap:0.36em;
min-height:auto;
}

.footer .nav__logo-icon{
height:1.20em;
}


.footer .nav__logo:hover .nav__logo-icon{
transform:translateY(6%) scale(1.04) rotate(-0.5deg);
filter:drop-shadow(0 0 14px rgba(6,182,212,0.35));
}


@media (prefers-reduced-motion:reduce){
.nav__logo-icon{
transition:none;
}
.nav__logo:hover .nav__logo-icon,
.footer .nav__logo:hover .nav__logo-icon{
transform:translateY(6%);
filter:none;
}
}


@media (max-width:768px){
.nav__logo{
font-size:19px;
gap:0.32em;
}
}
