/* AKKAF V21 — exhibition-only component styles. No inherited gallery overrides. */
.exv-page{padding-top:18px;padding-bottom:110px}
.exv-intro{padding:20px 0 30px;max-width:950px}
.exv-intro .eyebrow{color:#60776b}
.exv-intro h1{font:400 clamp(40px,5vw,74px)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.05em;margin:14px 0;color:#30483b}
.fa .exv-intro h1{font:700 clamp(29px,3.9vw,48px)/1.6 IRANSans,Tahoma,sans-serif;letter-spacing:0}
.exv-subtitle{font-size:12px;text-transform:uppercase;letter-spacing:.19em;color:#768977}
.fa .exv-subtitle{letter-spacing:0;text-transform:none;font-size:13px}
.exv-feature{display:grid;grid-template-columns:minmax(240px,.79fr) minmax(0,1.21fr);gap:clamp(24px,4vw,60px);align-items:center;min-height:450px;padding:clamp(20px,3.2vw,42px);background:linear-gradient(130deg,#e8ede5 0%,#f8f6ef 53%,#f4f0e8 100%);border:1px solid #e2e7df;border-radius:28px;position:relative;overflow:hidden}
.exv-feature:after{content:'';position:absolute;inset:auto 4% 0 47%;height:1px;background:linear-gradient(90deg,transparent,rgba(140,159,133,.6),transparent);pointer-events:none}
.exv-feature-poster{border:0;min-width:0;padding:18px;position:relative;display:grid;place-items:center;cursor:zoom-in;border-radius:18px;background:#fdfcf8;box-shadow:0 22px 52px rgba(48,73,58,.12);transition:transform .3s ease,box-shadow .3s ease;max-width:500px;margin-inline:auto;width:100%}
.exv-feature-poster:hover{transform:translateY(-3px);box-shadow:0 30px 62px rgba(48,73,58,.16)}
.exv-feature-poster img{display:block;width:100%;max-width:100%;max-height:min(68vh,630px);height:auto;object-fit:contain}
.exv-poster-icon{position:absolute;inset-inline-end:27px;bottom:27px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:rgba(255,253,246,.91);color:#395849;box-shadow:0 4px 18px rgba(28,53,39,.12)}
.exv-poster-icon .icon{width:17px;height:17px}
.exv-feature-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border:1px dashed #b9c9b7;min-height:410px;background:rgba(255,255,255,.44);border-radius:18px;color:#637b67;text-align:center;padding:26px;font-size:13px}
.exv-feature-placeholder .icon{width:38px;height:38px;opacity:.65}
.exv-feature-story{min-width:0;position:relative;padding:12px 0}
.exv-feature-story h2{font:400 clamp(31px,3.4vw,54px)/1.22 Georgia,serif;color:#2f4a3b;margin:12px 0 26px;letter-spacing:-.035em}
.fa .exv-feature-story h2{font:700 clamp(26px,2.7vw,38px)/1.7 IRANSans,Tahoma,sans-serif;letter-spacing:0}
.exv-feature-story .draft-note{display:inline-flex;border-radius:999px;background:#e8ede5;padding:6px 14px;color:#506a57;font-size:12px;margin-bottom:18px}
.exv-feature-story p{font-size:15px;line-height:2.05;color:#41584a;margin:0 0 14px;max-width:64ch}
.fa .exv-feature-story p{text-align:justify}
.exv-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 24px;padding:20px 0;margin:0 0 22px;border-top:1px solid #d1dcd0;border-bottom:1px solid #d1dcd0}
.exv-facts div{min-width:0}
.exv-facts dt{color:#7a8b7e;font-size:11px;margin-bottom:6px}
.exv-facts dd{margin:0;color:#304b3d;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.exv-facts a{display:inline-flex;gap:7px;align-items:center;color:#396049;text-underline-offset:3px;text-decoration:underline}
.exv-facts a .icon{width:14px;height:14px}
.exv-gallery-section,.exv-artworks{margin:72px 0 80px}
.exv-heading{display:flex;gap:20px;align-items:end;justify-content:space-between;border-bottom:1px solid #d9e2d8;padding-bottom:21px;margin-bottom:25px}
.exv-heading h2{font:400 clamp(27px,3vw,44px)/1.28 Georgia,serif;letter-spacing:-.035em;color:#30483b;margin:7px 0 0}
.fa .exv-heading h2{font:700 clamp(22px,2.6vw,36px)/1.7 IRANSans,Tahoma,sans-serif;letter-spacing:0}
.exv-heading>span{color:#6a806e;font-size:12px;white-space:nowrap}
.exv-sample-note,.exv-artnote{font-size:13px;line-height:1.9;border-inline-start:3px solid #8c9f85;background:#eef1e9;padding:12px 17px;border-radius:8px;color:#476451;margin-bottom:24px}
/* Masonry/gridblock with original aspect ratios; no imposed card heights, no cropping. */
.exv-grid{columns:3 240px;column-gap:18px}
.exv-photo{break-inside:avoid;display:block;width:100%;margin:0 0 18px;position:relative}
.exv-photo-button{display:block;position:relative;width:100%;padding:9px;border:1px solid #e0e7dd;border-radius:17px;background:#fffdf8;box-shadow:0 6px 24px rgba(36,60,45,.045);cursor:zoom-in;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.exv-photo-button:hover{transform:translateY(-2px);box-shadow:0 12px 31px rgba(36,60,45,.09)}
.exv-photo-button img{width:100%;height:auto;display:block;object-fit:contain;border-radius:10px}
.exv-photo-open{position:absolute;right:18px;bottom:18px;width:34px;height:34px;border-radius:50%;background:rgba(255,251,243,.93);display:grid;place-items:center;color:#345442;opacity:0;transition:opacity .2s}
.exv-photo-button:hover .exv-photo-open,.exv-photo-button:focus-visible .exv-photo-open{opacity:1}
.exv-photo-open .icon{width:15px;height:15px}
.exv-photo figcaption{padding:8px 4px 0;color:#607366;font-size:12px;line-height:1.7}
.exv-sample-label{display:block;color:#7b877b;font-size:10px;padding:5px 3px}
.exv-artworks .work-grid{margin-top:18px}
/* Fit-screen event lightbox. Cropping is forbidden even for portrait photos. */
.exv-dialog{padding:0;position:fixed;inset:0;margin:0;border:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#f5f3ec;color:#294638}
.exv-dialog::backdrop{background:rgba(24,42,32,.83)}
.exv-dialog[open]{display:block}
.exv-dialog-body{width:100%;height:100%;display:grid;grid-template-rows:58px minmax(0,1fr) auto}
.exv-dialog-header{display:flex;align-items:center;gap:12px;padding:0 clamp(12px,2vw,28px);background:#faf8f2;border-bottom:1px solid #d8e0d6}
.exv-dialog-header strong{font:400 19px/1.3 Georgia,serif;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:65%}
.fa .exv-dialog-header strong{font:700 15px/1.6 IRANSans,Tahoma,sans-serif}
.exv-dialog-header #exvCount{margin-inline-start:auto;direction:ltr;unicode-bidi:isolate;font-size:11px;color:#688471}
.exv-dialog-header button{border:1px solid #d6e1d4;border-radius:50%;background:#fffdf7;color:#345542;display:grid;place-items:center;width:38px;height:38px;cursor:pointer}
.exv-dialog-stage{min-height:0;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 43%,#afc3b1 0%,#718d7a 42%,#355748 100%)}
.exv-dialog-image{position:absolute;inset:0;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px 56px}
.exv-dialog-image img{display:block;flex:0 1 auto;min-width:0;min-height:0;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transform-origin:center center;transform:translate3d(0,0,0) scale(1);user-select:none;-webkit-user-drag:none;cursor:zoom-in;will-change:transform}
.exv-dialog-image img[hidden]{display:none!important}
.exv-dialog-arrow{position:absolute;z-index:2;top:50%;left:10px;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,253,247,.66);color:#2e5040;cursor:pointer;opacity:.55;transition:opacity .2s}
.exv-dialog-arrow:hover,.exv-dialog-arrow:focus-visible{opacity:1}
#exvNext{left:auto;right:10px}
.fa #exvPrev{left:auto;right:10px}
.fa #exvNext{left:10px;right:auto}
.exv-dialog-arrow .icon{width:16px;height:16px}
.exv-dialog-footer{background:#faf8f2;border-top:1px solid #d8e0d6;display:flex;gap:14px;align-items:center;justify-content:space-between;padding:10px 17px;color:#456251;font-size:12px;min-height:52px}
.exv-dialog-footer button{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid #d1ded0;border-radius:999px;background:#fffdf7;color:#42624c;cursor:pointer}
.exv-dialog-footer button .icon{width:15px;height:15px}
.exv-loading{position:absolute;inset:auto 22px 24px;z-index:3;background:#fffdf9;border-radius:12px;padding:12px 18px;color:#496553;text-align:center;font-size:12px;box-shadow:0 8px 30px rgba(30,48,37,.12)}
.exv-loading[hidden]{display:none!important}
body.exv-open{overflow:hidden}
@media(max-width:900px){
 .exv-feature{grid-template-columns:minmax(0,1fr);gap:20px;padding:22px}
 .exv-feature-poster{max-width:480px}.exv-feature-poster img{max-height:55vh}
 .exv-feature-placeholder{min-height:280px}.exv-feature-story{padding:8px 5px}
 .exv-gallery-section,.exv-artworks{margin:48px 0 60px}
 .exv-grid{columns:2 180px;column-gap:13px}.exv-photo{margin-bottom:13px}
}
@media(max-width:520px){
 .exv-page{padding-top:10px;padding-bottom:60px}.exv-intro{padding:10px 0 16px}
 .exv-feature{border-radius:20px;padding:15px}.exv-feature-poster{padding:12px}.exv-feature-poster img{max-height:60vh}
 .exv-feature-story h2{margin:7px 0 14px}.exv-feature-story p{font-size:14px}
 .exv-facts{gap:12px 15px;padding:14px 0}
 .exv-grid{columns:2 130px;column-gap:10px}.exv-photo{margin-bottom:10px}
 .exv-photo-button{padding:5px;border-radius:13px}.exv-photo-button img{border-radius:8px}
 .exv-heading h2{font-size:23px}.exv-heading>span{font-size:10px}
 .exv-photo-open{opacity:1;width:29px;height:29px;bottom:10px;right:10px}
 .exv-dialog-body{grid-template-rows:49px minmax(0,1fr) auto}.exv-dialog-header strong{font-size:13px}
 .exv-dialog-arrow{width:30px;height:30px;left:5px}#exvNext{right:5px;left:auto}
 .fa #exvPrev{right:5px;left:auto}.fa #exvNext{left:5px;right:auto}
 .exv-dialog-footer{min-height:47px;padding:6px 9px;font-size:11px}.exv-dialog-footer button{font-size:0;border-radius:12px;padding:7px}
}
@media(prefers-reduced-motion:reduce){.exv-feature-poster,.exv-photo-button,.exv-dialog-arrow{transition:none!important}}

/* V21.1 exhibition photography: desktop and mobile start from fitted whole image. */
.exv-dialog-image{touch-action:none}
.exv-dialog-image.is-zoomed img{cursor:grab}
.exv-dialog-image.is-dragging img{cursor:grabbing}
.exv-dialog-footer{gap:14px}
.exv-dialog-footer #exvCaption{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exv-dialog-actions,.exv-zoom-controls{display:flex;align-items:center;gap:8px;flex:none}
.exv-dialog-actions{margin-inline-start:auto}
.exv-zoom-controls{padding-inline-end:12px;border-inline-end:1px solid #d8e0d6}
.exv-zoom-controls button{min-width:37px;height:35px;display:grid;place-items:center;padding:0;border-radius:11px}
.exv-zoom-controls #exvZoomValue{font-size:11px;font-variant-numeric:tabular-nums;color:#547263;min-width:43px;text-align:center}
.exv-dialog-image img[hidden]{display:none!important}
@media(max-width:520px){
 .exv-dialog-image{padding:0 28px}
 .exv-dialog-footer{gap:5px}
 .exv-dialog-actions,.exv-zoom-controls{gap:4px}
 .exv-zoom-controls{padding-inline-end:5px}
 .exv-zoom-controls button{min-width:29px;height:31px}
 .exv-zoom-controls #exvZoomValue{min-width:31px;font-size:9px}
}
