/* Low-contrast, edge-only brand texture; never sits over controls. */
body{position:relative;isolation:isolate}
nav>a.quote{display:inline-flex;padding:14px 24px}
nav>a.quote::after{display:none}
footer{flex-wrap:wrap;gap:24px}
.instagram-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:700px){nav>a.quote{padding:11px 15px}}
body::before{content:'';position:fixed;inset:-18px;z-index:-1;pointer-events:none;background:url('assets/veins-texture.jpg') center/cover no-repeat;opacity:.4;mix-blend-mode:screen;filter:url('#vein-flow');animation:veins-awaken 2400ms cubic-bezier(.2,.7,.3,1) both,veins-breathe 9s 2400ms ease-in-out infinite}
.vein-filter-defs{position:absolute;pointer-events:none}
.intro-growing-veins{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;filter:url('#vein-flow');mix-blend-mode:screen;pointer-events:none}
.vein-growth-ready .intro-curtain::before{display:none}
.intro-curtain::before{content:'';position:absolute;inset:-18px;background:url('assets/veins-texture.jpg') center/cover no-repeat;opacity:.7;filter:url('#vein-flow');animation:veins-awaken 950ms 30ms cubic-bezier(.2,.7,.3,1) both}
@keyframes veins-awaken{0%{opacity:0;clip-path:polygon(0 0,0 0,0 0,100% 100%,100% 100%,100% 100%)}100%{opacity:.4;clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,0 100%,0 0)}}
@keyframes veins-breathe{0%,100%{transform:scale(1);opacity:.4}50%{transform:scale(1.025);opacity:.52}}
.intro-curtain::before{animation-name:intro-veins-awaken}
@keyframes intro-veins-awaken{from{opacity:0;transform:scale(1.08);clip-path:polygon(0 0,0 0,0 0,100% 100%,100% 100%,100% 100%)}to{opacity:.7;transform:scale(1);clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,0 100%,0 0)}}
.vein-motion-toggle{font-size:12px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:20px;padding:9px 13px;cursor:pointer}
.veins-paused body::before{animation-play-state:paused;filter:none}
.veins-paused .intro-curtain::before{animation:none;filter:none}
.services{background:#111114c9}
/* Softer neutral reading text; retain pink headings and the existing 3D layer. */
.hero-description p,.studio-copy p,.service-panel p,.method-steps p{color:#e7e3e5}
.service-tags{color:#bfb8bc}
/* Less scroll travel, preserving all five chapters and direct navigation. */
@media(prefers-reduced-motion:no-preference){
 .enhanced .services{height:360svh}
}
@media(max-width:600px) and (prefers-reduced-motion:no-preference){
 .enhanced .services{height:330svh}
}
.enhanced .service-art{opacity:.12}
.enhanced .service-panel{width:46%}.enhanced .service-panel:nth-child(even){left:54%;width:46%}
.service-panel h2{font-size:clamp(38px,4.4vw,68px)}
.service-visual{position:relative;margin:30px 0 0;width:min(100%,520px);height:440px;border:1px solid #ffffff20;border-radius:18px;overflow:hidden;background:#19151a;box-shadow:0 24px 70px #0006;isolation:isolate}
.enhanced .service-visual{position:absolute;left:119%;top:50%;width:98%;height:min(60vh,540px);max-height:100%;margin:0;transform:translateY(-50%) rotate(3deg)}
.enhanced .service-panel:nth-child(even) .service-visual{left:auto;right:119%;transform:translateY(-50%) rotate(-3deg)}
.service-visual>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.65,.2,1)}
.service-panel[aria-hidden=false] .service-visual>img{transform:scale(1.035)}
.service-visual::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#09080bf2);z-index:1;pointer-events:none}
.service-visual figcaption{position:absolute;z-index:2;bottom:24px;left:24px;right:20px;color:#fff}
.service-visual figcaption strong{font-size:13px;line-height:1.5;letter-spacing:.08em;font-weight:400;display:block}
.service-visual figcaption small{display:block;font-size:12px;color:#d9b7c7;margin-top:7px}
.visual-advertising>img{object-position:75% center;filter:saturate(.65)}
.campaign-tag{position:absolute;z-index:2;left:18px;right:18px;top:20px;border:1px solid #ffffff50;background:#0b0b0dcc;color:#fff;padding:12px;font-size:11px;letter-spacing:.05em}
.visual-web{background:#ec619b20}.visual-web>img{object-fit:contain;object-position:center}.visual-web::after{inset:75% 0 0}
@media(max-width:900px) and (min-width:601px){.enhanced .service-visual{height:380px}.service-panel h2{font-size:38px}.service-visual figcaption{left:15px;bottom:18px}}
@media(max-width:600px){
 body::before{background-size:auto 100%;background-position:35% center}
 .enhanced .services-sticky{min-height:790px}
 .enhanced .service-panels{inset:325px 6% 135px}
 .enhanced .service-panel,.enhanced .service-panel:nth-child(even){left:0;width:100%}
 .enhanced .service-visual,.enhanced .service-panel:nth-child(even) .service-visual{left:0;right:auto;top:-245px;width:100%;height:215px;max-height:none;transform:none;border-radius:12px}
 .service-visual>img{object-position:center 43%}.visual-strategia>img{object-position:center}.visual-web>img{object-fit:cover;object-position:top}
 .service-visual figcaption{left:16px;bottom:12px}.service-visual figcaption strong{font-size:11px}.service-visual figcaption small{font-size:10px;margin-top:2px}
 .service-panel h2{font-size:clamp(31px,8.5vw,40px)}.service-panel p{font-size:14px;margin:15px 0}.service-kicker{margin-bottom:12px}
 .campaign-tag{font-size:9px;padding:8px;top:10px;left:10px;right:auto}
}
@media(prefers-reduced-motion:reduce){
 body::before,.intro-curtain::before{animation:none!important;filter:none!important;transform:none!important;clip-path:none!important}
 .enhanced .service-panel,.enhanced .service-panel:nth-child(even){left:auto;width:100%}
 .enhanced .service-visual,.enhanced .service-panel:nth-child(even) .service-visual{position:relative;inset:auto;transform:none;width:100%;height:300px;margin-top:25px}
 .service-visual>img{transition:none;transform:none!important}
}
