/* Match public page gutters to the announcement bar at every viewport size. */
.primary-row,.site-search,.confidence-strip,
.shop-section,.shop-page,.product-page,.mood-section,
.checkout-shell,.perspective-section,.text-page:not(.admin),
.footer-top,.footer-bottom{max-width:none}
.home-hero{width:100%;max-width:none;margin-inline:0}
.store-footer,.perspective-section{padding-left:var(--pad);padding-right:var(--pad)}
.room-story{width:calc(100% - 2 * var(--pad));max-width:none;margin-inline:auto}
.site-header .wordmark{display:flex;flex-direction:column;align-items:center;font-weight:700;line-height:.8;white-space:nowrap}
.site-header .wordmark>span{font-size:.52em;font-weight:400;letter-spacing:.08em;line-height:1;margin:5px 0 0;transform:translateY(5%)}
@media(max-width:760px){
 :root{--pad:22px}
 .announcement{justify-content:flex-start}
 .primary-row,.site-search,.hero-copy,.confidence-strip,
 .shop-section,.shop-page,.product-page,.mood-section,
 .checkout-shell,.text-page:not(.admin){padding-left:var(--pad);padding-right:var(--pad)}
}

/* Product card captions: title, price and description share one centre line. */
.print-card .print-card-caption{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;text-align:center}
.print-card .print-card-caption h3{max-width:100%;text-align:center;overflow-wrap:anywhere}
.print-card .print-card-caption>span{display:block;margin:0;text-align:center}
.print-card>p{text-align:center}

/* Align every Turnstile widget with its form's right edge. Zoom also shrinks
   the occupied layout space, so mobile forms do not keep a desktop-size gap. */
.security-widget[data-turnstile]{display:flex;justify-content:flex-end;width:300px;max-width:100%;margin-left:auto;margin-right:0;zoom:1}
@media(max-width:760px){.security-widget[data-turnstile]{zoom:.7}}

/* Print information, then a brief introduction to the photographer. */
.home-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,100px);padding:clamp(48px,6vw,88px) var(--pad);scroll-margin-top:120px}
.home-prints{background:#f5f5f1;border-block:1px solid var(--line);margin-top:20px}
.home-artist{background:#fff}
.home-info-heading .eyebrow{margin:0 0 20px}
.home-info h2{font-size:clamp(34px,3.8vw,56px);font-weight:400;line-height:1.1;letter-spacing:-1.7px;margin:0;overflow-wrap:anywhere}
.home-info-copy{max-width:620px;align-self:start}
.home-info-copy>p{font-size:15px;line-height:1.85;color:var(--muted);margin:0 0 25px;overflow-wrap:anywhere}
.home-print-details{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:12px}
.home-info .text-link{font-size:13px;white-space:normal}
.home-info .text-link:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
@media(max-width:760px){.home-info{grid-template-columns:minmax(0,1fr);gap:25px;padding:42px var(--pad)}.home-info-heading .eyebrow{margin-bottom:14px}.home-info h2{font-size:36px;letter-spacing:-1.1px}.home-info-copy>p{font-size:14px;line-height:1.8}.home-print-details{flex-direction:column;gap:8px}.home-prints{margin-top:10px}}

/* Catalogue layout: four desktop columns, two mobile columns. */
.shop-page .print-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:760px){.shop-page .print-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Information pages are centred, with left-aligned content up to 800px wide. */
.text-page:not(.admin){box-sizing:border-box;width:calc(100% - 2 * var(--pad));max-width:800px;margin-inline:auto;padding-inline:0;text-align:left;overflow-wrap:anywhere}
.section-description{max-width:560px;margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.7}
.product-artist-link{display:inline-block;margin:0 0 24px;font-size:13px}
.product-help{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;line-height:1.7}
.product-help h2{font-size:16px;font-weight:500;letter-spacing:0;margin:0 0 8px}
.product-help p{margin:0 0 10px}
.newsletter-line .newsletter-submit{font-size:12px;white-space:nowrap;padding-left:12px}
