:root {
  --ink:#171311; --cream:#f7f3ea; --lime:#d7f52b; --pink:#ff3c86;
  --cyan:#28f0e2; --violet:#6674e8; --deep:#30105f; --white:#fff;
  --border:2px solid var(--ink); --retro:"Roboto Mono",monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:16px "DM Sans",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.nav{height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:var(--border);position:sticky;top:0;background:rgba(247,243,234,.94);backdrop-filter:blur(12px);z-index:30}
.brand-logo{position:relative;width:248px;height:60px;display:flex;align-items:center;padding:8px 42px 8px 16px;background:var(--lime);border:var(--border);border-radius:24px;color:var(--ink);box-shadow:4px 4px 0 var(--pink);transform:skewX(-4deg)}
.brand-logo strong{font:italic 700 2.35rem/1 var(--retro);letter-spacing:-.12em}
.brand-logo i{width:2px;height:36px;background:var(--ink);margin:0 15px}
.brand-logo span{font:700 .83rem/1.05 var(--retro);letter-spacing:.02em}
.mini-dots{position:absolute;right:13px;font:700 1.7rem/1 var(--retro);letter-spacing:-.15em}
.header-actions{display:flex;align-items:center;gap:20px}
.nav nav{display:flex;align-items:center;gap:30px;font-weight:700}
.nav nav>a:not(.nav-cta){font-family:var(--retro);font-size:.85rem;text-transform:uppercase}
.nav-cta{background:var(--ink);color:var(--cyan);padding:12px 21px;border-radius:100px;border:2px solid var(--ink);font:italic 700 .9rem var(--retro)}
.nav-cta:hover{background:var(--pink);color:var(--ink)}
.social-links{display:flex;align-items:center;gap:12px}
.social-links a{display:inline-flex;align-items:center;justify-content:center;color:inherit;transition:color .2s,transform .2s}
.social-links a:hover{color:var(--pink);transform:translateY(-2px)}
.social-links a:focus-visible{outline:3px solid var(--cyan);outline-offset:4px;border-radius:2px}
.social-links svg{display:block;width:20px;height:20px;fill:currentColor}
.header-social{color:var(--ink)}
.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.08fr .92fr;position:relative;overflow:hidden;padding:7vw 7vw 110px;background:var(--ink);color:var(--white)}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 74% 30%,rgba(102,116,232,.35),transparent 30%),linear-gradient(135deg,transparent 47%,rgba(40,240,226,.08) 48%,transparent 49%);background-size:auto,34px 34px}
.hero-copy{z-index:3}
.eyebrow,.section-label,.quick-label{font:700 .78rem var(--retro);letter-spacing:.14em;text-transform:uppercase}
.hero h1,.intro h2,.method h2,.contact h2{font-family:"Russo One",sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:-.045em}
.hero h1{font-size:clamp(3.5rem,7.2vw,7.6rem);line-height:.88;margin:28px 0;text-shadow:5px 5px 0 var(--deep)}
.hero h1 span{color:var(--lime);-webkit-text-stroke:1px var(--lime)}
.lead{font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.5;max-width:590px;margin:30px 0;color:#f7f3ea}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:var(--border);border-radius:100px;padding:17px 25px;font:italic 700 1rem var(--retro);cursor:pointer;transition:.2s;text-transform:uppercase}
.button:hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--cyan)}
.primary{background:var(--pink);color:var(--ink);box-shadow:6px 6px 0 var(--lime)}
.hero-art{position:relative;min-height:520px;z-index:2}
.retro-sun{position:absolute;width:310px;height:310px;border-radius:50%;right:2%;top:5%;background:linear-gradient(to bottom,var(--pink) 0 12%,transparent 12% 15%,var(--pink) 15% 27%,transparent 27% 31%,var(--pink) 31% 44%,transparent 44% 49%,var(--pink) 49% 63%,transparent 63% 69%,var(--pink) 69% 84%,transparent 84% 91%,var(--pink) 91%);filter:drop-shadow(0 0 18px rgba(255,60,134,.45));display:grid;place-items:center}
.retro-sun span{font:italic 700 6rem var(--retro);color:var(--lime);text-shadow:5px 5px 0 var(--deep)}
.shape{position:absolute;border:var(--border);display:grid;place-items:center;text-align:center;font:italic 700 1.8rem var(--retro);box-shadow:8px 8px 0 var(--cyan)}
.coral{width:170px;height:112px;border-radius:50%;background:var(--cyan);color:var(--ink);transform:rotate(-10deg);top:12%;left:2%}
.lime{width:220px;height:205px;background:var(--lime);color:var(--ink);left:5%;bottom:4%;transform:rotate(6deg);clip-path:polygon(50% 0,61% 30%,93% 18%,73% 49%,100% 68%,64% 69%,60% 100%,42% 73%,12% 93%,24% 59%,0 44%,35% 38%);font-size:1.25rem;line-height:1.05;padding:0 62px;overflow:hidden}
.orbit{position:absolute;width:420px;height:420px;border:2px dashed var(--cyan);border-radius:50%;top:0;right:-2%;animation:spin 20s linear infinite}
.spark{position:absolute;font-size:3rem}.s1{right:0;top:0;color:var(--lime)}.s2{left:35%;bottom:1%;color:var(--pink)}
.perspective-grid{position:absolute;left:-25%;right:-20%;bottom:-80px;height:200px;background:linear-gradient(var(--cyan) 1px,transparent 1px),linear-gradient(90deg,var(--cyan) 1px,transparent 1px);background-size:36px 25px;transform:perspective(280px) rotateX(58deg);transform-origin:bottom;opacity:.45}
@keyframes spin{to{transform:rotate(360deg)}}
.ticker{position:absolute;bottom:0;left:-2%;width:104%;background:var(--lime);color:var(--ink);height:54px;display:flex;align-items:center;gap:60px;overflow:hidden;transform:rotate(-1deg);font:italic 700 1rem var(--retro);white-space:nowrap;z-index:4}
.ticker span{animation:marquee 20s linear infinite}@keyframes marquee{to{transform:translateX(-100%)}}
.intro{padding:115px 5vw;background:var(--cream);position:relative}
.intro:after{content:"";position:absolute;width:170px;height:170px;border:24px solid var(--cyan);border-radius:50%;right:-70px;top:60px;opacity:.55}
.intro h2,.method h2,.contact h2{font-size:clamp(2.7rem,5.2vw,5.6rem);line-height:.94;margin:24px 0}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:62px;position:relative;z-index:2}
.card{position:relative;padding:28px;min-height:630px;border:var(--border);box-shadow:8px 8px 0 var(--ink);transition:.2s;clip-path:polygon(0 0,92% 0,100% 8%,100% 100%,8% 100%,0 92%)}
.card:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:12px 12px 0 var(--cyan)}
.card-yellow{background:var(--lime)}.card-blue{background:var(--violet);color:white}.card-coral{background:var(--pink)}
.number{font:italic 700 1rem var(--retro)}.icon{position:absolute;right:27px;top:20px;font-size:2.5rem}.card-image{height:235px;margin:20px -12px 24px;border:2px solid var(--ink);overflow:hidden;background:var(--cream);clip-path:polygon(0 0,95% 0,100% 10%,100% 100%,5% 100%,0 90%)}.card-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}.card:hover .card-image img{transform:scale(1.045)}.card h3{font:italic 700 1.85rem var(--retro);margin:0;text-transform:uppercase}.card p{line-height:1.5}.card ul{list-style:none;padding:20px 0 0;margin:20px 0 0;border-top:1.5px solid currentColor}.card li{padding:5px 0}
.manifesto{background:var(--pink);color:var(--ink);padding:115px 8vw;text-align:center;position:relative;overflow:hidden}
.manifesto:after{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(var(--deep) 1px,transparent 1px),linear-gradient(90deg,var(--deep) 1px,transparent 1px);background-size:42px 25px;transform:perspective(260px) rotateX(56deg);transform-origin:bottom;opacity:.35}
.manifesto p{font:italic 700 clamp(2.2rem,5vw,5.1rem) var(--retro);line-height:1.05;margin:0;position:relative;z-index:2}.manifesto em{color:var(--lime);font-style:italic;text-shadow:3px 3px 0 var(--deep)}.manifesto-mark{position:absolute;color:var(--cyan);font-size:10rem;top:0;left:5%}
.method{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:120px 6vw;background:var(--cream)}
.steps article{display:flex;gap:24px;padding:25px 0;border-top:var(--border)}.steps b{font:italic 700 1.2rem var(--retro);color:var(--violet)}.steps h3{font:italic 700 1.55rem var(--retro);margin:0 0 8px;text-transform:uppercase}.steps p{line-height:1.5;margin:0;color:#444}
.location{display:grid;grid-template-columns:.72fr 1.28fr;gap:6vw;align-items:center;padding:110px 6vw;background:var(--lime);border-top:var(--border);border-bottom:var(--border);position:relative;overflow:hidden}.location:before{content:"";position:absolute;width:230px;height:230px;border:35px solid var(--pink);border-radius:50%;left:-140px;bottom:-145px}.location-copy{position:relative;z-index:2}.location h2{font:italic 700 clamp(2.6rem,4.6vw,4.8rem)/.95 "Russo One",sans-serif;text-transform:uppercase;letter-spacing:-.04em;margin:24px 0}.location h2 span{color:var(--violet)}.location-copy>p:not(.section-label){font-size:1.08rem;line-height:1.55;max-width:470px}.location-tag{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:11px 17px;background:var(--ink);color:var(--cyan);border-radius:100px;font:italic 700 .78rem var(--retro)}.location-tag span{width:9px;height:9px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 4px rgba(255,60,134,.23)}.map-shell{position:relative;height:470px;border:var(--border);background:var(--cream);box-shadow:10px 10px 0 var(--pink);overflow:hidden;clip-path:polygon(0 0,94% 0,100% 9%,100% 100%,6% 100%,0 91%)}.map-shell iframe{width:100%;height:100%;border:0;pointer-events:none;filter:saturate(.72) contrast(1.08)}.privacy-wash{position:absolute;inset:0;background:linear-gradient(135deg,rgba(40,240,226,.10),rgba(102,116,232,.10));pointer-events:none}.area-circle{position:absolute;left:50%;top:50%;width:180px;height:180px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(215,245,43,.55);border:4px solid var(--ink);box-shadow:0 0 0 10px rgba(255,60,134,.34),0 0 34px rgba(255,60,134,.6);display:grid;place-items:center;color:var(--ink)}.area-circle:before,.area-circle:after{content:"";position:absolute;background:var(--ink);opacity:.7}.area-circle:before{width:1px;height:216px}.area-circle:after{width:216px;height:1px}.area-circle span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--ink);color:var(--lime);font:italic 700 1.75rem var(--retro);z-index:2}.map-label{position:absolute;left:18px;bottom:18px;background:var(--ink);color:var(--white);padding:10px 15px;font:italic 700 .72rem var(--retro);letter-spacing:.06em}
.contact{background:var(--violet);color:white;padding:120px 8vw;position:relative;overflow:hidden}.contact:before{content:"";position:absolute;width:480px;height:480px;border:2px dashed var(--cyan);border-radius:50%;right:-220px;top:-200px}.contact h2{max-width:920px}.contact h2 span{color:var(--lime)}.contact>p:not(.section-label){font-size:1.2rem;max-width:620px;line-height:1.5}
.contact-sticker{position:absolute;right:8%;top:8%;width:175px;height:175px;border-radius:50%;border:var(--border);background:var(--lime);color:var(--ink);display:grid;place-items:center;text-align:center;font:italic 700 1.35rem var(--retro);transform:rotate(10deg);box-shadow:7px 7px 0 var(--pink);z-index:2}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:28px;margin-top:55px;align-items:start;position:relative;z-index:2}.contact-form,.quick-contact{background:var(--cream);color:var(--ink);border:var(--border);padding:30px;box-shadow:8px 8px 0 var(--ink);clip-path:polygon(0 0,96% 0,100% 8%,100% 100%,4% 100%,0 92%)}.contact-form{display:grid;gap:18px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:8px;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:2px solid var(--ink);border-radius:0;background:white;padding:14px 15px;font:500 1rem "DM Sans";color:var(--ink)}.contact-form textarea{resize:vertical;min-height:130px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:4px solid var(--cyan);outline-offset:1px}.form-status{min-height:24px;margin:0;font-weight:700}.light{margin-top:8px;background:var(--pink);color:var(--ink)}.quick-contact{background:var(--lime)}.quick-contact h3{font:italic 700 2.1rem var(--retro);line-height:1;margin:20px 0;text-transform:uppercase}.quick-contact p{line-height:1.5}.whatsapp{background:var(--ink);color:var(--cyan);margin-top:20px;width:100%}
footer{padding:26px 5vw;display:flex;justify-content:space-between;align-items:center;border-top:var(--border);background:var(--ink);color:white}footer p{font:700 .78rem var(--retro);text-transform:uppercase}.footer-logo{transform:scale(.82) skewX(-4deg);transform-origin:left center}.footer-social{color:var(--cyan)}
@media(max-width:900px){.nav nav a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;padding:75px 5vw 95px}.hero-art{min-height:440px;margin-top:30px}.retro-sun{width:280px;height:280px}.orbit{width:350px;height:350px;right:5%}.services{grid-template-columns:1fr}.card{min-height:0}.card-image{height:330px}.method,.location{grid-template-columns:1fr}.map-shell{height:420px}.contact-grid{grid-template-columns:1fr}.contact-sticker{width:110px;height:110px;font-size:.8rem;right:3%;top:6%}footer{flex-direction:column;gap:10px;text-align:center}.footer-logo{transform:scale(.78) skewX(-4deg);transform-origin:center}}
@media(max-width:560px){.nav{height:74px;padding:0 4vw}.brand-logo{width:180px;height:50px;padding:6px 34px 6px 12px}.brand-logo strong{font-size:1.8rem}.brand-logo i{height:30px;margin:0 10px}.brand-logo span{font-size:.66rem}.mini-dots{right:9px;font-size:1.3rem}.header-actions{gap:12px}.nav-cta{padding:9px 13px;font-size:.7rem}.header-social{gap:9px}.header-social svg{width:18px;height:18px}.hero{min-height:auto}.hero h1{font-size:3.05rem}.hero-art{min-height:340px}.retro-sun{width:220px;height:220px;right:0}.retro-sun span{font-size:4rem}.coral{width:120px;height:80px;font-size:1.25rem}.lime{width:160px;height:150px;font-size:.88rem;padding:0 46px;left:1%;bottom:1%}.orbit{width:270px;height:270px}.intro,.method,.location{padding:82px 5vw}.card-image{height:245px}.map-shell{height:360px}.area-circle{width:145px;height:145px}.area-circle:before{height:175px}.area-circle:after{width:175px}.contact{padding:92px 6vw}.contact-sticker{display:none}.field-row{grid-template-columns:1fr}.contact-form,.quick-contact{padding:22px}.button{font-size:.78rem}.footer-logo{width:210px}}
@media(max-width:380px){.nav>.brand-logo{width:145px}.nav>.brand-logo strong{font-size:1.55rem}.nav>.brand-logo i{margin:0 7px}.nav>.brand-logo span{font-size:.57rem}.header-actions{gap:8px}.nav-cta{padding:8px 10px;font-size:.62rem}.header-social{gap:7px}.header-social svg{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit,.ticker span{animation:none}.button,.card{transition:none}}
