@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/space-grotesk-400.ttf') format('truetype')}@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/space-grotesk-700.ttf') format('truetype')}:root{--text-size:17px;background:#fff}.variant-two{background:linear-gradient(#fff,#fff) top/100% var(--white-end,1800px) no-repeat,#f0f1e8;font-family:'Space Grotesk',Arial,sans-serif;font-size:var(--text-size)}.filter-defs{position:absolute;width:0;height:0;overflow:hidden}.variant-two>header{position:sticky;top:0;z-index:50;background:#fff}.variant-two>header nav a,.variant-two .dialog-header nav a{color:#c27c16}.variant-two>header nav{font-size:var(--text-size)}.variant-two .project-cover{opacity:1!important}.variant-two .project-cover img{filter:url(#overview-gray);transition:filter .3s}.variant-two .project-cover:hover img,.variant-two .project-cover:focus-visible img{filter:none}.information-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:26px;border-top:1px solid #aab5ad;padding:34px 0 50px;align-items:start}.block-mission,.block-about{grid-column:span 2}.block-kontakt,.block-legal{grid-column:span 1}.text-block{min-width:0;scroll-margin-top:130px}.text-block summary{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;font-size:var(--text-size);font-weight:400;line-height:1.45;min-height:36px}.text-block summary::-webkit-details-marker{display:none}.fold-control{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid currentColor;border-radius:50%}.fold-control svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .2s}.text-block[open] .fold-control svg{transform:rotate(90deg)}.block-body{padding-top:20px}.variant-two .block-body h2,.variant-two .block-body p,.variant-two .block-body a,.variant-two .block-body .email-link,.variant-two .block-body .contact-location{font-family:inherit;font-size:var(--text-size);line-height:1.55;letter-spacing:0;color:#111;overflow-wrap:anywhere;max-width:none}.block-body h2{font-weight:700;margin:0 0 18px}.block-body p{font-weight:400;margin:0 0 18px}.variant-two .email-link{margin:0 0 18px;border-bottom:1px solid;padding-bottom:3px}.variant-two .project-text h2{font-weight:700}.variant-two .project-text p{font-weight:400}.variant-two .instagram-button{font-weight:700}.variant-two footer{margin-top:0}.variant-two .dialog-header{font-family:inherit}.variant-two .dialog-header nav{opacity:1;font-size:var(--text-size)}@media(max-width:900px){.information-grid{gap:18px}.block-mission,.block-about,.block-kontakt,.block-legal{grid-column:span 3}}@media(max-width:600px){.information-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding-top:0}.text-block{grid-column:1/-1!important;border-bottom:1px solid #c6c8bc;padding:22px 0}.block-body{padding-top:16px}.text-block{scroll-margin-top:145px}.variant-two>header nav,.variant-two .dialog-header nav{font-size:var(--text-size);gap:12px 18px}.variant-two>header{padding-top:20px;padding-bottom:20px}}
.variant-two .dialog-header{background:transparent;color:#fff}.variant-two .dialog-header nav a{color:#fff}.variant-two .dialog-header .brand img{filter:brightness(0) invert(1)}.variant-two .dialog-header .close{color:#fff}.variant-two .information-grid{border:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:42px 28px;padding:40px 0 36px;min-height:calc(100svh - var(--header-height,90px));scroll-margin-top:var(--header-height,90px);align-content:start}.information-grid>section,.information-grid>.mission-copy{grid-column:span 2;min-width:0;display:block;border:0;margin:0;padding:0}.information-grid h2,.information-grid p,.information-grid a,.information-grid summary{font-family:'Space Grotesk',Arial,sans-serif;font-size:var(--text-size);line-height:1.55;letter-spacing:0;max-width:none;overflow-wrap:anywhere}.information-grid h2{font-weight:700;margin:0 0 20px}.information-grid p{font-weight:400;margin:0 0 20px}.mission-heading p{margin-bottom:20px}.lower-block summary{display:flex;align-items:start;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.lower-block summary::-webkit-details-marker{display:none}.lower-block details[open] .fold-control svg{transform:rotate(90deg)}.variant-two .social-bubbles{display:flex;justify-content:flex-start;gap:14px;margin-top:0;padding-top:8px}.social-bubbles a,.social-bubbles span{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:1px solid #222;border-radius:40px;font-size:var(--text-size);text-decoration:none;background:transparent}.social-bubbles a:hover{background:#222;color:#fff}.social-unconfigured{opacity:.4;cursor:default}.rail-photo{flex:0 0 auto;margin:0;max-width:none}.rail-photo img{display:block}.rail-photo figcaption{font-size:var(--text-size);line-height:1.4;padding-top:10px;max-width:420px;white-space:normal}.variant-two .project-cover{font-size:0}.variant-two .information-grid #mission,.variant-two .information-grid #about,.variant-two .information-grid #kontakt{scroll-margin-top:calc(var(--header-height,90px) + 24px)}@media(max-width:700px){.variant-two .information-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;padding-top:28px}.information-grid>section,.information-grid>.mission-copy{grid-column:1/-1}.variant-two .social-bubbles{gap:10px;flex-wrap:wrap}.social-bubbles a,.social-bubbles span{padding:9px 16px}}
/* Shared six-column rhythm: navigation and second text column share a grid line. */
.variant-two{background:#fff;padding-bottom:0;--column-gap:28px;--page-edge:4.2vw}
.variant-two>header,.variant-two .dialog-header{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:var(--column-gap)}
.variant-two header .brand{grid-column:1/3}.variant-two header nav{grid-column:3/7;justify-content:flex-start;margin:0}
.variant-two .information-grid{display:block;background:#e9e5d7;margin:0;padding:48px var(--page-edge) 52px;min-height:calc(100svh - var(--header-height,90px));scroll-margin-top:var(--header-height,90px)}
.editorial-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--column-gap);align-items:start}
.editorial-grid>section,.editorial-grid>div{grid-column:span 2;min-width:0}
.variant-two .editorial-grid h2,.variant-two .editorial-grid p,.variant-two .legal-band{font-family:inherit;font-size:var(--text-size);line-height:1.55;letter-spacing:0}
.variant-two .editorial-grid h2{font-weight:700;margin:0 0 22px}.variant-two .editorial-grid p{font-weight:400;margin:0 0 22px}
.variant-two .mission-first h2{font-size:150%;line-height:1.25}
.variant-two .contact-band{background:#f4f0e8;padding:48px var(--page-edge);margin:0;border:0}
.editorial-grid>.instagram-section{grid-column:span 4}.instagram-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}
.bubble{display:inline-flex;border:1px solid currentColor;border-radius:40px;padding:9px 20px;font-size:var(--text-size);text-decoration:none}.bubble:hover{background:#111;color:#fff}
.instagram-carousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px;margin-bottom:20px;scrollbar-width:thin;overscroll-behavior-x:contain}.instagram-card{flex:0 0 calc((100% - 42px)/4);scroll-snap-align:start;min-width:110px}.instagram-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.instagram-card span{display:block;margin-top:8px;line-height:1.4}
.instagram-controls{display:flex;gap:8px}.instagram-controls[hidden]{display:none}.instagram-controls button{border:1px solid currentColor;border-radius:50%;width:36px;height:36px;background:transparent}.instagram-controls button:disabled{opacity:.3}
.variant-two .legal-band{display:block;margin:0;padding:28px var(--page-edge);background:#d9d5c8}.legal-band details{width:100%}.legal-band summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none}.legal-band summary::-webkit-details-marker{display:none}.legal-band details[open] .fold-control svg{transform:rotate(90deg)}.legal-body{padding-top:24px;max-width:700px}.legal-body p{margin:0 0 18px}
#mission,#about,#kontakt,#legal{scroll-margin-top:calc(var(--header-height,90px) + 24px)}
@media(max-width:700px){.variant-two{--column-gap:16px;--text-size:16px}.variant-two>header nav,.variant-two .dialog-header nav{font-size:14px;gap:10px 14px}.variant-two .information-grid{padding-top:32px;padding-bottom:32px}.editorial-grid{row-gap:22px}.editorial-grid>section,.editorial-grid>div,.editorial-grid>.instagram-section{grid-column:1/-1}.variant-two .contact-band{padding-top:32px;padding-bottom:32px}.instagram-card{flex-basis:44%}.variant-two .mission-first h2{font-size:150%}}
/* Atkinson Hyperlegible is served locally, with no Google Fonts request. */
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/AtkinsonHyperlegible-Regular.ttf') format('truetype')}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/AtkinsonHyperlegible-Bold.ttf') format('truetype')}
.variant-two h1,.variant-two h2,.variant-two .editorial-grid h2,.variant-two .project-text h2,.variant-two header nav,.variant-two .legal-band summary{font-family:'Atkinson Hyperlegible',Arial,sans-serif}
.variant-two header nav{gap:12px;flex-wrap:wrap}
.variant-two header nav a{display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:999px;padding:7px 16px;min-height:40px;font-weight:400;line-height:1.2;text-decoration:none;transition:background .2s,color .2s}
.variant-two>header nav a{color:#996015;background:#fff}.variant-two>header nav a:hover{background:#fff0d6;color:#70440d}
.variant-two .dialog-header nav a{color:#fff;background:transparent}.variant-two .dialog-header nav a:hover{background:#ffffff26}
.variant-two .page-bottom{display:flex;flex-direction:column;min-height:calc(100svh - var(--header-height,90px))}
.variant-two .information-grid{min-height:0;padding-bottom:48px}.variant-two .editorial-grid p:last-child{margin-bottom:0}
.variant-two .contact-band{flex-grow:1}.variant-two .mail-button{background:#ffae54;border-color:#ffae54;color:#241c13;font-weight:700}.variant-two .mail-button:hover{background:#ff992e;border-color:#ff992e;color:#241c13}
.variant-two .legal-band{background:#faf7ef}.legal-band details[open] .legal-body{animation:legal-reveal .22s ease-out}@keyframes legal-reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:700px){.variant-two header nav{gap:8px}.variant-two header nav a{padding:6px 11px;min-height:36px}.variant-two .information-grid{padding-bottom:32px}}
/* Keep visible keyboard focus without persistent mouse-click frames. */
.variant-two:not(.keyboard-navigation) :is(a,button,summary,.rail):focus{outline:none}
.variant-two.keyboard-navigation :is(a,button,summary,.rail):focus-visible{outline:2px solid currentColor;outline-offset:4px}
.variant-two.keyboard-navigation .rail:focus-visible{outline-offset:-2px}
.variant-two .project-text{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:start;gap:24px}
.variant-two .project-text .gallery-controls{padding:0;align-self:start;margin:0;display:flex;align-items:center;gap:10px}
.variant-two .project-text h2,.variant-two .project-text p{display:block;margin:0;line-height:1.45}
@media(max-width:700px){.variant-two .project-text{grid-template-columns:minmax(0,1fr) auto;gap:12px 20px}.variant-two .project-text h2{grid-column:1;grid-row:1}.variant-two .project-text .gallery-controls{grid-column:2;grid-row:1}.variant-two .project-text>p{grid-column:1/-1}}

/* Browser-native grayscale makes the hover state reliable in Firefox and Safari. */
.variant-two .project-cover img{filter:grayscale(1);transition:filter .3s ease}
.variant-two .project-cover:hover img,.variant-two .project-cover:focus-visible img{filter:grayscale(0)}

/* Version 2: one four-column rhythm across navigation and editorial content. */
.variant-two>header,.variant-two .dialog-header{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--column-gap)}
.variant-two header .brand{grid-column:1/2}
.variant-two header nav{grid-column:2/5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--column-gap);align-items:center}
.variant-two header nav a{justify-self:start}
.variant-two .editorial-grid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--column-gap)}
.variant-two .editorial-grid>section,.variant-two .editorial-grid>div{grid-column:span 1}
.variant-two .editorial-grid>.instagram-section{grid-column:1/-1}
.variant-two .information-grid{background:#e9e5d7}
@media(max-width:900px){.variant-two .information-grid .editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}.variant-two .information-grid .editorial-grid>section,.variant-two .information-grid .editorial-grid>div{grid-column:span 1}}
@media(max-width:700px){.variant-two>header,.variant-two .dialog-header{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:10px}.variant-two header .brand{grid-column:1/2}.variant-two header nav{grid-column:2/5;gap:5px}.variant-two header nav a{padding:6px 8px;min-height:34px;font-size:12px;white-space:nowrap}.variant-two .information-grid .editorial-grid{grid-template-columns:1fr}.variant-two .information-grid .editorial-grid>section,.variant-two .information-grid .editorial-grid>div{grid-column:1/-1}.variant-two .contact-band .editorial-grid{grid-template-columns:1fr}}

/* Header links sit together in the second column; the gallery has inset controls. */
.variant-two header nav{grid-column:2/3;display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:center;gap:8px}
.variant-two .grid{margin-top:120px}
.variant-two .project-stage{padding-right:var(--page-edge)}
.variant-two .gallery-area{position:relative}
.variant-two .rail{padding-right:0;scrollbar-color:#35302488 transparent}
.variant-two .gallery-area .gallery-controls{position:absolute;left:16px;right:16px;top:50%;transform:translateY(-50%);z-index:2;display:flex;justify-content:space-between;padding:0;pointer-events:none}
.variant-two .gallery-area .gallery-controls button{width:48px;height:48px;background:#fff;color:#111;border:0;box-shadow:0 2px 12px #0003;pointer-events:auto}
.variant-two .gallery-area .gallery-controls button svg{width:25px;height:25px}
.variant-two .gallery-area .gallery-controls button:disabled{opacity:.38}
@media(max-width:900px){.variant-two header nav{grid-column:2/4}}
@media(max-width:700px){.variant-two .grid{margin-top:80px}.variant-two header nav{grid-column:2/5;gap:5px}.variant-two .gallery-area .gallery-controls{left:8px;right:8px}.variant-two .gallery-area .gallery-controls button{width:42px;height:42px}}

/* Single-line navigation and matching white circular gallery controls. */
.variant-two header nav{flex-wrap:nowrap;white-space:nowrap;width:max-content}
.variant-two .dialog-header .close,.variant-two .gallery-area .gallery-controls button{width:48px;height:48px;min-width:48px;border:0;border-radius:50%;background:#fff;color:#111;box-shadow:0 2px 12px #0003}
.variant-two .dialog-header .close svg,.variant-two .gallery-area .gallery-controls button svg{width:25px;height:25px;stroke:#111}
.variant-two .gallery-area .gallery-controls button:disabled{visibility:hidden;opacity:0;pointer-events:none}
@media(max-width:700px){.variant-two .dialog-header .close,.variant-two .gallery-area .gallery-controls button{width:42px;height:42px;min-width:42px}.variant-two .dialog-header .close svg,.variant-two .gallery-area .gallery-controls button svg{width:22px;height:22px}}
/* The close control stays outlined while the gallery arrows remain filled. */
.variant-two .dialog-header .close{background:transparent;color:#fff;border:1.5px solid #fff;box-shadow:none}
.variant-two .dialog-header .close svg{stroke:#fff}
/* One spacing token for the first image below either header. */
.variant-two{--header-image-gap:48px}
.variant-two .grid{margin-top:var(--header-image-gap)}
.variant-two .project-stage{padding-top:var(--header-image-gap)}
@media(max-width:700px){.variant-two{--header-image-gap:32px}}

/* A fixed, editable selection offers a quick overview of photographic work. */
.variant-two .portfolio-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:var(--header-image-gap);margin-bottom:28px}
.variant-two .portfolio-intro p{font-size:18px;line-height:1.5;max-width:680px;margin:0}
.variant-two .portfolio-intro a{flex-shrink:0}
.variant-two .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 16px;height:auto!important;margin-top:0;position:static}
.variant-two .project-cover{position:static;display:flex;flex-direction:column;gap:8px;width:auto;height:auto;transform:none;opacity:1}
.variant-two .project-cover img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:#f4f4f2;filter:none!important}
.variant-two .preview-title{font-size:14px;line-height:1.35}
@media(max-width:900px){.variant-two .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.variant-two .portfolio-intro{align-items:flex-start;flex-direction:column;gap:16px}.variant-two .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}}
/* Editorial rows: varied scale and whitespace, with uncropped photographs. */
.variant-two .grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:72px;align-items:center}
.variant-two .project-cover{align-self:center;gap:10px}
.variant-two .project-cover img{aspect-ratio:auto;background:transparent;width:100%;height:auto;object-fit:contain}
.variant-two .project-cover:nth-child(8n+1){grid-column:1/span 7}
.variant-two .project-cover:nth-child(8n+2){grid-column:9/span 4}
.variant-two .project-cover:nth-child(8n+3){grid-column:2/span 4}
.variant-two .project-cover:nth-child(8n+4){grid-column:7/span 6}
.variant-two .project-cover:nth-child(8n+5){grid-column:1/span 5}
.variant-two .project-cover:nth-child(8n+6){grid-column:8/span 5}
.variant-two .project-cover:nth-child(8n+7){grid-column:2/span 6}
.variant-two .project-cover:nth-child(8n+8){grid-column:10/span 3}
.variant-two .preview-title{color:#555}
@media(max-width:900px){.variant-two .grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:18px;row-gap:48px}}
@media(max-width:600px){.variant-two .grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:36px 12px}.variant-two .project-cover:nth-child(n){grid-column:1/-1}.variant-two .project-cover:nth-child(2n){grid-column:2/6}}

.variant-two .overview-tabs{display:flex;gap:24px;margin-top:var(--header-image-gap);margin-bottom:24px;flex-wrap:wrap;font-size:16px}.overview-tabs a{text-decoration:underline;text-underline-offset:5px}.sort-controls{margin-bottom:24px}.sort-controls:empty{display:none}.sort-controls select{font:inherit;background:#fff;border:1px solid #aaa;padding:6px}.variant-two .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px;align-items:center}.variant-two .project-cover:nth-child(n){grid-column:auto;width:100%;justify-self:center}.variant-two[data-overview="selected"] .project-cover:nth-child(3n+2){width:80%}.variant-two[data-overview="selected"] .project-cover:nth-child(3n){width:90%}.variant-two .preview-title{font-size:14px;line-height:1.5;color:#111;font-weight:400}.variant-two .preview-title strong{font-weight:700}.variant-two:not([data-overview="selected"]) .project-cover img{aspect-ratio:4/5;object-fit:contain;background:#f6f6f4}.variant-two:not([data-overview="selected"]) .grid{align-items:start}@media(max-width:700px){.variant-two .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}.variant-two[data-overview="selected"] .project-cover:nth-child(n){width:100%}}@media(max-width:420px){.variant-two .grid{grid-template-columns:1fr}}

/* Four ordered columns; bounded random sizing never changes sequence. */
.variant-two .grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.variant-two[data-overview="selected"] .project-cover:nth-child(n){width:calc(var(--preview-scale,1)*100%);margin-top:var(--preview-offset,0px);justify-self:center;align-self:center}
@media(max-width:900px){.variant-two .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.variant-two .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.variant-two[data-overview="selected"] .project-cover:nth-child(n){width:100%;margin-top:0}}
@media(max-width:420px){.variant-two .grid{grid-template-columns:1fr}}

/* Sketch layout: a calm, repeatable four-column composition on the overview. */
.variant-two[data-overview="selected"] .grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:clamp(18px,2.15vw,38px);
  row-gap:clamp(46px,6.5vw,110px);
  align-items:start;
}
.variant-two[data-overview="selected"] .project-cover:nth-child(n){
  width:100%;
  margin-top:0;
  align-self:start;
  justify-self:stretch;
}
.variant-two[data-overview="selected"] .project-cover:nth-child(8n+1){grid-column:1;width:78%;justify-self:start}
.variant-two[data-overview="selected"] .project-cover:nth-child(8n+2){grid-column:2/span 2;width:88%;justify-self:center}
.variant-two[data-overview="selected"] .project-cover:nth-child(8n+3){grid-column:4;width:72%;justify-self:end;margin-top:clamp(18px,3vw,52px)}
.variant-two[data-overview="selected"] .project-cover:nth-child(8n+4){grid-column:1;width:88%;justify-self:end}
.variant-two[data-overview="selected"] .project-cover:nth-child(8n+5){grid-column:2;width:76%;justify-self:center;margin-top:clamp(14px,2vw,34px)}
.variant-two[data-overview="selected"] .project-cover:nth-child(8n+6){grid-column:3/span 2;width:90%;justify-self:end}
.variant-two[data-overview="selected"] .project-cover:nth-child(8n+7){grid-column:1/span 2;width:82%;justify-self:start;margin-top:clamp(12px,2vw,32px)}
.variant-two[data-overview="selected"] .project-cover:nth-child(8n+8){grid-column:3;width:74%;justify-self:center}

/* Category and date views use the regular four-column contact sheet from the sketch. */
.variant-two:not([data-overview="selected"]) .grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(28px,3.4vw,58px) clamp(14px,1.8vw,30px);
  align-items:start;
}
.variant-two:not([data-overview="selected"]) .project-cover{
  width:100%;
  margin:0;
}
.variant-two:not([data-overview="selected"]) .project-cover img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:contain;
  object-position:center;
  background:#f6f6f4;
}

/* Detail view: one dominant image with the following image already visible at the edge. */
.variant-two .rail{gap:clamp(12px,1.5vw,26px);scroll-snap-type:x proximity}
.variant-two .rail-photo{
  flex:0 0 min(72vw,1040px);
  width:min(72vw,1040px);
  scroll-snap-align:start;
}
.variant-two .rail-photo img{
  width:100%;
  height:var(--gallery-height);
  object-fit:contain;
  object-position:left center;
}

@media(max-width:900px){
  .variant-two[data-overview="selected"] .grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px}
  .variant-two[data-overview="selected"] .project-cover:nth-child(n){grid-column:auto;width:100%;margin-top:0;justify-self:stretch}
  .variant-two[data-overview="selected"] .project-cover:nth-child(4n+1),
  .variant-two[data-overview="selected"] .project-cover:nth-child(4n){width:78%}
  .variant-two[data-overview="selected"] .project-cover:nth-child(4n){justify-self:end}
  .variant-two:not([data-overview="selected"]) .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .variant-two .rail-photo{flex-basis:82vw;width:82vw}
}
@media(max-width:560px){
  .variant-two[data-overview="selected"] .grid,
  .variant-two:not([data-overview="selected"]) .grid{grid-template-columns:1fr;row-gap:40px}
  .variant-two[data-overview="selected"] .project-cover:nth-child(n){width:100%;justify-self:stretch}
  .variant-two .rail-photo{flex-basis:88vw;width:88vw}
}

/* Shared two-line header and an oversized, pannable masonry field. */
.variant-two{overflow-x:hidden;scrollbar-width:none}
.variant-two::-webkit-scrollbar{display:none}
.variant-two>header{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));row-gap:22px;padding-bottom:20px}
.variant-two>header .overview-tabs{grid-column:2/-1;grid-row:2;margin:0;gap:24px;font-size:16px;display:flex;width:auto}
.variant-two>header .overview-tabs a{border:0;border-radius:0;padding:0;min-height:0;color:#111;background:none;text-decoration:none}
.variant-two>header .overview-tabs a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
.variant-two .sort-controls{margin-top:24px}
.variant-two .image-field{width:100vw;margin-left:-4.2vw;height:calc(100svh - var(--header-height,160px));min-height:420px;overflow:auto;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior-x:contain;padding:28px 0 48px}
.variant-two .image-field::-webkit-scrollbar{display:none}
.variant-two .image-field.is-dragging{cursor:grabbing;user-select:none}
.variant-two[data-overview="selected"] .image-field .grid{display:block;position:relative;height:var(--field-height,1600px)!important;min-height:0;margin:0;padding:0;contain:layout}
.variant-two .dialog-header{row-gap:22px}
.variant-two .dialog-header .overview-tabs{grid-column:2/-1;grid-row:2;display:flex;margin:0;gap:24px}
.variant-two .dialog-header .overview-tabs a{border:0;border-radius:0;padding:0;min-height:0;color:#fff;font-size:16px}
.variant-two[data-overview="selected"] .image-field .project-cover:nth-child(n){position:absolute;grid-column:auto;margin:0;align-self:auto;justify-self:auto;transform:none}
.variant-two[data-overview="selected"] .image-field .project-cover img{height:auto;width:100%;max-width:none;aspect-ratio:auto;background:none;object-fit:contain}
.variant-two:not([data-overview="selected"]) .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 28px;margin-top:28px}
.variant-two:not([data-overview="selected"]) .project-cover img{aspect-ratio:1;object-fit:contain;background:none}
.variant-two .rail{gap:10px;scrollbar-width:none}
.variant-two .rail::-webkit-scrollbar{display:none}
.variant-two .rail-photo{flex:0 0 auto;width:auto}
.variant-two .rail-photo img{width:auto;height:var(--gallery-height);object-fit:contain}
@media(max-width:700px){
 .variant-two>header .overview-tabs{grid-column:1/-1;gap:20px;font-size:14px}
 .variant-two:not([data-overview="selected"]) .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
}
