@font-face{font-family:Epilogue;src:url('./fonts/epilogue-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Epilogue;src:url('./fonts/epilogue-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Epilogue;src:url('./fonts/epilogue-900.ttf') format('truetype');font-weight:900;font-display:swap}
:root{--ground:#080808;--paper:#f2f2f2;--accent:#ff493c;--quiet:#b5afa9;--surface:#171715;--gutter:clamp(20px,4vw,64px);--face:Epilogue,Arial,sans-serif;--head:clamp(34px,4.7vw,68px);--body:clamp(16px,1.2vw,18px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ground);color:var(--paper);font:400 var(--body)/1.65 var(--face);-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--ground)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--face);font-weight:600;letter-spacing:-.055em;line-height:1.08}h2{font-size:var(--head)}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.skip{position:fixed;left:20px;top:15px;z-index:30;padding:12px 20px;background:var(--paper);color:var(--ground);transform:translateY(-200%)}.skip:focus{transform:none}
.header{display:flex;justify-content:space-between;align-items:center;padding:22px var(--gutter);gap:20px;background:var(--ground);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:13px}.studio-monogram{font:900 38px/1 var(--face);letter-spacing:-.11em;color:var(--accent);padding-right:5px}.brand-name{font-weight:600;letter-spacing:-.04em;font-size:19px;line-height:1.35}.brand-name small{display:block;font-size:13px;color:var(--quiet);font-weight:400;letter-spacing:0}nav{display:flex;align-items:center;gap:32px}nav a{font-size:16px;line-height:1.4}nav a:hover{color:var(--accent)}.nav-cta{display:flex;align-items:center;gap:28px;background:var(--accent);padding:13px 24px;border-radius:40px;color:var(--ground);font-weight:600}.nav-cta:hover{background:var(--paper);color:var(--ground)}.menu-toggle{display:none}.editorial-hero{padding:12px var(--gutter) 0}.hero-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-title h1{font-size:clamp(48px,8.5vw,145px);font-weight:900;letter-spacing:-.075em;line-height:1.06}.hero-xv{font-size:clamp(38px,7vw,120px);line-height:1;font-weight:900;color:var(--accent);letter-spacing:-.09em;transform:rotate(-7deg);padding:0 10px}.hero-introduction{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:22px 0 30px}.hero-introduction p{font-size:16px;line-height:1.6}.round-action{display:flex;align-items:center;gap:30px;font-size:16px;font-weight:600}.round-action span{display:grid;place-items:center;width:48px;height:48px;background:var(--paper);color:var(--ground);border-radius:50%;font-size:25px;transition:transform .25s,background .25s}.round-action:hover span{transform:rotate(45deg);background:var(--accent)}
.portrait-composition{display:grid;grid-template-columns:1fr 1.16fr 1fr;align-items:start;gap:clamp(16px,3vw,48px)}.portrait-link{min-width:0;display:block}.portrait-link:nth-child(2){padding-top:28px}.portrait-frame{position:relative;overflow:hidden;height:clamp(270px,37vh,430px);border-radius:140px 24px 24px 24px}.portrait-link:nth-child(2) .portrait-frame{border-radius:180px 180px 24px 24px}.portrait-link:nth-child(3) .portrait-frame{border-radius:24px 140px 24px 24px}.portrait-frame img{width:100%;height:100%;filter:saturate(.5);object-position:45% 34%;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s}.portrait-link:first-child img{object-position:35% 34%}.portrait-link:nth-child(3) img{object-position:64% 30%}.portrait-link:hover img{transform:scale(1.045);filter:saturate(1)}.portrait-discover{position:absolute;right:14px;bottom:14px;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;background:var(--paper);color:var(--ground);font-size:24px;transition:transform .25s}.portrait-link:hover .portrait-discover{transform:rotate(45deg);background:var(--accent)}.portrait-caption{padding:18px 3px 0}.portrait-caption h2{font-size:clamp(22px,2.5vw,38px);letter-spacing:-.05em}.portrait-caption p{margin-top:8px;font-size:16px;color:var(--quiet);line-height:1.5}.hero-invitation{font-size:14px;color:var(--quiet);text-align:center;margin:28px 0 0}
.section{padding:120px var(--gutter)}.statement{display:grid;grid-template-columns:1fr 1.1fr;gap:24px 9%;align-items:center;margin-top:10px}.statement h2{font-size:clamp(42px,5.2vw,80px)}.statement>p{max-width:38ch;font-size:clamp(18px,1.8vw,25px);line-height:1.65}.statement>a{grid-column:2;justify-self:start}.text-link{font-size:16px;font-weight:600;padding:8px 0;transition:transform .2s}.text-link:hover{transform:translateX(5px);color:var(--accent)}.portfolio{padding-top:30px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-heading>p{font-size:16px;line-height:1.6;max-width:35ch}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:42px}.filters button{border:0;background:var(--surface);color:var(--paper);border-radius:30px;padding:12px 20px;font-size:16px;transition:background .2s,transform .2s}.filters button.active{background:var(--paper);color:var(--ground)}.filters button:hover{background:var(--accent);color:var(--ground);transform:translateY(-2px)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 28px;align-items:start}.work{min-width:0}.work[hidden]{display:none}.work:nth-child(3n+2){padding-top:65px}.photo-button{position:relative;display:block;border:0;padding:0;background:transparent;width:100%;border-radius:18px;overflow:hidden}.photo-button img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .6s}.work:nth-child(3n+2) .photo-button img{aspect-ratio:3/4}.photo-button:hover img{transform:scale(1.035)}.expand{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ground);font-size:24px}.work figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:16px;font-size:14px;line-height:1.5}.work figcaption>a{color:var(--quiet);white-space:nowrap}.work figcaption>a:hover{color:var(--accent)}
.studio{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding:70px var(--gutter);background:var(--paper);color:var(--ground);margin-top:60px}.studio-image img{width:100%;height:650px;object-position:35% 35%;border-radius:180px 180px 24px 24px;filter:grayscale(1)}.studio-copy{padding:25px 0}.studio-copy>p{margin-top:28px;max-width:37ch}.studio-copy dl{display:grid;gap:20px;margin:32px 0}.studio-copy dl>div{display:grid;grid-template-columns:130px 1fr;gap:16px}.studio dt{font-size:14px;font-weight:600}.studio dd{font-size:16px;line-height:1.6;margin:0}.studio-copy .text-link{display:inline-block}
.booking{padding-top:120px;padding-bottom:110px}.booking h2{font-size:clamp(56px,8vw,120px);font-weight:900;letter-spacing:-.075em}.booking>p{max-width:57ch;margin-top:30px}.booking-links{margin-top:48px;display:flex;flex-direction:column}.booking-links a{padding:25px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;transition:padding .25s,color .25s}.booking-links a>span{font-size:clamp(28px,3.6vw,54px);letter-spacing:-.06em;font-weight:600;line-height:1.2}.booking-links small{font-size:16px;font-weight:400}.booking-links a:hover{color:var(--accent);padding-left:12px}.general{display:inline-block;font-size:16px;line-height:1.7;margin-top:28px;color:var(--quiet)}.general:hover{color:var(--paper)}footer{background:var(--accent);color:var(--ground);padding:45px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}footer>.brand{font-size:clamp(24px,4vw,56px);font-weight:900;line-height:1.1;letter-spacing:-.065em;max-width:12ch}footer>p{font-size:20px;justify-self:end}footer>div{grid-column:2;display:flex;justify-content:flex-end;gap:22px;flex-wrap:wrap;font-size:16px}footer small{font-size:14px}.team-access{font-size:14px;grid-column:2;justify-self:end}footer a:hover{text-decoration:underline;text-underline-offset:6px}
.artist-hero{padding-top:35px;padding-bottom:90px}.back{font-size:16px;color:var(--quiet);display:inline-block;margin-bottom:46px}.artist-intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.artist-intro h1{font-size:clamp(48px,7vw,108px);letter-spacing:-.075em;font-weight:900}.artist-tag{font-size:20px;margin-top:24px}.intro-line{margin-top:38px;font-size:18px}.bio{margin-top:16px;font-size:18px;max-width:35ch}.artist-intro .button{display:flex;gap:28px;align-items:center;justify-content:space-between;width:fit-content;margin-top:30px;background:var(--accent);color:var(--ground);border-radius:40px;padding:14px 24px;font-weight:600;font-size:16px}.artist-intro .button:hover{background:var(--paper)}.profile-link{display:block;font-size:16px;margin-top:22px}.booking-note{font-size:16px;color:var(--quiet);margin-top:28px;max-width:38ch}.artist-cover{width:100%;height:630px;object-position:center 32%;border-radius:220px 220px 26px 26px}.artist-closing{background:var(--surface)}.artist-closing h2{font-size:clamp(36px,5vw,70px)}.artist-closing .button{margin-top:30px;display:inline-flex;align-items:center;gap:25px;padding:14px 26px;background:var(--accent);color:var(--ground);border-radius:40px;font-weight:600}.artist-closing .text-link{margin-left:30px;display:inline-block}
dialog{border:0;background:var(--surface);color:var(--paper);border-radius:20px;padding:60px 20px 20px;max-width:96vw;max-height:94dvh;overflow:auto}dialog::backdrop{background:#000e}dialog img{width:auto;max-width:86vw;max-height:76dvh;object-fit:contain;margin:auto}dialog p{font-size:16px;padding-top:15px}.close-dialog{position:absolute;right:18px;top:14px;background:var(--paper);color:var(--ground);border:0;border-radius:28px;padding:9px 18px;font-size:16px}body.modal-open{overflow:hidden}
@keyframes arrive{from{opacity:.45;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes title-in{from{transform:translateY(15px);opacity:.65}to{transform:translateY(0);opacity:1}}.hero-title{animation:title-in .7s ease-out both}.portrait-link{animation:arrive .7s ease-out backwards}.portrait-link:nth-child(2){animation-delay:.08s}.portrait-link:nth-child(3){animation-delay:.16s}.seen{animation:arrive .65s ease-out both}.photo-button:active,.round-action:active{transform:scale(.98)}
@media(min-width:1600px){.portrait-frame{height:430px}.editorial-hero,.section,.studio,.header,footer{padding-left:max(var(--gutter),calc((100vw - 1580px)/2));padding-right:max(var(--gutter),calc((100vw - 1580px)/2))}}
@media(max-width:1000px){nav{gap:20px}.brand-name{font-size:17px}.nav-cta{padding:12px 20px}.hero-title h1{font-size:8vw}.hero-xv{font-size:7vw}.portrait-composition{gap:18px;grid-template-columns:1fr 1.1fr 1fr}.portrait-frame{height:300px}.portrait-caption h2{font-size:26px}.section{padding-top:90px;padding-bottom:90px}.studio{gap:6%;padding-top:55px;padding-bottom:55px}.studio-image img{height:560px}.studio-copy dl>div{grid-template-columns:1fr;gap:4px}.gallery{gap:40px 18px}.work figcaption{flex-direction:column;gap:4px}.artist-cover{height:540px}.artist-intro{gap:6%}.booking h2{font-size:85px}}
@media(max-width:650px){.header{padding-top:18px;padding-bottom:18px}.studio-monogram{font-size:32px}.brand-name{font-size:16px}.brand-name small{font-size:13px}.menu-toggle{display:flex;gap:12px;border:0;padding:10px 0;background:transparent;color:var(--paper);font-size:16px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--ground);padding:16px var(--gutter) 28px;flex-direction:column;align-items:stretch;gap:8px}nav.open{display:flex}nav>a{padding:12px 0}nav>.nav-cta{padding:14px 24px;justify-content:space-between}.hero-title{gap:10px}.hero-title h1{font-size:8.35vw;letter-spacing:-.075em}.hero-xv{font-size:8vw;padding:0}.editorial-hero{padding-top:20px}.hero-introduction{margin:20px 0 27px;display:block}.hero-introduction p{font-size:16px;line-height:1.6}.round-action{font-size:14px;width:fit-content;margin-top:18px;gap:16px}.round-action span{width:36px;height:36px;font-size:23px}.portrait-composition{grid-template-columns:1fr 1.08fr 1fr;gap:10px}.portrait-frame{height:clamp(180px,29vh,255px);border-radius:85px 16px 16px 16px}.portrait-link:nth-child(2){padding-top:24px}.portrait-link:nth-child(2) .portrait-frame{border-radius:90px 90px 16px 16px}.portrait-link:nth-child(3) .portrait-frame{border-radius:16px 85px 16px 16px}.portrait-frame img{object-position:30% 35%}.portrait-link:first-child img{object-position:26% 33%}.portrait-link:nth-child(3) img{object-position:75% 30%}.portrait-caption{padding:13px 0 0}.portrait-caption h2{font-size:clamp(14px,3.8vw,20px);letter-spacing:-.04em;line-height:1.3;font-weight:600}.portrait-caption p{font-size:13px;line-height:1.55;margin-top:6px}.portrait-discover{right:6px;bottom:8px;width:28px;height:28px;font-size:20px}.hero-invitation{text-align:left;font-size:14px;margin-top:26px}.section{padding-top:75px;padding-bottom:75px}.statement{grid-template-columns:1fr;gap:24px;margin-top:10px}.statement h2{font-size:48px}.statement>p{font-size:19px;max-width:none}.statement>a{grid-column:1}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:39px}.section-heading>p{margin-top:22px}.portfolio{padding-top:24px}.filters{gap:7px;margin-bottom:30px}.filters button{font-size:14px;padding:11px 15px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 14px}.work:nth-child(3n+2){padding-top:0}.work:nth-child(2n){padding-top:45px}.photo-button{border-radius:12px}.photo-button img,.work:nth-child(3n+2) .photo-button img{aspect-ratio:3/4}.work figcaption{font-size:13px;line-height:1.6;padding-top:12px}.expand{width:28px;height:28px;font-size:19px;right:8px;bottom:8px}.studio{grid-template-columns:1fr;gap:32px;padding-top:45px;padding-bottom:45px;margin-top:20px}.studio-image img{height:400px;border-radius:150px 150px 18px 18px}.studio-copy{padding:0}.studio-copy h2{font-size:42px}.studio-copy>p{margin-top:24px}.studio-copy dl{gap:22px}.studio-copy dl>div{grid-template-columns:1fr}.studio dt{font-size:14px}.booking{padding-top:75px;padding-bottom:75px}.booking h2{font-size:64px}.booking>p{margin-top:26px}.booking-links{margin-top:26px}.booking-links a{align-items:start;flex-direction:column;gap:8px;padding:20px 0}.booking-links a>span{font-size:32px}.booking-links small{font-size:16px}.general{font-size:16px}footer{grid-template-columns:1fr;gap:25px;padding-top:35px;padding-bottom:35px}footer>.brand{font-size:40px}footer>p{justify-self:start;font-size:18px}footer>div{grid-column:1;justify-content:flex-start;gap:18px}footer>.team-access{grid-column:1;justify-self:start}.artist-hero{padding-top:20px;padding-bottom:65px}.back{margin-bottom:30px}.artist-intro{display:flex;flex-direction:column-reverse;gap:30px;align-items:stretch}.artist-cover{height:390px;border-radius:150px 150px 18px 18px}.artist-intro h1{font-size:48px}.artist-tag{font-size:18px;margin-top:18px}.intro-line{margin-top:25px}.bio{font-size:18px}.artist-closing h2{font-size:36px}.artist-closing .text-link{display:block;margin:20px 0 0;width:fit-content}dialog{padding-left:12px;padding-right:12px}dialog img{max-width:85vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.seen{opacity:1;transform:none}}
/* Final reading adjustments after the desktop and mobile review. */
.hero-title h1{letter-spacing:-.055em}.hero-introduction p{font-size:18px}.booking h2{letter-spacing:-.045em}.hero-title{overflow:visible}
@media(max-width:650px){.hero-title h1{font-size:8.15vw;letter-spacing:-.055em}.hero-introduction p{font-size:18px}.portrait-caption h2{letter-spacing:-.025em}}
@media(max-width:650px){.booking h2{font-size:clamp(40px,12vw,64px)}}
/* Portada: tres retratos juntos, siguiendo la referencia del estudio. */
@media(max-width:700px){
 .hero-introduction{display:block}
 .round-action{width:fit-content;margin-top:20px;gap:18px;font-size:16px}
 .round-action span{width:42px;height:42px}
 .portrait-composition{grid-template-columns:1fr 1.08fr 1fr;gap:clamp(10px,2.2vw,16px)}
 .portrait-frame{height:clamp(180px,40vw,280px);border-radius:100px 18px 18px 18px}
 .portrait-link:nth-child(2){padding-top:28px}
 .portrait-link:nth-child(2) .portrait-frame{border-radius:130px 130px 18px 18px}
 .portrait-link:nth-child(3) .portrait-frame{border-radius:18px 100px 18px 18px}
 .portrait-caption{padding:15px 0 0}
 .portrait-caption h2{font-size:clamp(16px,3.8vw,26px);letter-spacing:-.045em;line-height:1.25}
 .portrait-caption p{font-size:clamp(13px,2.7vw,17px);line-height:1.5;margin-top:9px}
 .portrait-discover{width:clamp(30px,6vw,40px);height:clamp(30px,6vw,40px);right:8px;bottom:10px;font-size:23px}
 .hero-invitation{text-align:left;font-size:clamp(14px,2.8vw,18px);margin-top:34px}
}
@media(min-width:540px) and (max-width:700px){.portrait-caption p{font-size:16px}}
/* Reserva visible en la cabecera móvil y en la presentación. */
.mobile-booking{display:none}.hero-reserve{color:var(--paper)}.hero-reserve span{background:var(--accent)}
@media(max-width:650px){.header{gap:12px;flex-wrap:wrap}.header .brand{margin-right:auto}.mobile-booking{display:inline-flex;align-items:center;background:var(--accent);color:var(--ground);border-radius:30px;padding:10px 14px;font-size:14px;font-weight:600;white-space:nowrap}.menu-toggle{font-size:14px}.brand-name{font-size:14px}.studio-monogram{font-size:28px}nav{top:100%}}
@media(max-width:370px){.header .brand{flex:1 0 100%}.mobile-booking{margin-right:auto}}
