/* V4.1: supplied glass ribbon, clean editorial layout and geometric motion. */
.section-tag::before{content:'';width:18px;height:1px;display:block;background:var(--blue);flex:none}
.services-section .section-tag::before,.method-section .section-tag::before,.testimonials-section .section-tag::before{background:var(--blue-light)}
.hero-art{width:860px;height:670px;bottom:35px;max-width:94%}
.abstract-object{position:relative;width:100%;height:100%;perspective:1200px}
.hero-ribbon{display:block;width:100%;height:100%;object-fit:contain;transform-origin:50% 55%;animation:hero-ribbon-float 10s ease-in-out infinite;filter:drop-shadow(0 24px 24px #0c07042b);will-change:transform}
.motion-paused .hero-ribbon,.page-inactive .hero-ribbon{animation-play-state:paused}
@keyframes hero-ribbon-float{0%,100%{transform:translate3d(0,12px,0) rotateX(2deg) rotateY(-5deg) rotateZ(-2deg)}50%{transform:translate3d(0,-16px,0) rotateX(-2deg) rotateY(5deg) rotateZ(2deg)}}
.hero-project-link>div>span{align-items:flex-start;flex-direction:column;gap:7px}
.hero-project-link>div>span>span{font-size:12px;max-width:none}
.hero-project-link strong{font-size:30px;line-height:1.1}


.brand-stat>div{font-size:72px;line-height:1;letter-spacing:-.065em}
.brand-stat{min-height:330px;gap:24px}
.brand-stat>p{max-width:240px;font-size:18px}
.stat-context{font-size:12px;line-height:1.6;color:var(--muted);display:block;padding-top:18px;border-top:1px solid var(--line)}
.benefits-grid{align-items:stretch;gap:48px}
.benefit-card{min-width:0;padding:28px 0 0;background:transparent;color:var(--ink);border-radius:0;border-top:1px solid #c8c3bf;margin:0;display:block;overflow:visible}
.benefit-number{display:block;font-size:14px;line-height:1.5;color:var(--blue);letter-spacing:.03em;margin-bottom:32px}
.benefit-card h3{font-size:30px;line-height:1.2;letter-spacing:-.04em;margin:0 0 20px;max-width:330px}
.benefit-card>p{font-size:16px;line-height:1.65;color:var(--muted);max-width:360px}
.service-art{background:var(--charcoal);aspect-ratio:1.5}
.service-art img{object-fit:cover;transform:none}
.service-art-0 img,.service-art-3 img{object-position:center}
.service-art-1 img,.service-art-4 img{object-position:center}
.service-row:hover .service-art img{transform:scale(1.05)}
.service-art{transition:box-shadow .6s}
.service-row:hover .service-art{box-shadow:0 0 35px #4258fc16}
.method-visual{position:relative;min-height:700px;overflow:hidden;border-radius:12px;background:var(--charcoal);margin:0;display:flex;flex-direction:column;justify-content:space-between;padding:30px;isolation:isolate}
.method-office{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:34% center}
.method-visual::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0c070450,transparent 35%,#0c0704b3)}
.method-visual-top{display:flex;justify-content:space-between;gap:20px;position:relative;z-index:1;color:white;font-size:11px;letter-spacing:.08em}
.method-visual-caption{font-size:26px;line-height:1.3;letter-spacing:-.035em;max-width:360px;position:relative;z-index:1;color:white}
.studio-figure>img{object-position:center 58%}
.process-cover{background:radial-gradient(ellipse at 25% 0,#e8f0ff,var(--blue-light));aspect-ratio:1.35;perspective:650px}
.process-cover-1{background:radial-gradient(ellipse at 25% 0,#7788ff,var(--blue));color:white}
.process-cover-2{background:radial-gradient(ellipse at 25% 0,#3c4669,var(--charcoal));color:white}
.process-cover-3{background:radial-gradient(ellipse at 25% 0,#3a4598,#10152e);color:white}
.process-cover>img.process-geometry{width:100%;max-width:330px;height:100%;object-fit:contain;rotate:none;opacity:1;transform:none;transform-origin:center;filter:none}
.process-items article:hover .process-geometry{filter:drop-shadow(0 9px 12px #0c070420)}
.shape-0{animation:geometry-orbit 16s linear infinite}
.shape-1{animation:geometry-fold 8s ease-in-out infinite}
.shape-2{animation:geometry-float 7s ease-in-out infinite}
.shape-3{animation:geometry-prism 12s ease-in-out infinite}
.process-cover>span{z-index:2}
.process-copy h3{font-size:24px}
.motion-paused .process-geometry,.page-inactive .process-geometry{animation-play-state:paused}
@keyframes geometry-orbit{0%{transform:rotate(-12deg) scale(.95)}50%{transform:rotate(12deg) scale(1.04)}100%{transform:rotate(-12deg) scale(.95)}}
@keyframes geometry-fold{0%,100%{transform:translateY(8px) rotate(-8deg) scale(.92)}50%{transform:translateY(-8px) rotate(8deg) scale(1.04)}}
@keyframes geometry-float{0%,100%{transform:translateY(7px) rotate(-5deg)}50%{transform:translateY(-9px) rotate(5deg)}}
@keyframes geometry-prism{0%,100%{transform:rotateY(-22deg) rotateZ(-8deg) scale(.92)}50%{transform:rotateY(24deg) rotateZ(8deg) scale(1.04)}}
@media(max-width:1199px){.benefits-grid{gap:32px}.benefit-card h3{font-size:27px}.method-visual{min-height:650px;padding:25px}.method-visual-caption{font-size:24px}}
@media(max-width:991px){.brand-stat{min-height:280px}.brand-stat>div{font-size:64px}.benefits-grid{gap:26px}.benefit-card h3{font-size:25px}.benefit-number{margin-bottom:25px}.benefit-card>p{font-size:15px}.method-visual-caption{font-size:22px}}
@media(max-width:767px){.benefits-grid{grid-template-columns:1fr;gap:30px}.benefit-card{display:grid;grid-template-columns:35px minmax(0,1fr);gap:0 18px;padding:25px 0 0}.benefit-number{font-size:13px;grid-column:1;grid-row:1;margin:5px 0 0}.benefit-card h3{font-size:28px;grid-column:2;grid-row:1;margin:0 0 16px;max-width:none}.benefit-card>p{grid-column:2;grid-row:2;font-size:16px;max-width:600px}.method-visual{min-height:460px;padding:28px}.method-office{object-position:center 65%}.method-visual-caption{max-width:400px;font-size:26px}.brand-stat>div{font-size:60px}.process-cover{aspect-ratio:1.5}}
@media(max-width:479px){.hero-art{bottom:12px}.hero-project-link strong{font-size:27px}.hero-project-link>div>span>span{font-size:11px}.brand-stat{min-height:245px;padding:22px;gap:22px}.brand-stat>div{font-size:52px}.brand-stat>p{font-size:15px}.stat-context{font-size:10px;line-height:1.5;padding-top:14px}.benefit-card h3{font-size:26px}.benefit-card{gap:0 15px}.benefit-card>p{font-size:16px;line-height:1.6}.method-visual{min-height:410px;padding:25px}.method-visual-caption{font-size:23px}.process-cover{aspect-ratio:1.7}.process-cover>img.process-geometry{max-width:300px}.process-copy h3{font-size:25px}}
@media(max-width:1199px){.hero-art{width:760px;height:610px;bottom:30px}}
@media(max-width:991px){.hero-art{width:660px;height:440px;bottom:105px}}
@media(max-width:767px){.hero-art{width:560px;height:375px;bottom:100px;max-width:94%}}
@media(max-width:479px){.hero-art{width:calc(100% - 30px);height:270px;bottom:112px;max-width:400px}}
@media(prefers-reduced-motion:reduce){.process-geometry,.hero-ribbon{animation:none!important;transform:none;will-change:auto}}
@media print{.abstract-object,.method-visual{display:none!important}.benefit-card{display:block}.benefit-number{font-size:12px}}

/* UX review: readable fields, reachable controls and predictable responsive grids. */
.contact-form label{font-size:14px}
.contact-form input,.contact-form select,.contact-form textarea{font-size:16px;min-height:48px}
.form-submit{font-size:16px;min-height:52px}
.contact-form noscript a{text-decoration:underline;text-underline-offset:3px}
.header-actions .language-nav>a,.language-nav>a{min-width:44px;min-height:44px}
.site-menu{max-height:calc(100dvh - 102px);overscroll-behavior:contain;scrollbar-gutter:stable}
.site-menu .menu-aside>a{display:flex;min-height:44px}
.menu-links>a{min-height:48px}
.hero-scroll{width:44px;height:44px;display:grid;place-items:center}

.services-section :focus-visible,.method-section :focus-visible,.testimonials-section :focus-visible,.site-menu :focus-visible,.model-0 :focus-visible{outline-color:var(--blue-light)}
.whatsapp-float{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));min-width:48px;min-height:48px;justify-content:center}
body.menu-open .whatsapp-float,body.instagram-modal-open .whatsapp-float{visibility:hidden;pointer-events:none}
.method-tags{font-size:12px;line-height:1.6}
.catalog-end{padding-top:56px}
.contact-form{width:100%;max-width:900px;margin-inline:auto}
@media(max-width:1199px){.contact-grid{grid-template-columns:1fr;gap:48px}}
@media(max-width:991px){.work-intro,.services-intro{margin-top:0}.contact-grid{grid-template-columns:1fr}.contact-grid>div{min-width:0}}
@media(max-width:767px){.header-actions .language-nav>a{min-width:40px}.header-actions>.language-nav{margin-right:0}.service-title .service-arrow{min-width:44px;min-height:44px}.model-card .button{width:100%;justify-content:space-between}.footer-bottom>a{min-height:44px;display:inline-flex;align-items:center}.contact-shortcuts{margin-top:24px}}
@media(max-width:599px){.form-grid{grid-template-columns:1fr}.service-row{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:32px}.service-title{grid-column:1;grid-row:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px 20px;align-items:start}.service-number{grid-column:1;grid-row:1;margin:0}.service-row h3{grid-column:1;grid-row:2;font-size:28px;max-width:none}.service-title .service-arrow{grid-column:2;grid-row:1/3;align-self:center;margin:0}.service-art{grid-column:1;grid-row:2;aspect-ratio:1.5;width:100%}.service-copy{grid-column:1;grid-row:3}.contact-form{padding:24px 20px}.contact-shortcuts .text-link{max-width:100%}.contact-shortcuts .text-link svg{flex:none}.footer-main{padding-bottom:38px}}
@media(max-width:479px){.header-inner{gap:12px}.header-actions{gap:8px}.menu-toggle{width:44px;height:44px}.hero-scroll{bottom:12px}.service-row h3{font-size:27px}.brand-stat>div{font-size:clamp(40px,12vw,52px)}.stat-context{font-size:12px;line-height:1.5}}
@media(max-width:359px){.header-actions .language-nav>a{min-width:36px}.header-logo{width:108px}}

/* Fullscreen hero: viewport height determines the composition as well as its width. */
@media screen{
 .hero{height:100vh;height:100dvh;min-height:0}
 .hero-content{flex:0 0 auto;gap:clamp(24px,8vh,90px);gap:clamp(24px,8dvh,90px);margin-block:0 clamp(28px,7.4vh,80px);margin-block:0 clamp(28px,7.4dvh,80px)}
 .hero-main{min-height:0}
 .hero h1{font-size:min(var(--hero-type),calc((100vw - var(--gutter)*2)/6),24vh);font-size:min(var(--hero-type),calc((100vw - var(--gutter)*2)/6),24dvh)}
 .hero-art{width:min(860px,calc(100% - var(--gutter)*2),105vh);width:min(860px,calc(100% - var(--gutter)*2),105dvh);height:auto;aspect-ratio:3/2;max-width:none;bottom:clamp(20px,4.5vh,54px);bottom:clamp(20px,4.5dvh,54px)}
}
@media screen and (max-width:991px){
 .hero-content{flex:1;justify-content:space-between;gap:20px;margin-top:clamp(100px,12vh,135px);margin-top:clamp(100px,12dvh,135px);margin-bottom:clamp(28px,6vh,62px);margin-bottom:clamp(28px,6dvh,62px)}
 .hero-copy>p{font-size:clamp(18px,2.6vh,22px);font-size:clamp(18px,2.6dvh,22px)}
 .hero-project-link{gap:clamp(12px,3vh,28px);gap:clamp(12px,3dvh,28px)}
 .hero h1{font-size:min(100px,14.2vw,18vh);font-size:min(100px,14.2vw,18dvh)}
 .hero-art{width:min(660px,calc(100% - var(--gutter)*2),105vh);width:min(660px,calc(100% - var(--gutter)*2),105dvh);bottom:clamp(80px,13vh,130px);bottom:clamp(80px,13dvh,130px)}
}
@media screen and (max-width:767px){
 .hero h1{font-size:min(80px,14.2vw,16vh);font-size:min(80px,14.2vw,16dvh)}
 .hero-art{width:min(560px,calc(100% - var(--gutter)*2),90vh);width:min(560px,calc(100% - var(--gutter)*2),90dvh)}
}
@media screen and (max-width:479px){
 .hero-content{margin-top:clamp(94px,14vh,113px);margin-top:clamp(94px,14dvh,113px);margin-bottom:clamp(28px,6vh,50px);margin-bottom:clamp(28px,6dvh,50px);gap:12px}
 .hero-main{gap:clamp(12px,2.4vh,24px);gap:clamp(12px,2.4dvh,24px)}
 .hero-eyebrow{margin-bottom:clamp(6px,1.2vh,12px);margin-bottom:clamp(6px,1.2dvh,12px)}
 .hero-project-link{gap:clamp(10px,2.1vh,22px);gap:clamp(10px,2.1dvh,22px);padding:clamp(12px,1.9vh,16px);padding:clamp(12px,1.9dvh,16px)}
 .hero-project-link strong{font-size:clamp(22px,3.2vh,27px);font-size:clamp(22px,3.2dvh,27px)}
 .hero h1{font-size:min(50px,calc((100vw - var(--gutter)*2)/6),7.5vh);font-size:min(50px,calc((100vw - var(--gutter)*2)/6),7.5dvh)}
 .hero-art{width:min(400px,calc(100% - var(--gutter)*2),42vh);width:min(400px,calc(100% - var(--gutter)*2),42dvh);bottom:calc(clamp(28px,6vh,50px) + min(45px,6.75vh) + 16px);bottom:calc(clamp(28px,6dvh,50px) + min(45px,6.75dvh) + 16px)}
}
@media screen and (min-width:480px) and (max-width:991px) and (max-height:600px){
 .hero-content{margin-top:94px;margin-bottom:clamp(24px,6vh,36px);margin-bottom:clamp(24px,6dvh,36px);gap:12px}
 .hero-copy>p{font-size:18px;line-height:1.3}
 .hero-eyebrow{font-size:10px;margin-bottom:6px}
 .hero-project-link{padding:12px;gap:10px;flex-basis:205px;width:205px}
 .hero-project-link>p{font-size:12px;line-height:1.4}
 .hero-project-link strong{font-size:22px}
 .hero-project-link>div>span>span{font-size:10px}
 .hero h1{font-size:min(80px,14.2vw,14vh);font-size:min(80px,14.2vw,14dvh)}
 .hero-art{width:min(480px,calc(100% - var(--gutter)*2),max(90px,calc(100vh - 300px)));width:min(480px,calc(100% - var(--gutter)*2),max(90px,calc(100dvh - 300px)));bottom:calc(clamp(24px,6vh,36px) + min(72px,12.6vh) + 12px);bottom:calc(clamp(24px,6dvh,36px) + min(72px,12.6dvh) + 12px)}
}
