.configurable-gallery{margin:28px auto 0;max-width:100%;--effective-gap:var(--gallery-gap)}
.configurable-gallery.layout-masonry{column-count:var(--gallery-cols);column-gap:var(--effective-gap)}
.configurable-gallery .gallery-card{margin:0 0 var(--effective-gap);break-inside:avoid;min-width:0}
.configurable-gallery.layout-grid{display:grid;grid-template-columns:repeat(var(--gallery-cols),minmax(0,1fr));gap:var(--effective-gap);align-items:start}
.configurable-gallery.layout-grid .gallery-card{margin:0}
.configurable-gallery.layout-horizontal{display:grid;grid-template-columns:repeat(var(--gallery-cols),minmax(0,1fr));gap:var(--effective-gap);align-items:start}
.configurable-gallery.layout-horizontal .gallery-card{margin:0}
.configurable-gallery.layout-vertical{column-count:var(--gallery-cols);column-gap:var(--effective-gap)}
.configurable-gallery.layout-vertical .gallery-card{margin:0 0 var(--effective-gap);width:100%;break-inside:avoid}
/* Keep each vertical card and its lower gap in one column fragment. */
.configurable-gallery:is(.layout-masonry,.layout-vertical)>.gallery-card:not(.is-article-entry){display:inline-block;vertical-align:top;width:100%}
.configurable-gallery .gallery-image img{object-fit:var(--photo-fit,cover);object-position:var(--photo-x,50%) var(--photo-y,50%)}
.configurable-gallery .gallery-image video{width:100%;height:100%;object-fit:var(--photo-fit,cover);object-position:var(--photo-x,50%) var(--photo-y,50%)}
.configurable-gallery .gallery-image.landscape{aspect-ratio:3/2}
.configurable-gallery .gallery-image.auto :is(img,video){height:auto}
.configurable-gallery.layout-free{position:relative;aspect-ratio:100 / var(--canvas-height)}
.positioned-item{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);min-width:0;overflow:hidden}
.positioned-item>.gallery-card{margin:0;height:100%;display:flex;flex-direction:column;min-height:0}
.positioned-item .gallery-card>a{display:flex;flex:1;flex-direction:column;min-height:0;height:auto;overflow:hidden}
.positioned-item .gallery-image{flex:1;min-height:0;height:auto;aspect-ratio:auto}
.positioned-item .gallery-image.auto img{height:100%}
.positioned-item .gallery-image.auto video{height:100%}
.positioned-item .gallery-image.auto .empty-photo{aspect-ratio:auto}
.positioned-item .empty-photo{min-height:0}
.positioned-item figcaption{flex:0 0 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gallery-card figcaption,.content-blocks figcaption,.post-content figcaption,.post-detail-cover figcaption{font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.positioned-item figcaption{white-space:nowrap}
.positioned-item .gallery-writing{flex:0 1 auto;min-height:0;max-height:40%;overflow:hidden}
.gallery-writing{overflow-wrap:anywhere}
.gallery-writing .post-body{margin:0;font-size:14px;line-height:1.8}
.gallery-card.is-writing-only{background:#fff;color:var(--ink)}
.gallery-card.is-writing-only .gallery-writing{padding:18px}
.gallery-writing-link{display:block}
.gallery-card.is-article-entry{column-span:all;grid-column:1/-1;padding:24px 0;border-bottom:1px solid var(--line)}
.article-entry-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.article-entry-heading>h3{font-size:24px;line-height:1.4;font-weight:600}
.article-card-copy{padding:16px 0 8px}
.article-card-copy h3{font-size:18px;line-height:1.5;font-weight:600}
.article-card-copy p{font-size:13px;line-height:1.7;color:var(--gray);margin-top:8px}
.post-detail{max-width:900px;margin-top:32px}
.post-detail>.post-body{font-size:17px;line-height:1.9;white-space:normal}
.post-detail-cover{margin:0 0 28px}
.post-detail-cover img{height:auto;max-height:none;object-fit:contain}
.post-detail-back{margin-top:36px}
/* Template photos and standalone comparisons use the saved photo settings. */
.post-media{position:relative;width:100%;height:auto;min-width:0;overflow:hidden}
.post-media.auto{aspect-ratio:auto}
.post-media.landscape{aspect-ratio:3/2}
.post-media.portrait{aspect-ratio:4/5.2}
.post-media.square{aspect-ratio:1}
.post-media>:is(img,video){display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:var(--photo-fit,cover);object-position:var(--photo-x,50%) var(--photo-y,50%)}
.post-media.auto>:is(img,video){height:auto}
.comparison.photo-comparison{height:auto;max-height:none;aspect-ratio:auto}
.comparison.photo-comparison.landscape{aspect-ratio:3/2}
.comparison.photo-comparison.portrait{aspect-ratio:4/5.2}
.comparison.photo-comparison.square{aspect-ratio:1}
.comparison.photo-comparison :is(img,video){width:100%;height:100%;max-height:none;object-fit:var(--photo-fit,cover);object-position:var(--photo-x,50%) var(--photo-y,50%)}
.comparison.photo-comparison.auto>.compare-base{position:relative}
.comparison.photo-comparison.auto>.compare-base>:is(img,video){height:auto}
.positioned-item .gallery-card.is-writing-only{overflow:hidden}
.positioned-item .gallery-card.is-writing-only .gallery-writing{max-height:none;flex:1}
.positioned-item .gallery-card.is-writing-only .gallery-writing-link{height:auto;display:block}
.editable-blocks{display:flex;flex-wrap:wrap;gap:var(--block-gap,24px);align-items:flex-start}
.editable-block{width:calc(var(--block-width) - var(--block-adjust));min-width:0;overflow-wrap:anywhere}
.editable-block.align-center{margin-left:auto;margin-right:auto}
.editable-block.align-right{margin-left:auto}
.editable-block>p{font-size:17px;line-height:1.85;margin:0}
.editable-block>h2{font-size:32px;line-height:1.35;font-weight:650;letter-spacing:-.035em;margin:0}
.editable-block.block-small>p{font-size:13px}
.editable-block.block-large>p{font-size:24px}
.editable-block.block-small>h2{font-size:24px}
.editable-block.block-large>h2{font-size:46px}
.editable-block>figure{margin:0}
.editable-block>figure img{height:auto;max-height:none;object-fit:contain}
.block-media{position:relative;width:100%;overflow:hidden}
.block-media.landscape{aspect-ratio:3/2}.block-media.square{aspect-ratio:1}.block-media.portrait{aspect-ratio:3/4}
.editable-block>figure .block-media :is(img,video){display:block;width:100%;height:100%;max-height:none;object-fit:var(--photo-fit,contain);object-position:var(--photo-x,50%) var(--photo-y,50%)}
.editable-block>figure .block-media.auto :is(img,video){height:auto}
.media-associated-link{margin-top:10px;font-size:13px}
.editable-block .video-link{margin:0;padding:24px}
.editable-block>hr{border:0;border-top:1px solid currentColor;opacity:.2;margin:16px 0}
.custom-section{padding:var(--section-top,65px) 0 var(--section-bottom,65px)}
.custom-section-white{background:#fff;color:var(--ink)}
.custom-section-green{background:var(--green);color:var(--deep)}
.custom-section-content{margin:0 auto;max-width:100%}
.custom-section-content>h2{font-size:28px;font-weight:650;line-height:1.35;margin-bottom:26px}
.custom-section-green .editable-block>h2,.custom-section-green .custom-section-content>h2{color:#fff}
.custom-section-white{background:var(--section-background,#fff);color:var(--section-text,var(--ink))}
.custom-section-green{background:var(--section-background,var(--green));color:var(--section-text,var(--deep))}
.custom-section-white .editable-block>h2,.custom-section-white .custom-section-content>h2{color:var(--section-text,var(--ink))}
.custom-section-green .editable-block>h2,.custom-section-green .custom-section-content>h2{color:var(--section-text,#fff)}
.home-nav{flex-wrap:wrap;row-gap:0;max-width:65%}
.home-header{min-height:88px;height:auto;padding-top:20px;padding-bottom:20px}
.section-layout-vertical{display:block;columns:var(--section-columns);column-gap:var(--block-gap,24px)}
.section-layout-vertical>.editable-block{display:inline-block;vertical-align:top;width:100%;margin:0 0 var(--block-gap,24px);break-inside:avoid}
.section-layout-horizontal{display:grid;grid-template-columns:repeat(var(--section-columns),minmax(0,1fr))}
.section-layout-horizontal>.editable-block{width:100%;margin:0}
.section-layout-horizontal>.editable-block>figure>img,.section-layout-horizontal>.editable-block>figure>a>img{aspect-ratio:3/2;width:100%;height:auto;object-fit:cover}
.section-layout-free{display:block;position:relative;aspect-ratio:100 / var(--section-canvas-height)}
.section-layout-free>.editable-block{position:absolute;left:var(--section-x);top:var(--section-y);width:var(--section-w);height:var(--section-h);margin:0}
.section-layout-free>.editable-block>figure,.section-layout-free>.editable-block>figure>a{display:block;width:100%;height:100%;margin:0}
.section-layout-free>.editable-block>figure .block-media{height:100%;aspect-ratio:auto}
.section-layout-free>.editable-block>figure .block-media :is(img,video){height:100%;object-fit:var(--photo-fit,cover)}
.section-layout-free>.editable-block>figure:has(figcaption:not(:empty))>.block-media{flex:1;min-height:0;height:auto}
.section-layout-free>.editable-block>figure img{width:100%;height:100%;object-fit:cover}
.section-layout-free>.editable-block>figure:has(figcaption:not(:empty)){display:flex;flex-direction:column;min-height:0}
.section-layout-free>.editable-block>figure:has(figcaption:not(:empty))>a,.section-layout-free>.editable-block>figure:has(figcaption:not(:empty))>img{flex:1;min-height:0;height:auto}
.section-layout-free>.editable-block>figure>figcaption{flex:0 0 auto;max-height:40%;overflow:hidden}
@media(max-width:760px){
  .configurable-gallery{--effective-gap:var(--gallery-mobile-gap);margin-top:24px}
  .configurable-gallery.layout-masonry{column-count:var(--gallery-mobile-cols)}
  .configurable-gallery.layout-vertical{column-count:var(--gallery-mobile-cols)}
  .configurable-gallery.layout-grid{grid-template-columns:repeat(var(--gallery-mobile-cols),minmax(0,1fr))}
  .configurable-gallery.layout-horizontal{grid-template-columns:repeat(var(--gallery-mobile-cols),minmax(0,1fr))}
  .configurable-gallery.layout-free{aspect-ratio:100 / var(--canvas-mobile-height)}
  .positioned-item{left:var(--mobile-x);top:var(--mobile-y);width:var(--mobile-w);height:var(--mobile-h)}
  .editable-blocks{gap:var(--mobile-block-gap,16px)}
  .editable-block{width:calc(var(--mobile-block-width) - var(--mobile-block-adjust))}
  .editable-block>p{font-size:15px}.editable-block>h2{font-size:26px}
  .editable-block.block-large>p{font-size:20px}.editable-block.block-large>h2{font-size:34px}
  .custom-section{padding:var(--section-top,44px) 0 var(--section-bottom,44px)}.custom-section-content>h2{font-size:24px}
  .home-header{min-height:74px;padding-top:17px;padding-bottom:17px}
  .section-layout-vertical{column-count:var(--section-mobile-columns)}
  .section-layout-horizontal{grid-template-columns:repeat(var(--section-mobile-columns),minmax(0,1fr))}
  .section-layout-vertical>.editable-block,.section-layout-horizontal>.editable-block{width:100%}
  .section-layout-free{aspect-ratio:100 / var(--section-mobile-canvas-height)}
  .section-layout-free>.editable-block{left:var(--section-mobile-x);top:var(--section-mobile-y);width:var(--section-mobile-w);height:var(--section-mobile-h)}
}
