/* An editorial gallery setting for Persian miniature painting. */
:root{--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--gold:#b89c68;--paper:#f4f0e7;--ink:#202b38;--lapis:#243e59;--paper-line:#d6cdbd}
body{font-weight:400}h1,h2{letter-spacing:-.025em}.artist-mark{top:15vh;left:8vw}.artist-mark h1{font-size:clamp(5rem,11vw,10rem);line-height:.95;margin:30px 0 22px}.artist-mark span{font-size:.65rem;letter-spacing:.19em;color:#ded1b8}.hero-subtitle{font-family:var(--serif);font-size:clamp(1.5rem,2.7vw,2.4rem);line-height:1.25;color:#e8e2d6}.hero-subtitle em{font-weight:400}.entrance .veil{background:linear-gradient(90deg,#101924c4,rgba(10,13,18,.25) 65%,#0b1118aa),linear-gradient(0deg,#0b1118a6,transparent 50%)}.access-invitation{border-color:#c5b28d88;background:#111d29b8;padding:30px;width:310px;right:7vw}.access-invitation strong{font-size:2.1rem}.access-invitation small{color:#d2d0c9}.access-invitation .eyebrow{color:#dac49d}.sound-note{left:8vw;color:#c2c0b8}
.gallery{background:var(--paper);color:var(--ink)}.gallery-nav{background:#f4f0e7f5;border-color:var(--paper-line);padding:20px 7vw;backdrop-filter:blur(10px)}.gallery-nav .nav-kicker{color:#735c36;font-size:.58rem;letter-spacing:.18em}.gallery-nav strong{font-size:1.15rem}.nav-actions button{color:var(--lapis);font-size:.72rem}.viewer-stage{min-height:0;padding:70px 7vw 65px;background:var(--paper)}.work-intro{margin-bottom:36px}.work-intro .eyebrow{color:#77603c;font-size:.62rem;letter-spacing:.2em}.work-intro h2{font-size:clamp(4rem,8vw,7rem);line-height:1;margin:14px 0}.work-intro>p:last-child{color:#5c625f;font-size:.8rem}.viewer-shell{max-width:1080px}.viewer{background:#e9e2d6;border:1px solid #b9aa90;box-shadow:0 0 0 8px var(--paper),0 0 0 9px #ded3bf;aspect-ratio:3/2}.viewer>img{object-fit:contain}.viewer-tools{margin-top:14px;color:#595e61;letter-spacing:.08em}.viewer-tools button{color:#4c5d6d}.viewer-tools button.active{color:#fff;background:var(--lapis);border-radius:2px}.viewer-caption{color:#646965;line-height:1.7;max-width:600px}.session-mark{background:#15202bc4;color:#fff;padding:5px 8px}
.editorial{grid-template-columns:40px minmax(220px,.9fr) minmax(0,1.1fr);gap:40px;padding:80px 8vw;border-color:var(--paper-line)}.section-number{font-family:var(--serif);font-size:1.2rem;color:#8a724c}.section-title .eyebrow{color:#806c49}.section-title h2,.inquiry h2{font-size:clamp(2.5rem,4vw,4.1rem);line-height:1.08}.section-copy{padding-top:28px;max-width:640px}.section-copy>p{font-size:.94rem;line-height:1.9;color:#4b535a}.section-copy dl{margin-top:30px;font-size:.8rem}.section-copy dl div{border-color:var(--paper-line);gap:20px}.section-copy dt{color:#6c736f}.section-copy dd{text-align:right;color:#273748}
.representative{background:#f4f0e7;color:var(--ink);border-color:var(--paper-line)}.representative.artist-profile{background:#ece7dc}.representative h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,3.6vw,3.6rem)}.representative p{color:#4b535a}.representative .eyebrow{color:#80633a}.representative .artist-quote{color:var(--lapis)!important;border-color:#a58a59;font-size:1.4rem}.representative .artist-portrait-schematic,.representative .portrait-placeholder{background:linear-gradient(145deg,#e2d9c7,#f8f5ed);border-color:#c2b396}.portrait-placeholder:before,.portrait-placeholder:after,.artist-portrait-schematic .portrait-head,.artist-portrait-schematic .portrait-shoulders{border-color:#8d7b5a}.representative .portrait-placeholder span,.representative .artist-portrait-schematic span{color:#6b5b43}.line-link{color:var(--lapis);border-color:#aa8c55;font-size:.65rem;letter-spacing:.1em}.representative-contact{border-color:var(--paper-line)}.representative-contact a{color:var(--lapis)}
.inquiry{background:#20354b;color:#f4f0e7;padding:80px 8vw;gap:7vw}.inquiry>div>p{color:#d1d6da;font-size:.94rem;line-height:1.8}.inquiry label{color:#d1d6da}.inquiry input,.inquiry textarea,.inquiry select{border-color:#768493;color:#fff}.inquiry select option{background:#20354b}.inquiry .primary{background:#c8b185;color:#192b3e;border-color:#c8b185;font-weight:500}.inquiry .form-status{color:#e1d0ae}.inquiry form{padding-top:0}footer{background:#192c40;color:#c0c5ca;border-color:#405368;font-size:.58rem;letter-spacing:.08em;padding:25px 7vw}.primary,.line-link,button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid #b89c68;outline-offset:5px}
@media(max-width:850px){.artist-mark{top:12vh;left:7vw}.artist-mark h1{font-size:clamp(5rem,16vw,8rem)}.hero-subtitle{font-size:1.8rem}.access-invitation{left:7vw;right:7vw;bottom:7vh;width:auto;padding:22px}.editorial{grid-template-columns:1fr;gap:20px;padding:55px 7vw}.section-copy{padding-top:0}.section-title h2{margin-top:8px}.viewer-stage{padding:48px 5vw}.inquiry{grid-template-columns:1fr;padding:55px 7vw;gap:30px}.gallery-nav{padding:16px 5vw}.gallery-nav strong{font-size:1rem}.nav-actions{gap:10px}}
@media(max-width:540px){.artist-mark span{font-size:.53rem;letter-spacing:.12em}.artist-mark h1{font-size:5.5rem;margin:22px 0 16px}.hero-subtitle{font-size:1.5rem}.gallery-nav{align-items:flex-start;gap:15px}.nav-actions{flex-wrap:wrap;justify-content:flex-end}.viewer-tools{flex-wrap:wrap;gap:12px;font-size:.55rem}.work-intro h2{font-size:4.4rem}.section-copy dl div{display:grid;grid-template-columns:90px 1fr}.representative .artist-quote{font-size:1.25rem}footer{line-height:1.8}}
.account-links{position:fixed;top:12px;right:14px;z-index:30;display:flex;gap:12px;align-items:center;padding:8px 12px;background:#172a3ded;border:1px solid #b89c6866;font-size:11px;color:#eee}.account-links button{background:none;border:0;color:inherit;cursor:pointer}.account-links form{margin:0}.gallery-nav{padding-top:62px}
.deepzoom-canvas{position:absolute;inset:0;z-index:2;touch-action:none}.viewer{cursor:grab}.viewer:active{cursor:grabbing}.viewer .lens{display:none!important}.viewer.deepzoom-ready>img{visibility:hidden}.viewer .session-mark{z-index:3;pointer-events:none}.zoom-status{font-size:.7rem;line-height:1.6;color:#4b535a;text-align:center;margin:18px 0 0}.viewer:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;box-shadow:none;border:0}.viewer-tools button{min-width:38px;min-height:36px}.viewer-tools .zoom-levels{gap:5px}
.viewer{cursor:none}.viewer .lens{display:block!important;background-image:none!important;z-index:4;overflow:hidden;pointer-events:none}.lens canvas{display:block;width:100%;height:100%}.viewer:active{cursor:none}
/* Compact access card and uncropped portrait-screen video. */
.access-invitation{width:260px;padding:20px;top:auto;bottom:6svh;transform:none}
.access-invitation strong{font-size:1.75rem;margin:12px 0 8px}
.access-invitation small{font-size:.72rem;line-height:1.5}
.access-invitation:hover,.access-invitation:focus-visible{transform:translateY(-3px)}
@media(max-width:850px){
 .entrance{height:100svh;min-height:600px;background:#0b1118}
 .hero-video{object-fit:contain;object-position:center 46%;background:#0b1118}
 .entrance .veil{background:linear-gradient(180deg,#0b111850 0%,transparent 35%,transparent 60%,#0b1118c9 100%)}
 .artist-mark{top:max(46px,7svh);left:7vw;right:7vw}
 .artist-mark h1{font-size:clamp(3.8rem,18vw,5rem);margin:18px 0 12px}
 .hero-subtitle{font-size:1.2rem;max-width:75vw}
 .access-invitation{left:auto;right:7vw;width:60vw;min-width:220px;max-width:86vw;padding:16px;top:auto;bottom:max(20px,env(safe-area-inset-bottom));transform:none}
 .access-invitation strong{font-size:1.45rem;margin:8px 0 6px}
 .access-invitation .eyebrow{font-size:.5rem;letter-spacing:.17em}
 .access-invitation small{font-size:.65rem}
 .access-invitation b{right:12px;bottom:12px}
 .access-dialog{max-height:85svh;overflow-y:auto}
 .access-dialog .access-card{padding:24px}
}
@media(max-width:850px) and (orientation:landscape){
 .entrance{height:100svh;min-height:360px}
 .hero-video{object-position:center;object-fit:contain}
 .artist-mark{top:38px;max-width:45vw}
 .artist-mark h1{font-size:3.4rem;margin:8px 0}
 .hero-subtitle{font-size:1rem}
 .access-invitation{width:220px;min-width:0;bottom:18px;padding:14px}
}
/* Portrait crop keeps the drawn lines beside the visible half of the face. */
@media(max-width:850px) and (orientation:portrait){
 .entrance{height:100svh;min-height:100svh}
 .hero-video{width:100%;height:100%;object-fit:cover;object-position:56% center}
 .entrance .veil{background:linear-gradient(180deg,#0b11182e 0%,transparent 28%,transparent 70%,#0b111873 100%)}
}
