/* Public studio pages only. The theme comes from estudio-home.css. */
.studio-page .studio-page-hero { min-height: 660px; padding-top: 160px; padding-bottom: 80px; }
.studio-page .studio-page-hero .studio-hero-content { padding-top: 0; }
.studio-page .studio-page-hero .studio-hero-title { font-size: clamp(48px,6.5vw,92px); max-width: 17ch; }
.studio-page .studio-page-hero .studio-hero-intro { max-width: 52ch; margin-bottom: 20px; }
.studio-page .studio-hero-plain { background: radial-gradient(ellipse at 90% 10%,#292017,transparent 60%),#0f0f0f; border-bottom: 1px solid var(--studio-line); }
.studio-page .studio-hero-plain::after { content: 'G / ESTUDIO'; position: absolute; right: 6vw; bottom: 45px; font-size: 10px; letter-spacing: .22em; color: #776754; }
.studio-page #contenido { scroll-margin-top: 100px; }
.studio-page .studio-label-muted { color: #aaa297; }
.studio-page .studio-page-band { background: #151513; border-block: 1px solid var(--studio-line); }
.studio-page .studio-wide-media { height: clamp(300px,41vw,590px); }
.studio-page .studio-about-note { display: grid; grid-template-columns: 1.2fr .8fr; gap: 60px; margin-top: 35px; align-items: start; }
.studio-page .studio-about-note .studio-label { padding-top: 5px; }
.studio-page .studio-editorial-row { display: grid; grid-template-columns: 1fr 1.05fr; gap: 80px; align-items: center; }
.studio-page .studio-editorial-row-reverse { grid-template-columns: 1.05fr 1fr; }
.studio-page .studio-editorial-row .studio-label { margin-bottom: 25px; }
.studio-page .studio-editorial-row .studio-title { margin-bottom: 28px; }
.studio-page .studio-editorial-row .studio-text-link { margin-top: 25px; }
.studio-page .studio-editorial-row .studio-copy + .studio-copy { margin-top: 22px; }
.studio-page .studio-editorial-row .studio-quote { font-size: clamp(19px,1.8vw,25px); line-height: 1.7; }
.studio-page .studio-tall-media { aspect-ratio: .8; min-height: 430px; max-height: 680px; }
.studio-page .studio-team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; margin-top: 55px; }
.studio-page .studio-person:nth-child(even) { margin-top: 90px; }
.studio-page .studio-person-image { aspect-ratio: .87; height: auto; }
.studio-page .studio-person-image img { object-position: center 25%; }
.studio-page .studio-person-copy { padding-top: 25px; }
.studio-page .studio-person-name { font-size: clamp(25px,3vw,40px); font-weight: 300; line-height: 1.2; margin-bottom: 15px; }
.studio-page .studio-person-copy .studio-copy { margin-top: 22px; }
.studio-page .studio-contact-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 80px; align-items: start; }
.studio-page .studio-contact-image { height: 780px; }
.studio-page .studio-contact-layout .studio-title { margin: 24px 0; }
.studio-page .studio-service-nav { display: flex; flex-wrap: wrap; gap: 16px 35px; padding-top: 20px; }
.studio-page .studio-service-nav .studio-text-link { font-size: 11px; }
.studio-page .studio-service-detail { scroll-margin-top: 100px; }
.studio-page .studio-detail-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; margin-top: 40px; }
.studio-page .studio-capabilities { display: grid; grid-template-columns: 1fr 1fr; gap: 0 25px; margin-top: 24px; }
.studio-page .studio-capabilities li { font-size: 11px; padding-block: 12px; color: #d4b894; border-bottom: 1px solid var(--studio-line); }
.studio-page .studio-case-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 36px; margin-top: 50px; }
.studio-page .studio-case-summary { position: relative; padding: 28px 32px 28px 0; border-top: 1px solid var(--studio-line); }
.studio-page .studio-case-summary .studio-project-title { margin-bottom: 15px; }
.studio-page .studio-case-arrow { position: absolute; right: 0; bottom: 25px; color: var(--studio-bronze); }
.studio-page .studio-case-summary:hover { border-top-color: var(--studio-bronze); }
.studio-page .studio-case-image { display: none; height: 220px; margin-bottom: 24px; }
.studio-page .studio-case-image:has(img[src]),.studio-page .studio-case-image:has(video[src]),.studio-page.admin-mode-active .studio-case-image { display: block; }
.studio-page .studio-filters { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 45px; }
.studio-page .studio-filters button { background: transparent; border: 1px solid #594a39; color: #d1c8bb; padding: 14px 18px; min-height: 46px; font: 400 11px/1.5 Montserrat,sans-serif; cursor: pointer; transition: border-color .2s,background .2s; }
.studio-page .studio-filters button:hover { border-color: var(--studio-bronze); }
.studio-page .studio-filters button[aria-pressed="true"] { background: var(--studio-bronze); border-color: var(--studio-bronze); color: #0f0f0f; }
.studio-page .studio-project-count { font-size: 11px; color: #bdb8b1; }
.studio-page .studio-portfolio-grid { grid-template-columns: 1fr 1fr; gap: 50px 40px; }
.studio-page .studio-portfolio-grid .studio-project:nth-child(even) { margin-top: 0; }
.studio-page .studio-portfolio-grid .studio-project-frame { aspect-ratio: 1.2; }
.studio-page .studio-project[hidden],.studio-page .studio-portfolio-empty[hidden] { display: none; }
.studio-page .studio-portfolio-empty { padding: 45px; border: 1px solid var(--studio-line); }
.studio-page .studio-portfolio-empty .studio-text-link { margin-top: 20px; }
.studio-page .studio-media .placeholder-text { font-size: 11px; letter-spacing: .18em; color: #b7a385; }
.studio-page .studio-contact-hero { min-height: 525px; padding-bottom: 65px; }
.studio-page .studio-contact-section { padding-top: 70px; }
.studio-page .studio-contact-aside > .studio-copy { max-width: 42ch; }
.studio-page .studio-contact-aside .studio-button { margin-top: 30px; }
.studio-page .studio-contact-phone { display: block; font-size: 13px; margin-top: 22px; color: #d7c5af; }
.studio-page .studio-contact-options { margin-top: 45px; }
.studio-page .studio-contact-option { border-top: 1px solid var(--studio-line); padding: 25px 0; }
.studio-page .studio-contact-option .studio-step-title { margin: 0 0 12px; font-size: 17px; }
.studio-page .studio-mail-link { display: inline-block; color: #e7bd88; font-size: 12px; letter-spacing: .08em; overflow-wrap: anywhere; margin-top: 15px; }
.studio-page .studio-form-panel { border: 1px solid var(--studio-line); background: #151513; padding: 35px; }
.studio-page .studio-form-note { font-size: 11px; margin-top: 18px; }
.studio-page .studio-inquiry { display: grid; gap: 22px; margin-top: 30px; }
.studio-page .studio-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.studio-page .studio-inquiry label { display: block; font-size: 11px; font-weight: 400; margin-bottom: 10px; color: #e3d9cc; }
.studio-page .studio-field-optional { color: #b9b0a4; }
.studio-page .studio-inquiry :is(input,textarea) { display: block; width: 100%; min-width: 0; padding: 15px; border: 1px solid #5b4e40; border-radius: 0; background: #111210; color: var(--studio-paper); font: 400 13px/1.6 Montserrat,sans-serif; }
.studio-page .studio-inquiry :is(input,textarea):focus-visible { outline: 2px solid var(--studio-bronze); outline-offset: 2px; }
.studio-page .studio-inquiry :is(input,textarea)::placeholder { color: #aea69a; font-size: 11px; }
.studio-page .studio-inquiry textarea { resize: vertical; min-height: 140px; }
.studio-page .studio-inquiry .studio-form-trap { display: none; }
.studio-page .studio-submit { width: 100%; cursor: pointer; background: var(--studio-bronze); color: var(--studio-ink); font-weight: 600; }
.studio-page .studio-submit:hover { background: #efac5d; }
.studio-page .studio-submit:disabled { opacity: .65; cursor: wait; }
.studio-page .studio-form-status { font-size: 12px; line-height: 1.8; margin: 0; }
.studio-page .studio-form-status:empty { display: none; }
.studio-page .studio-form-status[data-state="success"] { color: #9bd6b1; }
.studio-page .studio-form-status[data-state="error"] { color: #ffb8a3; }
.studio-page .studio-form-legal { font-size: 10px; line-height: 1.8; color: #b8b0a6; }
.studio-page .studio-form-legal a { text-decoration: underline; text-underline-offset: 3px; color: #e8d6c0; }
.studio-page.admin-mode-active .studio-hero-plain::after { display: none; }
@media (max-width: 1000px) {
 .studio-page .studio-editorial-row,.studio-page .studio-contact-layout { gap: 40px; }
 .studio-page .studio-case-grid { grid-template-columns: 1fr 1fr; }
 .studio-page .studio-contact-image { height: 680px; }
 .studio-page .studio-form-panel { padding: 25px; }
}
@media (max-width: 800px) {
 .studio-page .studio-editorial-row,.studio-page .studio-editorial-row-reverse,.studio-page .studio-detail-copy,.studio-page .studio-contact-layout,.studio-page .studio-about-note { grid-template-columns: 1fr; gap: 30px; }
 .studio-page .studio-editorial-row .studio-tall-media { aspect-ratio: 1.35; min-height: 340px; }
 .studio-page .studio-contact-image { height: 400px; }
 .studio-page .studio-about-note .studio-copy { max-width: 65ch; }
 .studio-page .studio-team-grid { gap: 30px; }
 .studio-page .studio-person:nth-child(even) { margin-top: 55px; }
 .studio-page .studio-contact-aside > .studio-copy { max-width: 60ch; }
}
@media (max-width: 600px) {
 .studio-page .studio-page-hero { min-height: 620px; padding-top: 165px; padding-bottom: 60px; }
 .studio-page .studio-page-hero .studio-hero-title { font-size: clamp(40px,10.5vw,62px); max-width: 17ch; }
 .studio-page .studio-hero-plain::after { bottom: 22px; }
 .studio-page .studio-page-hero .studio-hero-intro { max-width: 40ch; }
 .studio-page .studio-section-top .studio-label-muted { display: none; }
 .studio-page .studio-wide-media { height: 290px; }
 .studio-page .studio-team-grid { grid-template-columns: 1fr; gap: 45px; margin-top: 35px; }
 .studio-page .studio-person:nth-child(even) { margin-top: 0; }
 .studio-page .studio-person-image { aspect-ratio: 1; }
 .studio-page .studio-service-nav { flex-direction: column; gap: 5px; padding-top: 10px; }
 .studio-page .studio-case-grid { grid-template-columns: 1fr; margin-top: 35px; }
 .studio-page .studio-portfolio-grid { grid-template-columns: 1fr; gap: 35px; }
 .studio-page .studio-filters { gap: 10px; margin-bottom: 35px; }
 .studio-page .studio-filters button { font-size: 10px; padding: 12px; }
 .studio-page .studio-portfolio-empty { padding: 25px; }
 .studio-page .studio-contact-hero { min-height: 480px; padding-bottom: 45px; }
 .studio-page .studio-contact-section { padding-top: 45px; }
 .studio-page .studio-form-row { grid-template-columns: 1fr; gap: 22px; }
 .studio-page .studio-form-panel { padding: 24px; }
 .studio-page .studio-contact-layout .studio-title { font-size: 34px; }
}
