/* Startup | glassmorphism over deep teal. Rebrand via :root. */
:root{--bg:#061a1c;--bg2:#0b2e30;--teal:#2fd1c0;--sand:#e5c07f;--tx:#eaf2f0;--mute:#a4bcb8;
--glass:rgba(255,255,255,.08);--glass-b:rgba(255,255,255,.2);--solid:rgba(13,50,52,.96);
--fd:'Sora','Segoe UI',system-ui,sans-serif;--fb:'Public Sans','Segoe UI',system-ui,sans-serif;--r:22px;--ease:cubic-bezier(.22,.8,.2,1)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:400 1rem/1.7 var(--fb);color:var(--tx);background:radial-gradient(900px 600px at 85% -5%,rgba(47,209,192,.22),transparent 60%),radial-gradient(800px 700px at -10% 40%,rgba(229,192,127,.12),transparent 60%),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased}
img,video{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0}button{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--fd);font-weight:600;line-height:1.1;letter-spacing:-.025em}
h1{font-size:clamp(2.4rem,5.6vw,4.6rem)}h2{font-size:clamp(1.9rem,3.6vw,3rem)}h3{font-size:1.2rem;line-height:1.25}
.wrap{width:min(1200px,92%);margin-inline:auto}section{padding:6rem 0;scroll-margin-top:70px}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px}svg{width:1.3em;height:1.3em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.sr{position:absolute;left:-9999px}
.glass{background:var(--glass);border:1px solid var(--glass-b);border-radius:var(--r);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 20px 50px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.18)}
@supports not (backdrop-filter:blur(1px)){.glass,header.on{background:var(--solid)}}
.glow{position:relative;overflow:hidden}.glow::before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),rgba(47,209,192,.22),transparent 70%);opacity:0;transition:opacity .4s;pointer-events:none}.glow:hover::before{opacity:1}
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:.7rem;padding:.95rem 1.8rem;border-radius:99px;border:1px solid transparent;background:var(--teal);color:#032321;font:600 .98rem var(--fd);cursor:pointer;transition:transform .4s var(--ease),box-shadow .4s}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55),transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}.btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(47,209,192,.35)}.btn:hover::after{transform:translateX(120%)}
.btn.ghost{background:var(--glass);border-color:var(--glass-b);color:var(--tx)}.btn svg{transition:transform .4s var(--ease)}.btn:hover svg{transform:translateX(4px)}
.k{display:inline-block;margin-bottom:1rem;padding:.3rem 1rem;border-radius:99px;background:var(--glass);border:1px solid var(--glass-b);color:var(--sand);font-size:.88rem}
.sec-h{max-width:620px;margin-bottom:3rem}.sec-h p{color:var(--mute);margin-top:1rem}
/* splash */
.splash{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;padding:2rem}
.splash video,.splash>img{position:absolute;inset:0;z-index:-2}.splash::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,26,28,.55),rgba(6,26,28,.78))}
.splash .in{max-width:780px;display:grid;justify-items:center;gap:1.4rem}.splash p.s{color:#d4e4e1;font-size:1.15rem;max-width:520px}
.mark{display:flex;align-items:center;gap:.7rem;font:600 1.3rem var(--fd)}.mark i{width:2.4rem;height:2.4rem;border-radius:12px;display:grid;place-items:center;background:var(--teal);color:#032321;font-style:normal}
.enter{position:relative;margin-top:1rem;padding:1.15rem 3rem;font-size:1.1rem}.enter::before{content:"";position:absolute;inset:-8px;border-radius:99px;border:1px solid rgba(47,209,192,.6);animation:ring 2.4s ease-out infinite}@keyframes ring{from{transform:scale(.96);opacity:.9}to{transform:scale(1.18);opacity:0}}
.splash .loc{position:absolute;bottom:1.6rem;left:0;right:0;color:var(--mute);font-size:.9rem}
body.leave{opacity:0;transition:opacity .6s}
/* header */
header{position:sticky;top:0;z-index:50;transition:background .4s,box-shadow .4s}header.on{background:rgba(6,26,28,.7);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--glass-b)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 0}
nav>ul{display:flex;align-items:center;gap:.3rem}nav .nl{position:relative;display:inline-flex;gap:.3rem;align-items:center;padding:.5rem .95rem;border-radius:99px;color:var(--mute);transition:color .3s,background .3s}nav .nl:hover,nav a.on{color:var(--tx);background:var(--glass)}
.dd{position:relative}.dd svg{width:.9em}.menu{position:absolute;top:110%;right:0;min-width:250px;padding:.6rem;opacity:0;visibility:hidden;transform:translateY(10px);transition:.35s var(--ease)}.dd:hover .menu,.dd:focus-within .menu{opacity:1;visibility:visible;transform:none}.menu a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .9rem;border-radius:12px}.menu a:hover{background:rgba(255,255,255,.1)}
.badge{font-size:.7rem;font-weight:700;padding:.1rem .55rem;border-radius:99px;background:var(--sand);color:#2b1f06}
#nt,.burger,.close{display:none}.ib{width:2.8rem;height:2.8rem;border-radius:50%;place-items:center;background:var(--glass);border:1px solid var(--glass-b);cursor:pointer}
@media(max-width:960px){.burger{display:grid}.bar>.btn{display:none}
nav{position:absolute;top:100%;left:4%;right:4%;padding:1rem;background:var(--solid);border:1px solid var(--glass-b);border-radius:var(--r);box-shadow:0 30px 60px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(-12px);transition:.4s var(--ease)}#nt:checked~nav{opacity:1;visibility:visible;transform:none}
.close{display:grid;margin:0 0 .5rem auto}nav>ul{flex-direction:column;align-items:stretch}nav .nl{padding:.8rem 1rem;font-size:1.05rem}.menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:none;border:0;padding:0 0 0 1rem;backdrop-filter:none}}
/* hero */
.hero{position:relative;padding:5rem 0 6rem;overflow:hidden}.hero>img{position:absolute;inset:0;z-index:-2;transform:scale(1.05)}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,26,28,.92),rgba(6,26,28,.45) 70%,rgba(6,26,28,.7))}
.hg{display:grid;grid-template-columns:1.25fr 1fr;gap:3rem;align-items:center}.hero p.l{color:#d4e4e1;font-size:1.15rem;max-width:520px;margin:1.4rem 0 2rem}.acts{display:flex;gap:1rem;flex-wrap:wrap}
.stats{display:grid;gap:1rem}.stat{padding:1.4rem 1.6rem;display:flex;align-items:center;gap:1.2rem}.stat:nth-child(2){margin-left:2.5rem}.stat b{font:600 2.3rem var(--fd);color:var(--sand);min-width:5.5rem}.stat span{color:var(--mute)}
@media(max-width:900px){.hg{grid-template-columns:1fr}.stat:nth-child(2){margin-left:0}}
/* about */
.ab{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.ab .im{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden}.ab .im img{transition:transform 1.2s var(--ease)}.ab .im:hover img{transform:scale(1.05)}
.ab .bd{position:absolute;left:1.2rem;bottom:1.2rem;right:1.2rem;padding:1.1rem 1.3rem;display:flex;gap:1rem;align-items:center}.ab .bd b{font:600 2rem var(--fd);color:var(--sand)}
.ck{display:grid;gap:1rem;margin:1.8rem 0}.ck li{display:flex;gap:.9rem;align-items:flex-start}.ck svg{margin-top:.2rem;color:var(--teal)}@media(max-width:860px){.ab{grid-template-columns:1fr;gap:2.5rem}}
/* services */
.sv{background:linear-gradient(rgba(6,26,28,.9),rgba(6,26,28,.9)),var(--bg2)}.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.card{padding:2rem;transition:transform .5s var(--ease),border-color .4s}.card:hover{transform:translateY(-8px);border-color:rgba(47,209,192,.6)}
.card .ico{width:3.4rem;height:3.4rem;border-radius:16px;display:grid;place-items:center;background:rgba(47,209,192,.14);color:var(--teal);margin-bottom:1.4rem;transition:transform .5s var(--ease),background .4s,color .4s}.card:hover .ico{transform:rotate(-8deg) scale(1.08);background:var(--teal);color:#032321}.card p{color:var(--mute);margin:.6rem 0 1.2rem}
.lk{position:relative;font-weight:600;color:var(--teal)}.lk::after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.lk:hover::after{transform:scaleX(1);transform-origin:left}
.card.wide{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center;padding:0}.card.wide>div{padding:2rem}.card.wide .im{height:100%;min-height:260px;border-radius:0 var(--r) var(--r) 0;overflow:hidden}.card.wide .im img{transition:transform 1s var(--ease)}.card.wide:hover .im img{transform:scale(1.06)}
@media(max-width:960px){.bento{grid-template-columns:1fr 1fr}}@media(max-width:700px){.bento{grid-template-columns:1fr}.card.wide{grid-column:auto;grid-template-columns:1fr}.card.wide .im{min-height:200px;order:-1;border-radius:var(--r) var(--r) 0 0}}
/* clients */
.logos{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-bottom:3rem}.logos div{padding:1.2rem .5rem;text-align:center;font:600 1.05rem var(--fd);color:var(--mute);transition:color .3s,transform .4s var(--ease)}.logos div:hover{color:var(--sand);transform:translateY(-4px)}@media(max-width:900px){.logos{grid-template-columns:repeat(3,1fr)}}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}@media(max-width:900px){.g3{grid-template-columns:1fr}}.case{overflow:hidden;transition:transform .5s var(--ease)}.case:hover{transform:translateY(-8px)}.case .im{aspect-ratio:16/10;overflow:hidden}.case img{transition:transform 1s var(--ease)}.case:hover img{transform:scale(1.07)}.case div.t{padding:1.5rem}.case small{color:var(--sand)}.case h3{margin:.3rem 0 .5rem}.case p{color:var(--mute)}
/* reviews */
.rev{padding:2rem}.rev blockquote{margin:1.1rem 0 1.5rem}.stars{display:flex;color:var(--sand)}.stars svg{fill:currentColor;stroke:none;width:1.05rem}.who{display:flex;gap:.9rem;align-items:center}.who img{width:3.2rem;height:3.2rem;border-radius:50%}.who small{display:block;color:var(--mute)}
/* contact */
.ct{position:relative;overflow:hidden}.ct>img{position:absolute;inset:0;z-index:-2}.ct::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,26,28,.95),rgba(6,26,28,.7))}
.cg{display:grid;grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:center}@media(max-width:900px){.cg{grid-template-columns:1fr}}
.info{display:grid;gap:1.1rem;margin-top:2rem}.info li{display:flex;gap:1rem;align-items:center}.info svg{width:2.8rem;height:2.8rem;padding:.7rem;border-radius:50%;background:var(--glass);border:1px solid var(--glass-b)}.info small{display:block;color:var(--mute)}
form.f{padding:2.2rem}.fr{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:560px){.fr{grid-template-columns:1fr}}label.l{display:block;margin:0 0 .35rem .3rem;font-size:.9rem;color:var(--mute)}
input,textarea,select{font:inherit;color:var(--tx);width:100%;padding:.85rem 1.1rem;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid var(--glass-b);outline:0;margin-bottom:1rem;transition:border-color .3s,background .3s}input:focus,textarea:focus,select:focus{border-color:var(--teal);background:rgba(255,255,255,.12)}select option{color:#111}::placeholder{color:#7f9a96}
footer{padding:3.5rem 0 1.5rem;border-top:1px solid var(--glass-b);background:rgba(3,14,15,.6)}.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2rem}@media(max-width:760px){.fg{grid-template-columns:1fr}}footer h4{font-size:1rem;margin-bottom:1rem}footer li{margin-bottom:.5rem;color:var(--mute)}footer a:hover{color:var(--teal)}.copy{margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid var(--glass-b);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;color:var(--mute);font-size:.88rem}
.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.js .reveal.show{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}
