
:root{
  --bg:#08111f;
  --bg-2:#0e1a2e;
  --panel:#111f35;
  --panel-2:#17283f;
  --text:#eef4f8;
  --muted:#aebdcc;
  --line:rgba(255,255,255,.12);
  --accent:#23c6a8;
  --accent-2:#e0a14a;
  --cream:#f6f1e8;
  --shadow:0 24px 70px rgba(0,0,0,.32);
  --radius:24px;
  --radius-sm:16px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 12% 10%,rgba(35,198,168,.22),transparent 34%),radial-gradient(circle at 85% 5%,rgba(224,161,74,.18),transparent 28%),linear-gradient(180deg,#07111f 0%,#0a1423 45%,#08111f 100%)}
body::after{content:"";position:fixed;inset:0;z-index:-1;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 82%)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(8,17,31,.78);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;letter-spacing:.04em;text-transform:uppercase}
.brand span:last-child{display:grid;line-height:1.05}.brand strong{font-size:1.05rem}.brand em{font-style:normal;color:var(--muted);font-size:.74rem;letter-spacing:.18em}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#07111f;font-weight:900;box-shadow:0 12px 30px rgba(35,198,168,.25)}
.site-nav{display:flex;align-items:center;gap:6px}.nav-link,.nav-cta{padding:10px 13px;border-radius:999px;color:var(--muted);font-size:.95rem;transition:.2s ease}.nav-link:hover,.nav-link.active{color:var(--text);background:rgba(255,255,255,.07)}.nav-cta{color:#06101c;background:linear-gradient(135deg,var(--accent),#89f1df);font-weight:800;margin-left:6px}.nav-cta:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(35,198,168,.22)}
.menu-toggle{display:none;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);border-radius:14px;width:44px;height:44px;font-size:1.4rem}
.hero{position:relative;min-height:calc(100vh - 78px);display:grid;align-items:center;padding:80px 0 70px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--accent);background:rgba(35,198,168,.1);border:1px solid rgba(35,198,168,.24);border-radius:999px;padding:8px 13px;font-weight:750;font-size:.86rem;letter-spacing:.04em}.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(35,198,168,.12)}
h1{font-size:clamp(2.6rem,6vw,5.8rem);line-height:.94;margin:20px 0 22px;letter-spacing:-.075em}.hero h1 span{display:block;color:transparent;background:linear-gradient(135deg,#fff 0%,#d7e6ed 50%,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text}.lead{font-size:clamp(1.05rem,2vw,1.28rem);color:#c8d4df;max-width:720px;margin:0 0 32px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 20px;font-weight:850;border:1px solid transparent;transition:.2s ease}.btn.primary{background:linear-gradient(135deg,var(--accent),#8cf0de);color:#05111c}.btn.secondary{border-color:var(--line);background:rgba(255,255,255,.05);color:var(--text)}.btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.22)}
.hero-panel{position:relative;border-radius:32px;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid var(--line);padding:18px;box-shadow:var(--shadow);overflow:hidden}.hero-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 15%,rgba(224,161,74,.26),transparent 28%),radial-gradient(circle at 86% 85%,rgba(35,198,168,.22),transparent 30%)}.showcase{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px}.showcase a,.showcase figure{min-height:210px;border-radius:22px;overflow:hidden;margin:0;background:var(--panel);border:1px solid rgba(255,255,255,.1)}.showcase a:first-child{grid-row:span 2}.showcase img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;opacity:.94}.showcase a:hover img{transform:scale(1.05)}.showcase-badge{position:absolute;left:24px;bottom:24px;right:24px;border-radius:20px;padding:18px;background:rgba(8,17,31,.75);backdrop-filter:blur(12px);border:1px solid var(--line)}.showcase-badge strong{display:block;font-size:1.25rem}.showcase-badge span{color:var(--muted);font-size:.95rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.stat{padding:18px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid var(--line)}.stat strong{display:block;font-size:1.7rem;color:#fff}.stat span{color:var(--muted);font-size:.9rem}
.section{padding:92px 0}.section.alt{background:rgba(255,255,255,.025);border-block:1px solid rgba(255,255,255,.06)}.section-heading{max-width:780px;margin-bottom:34px}.section-heading.center{text-align:center;margin-inline:auto}.section-heading span{color:var(--accent);font-weight:850;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}.section-heading h2{font-size:clamp(2rem,4vw,3.45rem);line-height:1;margin:10px 0 14px;letter-spacing:-.045em}.section-heading p{color:var(--muted);font-size:1.05rem;margin:0}
.about-card{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:stretch}.about-copy,.about-list{border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.045));border:1px solid var(--line);padding:34px;box-shadow:0 16px 50px rgba(0,0,0,.14)}.about-copy p{color:#c6d3dd;margin-top:0}.about-list{display:grid;gap:14px}.feature-row{display:flex;gap:14px;align-items:flex-start;padding:14px;border-radius:18px;background:rgba(255,255,255,.045)}.feature-row b{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:rgba(35,198,168,.13);color:var(--accent)}.feature-row strong{display:block}.feature-row span{color:var(--muted);font-size:.95rem}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border-radius:var(--radius);overflow:hidden;background:rgba(255,255,255,.055);border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,0,0,.14);transition:.25s ease}.service-card:hover{transform:translateY(-6px);border-color:rgba(35,198,168,.35)}.service-media{height:210px;background:#0e1a2e;overflow:hidden}.service-media img{width:100%;height:100%;object-fit:cover;transition:.55s ease}.service-card:hover .service-media img{transform:scale(1.06)}.service-body{padding:22px}.service-body h3{margin:0 0 9px;font-size:1.3rem}.service-body p{margin:0 0 18px;color:var(--muted)}.text-link{display:inline-flex;gap:8px;color:var(--accent);font-weight:850}.text-link::after{content:"→";transition:.2s}.text-link:hover::after{transform:translateX(4px)}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.portfolio-card{position:relative;min-height:260px;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:var(--panel);box-shadow:0 16px 44px rgba(0,0,0,.18);isolation:isolate}.portfolio-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.55s ease;opacity:.75}.portfolio-card:hover img{transform:scale(1.06);opacity:.88}.portfolio-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,9,17,.94),rgba(4,9,17,.24) 60%,rgba(4,9,17,.08));z-index:1}.portfolio-info{position:absolute;left:18px;right:18px;bottom:18px;z-index:2}.portfolio-info small{color:var(--accent);font-weight:850;letter-spacing:.08em;text-transform:uppercase}.portfolio-info h3{margin:4px 0 4px;font-size:1.22rem}.portfolio-info p{margin:0;color:#c9d4de;font-size:.92rem}.portfolio-card.featured{grid-column:span 2;min-height:330px}.portfolio-card.featured h3{font-size:1.7rem}
.clients-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.client-tile{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.055);aspect-ratio:1.2/1;transition:.2s}.client-tile:hover{transform:translateY(-4px);border-color:rgba(35,198,168,.34)}.client-tile img{width:100%;height:100%;object-fit:cover}.contact-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;border-radius:32px;padding:42px;background:linear-gradient(135deg,rgba(35,198,168,.16),rgba(224,161,74,.14));border:1px solid var(--line);box-shadow:var(--shadow)}.contact-panel h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1;margin:0 0 14px;letter-spacing:-.04em}.contact-panel p{color:#d3dee6;margin:0}.contact-actions{display:grid;gap:12px}.contact-link{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid var(--line);font-weight:800}.contact-link:hover{background:rgba(255,255,255,.13)}
.page-hero{padding:70px 0 46px}.page-hero .eyebrow{margin-bottom:18px}.page-hero h1{font-size:clamp(2.4rem,5vw,4.7rem);margin:0 0 18px}.page-hero p{color:#c8d4df;max-width:760px;font-size:1.08rem}.breadcrumb{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.95rem;margin-bottom:22px}.breadcrumb a{color:var(--accent)}.gallery-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:18px 0 26px}.gallery-toolbar p{margin:0;color:var(--muted)}.gallery-toolbar .btn{padding:11px 16px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-item{position:relative;display:block;min-height:240px;border-radius:20px;overflow:hidden;background:var(--panel);border:1px solid var(--line);box-shadow:0 14px 36px rgba(0,0,0,.16)}.gallery-item:nth-child(12n+1),.gallery-item:nth-child(12n+8){grid-column:span 2;min-height:330px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.45s ease}.gallery-item:hover img{transform:scale(1.05);filter:saturate(1.06) contrast(1.03)}.gallery-item::after{content:"Ampliar";position:absolute;right:14px;bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(8,17,31,.74);backdrop-filter:blur(10px);font-size:.82rem;font-weight:850;opacity:0;transform:translateY(8px);transition:.2s}.gallery-item:hover::after{opacity:1;transform:translateY(0)}.album-nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.album-nav a{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.065);border:1px solid var(--line);color:var(--muted)}.album-nav a:hover{color:var(--text);border-color:rgba(35,198,168,.35)}
.clients-page-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.clients-page-grid a{aspect-ratio:1.25/1;border-radius:24px;overflow:hidden;background:var(--panel);border:1px solid var(--line);box-shadow:0 16px 42px rgba(0,0,0,.16)}.clients-page-grid img{width:100%;height:100%;object-fit:cover;transition:.45s}.clients-page-grid a:hover img{transform:scale(1.05)}
.lightbox{position:fixed;inset:0;z-index:999;display:none;place-items:center;padding:28px;background:rgba(3,8,15,.92);backdrop-filter:blur(10px)}.lightbox.open{display:grid}.lightbox img{max-width:min(1180px,92vw);max-height:82vh;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.55);background:#0e1a2e}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:1px solid var(--line);background:rgba(255,255,255,.09);color:var(--text);border-radius:999px;width:46px;height:46px;font-size:1.6rem;cursor:pointer}.lightbox-close{right:24px;top:20px}.lightbox-prev{left:24px;top:50%}.lightbox-next{right:24px;top:50%}.lightbox-caption{color:var(--muted);margin-top:14px;text-align:center;max-width:90vw;word-break:break-word}.site-footer{margin-top:70px;padding:54px 0 0;background:#050b14;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:38px}.footer-grid p{color:var(--muted);max-width:460px}.footer-grid h3{margin:0 0 12px}.footer-grid a{display:block;color:var(--muted);margin:7px 0}.footer-grid a:hover{color:var(--accent)}.footer-bottom{text-align:center;color:#7d8b99;padding:22px;margin-top:30px;border-top:1px solid rgba(255,255,255,.08);font-size:.9rem}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:150;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--accent),#7bf0df);color:#04101c;font-size:1.6rem;box-shadow:0 16px 38px rgba(35,198,168,.32)}
.asset-keeper{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media (max-width:1080px){.hero-grid,.about-card,.contact-panel{grid-template-columns:1fr}.service-grid,.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-card.featured{grid-column:auto}.gallery-grid{grid-template-columns:repeat(3,1fr)}.clients-strip,.clients-page-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.menu-toggle{display:grid;place-items:center}.site-nav{position:absolute;left:20px;right:20px;top:86px;display:none;flex-direction:column;align-items:stretch;padding:16px;background:rgba(8,17,31,.96);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.site-nav.open{display:flex}.nav-link,.nav-cta{text-align:center}.hero{padding-top:52px}.showcase{grid-template-columns:1fr}.showcase a:first-child{grid-row:auto}.stats{grid-template-columns:1fr}.gallery-grid,.service-grid,.portfolio-grid,.clients-page-grid{grid-template-columns:1fr}.gallery-item:nth-child(n){grid-column:auto;min-height:280px}.clients-strip{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.gallery-toolbar{align-items:flex-start;flex-direction:column}.contact-panel{padding:28px}.container{width:min(100% - 28px,var(--max))}}
@media (max-width:520px){h1{font-size:2.5rem}.hero-actions{flex-direction:column}.btn{width:100%}.page-hero{padding-top:44px}.showcase a,.showcase figure{min-height:220px}.clients-strip{grid-template-columns:1fr 1fr}.lightbox-prev,.lightbox-next{top:auto;bottom:22px}.lightbox-prev{left:calc(50% - 58px)}.lightbox-next{right:calc(50% - 58px)}}
