/* Estudio page — dark hero/philosophy/capabilities/principles/cta sections + theme-toned
   statement/team/footer sections. Fonts + shared chrome (header/theme-bar/menu/reveal keyframes)
   come from site.css; this file only adds Estudio-specific layout + the [data-*] interaction CSS
   ported verbatim from the design spec. */

.rs-num{color:#00D663}

/* ---------- HERO ---------- */
.rs-eshero{position:relative;height:100svh;overflow:hidden;background:#050505}
.rs-eshero__img{position:absolute;top:-18vh;left:0;right:0;width:100%;height:136%;object-fit:cover;filter:grayscale(0.2) contrast(1.04)}
.rs-eshero__scrim{position:absolute;inset:0;background:rgba(5,5,5,0.42)}
.rs-eshero__content{position:absolute;left:0;right:0;bottom:clamp(64px,11vh,132px);padding:0 clamp(18px,3vw,44px);max-width:94vw}
.rs-eshero__title{margin:0;font-family:'Lustra',serif;font-weight:900;font-size:clamp(24px,5.2vw,112px);line-height:0.98;letter-spacing:-0.035em;text-transform:uppercase;color:#F7F7F5}
.rs-eshero__title [data-line]{display:block;animation-delay:260ms}
.rs-eshero__title [data-line]:nth-child(2){animation-delay:360ms}
.rs-eshero__title [data-line]:nth-child(3){animation-delay:460ms}

@keyframes heroPar{from{transform:translate3d(0,0,0) scale(1.03)}to{transform:translate3d(0,16vh,0) scale(1.03)}}
@supports (animation-timeline: view()){
	[data-heroimg]{animation:heroPar 1ms linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
}

/* ---------- PHILOSOPHY ---------- */
.rs-phil{background:#050505;color:#F7F7F5;padding:clamp(64px,11vh,132px) clamp(18px,3vw,44px)}
.rs-phil__grid{display:grid;grid-template-columns:minmax(140px,1.6fr) minmax(0,9fr);gap:clamp(22px,3.4vh,40px) clamp(24px,4vw,80px);padding-top:clamp(22px,3.4vh,40px);border-top:1px solid #2B2B29}
.rs-phil__label{grid-column:1;display:flex;gap:14px;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:#8E8E8A}
.rs-phil__body{grid-column:2;display:flex;flex-direction:column;gap:clamp(18px,2.4vh,30px)}
.rs-phil__lead{margin:0;max-width:36ch;font-family:'Lustra',serif;font-weight:300;font-size:clamp(20px,2.2vw,40px);line-height:1.14;letter-spacing:-0.02em}
.rs-phil__highlight{color:#F7F7F5;transition:color 400ms linear}
.rs-phil__highlight.is-active{color:#00D663}
.rs-phil__sub{margin:0;max-width:62ch;font-size:clamp(13px,0.95vw,16px);line-height:1.5;color:#B9B9B4}

@media (max-width: 860px){
	.rs-phil__grid{grid-template-columns:1fr;gap:clamp(16px,3vh,24px)}
}

/* ---------- CAPABILITIES ---------- */
.rs-caps{background:#050505;color:#F7F7F5;padding:0 clamp(18px,3vw,44px) clamp(64px,11vh,132px)}
.rs-caps__grid{display:grid;grid-template-columns:minmax(140px,1.6fr) minmax(0,9fr);gap:0 clamp(24px,4vw,80px);padding-top:clamp(22px,3.4vh,40px);border-top:1px solid #2B2B29}
.rs-caps__label{grid-column:1;grid-row:1 / span 4;display:flex;gap:14px;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:#8E8E8A}
.rs-caps__row{grid-column:2;display:flex;gap:clamp(14px,1.6vw,26px);padding:clamp(20px,2.8vh,34px) 0;border-bottom:1px solid #2B2B29;color:inherit}
.rs-caps__text{display:flex;flex-direction:column;gap:12px}
.rs-caps__name{font-family:'Lustra',serif;font-weight:300;font-size:clamp(20px,2.25vw,40px);line-height:0.98;letter-spacing:-0.025em;text-transform:uppercase;transition:color 300ms linear}
.rs-caps__desc{max-width:34ch;font-size:clamp(12px,0.95vw,16px);line-height:1.5;color:#B9B9B4}

[data-capimg]{width:0;height:clamp(110px,12vw,200px);opacity:0;overflow:hidden;flex:none;transition:width 460ms cubic-bezier(0.16,1,0.3,1),opacity 300ms linear}
[data-capimg] img{width:clamp(150px,16vw,280px);height:100%;object-fit:cover}
[data-cap]:hover [data-capimg],[data-cap]:focus-visible [data-capimg]{width:clamp(150px,16vw,280px);opacity:1}
[data-cap]:hover [data-capname],[data-cap]:focus-visible [data-capname]{color:#00D663}

@media (max-width: 860px){
	.rs-caps__grid{grid-template-columns:1fr}
	.rs-caps__label{grid-row:auto;padding-bottom:8px}
	.rs-caps__row{grid-column:1}
}

/* ---------- STATEMENT ---------- */
.rs-statement{background:var(--bg);color:var(--fg);padding:clamp(64px,11vh,132px) clamp(18px,3vw,44px) 0;transition:background-color 400ms linear,color 300ms linear}
.rs-statement__title{margin:0;font-family:'Lustra',serif;font-weight:700;font-size:clamp(30px,5vw,92px);line-height:0.94;letter-spacing:-0.035em;text-transform:uppercase}
.rs-statement__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(20px,2.4vw,40px);margin-top:clamp(22px,3.4vh,40px)}
.rs-statement__p{margin:0;grid-column:1 / span 4;font-size:clamp(13px,1vw,17px);line-height:1.55}
.rs-statement__p--fg{color:var(--fg)}
.rs-statement__p--dim{grid-column:7 / span 4;color:var(--dim)}

@media (max-width: 860px){
	.rs-statement__grid{grid-template-columns:1fr}
	.rs-statement__p,.rs-statement__p--dim{grid-column:1}
}

/* ---------- TEAM ---------- */
.rs-team{background:var(--bg);color:var(--fg);padding:clamp(48px,8vh,96px) clamp(18px,3vw,44px) clamp(64px,11vh,132px);transition:background-color 400ms linear,color 300ms linear}
.rs-team__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4vw,64px)}
.rs-team__member--offset{margin-top:14vh}
.rs-team__portrait{position:relative;aspect-ratio:4 / 5;overflow:hidden;background:var(--mute)}
.rs-team__portrait img{width:100%;height:100%;object-fit:cover;clip-path:inset(0 0 0 0)}
.rs-team__name{margin:clamp(18px,2.4vh,28px) 0 8px;font-family:'Lustra',serif;font-weight:500;font-size:clamp(24px,2.6vw,44px);letter-spacing:-0.02em}
.rs-team__role{margin:0 0 16px;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--dim)}
.rs-team__social{display:flex;gap:16px}
.rs-team__social a{font-size:12px;letter-spacing:0.06em;text-decoration:underline;text-underline-offset:3px;color:inherit;transition:color 200ms linear}
.rs-team__social a:hover{color:#00D663}

@keyframes teamWipe{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@supports (animation-timeline: view()){
	.rs-team__portrait img{animation:teamWipe 1ms linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
	.rs-team__member--offset .rs-team__portrait img{animation-delay:140ms}
}

@media (max-width: 860px){
	.rs-team__grid{grid-template-columns:1fr;gap:clamp(40px,10vh,64px)}
	.rs-team__member--offset{margin-top:48px}
}

/* ---------- PRINCIPLES ("Cómo trabajamos") ---------- */
.rs-principles{background:#050505;color:#F7F7F5;padding:clamp(64px,11vh,132px) clamp(18px,3vw,44px)}
.rs-principles__title{margin:0;font-family:'Lustra',serif;font-weight:700;font-size:clamp(30px,5vw,92px);line-height:0.94;letter-spacing:-0.035em;text-transform:uppercase}
.rs-principles__list{margin-top:clamp(22px,3.4vh,40px);border-top:1px solid #2B2B29}

.rs-pr{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:clamp(24px,4vw,80px);border-bottom:1px solid #2B2B29;padding:clamp(20px,2.8vh,34px) 0;color:#F7F7F5;transition:color 300ms linear}
.rs-pr__trigger{grid-column:1;grid-row:1;display:flex;align-items:baseline;gap:clamp(14px,1.6vw,26px);width:100%;background:none;border:none;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit;text-align:left}
.rs-pr__num{flex:none;font-family:'Kern',sans-serif;font-size:clamp(12px,1vw,16px);letter-spacing:0.06em;color:#8E8E8A;transition:color 300ms linear}
.rs-pr__name{font-family:'Lustra',serif;font-weight:300;font-size:clamp(22px,2.6vw,48px);line-height:1.05;letter-spacing:-0.02em;text-transform:uppercase;transition:color 300ms linear}
.rs-pr__body{grid-column:1;grid-row:2;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 620ms cubic-bezier(0.16,1,0.3,1),opacity 380ms linear}
.rs-pr__bodyinner{overflow:hidden}
.rs-pr__bodyinner p{margin:14px 0 0;max-width:56ch;font-size:clamp(13px,0.95vw,16px);line-height:1.5;color:#B9B9B4}
.rs-pr__thumb{grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:end;width:clamp(180px,20vw,320px);display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;transition:grid-template-rows 620ms cubic-bezier(0.16,1,0.3,1),opacity 420ms linear}
.rs-pr__thumbinner{overflow:hidden}
.rs-pr__thumbinner img{width:100%;aspect-ratio:16 / 10;object-fit:cover}

[data-pr][data-open="1"] [data-prname],[data-pr]:hover [data-prname],[data-pr]:focus-within [data-prname]{color:#00D663}
[data-pr][data-open="1"] [data-prnum],[data-pr]:hover [data-prnum],[data-pr]:focus-within [data-prnum]{color:#00D663}
[data-pr]:hover [data-prbody],[data-pr]:focus-within [data-prbody],[data-pr][data-open="1"] [data-prbody]{grid-template-rows:1fr;opacity:1}
[data-pr]:hover [data-prthumb],[data-pr]:focus-within [data-prthumb],[data-pr][data-open="1"] [data-prthumb]{grid-template-rows:1fr;opacity:1}

@media (hover: none){
	[data-pr] [data-prbody]{grid-template-rows:1fr;opacity:1}
}
@media (prefers-reduced-motion: reduce){
	[data-pr] [data-prbody]{grid-template-rows:1fr;opacity:1}
	[data-pr] [data-prthumb]{grid-template-rows:1fr;opacity:1}
	[data-pr],[data-pr] *{transition:none!important}
	.rs-team__portrait img{animation:none!important}
}

@media (max-width: 860px){
	.rs-pr__thumb{display:none}
	.rs-pr{grid-template-columns:1fr}
}

/* ---------- CTA ---------- */
.rs-cta{background:#050505;color:#F7F7F5;padding:clamp(64px,11vh,132px) clamp(18px,3vw,44px);display:flex;flex-direction:column;gap:clamp(28px,4vh,48px);transition:background-color 500ms cubic-bezier(0.16,1,0.3,1),color 300ms linear}
.rs-cta__title{margin:0;font-family:'Lustra',serif;font-weight:700;font-size:clamp(30px,5vw,92px);line-height:0.94;letter-spacing:-0.035em;text-transform:uppercase}
.rs-cta__links{display:flex;flex-direction:column;gap:clamp(14px,2vh,22px)}
.rs-cta__link{align-self:flex-start;font-family:'Lustra',serif;font-weight:400;font-size:clamp(20px,2.4vw,40px);letter-spacing:-0.015em;color:inherit;border-bottom:2px solid currentColor;padding-bottom:2px}
.rs-cta__mail{align-self:flex-start;font-family:'Kern',sans-serif;font-weight:500;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:inherit;opacity:0.8;transition:opacity 200ms linear}
.rs-cta__mail:hover{opacity:1}

.rs-cta:has(.rs-cta__link:hover),.rs-cta:has(.rs-cta__link:focus-visible){background-color:#00D663;color:#050505}

/* ---------- FOOTER ---------- */
.rs-footer{border-top:1px solid var(--mute);background:var(--bg);color:var(--fg);padding:clamp(48px,8vh,96px) clamp(18px,3vw,44px) clamp(24px,4vh,40px);transition:background-color 400ms linear,color 300ms linear}
.rs-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(24px,4vw,60px)}
.rs-footer__logo img{height:22px;width:auto}
.rs-footer__heading{margin:0 0 16px;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--dim)}
.rs-footer__col{display:flex;flex-direction:column;gap:10px}
.rs-footer__col a,.rs-footer__col span{font-size:13px;letter-spacing:0.01em;color:inherit}
.rs-footer__col a{transition:color 200ms linear}
.rs-footer__col a:hover{color:#00D663}
.rs-footer__col a.is-current{color:#00D663}

.rs-footer__bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:clamp(48px,8vh,96px);padding-top:20px;border-top:1px solid var(--mute)}
.rs-footer__copy{margin:0;font-size:11px;letter-spacing:0.06em;color:var(--dim)}
.rs-footer__legal{display:flex;gap:20px}
.rs-footer__legal a{font-size:11px;letter-spacing:0.06em;color:var(--dim);transition:color 200ms linear}
.rs-footer__legal a:hover{color:#00D663}

@media (max-width: 860px){
	.rs-footer__grid{grid-template-columns:1fr 1fr;row-gap:clamp(28px,5vh,40px)}
	.rs-footer__logo{grid-column:1 / -1}
}
