/* Shared layout refinements, loaded after both language stylesheets. */
.home-footer{top:196.979167vw}
.home-section h1,.home-section:first-child h1,.category-hero h1{
 top:5.729167vw;left:0;width:100%;height:7.005208vw;
 display:flex;align-items:center;justify-content:center;
 line-height:1.25;margin:0;
}
.home-section:not(:first-child) h1{top:5.715115vw;height:7.01926vw}
.category-samples .sample-intro{display:block;width:calc((84.84375vw - 4.583334vw)/3)}
.category-samples .sample-intro p{width:100%;max-width:none}
.menu nav{top:auto;bottom:3.90625vw}
.menu nav .menu-language{margin-bottom:2.083333vw}
.menu nav .menu-language+div{margin-top:0}
.menu nav .menu-language a{display:inline}
.menu-home{font-family:Arial,Helvetica,sans-serif}
.menu-language a[lang="fa"]{font-family:Kalameh,Arial,sans-serif}
.menu-disabled{display:block;opacity:.4;cursor:default}
@font-face{font-family:Kalameh;src:url('/assets/fonts/Kalameh-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Kalameh;src:url('/assets/fonts/KalamehFaNum-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@media(max-width:650px){
 .header .brand{position:absolute;left:0;bottom:3px}
 .header>.menu-toggle{top:auto;bottom:5px}
 .menu .header>.menu-toggle{top:auto;bottom:3px}
  .home-section:first-child,.category-hero{padding:56px 24px 0}
 .home-section:not(:first-child){padding:24px 24px 40px}
 .home-section h1,.home-section:first-child h1,.category-hero h1{
  position:static;height:81px;width:100%;font-size:14px;margin:0;
 }
 .home-section:not(:first-child) h1{height:88px}
 .home-section:first-child{padding-bottom:40px}
 .category-samples .sample-intro{width:100%;display:block}
 .category-samples .sample-intro p{width:100%;max-width:none}
 .home-footer{top:auto}
 .menu nav{top:120px;bottom:auto;padding-bottom:32px;font-size:18px;line-height:28px}
 .menu nav .menu-language{margin-bottom:28px}
 .menu .canvas{height:auto;min-height:100svh;overflow:visible}
}

/* One footer, with the homepage's content gap and bottom space, on every page. */
.category-layout{height:calc(56.345573vw + var(--gallery-rows)*35.00651vw);min-height:0}
.detail,.general{height:52.34375vw;overflow:visible}
.site-footer{
 margin:12.970834vw 3.90625vw 0;
 min-height:6.145833vw;
 border-top:.104167vw solid var(--ink);
 padding-top:.364583vw;
 text-align:center;font-size:1.458333vw;line-height:1.25;font-weight:700;
}
.site-footer p{font-family:Arial,Helvetica,sans-serif}
.menu nav{bottom:10.052083vw}
.menu .site-footer{position:absolute;bottom:0;left:3.90625vw;right:3.90625vw;margin:0}
@media(max-width:650px){
 .category-layout,.detail,.general{height:auto;min-height:0}
 .general{padding-bottom:40px}
 .site-footer{margin:40px 24px 0;min-height:0;padding:12px 0 24px;border-width:1px;font-size:12px}
 .menu nav{position:relative;top:auto;bottom:auto;padding-top:120px;padding-bottom:0}
 .menu .site-footer{position:static;margin:40px 24px 0}
}

/* Thumbnails keep the existing column widths and alignments, with a 5:7 frame. */
.home-grid img,.category-grid img{width:100%;height:auto;aspect-ratio:5 / 7;object-fit:cover}
@media(min-width:651px){
 /* Let taller thumbnails and additional rows determine the footer position. */
 .category-layout{height:auto;min-height:0;padding-top:58.603229vw}
 .category-grid{position:static;margin:0 7.578125vw}
}

/* Detail photographs retain their source proportions; only grid thumbnails crop. */
.detail{
 display:grid;grid-template-columns:var(--detail-image-width) 26.354167vw;
 column-gap:1.875vw;padding:9.791667vw 3.90625vw 0;
 height:auto;min-height:0;align-items:end;
}
.detail.landscape{--detail-image-width:64.21875vw}
.detail.portrait{--detail-image-width:33.28125vw}
.detail .detail-image{
 position:static;display:block;width:100%;height:auto;
 max-width:100%;max-height:none;aspect-ratio:auto;object-fit:contain;
}
.detail .detail-copy{position:static;width:100%;margin:0}
@media(max-width:650px){
 .detail{grid-template-columns:minmax(0,1fr);padding:100px 24px 40px;row-gap:30px}
 .detail .detail-copy{margin:0}
}

/* Keep the complete artwork inside the first viewport, below the header. */
.detail .detail-image{
 width:auto;height:auto;max-width:100%;
 max-height:max(1px, calc(100svh - 9.791667vw - 24px));
 justify-self:start;align-self:start;
}
@media(max-width:650px){
 .detail .detail-image{max-height:max(1px, calc(100svh - 100px - 24px))}
}

/* Position the text from the visible artwork edge, including height-limited images. */
@media(min-width:651px){
 .detail{
  --artwork-available-height:max(1px, calc(100svh - 9.791667vw - 24px));
  grid-template-columns:min(var(--detail-image-width), calc(var(--artwork-available-height) * var(--artwork-ratio))) minmax(0,26.354167vw);
  column-gap:20px;
 }
 .detail .detail-image{width:100%;max-width:100%;height:auto}
}
@media(max-width:650px){
 .detail{row-gap:20px}
}

/* Image links use a pointer without fading the photograph. */
.home-banner,.home-grid a,.category-grid a,.sample-grid a{cursor:pointer}

/* Typography refinement: regular-weight section headings and artwork titles. */
.home-section h1,.category-hero h1,.detail-copy h1{font-weight:400}

/* Keep the language switch quieter than primary navigation. */
.menu-language a[lang]{font-size:.75em;font-weight:400;color:#777}

.menu-language-switch a{font-size:.75em;font-weight:400;color:#777}
.menu-language-switch a[lang="fa"]{font-family:Kalameh,Arial,sans-serif}

@font-face{font-family:Kalameh;src:url('/assets/fonts/Kalameh-Thin.ttf') format('truetype');font-weight:100;font-display:swap}
.menu .subtitle{font-weight:400}
html[lang="fa"] .menu .subtitle{font-weight:400}

/* Detail-page typography: restrained titles, readable copy, quiet metadata. */
.detail .detail-copy h1{
 font-size:clamp(20px,1.666667vw,32px);
 line-height:1.3;font-weight:400;letter-spacing:0;
}
.detail .detail-copy p{
 margin-top:20px;font-size:clamp(14px,1.041667vw,20px);
 line-height:1.7;color:var(--ink);
}
.detail .detail-copy dl{
 margin-top:28px;font-size:clamp(12px,.729167vw,14px);
 line-height:1.8;color:#777;
}
.detail .detail-copy dt{font-size:.9em;font-weight:400;color:#888}
.detail .detail-copy dd{color:#666}
@media(max-width:650px){
 .detail .detail-copy h1{font-size:22px}
 .detail .detail-copy p{font-size:14px;line-height:1.75}
 .detail .detail-copy dl{font-size:12px}
}

/* Center introductions within the space bounded by the banner and thumbnails. */
.home-intro-band{
 display:flex;align-items:center;min-height:15.087604vw;
 margin-inline:7.578125vw;padding-block:2.5vw;
}
.home-intro-band .home-intro{position:static;margin:0;min-height:0}
.home-section .home-grid{margin-top:0}
@media(min-width:651px){
 .category-layout{padding-top:0}
 .category-hero{padding-top:12.734375vw}
 .category-banner{position:static;margin:0 3.90625vw}
 .category-samples .sample-intro{
  position:static;display:flex;align-items:center;
  min-height:15.087604vw;margin-inline:7.578125vw;padding-block:2.5vw;
 }
 .category-samples .sample-intro p{margin:0}
}
@media(max-width:650px){
 .home-intro-band{min-height:0;margin:0;padding-block:30px}
 .home-intro-band .home-intro{margin:0}
 .category-samples{padding:0 24px 40px}
 .category-samples .sample-intro{position:static;min-height:0;margin:0;padding-block:30px}
 .category-samples .sample-intro p{margin:0}
 .category-grid{margin-top:0}
}
