*{box-sizing:border-box;margin:0;padding:0}
:root{--paper:#101010;--ink:#f4f2ed;--muted:#aaa;--line:rgba(244,242,237,.24);--font:'Space Grotesk',Arial,sans-serif;--mono:'DM Mono',monospace}

.btn-whatsapp {
    position: fixed;
    bottom: 50px;
    right: 30px;
}

.hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}



html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--paper);color:var(--ink);font-family:var(--font);overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.mono{font-family:var(--mono);font-size:10px;letter-spacing:.09em}
.site-header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;top:0;left:0;width:100%;z-index:20;background:rgba(16,16,16,.92);backdrop-filter:blur(12px)}
.brand{font-size:27px;font-weight:700;letter-spacing:-.09em;line-height:1}.brand span{font-weight:400}.brand i{font:10px var(--mono);vertical-align:top;margin-left:3px}
.desktop-nav{display:flex;gap:38px;margin-left:80px}.desktop-nav a,.header-cta{font-size:12px;font-weight:600;transition:opacity .25s}.desktop-nav a:hover,.header-cta:hover{opacity:.45}
.header-cta{border-bottom:1px solid;padding:9px 0}.header-cta span{margin-left:15px}
.menu-toggle{display:none;background:none;border:0;width:32px;height:32px;cursor:pointer}.menu-toggle span{height:1px;background:#111;width:25px;display:block;margin:7px auto}
.hero{padding:118px 5vw 45px;min-height:100vh}
.hero-topline,.section-label{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:13px 0}
.hero-title-wrap{padding:42px 0 25px;position:relative}
.hero-kicker{font-size:11px;letter-spacing:.12em;margin-bottom:13px}
.hero-title{font-size:clamp(76px,13.8vw,205px);line-height:.76;letter-spacing:-.105em;font-weight:700}
.hero-title span{display:block}.outline-word{-webkit-text-stroke:1.5px var(--ink);color:transparent}.asterisk{font-size:.28em;vertical-align:top;letter-spacing:0;margin-left:12px}
.hero-image-wrap{height:min(54vw,590px);min-height:300px;position:relative;overflow:hidden;background:#bbb}
.hero-image{transform:scale(1.12);filter:grayscale(100%);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hero-image-wrap.in-view .hero-image{transform:scale(1)}
.image-sticker{position:absolute;right:5%;top:12%;background:var(--paper);width:105px;height:105px;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:12px;font-weight:700;line-height:1.15;transform:rotate(11deg)}
.image-index{position:absolute;bottom:18px;left:20px;color:#fff;text-shadow:0 1px 5px #000}
.hero-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;padding-top:25px}
.intro-copy{max-width:390px;font-size:clamp(15px,1.5vw,20px);line-height:1.4}
.round-link{border:1px solid var(--ink);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:22px;transition:background .3s,color .3s}.round-link:hover{background:#f4f2ed;color:#111}
.hero-note{text-align:right}
.section-pad{padding:110px 5vw}
.manifesto-grid{display:grid;grid-template-columns:1.5fr .5fr;gap:8vw;padding:75px 0 55px}
.manifesto-title{font-size:clamp(54px,8.5vw,124px);line-height:.88;letter-spacing:-.09em}
.manifesto-title em,.projects-heading em,.contact-title em{font-style:normal;-webkit-text-stroke:1px var(--ink);color:transparent}
.manifesto-aside{padding-top:10px;max-width:300px}.small-mark{font-size:44px;margin-bottom:38px}.manifesto-aside p{font-size:16px;line-height:1.55;margin-bottom:32px}
.text-link{font:10px var(--mono);letter-spacing:.04em;border-bottom:1px solid;padding-bottom:9px}.text-link span{margin-left:14px}
.manifesto-photo{height:clamp(260px,43vw,570px);position:relative;overflow:hidden}.manifesto-photo img{filter:grayscale(100%);transition:transform 1s}.manifesto-photo:hover img{transform:scale(1.04)}.photo-caption{position:absolute;bottom:17px;left:18px;color:#fff;text-shadow:0 1px 5px #000}
.services{background:#191919}
.services-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;padding:65px 0 55px;gap:10vw}
.services-heading h2,.projects-heading h2{font-size:clamp(70px,11vw,155px);line-height:.77;letter-spacing:-.1em}.services-heading h2 span{-webkit-text-stroke:1px var(--ink);color:transparent}
.services-heading p{max-width:320px;font-size:17px;line-height:1.5;padding-bottom:5px}
.service-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:12% 1fr 40px;gap:20px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:padding .35s}
.service-row:hover{padding-left:15px;padding-right:15px}
.service-number{align-self:start;padding-top:8px}.service-row h3{font-size:clamp(28px,4vw,54px);letter-spacing:-.06em;line-height:1}
.service-row p{font-size:13px;color:#b7b7b7;max-width:440px;margin-top:10px;line-height:1.45}.service-arrow{font-size:25px;transition:transform .3s}.service-row:hover .service-arrow{transform:translate(5px,-5px)}
.blackout{background:#f0eee8;color:#111;padding:100px 5vw 55px;overflow:hidden}
.blackout-inner>p{margin-bottom:45px}.blackout h2{font-size:clamp(72px,13vw,190px);line-height:.78;letter-spacing:-.1em}.blackout h2 span{font-size:.22em;vertical-align:top;letter-spacing:0;margin-left:12px}
.blackout-bottom{display:flex;justify-content:space-between;align-items:end;border-top:1px solid rgba(17,17,17,.3);margin-top:90px;padding-top:18px}.blackout-symbol{font-size:45px}
.projects-heading{display:grid;grid-template-columns:1fr .5fr;align-items:end;padding:65px 0 60px;gap:10vw}.projects-heading p{max-width:270px;font-size:16px;line-height:1.5;padding-bottom:4px}
.project-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:75px 7vw;align-items:start}
.project-card{height:clamp(260px,42vw,570px);overflow:hidden}.project-small{height:clamp(220px,30vw,410px);margin-top:95px}.project-card img{filter:grayscale(100%);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.project-card:hover img{transform:scale(1.045);filter:grayscale(30%)}
.project-card figcaption{display:flex;justify-content:space-between;padding-top:12px;font:10px var(--mono);letter-spacing:.06em}
.gallery-note{color:#999;margin-top:65px}
.contact{background:#191919;padding-bottom:85px}
.contact-kicker{margin:75px 0 20px}.contact-title{font-size:clamp(80px,15vw,215px);line-height:.75;letter-spacing:-.11em}
.contact-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:65px;gap:30px}.contact-bottom p{max-width:310px;font-size:17px;line-height:1.45}
.contact-button{background:#f4f2ed;color:#111;padding:22px 28px;font:11px var(--mono);letter-spacing:.06em;transition:background .3s,color .3s}.contact-button:hover{background:#c9ff38;color:#111}.contact-button span{margin-left:35px;font-size:17px}
.footer{padding:30px 5vw;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;align-items:center;gap:20px}.footer-brand{font-size:24px}.footer>span:nth-child(2){text-align:center}.back-top{text-align:right}.copyright{text-align:right;color:#999}
.mobile-menu{display:none}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}
.cursor-dot{display:none}
@media(min-width:1100px){.cursor-dot{display:block;position:fixed;width:8px;height:8px;border-radius:50%;background:#111;pointer-events:none;z-index:100;transform:translate(-50%,-50%);mix-blend-mode:difference}}
@media(max-width:700px){
 .site-header{height:68px;padding:0 6vw}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}
 .hero{padding:100px 6vw 35px;min-height:auto}.hero-topline{font-size:8px}.hero-title-wrap{padding:55px 0 30px}.hero-title{font-size:clamp(65px,16vw,115px);line-height:.82}
 .hero-image-wrap{height:105vw;min-height:330px}.image-sticker{width:82px;height:82px;font-size:10px}.hero-bottom{grid-template-columns:1fr auto;gap:20px}.intro-copy{font-size:16px}.hero-note{display:none}
 .section-pad{padding:75px 6vw}.section-label{font-size:8px}.manifesto-grid{grid-template-columns:1fr;gap:35px;padding:55px 0 35px}.manifesto-title{font-size:clamp(55px,12vw,90px)}.manifesto-aside{max-width:100%;padding-left:20%}.small-mark{margin-bottom:18px}
 .manifesto-photo{height:95vw}.services-heading,.projects-heading{grid-template-columns:1fr;gap:30px;padding:55px 0 40px}.services-heading h2,.projects-heading h2{font-size:clamp(75px,17vw,125px)}.services-heading p,.projects-heading p{margin-left:20%;font-size:15px}
 .service-row{grid-template-columns:35px 1fr 20px;gap:12px;padding:23px 0}.service-row h3{font-size:32px}.service-row p{font-size:12px}
 .blackout{padding:75px 6vw 35px}.blackout h2{font-size:clamp(65px,15vw,110px)}.blackout-bottom{margin-top:65px}
 .project-grid{grid-template-columns:1fr;gap:40px}.project-card,.project-small{height:105vw;margin-top:0}.project-card:nth-child(even){width:85%;margin-left:auto}.gallery-note{font-size:8px;line-height:1.5;margin-top:35px}
 .contact-kicker{margin-top:60px}.contact-title{font-size:clamp(75px,17vw,125px)}.contact-bottom{align-items:flex-start;flex-direction:column;margin-top:45px}.contact-bottom p{font-size:15px}.contact-button{width:100%;display:flex;justify-content:space-between}
 .footer{grid-template-columns:1fr 1fr;padding:28px 6vw}.footer>span:nth-child(2){text-align:right;font-size:8px}.back-top{text-align:left;font-size:8px}.copyright{font-size:8px}
 .mobile-menu{position:fixed;inset:0;background:var(--paper);z-index:15;display:flex;flex-direction:column;justify-content:center;padding:10vw;gap:10px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.mobile-menu.open{opacity:1;visibility:visible}.mobile-menu a{font-size:clamp(40px,12vw,70px);font-weight:700;letter-spacing:-.08em;border-bottom:1px solid var(--line);padding:8px 0}.mobile-menu a span{font:10px var(--mono);float:right;margin-top:15px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}


/* Dirección visual oscura + detalles de gráfica callejera */
body{background:#101010;color:#f4f2ed}
.site-header{border-color:rgba(244,242,237,.2)}
.header-cta{border-color:#f4f2ed}
.hero-topline,.section-label{border-color:rgba(244,242,237,.25)}
.outline-word,.manifesto-title em,.projects-heading em{ -webkit-text-stroke-color:#f4f2ed }
.services,.contact{background:#191919}
.services-heading h2 span{-webkit-text-stroke-color:#f4f2ed}
.manifesto-photo:after,.hero-image-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(0,0,0,.08),transparent 45%,rgba(0,0,0,.18))}
.manifesto-photo,.hero-image-wrap{isolation:isolate}
.service-list,.service-row{border-color:rgba(244,242,237,.24)}
.service-row p{color:#b8b8b8}
.text-link{border-color:#f4f2ed}
.footer{background:#101010}
.mobile-menu{background:#101010;color:#f4f2ed}
.mobile-menu a{border-color:rgba(244,242,237,.24)}
.gallery-note{color:#999}
.project-grid{position:relative}
.project-card{position:relative}
.project-card:before{content:"";position:absolute;z-index:2;top:12px;left:12px;width:34px;height:34px;border:1px solid rgba(255,255,255,.7);border-radius:50%;pointer-events:none;opacity:.75}
.project-card:nth-child(3n):before{content:"✳";display:grid;place-items:center;color:#fff;font-size:22px;border:0}
.project-card img{filter:grayscale(100%) contrast(1.08)}
.project-card:hover img{filter:grayscale(35%) contrast(1.08)}
.street-texture{position:relative;isolation:isolate}
.street-texture:before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0;opacity:.15;background-image:radial-gradient(rgba(244,242,237,.55) .7px,transparent .7px);background-size:7px 7px;mask-image:linear-gradient(110deg,#000,transparent 42%)}
.hero-title-wrap:after{content:"PASTE / PRINT / REPEAT";position:absolute;right:1%;top:36%;font:9px var(--mono);letter-spacing:.16em;writing-mode:vertical-rl;transform:rotate(180deg);color:#858585}
.image-sticker{background:#cd1c18;color:#fff;font-weight:700;box-shadow:5px 6px 0 rgba(0,0,0,.3)}
.blackout{position:relative;background:#f0eee8;color:#111}
.blackout h2 span{-webkit-text-stroke:1px #111}
.blackout-inner{position:relative}
.spray-mark{position:absolute;pointer-events:none;font-size:clamp(55px,9vw,125px);line-height:1;color:#d5ff32;opacity:.9;transform:rotate(-18deg)}
.spray-one{right:8%;top:5%}
.spray-two{left:44%;bottom:18%;font-size:clamp(35px,5vw,70px);color:#111;opacity:.18;transform:rotate(20deg)}
.blackout-bottom{border-color:rgba(17,17,17,.3)}
.blackout-symbol{color:#111}
.contact-button{background:#cd1c18;color:#fff}
.contact-button:hover{background:#fff;color:#111}
.round-link{border-color:#f4f2ed}
@media(max-width:700px){
 .hero-title-wrap:after{right:0;top:25%;font-size:7px}
 .spray-one{right:1%;top:2%}
 .spray-two{left:38%;bottom:13%}
}
