/* henks.pics spacing system — see ../STYLEGUIDE.md. */
:root{
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;
 --space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;
 --space-9:64px;--space-10:80px;--space-11:96px;--space-12:128px;--space-13:144px;
 --page-start:135px;--utility-start:112px;
 --paragraph-gap:var(--space-5);--caption-gap:var(--space-3);
 --section-gap:clamp(var(--space-9),8vw,var(--space-13));
 --reading-gutter:clamp(var(--space-6),6vw,var(--space-10));
 --layout-gutter:4vw;
}
/* Shared page start: Prints is the reference. Context links share the title row. */
.sub-page,.sub-page:has(.editorial-page),.sub-page:has(.prints-page){padding-top:var(--page-start);padding-bottom:var(--space-11)}
.sub-page:has(.shop-checkout){padding-top:var(--utility-start)}
.sub-page .editorial-opening h1,.sub-page .collection h1{margin-top:0}
.sub-page .legal-page h1{margin-top:0;margin-bottom:var(--space-6)}
.editorial-page:has(>.story-back){position:relative}
.editorial-page>.story-back{position:absolute;right:0;top:0;margin:0;min-height:32px}
.editorial-rule{margin-top:var(--space-7);padding-top:var(--space-4)}
.biography-page .editorial-opening{padding-bottom:var(--space-7);margin-bottom:var(--space-8)}
.editorial-end{margin-top:var(--section-gap);padding-top:var(--space-5)}
/* Text and image captions. */
.bio-story p,.story-column-copy p,.editorial-copy p,.field-note-card p,.shop-other p,.legal-copy p{margin-bottom:var(--paragraph-gap)}
.bio-story>p:last-child,.story-column-copy>p:last-child{margin-bottom:0}
.bio-story .bio-lead{margin-bottom:var(--space-6)}
.story-column-copy h2{margin:var(--space-7) 0 var(--space-6)}
.work figcaption,.jackal-story figcaption,.bio-main-portrait figcaption,.bio-continuation figcaption,.bio-photo-pair figcaption{margin-top:var(--caption-gap)}
/* Editorial layouts retain distinct compositions on shared spacing intervals. */
.gallery-grid{column-gap:var(--layout-gutter);row-gap:var(--section-gap)}
.gallery-end{margin-top:var(--space-8);padding-top:var(--space-8);padding-bottom:var(--space-5)}
.about{padding-top:var(--space-11);padding-bottom:var(--space-12)}
.about p{margin-bottom:var(--space-6)}
.bio-continuation{margin-top:var(--space-9)}
.field-note-list{gap:var(--section-gap);margin-top:var(--space-6)}
.jackal-story-selected .story-opening-photo{margin-top:var(--space-8)}
.story-narrative-spread{margin-top:var(--space-9);gap:var(--reading-gutter)}
.story-inline-portrait{padding-top:var(--space-5)}
.story-inline-field{padding-top:var(--space-8)}
.story-final-bale{margin-top:var(--space-11)}
/* Print collection, product controls and compact order review. */
.shop-grid{gap:var(--space-8) var(--layout-gutter)}
.shop-card-info{margin-top:var(--space-4);gap:var(--space-4)}
.shop-card-info p{margin-top:var(--space-2)}
.shop-other{margin-top:var(--section-gap);padding-top:var(--space-6)}
.shop-product-top{padding-bottom:var(--space-5);margin-bottom:var(--space-6)}
.shop-product-info .shop-preview{margin:var(--space-3) 0 var(--space-5)}
#print-options fieldset{margin-bottom:var(--space-5)}
#print-options legend{margin-bottom:var(--space-3)}
.shop-spec-note{margin:var(--space-3) 0 var(--space-5)}
.shop-custom{padding-top:var(--space-4);gap:var(--space-4)}
.shop-dialog-heading{padding-bottom:var(--space-4);gap:var(--space-5)}
.shop-bag-item,.shop-review-items .shop-bag-item{padding-block:var(--space-5);gap:var(--space-4)}
.shop-bag-summary{margin-top:var(--space-5)}
.shop-review-heading{margin-top:var(--space-4);gap:var(--space-5)}
.shop-review-grid h2{margin-bottom:var(--space-5)}
.shop-checkout-note{margin:var(--space-5) 0;padding-top:var(--space-4)}
.shop-checkout .shop-product-top{margin:0;padding:0}
/* Footer and contact sections. */
footer{padding-top:var(--space-6);padding-bottom:var(--space-9);row-gap:var(--space-8)}
footer>.footer-legal{padding-top:var(--space-5);gap:var(--space-5)}
@media(max-width:700px){
 :root{--page-start:114px;--utility-start:102px;--caption-gap:var(--space-2);--section-gap:var(--space-8)}
 .sub-page{padding-bottom:var(--space-9)}
 .editorial-page>.story-back{font-size:11px;min-height:44px}
 .editorial-rule{margin-top:var(--space-5);padding-top:var(--space-3)}
 .biography-page .editorial-opening{padding-bottom:var(--space-5);margin-bottom:var(--space-6)}
 .gallery-grid{gap:var(--section-gap)}
 .gallery-end{margin-top:var(--space-6);padding-top:var(--space-5)}
 .about{padding-top:var(--space-9);padding-bottom:var(--space-10);gap:var(--space-6)}
 .about p{margin-bottom:var(--space-5)}
 .bio-opening-grid,.bio-continuation{gap:var(--space-6)}
 .bio-continuation{margin-top:var(--space-8)}
 .field-note-list{margin-top:var(--space-5);gap:var(--space-8)}
 .field-note-card{gap:var(--space-5)}
 .jackal-story-selected .story-opening-photo{margin-top:var(--space-6)}
 .story-narrative-spread{margin-top:var(--space-7);gap:0}
 .story-column-copy-right{margin-top:var(--space-5)}
 .story-column-copy h2{margin:var(--space-7) 0 var(--space-6)}
 .story-inline-portrait{margin-top:var(--space-7);padding-top:0}
 .story-inline-field{margin-top:var(--space-7);padding-top:0}
 .story-final-bale{margin-top:var(--space-8)}
 .shop-grid{gap:var(--space-6) var(--space-4)}
 .shop-card-info{margin-top:var(--space-3)}
 .shop-card-info p{margin:var(--space-2) 0 var(--space-3)}
 .shop-other{margin-top:var(--space-8);padding-top:var(--space-5)}
 .shop-product-top{margin-bottom:var(--space-5);padding-bottom:var(--space-4)}
 .shop-product-grid,.shop-review-grid{gap:var(--space-6)}
 .shop-bag-item,.shop-review-items .shop-bag-item{padding-block:var(--space-4);gap:var(--space-3)}
}

/* Move only the portrait inward; preserve the existing biography text grid. */
@media(min-width:701px){
 :root{--about-photo-copy-gap:max(9vw,calc(42.631579vw - 440px));--bio-column-gap:8vw}
 .bio-opening-grid{column-gap:var(--bio-column-gap)}
 .bio-opening-grid .bio-main-portrait{justify-self:end;margin-right:calc(var(--about-photo-copy-gap) - var(--bio-column-gap))}
 .bio-opening-grid .bio-main-portrait img{object-position:right top}
}

.story-source{width:var(--story-spread-width);margin:var(--space-6) auto 0;color:#66685e;font-size:11px;line-height:1.7}
.story-source p{margin:0;max-width:80ch}
.story-source a{text-decoration:underline;text-underline-offset:3px}
.story-column-copy sup{font-size:10px;margin-left:3px}

.story-study-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* Story photographs: equal text-to-image gaps, with an adaptive right image. */
.story-photo-button{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;color:inherit}
.story-photo-button:focus-visible{outline:2px solid var(--forest);outline-offset:6px}
.story-photo-button img{display:block}
.story-additional-photo{width:calc(var(--story-spread-width) * .68);margin:var(--space-9) auto 0}
.story-additional-photo img{width:100%;height:auto}
@media(min-width:1001px){
 .story-inline-portrait,.story-inline-field{margin:0;padding-top:var(--space-9)}
 .story-inline-field{display:flex;flex-direction:column;flex:1}
 .story-inline-field .story-photo-button{height:0;min-height:0;flex:1;position:relative}
 .story-inline-field .story-photo-button img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:65% center}
}
@media(min-width:701px) and (max-width:1000px){
 .story-narrative-spread{display:flex;flex-direction:column;gap:0}
 .story-narrative-column{display:contents}
 .story-column-copy-left{order:0}
 .story-column-copy-right{order:1;margin-top:var(--space-5)}
 .story-inline-portrait{order:2;margin:var(--space-9) 0 0;padding:0}
 .story-inline-field{order:3;margin:var(--space-9) 0 0;padding:0}
 .story-inline-portrait img{width:auto;max-width:100%;max-height:70svh;margin-inline:auto}
}
@media(max-width:700px){
 .story-additional-photo{width:var(--story-spread-width);margin-top:var(--space-8)}
}

/* Landing selection: a shared left edge for both title lines and mobile copy. */
#selection .gallery-heading h1 span{margin-left:0}
@media(max-width:700px){
 #selection .gallery-heading{padding-bottom:var(--space-7)}
 #selection .gallery-heading p{margin:var(--space-6) 0 0;max-width:28ch;font-size:12px;line-height:1.7;text-align:left}
 #selection .gallery-heading p i{font-size:16px}
}

/* Row planning applies to every regional collection as well as the landing selection.
   Explicit rows prevent the historical nth-child compositions from leaving holes. */
@media(min-width:701px){
 .gallery-grid>.work.layout-solo{grid-column:2/12;grid-row:var(--gallery-row);margin-top:0;align-self:start}
 .gallery-grid>.work.layout-pair-left{grid-column:2/7;grid-row:var(--gallery-row);margin-top:0;align-self:center}
 .gallery-grid>.work.layout-pair-right{grid-column:7/12;grid-row:var(--gallery-row);margin-top:0;align-self:center}
}
.flycatcher-story{--story-spread-width:calc(83.333333% - .666667vw)}
.flycatcher-spread{width:var(--story-spread-width);margin-inline:auto}
.flycatcher-opening{margin-top:var(--space-8)}
.flycatcher-figure{margin:0;min-width:0}
.flycatcher-figure img{display:block;width:100%;height:auto}
.flycatcher-figure figcaption{font-size:10px;color:#64695c;line-height:1.6;margin-top:var(--caption-gap)}
.flycatcher-copy-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--reading-gutter);margin-top:var(--space-9)}
.flycatcher-photo-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:var(--reading-gutter);margin-top:var(--space-9)}
.flycatcher-portrait img{height:auto;width:auto;max-width:100%;max-height:76svh;margin-inline:auto;object-fit:contain}
.flycatcher-portrait figcaption{text-align:center}
.flycatcher-nest{margin-top:var(--space-9)}
.flycatcher-sources{margin-top:var(--space-8)}
.flycatcher-sources p+p{margin-top:var(--space-3)}
@media(max-width:1000px){
 .flycatcher-copy-grid{grid-template-columns:1fr;gap:var(--paragraph-gap)}
}
@media(max-width:700px){
 .flycatcher-story{--story-spread-width:100%}
 .flycatcher-opening{margin-top:var(--space-6)}
 .flycatcher-photo-pair{grid-template-columns:1fr;gap:var(--space-8);margin-top:var(--space-8)}
 .flycatcher-portrait img{max-height:70svh}
 .flycatcher-copy-grid,.flycatcher-nest{margin-top:var(--space-8)}
 .flycatcher-story .editorial-opening h1{font-size:18vw}
}
@media(max-width:700px){.flycatcher-story>.story-back{top:-30px;min-height:24px}}

/* Shared photograph hover: the gallery's gentle zoom on every photo link. */
:is(.work button,.story-photo-button,.field-note-photo,.shop-artwork,.print-view){overflow:hidden}
:is(.work button,.story-photo-button,.field-note-photo,.shop-artwork,.print-view) img{transition:transform .7s ease}
:is(.work button,.story-photo-button,.field-note-photo,.shop-artwork,.print-view):hover{opacity:1;text-decoration:none}
.shop-artwork:hover .shop-paper{transform:none}
@media(hover:hover) and (pointer:fine){
 :is(.work button,.story-photo-button,.field-note-photo,.shop-artwork,.print-view):hover img,
 .gallery-grid .work.portrait button:hover img{transform:scale(1.015)}
}
@media(prefers-reduced-motion:reduce){
 :is(.work button,.story-photo-button,.field-note-photo,.shop-artwork,.print-view):hover img,
 .gallery-grid .work.portrait button:hover img{transform:none}
}

#withdrawal-form label{display:block;font-size:13px;margin:24px 0 8px}#withdrawal-form input,#withdrawal-form textarea{width:100%;font:inherit;background:transparent;border:1px solid var(--line);border-radius:0;padding:12px}#withdrawal-form input[readonly],#withdrawal-form textarea[readonly]{background:#35453708}#withdrawal-form button{margin:8px 12px 8px 0}.footer-legal a:is([href="#withdrawal"],[href="/withdrawal/"]){text-decoration:underline;text-underline-offset:4px}

/* Direct access to the statutory withdrawal function. */
.footer-legal a:is([href="#withdrawal"],[href="/withdrawal/"]){font:inherit;padding:0;border:0}

button.shop-product-art{width:100%;border:0;cursor:zoom-in}button.shop-product-art:focus-visible{outline:2px solid var(--green,#354537);outline-offset:4px}

/* Shared text baseline, including the external Instagram arrow. */
footer>div:not(.footer-legal){align-items:baseline}
footer>div:not(.footer-legal)>a{line-height:1.5}
