/* VERTEX EDITORIAL PREMIUM V3. Web-native recreation of the approved reference. */
:root{--paper:#faf9f5;--lime:#b6f309;--lime-dark:#8fbf00;--line:#e5e6da;--max:1230px}
html{scroll-padding-top:96px}
body{background:#faf9f5}
.paper,.portfolio,.services,.process-section{
  background-color:#faf9f5;
  background-image:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.08)),url('../img/papel_editorial_v3.webp');
  background-size:auto,680px 680px;background-repeat:repeat;
}
.header{background:rgba(250,249,245,.92);border-bottom:1px solid rgba(40,43,35,.10)}
.nav-wrap{height:78px}
.header .brand .brand-wordmark{width:162px;height:64px;object-fit:contain;max-width:none}
.footer-logo img{width:150px;height:auto}
.section{position:relative}
.eyebrow{letter-spacing:.18em}
/* HERO — centered vertical editorial composition */
.hero{padding:57px 0 24px;min-height:auto;overflow:hidden}
.hero-center{display:flex;flex-direction:column;align-items:center}
.hero-center-copy{display:flex;align-items:center;flex-direction:column;text-align:center;max-width:1030px;width:100%;position:relative;z-index:2}
.hero-eyebrow{justify-content:center;font-weight:750;color:#252723;letter-spacing:.23em;margin:8px auto 20px}
.hero-eyebrow .lime-bar{height:31px}
.hero-heading-center{font-size:clamp(4.6rem,9.4vw,8.7rem);line-height:.80;letter-spacing:-.015em;margin:16px 0 29px;max-width:100%;}
.hero-heading-center .hero-line{display:block;white-space:nowrap;margin-bottom:.09em}
.hero-heading-center .hero-lime-line{position:relative;width:max-content;max-width:100%;margin-inline:auto}
.hero-lime-line>span{display:inline-block;background:var(--lime);padding:0 .10em .06em;line-height:.89;border-radius:5px}
.hero-heading-center .dot{color:#9edc00}
.doodle-rays{position:absolute;width:55px;height:60px;right:-70px;top:-11px;pointer-events:none}
.doodle-rays b{position:absolute;width:5px;height:37px;border-radius:99px;background:#a9dc13;transform-origin:bottom center}
.doodle-rays b:nth-child(1){left:5px;top:12px;transform:rotate(40deg)}
.doodle-rays b:nth-child(2){left:20px;top:18px;transform:rotate(66deg)}
.doodle-rays b:nth-child(3){left:35px;top:36px;height:30px;transform:rotate(85deg)}
.hero-description-center{font-weight:500;font-size:clamp(1rem,1.65vw,1.38rem);line-height:1.6;color:#3c4139;max-width:690px;margin:0 auto 24px}
.hero-buttons-center{justify-content:center;width:100%;gap:15px;flex-wrap:nowrap}
.hero-buttons-center .btn{justify-content:space-between;min-height:62px;width:min(290px,46%);font-size:.79rem;padding:17px 22px;line-height:1.2}
.hero-categories{display:flex;justify-content:center;gap:21px;align-items:center;line-height:1.5;letter-spacing:.11em;margin:33px 0 17px;text-align:center}
.hero-categories span{white-space:nowrap}
.hero-categories i{color:#99d000;font-size:1.1rem}
.hero-editorial-stage{width:min(100%,950px);height:490px;position:relative;margin-top:12px}
.hero-ring{position:absolute;width:46%;aspect-ratio:1;max-width:410px;left:50%;top:8%;transform:translateX(-50%);border-radius:50%;border:1px solid #ccd0c2}
.poster-hero{position:absolute;width:31%;height:80%;border-radius:26px;overflow:hidden;border:1.5px solid rgba(137,200,0,.88);background:#fff;box-shadow:0 14px 33px #1e281020;transition:transform .3s ease}
.poster-hero img{width:100%;height:100%;object-fit:cover;object-position:center}
.poster-hero.left{left:17%;top:6%;transform:rotate(-8deg)}
.poster-hero.right{right:17%;top:6%;transform:rotate(8deg)}
.poster-hero.left:hover{transform:rotate(-4deg) translateY(-8px)}
.poster-hero.right:hover{transform:rotate(4deg) translateY(-8px)}
.hero-center-iso{position:absolute;z-index:2;width:27%;aspect-ratio:1;left:50%;top:28%;transform:translateX(-50%);border-radius:50%;background:linear-gradient(150deg,#30332e 0%,#111311 80%);display:grid;place-items:center;box-shadow:0 22px 45px #12170e2b;border:1px solid #111}
.hero-center-iso img{width:77%;height:77%;object-fit:contain}
.hero-doodle{position:absolute;color:#96c300;font-size:2rem}
.hero-doodle-a{top:5%;right:15%}.hero-doodle-b{bottom:3%;left:10%;font-size:3.3rem}
.hero-down{display:grid;place-items:center;width:49px;height:54px;border:1px solid #b3b8aa;border-radius:999px;margin:0 auto 16px;font-size:1.65rem;transition:background .2s}
.hero-down:hover{background:#e7ffc3}
.hero-end{width:100%;margin-top:2px}
/* Centered services header and horizontal image-led cards */
.services{padding-top:99px;padding-bottom:95px}
.centered-mast{text-align:center;display:grid;justify-items:center;margin:0 auto 27px;max-width:950px}
.centered-mast .eyebrow{justify-content:center}
.centered-heading{font-size:clamp(4.2rem,8vw,7.1rem);line-height:.86;letter-spacing:-.02em;margin:23px 0 19px}
.centered-heading .mark-lime{border-radius:3px}
.centered-mast>p{margin:0;max-width:720px;font-size:1.13rem;line-height:1.6;color:#4a5146}
.service-tabs{justify-content:center;gap:11px;margin:23px 0 25px}
.service-tabs a{border:1px solid #b5baaf;padding:12px 19px;border-radius:99px;font-size:.71rem;font-weight:900;background:#fff;transition:background .2s}
.service-tabs a:hover{background:var(--lime)}
.v3-services-list{display:grid;gap:15px}
.v3-service-card{border:1px solid rgba(138,207,0,.77);background:rgba(255,255,255,.88);box-shadow:0 13px 32px #3f4e260a;border-radius:28px;padding:15px;display:grid;grid-template-columns:1.12fr .88fr;gap:31px;align-items:center;min-height:290px;transition:box-shadow .25s,transform .25s}
.v3-service-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px #404d1820}
.v3-service-media{height:258px;overflow:hidden;border-radius:20px;background:#f1f1ec;border:1px solid #ecefe7}
.v3-service-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.v3-service-info{min-width:0;padding:12px 18px 12px 0;align-self:center}
.v3-service-info .service-id{color:#555e50;font-size:.72rem;letter-spacing:.16em}
.v3-service-info .service-id b{color:#81ac00;font-size:.84rem}
.v3-service-info h3{font-size:clamp(2.5rem,4vw,4rem);margin:16px 0 16px;line-height:.87;letter-spacing:-.02em}
.v3-service-info p{font-size:1rem;line-height:1.65;margin:0 0 22px;color:#484d44;max-width:470px}
.v3-service-action{display:inline-flex;gap:19px;align-items:center;background:transparent;border:0;font-size:.79rem;letter-spacing:.07em;font-weight:900;text-align:left;padding:0;color:#181b15}
.v3-service-action span{display:grid;place-items:center;border-radius:50%;background:var(--lime);width:45px;height:45px;font-size:1.45rem;transition:transform .2s}
.v3-service-action:hover span{transform:translateX(4px)}
/* Minimal portfolio mosaic, images in their original 4:5 ratio */
.portfolio{padding:98px 0 110px}
.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}
.gallery-item{min-width:0;padding:9px 9px 0;background:rgba(255,255,255,.89);border:1px solid #dce4ca;border-radius:24px;box-shadow:0 10px 25px #20271510;display:flex;flex-direction:column}
.gallery-item:hover{transform:translateY(-4px);box-shadow:0 13px 32px #29351716;border-color:#a6e410}
.gallery-item .portfolio-art{width:100%;display:block;aspect-ratio:4/5;border-radius:17px;overflow:hidden;background:#f6f5f1;border:1px solid rgba(139,205,0,.64)}
.gallery-item .portfolio-art img,.gallery-item img{width:100%;height:100%!important;aspect-ratio:4/5;object-fit:cover;object-position:center;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
.gallery-caption{width:100%;padding:14px 7px 14px;font-size:.70rem}
.gallery-caption b{color:#688b00}
.gallery-filters{justify-content:center}
/* Lightbox continues to show the entire original, not cropped */
.lightbox-figure img{object-fit:contain!important;max-height:100%}
/* smooth cross-device rhythm */
@media(max-width:1100px){
 .hero-heading-center{font-size:clamp(4rem,9.5vw,7rem)}
 .hero-editorial-stage{height:460px}
 .v3-service-info h3{font-size:3.3rem}
}
@media(max-width:900px){
 .header .brand .brand-wordmark{width:150px;height:59px}
 .hero{padding:57px 0 19px}
 .hero-heading-center{font-size:clamp(3.5rem,10vw,6rem)}
 .hero-editorial-stage{height:420px}
 .poster-hero{width:35%;height:80%}
 .poster-hero.left{left:12%}.poster-hero.right{right:12%}
 .hero-center-iso{width:31%}
 .v3-service-card{grid-template-columns:1fr .92fr;gap:15px}
 .v3-service-info{padding:9px 7px 9px 0}
 .v3-service-info h3{font-size:clamp(2.5rem,5vw,3.4rem)}
}
@media(max-width:660px){
 .wrap{width:calc(100% - 32px)}
 .nav-wrap{height:73px}
 .header .brand .brand-wordmark{width:148px;height:55px}
 .hero{padding:34px 0 18px}
 .hero-eyebrow{font-size:.65rem;letter-spacing:.12em;margin-bottom:12px}
 .hero-eyebrow .lime-bar{height:25px}
 .hero-heading-center{font-size:clamp(2.9rem,11.2vw,4.7rem);letter-spacing:-.015em;margin:13px 0 17px}
 .hero-lime-line>span{padding:0 .09em .05em}
 .doodle-rays{right:-24px;top:-9px;width:24px;height:30px;transform:scale(.58);transform-origin:top left}
 .hero-description-center{font-size:.94rem;line-height:1.6;margin:0 auto 20px;max-width:365px}
 .hero-buttons-center{gap:9px;flex-wrap:wrap}
 .hero-buttons-center .btn{font-size:.65rem;padding:12px 12px;min-height:56px;width:calc(50% - 5px);border-radius:13px}
 .hero-buttons-center .btn span{font-size:1.15rem}
 .hero-categories{gap:9px;justify-content:center;margin:22px 0 5px;font-size:.55rem;letter-spacing:.02em}
 .hero-categories i{font-size:.65rem}
 .hero-editorial-stage{width:100%;height:340px;margin-top:15px}
 .hero-ring{width:64%;top:9%}
 .poster-hero{border-radius:17px;box-shadow:0 10px 26px #141a0d28}
 .poster-hero.left{width:40%;height:82%;top:5%;left:5%;transform:rotate(-6deg)}
 .poster-hero.right{width:40%;height:82%;top:5%;right:5%;transform:rotate(6deg)}
 .hero-center-iso{width:38%;top:29%}
 .hero-doodle-a{right:1%;top:3%}.hero-doodle-b{left:1%;bottom:2%}
 .hero-down{height:43px;width:40px;margin-top:0}
 .hero-end{margin-top:6px;font-size:.57rem}
 .centered-mast{margin-bottom:20px}
 .centered-heading{font-size:clamp(3.4rem,10vw,5.2rem);margin:18px 0 15px}
 .centered-mast>p{font-size:.94rem;line-height:1.55}
 .service-tabs{gap:8px;margin:22px 0 20px}
 .service-tabs a{padding:10px 12px;font-size:.61rem}
 .v3-service-card{grid-template-columns:1fr;padding:11px;border-radius:22px;gap:0}
 .v3-service-media{height:240px;border-radius:16px}
 .v3-service-info{padding:20px 12px 14px}
 .v3-service-info h3{font-size:clamp(2.65rem,10vw,4rem);margin:14px 0}
 .v3-service-info p{font-size:.92rem;line-height:1.58;margin-bottom:15px}
 .v3-service-action{font-size:.72rem}
 .v3-service-action span{height:40px;width:40px}
 .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .gallery-item{padding:5px 5px 0;border-radius:16px}
 .gallery-item .portfolio-art{border-radius:11px}
 .gallery-caption{padding:11px 3px;font-size:.53rem;flex-wrap:wrap;line-height:1.4}
 .gallery-caption b{font-size:.55rem}
 .portfolio{padding-top:72px}
}
@media(max-width:380px){
 .hero-heading-center{font-size:clamp(2.5rem,11vw,3.3rem)}
 .hero-editorial-stage{height:300px}
 .hero-categories{gap:6px;font-size:.51rem}
 .hero-buttons-center .btn{min-height:61px}
 .centered-heading{font-size:clamp(3rem,9.5vw,4rem)}
 .v3-service-media{height:215px}
 .gallery-caption{font-size:.49rem}
}
@media(prefers-reduced-motion:reduce){.poster-hero,.hero-center-iso,.v3-service-card,.gallery-item{transition:none!important}}
