:root{--paper:#f7f6f2;--ink:#151715;--secondary:#53564f;--lime:#bafa15;--lime-dark:#a6e900;--line:#dcdfd5;--white:#fff;--big:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;--body:'Manrope',Arial,sans-serif;--max:1320px;--radius:24px;--header:82px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.modal-open{overflow:hidden}body,button,input{font-family:var(--body)}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin-top:0}button{color:inherit}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid #75a300;outline-offset:4px}.skip-link{position:fixed;top:-80px;left:10px;background:#fff;color:#111;padding:12px;z-index:10000}.skip-link:focus{top:8px}.wrap{width:min(var(--max),calc(100% - 64px));margin:0 auto}.paper{background-color:var(--paper);background-image:url('../img/textura_papel.webp');background-size:390px 190px;background-repeat:repeat}.display-heading{font-family:var(--big);font-weight:900;letter-spacing:-.027em;line-height:.86;text-transform:uppercase}.mark-lime{position:relative;background:linear-gradient(transparent 20%,var(--lime) 20%,var(--lime) 91%,transparent 91%);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .11em}.lime-bar{display:inline-block;flex:none;width:6px;height:24px;background:var(--lime)}.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.18em;display:flex;align-items:center;gap:12px}.dot{color:#8cc200}.section{padding:112px 0;position:relative;scroll-margin-top:75px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.25,1)}.reveal.visible{opacity:1;transform:none}
/* TOP NAV */
.header{position:sticky;top:0;z-index:50;background:rgba(248,247,242,.95);border-bottom:1px solid rgba(25,25,20,.10);backdrop-filter:blur(16px)}.nav-wrap{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:6px;min-width:max-content}.brand img{width:44px;height:40px;object-fit:contain}.brand>span{font-size:1.9rem;font-weight:800;line-height:.8;letter-spacing:-.11em;display:flex;flex-direction:column}.brand small{font-size:.49rem;letter-spacing:.45em;font-weight:800;margin-left:3px;margin-top:7px}.desktop-nav{display:flex;align-items:center;gap:25px}.desktop-nav a{font-size:.79rem;font-weight:800;transition:color .2s}.desktop-nav a:hover,.footer a:hover{color:#6e9a00}.nav-cta{display:flex;align-items:center;gap:20px;font-size:.72rem;letter-spacing:.05em;font-weight:800;background:var(--ink);color:#fff;padding:15px 20px;border-radius:12px;white-space:nowrap}.nav-cta span{font-size:1.25rem;color:var(--lime)}.nav-cta:hover{background:#353931}.menu-toggle{display:none;width:48px;height:48px;border:1px solid var(--line);border-radius:14px;background:#fff;align-items:center;justify-content:center;gap:6px;flex-direction:column}.menu-toggle span{width:20px;height:2px;background:var(--ink);display:block;transition:.2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{display:none}.mobile-nav:not([hidden]){display:flex;flex-direction:column;background:#f8f7f4;border-top:1px solid var(--line);padding:12px 24px 25px;box-shadow:0 22px 35px #00000012}.mobile-nav a{padding:12px 3px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;text-transform:uppercase;font-size:.92rem;font-weight:800}.mobile-nav a span{font-size:.7rem;color:#799b1a}
/* HERO */
.hero{padding:85px 0 20px;overflow:hidden;min-height:calc(100svh - var(--header))}.hero-inner{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:2%;min-height:610px}.hero-copy{position:relative;z-index:5}.hero-heading{font-size:clamp(4.7rem,8.4vw,9rem);margin:25px 0 32px;white-space:nowrap}.hero-heading .mark-lime{font-size:.9em}.intro-highlight{font-family:var(--big);font-size:clamp(1.4rem,2.6vw,2.15rem);letter-spacing:.007em;font-weight:800;background:var(--lime);padding:7px 11px;line-height:1;display:table;max-width:100%}.hero-description{font-size:clamp(.97rem,1.2vw,1.12rem);line-height:1.7;max-width:540px;color:#343631;margin:19px 0 28px}.hero-buttons{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-radius:13px;font-size:.76rem;font-weight:900;letter-spacing:.005em;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;line-height:1.2}.btn:hover{transform:translateY(-3px)}.btn span{font-size:1.25rem;line-height:1}.btn-dark{background:var(--ink);color:#fff;box-shadow:0 12px 22px #00000016}.btn-line{border:1.5px solid #383b35;background:#fff}.btn-lime{background:var(--lime);color:var(--ink)}.hero-footer{margin-top:35px;display:flex;align-items:center;gap:12px;font-size:.68rem;letter-spacing:.08em;font-weight:900;flex-wrap:wrap}.hero-footer i{font-style:normal;color:#8cac00}.hero-showcase{position:relative;min-height:640px;display:grid;place-items:center}.hero-outline{position:absolute;inset:8% 3%;border:1px solid #c9cfbf;border-radius:50%;transform:rotate(-20deg)}.iso-hero-wrap{position:absolute;top:12%;left:10%;width:75%;height:58%;display:grid;place-items:center;transform:rotate(-8deg)}.isotype-hero{width:min(100%,600px);height:100%;object-fit:contain;filter:drop-shadow(10px 12px 2px #0000000d)}.floating-poster{position:absolute;overflow:hidden;border:9px solid white;background:white;border-radius:16px;box-shadow:0 20px 42px #00000026;transition:transform .3s}.floating-poster img{width:100%;height:100%;object-fit:cover;object-position:center}.poster-a{width:35%;height:47%;bottom:3%;right:3%;transform:rotate(8deg)}.poster-b{width:30%;height:39%;bottom:5%;left:2%;transform:rotate(-10deg)}.poster-a:hover{transform:rotate(3deg) translateY(-8px)}.poster-b:hover{transform:rotate(-4deg) translateY(-8px)}.spark{position:absolute;color:#9fd400;font-size:4rem}.spark-one{top:7%;right:2%;transform:rotate(-24deg)}.spark-two{bottom:4%;right:40%;font-size:2.6rem}.hero-index{position:absolute;right:0;top:4%;font-family:var(--big);font-size:1.45rem;font-weight:900;display:flex;gap:6px;flex-direction:column;text-align:right}.hero-index span{font-family:var(--body);font-size:.6rem;letter-spacing:.16em}.hero-end{padding:17px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;font-size:.74rem;font-weight:800;letter-spacing:.07em}.hero-end a b{color:#699500;font-size:1.3rem;margin-left:8px}.marquee{overflow:hidden;background:var(--lime);border-block:1px solid #99cc15;padding:13px 0}.marquee-track{white-space:nowrap;display:flex;gap:25px;align-items:center;width:max-content;font-family:var(--big);font-weight:800;font-size:1.5rem;animation:slide 35s linear infinite}.marquee-track i{font-style:normal}.marquee-track span{display:block}@keyframes slide{to{transform:translateX(-50%)}}
/* ABOUT */
.about{padding-top:130px;padding-bottom:130px}.about-layout{display:grid;grid-template-columns:280px 1fr;gap:30px;align-items:start}.about-label{display:flex;gap:12px;align-items:center;font-size:.78rem;font-weight:800;letter-spacing:.14em}.about-text h2{font-size:clamp(4.8rem,8vw,8.6rem);margin:0 0 35px}.about-text>p{font-size:clamp(1.2rem,1.9vw,1.65rem);font-weight:500;line-height:1.55;max-width:850px;color:#3e4239}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bfc4ba;margin-top:38px}.about-stats div{padding:20px 12px 0 0;display:flex;gap:12px;align-items:center}.about-stats strong{font-family:var(--big);font-size:3.2rem;line-height:1}.about-stats span{font-size:.72rem;letter-spacing:.08em;font-weight:800}
/* SHARED SECTION */
.section-mast{margin-bottom:38px}.mast-row{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-top:26px}.mast-row h2{font-size:clamp(5rem,9.5vw,9.8rem);margin:0;flex:1}.mast-row>p{width:330px;max-width:37%;line-height:1.65;color:#43473e;font-size:1.02rem;margin:0 0 12px}
/* SERVICES */
.services{padding-top:112px;padding-bottom:112px;background:#f1f0eb}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.service-card{background:#fff;border:1px solid #dfe0d7;border-radius:var(--radius);padding:13px;box-shadow:0 12px 24px #1a201707;display:flex;flex-direction:column;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 36px #1a201714}.service-image{height:268px;overflow:hidden;border-radius:15px;background:#ebece6}.service-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s}.service-card:hover img{transform:scale(1.045)}.service-copy{padding:21px 13px 14px;display:flex;flex:1;flex-direction:column}.service-id{font-size:.68rem;color:#6a7359;letter-spacing:.11em;font-weight:900}.service-copy h3{font-size:clamp(2.25rem,3vw,3.35rem);line-height:.88;margin:13px 0 17px}.service-copy p{font-size:.92rem;line-height:1.55;max-width:330px;color:#60645e;margin-bottom:25px;flex:1}.text-action{padding:12px 0 0;background:none;border:0;border-top:1px solid #e6e8df;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:.7rem;font-weight:900;text-align:left;letter-spacing:.06em}.text-action span{background:#ddf9ab;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:1.2rem;transition:background .2s}.text-action:hover span{background:var(--lime)}
/* GALLERY */
.portfolio{padding-top:112px;background:var(--paper)}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 28px}.filter{border:1px solid #c9cec2;padding:12px 17px;border-radius:99px;font-size:.76rem;font-weight:900;background:#fff;transition:background .2s}.filter span{font-size:.65rem;opacity:.7}.filter.active,.filter:hover{background:var(--ink);border-color:var(--ink);color:#fff}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.gallery-item{border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;padding:11px;display:flex;flex-direction:column;text-align:left;min-width:0;transition:transform .3s,box-shadow .3s;box-shadow:0 10px 22px #0000000b}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 20px 38px #0000001b}.gallery-item img{display:block;width:100%;height:405px;object-fit:cover;object-position:top center;border-radius:14px}.gallery-item[hidden]{display:none!important}.gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px 6px 6px;font-size:.68rem;font-weight:900;letter-spacing:.04em}.gallery-caption b{white-space:nowrap;color:#6b9300}.portfolio-disclaimer{font-size:.77rem;color:#6f716a;margin-top:25px}
/* VIDEO */
.video-section{padding:135px 0}.video-layout{display:grid;grid-template-columns:.97fr 1.03fr;gap:5%;align-items:center}.video-copy h2{font-size:clamp(4.8rem,8vw,8.3rem);margin:30px 0}.video-copy p{max-width:500px;color:#50544c;font-size:1.05rem;line-height:1.75}.video-copy .accent-statement{font-weight:900;letter-spacing:.03em;color:var(--ink);font-size:1.22rem}.video-facts{display:flex;gap:30px;border-top:1px solid #cdd0c6;padding:22px 0;margin-top:32px}.video-facts div{display:flex;flex-direction:column;gap:5px}.video-facts strong{font-family:var(--big);font-size:2.4rem;line-height:1}.video-facts span{font-size:.62rem;font-weight:800;letter-spacing:.06em}.video-stage{position:relative;display:grid;place-items:center;min-height:740px;background:#1c1e1c;border-radius:32px;overflow:hidden;border:1px solid #343735;background-image:radial-gradient(circle at 50% 40%,#464d3c 0%,#242723 32%,#161816 75%)}.video-gridline{position:absolute;inset:0;background-image:linear-gradient(90deg,transparent 49.8%,#ffffff10 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#ffffff10 50%,transparent 50.2%);background-size:140px 140px}.video-stage-tag{position:absolute;top:24px;left:27px;color:#eef0e8;font-size:.73rem;font-weight:800;letter-spacing:.14em}.video-phone{position:relative;z-index:2;width:min(300px,57%);aspect-ratio:9 / 16;border:9px solid #101110;border-radius:42px;background:#080808;box-shadow:0 28px 25px #0007,0 60px 60px #0005,0 0 0 2px #72776e;overflow:hidden;transform:rotate(-4deg);transition:transform .3s}.video-phone:hover{transform:rotate(0deg)}.video-phone-notch{position:absolute;top:7px;left:50%;transform:translateX(-50%);background:#080808;width:33%;height:17px;border-radius:20px;z-index:2;pointer-events:none}.video-phone video{display:block;width:100%;height:100%;object-fit:contain;background:#000}.video-stage-foot{position:absolute;bottom:26px;left:27px;right:27px;display:flex;justify-content:space-between;gap:10px;color:#ecf1e8;font-weight:800;font-size:.7rem;letter-spacing:.08em}.video-stage-foot b{color:var(--lime);font-size:1.4rem}
/* PROCESS */
.process-section{padding:110px 0 130px;background:#eef0e9}.process-mast{display:flex;gap:80px;align-items:end;justify-content:space-between;margin:26px 0 45px}.process-mast h2{font-size:clamp(4.4rem,8.5vw,9rem);margin:0;flex:1}.process-mast>p{max-width:350px;line-height:1.65;color:#555a51}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.process-step{background:#fff;border:1px solid #d8dccf;border-radius:19px;padding:24px 21px;min-height:220px}.process-step>span{display:inline-grid;place-items:center;background:var(--lime);border-radius:50%;height:45px;width:45px;font-family:var(--big);font-size:1.75rem;font-weight:900}.process-step h3{font-family:var(--big);font-size:2.2rem;line-height:1;margin:21px 0 11px}.process-step p{font-size:.9rem;line-height:1.55;color:#555a51}
/* CONTACT + FOOTER */
.contact-section{background:#151715;color:#f8f8f4;padding:125px 0}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:6%;align-items:center}.contact-copy h2{font-size:clamp(6rem,9.1vw,10rem);margin:29px 0;max-width:800px}.contact-copy p{font-size:1.1rem;line-height:1.5;color:#dbdfd5;margin-bottom:28px}.lime-color{color:var(--lime)}.contact-social{margin-top:55px;display:flex;gap:14px 22px;flex-wrap:wrap}.contact-social a{border-bottom:1px solid #80857c;padding-bottom:8px;font-size:.8rem;font-weight:900}.contact-social a:hover{color:var(--lime)}.contact-right{padding:50px 20px;background:#262925;border:1px solid #50574d;border-radius:30px;display:grid;place-items:center}.contact-iso{width:min(320px,80%);height:310px;display:grid;place-items:center}.contact-iso img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(12px 17px 0 #121412)}.contact-details{display:flex;flex-direction:column;width:100%;padding:30px 20px 0;border-top:1px solid #4d554b;gap:12px}.contact-details span{font-size:.7rem;color:#d1d8cc;letter-spacing:.12em;font-weight:800}.contact-details a{font-family:var(--big);font-size:clamp(2.3rem,3.7vw,4.4rem);font-weight:800;line-height:1}.contact-details strong{font-size:1.3rem;margin:0 0 8px}.footer{background:#f3f3ed;padding:38px 0}.footer-flex{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-logo{display:flex;align-items:center;gap:5px;font-size:1.2rem;font-weight:900}.footer-logo i{font-style:normal;color:#575d50;font-weight:500}.footer-flex p{font-size:.7rem;color:#5d605a;letter-spacing:.12em;margin:14px 0 0}.footer-end{display:flex;align-items:flex-end;flex-direction:column;gap:20px}.footer-end a{font-weight:900;font-size:.76rem}.footer-end span{font-size:.67rem;color:#777a72}
/* LIGHTBOX */
.lightbox[hidden]{display:none!important}.lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px}.lightbox-backdrop{position:absolute;inset:0;background:#090c09db;backdrop-filter:blur(7px)}.lightbox-dialog{position:relative;background:#f8f7f3;border-radius:24px;width:min(1120px,100%);height:min(880px,calc(100dvh - 36px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #fff}.lightbox-head{padding:16px 23px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9ded2;gap:12px}.lightbox-head span{font-size:.63rem;font-weight:800;letter-spacing:.09em;color:#52594b}.lightbox-head h3{font-family:var(--big);font-size:2.2rem;line-height:1;margin:3px 0 0}.lightbox-close{border:1px solid #d0d4cb;background:#fff;border-radius:13px;font-weight:800;font-size:.72rem;white-space:nowrap;padding:12px 15px}.lightbox-body{min-height:0;display:grid;grid-template-columns:1fr 300px;gap:0;flex:1}.lightbox-figure{min-width:0;min-height:0;background:#e7e8e2;display:flex;align-items:center;justify-content:center;padding:15px;overflow:auto}.lightbox-figure img{max-height:100%;width:auto;object-fit:contain;border-radius:7px;box-shadow:0 12px 35px #00000020}.lightbox-aside{padding:27px 21px;display:flex;flex-direction:column;gap:20px;justify-content:space-between;border-left:1px solid #d9ded2}.lightbox-aside p{color:#555b51;font-size:.96rem;line-height:1.6}.lightbox-aside .minor{font-weight:800;letter-spacing:.12em;color:#5d7e19;font-size:.72rem}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:4px}.lightbox-controls button{border:1px solid #cdd1c7;background:#fff;padding:10px 8px;border-radius:10px;font-size:.64rem;font-weight:800}.lightbox-controls span{font-size:.65rem;font-weight:800;white-space:nowrap}.lightbox-aside .btn{margin-top:5px;justify-content:center;padding:15px;font-size:.69rem}
@media(max-width:1150px){.desktop-nav{gap:14px}.desktop-nav a{font-size:.73rem}.nav-cta{padding:12px 14px;font-size:.7rem}.hero-heading{font-size:clamp(4.5rem,8vw,8rem)}.hero-showcase{min-height:570px}.service-image{height:230px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item img{height:440px}.contact-copy h2{font-size:8vw}}
@media(max-width:900px){:root{--header:72px}.wrap{width:min(var(--max),calc(100% - 36px))}.desktop-nav,.nav-cta{display:none}.menu-toggle{display:flex}.hero{padding:50px 0 20px}.hero-inner{grid-template-columns:1fr;gap:0;min-height:auto}.hero-heading{font-size:clamp(5.1rem,11vw,8.7rem)}.hero-showcase{min-height:540px;margin-top:30px}.iso-hero-wrap{width:70%;height:70%;left:15%;top:5%}.floating-poster{border-width:7px}.poster-a{width:28%;height:57%;right:15%;bottom:4%}.poster-b{width:25%;height:48%;left:13%;bottom:4%}.hero-footer{margin-top:25px}.about-layout{grid-template-columns:1fr;gap:25px}.about-text h2{font-size:clamp(5rem,11vw,9rem)}.mast-row{align-items:start;flex-direction:column;gap:15px}.mast-row>p{width:100%;max-width:720px}.video-layout{grid-template-columns:1fr;gap:50px}.video-stage{min-height:710px}.process-mast{flex-direction:column;gap:15px;align-items:start}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-copy h2{font-size:clamp(5.5rem,12vw,9rem)}.contact-right{max-width:600px}.lightbox-body{grid-template-columns:1fr 230px}.lightbox-aside{padding:20px}}
@media(max-width:600px){:root{--header:68px}.wrap{width:calc(100% - 28px)}.brand img{width:36px;height:34px}.brand>span{font-size:1.65rem}.header{background:rgba(249,248,245,.96)}.hero{padding:41px 0 15px}.eyebrow{font-size:.64rem;letter-spacing:.11em;gap:8px}.lime-bar{height:19px;width:5px}.hero-heading{font-size:clamp(3.72rem,15vw,6.8rem);letter-spacing:-.038em;margin:17px 0 25px}.hero-heading .mark-lime{padding:0 .07em}.intro-highlight{font-size:1.45rem;line-height:1.1;padding:6px 9px}.hero-description{font-size:.94rem;margin:18px 0 22px}.hero-buttons{gap:8px}.btn{padding:14px 14px;font-size:.7rem}.btn-dark{flex:1}.btn-line{flex:1}.hero-footer{gap:8px;font-size:.6rem;line-height:1.5}.hero-showcase{min-height:390px;margin-top:8px}.hero-outline{inset:6% 3%}.iso-hero-wrap{width:87%;height:65%;top:0;left:7%}.poster-a{width:39%;height:50%;right:3%;bottom:4%}.poster-b{width:35%;height:44%;left:3%;bottom:4%}.floating-poster{border-width:5px;border-radius:10px}.hero-index{top:3%;right:2%;font-size:1rem}.hero-index span{font-size:.48rem}.spark-one{font-size:2.5rem}.spark-two{font-size:2rem}.hero-end{font-size:.61rem;gap:8px}.hero-end a b{font-size:1rem}.marquee{padding:10px 0}.marquee-track{font-size:1.25rem}.section{padding:74px 0}.about{padding:82px 0}.about-text h2{font-size:clamp(4.35rem,15vw,7rem);margin-bottom:19px}.about-text>p{font-size:1.03rem}.about-stats{gap:8px;margin-top:28px}.about-stats div{align-items:flex-start;gap:3px;flex-direction:column}.about-stats strong{font-size:2.8rem}.about-stats span{font-size:.6rem}.mast-row{margin-top:19px}.mast-row h2{font-size:clamp(4.5rem,15vw,7rem)}.mast-row>p{font-size:.92rem}.services-grid{grid-template-columns:1fr;gap:13px}.service-card{padding:10px;border-radius:20px}.service-image{height:250px}.service-copy{padding:20px 12px 12px}.service-copy h3{font-size:clamp(2.8rem,11vw,3.8rem)}.service-copy p{font-size:.91rem;max-width:none}.gallery-filters{gap:7px}.filter{padding:10px 12px;font-size:.66rem}.portfolio-grid{grid-template-columns:1fr;gap:12px}.gallery-item img{height:350px;object-fit:contain;background:#e9e9e2}.gallery-caption{font-size:.63rem}.portfolio-disclaimer{font-size:.72rem}.video-section{padding:78px 0}.video-copy h2{font-size:clamp(4.4rem,15vw,7rem);margin:21px 0}.video-copy p{font-size:.98rem}.video-facts{gap:18px}.video-facts strong{font-size:1.9rem}.video-facts span{font-size:.55rem}.video-stage{min-height:600px;border-radius:23px}.video-phone{width:min(245px,66%);border-radius:34px;border-width:7px}.video-phone-notch{height:14px}.video-stage-tag,.video-stage-foot{font-size:.58rem}.video-stage-tag{top:19px;left:18px}.video-stage-foot{bottom:17px;left:18px;right:18px}.process-section{padding:85px 0}.process-mast h2{font-size:clamp(4.2rem,13vw,6.8rem)}.process-grid{grid-template-columns:1fr;gap:10px}.process-step{min-height:auto;padding:22px}.process-step h3{margin-top:12px;font-size:2rem}.contact-section{padding:80px 0}.contact-copy h2{font-size:clamp(4.7rem,14vw,7.7rem)}.contact-copy p{font-size:1rem}.contact-social{margin-top:38px;gap:15px}.contact-social a{font-size:.72rem}.contact-right{padding:20px}.contact-iso{height:220px}.contact-details{padding:20px 10px}.contact-details a{font-size:3rem}.contact-details strong{font-size:1.05rem}.footer-flex{flex-direction:column;align-items:flex-start}.footer-end{align-items:flex-start}.footer-end span{line-height:1.6}.lightbox{padding:6px}.lightbox-dialog{height:calc(100dvh - 12px);border-radius:14px}.lightbox-head{padding:12px}.lightbox-head h3{font-size:1.8rem}.lightbox-head span{font-size:.52rem}.lightbox-close{padding:10px;font-size:.6rem}.lightbox-body{display:flex;flex-direction:column;overflow:auto}.lightbox-figure{flex:0 0 auto;min-height:0;max-height:none;padding:10px;overflow:visible}.lightbox-figure img{width:auto;max-height:54vh;max-width:100%;object-fit:contain}.lightbox-aside{border-left:0;border-top:1px solid #d9ded2;gap:12px;padding:15px}.lightbox-aside p{font-size:.82rem}.lightbox-controls{margin-top:0}.lightbox-aside .btn{padding:12px}}
@media(max-width:375px){.hero-heading{font-size:clamp(3.2rem,14.2vw,4.3rem)}.hero-buttons{flex-direction:column;align-items:stretch}.hero-buttons .btn{width:100%}.hero-showcase{min-height:340px}.hero-index{font-size:.9rem}.intro-highlight{font-size:1.2rem}.mast-row h2{font-size:4rem}.about-text h2{font-size:4rem}.video-stage{min-height:520px}.video-phone{width:69%}.contact-details a{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
/* Cross-device refinements: prevent decorative or oversized grid children
   from producing unintended horizontal scrolling on small screens. */
.hero-inner,.hero-copy,.hero-showcase{min-width:0}
.hero-outline{inset:15% 12%}
@media(max-width:900px){.hero-inner{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.hero-heading{font-size:clamp(2.8rem,14vw,5.1rem);letter-spacing:-.05em}.hero-outline{inset:12% 12%}.hero-showcase{overflow:hidden}}
@media(max-width:375px){.hero-heading{font-size:clamp(2.8rem,14vw,3.5rem)}}
html,body{overflow-x:clip}
@media(max-width:600px){
 .about-text h2,.mast-row h2,.process-mast h2,.video-copy h2,.contact-copy h2{font-size:clamp(3.45rem,12.75vw,5.5rem)}
 .about-layout,.about-text,.section-mast,.mast-row,.video-layout,.video-copy,.contact-grid,.contact-copy{min-width:0}
}
@media(max-width:375px){.about-text h2,.mast-row h2,.process-mast h2,.video-copy h2,.contact-copy h2{font-size:clamp(3.15rem,12.1vw,3.65rem)}}

/* ===== V2 PREMIUM REFINEMENT: editorial texture, cleaner hero, softer previews ===== */
.paper{
  background-color:#f7f6f1;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.8) 0 14%, transparent 15%),
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(246,245,239,.92)),
    url('../img/textura_papel.webp');
  background-repeat:no-repeat, no-repeat, repeat;
  background-size:1300px 700px, 100% 100%, 560px 280px;
  background-position:top left, center, center;
  background-blend-mode:screen, normal, multiply;
}
.services{
  background-color:#f2f1eb;
}
.header{
  background:rgba(248,247,242,.90);
}
.hero{
  padding:94px 0 28px;
}
.hero-inner{
  gap:clamp(32px,4vw,84px);
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  min-height:650px;
}
.hero-copy{
  max-width:640px;
}
.hero-heading{
  white-space:normal;
  max-width:8.2ch;
  line-height:.92;
  letter-spacing:-.018em;
  margin:20px 0 24px;
}
.intro-highlight{
  padding:8px 12px;
  border-radius:10px;
  box-shadow:0 10px 16px rgba(186,250,21,.14);
}
.hero-description{
  max-width:560px;
  font-size:1rem;
}
.hero-buttons{
  gap:14px;
}
.hero-footer{
  margin-top:30px;
  gap:14px;
}
.hero-showcase{
  min-height:670px;
}
.hero-outline{
  inset:10% 10%;
  border:1.5px solid rgba(133,140,123,.22);
  transform:rotate(-14deg);
}
.iso-hero-wrap{
  top:10%;
  left:16%;
  width:62%;
  height:54%;
  transform:none;
}
.isotype-hero{
  filter:drop-shadow(0 24px 28px rgba(0,0,0,.08));
}
.floating-poster{
  padding:10px;
  border:1px solid rgba(186,250,21,.36);
  background:rgba(255,255,255,.94);
  border-radius:24px;
  box-shadow:0 22px 42px rgba(0,0,0,.11), 0 0 0 4px rgba(255,255,255,.85) inset;
}
.floating-poster img{
  border-radius:16px;
}
.poster-a{
  width:31%;
  height:44%;
  right:9%;
  bottom:9%;
  transform:rotate(6deg);
}
.poster-b{
  width:27%;
  height:39%;
  left:8%;
  bottom:12%;
  transform:rotate(-6deg);
}
.poster-a:hover{transform:rotate(3deg) translateY(-8px)}
.poster-b:hover{transform:rotate(-3deg) translateY(-8px)}
.hero-index{
  top:8%;
  right:2%;
}
.spark-one{top:10%;right:8%}
.spark-two{bottom:13%;right:35%}

.section-mast{
  margin-bottom:44px;
}
.service-card,
.gallery-item{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(210,214,202,.92);
  box-shadow:0 16px 32px rgba(14,18,10,.06);
}
.service-card{
  padding:16px;
  border-radius:28px;
}
.service-image{
  height:320px;
  display:grid;
  place-items:center;
  padding:14px;
  border-radius:22px;
  background:linear-gradient(180deg, #fbfbf8 0%, #eff0ea 100%);
  border:1px solid rgba(186,250,21,.26);
  position:relative;
}
.service-image::after{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:17px;
  border:1.5px solid rgba(186,250,21,.36);
  pointer-events:none;
}
.service-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 16px 20px rgba(0,0,0,.07));
}
.service-card:hover img{
  transform:translateY(-4px) scale(1.015);
}
.service-copy{
  padding:22px 12px 12px;
}
.service-copy p{
  max-width:none;
}
.text-action span{
  box-shadow:0 8px 14px rgba(186,250,21,.18);
}

.portfolio-grid{
  gap:19px;
}
.gallery-item{
  padding:14px;
  border-radius:28px;
}
.gallery-item img{
  height:450px;
  object-fit:contain;
  object-position:center;
  padding:14px;
  background:linear-gradient(180deg, #fbfbf7 0%, #eff0ea 100%);
  border:1px solid rgba(186,250,21,.26);
  border-radius:18px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);
}
.gallery-item.tall img{
  height:450px;
}
.gallery-caption{
  padding:18px 6px 8px;
}
.gallery-caption b{
  color:#7ca300;
}

@media(max-width:1150px){
  .service-image{height:295px}
  .gallery-item img,.gallery-item.tall img{height:400px}
}

@media(max-width:900px){
  .hero-inner{
    grid-template-columns:minmax(0,1fr);
    gap:24px;
  }
  .hero-copy{
    max-width:100%;
  }
  .hero-heading{
    max-width:9.2ch;
    line-height:.94;
  }
  .hero-showcase{
    min-height:560px;
    margin-top:12px;
  }
  .iso-hero-wrap{
    top:9%;
    left:18%;
    width:58%;
    height:52%;
  }
  .poster-a{
    width:26%;
    height:52%;
    right:16%;
    bottom:9%;
  }
  .poster-b{
    width:24%;
    height:45%;
    left:16%;
    bottom:12%;
  }
}

@media(max-width:600px){
  .paper{
    background-size:800px 420px, 100% 100%, 420px 210px;
  }
  .hero{
    padding:46px 0 20px;
  }
  .hero-heading{
    max-width:8.5ch;
    letter-spacing:-.022em;
    line-height:.95;
    margin:14px 0 22px;
  }
  .intro-highlight{
    font-size:1.18rem;
    line-height:1.15;
    padding:7px 10px;
  }
  .hero-description{
    font-size:.97rem;
  }
  .hero-buttons{
    gap:10px;
  }
  .hero-showcase{
    min-height:440px;
    margin-top:14px;
  }
  .hero-outline{
    inset:13% 10%;
  }
  .iso-hero-wrap{
    width:64%;
    height:52%;
    left:18%;
    top:10%;
  }
  .floating-poster{
    padding:7px;
    border-radius:18px;
  }
  .poster-a{
    width:34%;
    height:47%;
    right:7%;
    bottom:8%;
  }
  .poster-b{
    width:30%;
    height:40%;
    left:7%;
    bottom:12%;
  }
  .hero-index{
    top:5%;
    right:2%;
  }
  .services-grid,.portfolio-grid{
    gap:14px;
  }
  .service-card{
    padding:12px;
    border-radius:24px;
  }
  .service-image{
    height:286px;
    padding:11px;
    border-radius:18px;
  }
  .service-image::after{
    inset:8px;
    border-radius:14px;
  }
  .gallery-item{
    padding:12px;
    border-radius:24px;
  }
  .gallery-item img,
  .gallery-item.tall img{
    height:360px;
    padding:10px;
    border-radius:15px;
  }
  .gallery-caption{
    padding:15px 4px 6px;
    font-size:.64rem;
    line-height:1.4;
  }
}

@media(max-width:390px){
  .hero-heading{
    font-size:clamp(3rem,13.7vw,4.2rem);
    max-width:7.9ch;
  }
  .hero-buttons .btn{
    width:100%;
  }
  .gallery-item img,
  .gallery-item.tall img{
    height:334px;
  }
}
