/* Homepage art direction. Kept separate from the CMS and other public pages. */
.studio-home { --studio-ink: #0f0f0f; --studio-paper: #fcf5ee; --studio-bronze: #dc8f34; --studio-line: rgba(252,245,238,.15); background: var(--studio-ink); color: var(--studio-paper); }
.studio-home .container { max-width: 1440px; padding-inline: clamp(24px,5vw,80px); }
.studio-home svg { width: 24px; height: 24px; flex-shrink: 0; }
.studio-home :is(a,button):focus-visible { outline: 2px solid var(--studio-bronze); outline-offset: 6px; }
.studio-home .studio-skip { position: fixed; top: 12px; left: 20px; z-index: 10001; padding: 12px 20px; background: var(--studio-paper); color: var(--studio-ink); transform: translateY(-160%); }
.studio-home .studio-skip:focus { transform: none; }
.studio-home .navbar { top: var(--studio-admin-offset,0px); padding: 22px 0; background: rgba(15,15,15,.9); border-color: rgba(252,245,238,.1); }
.studio-home .nav-logo { display: inline-flex; flex-direction: column; font-size: 22px; letter-spacing: .24em; line-height: 1.3; }
.studio-home .studio-logo-note { font-size: 9px; font-weight: 400; letter-spacing: .5em; color: var(--studio-bronze); margin-top: 5px; }
.studio-home .nav-links { gap: clamp(18px,2.5vw,38px); align-items: center; }
.studio-home .nav-link { opacity: .85; font-size: 10px; letter-spacing: .14em; }
.studio-home .studio-client-link { display: flex; align-items: center; gap: 8px; border-left: 1px solid var(--studio-line); padding-left: 24px; }
.studio-home .studio-client-link svg { width: 17px; }
.studio-home .studio-progress { height: 1px; position: absolute; bottom: -1px; left: 0; background: var(--studio-bronze); width: var(--studio-scroll,0%); }
.studio-home .studio-label { display: block; color: var(--studio-bronze); font-size: 10px; font-weight: 500; letter-spacing: .2em; line-height: 1.7; }
.studio-home .studio-hero { position: relative; min-height: 820px; min-height: max(760px,100svh); display: flex; align-items: center; isolation: isolate; padding-top: 110px; padding-bottom: 170px; }
.studio-home .studio-hero-media { position: absolute; inset: 0; height: 100%; width: 100%; z-index: -3; background: #202320; }
.studio-home .studio-media { position: relative; width: 100%; height: 100%; background: #20201e; overflow: hidden; }
.studio-home :is(.studio-hero-media,.studio-media) :is(img,video) { width: 100%; height: 100%; object-fit: cover; display: block; }
.studio-home .studio-hero-media :is(img,video) { object-position: 60% center; }
.studio-home .studio-hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg,rgba(7,10,9,.85),rgba(7,10,9,.4) 50%,rgba(7,10,9,.08)),linear-gradient(0deg,#0f0f0f,transparent 35%); pointer-events: none; }
.studio-home .studio-hero-guide { position: absolute; inset: 100px 5vw 0; z-index: -1; border-inline: 1px solid rgba(252,245,238,.1); pointer-events: none; }
.studio-home .studio-hero-content { width: 100%; padding-top: 40px; }
.studio-home .studio-hero-label { color: #f0b16a; max-width: 580px; margin-bottom: 26px; }
.studio-home .studio-hero-title { font-size: clamp(52px,7.6vw,106px); font-weight: 300; letter-spacing: -.05em; line-height: 1.03; max-width: 12ch; margin: 0 0 28px; overflow-wrap: anywhere; white-space: normal; }
.studio-home .studio-hero-intro { max-width: 410px; font-size: 14px; font-weight: 400; line-height: 1.95; color: #e2dfd9; margin-bottom: 35px; }
.studio-home .studio-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px 32px; }
.studio-home .studio-button { display: inline-flex; justify-content: space-between; align-items: center; gap: 28px; padding: 20px 23px; min-height: 58px; border: 1px solid var(--studio-bronze); color: var(--studio-paper); background: rgba(15,15,15,.3); font: 500 10px/1.6 Montserrat,sans-serif; letter-spacing: .13em; transition: background .25s,color .25s; }
.studio-home .studio-button:hover { background: var(--studio-bronze); color: #0f0f0f; }
.studio-home .studio-text-link { display: inline-flex; gap: 18px; align-items: center; font-size: 12px; line-height: 1.7; color: var(--studio-paper); padding-block: 10px; }
.studio-home .studio-text-link svg { color: var(--studio-bronze); transition: transform .25s; }
.studio-home .studio-text-link:hover svg { transform: translateX(4px); }
.studio-home .studio-hero-bottom { position: absolute; bottom: 40px; left: 0; right: 0; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.studio-home .studio-discover { display: flex; gap: 20px; align-items: center; font-size: 9px; letter-spacing: .2em; }
.studio-home .studio-discover span { font-size: 28px; color: var(--studio-bronze); font-weight: 300; }
.studio-home .studio-hero-signature { margin-left: auto; display: flex; flex-direction: column; gap: 8px; font-size: 11px; color: #c3bdb5; }
.studio-home .studio-hero-coordinate { font-size: 10px; letter-spacing: .2em; margin-left: 45px; color: #c3bdb5; }
.studio-home .studio-section { padding: 110px 0; scroll-margin-top: 100px; }
.studio-home .studio-section-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--studio-line); padding-top: 24px; margin-bottom: 45px; }
.studio-home .studio-section-intro { display: grid; grid-template-columns: 1.2fr .8fr; align-items: start; gap: 60px; margin-bottom: 60px; }
.studio-home .studio-title { font-size: clamp(34px,4.3vw,62px); font-weight: 300; line-height: 1.15; letter-spacing: -.04em; margin: 0; max-width: 20ch; white-space: pre-line; overflow-wrap: anywhere; }
.studio-home .studio-copy { font-size: 13px; line-height: 1.95; color: #bdb8b1; max-width: 52ch; margin: 0; }
.studio-home .studio-section-intro .studio-copy { padding-top: 8px; max-width: 42ch; }
.studio-home .studio-project-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 70px 48px; align-items: start; }
.studio-home .studio-project:nth-child(even) { margin-top: 90px; }
.studio-home .studio-project-frame { position: relative; aspect-ratio: 1.23; overflow: hidden; }
.studio-home .studio-project:nth-child(even) .studio-project-frame { aspect-ratio: 1; }
.studio-home .studio-project-index { position: absolute; top: 20px; left: 20px; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; background: rgba(15,15,15,.8); border: 1px solid rgba(252,245,238,.25); color: var(--studio-paper); font-size: 10px; pointer-events: none; }
.studio-home .studio-project-caption { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 23px; }
.studio-home .studio-project-meta { display: flex; flex-wrap: wrap; gap: 7px 12px; font-size: 10px; letter-spacing: .12em; line-height: 1.8; color: #c5ab89; }
.studio-home .studio-project-title { font-size: clamp(17px,1.65vw,25px); font-weight: 400; line-height: 1.4; letter-spacing: -.02em; margin: 8px 0 0; }
.studio-home .studio-project-open { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 48px; height: 48px; border: 1px solid #68503a; border-radius: 50%; background: transparent; color: var(--studio-paper); cursor: pointer; transition: background .25s,color .25s; }
.studio-home .studio-project-open:hover { background: var(--studio-bronze); color: var(--studio-ink); }
.studio-home .studio-project:not(.studio-project-empty) { cursor: pointer; }
.studio-home .studio-media :is(img,video) { transition: transform .8s cubic-bezier(.2,.7,.3,1); }
@media (hover: hover) { .studio-home :is(.studio-project,.studio-service):hover .studio-media :is(img,video) { transform: scale(1.035); } }
.studio-home .studio-essence { border-block: 1px solid var(--studio-line); background: #151513; }
.studio-home .studio-essence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.studio-home .studio-essence-heading .studio-label { margin-bottom: 35px; }
.studio-home .studio-drawing { display: block; width: 180px; margin-top: 40px; color: var(--studio-bronze); opacity: .6; }
.studio-home .studio-drawing svg { width: 180px; height: 130px; }
.studio-home .studio-quote { font-size: clamp(23px,2.3vw,32px); font-weight: 300; line-height: 1.6; margin: 0 0 28px; }
.studio-home .studio-essence-copy .studio-text-link { margin-top: 30px; }
.studio-home .studio-services-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.studio-home .studio-service { position: relative; min-height: 470px; isolation: isolate; display: flex; align-items: flex-end; overflow: hidden; }
.studio-home .studio-service > .studio-media { position: absolute; inset: 0; z-index: -2; }
.studio-home .studio-service::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(7,10,9,.98),rgba(7,10,9,.7) 45%,rgba(7,10,9,.05)); z-index: -1; pointer-events: none; }
.studio-home .studio-service-content { padding: 28px; width: 100%; }
.studio-home .studio-service-title { font-size: clamp(20px,2vw,27px); font-weight: 400; line-height: 1.35; margin: 16px 0; overflow-wrap: anywhere; }
.studio-home .studio-service-copy { font-size: 12px; line-height: 1.9; color: #ded7cf; margin: 0; }
.studio-home .studio-service-arrow { display: block; margin-top: 25px; color: var(--studio-bronze); }
.studio-home .studio-method { padding-top: 35px; }
.studio-home .studio-method-top { border-top: 1px solid var(--studio-line); padding-top: 35px; }
.studio-home .studio-method-top .studio-label { margin-bottom: 32px; }
.studio-home .studio-method-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; margin-top: 55px; }
.studio-home .studio-method-step { border-top: 1px solid var(--studio-line); padding: 28px 28px 10px 0; }
.studio-home .studio-method-step + .studio-method-step { padding-left: 28px; border-left: 1px solid var(--studio-line); }
.studio-home .studio-step-title { font-size: 19px; font-weight: 400; line-height: 1.5; margin: 20px 0 16px; }
.studio-home .studio-tech-note { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-top: 60px; padding: 35px; border: 1px solid var(--studio-line); background: #151513; }
.studio-home .studio-tech-note .studio-copy { margin-top: 14px; max-width: 66ch; }
.studio-home .studio-tech-note .studio-text-link { flex-shrink: 0; }
.studio-home .studio-conversation { background: linear-gradient(135deg,#201c17,#131311); border-top: 1px solid var(--studio-line); }
.studio-home .studio-conversation .studio-label { margin-bottom: 30px; }
.studio-home .studio-conversation .studio-title { max-width: 20ch; }
.studio-home .studio-conversation .studio-copy { margin-top: 25px; }
.studio-home .studio-conversation .studio-button { margin-top: 35px; }
.studio-home .footer { margin-top: 0; }
.studio-home .whatsapp-float { width: 54px; height: 54px; right: 24px; bottom: 24px; background: #191a17; border: 1px solid #786044; color: #86d5a4; font-size: 27px; box-shadow: 0 5px 25px #0005; }
.studio-home .whatsapp-float:hover { background: #252820; transform: none; }
.studio-home .studio-project-view { width: min(1240px,calc(100% - 64px)); max-height: calc(100svh - 64px); padding: 0; border: 1px solid #5a4935; background: #151513; color: var(--studio-paper); margin: auto; overflow: auto; }
.studio-home .studio-project-view::backdrop { background: rgba(0,0,0,.85); backdrop-filter: blur(6px); }
.studio-home .studio-view-layout { display: grid; grid-template-columns: 1.35fr 1fr; min-height: 570px; }
.studio-home .studio-view-close { position: absolute; top: 16px; right: 16px; z-index: 2; width: 44px; height: 44px; border: 1px solid #8e7b65; background: #151513; color: var(--studio-paper); cursor: pointer; font: 300 30px Montserrat,sans-serif; }
.studio-home .studio-view-image { display: flex; align-items: center; justify-content: center; min-height: 360px; background: #252520; }
.studio-home .studio-view-image :is(img,video) { width: 100%; height: 100%; max-height: calc(100svh - 66px); object-fit: contain; }
.studio-home .studio-view-image [hidden] { display: none; }
.studio-home .studio-view-image[data-empty="true"]::after { content: 'Imagen no disponible'; color: #bdb8b1; font-size: 13px; }
.studio-home .studio-view-info { display: flex; flex-direction: column; align-items: flex-start; padding: 70px 40px 35px; }
.studio-home #studio-view-title { font-size: clamp(25px,3vw,38px); font-weight: 300; line-height: 1.3; margin: 24px 0 16px; overflow-wrap: anywhere; }
.studio-home .studio-view-info .studio-copy { margin: 24px 0 30px; }
.studio-home .studio-view-info .studio-button { width: 100%; font-size: 9px; gap: 12px; padding-inline: 18px; }
.studio-home .studio-view-info .studio-text-link { margin-top: 14px; }
.studio-home .studio-view-controls { display: flex; align-items: center; gap: 25px; margin-top: auto; padding-top: 40px; width: 100%; }
.studio-home .studio-view-controls button { width: 44px; height: 44px; border: 1px solid #68503a; background: transparent; color: var(--studio-paper); font-size: 20px; cursor: pointer; }
.studio-home .studio-view-controls button:hover { border-color: var(--studio-bronze); }
.studio-home #studio-view-position { font-size: 11px; letter-spacing: .15em; }
.studio-home.studio-motion [data-studio-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .7s ease,transform .7s ease; }
.studio-home.studio-motion [data-studio-reveal].studio-revealed { opacity: 1; transform: none; }
.studio-home.admin-mode { --studio-admin-offset: 40px; }
.studio-home.admin-mode-active .studio-hero-media { inset: 90px 0 0; height: calc(100% - 90px); }
.studio-home.admin-mode-active [data-studio-reveal] { opacity: 1; transform: none; transition: none; }
.studio-home.admin-mode-active .studio-media :is(img,video) { transform: none !important; transition: none; }
.studio-home.admin-mode-active .studio-project { cursor: default; }
@media (max-width: 1000px) {
 .studio-home .studio-section { padding-block: 80px; }
 .studio-home .studio-services-grid { gap: 16px; }
 .studio-home .studio-service-content { padding: 20px; }
 .studio-home .studio-section-intro,.studio-home .studio-essence-grid { gap: 40px; }
 .studio-home .studio-view-layout { grid-template-columns: 1.1fr 1fr; }
 .studio-home .studio-view-info { padding-inline: 28px; }
}
@media (max-width: 800px) {
 .studio-home .navbar { padding-block: 17px; }
 .studio-home .hamburger { display: flex; width: 44px; height: 44px; padding: 8px; flex-direction: column; gap: 5px; align-items: center; justify-content: center; }
 .studio-home .hamburger span { width: 24px; margin: 0; flex-shrink: 0; }
 .studio-home .nav-links { position: fixed; inset: 85px 0 auto; height: auto; max-height: calc(100svh - 85px - var(--studio-admin-offset,0px)); overflow-y: auto; padding: 35px 24px; display: none; background: #151513; align-items: flex-start; justify-content: flex-start; gap: 22px; flex-direction: column; }
 .studio-home .nav-links.active { display: flex; transform: none; }
 .studio-home .nav-link { font-size: 14px; opacity: 1; }
 .studio-home .studio-client-link { padding: 15px 0 0; border-left: 0; border-top: 1px solid var(--studio-line); }
 .studio-home .studio-project-grid { gap: 48px 26px; }
 .studio-home .studio-services-grid { grid-template-columns: 1fr; }
 .studio-home .studio-service { min-height: 330px; }
 .studio-home .studio-service-content { padding: 30px; max-width: 480px; }
 .studio-home .studio-service-title { font-size: 27px; }
 .studio-home .studio-tech-note { align-items: flex-start; flex-direction: column; gap: 18px; }
 .studio-home .studio-view-layout { grid-template-columns: 1fr; }
 .studio-home .studio-view-image { min-height: 0; aspect-ratio: 1.3; }
 .studio-home .studio-view-image :is(img,video) { max-height: 55svh; }
 .studio-home .studio-view-info { padding: 30px; }
}
@media (max-width: 600px) {
 .studio-home #admin-bar > div { padding-inline: 12px !important; }
 .studio-home #admin-bar > div > div:first-child { display: none; }
 .studio-home #admin-bar > div > div:last-child { gap: 12px !important; width: 100%; justify-content: space-between; }
 .studio-home .studio-hero { min-height: 820px; min-height: max(820px,100svh); padding-top: 145px; padding-bottom: 175px; align-items: flex-start; }
 .studio-home .studio-hero-shade { background: linear-gradient(90deg,rgba(7,10,9,.85),rgba(7,10,9,.25)),linear-gradient(0deg,#0f0f0f,transparent 55%); }
 .studio-home .studio-hero-content { padding-top: 20px; }
 .studio-home .studio-hero-title { font-size: clamp(44px,12vw,70px); max-width: 12ch; margin-bottom: 24px; }
 .studio-home .studio-hero-label { max-width: 32ch; font-size: 9px; margin-bottom: 22px; }
 .studio-home .studio-hero-intro { font-size: 13px; max-width: 34ch; }
 .studio-home .studio-hero-actions { flex-direction: column; align-items: flex-start; gap: 12px; }
 .studio-home .studio-hero-actions .studio-button { padding: 17px 20px; gap: 20px; }
 .studio-home .studio-hero-bottom { bottom: 30px; align-items: flex-start; }
 .studio-home .studio-hero-signature { display: none; }
 .studio-home .studio-hero-signature .studio-label { font-size: 8px; }
 .studio-home .studio-hero-coordinate { display: none; }
 .studio-home .studio-discover { font-size: 8px; gap: 12px; }
 .studio-home .studio-section { padding-block: 65px; }
 .studio-home .studio-section-top { margin-bottom: 30px; gap: 15px; align-items: flex-start; }
 .studio-home .studio-section-top .studio-label { max-width: 20ch; font-size: 9px; }
 .studio-home .studio-section-top .studio-text-link { font-size: 10px; padding-top: 0; gap: 8px; flex-shrink: 0; }
 .studio-home .studio-section-intro,.studio-home .studio-essence-grid { grid-template-columns: 1fr; gap: 24px; margin-bottom: 35px; }
 .studio-home .studio-title { font-size: clamp(32px,9vw,44px); }
 .studio-home .studio-project-grid { grid-template-columns: 1fr; gap: 40px; }
 .studio-home .studio-project:nth-child(even) { margin-top: 0; }
 .studio-home .studio-project:nth-child(even) .studio-project-frame { aspect-ratio: 1.23; }
 .studio-home .studio-project-caption { padding-top: 18px; }
 .studio-home .studio-project-title { font-size: 20px; }
 .studio-home .studio-project-meta { font-size: 9px; }
 .studio-home .studio-drawing { margin-top: 25px; }
 .studio-home .studio-essence-grid { margin-bottom: 0; }
 .studio-home .studio-method-grid { grid-template-columns: 1fr; margin-top: 35px; }
 .studio-home .studio-method-step,.studio-home .studio-method-step + .studio-method-step { padding: 25px 0; border-left: 0; }
 .studio-home .studio-tech-note { margin-top: 25px; padding: 25px; }
 .studio-home .studio-conversation .studio-label { max-width: 30ch; }
 .studio-home .studio-project-view { width: calc(100% - 24px); max-height: calc(100svh - 24px); }
 .studio-home .studio-view-close { top: 10px; right: 10px; }
 .studio-home .studio-view-info { padding: 26px; }
 .studio-home .whatsapp-float { width: 48px; height: 48px; right: 16px; bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
 html:has(body.studio-home) { scroll-behavior: auto; }
 .studio-home { scroll-behavior: auto; }
 .studio-home *, .studio-home *::before, .studio-home *::after { animation: none !important; transition: none !important; }
 .studio-home.studio-motion [data-studio-reveal] { opacity: 1; transform: none; }
}
.foot-contact-data{display:grid;gap:8px;margin-top:22px;font-size:11px;color:#aaa}.foot-contact-data>a{color:inherit;overflow-wrap:anywhere}.foot-social-links{display:flex;flex-wrap:wrap;gap:18px;font-size:10px;margin-top:4px}.foot-contact-data a:hover{color:#d1bd95}
