:root{--blue:#477de0;--dark:#202022;--yellow:#ffc131;--cream:#f7f3eb;--coral:#ff573d;--white:#fffdf8;--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--dark);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,select,textarea{font:inherit;color:inherit}.section-pad{padding:110px clamp(24px,6vw,96px)}
.nav-wrap{position:sticky;top:0;z-index:30;height:92px;padding:12px clamp(22px,4vw,64px);display:flex;align-items:center;justify-content:space-between;background:rgba(247,243,235,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(32,32,34,.12)}.brand{width:148px}.brand img{height:58px;object-fit:contain}.nav-wrap nav{display:flex;gap:28px;font-size:14px;font-weight:700}.nav-wrap nav a,.text-link{position:relative}.nav-wrap nav a:after,.text-link:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:currentColor;transition:.25s}.nav-wrap nav a:hover:after,.text-link:hover:after{width:100%}.pill{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 23px;border:0;border-radius:99px;font-weight:800;transition:transform .2s,box-shadow .2s;cursor:pointer}.pill:hover{transform:translateY(-3px);box-shadow:0 8px 0 rgba(32,32,34,.15)}.pill-dark{background:var(--dark);color:white}.pill-blue{background:var(--blue);color:white}.pill-yellow{background:var(--yellow);color:var(--dark)}.mobile-menu{display:none}
.hero{min-height:calc(100vh - 92px);padding:7vh clamp(24px,6vw,96px) 8vh;position:relative;overflow:hidden}.eyebrow,.section-tag{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{width:10px;height:10px;background:var(--coral);border-radius:50%}.hero h1,.section-head h2,.intro h2,.services h2,.packages h2,.case-copy h2,.process h2,.about h2,.trust h2,.contact h2{font-family:Arial Black,Impact,sans-serif;letter-spacing:-.065em;line-height:.88;margin:28px 0}.hero h1{font-size:clamp(68px,12vw,180px);max-width:1100px}.hero h1 em,.packages h2 em,.contact h2 em{font-family:Georgia,serif;font-weight:400;color:var(--coral)}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px;position:relative;z-index:2}.hero-bottom>p{font-size:clamp(20px,2.2vw,31px);max-width:600px;margin:0}.hero-actions{display:flex;align-items:center;gap:28px;font-weight:800}.hero-art{position:absolute;right:3vw;top:15%;width:32vw;height:29vw;min-width:360px;min-height:330px;z-index:-1}.plate{position:absolute;inset:3% 0 5% 4%;border-radius:50%;background:var(--yellow);transform:rotate(-10deg);box-shadow:inset 0 0 0 28px var(--white),inset 0 0 0 31px var(--dark);display:grid;place-items:center}.plate span{font-family:Arial Black,sans-serif;font-size:5.5vw;transform:rotate(10deg)}.sticker{position:absolute;padding:18px 23px;border-radius:50%;font-weight:900;text-align:center;line-height:1.05;box-shadow:4px 5px 0 var(--dark)}.sticker-one{background:var(--coral);color:white;left:-10%;bottom:2%;transform:rotate(12deg)}.sticker-two{background:var(--blue);color:white;right:-1%;top:5%;transform:rotate(8deg)}.spark{position:absolute;right:2%;bottom:1%;font-size:70px;color:var(--blue)}
.ticker{overflow:hidden;background:var(--blue);color:white;border-block:3px solid var(--dark);transform:rotate(-1.2deg);width:102%;margin-left:-1%;white-space:nowrap}.ticker div{font-family:Arial Black,sans-serif;font-size:25px;padding:17px 0;letter-spacing:.02em}
.intro{display:grid;grid-template-columns:1fr 3fr;gap:50px}.intro h2{font-size:clamp(44px,6vw,92px)}.intro h2 span{color:var(--blue)}.intro>div:last-child>p{font-size:clamp(20px,2vw,29px);max-width:760px;margin:35px 0}.text-link{font-weight:900;display:inline-block}
.work{background:var(--white)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:64px}.section-head h2{font-size:clamp(52px,7vw,104px);margin-bottom:0}.section-head>p{max-width:400px;font-size:18px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.project{border:2px solid var(--dark);border-radius:var(--radius);overflow:hidden}.project-image{height:470px;position:relative;overflow:hidden}.project-image img{height:100%;object-fit:cover;filter:saturate(.85);transition:transform .6s}.project:hover .project-image img{transform:scale(1.04)}.project-image>span{position:absolute;top:20px;left:20px;background:var(--cream);border-radius:30px;padding:7px 13px;font-weight:900}.project-mark{position:absolute;right:25px;bottom:-25px;width:115px;height:115px;border-radius:50%;display:grid;place-items:center;font:80px/1 Georgia,serif;background:var(--yellow);border:3px solid var(--dark)}.project-copy{padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.project-copy h3{font:46px/1 Arial Black,sans-serif;letter-spacing:-.05em;margin:6px 0}.project-copy p{margin:0}.meta{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:bold}.project-foot{grid-column:1/-1;border-top:1px solid;padding-top:18px;display:flex;justify-content:space-between;font-size:13px;font-weight:bold}.project-foot a{text-decoration:underline}.project-blue .project-copy{background:var(--blue);color:white}.project-yellow .project-copy{background:var(--yellow)}.project-coral .project-copy{background:var(--coral);color:white}.project-dark .project-copy{background:var(--dark);color:white}.sample-note,.pending,.form-note{font-size:12px;opacity:.68;margin-top:24px}
.services{background:var(--dark);color:var(--cream)}.section-head.light{align-items:end}.service-list{border-top:1px solid rgba(255,255,255,.35)}.service-list article{display:grid;grid-template-columns:70px 1.5fr 1fr 60px;gap:25px;padding:38px 0;border-bottom:1px solid rgba(255,255,255,.35);align-items:start}.service-list article>span{color:var(--yellow);font-weight:900}.service-list h3{font:clamp(30px,3vw,48px)/1 Arial Black,sans-serif;margin:0 0 12px;letter-spacing:-.05em}.service-list p{margin:0;max-width:420px}.service-list ul{list-style:none;margin:0;padding:0}.service-list li{padding:5px 0}.service-list article>a{font-size:34px;width:50px;height:50px;border:1px solid;border-radius:50%;display:grid;place-items:center;transition:.2s}.service-list article>a:hover{background:var(--yellow);color:var(--dark);transform:rotate(10deg)}
.packages .section-head{align-items:end}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package-grid article{border:2px solid;border-radius:var(--radius);padding:30px;min-height:480px;display:flex;flex-direction:column}.package-grid .featured{background:var(--blue);color:white;transform:translateY(-20px)}.package-label{align-self:flex-start;border:1px solid;border-radius:99px;padding:7px 12px;text-transform:uppercase;font-size:10px;font-weight:bold}.package-grid h3{font:50px/.9 Arial Black,sans-serif;letter-spacing:-.06em;margin:38px 0 15px}.package-grid ul{list-style:none;padding:20px 0;margin:0;border-top:1px solid;margin-top:18px}.package-grid li{padding:7px 0}.package-grid li:before{content:"✦ ";color:var(--coral)}.package-grid article>a{font-weight:bold;text-decoration:underline;margin-top:auto}.package-grid .a-la-carte{grid-column:1/-1;min-height:0;background:var(--yellow);display:grid;grid-template-columns:1fr 1fr 2fr auto;align-items:center;gap:25px}.package-grid .a-la-carte h3{margin:0}
.case-study{background:var(--coral);display:grid;grid-template-columns:1.1fr 1fr;gap:70px}.case-image{min-height:600px;border:3px solid var(--dark);border-radius:var(--radius);overflow:hidden;position:relative;transform:rotate(-2deg)}.case-image img{height:100%;object-fit:cover}.case-image span{position:absolute;left:20px;top:20px;background:var(--yellow);padding:9px 14px;border-radius:40px;font-size:11px;font-weight:bold}.case-copy{align-self:center}.case-copy h2{font-size:clamp(46px,5vw,82px)}.case-copy>p{font-size:20px}.case-steps{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid;border-bottom:1px solid;margin:32px 0}.case-steps span{padding:14px 0;font-weight:bold}
.process{background:var(--blue);color:white}.process>h2{font-size:clamp(50px,7vw,100px);max-width:1050px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid}.process-grid article{padding:30px 24px 0 0;border-right:1px solid;margin-right:24px}.process-grid article:last-child{border:0}.process-grid span{display:grid;place-items:center;width:46px;height:46px;border:1px solid;border-radius:50%;color:var(--yellow);font-weight:bold}.process-grid h3{font:28px/1 Arial Black,sans-serif;margin:50px 0 16px}.process-grid p{opacity:.9}
.about{display:grid;grid-template-columns:1fr 1.15fr;gap:8vw}.about-card{min-height:580px;background:var(--yellow);border:3px solid;border-radius:50% 50% 30px 30px;display:flex;flex-direction:column;align-items:center;justify-content:space-around;transform:rotate(2deg);overflow:hidden}.about-card>span{font-weight:bold;font-size:12px}.about-face{font:bold 300px/1 Arial Black,sans-serif;transform:rotate(-8deg)}.about-copy{align-self:center}.about-copy h2{font-size:clamp(45px,5vw,78px)}.about-copy>p{font-size:20px}.trust{background:var(--yellow);text-align:center}.trust h2{font-size:clamp(45px,6vw,85px)}.logo-row{display:grid;grid-template-columns:repeat(4,1fr);border-block:2px solid;margin:50px 0}.logo-row span{padding:38px 10px;font-weight:900;border-right:1px solid}.logo-row span:last-child{border:0}
.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;background:var(--cream)}.contact-title h2{font-size:clamp(50px,6vw,94px)}.contact-title>p{font-size:20px;max-width:600px}.contact-form{background:var(--white);border:2px solid;border-radius:var(--radius);padding:35px;box-shadow:9px 10px 0 var(--yellow)}.contact-form label{display:block;font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:.08em;margin-bottom:24px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;display:block;border:0;border-bottom:1px solid;background:transparent;padding:12px 0;outline:none;text-transform:none;font-size:16px;letter-spacing:0}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);border-width:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-form button{width:100%}
footer{background:var(--dark);color:var(--cream);padding:70px clamp(24px,6vw,96px) 25px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-logo{font:clamp(90px,14vw,200px)/.8 Arial Black,sans-serif;letter-spacing:-.1em}.footer-logo span{font:italic 28px Georgia,serif;background:var(--yellow);color:var(--dark);border-radius:50px;padding:8px 20px;letter-spacing:0}.footer-links,.footer-contact{display:flex;flex-direction:column;gap:12px;font-weight:bold}.footer-contact>span{font-size:11px;color:var(--yellow);letter-spacing:.1em}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.3);padding-top:22px;display:flex;justify-content:space-between;font-size:12px}.footer-bottom strong{color:var(--yellow)}
@media(max-width:900px){.nav-wrap nav,.nav-cta{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{list-style:none;font-weight:bold;border:1px solid;border-radius:99px;padding:10px 16px}.mobile-menu[open] div{position:absolute;right:0;top:50px;background:var(--dark);color:white;border-radius:18px;padding:20px;min-width:180px;display:flex;flex-direction:column;gap:15px}.hero{min-height:auto;padding-top:60px}.hero-art{opacity:.35;right:-110px}.hero-bottom,.section-head{align-items:start;flex-direction:column}.project-grid,.case-study,.about,.contact{grid-template-columns:1fr}.project-image{height:360px}.package-grid{grid-template-columns:1fr}.package-grid .featured{transform:none}.package-grid .a-la-carte{grid-column:auto;grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr}.service-list article{grid-template-columns:50px 1fr 45px}.service-list ul{grid-column:2}.case-image{min-height:440px}.about-card{min-height:450px}.footer-logo{grid-column:1/-1}}
@media(max-width:560px){.section-pad{padding:75px 20px}.nav-wrap{height:76px;padding:8px 18px}.brand{width:120px}.brand img{height:48px}.hero h1{font-size:61px}.hero-bottom>p{font-size:19px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-art{min-width:300px;min-height:280px;top:21%;right:-150px}.ticker div{font-size:18px}.intro{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-image{height:300px}.project-copy{grid-template-columns:1fr}.project-foot{grid-column:auto;flex-direction:column;gap:10px}.service-list article{grid-template-columns:35px 1fr}.service-list article>a{grid-column:2}.service-list ul{grid-column:2}.process-grid{grid-template-columns:1fr}.process-grid article{border-right:0;border-bottom:1px solid;padding-bottom:25px}.case-image{min-height:330px}.about-card{min-height:380px}.about-face{font-size:220px}.logo-row{grid-template-columns:1fr 1fr}.logo-row span:nth-child(2){border-right:0}.form-row{grid-template-columns:1fr}footer{grid-template-columns:1fr}.footer-links,.footer-contact{grid-column:auto}.footer-bottom{flex-direction:column;gap:12px}.footer-logo{font-size:90px}.footer-logo span{font-size:18px}.contact-form{padding:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.hero-mascot{mix-blend-mode:multiply}
.about-card small{max-width:210px;text-align:center;font-weight:700}.about-promises{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:32px 0}.about-promises>div{border:1px solid var(--dark);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:8px}.about-promises strong{font-size:15px}.about-promises span{font-size:13px;line-height:1.35}.service-list article>a{width:auto;min-width:58px;padding:0 12px;border-radius:99px;font-size:12px;font-weight:900;text-transform:uppercase}
.about-card{align-self:start;height:560px;min-height:0}.about-face{font-size:260px}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:36px 0}.team-grid article{border:2px solid var(--dark);border-radius:22px;overflow:hidden;background:var(--white)}.member-photo{aspect-ratio:4/3;display:grid;place-items:center;text-align:center;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:11px;border-bottom:2px solid var(--dark);position:relative;overflow:hidden}.member-photo:before,.member-photo:after{content:"";position:absolute;border:2px solid var(--dark);border-radius:50%}.member-photo:before{width:95px;height:95px;top:18%;background:var(--cream)}.member-photo:after{width:175px;height:120px;bottom:-65px;background:var(--cream)}.member-photo span{z-index:2;background:var(--dark);color:white;border-radius:99px;padding:8px 12px}.member-one{background:var(--blue)}.member-two{background:var(--coral)}.team-grid article>div:last-child{padding:16px;display:flex;flex-direction:column;gap:5px}.team-grid strong{font-size:16px}.team-grid small{font-size:11px;opacity:.7}
@media(max-width:700px){.about-promises,.team-grid{grid-template-columns:1fr}.about-promises>div{padding:15px}.about-card{height:390px}.about-face{font-size:210px}}

/* Movimiento de marca */
@keyframes heroIn{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}
@keyframes mascotFloat{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-18px) rotate(2deg)}}
@keyframes stickerBob{0%,100%{transform:translateY(0) rotate(12deg)}50%{transform:translateY(-10px) rotate(7deg)}}
@keyframes stickerBobTwo{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(12px) rotate(13deg)}}
@keyframes tickerMove{to{transform:translateX(-50%)}}
@keyframes sectionReveal{from{opacity:.15;transform:translateY(70px)}to{opacity:1;transform:translateY(0)}}
@keyframes waPulse{0%,100%{box-shadow:0 6px 0 rgba(32,32,34,.22),0 0 0 0 rgba(71,125,224,.35)}50%{box-shadow:0 6px 0 rgba(32,32,34,.22),0 0 0 12px rgba(71,125,224,0)}}
.hero .eyebrow{animation:heroIn .65s both}.hero h1{animation:heroIn .75s .12s both}.hero-bottom{animation:heroIn .75s .25s both}.hero-mascot{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(10px 12px 0 rgba(32,32,34,.14));animation:mascotFloat 4.8s ease-in-out infinite}.sticker-one{animation:stickerBob 3.4s ease-in-out infinite}.sticker-two{animation:stickerBobTwo 3.8s ease-in-out infinite}.spark{animation:mascotFloat 3s ease-in-out infinite}.ticker div{width:max-content;animation:tickerMove 24s linear infinite}.section-pad{animation:sectionReveal both linear;animation-timeline:view();animation-range:entry 4% cover 24%}.project,.package-grid article,.service-list article{transition:transform .3s ease,box-shadow .3s ease}.project:hover,.package-grid article:hover{transform:translateY(-8px);box-shadow:8px 10px 0 var(--dark)}.package-grid .featured:hover{transform:translateY(-28px)}.service-list article:hover{transform:translateX(8px)}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:10px;background:var(--blue);color:white;border:2px solid var(--dark);border-radius:99px;padding:13px 20px;font-weight:900;animation:waPulse 2.4s ease-in-out infinite;transition:transform .2s}.whatsapp-float:hover{transform:translateY(-4px) rotate(-2deg)}.whatsapp-float span{font-size:21px}
@media(max-width:560px){.whatsapp-float{right:14px;bottom:14px;padding:12px 15px;font-size:13px}.package-grid .featured:hover{transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){.hero .eyebrow,.hero h1,.hero-bottom,.hero-mascot,.sticker-one,.sticker-two,.spark,.ticker div,.section-pad,.whatsapp-float{animation:none!important}.project:hover,.package-grid article:hover,.package-grid .featured:hover,.service-list article:hover{transform:none}}
