/* October editorial comp: two equal columns, square / wide / tall modules. */
header{height:96px;padding-top:34px}
.cover{padding-top:20px}
.cover-image{width:87.5%;aspect-ratio:1.72}
h1{top:10vw;z-index:2}
.hero-overlay{position:absolute;top:44px;left:32%;width:36%;z-index:3;text-align:center}
#hero-project{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0;width:100%;font-size:clamp(10px,1vw,16px);font-weight:700;line-height:1.05;text-transform:uppercase;color:#171813}
#hero-project strong{font-size:clamp(18px,2vw,30px)}
#hero-project .micro{font-size:9px}#hero-note{max-width:340px}
#hero-focus{margin:0;letter-spacing:.12em;font-size:10px}
.hero-explore{font:9px/1.8 'Courier New',monospace;margin-top:5px}
.hero-controls{position:static;width:87.5%;margin:30px auto 0}
.studio-intro{max-width:430px;text-align:center;margin:45px auto 70px;text-transform:uppercase;font-size:13px;font-weight:700;line-height:1.12}
.studio-intro p{margin:16px 0}.studio-intro a{font:10px/1.5 'Courier New',monospace}
.collection{padding-top:0}.collection-top{display:none}
.collection-heading{margin-top:0;margin-bottom:100px}
.collection-body{grid-template-columns:18% 70% 12%}
.collection-heading{margin-left:18%;margin-right:12%}
.mosaic.curated:not(.square-study){grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));aspect-ratio:1/4;gap:0}
.mosaic.curated:not(.square-study) .tile[data-slot="0"]{grid-column:1;grid-row:1}
.mosaic.curated:not(.square-study) .archive-tile{grid-column:2;grid-row:1;width:50%;height:50%;z-index:1;font-size:9px;padding:18px}
.mosaic.curated:not(.square-study) .empty-cell{grid-column:2;grid-row:1}
.mosaic.curated:not(.square-study) .tile[data-slot="1"]{grid-column:2;grid-row:2}
.mosaic.curated:not(.square-study) .tile[data-slot="2"]{grid-column:1;grid-row:3}
.mosaic.curated:not(.square-study) .tile[data-slot="3"]{grid-column:1/3;grid-row:4}
.mosaic.curated:not(.square-study) .tile[data-slot="4"]{grid-column:1;grid-row:5/7}
.mosaic.curated:not(.square-study) .tile[data-slot="5"]{grid-column:2;grid-row:7}
.mosaic.curated:not(.square-study) .tile[data-slot="6"]{grid-column:1;grid-row:8}
.mosaic.curated:not(.square-study) .tile[data-slot="7"]{grid-column:2;grid-row:8}
.tile-information{position:absolute;inset:auto 20px 24px;display:flex;justify-content:space-between;gap:20px;text-transform:uppercase;text-align:left;color:#fff;font:9px/1.2 Helvetica,Arial,sans-serif;text-shadow:0 1px 5px #000}
.tile-information>span{max-width:48%}.tile-information>span:last-child{text-align:right}
.mosaic .image-label{font:9px/1.3 'Courier New',monospace;left:12px;top:12px}
.editorial-note{padding:24px 14px;display:flex;justify-content:space-between;align-items:center;font-size:clamp(11px,1.2vw,18px);line-height:1;text-transform:uppercase}
.editorial-note small{font-size:9px}.note-one{grid-column:1;grid-row:2}.note-two{grid-column:2;grid-row:3;text-align:right;flex-direction:column;align-items:end;justify-content:center;gap:24px;font-size:10px}
.note-three{grid-column:2;grid-row:5/7;position:relative;align-items:start;padding-top:40px}.note-three b{position:absolute;top:60%;left:0;right:0;background:var(--ink);color:var(--paper);font-size:23px;padding:3px 8px;font-weight:400}.note-three i{float:right;font-style:normal}
.mosaic.square-study .editorial-note{display:none}
.editorial-end{margin:30px 12% 0 18%;text-align:center}.editorial-end>p{font-size:28px;line-height:1;margin:0 0 14px}.editorial-end>div{display:flex;justify-content:space-between;text-align:left;margin-top:140px;font-size:22px;line-height:.9}.editorial-end>div>*{background:var(--ink);color:var(--paper)}
.collection-tools{margin-top:25px}
@media(max-width:1000px) and (min-width:601px){.collection-body{grid-template-columns:15% 80% 5%}.collection-heading,.editorial-end{margin-left:15%;margin-right:5%}}
@media(max-width:600px){header{height:76px;padding-top:25px}.cover{padding-top:6px}.cover-image{width:94%;aspect-ratio:.95}h1{top:28vw}.hero-overlay{top:22px;left:19%;width:62%}#hero-project{font-size:9px;gap:4px}#hero-project strong{font-size:17px}#hero-note{font-size:9px}#hero-focus{font-size:8px}.hero-explore{font-size:8px}.hero-controls{width:86%;margin-top:20px}.studio-intro{margin:40px 9% 65px;font-size:12px}.collection-heading{margin:0 0 55px}.collection-body{display:block}.collection{padding-top:0}.mosaic.curated:not(.square-study){grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));aspect-ratio:1/4;gap:0}.mosaic.curated:not(.square-study) .tile[data-slot]{aspect-ratio:auto;min-height:0}.mosaic.curated:not(.square-study) .archive-tile{padding:9px;width:75%;height:60%}.archive-tile strong{font-size:16px}.archive-tile .micro{font-size:7px}.tile-information{inset:auto 9px 12px;font-size:7px;gap:5px}.tile-information>span:last-child{display:none}.mosaic .image-label{font-size:7px;left:7px;top:7px;max-width:calc(100% - 14px)}.editorial-note{padding:14px 8px;font-size:10px}.editorial-note small{font-size:7px}.note-two{font-size:8px}.note-three b{font-size:15px}.editorial-end{margin:35px 0 0}.editorial-end>p{font-size:23px}.editorial-end>div{margin-top:85px}.mosaic.curated.square-study{gap:24px 16px}.mosaic.square-study .tile-information{display:none}}
/* Keep the project caption and wordmark readable as separate overlay bands. */
h1{top:18vw}
@media(max-width:600px){h1{top:45vw}}

/* Centered five-line project caption, screened directly into the photograph. */
.mosaic .tile{isolation:isolate}
.mosaic .image-label{display:none}
.mosaic .tile-information,.mosaic.square-study .tile-information{
 position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
 justify-content:center;gap:3px;padding:16px;text-align:center;
 color:#e8e8e8;mix-blend-mode:screen;text-shadow:none;
 font:10px/1.25 Helvetica,Arial,sans-serif;letter-spacing:.025em;pointer-events:none
}
.mosaic .tile-information>span,.mosaic .tile-information>span:last-child{
 display:block;max-width:100%;text-align:center
}
.mosaic .tile-information .tile-explore{margin-top:7px}
@media(max-width:600px){
 .mosaic .tile-information,.mosaic.square-study .tile-information{font-size:8px;gap:3px;padding:9px;letter-spacing:0}
}

/* One shared heading rule for the collection and closing statement. */
.section-title,.collection-heading .section-title,.editorial-end .section-title{
 font-family:Helvetica,Arial,sans-serif;font-size:32px;font-weight:700;
 line-height:1.02;letter-spacing:-.025em;text-transform:uppercase;margin:0;
}
.editorial-end .section-title{margin-bottom:14px}
@media(max-width:600px){
 .section-title,.collection-heading .section-title,.editorial-end .section-title{font-size:26px}
}

/* Reference treatment: upper-left label and left-aligned editorial data blocks. */
.mosaic .image-label{display:block;z-index:2}
.mosaic .tile-information,.mosaic.square-study .tile-information{
 inset:28% 9% auto;height:38%;padding:0;display:grid;
 grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;
 align-items:start;justify-content:normal;column-gap:8%;row-gap:18px;
 text-align:left;font-size:clamp(9px,1vw,14px);line-height:1.08;
 letter-spacing:0;mix-blend-mode:screen;text-shadow:none;
}
.mosaic .tile-information>span,.mosaic .tile-information>span:last-child{
 max-width:100%;text-align:left;display:block;
}
.tile-facts{grid-column:1/3;grid-row:1}
.tile-studio{grid-column:1;grid-row:2}
.tile-action{grid-column:2;grid-row:2}
@media(max-width:600px){
 .mosaic .tile-information,.mosaic.square-study .tile-information{
 inset:27% 7% auto;height:51%;font-size:8px;line-height:1.15;column-gap:7%;row-gap:10px;
 }
}

/* The entire featured image is a project link; caption hover shares its reveal. */
.cover-image{display:block;cursor:pointer}
.cover-image:hover img,.cover-image:focus-visible img,
.cover:has(.hero-overlay:hover) .cover-image img,
.cover:has(.hero-overlay:focus-within) .cover-image img{filter:grayscale(0)}

/* Collection: three square columns with editorial breathing room. */
#build-index{width:min(1500px,96vw);padding:clamp(22px,4vw,64px)}
#build-index .dialog-bar{margin-bottom:55px}
#build-index .dialog-bar h2{font:700 32px/1.02 Helvetica,Arial,sans-serif;letter-spacing:-.025em;text-transform:uppercase}
#build-index .index-search{font:11px/1.6 'Courier New',monospace;text-transform:uppercase;max-width:480px;margin-bottom:50px}
#index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,40px);margin-top:0}
#index-grid .collection-project{position:relative;aspect-ratio:1;overflow:hidden;isolation:isolate;min-width:0}
#index-grid .collection-project img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(1);transition:filter .45s}
#index-grid .collection-project.full-vehicle img{object-fit:cover;object-position:center;background:transparent;transform:scale(var(--cover-zoom,1))}
/* These source files include letterboxing in the pixels. Crop past it so every
   collection thumbnail remains a full-bleed square. */
#index-grid .collection-project[data-index-project="zodiac"]{--cover-zoom:1.3}
#index-grid .collection-project[data-index-project="patriot"]{--cover-zoom:1.22}
#index-grid .collection-project[data-index-project="aileron"]{--cover-zoom:1.24}
#index-grid .collection-project[data-index-project="raptor"]{--cover-zoom:1.3}
#index-grid .collection-project[data-index-project="the-xterminator"]{--cover-zoom:1.12}
#index-grid .collection-project:hover img,#index-grid .collection-project:focus-visible img{filter:grayscale(0)}
#index-grid .collection-label{position:absolute;top:12px;left:12px;margin:0;padding:4px 7px;background:var(--paper);font:9px/1.3 'Courier New',monospace;max-width:calc(100% - 24px)}
#index-grid .collection-caption{position:absolute;inset:28% 8% auto;height:42%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;gap:15px 8%;margin:0;color:#e8e8e8;mix-blend-mode:screen;text-shadow:none;text-transform:uppercase;pointer-events:none}
#index-grid .collection-caption span{font:10px/1.12 Helvetica,Arial,sans-serif;margin:0}
#index-grid .collection-caption span:first-child{grid-column:1/3}
.collection-pause{aspect-ratio:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:8%;font:12px/1.1 Helvetica,Arial,sans-serif}
.collection-pause small{align-self:center;white-space:nowrap;font:8px/1.2 Helvetica,Arial,sans-serif}
.collection-pause.quiet{background:#e7e7df}
@media(max-width:700px){#index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}#index-grid .collection-caption span{font-size:8px}#index-grid .collection-label{font-size:8px;top:8px;left:8px}.collection-pause{font-size:10px}.collection-pause small{font-size:7px}#build-index .dialog-bar h2{font-size:26px}#build-index .dialog-bar{margin-bottom:32px}}
@media(max-width:400px){#index-grid{grid-template-columns:1fr;gap:28px}.collection-pause{aspect-ratio:auto;min-height:100px}#index-grid .collection-caption span{font-size:11px}}

/* Dedicated collection route shares the site's full document canvas. */
.collection-view>main{display:none}
.collection-view{display:flex;flex-direction:column}
.collection-view>header{order:0}
.collection-view>.collection-page{order:1}
.collection-view>footer{order:2}
#build-index.collection-page{width:100%;max-width:1800px;margin:0 auto;padding:40px 6% 80px;max-height:none;overflow:visible}
.collection-page .dialog-bar>a{font:11px/1.6 'Courier New',monospace;text-transform:uppercase;padding:12px 0}
@media(max-width:600px){#build-index.collection-page{padding:20px 7% 50px}.collection-page .dialog-bar{gap:15px}.collection-page .dialog-bar>a{font-size:9px}}

.mosaic .tile{transform-origin:top left}
/* Scale against the centered hero container, not the outer viewport. */
.cover{container-type:inline-size;width:100%;max-width:2000px;margin-inline:auto}
.cover h1{left:50%;width:100%;text-align:center;transform:translateX(-50%);font-size:10.1cqw;top:18cqw;letter-spacing:-.035em}
.hero-overlay{left:50%;transform:translateX(-50%);width:36%;top:clamp(30px,4cqw,70px)}
#hero-project{font-size:clamp(9px,1cqw,18px)}
#hero-project strong{font-size:clamp(17px,2cqw,36px)}
#hero-note{max-width:34cqw}
.section-title,.collection-heading .section-title,.editorial-end .section-title{font-size:clamp(26px,3.08vw,44px)}
.collection-heading{margin-bottom:clamp(55px,8vw,140px)}
.studio-intro{max-width:clamp(350px,42vw,640px);font-size:clamp(12px,1.25vw,18px)}
.collection-body,.gallery-area,.cover-image{min-width:0}
@media(max-width:600px){
 .cover h1{top:45cqw}
 .hero-overlay{width:62%;top:22px}
 #hero-note{max-width:100%}
 #hero-project{font-size:9px}
 #hero-project strong{font-size:17px}
 .studio-intro{max-width:none}
}

/* Softer image-overlay copy across landing and collection grids. */
.mosaic .tile-information,
#index-grid .collection-caption {
  opacity: .8;
  mix-blend-mode: screen;
}

/* Image scale remains fixed during hover and shuffle. */
.mosaic .tile img,.mosaic .tile:hover img,.mosaic .tile:focus-visible img{transform:none;transition:filter .45s}

/* Let the opening image grow with the screen, including ultrawide displays. */
.cover{max-width:none;width:100%}
.cover-image{width:92%}
.hero-controls{width:92%}
@media(max-width:600px){
 .cover-image{width:94%}
 .hero-controls{width:86%}
}

/* Shared fluid proportions beyond conventional desktop widths. */
.collection{width:100%;max-width:none;padding-inline:4%}
.collection-heading,.collection-body,.editorial-end{max-width:none}
header{height:clamp(76px,5.5vw,150px)}
.collection-tools,nav,footer,.collection-side,.hero-controls{font-size:clamp(10px,.65vw,16px)}
.hero-controls{margin-top:clamp(24px,2vw,56px)}
.studio-intro{margin-top:clamp(40px,3.5vw,90px);margin-bottom:clamp(65px,5vw,130px)}
.collection-tools{margin-top:clamp(25px,3vw,70px)}
footer{margin-top:clamp(50px,4vw,100px)}
@media(max-width:600px){.collection{padding-inline:7%}header{height:76px}}

/* Filter strip: compact exhibition-caption typography and ruled columns. */
#filters{
 background:transparent;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);
 padding:12px 0 15px;margin-bottom:30px;
 display:grid;grid-template-columns:1.1fr 1.1fr 1.1fr auto;gap:24px;align-items:start;
}
#filters[hidden]{display:none}
#filters label{min-width:0;gap:8px;font:400 10px/1.2 Helvetica,Arial,sans-serif;letter-spacing:0}
#filters select{
 width:100%;min-width:0;border:0;border-radius:0;padding:0 20px 0 0;
 background:transparent;color:var(--ink);font:clamp(14px,1.1vw,20px)/1.2 Helvetica,Arial,sans-serif;
 cursor:pointer;
}
#filters #reset-filters{padding:0;align-self:end;font:10px/1.4 Helvetica,Arial,sans-serif;white-space:nowrap}
@media(max-width:700px){
 #filters{grid-template-columns:1fr 1fr;gap:22px 20px;padding:14px 0 18px}
 #filters label{min-width:0}
 #filters select{font-size:14px}
 #filters #reset-filters{justify-self:end}
}
@media(max-width:380px){#filters{grid-template-columns:1fr}#filters #reset-filters{justify-self:start}}

/* Full-page photographic archive: open contact sheet meets modular collage. */
body.image-view main{display:none}body.image-view{display:flex;flex-direction:column}body.image-view>header{order:0}body.image-view>footer{order:2}
.image-page{--gallery-columns:4;order:1;width:92%;margin:2vw auto 6vw;color:#252620}
.image-page .dialog-bar{display:flex;justify-content:space-between;align-items:flex-start;border-top:1px solid #252620;padding:16px 0 3vw}
.image-page .eyebrow{font:11px 'Courier New',monospace;letter-spacing:.04em}
.image-page h2{font:500 clamp(28px,3.3vw,76px)/.98 Helvetica,Arial,sans-serif;letter-spacing:-.045em;margin:14px 0}
.image-page a,.image-page .board-tools{font:11px 'Courier New',monospace;text-transform:uppercase}
.image-page .board-tools{display:flex;gap:3vw;align-items:center;border-top:1px solid #aaa99f;border-bottom:1px solid #aaa99f;padding:16px 0;margin-bottom:3vw;background:none}
.image-page .board-tools p{margin-right:auto}.image-page .board-tools label{display:flex;gap:12px;align-items:center}.image-page input{accent-color:#bb503b}
.image-page #image-grid{display:grid;grid-template-columns:repeat(var(--gallery-columns),minmax(0,1fr));grid-auto-flow:row dense;gap:1px;align-items:stretch}
.image-page .image-tile{position:relative;min-width:0;aspect-ratio:1;background:none;padding:0;border:0;overflow:hidden;cursor:pointer}
.image-page .image-tile.wide{grid-column:span 2;aspect-ratio:2}.image-page .image-tile.tall{grid-row:span 2;aspect-ratio:auto}
.image-page .image-tile img{width:100%;height:100%;object-fit:cover;display:block;filter:none;transition:none;transform:none}
.image-page .image-tile:hover img,.image-page .image-tile:focus-visible img{filter:none;transform:none}
.image-page .image-tile .gallery-overlay{position:absolute;inset:26% 8% 8%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;column-gap:8%;row-gap:18px;align-items:start;color:rgba(255,255,255,.8);font:400 clamp(8px,.72vw,12px)/1.08 Helvetica,Arial,sans-serif;letter-spacing:0;text-align:left;text-transform:uppercase;mix-blend-mode:screen;text-shadow:none;pointer-events:none}
.image-page .gallery-overlay>span{position:static;max-width:100%;background:none;color:inherit;font:inherit;padding:0;text-transform:inherit}
.image-page .gallery-project{grid-column:1/3;grid-row:1}
.image-page .gallery-studio{grid-column:1;grid-row:2;align-self:end}
.image-page .gallery-action{grid-column:2;grid-row:2;align-self:end;text-align:right}
.image-page .image-tile:focus-visible{outline:2px solid #eb4935;outline-offset:4px}
@media(max-width:700px){.image-page #image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-page .board-tools{flex-wrap:wrap}.image-page .board-tools label{display:none}.image-page .dialog-bar{gap:20px}.image-page .image-tile .gallery-overlay{inset:24% 7% 7%;font-size:7px;column-gap:6%;row-gap:10px}.image-page .gallery-space{min-height:100px}}

/* Match the feeling interlude to the form interlude. */
.mosaic .editorial-note.note-three{flex-direction:row;align-items:center;justify-content:space-between;gap:20px;padding:24px 14px;text-align:left;font:400 clamp(11px,1.2vw,18px)/1 Helvetica,Arial,sans-serif;letter-spacing:0;text-shadow:none}
.mosaic .editorial-note.note-three small{font-size:9px;white-space:nowrap;opacity:1}
@media(max-width:600px){.mosaic .editorial-note.note-three{padding:14px 8px;font-size:10px;gap:10px}.mosaic .editorial-note.note-three small{font-size:7px}}

/* Filter choices share the clean editorial-note typography. */
#filters label,#filters #reset-filters{font-family:Helvetica,Arial,sans-serif;font-weight:400;text-transform:uppercase}
.mosaic.black-white .tile img,.mosaic.black-white .tile:hover img,.mosaic.black-white .tile:focus-visible img{filter:grayscale(1)}

/* Custom selection menus: quiet rows, editorial markers, no browser highlight chrome. */
.native-choice{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.choice-select{position:relative;display:block;width:100%;min-width:0}
.choice-trigger{position:relative;width:100%;padding:7px 26px 8px 0;border:0;border-bottom:1px solid var(--ink);text-align:left;font:400 clamp(11px,1.2vw,18px)/1 Helvetica,Arial,sans-serif;text-transform:uppercase;color:var(--ink)}
.choice-trigger::after{content:'';position:absolute;right:4px;top:45%;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-65%) rotate(45deg)}
.choice-trigger:hover{color:var(--ink)}
.choice-trigger:focus-visible,.choice-option:focus-visible{outline:1px solid var(--ink);outline-offset:2px}
.choice-menu{position:absolute;z-index:30;top:100%;left:0;width:100%;min-width:max-content;padding:5px 0 10px;background:rgba(244,241,232,.96);box-shadow:0 10px 22px rgba(36,37,31,.08);backdrop-filter:blur(10px)}
.choice-menu[hidden]{display:none}
.choice-option{display:grid;width:100%;grid-template-columns:34px 1fr;align-items:center;padding:7px 14px 7px 8px;text-align:left;color:var(--ink);font:400 clamp(11px,1.2vw,18px)/1 Helvetica,Arial,sans-serif;text-transform:uppercase;white-space:nowrap}
.choice-option:hover{color:var(--ink);background:rgba(36,37,31,.045)}
.choice-mark::before{content:'//';display:block;font:400 14px/1 Helvetica,Arial,sans-serif;text-align:center}
.choice-option[aria-selected=true] .choice-mark::before{content:'＊';font-size:26px;line-height:.5}

/* One restrained range language throughout the site. */
input[type=range]{-webkit-appearance:none;appearance:none;width:150px;height:32px;padding:0;border:0;background:transparent;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:1px;background:var(--ink);border:0}
input[type=range]::-moz-range-track{height:1px;background:var(--ink);border:0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-top:-8.5px;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cg stroke='%2324251f' stroke-width='2.2'%3E%3Cpath d='M15 1v28M1 15h28M5 5l20 20M25 5L5 25'/%3E%3C/g%3E%3C/svg%3E") center/16px 16px no-repeat}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border:0;border-radius:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cg stroke='%2324251f' stroke-width='2.2'%3E%3Cpath d='M15 1v28M1 15h28M5 5l20 20M25 5L5 25'/%3E%3C/g%3E%3C/svg%3E") center/16px 16px no-repeat}
input[type=range]:focus-visible{outline:1px solid var(--ink);outline-offset:4px}

/* A woven archive: shared square units, with changing photographic scale. */
.image-page #image-grid{container-type:inline-size;grid-auto-rows:calc((92vw - (var(--gallery-columns) - 1)*1px)/var(--gallery-columns));grid-auto-flow:row dense}
.image-page #image-grid .image-tile{aspect-ratio:auto;height:100%;min-height:0}
.image-page #image-grid .image-tile.wide{grid-column:span 2;grid-row:span 1}
.image-page #image-grid .image-tile.tall{grid-column:span 1;grid-row:span 2}
.image-page #image-grid .image-tile.large{grid-column:span 2;grid-row:span 2}
.image-page #image-grid .image-tile.panorama{grid-column:1/-1;grid-row:span 2}
.image-page .gallery-space{background:#e8e8df}
@media(max-width:700px){.image-page #image-grid{grid-auto-rows:calc((92vw - 1px)/2)}.image-page #image-grid .image-tile.panorama{grid-row:span 1}}

/* Two readings of the same image archive. */
.image-page .gallery-view-control{min-width:170px}.image-page .gallery-view-control .choice-trigger,.image-page .gallery-view-control .choice-option{font-size:12px}
.image-page.contact-sheet #image-grid .image-tile{grid-column:auto;grid-row:auto}
.image-page.contact-sheet .gallery-space{display:none}
@media(max-width:700px){.image-page .board-tools .gallery-view-control{display:flex;align-items:center;flex-wrap:wrap}.image-page .board-tools p{flex-basis:100%}.image-page .board-tools{gap:16px;justify-content:space-between}}

/* Shared small utility typography, including expanded-image views. */
:root{--font-utility:'Courier New',monospace;--type-utility:11px}
.image-page .board-tools,.image-page a,.micro,dialog .eyebrow,dialog [data-close],#lightbox-caption,#lightbox-rights,.preview-actions{font-family:var(--font-utility);font-size:var(--type-utility);font-weight:400;line-height:1.6;letter-spacing:.04em;text-transform:uppercase}
#lightbox .lightbox-image button{font-family:var(--font-utility);font-weight:400}

/* Full-viewport source-image viewer. */
dialog#lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#111;color:#fff;overflow:hidden}
dialog#lightbox::backdrop{background:#111}
#lightbox .dialog-bar{position:absolute;z-index:3;inset:0 0 auto;margin:0;padding:20px 24px;align-items:center;background:linear-gradient(to bottom,rgba(0,0,0,.48),transparent)}
#lightbox .dialog-bar button{color:inherit;padding:8px}
#lightbox .lightbox-image{position:absolute;inset:0;display:block}
#lightbox .lightbox-image img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;background:#111}
#lightbox .lightbox-image button{position:absolute;z-index:3;top:50%;transform:translateY(-50%);padding:24px;color:#fff;font-size:20px}
#lightbox #previous-image{left:0}
#lightbox #next-image{right:0}
#lightbox #lightbox-rights{position:absolute;z-index:3;left:24px;bottom:20px;color:#fff}
@media(max-width:700px){#lightbox .dialog-bar{padding:12px 14px}#lightbox .lightbox-image button{padding:14px}#lightbox #lightbox-rights{left:14px;bottom:12px}}

/* Closing statement follows the collection's studio heading typography. */
.editorial-end>p{font-family:Helvetica,Arial,sans-serif;font-size:32px;font-weight:700;line-height:1.02;letter-spacing:-.025em}
@media(max-width:600px){.editorial-end>p{font-size:26px}}
