@font-face{font-family:KavehPersian;src:url("fonts/NotoSansArabic-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:KavehPersian;src:url("fonts/NotoSansArabic-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f7fc;color:#17294a;font-family:KavehPersian,Tahoma,Arial,sans-serif;direction:rtl;overflow-x:hidden}button,input,select{font:inherit}.shell{width:min(1160px,calc(100% - 40px));margin:auto}.glow{position:absolute;z-index:-1;border-radius:50%;filter:blur(65px);pointer-events:none}.glow1{background:#d8e8ff;width:350px;height:260px;right:-130px;top:150px}.glow2{background:#e1eafa;width:270px;height:250px;left:-90px;top:530px}.topbar{border-bottom:1px solid #e1e6ef;background:rgba(255,255,255,.83);backdrop-filter:blur(14px)}.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{text-decoration:none;color:#182c52;display:flex;align-items:center;gap:12px}.logo{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#163b7f;color:white;font-size:27px}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{font-size:11px;color:#7d8aa1;margin-top:6px}.right-brand{display:flex;align-items:center;gap:10px;border:1px solid #e1e8f2;border-radius:12px;padding:12px 15px;background:white;font-size:11px}.right-brand span{color:#8390a4}.right-brand strong{font-size:12px}.hero{min-height:330px;display:flex;position:relative;overflow:hidden;margin-top:30px;border-radius:27px;background:linear-gradient(115deg,#0c1c3e 0%,#12336d 58%,#1e56a2 100%);box-shadow:0 16px 30px rgba(20,52,104,.16);color:#fff}.hero:after{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:24px 24px;opacity:.4}.hero-copy{position:relative;z-index:2;padding:45px 53px;max-width:720px}.eyebrow{display:inline-flex;align-items:center;gap:9px;background:#ffffff17;border:1px solid #ffffff33;border-radius:30px;padding:8px 14px;font-size:12px}.eyebrow i{width:7px;height:7px;background:#60decb;border-radius:50%}.hero h1{font-size:clamp(27px,3.6vw,48px);line-height:1.5;margin:14px 0 8px;letter-spacing:-1px}.hero p{font-size:14px;color:#cfdcf0;line-height:2;max-width:580px}.hero-foot{display:flex;align-items:center;gap:40px;margin-top:20px}.hero-foot>div{display:flex;gap:10px;align-items:baseline}.hero-foot strong{font-size:28px}.hero-foot span{font-size:12px;color:#c9d7ee}.hero-foot a{border:1px solid #7294c8;padding:10px 14px;border-radius:9px;color:white;text-decoration:none;font-size:12px}.hero-art{position:absolute;left:45px;top:25px;bottom:0;width:230px;display:grid;place-items:center;opacity:.47}.hero-ring{width:205px;height:205px;border:1px solid #adcaf2;border-radius:50%;box-shadow:0 0 0 26px #ffffff12,0 0 0 55px #ffffff08}.hero-camera{font-size:105px;position:absolute;color:#d6e6ff}.hero-star{position:absolute;top:10px;left:12px;font-size:46px}.gallery-section{padding:58px 0 95px}.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:24px}.kicker{font-size:11px;color:#1b5ca6;letter-spacing:2px;font-weight:bold}.section-header h2{margin:10px 0;font-size:29px}.section-header p{margin:0;color:#7b879b;font-size:13px}.filters{display:flex;gap:9px}.search{display:flex;align-items:center;background:white;border:1px solid #e0e5ee;border-radius:12px;padding:0 12px;height:43px}.search span{font-size:23px;color:#7591b4}.search input{outline:0;border:0;min-width:190px;width:210px;background:transparent;font-size:12px;padding:10px}.filters select{border:1px solid #e0e5ee;border-radius:12px;background:white;color:#405371;padding:0 10px;max-width:170px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:21px}.photo-card{display:block;border:1px solid #e2e7ef;padding:0;background:#fff;border-radius:16px;overflow:hidden;text-align:right;box-shadow:0 5px 17px #0d295808;cursor:pointer;transition:transform .2s,box-shadow .2s;min-width:0}.photo-card:hover{transform:translateY(-5px);box-shadow:0 16px 35px #15396020}.photo-frame{height:195px;position:relative;overflow:hidden;background:#e7ebf3}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .32s}.photo-card:hover img{transform:scale(1.06)}.photo-overlay{position:absolute;inset:0;background:linear-gradient(transparent,#091b4790);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .2s;padding:18px}.photo-card:hover .photo-overlay{opacity:1}.zoom-pill{color:white;border:1px solid #ffffff66;background:#ffffff22;backdrop-filter:blur(5px);border-radius:22px;padding:8px 15px;font-size:12px}.photo-info{display:flex;align-items:center;gap:10px;padding:17px 14px}.photo-number{font-size:11px;color:#a3afc1;direction:ltr}.photo-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:12px;font-weight:bold;flex:1}.photo-arrow{color:#547db1}.empty{background:white;border:1px dashed #c6d3e4;border-radius:22px;padding:75px 20px;text-align:center}.empty>div{font-size:54px;color:#7c9dca}.empty h3{font-size:20px}.empty p{font-size:13px;color:#66758b;line-height:2}.no-results{text-align:center;padding:30px}footer{border-top:1px solid #e0e6ee;background:#fff}.footer-line{padding:26px 0;display:flex;justify-content:space-between;gap:14px;color:#78869b;font-size:12px}.footer-line strong{color:#31476b}.lightbox{display:none;position:fixed;inset:0;z-index:1000;background:#080e1bf7;color:white;flex-direction:column}.lightbox.open{display:flex}.viewer-top{min-height:77px;display:flex;justify-content:space-between;align-items:center;padding:12px 24px;gap:16px;background:#101827}.viewer-meta strong,.viewer-meta small{display:block}.viewer-meta strong{font-size:14px}.viewer-meta small{font-size:11px;color:#93a5bd;margin-top:6px}.viewer-actions{display:flex;align-items:center;gap:8px}.viewer-actions button,.viewer-actions a{border:1px solid #42506a;background:#1f3047;color:white;border-radius:9px;text-decoration:none;cursor:pointer;min-height:36px;padding:7px 11px;font-size:13px}.viewer-actions button:hover,.viewer-actions a:hover{background:#31527d}#zoomLabel{font-size:12px;min-width:45px;text-align:center;direction:ltr}.viewer-stage{position:relative;display:flex;flex:1;align-items:center;justify-content:center;overflow:hidden;touch-action:none;cursor:grab}.viewer-stage.dragging{cursor:grabbing}.viewer-stage img{max-width:calc(100% - 135px);max-height:calc(100vh - 150px);object-fit:contain;user-select:none;transform-origin:center;will-change:transform;pointer-events:none}.viewer-nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);background:#ffffff24;border:1px solid #ffffff2c;color:white;border-radius:50%;width:43px;height:43px;font-size:22px;cursor:pointer}.viewer-nav.prev{right:20px}.viewer-nav.next{left:20px}.viewer-bottom{padding:10px;text-align:center;color:#8e9cb3;font-size:11px;background:#101827}@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-art{opacity:.2}}@media(max-width:720px){.nav{min-height:70px}.right-brand{display:none}.hero{margin-top:16px;min-height:315px}.hero-copy{padding:32px 24px}.hero h1{font-size:31px}.hero-art{left:-60px;opacity:.14}.section-header{align-items:stretch;flex-direction:column}.filters{width:100%}.search{flex:1}.search input{width:100%;min-width:0}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-frame{height:165px}.gallery-section{padding-top:42px}.viewer-top{padding:10px;flex-wrap:wrap}.viewer-actions{flex-wrap:wrap;gap:5px}.viewer-actions button,.viewer-actions a{padding:6px 9px}.viewer-stage img{max-width:calc(100% - 75px)}.viewer-nav{width:31px;height:31px}.viewer-nav.prev{right:5px}.viewer-nav.next{left:5px}.footer-line{flex-direction:column}}@media(max-width:410px){.gallery-grid{gap:9px}.photo-frame{height:135px}.photo-info{padding:12px 9px}.photo-name{font-size:11px}.filters select{max-width:125px}}

/* Mobile-first refinements v2 */
html{-webkit-text-size-adjust:100%}body{line-height:1.75}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4c9ffb;outline-offset:3px}
.photo-card[hidden],.no-results[hidden]{display:none!important}.gallery-grid{align-items:start}.photo-name{line-height:1.65}.photo-frame img{content-visibility:auto}.viewer-stage{min-height:0}.viewer-stage img{max-width:calc(100% - 110px);max-height:calc(100dvh - 162px)}
@media(max-width:760px){
 .shell{width:calc(100% - 28px)}.topbar{position:relative}.nav{min-height:68px}.brand{gap:9px}.logo{width:43px;height:43px;border-radius:13px}.brand strong{font-size:13px;line-height:1.5}.brand small{font-size:10px;margin-top:2px}.hero{margin-top:14px;min-height:unset;border-radius:21px}.hero-copy{padding:29px 21px 30px}.eyebrow{font-size:10px;padding:7px 10px}.hero h1{font-size:clamp(25px,7vw,37px);line-height:1.65;letter-spacing:0;margin:10px 0 6px}.hero p{font-size:12px;line-height:2.1}.hero-foot{gap:14px;flex-wrap:wrap}.hero-foot strong{font-size:23px}.hero-foot span{font-size:10px}.hero-foot a{font-size:11px;padding:8px 12px}.gallery-section{padding:37px 0 65px}.section-header{gap:16px;margin-bottom:17px}.section-header h2{font-size:23px;margin:6px 0}.section-header p{font-size:11px}.filters{flex-wrap:wrap;gap:8px}.search{flex:1 1 160px;height:46px}.search input{font-size:13px}.filters select{flex:0 0 125px;max-width:none;min-height:46px;font-size:11px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.photo-card{border-radius:14px}.photo-frame{height:auto;aspect-ratio:4 / 3}.photo-info{gap:6px;padding:11px 10px}.photo-number{font-size:10px}.photo-name{font-size:11px}.photo-arrow{font-size:13px}.photo-overlay{display:none}.footer-line{font-size:11px}.viewer-top{flex-shrink:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;padding:9px 12px;gap:10px;background:#101827}.viewer-meta{min-width:0}.viewer-meta strong{font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.viewer-meta small{font-size:10px}.viewer-actions{display:contents}.viewer-actions button,.viewer-actions a{min-height:43px;min-width:43px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;font-size:13px}.viewer-actions #closeLightbox{grid-column:2;grid-row:1;font-size:24px}.viewer-actions #zoomOut,.viewer-actions #zoomIn,.viewer-actions #resetZoom,.viewer-actions #download,.viewer-actions #zoomLabel{display:none}.viewer-stage{min-height:0;flex:1}.viewer-stage img{max-width:calc(100% - 32px);max-height:calc(100dvh - 196px)}.viewer-nav{width:37px;height:43px;border-radius:12px;background:#142b4a9c}.viewer-nav.prev{right:6px}.viewer-nav.next{left:6px}.viewer-bottom{flex-shrink:0;padding:10px 8px calc(10px + env(safe-area-inset-bottom));font-size:10px;line-height:1.8;display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap}.viewer-bottom::after{content:'دو انگشت برای بزرگ‌نمایی';color:#c8d5eb}
 .mobile-tools{display:flex!important;gap:8px;align-items:center;justify-content:center;padding:9px 10px;background:#101827;flex-shrink:0}.mobile-tools button,.mobile-tools a{color:#fff;border:1px solid #415674;background:#1f3047;border-radius:10px;min-height:45px;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;text-decoration:none;font-size:12px}.mobile-tools a{background:#1e59a6;border-color:#1e59a6;flex:1}.mobile-tools #mobileZoomLabel{font-size:11px;min-width:44px;text-align:center;direction:ltr}
}
@media(max-width:360px){.shell{width:calc(100% - 20px)}.filters select{flex-basis:105px}.gallery-grid{gap:8px}.photo-info{padding:9px 7px}.photo-name{font-size:10px}.hero-copy{padding:24px 17px}}
@media(min-width:761px){.mobile-tools{display:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Kaveh behind-the-scenes: restrained editorial Persian typography */
.hero h1,.section-header h2{font-weight:700;letter-spacing:0}.hero p,.section-header p{line-height:2.1}.brand strong{font-weight:700}.photo-name{font-weight:700}.viewer-meta strong{font-weight:700}
@media(max-width:760px){.section-header p{font-size:12px}.hero p{font-size:12.5px}.brand strong{font-size:13.5px}}
