/* Ajustes sobre el diseño original: se conserva la experiencia animada. */
.hero__actions{position:absolute;bottom:28px;left:var(--gutter);right:var(--gutter);display:flex;gap:22px;align-items:center;flex-wrap:wrap;pointer-events:auto;font-family:var(--mono);font-size:13px}.hero__actions button{padding:12px 18px;border:1px solid #e93397;border-radius:30px;background:#e93397;color:#140b11}.hero__actions a{text-decoration:underline;text-underline-offset:5px}.hero .scroll-cue{display:none}.works__stage,.works__ui,.works__smoke{visibility:hidden!important;pointer-events:none!important}.works__pending{position:absolute;inset:12% 8% 16%;z-index:12;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#181016;pointer-events:auto}.works__pending h2{font:400 clamp(38px,6vw,88px)/1.02 var(--serif);letter-spacing:-.025em;text-transform:none;margin:22px 0}.works__pending>p:not(.mono){max-width:520px;font:16px/1.7 var(--sans);text-transform:none}.works__pending button{margin-top:26px;border-bottom:1px solid;padding:10px;font:14px/1.5 var(--mono)}.article__body p,.article__body li,.service-intro,.service-lead{font-family:var(--sans);text-transform:none;line-height:1.7}.form input,.form textarea,.form select{font-family:var(--sans);text-transform:none}a:focus-visible,button:focus-visible{outline:2px solid #e93397;outline-offset:5px}.about__statement{text-transform:none}.hero__actions a:hover{color:#ff9cd3}@media(max-width:600px){.hero__actions{bottom:24px;gap:12px;font-size:12px}.hero__actions button{padding:10px 12px}.hero__title{padding-bottom:55px}.works__pending{inset:10% 6% 20%}.works__pending h2{font-size:42px}.works__foot{font-size:10px}}

/* Tipografía original fina, con textos en minúsculas. */
body{font-family:var(--sans);font-weight:400;text-transform:lowercase}
body :is(h1,h2,h3,h4,p,a,button,label,legend,span,li,input,textarea,select,option){text-transform:lowercase}
.article__body p,.article__body li,.service-intro,.service-lead,.works__pending>p:not(.mono),.form input,.form textarea,.form select{font-family:var(--sans);font-weight:400;text-transform:lowercase;line-height:1.7}
.works__pending h2,.about__statement{ text-transform:lowercase }

/* Texto del estudio con la misma familia fina que Branding. */
.about__statement,.about__statement--lead{font-family:var(--sans);font-style:normal;font-weight:400;font-size:clamp(1rem,1.6vw,1.1rem);line-height:1.7;letter-spacing:normal;text-transform:lowercase}

/* Titular editorial de la presentación del estudio. */
.about__title{font-family:var(--serif);font-size:clamp(3rem,7vw,7.5rem);line-height:.95;max-width:9ch;text-align:right}
.about__title span,.about__title .w,.about__title .wi{text-transform:none}
@media(max-width:760px){.about__title{font-size:clamp(2.8rem,10vw,4.8rem);max-width:9ch}}

/* Titulares editoriales: blanco y mayúsculas en toda la web. */
body :is(h1,h2,h3,h4),body :is(h1,h2,h3,h4) *,body .hero__title,body .hero__title *{color:#fff!important;text-transform:uppercase!important;font-style:normal}
.hero__title,.line{ text-shadow:0 2px 20px rgba(0,0,0,.45) }
/* Mantener el contraste de los títulos blancos en las superficies claras. */

.about__title{max-width:10ch}

/* Pantalla de servicios integrada en el portal original. */
.works{background:#181016;color:#fff}
.works>.noise{opacity:.07}.works::after{background:none}.works__floor,.works__beam{display:none}
.scroll-services{position:absolute;inset:calc(var(--bar,60px) + 25px) 6% 70px;z-index:12;display:grid;grid-template-columns:.8fr 1.2fr;gap:25px 6vw;align-content:center;pointer-events:auto;color:#fff}
.scroll-services__intro .mono{color:#fff;margin:0 0 24px;text-transform:uppercase}
.scroll-services h2{font:400 clamp(38px,4.5vw,72px)/.98 var(--serif);margin:0;letter-spacing:-.025em}
.scroll-services__list{display:flex;flex-direction:column}
.scroll-services__list a{display:grid;grid-template-columns:25px 1fr 25px;gap:18px;align-items:start;border-top:1px solid #ffffff50;padding:20px 0;color:#fff}
.scroll-services__list a:last-child{border-bottom:1px solid #ffffff50}
.scroll-services__list h3{font:400 clamp(25px,2.7vw,43px)/1.05 var(--serif);margin:0;letter-spacing:-.015em}
.scroll-services__list p{font:400 14px/1.4 var(--sans);margin:9px 0 0;text-transform:none;color:#e5dfe2}
.scroll-services__list a>span:last-child{font-size:26px;line-height:1}
.scroll-services__list a:hover{background:#ffffff0d}
.scroll-services__projects{grid-column:1/-1;font:400 12px/1.5 var(--sans);text-transform:none;color:#d0c8cc;max-width:65ch;margin:0}
@media(max-width:760px){.scroll-services{inset:calc(var(--bar,60px) + 18px) 6% 50px;grid-template-columns:1fr;gap:18px;align-content:start}.scroll-services h2{font-size:clamp(30px,6vw,45px)}.scroll-services__intro .mono{margin-bottom:12px}.scroll-services__list a{padding:12px 0;gap:12px}.scroll-services__list h3{font-size:clamp(22px,5vw,30px)}.scroll-services__list p{font-size:12px;margin-top:5px}.scroll-services__projects{font-size:11px}.works__foot{display:none}}
@media(max-height:650px){.scroll-services{inset:80px 5% 35px;gap:12px 4vw;grid-template-columns:.8fr 1.2fr}.scroll-services h2{font-size:34px}.scroll-services__list a{padding:9px 0}.scroll-services__list h3{font-size:24px}.scroll-services__list p{font-size:12px}.scroll-services__projects{font-size:11px}.works__foot{display:none}}

.scroll-services>span[aria-hidden]{position:absolute;width:0;height:0;overflow:hidden}

/* Diez servicios, una tarjeta visible por paso de scroll. */
.scroll-services{grid-template-columns:.8fr 1.2fr;grid-template-rows:auto auto auto;align-content:center;gap:24px 6vw}
.scroll-services__intro{grid-column:1;grid-row:1/3;align-self:start}
.service-sequence{grid-column:2;grid-row:1;position:relative;min-height:330px}
.service-step{position:absolute;inset:0;display:grid;grid-template-columns:40px 1fr;gap:20px;align-content:center;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease,visibility .3s}
.service-step:first-child{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.service-step[aria-hidden="true"]{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-20px)}
.service-step.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.service-step h3{font:400 clamp(30px,3.6vw,55px)/1.06 var(--serif);margin:0 0 22px;overflow-wrap:anywhere}
.service-step h3 a{color:inherit;text-decoration:none}
.service-step p{font:400 clamp(15px,1.5vw,19px)/1.65 var(--sans);text-transform:none;max-width:47ch;margin:0 0 24px;color:#eee7eb}
.service-step__number{font-size:13px;padding-top:5px;color:#fff}
.service-step__link{font:400 14px/1.5 var(--sans);text-transform:uppercase;text-decoration:underline;text-underline-offset:5px}
.service-sequence__controls{grid-column:2;grid-row:2;display:flex;align-items:center;gap:24px;font:14px var(--sans);color:white}
.service-sequence__controls button{border:1px solid #ffffff70;border-radius:50%;width:42px;height:42px;color:white;font-size:23px}
.service-sequence__controls button:disabled{opacity:.3;cursor:default}
.scroll-services__projects{grid-row:3;margin-top:16px}
.noscript-services{position:relative;padding:90px 6vw;color:white;background:#181016;z-index:1000}
@media(max-width:760px){.scroll-services{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;align-content:start;gap:16px;inset:calc(var(--bar,60px) + 22px) 6% 32px}.scroll-services__intro{grid-column:1;grid-row:1}.scroll-services__intro h2{font-size:32px}.service-sequence{grid-column:1;grid-row:2;min-height:290px}.service-step{gap:12px;grid-template-columns:35px 1fr}.service-step h3{font-size:32px;margin-bottom:16px}.service-step p{font-size:15px;margin-bottom:18px}.service-sequence__controls{grid-column:1;grid-row:3}.scroll-services__projects{grid-row:4;font-size:11px;margin:0}}
@media(max-height:650px) and (min-width:761px){.service-sequence{min-height:280px}.service-step h3{font-size:32px}.service-step p{font-size:14px}.scroll-services{inset:80px 5% 30px}}
@media(max-width:760px) and (max-height:700px){.scroll-services{gap:10px;inset:70px 5% 20px}.scroll-services__intro .mono{margin-bottom:7px}.scroll-services__intro h2{font-size:25px}.service-sequence{min-height:260px}.service-step h3{font-size:27px}.service-step p{font-size:14px;line-height:1.5}.scroll-services__projects{display:none}}
@media(prefers-reduced-motion:reduce){.service-step{transition:none;transform:none!important}}

/* Las mismas dos familias del sitio: Instrument Serif y Lekton. */
.service-step p,.article__body p,.article__body li,.service-intro,.service-lead{font-family:var(--sans);font-weight:400;font-style:normal;letter-spacing:normal;font-size:clamp(1rem,1.6vw,1.1rem);line-height:1.7}
/* Títulos sin recuadros; el rosa solo aparece al interactuar. */
body :is(h1,h2,h3,h4){background:transparent;box-shadow:none;padding:0}
body :is(h1,h2,h3,h4):is(:hover,:active,:focus-within,.is-touch-pink),body :is(h1,h2,h3,h4):is(:hover,:active,:focus-within,.is-touch-pink) *{color:#e93397!important}
body .hero__title:is(:hover,:active,.is-touch-pink),body .hero__title:is(:hover,:active,.is-touch-pink) *{color:#e93397!important}
@media(prefers-reduced-motion:no-preference){body :is(h1,h2,h3,h4){transition:color .18s ease}}

/* Accesos visibles en ordenador, además del menú completo. */
.hud__desktop-nav{display:flex;align-items:center;gap:30px;margin-right:22px;pointer-events:auto}
.hud__desktop-nav a{font:400 14px/1.3 var(--sans);text-transform:uppercase;color:#fff;text-decoration:none;white-space:nowrap}
.hud__desktop-nav a:hover,.hud__desktop-nav a:focus-visible{color:#e93397}
.about__statement{font-size:clamp(1.125rem,1.65vw,1.3rem);line-height:1.65}
.about__intro{font:400 clamp(26px,2.8vw,40px)/1.1 var(--serif);margin:0 0 26px;text-shadow:0 1px 5px #0005}
.about__statement--closing{font-weight:700}
.about__statement+.about__statement{margin-top:1.1em}
.about__box{overscroll-behavior:contain}
.studio-entry{position:absolute;inset:0;z-index:8;display:flex;align-items:flex-end;padding:0 var(--gutter) 9vh;visibility:hidden;opacity:0;pointer-events:none}
.studio-entry h2{font:400 clamp(44px,6.5vw,104px)/.96 var(--serif);letter-spacing:-.025em;color:#fff;margin:0;text-shadow:0 2px 28px #000b;max-width:15ch;text-transform:uppercase}
@media(max-width:900px){.hud__desktop-nav{display:none}}
@media(max-width:760px){.about__statement{font-size:18px;line-height:1.55}.about__intro{font-size:27px;margin-bottom:20px}.studio-entry h2{font-size:clamp(38px,9vw,60px)}.studio-entry{padding-bottom:12vh}}

/* Color de marca para el titular del estudio. */
body .about__title,body .about__title *{color:#e93397!important}

/* Pantalla de entrada: marca compacta y presentación breve. */
.loader__logo{width:clamp(160px,24vw,290px)!important;height:auto;max-width:75vw}
.loader__description{font:400 clamp(13px,1.2vw,16px)/1.5 var(--sans);max-width:42ch;margin:24px auto 0;text-align:center;color:#0e0b0c;text-transform:uppercase;letter-spacing:.025em}
.loader__inner{padding:24px;max-width:100%;display:flex;flex-direction:column;align-items:center}
@media(max-width:600px){.loader__description{font-size:13px;max-width:31ch;margin-top:20px}.loader__logo{width:190px!important}}

/* El logo de puntos termina en la imagen original, sin perder nitidez. */
.loader__grain{transition:opacity 1s ease}.loader__logo{transition:opacity 1s ease}
@media(prefers-reduced-motion:reduce){.loader__grain{display:none}.loader__logo{transition:none}}

/* Shared destinations are hidden until their scene has been positioned. */
html.direct-route:not(.route-ready) .experience{opacity:0}
html.direct-route .loader{display:none!important}
/* Rose headings progressively become ink on the light reading surfaces. */
.faq__list .scroll-color-title,.faq__list .scroll-color-title *,body.service-page .scroll-color-title,body.service-page .scroll-color-title *{color:var(--scroll-title-color,#e93397)!important}
body.service-page .scroll-color-title:is(:hover,:focus-within),body.service-page .scroll-color-title:is(:hover,:focus-within) *{color:#e93397!important}
/* Outgoing lettering dissolves into dots; incoming service arrives just after it. */
.service-sequence__dust{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;overflow:visible}
.service-step.is-active{transition:opacity .4s .18s ease,transform .4s .18s ease,visibility 0s .18s}
.service-step[aria-hidden="true"]{transition:opacity .12s ease,transform .12s ease,visibility 0s .12s}
@media(prefers-reduced-motion:reduce){.service-sequence__dust{display:none}.service-step,.service-step.is-active{transition:none!important}}
