/*
Theme Name: Sarah Watkinson
Theme URI: https://sarahwatkinson.com/
Description: A standalone warm, timeless gallery-style WordPress theme for Sarah Watkinson's artist website.
Author: OpenAI
Version: 3.25
Text Domain: sarah-watkinson
*/

:root {
  --sw-ivory: #f3eee3;
  --sw-paper: #fbf8f1;
  --sw-ink: #24231f;
  --sw-muted: #706b62;
  --sw-line: rgba(36,35,31,.18);
  --sw-walnut: #5d4634;
  --sw-max: 1380px;
}

body {
  background: var(--sw-ivory);
  color: var(--sw-ink);
}

.sw-home {
  background: var(--sw-ivory);
  color: var(--sw-ink);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}

.sw-home *, .sw-home *::before, .sw-home *::after { box-sizing: border-box; }
.sw-home img { display:block; width:100%; height:auto; }
.sw-wrap { width:min(calc(100% - 48px), var(--sw-max)); margin-inline:auto; }

.sw-header {
  position: relative;
  border-bottom: 1px solid var(--sw-line);
  background: rgba(243,238,227,.96);
}

.sw-header-inner {
  min-height: 96px;
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap:24px;
}

.sw-brand {
  grid-column:2;
  color:var(--sw-ink);
  text-decoration:none;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(1.55rem,2.4vw,2.25rem);
  letter-spacing:.16em;
  font-weight:500;
  text-transform:uppercase;
  white-space:nowrap;
}

.sw-nav { grid-column:1 / -1; display:flex; justify-content:center; gap:30px; padding:0 0 22px; flex-wrap:wrap; }
.sw-nav a { color:var(--sw-ink); text-decoration:none; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; }
.sw-nav a:hover { opacity:.58; }

.sw-intro { text-align:center; padding:72px 0 34px; }
.sw-title { margin:0; font-family:"Cormorant Garamond", Georgia, serif; font-weight:400; font-size:clamp(3.1rem,7vw,6.7rem); line-height:.9; letter-spacing:.03em; text-transform:uppercase; }
.sw-artist { margin:10px 0 0; font-family:"Cormorant Garamond", Georgia, serif; font-size:clamp(3rem,6.5vw,6.2rem); line-height:.9; letter-spacing:.08em; font-style:normal; font-weight:400; color:var(--sw-ink); }
.sw-inspired { margin:28px 0 0; font-family:"Cormorant Garamond", Georgia, serif; font-size:clamp(1.3rem,2.2vw,1.9rem); font-style:italic; color:var(--sw-muted); }

.sw-inspiration { width:min(calc(100% - 48px), 1480px); margin:0 auto 88px; display:grid; gap:18px; }
.sw-inspiration-panel { position:relative; overflow:hidden; background:#ddd5c9; min-height:clamp(360px,55vw,760px); }
.sw-inspiration-panel img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sw-inspiration-panel::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.16); pointer-events:none; }
.sw-inspiration-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,18,15,.05),rgba(20,18,15,.16)); }
.sw-inspiration-panel h2 { position:absolute; z-index:2; margin:0; color:#fffdf8; font-family:"Cormorant Garamond", Georgia, serif; font-size:clamp(4.5rem,13vw,12.8rem); line-height:.72; font-weight:400; letter-spacing:.015em; text-shadow:0 2px 20px rgba(0,0,0,.16); white-space:nowrap; }
.sw-inspiration-nature h2 { top:5%; left:3%; }
.sw-inspiration-colour h2 { right:2.5%; bottom:3%; }
.sw-inspiration-nostalgia h2 { left:3%; bottom:4%; font-size:clamp(4rem,11.5vw,11rem); }
.sw-inspiration-nature img { object-position:center 50%; }
.sw-inspiration-colour img { object-position:center 46%; }
.sw-inspiration-nostalgia img { object-position:center 48%; }

.sw-section { padding:0 0 120px; }
.sw-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; border-bottom:1px solid var(--sw-line); padding-bottom:22px; margin-bottom:42px; }
.sw-section-title { margin:0; font-family:"Cormorant Garamond", Georgia, serif; font-size:clamp(2.45rem,4vw,4.3rem); font-weight:400; line-height:.95; }
.sw-section-note { margin:0; color:var(--sw-muted); font-family:"Cormorant Garamond", Georgia, serif; font-size:1.25rem; font-style:italic; }

.sw-gallery { display:grid; grid-template-columns:repeat(12,1fr); gap:32px; align-items:start; }
.sw-card { margin:0; }
.sw-card:nth-child(1) { grid-column:1 / span 5; }
.sw-card:nth-child(2) { grid-column:7 / span 6; margin-top:70px; }
.sw-card:nth-child(3) { grid-column:2 / span 6; margin-top:10px; }
.sw-card:nth-child(4) { grid-column:9 / span 4; margin-top:-36px; }
.sw-card:nth-child(5) { grid-column:5 / span 6; margin-top:12px; }
.sw-card img { background:#eee9df; transition:transform .45s ease, filter .45s ease; }
.sw-card:hover img { transform:scale(1.008); filter:brightness(.985); }
.sw-card figcaption { padding-top:12px; color:var(--sw-muted); font-size:.76rem; letter-spacing:.11em; text-transform:uppercase; }

.sw-about { background:var(--sw-paper); padding:112px 0; margin-bottom:120px; }
.sw-about-grid { display:grid; grid-template-columns:5fr 7fr; gap:8vw; align-items:start; }
.sw-about h2, .sw-prints h2 { margin:0; font-family:"Cormorant Garamond", Georgia, serif; font-weight:400; font-size:clamp(2.7rem,4.4vw,4.8rem); line-height:.96; }
.sw-about-copy { max-width:700px; }
.sw-about-copy p { margin:0; font-family:"Cormorant Garamond", Georgia, serif; font-size:clamp(1.42rem,2.15vw,2rem); line-height:1.45; color:#3f3b34; }
.sw-link { display:inline-block; margin-top:30px; color:var(--sw-ink); text-decoration:none; border-bottom:1px solid var(--sw-ink); padding-bottom:5px; font-size:.8rem; letter-spacing:.13em; text-transform:uppercase; }

.sw-prints { padding-bottom:120px; }
.sw-prints-box { border-top:1px solid var(--sw-line); border-bottom:1px solid var(--sw-line); padding:80px 0; display:grid; grid-template-columns:7fr 5fr; gap:8vw; align-items:center; }
.sw-prints-copy p { max-width:540px; color:var(--sw-muted); font-size:1.03rem; margin:20px 0 0; }
.sw-prints-mark { min-height:300px; display:flex; align-items:center; justify-content:center; border:1px solid var(--sw-line); background:rgba(255,255,255,.18); }
.sw-prints-mark span { font-family:"Cormorant Garamond", Georgia, serif; font-size:clamp(2rem,4vw,4.4rem); font-style:italic; color:var(--sw-walnut); opacity:.72; }

.sw-footer { border-top:1px solid var(--sw-line); padding:44px 0 56px; }
.sw-footer-inner { display:flex; justify-content:space-between; gap:28px; flex-wrap:wrap; color:var(--sw-muted); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.sw-footer a { color:inherit; text-decoration:none; }

@media (max-width: 820px) {
  .sw-wrap, .sw-hero { width:min(calc(100% - 28px), var(--sw-max)); }
  .sw-header-inner { min-height:82px; display:flex; justify-content:center; }
  .sw-nav { gap:17px; padding-bottom:18px; }
  .sw-intro { padding:54px 0 26px; }
  .sw-inspiration { width:min(calc(100% - 28px), 1480px); gap:12px; margin-bottom:68px; }
  .sw-inspiration-panel { min-height:clamp(330px,88vw,600px); }
  .sw-inspiration-panel h2 { font-size:clamp(3.6rem,18vw,7rem); }
  .sw-inspiration-nostalgia h2 { font-size:clamp(3.1rem,15.5vw,6.2rem); }
  .sw-section { padding-bottom:82px; }
  .sw-section-head { align-items:flex-start; flex-direction:column; gap:8px; margin-bottom:30px; }
  .sw-gallery { grid-template-columns:1fr 1fr; gap:20px; }
  .sw-card:nth-child(n) { grid-column:auto; margin-top:0; }
  .sw-card:nth-child(1), .sw-card:nth-child(4), .sw-card:nth-child(5) { grid-column:1 / -1; }
  .sw-about { padding:76px 0; margin-bottom:80px; }
  .sw-about-grid, .sw-prints-box { grid-template-columns:1fr; gap:34px; }
  .sw-prints { padding-bottom:80px; }
  .sw-prints-box { padding:58px 0; }
  .sw-prints-mark { min-height:220px; }
}


/* WooCommerce / Shop */
.sw-shop { padding-top:68px; padding-bottom:110px; font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.sw-shop-inner { min-height:50vh; }
.sw-shop .woocommerce-products-header__title,
.sw-shop .product_title,
.sw-shop .woocommerce-order-details__title,
.sw-shop .woocommerce-column__title,
.sw-shop .cart_totals h2,
.sw-shop #order_review_heading,
.sw-shop .woocommerce-billing-fields h3,
.sw-shop .woocommerce-additional-fields h3 {
  font-family:"Cormorant Garamond", Georgia, serif;
  font-weight:400;
  line-height:1;
  color:var(--sw-ink);
}
.sw-shop .woocommerce-products-header__title { font-size:clamp(3rem,5vw,5.2rem); margin:0 0 22px; }
.sw-shop .woocommerce-result-count,
.sw-shop .woocommerce-ordering { color:var(--sw-muted); }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:52px 30px; margin-top:50px; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto !important; margin:0 !important; float:none !important; }
.woocommerce ul.products li.product a img { margin:0 0 16px; background:#eee9df; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:"Cormorant Garamond", Georgia, serif; font-size:1.55rem; font-weight:400; color:var(--sw-ink); padding:0; }
.woocommerce ul.products li.product .price { color:var(--sw-muted); font-size:.92rem; margin-top:7px; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background:var(--sw-ink);
  color:var(--sw-paper);
  border:1px solid var(--sw-ink);
  border-radius:0;
  font-size:.76rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:13px 18px;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover { background:transparent; color:var(--sw-ink); }
.woocommerce div.product { margin-top:20px; }
.woocommerce div.product .product_title { font-size:clamp(2.8rem,4.4vw,4.7rem); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color:var(--sw-walnut); font-family:"Cormorant Garamond", Georgia, serif; font-size:1.45rem; }
.woocommerce div.product .woocommerce-product-details__short-description { color:var(--sw-muted); max-width:620px; }
.woocommerce div.product form.cart .button { min-height:48px; }
.woocommerce div.product form.cart input.qty { min-height:48px; border:1px solid var(--sw-line); background:var(--sw-paper); }
.woocommerce table.shop_table { border:1px solid var(--sw-line); border-radius:0; background:var(--sw-paper); }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { border-color:var(--sw-line); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce select { border:1px solid var(--sw-line); border-radius:0; background:var(--sw-paper); padding:12px; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { border-top-color:var(--sw-walnut); background:var(--sw-paper); }
.woocommerce-message::before,
.woocommerce-info::before { color:var(--sw-walnut); }
.sw-cart-link { color:var(--sw-ink); text-decoration:none; }

@media (max-width:820px) {
  .sw-shop { padding-top:42px; padding-bottom:72px; }
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 16px; }
}

@media (max-width:520px) {
  .woocommerce ul.products { grid-template-columns:1fr; }
}

/* Homepage artist statement */
.sw-home-statement { max-width: 980px; }
.sw-home-statement .sw-about-copy { max-width: 900px; }

/* About page */
.sw-about-page { padding: 96px 0 130px; }
.sw-about-page-inner { max-width: 880px; margin: 0 auto; }
.sw-about-page h1 { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(3rem, 6vw, 5.8rem); font-weight: 400; line-height: .98; margin: 0 0 58px; }
.sw-about-page-copy { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(1.3rem, 1.8vw, 1.65rem); line-height: 1.6; color: #3f3b34; }
.sw-about-page-copy p { margin: 0 0 1.25em; }
.sw-about-page-copy p:last-child { margin-bottom: 0; }

/* v1.6 homepage collage and single-page About */
.sw-collage-intro {
  max-width: 1120px;
  text-align: center;
  padding: 18px 0 54px;
}
.sw-collage-intro p {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.8rem, 3.2vw, 3.25rem);
  line-height: 1.18;
  font-weight: 400;
  color: #37332d;
}
.sw-triple-collage {
  width: min(calc(100% - 48px), 1480px);
  margin: 0 auto 62px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  overflow: hidden;
}
.sw-collage-panel {
  margin: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #e9e2d8;
}
.sw-collage-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sw-collage-panel:nth-child(1) img { object-position: center 50%; }
.sw-collage-panel:nth-child(2) img { object-position: center 57%; }
.sw-collage-panel:nth-child(3) img { object-position: center 50%; }

.sw-river-feature {
  margin-bottom: 86px;
}
.sw-river-feature img {
  width: 100%;
  max-height: 760px;
  object-fit: cover;
  object-position: center 50%;
}

.sw-about-home {
  scroll-margin-top: 24px;
  margin-bottom: 120px;
}
.sw-about-home-inner {
  display: grid;
  grid-template-columns: minmax(180px, 3fr) minmax(0, 8fr);
  gap: 8vw;
  align-items: start;
}
.sw-about-home h2 {
  position: sticky;
  top: 24px;
}
.sw-about-home-copy {
  max-width: 850px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.23rem, 1.75vw, 1.62rem);
  line-height: 1.62;
  color: #3f3b34;
}
.sw-about-home-copy p { margin: 0 0 1.2em; }
.sw-about-home-copy p:last-child { margin-bottom: 0; }

#original-paintings, #prints { scroll-margin-top: 24px; }

@media (max-width: 820px) {
  .sw-collage-intro { padding: 10px 0 36px; }
  .sw-triple-collage {
    width: min(calc(100% - 20px), 1480px);
    gap: 5px;
    margin-bottom: 40px;
  }
  .sw-collage-panel { aspect-ratio: 3 / 5; }
  .sw-river-feature { margin-bottom: 62px; }
  .sw-about-home-inner { grid-template-columns: 1fr; gap: 28px; }
  .sw-about-home h2 { position: static; }
  .sw-about-home { margin-bottom: 82px; }
}


/* v1.7 refinement: framed artwork, portrait and typography */
.sw-artist {
  font-size: clamp(2.35rem, 5.2vw, 5rem);
  letter-spacing: .09em;
}

.sw-collage-intro {
  max-width: 980px;
  padding-top: 10px;
  padding-bottom: 42px;
}
.sw-collage-intro p {
  font-size: clamp(1.25rem, 2vw, 2rem);
  line-height: 1.32;
}

.sw-single-feature {
  margin-bottom: 34px;
}

.sw-art-frame {
  margin: 0;
  background: #f8f4eb;
  border: 1px solid rgba(71, 57, 43, .34);
  box-shadow: 0 10px 26px rgba(61, 48, 36, .08);
  padding: 8px 8px 0;
}
.sw-art-frame img {
  display: block;
  width: 100%;
}
.sw-art-frame figcaption {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 4px 12px;
  color: #3a352f;
  border-top: 1px solid rgba(71, 57, 43, .18);
  margin-top: 8px;
  font-family: "Cormorant Garamond", Georgia, serif;
}
.sw-art-frame figcaption strong {
  font-size: 1.12rem;
  font-weight: 500;
}
.sw-art-frame figcaption span {
  color: var(--sw-muted);
  font-size: .9rem;
  font-style: italic;
  white-space: nowrap;
}
.sw-art-frame-wide {
  max-width: 1380px;
  margin-inline: auto;
}
.sw-art-frame-wide img {
  height: auto;
  object-fit: contain;
}

.sw-triple-collage {
  gap: 14px;
  overflow: visible;
  align-items: start;
}
.sw-collage-panel {
  aspect-ratio: auto;
  overflow: visible;
}
.sw-collage-panel img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.sw-river-feature {
  margin-bottom: 86px;
}
.sw-river-feature img {
  max-height: none;
  height: auto;
  object-fit: contain;
  object-position: center;
}

.sw-about-heading {
  position: sticky;
  top: 24px;
}
.sw-about-home h2 {
  position: static;
  margin-top: 0;
}
.sw-about-portrait-frame {
  margin: 30px 0 0;
  padding: 8px;
  background: #ece4d8;
  border: 1px solid rgba(71, 57, 43, .40);
  box-shadow:
    0 0 0 4px rgba(93, 70, 52, .09),
    0 12px 28px rgba(61, 48, 36, .10);
}
.sw-about-portrait-frame img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 42%;
  filter: saturate(.92) contrast(.98);
}

@media (max-width: 820px) {
  .sw-artist {
    font-size: clamp(2rem, 11vw, 3.7rem);
  }
  .sw-collage-intro p {
    font-size: clamp(1.16rem, 5.2vw, 1.55rem);
  }
  .sw-single-feature {
    margin-bottom: 20px;
  }
  .sw-triple-collage {
    grid-template-columns: 1fr;
    width: min(calc(100% - 28px), 640px);
    gap: 22px;
  }
  .sw-collage-panel img {
    aspect-ratio: auto;
    height: auto;
    object-fit: contain;
  }
  .sw-art-frame figcaption {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
  .sw-art-frame figcaption span {
    white-space: normal;
  }
  .sw-about-heading {
    position: static;
    max-width: 520px;
  }
  .sw-about-portrait-frame {
    margin-top: 18px;
  }
}


/* v1.8 editorial hero, contact, newsletter and artwork availability */
.sw-hero-art { margin-top: 58px; margin-bottom: 34px; }
.sw-hero-frame { position: relative; }
.sw-hero-image-wrap { position: relative; overflow: hidden; }
.sw-hero-image-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(28,24,20,.10) 0%, rgba(28,24,20,.02) 46%, rgba(28,24,20,.18) 100%);
  pointer-events: none;
}
.sw-hero-copy {
  position: absolute;
  z-index: 2;
  left: clamp(22px, 4.6vw, 74px);
  top: clamp(22px, 5vw, 70px);
  width: min(760px, 72%);
  color: #fffdf8;
  text-shadow: 0 2px 16px rgba(34,29,24,.28);
}
.sw-hero-copy .sw-title {
  text-align: left;
  font-size: clamp(2.7rem, 6.4vw, 6.25rem);
  line-height: .88;
  letter-spacing: .025em;
}
.sw-hero-copy .sw-artist {
  margin: 9px 0 0;
  font-size: clamp(2rem, 4.6vw, 4.45rem);
  line-height: .9;
  color: inherit;
}
.sw-hero-statement {
  max-width: 700px;
  margin: clamp(18px, 2.7vw, 34px) 0 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.03rem, 1.55vw, 1.45rem);
  line-height: 1.42;
  letter-spacing: .005em;
}
.sw-section-title a { color: inherit; text-decoration: none; }
.sw-section-title a:hover { opacity: .62; }
.sw-section-head > div { display: flex; flex-direction: column; gap: 8px; }
.sw-shop-heading-link {
  color: var(--sw-ink);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 4px;
  font-size: .76rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.sw-shop-heading-link:hover { opacity: .58; }

.sw-newsletter {
  scroll-margin-top: 24px;
  padding: 88px 0;
  background: var(--sw-paper);
  border-top: 1px solid var(--sw-line);
}
.sw-newsletter-inner {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(320px, 4fr);
  column-gap: 8vw;
  row-gap: 20px;
  align-items: end;
}
.sw-kicker {
  margin: 0 0 12px;
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--sw-muted);
}
.sw-newsletter h2, .sw-contact h2 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  font-size: clamp(2.4rem, 4vw, 4.5rem);
  line-height: .98;
}
.sw-newsletter-copy > p:last-child {
  max-width: 560px;
  margin: 18px 0 0;
  color: var(--sw-muted);
}
.sw-newsletter-form { display: flex; border-bottom: 1px solid var(--sw-ink); }
.sw-newsletter-form input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 14px 0;
  font: inherit;
  color: var(--sw-ink);
  outline: none;
}
.sw-newsletter-form button {
  border: 0;
  background: transparent;
  padding: 14px 0 14px 22px;
  font-size: .74rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  cursor: pointer;
  color: var(--sw-ink);
}
.sw-newsletter-thanks { grid-column: 2; margin: 0; color: var(--sw-walnut); font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; }

.sw-contact {
  scroll-margin-top: 24px;
  padding: 90px 0;
  border-top: 1px solid var(--sw-line);
}
.sw-contact-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8vw;
  align-items: end;
}
.sw-contact-links { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.sw-contact-links a {
  color: var(--sw-ink);
  text-decoration: none;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.25rem, 2vw, 1.8rem);
  border-bottom: 1px solid transparent;
}
.sw-contact-links a:hover { border-bottom-color: currentColor; }

.woocommerce ul.products li.product { position: relative; }
.sw-artwork-status {
  display: inline-block;
  margin-top: 5px;
  font-size: .69rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.sw-artwork-status.is-available { color: var(--sw-walnut); }
.sw-artwork-status.is-collected { color: var(--sw-muted); font-style: italic; }
.woocommerce ul.products li.product.outofstock a.button { background: transparent; color: var(--sw-ink); }
.woocommerce ul.products li.product.outofstock a.button:hover { background: var(--sw-ink); color: var(--sw-paper); }

@media (max-width: 820px) {
  .sw-hero-art { margin-top: 26px; }
  .sw-hero-copy { left: 18px; top: 18px; width: calc(100% - 36px); }
  .sw-hero-copy .sw-title { font-size: clamp(2.25rem, 10vw, 4.2rem); }
  .sw-hero-copy .sw-artist { font-size: clamp(1.75rem, 8vw, 3.25rem); }
  .sw-hero-statement { font-size: clamp(.93rem, 4vw, 1.17rem); line-height: 1.35; max-width: 92%; }
  .sw-newsletter { padding: 64px 0; }
  .sw-newsletter-inner, .sw-contact-inner { grid-template-columns: 1fr; gap: 34px; }
  .sw-newsletter-thanks { grid-column: 1; }
  .sw-contact { padding: 64px 0; }
}

@media (max-width: 560px) {
  .sw-hero-copy { position: static; width: auto; color: var(--sw-ink); text-shadow: none; padding: 20px 10px 12px; }
  .sw-hero-image-wrap::after { display: none; }
  .sw-hero-copy .sw-title { color: var(--sw-ink); font-size: clamp(2.25rem, 13vw, 3.45rem); }
  .sw-hero-copy .sw-artist { color: var(--sw-ink); font-size: clamp(1.65rem, 10vw, 2.7rem); }
  .sw-hero-statement { color: #403b34; max-width: none; }
  .sw-section-head { align-items: flex-start; }
}
\n\n/* v1.9 sky typography, ordered artwork grid and seeded shop inventory */\n.sw-hero-copy {\n  inset: 0;\n  width: auto;\n  left: 0;\n  top: 0;\n  padding: clamp(18px, 2.6vw, 42px) clamp(20px, 3.5vw, 54px);\n  display: flex;\n  flex-direction: column;\n  justify-content: flex-start;\n  pointer-events: none;\n}\n.sw-hero-identity { width: max-content; max-width: 100%; }\n.sw-hero-copy .sw-title { font-size: clamp(2.35rem, 5.1vw, 5.2rem); }\n.sw-hero-copy .sw-artist { font-size: clamp(1.75rem, 3.55vw, 3.55rem); margin-top: 5px; }\n.sw-hero-statement {\n  position: absolute;\n  top: 22%;\n  left: 3.5%;\n  right: 3.5%;\n  max-width: none;\n  margin: 0;\n  text-align: center;\n  white-space: nowrap;\n  font-size: clamp(.72rem, 1.08vw, 1.08rem);\n  line-height: 1.2;\n  letter-spacing: .006em;\n}\n\n.sw-gallery.sw-gallery-ordered {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 38px 24px;\n}\n.sw-gallery-ordered .sw-artwork-card {\n  grid-column: auto !important;\n  display: block;\n  color: var(--sw-ink);\n  text-decoration: none;\n}\n.sw-gallery-ordered .sw-card-image {\n  aspect-ratio: 4 / 5;\n  overflow: hidden;\n  background: var(--sw-paper);\n  border: 1px solid var(--sw-line);\n  padding: 7px;\n}\n.sw-gallery-ordered .sw-card-image img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  transition: transform .45s ease;\n}\n.sw-gallery-ordered .sw-artwork-card:hover .sw-card-image img { transform: scale(1.015); }\n.sw-card-caption {\n  display: flex;\n  justify-content: space-between;\n  gap: 14px;\n  align-items: baseline;\n  padding-top: 12px;\n  font-family: "Cormorant Garamond", Georgia, serif;\n}\n.sw-card-caption strong { font-size: 1.25rem; font-weight: 500; }\n.sw-card-caption span { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--sw-muted); }\n\n.woocommerce ul.products li.product a img {\n  aspect-ratio: 4 / 5;\n  object-fit: cover;\n  border: 1px solid var(--sw-line);\n  padding: 6px;\n  background: var(--sw-paper);\n}\n.sw-print-coming-soon {\n  display: block;\n  margin-top: 3px;\n  color: var(--sw-muted);\n  font-family: "Cormorant Garamond", Georgia, serif;\n  font-size: .95rem;\n  font-style: italic;\n}\n.sw-single-artwork-meta {\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n  margin: 4px 0 18px;\n}\n.sw-single-artwork-meta strong {\n  font-size: .75rem;\n  letter-spacing: .12em;\n  text-transform: uppercase;\n  font-weight: 500;\n}\n.sw-single-artwork-meta span {\n  font-family: "Cormorant Garamond", Georgia, serif;\n  color: var(--sw-muted);\n  font-style: italic;\n  font-size: 1.05rem;\n}\n\n@media (max-width: 900px) {\n  .sw-hero-statement {\n    top: 24%;\n    white-space: normal;\n    max-width: 82%;\n    left: 4%;\n    right: auto;\n    text-align: left;\n    font-size: clamp(.72rem, 1.9vw, .96rem);\n  }\n  .sw-gallery.sw-gallery-ordered { grid-template-columns: repeat(2, minmax(0,1fr)); }\n}\n@media (max-width: 560px) {\n  .sw-hero-copy { padding: 14px 16px; }\n  .sw-hero-copy .sw-title { font-size: clamp(1.9rem, 9vw, 3rem); }\n  .sw-hero-copy .sw-artist { font-size: clamp(1.35rem, 6.7vw, 2.1rem); }\n  .sw-hero-statement { top: 26%; left: 16px; max-width: calc(100% - 32px); font-size: clamp(.62rem, 2.6vw, .82rem); }\n  .sw-gallery.sw-gallery-ordered { grid-template-columns: 1fr; gap: 30px; }\n}\n
/* v2.0 shop status refinements */
.sw-loop-original-status { display:block; margin-top:6px; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sw-ink); }

/* v2.1 — sky-line hero, orderly artwork rollover grid, Instagram carousel */
.sw-hero-image-wrap { position: relative; }
.sw-hero-copy {
  position: absolute;
  inset: 0;
  width: 100%;
  padding: clamp(14px, 1.8vw, 28px) clamp(18px, 2.7vw, 42px);
  display: block;
  text-align: center;
  color: #fffdf7;
  text-shadow: 0 1px 10px rgba(63,46,35,.16);
  pointer-events: none;
}
.sw-hero-identity {
  width: 100%;
  max-width: none;
  text-align: center;
}
.sw-hero-copy .sw-title {
  margin: 0;
  font-size: clamp(2.2rem, 4.65vw, 4.75rem);
  line-height: .88;
  letter-spacing: .035em;
  color: inherit;
}
.sw-hero-copy .sw-artist {
  margin: .15em 0 0;
  font-size: clamp(1.45rem, 2.8vw, 2.85rem);
  line-height: 1;
  letter-spacing: .13em;
  color: inherit;
}
.sw-hero-statement {
  position: absolute;
  top: 16.5%;
  left: 2.5%;
  right: 2.5%;
  width: 95%;
  max-width: none;
  margin: 0 auto;
  padding: 0;
  white-space: nowrap;
  text-align: center;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(.60rem, .83vw, .88rem);
  line-height: 1;
  letter-spacing: .018em;
  color: inherit;
}

/* Uniform gallery: calm framed cards with editorial rollover, no default link colour. */
.sw-gallery.sw-gallery-ordered {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 22px;
  align-items: stretch;
}
.sw-gallery-ordered .sw-artwork-card,
.sw-gallery-ordered .sw-artwork-card:link,
.sw-gallery-ordered .sw-artwork-card:visited,
.sw-gallery-ordered .sw-artwork-card:hover,
.sw-gallery-ordered .sw-artwork-card:focus {
  color: var(--sw-ink);
  text-decoration: none;
  background: transparent;
}
.sw-gallery-ordered .sw-card-image {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  padding: 7px;
  border: 1px solid rgba(71,57,43,.30);
  background: #f8f4eb;
  box-shadow: 0 8px 22px rgba(61,48,36,.055);
}
.sw-gallery-ordered .sw-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none;
  filter: none;
  transition: transform .55s ease;
}
.sw-gallery-ordered .sw-artwork-card:hover .sw-card-image img,
.sw-gallery-ordered .sw-artwork-card:focus .sw-card-image img {
  transform: scale(1.018);
  filter: none;
}
.sw-gallery-ordered .sw-card-caption {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 8px;
  min-height: 30%;
  padding: 18px 16px 15px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 3px;
  background: linear-gradient(to top, rgba(35,31,26,.72), rgba(35,31,26,0));
  color: #fffdf7;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .3s ease, transform .3s ease;
  pointer-events: none;
  font-family: "Cormorant Garamond", Georgia, serif;
}
.sw-gallery-ordered .sw-artwork-card:hover .sw-card-caption,
.sw-gallery-ordered .sw-artwork-card:focus .sw-card-caption {
  opacity: 1;
  transform: translateY(0);
}
.sw-gallery-ordered .sw-card-caption strong {
  color: inherit;
  font-size: clamp(1.2rem, 1.6vw, 1.55rem);
  font-weight: 500;
  line-height: 1.05;
}
.sw-gallery-ordered .sw-card-caption span {
  color: rgba(255,253,247,.88);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .67rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
/* Keep caption accessible on touch devices where hover is not dependable. */
@media (hover: none) {
  .sw-gallery-ordered .sw-card-caption {
    opacity: 1;
    transform: none;
    min-height: 27%;
  }
}

/* Instagram: theme styles the Smash Balloon feed as a horizontal carousel. */
.sw-instagram {
  padding: 92px 0 88px;
  border-top: 1px solid var(--sw-line);
}
.sw-instagram-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}
.sw-instagram h2 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.6rem, 4.4vw, 4.6rem);
  line-height: .96;
  font-weight: 400;
}
.sw-instagram-link {
  color: var(--sw-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--sw-ink);
  padding-bottom: 4px;
  font-size: .78rem;
  letter-spacing: .1em;
}
.sw-instagram-feed-wrap {
  width: min(calc(100% - 48px), 1480px);
  margin: 0 auto;
}
.sw-instagram-setup {
  padding: 28px;
  border: 1px solid var(--sw-line);
  color: var(--sw-muted);
  font-size: .9rem;
}
/* Smash Balloon Social Photo Feed overrides */
.sw-instagram #sb_instagram { width: 100% !important; padding-bottom: 0 !important; }
.sw-instagram #sb_instagram #sbi_images {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  padding: 0 0 12px !important;
}
.sw-instagram #sb_instagram .sbi_item {
  flex: 0 0 clamp(220px, 25vw, 360px) !important;
  width: auto !important;
  scroll-snap-align: start;
  padding: 0 !important;
}
.sw-instagram #sb_instagram .sbi_photo {
  aspect-ratio: 1 / 1;
  height: auto !important;
  border: 1px solid rgba(71,57,43,.24);
  padding: 5px;
  background: #f8f4eb;
}
.sw-instagram #sb_instagram #sbi_load { margin-top: 22px; }
.sw-instagram #sb_instagram .sbi_follow_btn a,
.sw-instagram #sb_instagram #sbi_load .sbi_load_btn {
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: .72rem !important;
  letter-spacing: .11em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .sw-hero-statement {
    top: 17%;
    left: 3%;
    right: 3%;
    width: 94%;
    white-space: nowrap;
    text-align: center;
    font-size: clamp(.48rem, 1.35vw, .68rem);
  }
  .sw-gallery.sw-gallery-ordered { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .sw-hero-copy {
    position: absolute;
    padding: 10px 10px;
    color: #fffdf7;
    text-shadow: 0 1px 8px rgba(63,46,35,.15);
  }
  .sw-hero-copy .sw-title { font-size: clamp(1.55rem, 8.6vw, 2.5rem); }
  .sw-hero-copy .sw-artist { font-size: clamp(1rem, 5.3vw, 1.5rem); }
  .sw-hero-statement {
    top: 18%;
    left: 2%;
    right: 2%;
    width: 96%;
    white-space: normal;
    line-height: 1.18;
    font-size: clamp(.48rem, 2.1vw, .64rem);
  }
  .sw-gallery.sw-gallery-ordered { grid-template-columns: 1fr; gap: 20px; }
  .sw-instagram { padding: 64px 0 60px; }
  .sw-instagram-head { align-items: flex-start; flex-direction: column; gap: 12px; }
  .sw-instagram-feed-wrap { width: min(calc(100% - 20px), 1480px); }
  .sw-instagram #sb_instagram .sbi_item { flex-basis: 78vw !important; }
}


/* v2.2 — corrected Pink Landscape hierarchy + truly uniform Original Paintings grid */

/* Pink Landscape: three centred lines, all contained within the sky. */
.sw-hero-image-wrap {
  position: relative !important;
}
.sw-hero-copy {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  text-align: center !important;
  color: #fffdf8 !important;
  text-shadow: 0 1px 9px rgba(52,43,35,.18) !important;
  pointer-events: none !important;
}
.sw-hero-identity {
  position: absolute !important;
  top: 3.2% !important;
  left: 2.5% !important;
  right: 2.5% !important;
  width: 95% !important;
  max-width: none !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.sw-hero-copy .sw-title {
  margin: 0 !important;
  color: inherit !important;
  font-size: clamp(3.15rem, 5.7vw, 6.25rem) !important;
  line-height: .88 !important;
  letter-spacing: .025em !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
}
.sw-hero-copy .sw-artist {
  margin: .22em 0 0 !important;
  color: inherit !important;
  font-size: clamp(1.7rem, 3.0vw, 3.25rem) !important;
  line-height: 1 !important;
  letter-spacing: .15em !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
}
.sw-hero-statement {
  position: absolute !important;
  top: 25.5% !important;
  left: 2.75% !important;
  right: 2.75% !important;
  width: 94.5% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: inherit !important;
  text-align: center !important;
  white-space: nowrap !important;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(.79rem, 1.02vw, 1.12rem) !important;
  line-height: 1.15 !important;
  letter-spacing: .008em !important;
  font-weight: 400 !important;
}

/* Original Paintings: a repeatable, fixed card system. Every work occupies exactly one equal cell. */
.sw-gallery.sw-gallery-ordered {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 26px !important;
  align-items: stretch !important;
  grid-auto-flow: row !important;
}
.sw-gallery.sw-gallery-ordered > .sw-artwork-card,
.sw-gallery.sw-gallery-ordered > .sw-card,
.sw-gallery.sw-gallery-ordered > .sw-card:nth-child(n) {
  position: relative !important;
  display: block !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--sw-ink) !important;
  background: transparent !important;
  text-decoration: none !important;
  border: 0 !important;
}
.sw-gallery.sw-gallery-ordered .sw-card-image {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 7px !important;
  overflow: hidden !important;
  border: 1px solid rgba(71,57,43,.26) !important;
  background: #f8f4eb !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}
.sw-gallery.sw-gallery-ordered .sw-card-image img,
.sw-gallery.sw-gallery-ordered .sw-card img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  border: 0 !important;
  background: transparent !important;
  filter: none !important;
}
.sw-gallery.sw-gallery-ordered .sw-card-caption {
  position: absolute !important;
  left: 8px !important;
  right: 8px !important;
  bottom: 8px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 38px 15px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 3px !important;
  background: linear-gradient(to top, rgba(34,30,26,.70), rgba(34,30,26,0)) !important;
  color: #fffdf7 !important;
  opacity: 0 !important;
  transform: translateY(3px) !important;
  transition: opacity .25s ease, transform .25s ease !important;
  pointer-events: none !important;
}
.sw-gallery.sw-gallery-ordered .sw-artwork-card:hover .sw-card-caption,
.sw-gallery.sw-gallery-ordered .sw-artwork-card:focus .sw-card-caption {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.sw-gallery.sw-gallery-ordered .sw-card-caption strong {
  color: #fffdf7 !important;
  font-size: clamp(1.15rem, 1.45vw, 1.45rem) !important;
  line-height: 1.05 !important;
  font-weight: 500 !important;
}
.sw-gallery.sw-gallery-ordered .sw-card-caption span {
  color: rgba(255,253,247,.9) !important;
  font-size: .66rem !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

@media (hover: none) {
  .sw-gallery.sw-gallery-ordered .sw-card-caption {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (max-width: 900px) {
  .sw-hero-identity { top: 3.5% !important; }
  .sw-hero-copy .sw-title { font-size: clamp(2.15rem, 7.4vw, 4.2rem) !important; }
  .sw-hero-copy .sw-artist { font-size: clamp(1.25rem, 4.0vw, 2.25rem) !important; }
  .sw-hero-statement {
    top: 26% !important;
    left: 3% !important;
    right: 3% !important;
    width: 94% !important;
    font-size: clamp(.57rem, 1.25vw, .76rem) !important;
    white-space: nowrap !important;
  }
  .sw-gallery.sw-gallery-ordered {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width: 560px) {
  .sw-hero-identity { top: 3% !important; }
  .sw-hero-copy .sw-title { font-size: clamp(1.65rem, 9.2vw, 2.5rem) !important; }
  .sw-hero-copy .sw-artist { margin-top: .12em !important; font-size: clamp(.95rem, 5vw, 1.38rem) !important; }
  .sw-hero-statement {
    top: 25% !important;
    left: 4% !important;
    right: 4% !important;
    width: 92% !important;
    white-space: normal !important;
    font-size: clamp(.52rem, 2.05vw, .66rem) !important;
    line-height: 1.18 !important;
  }
  .sw-gallery.sw-gallery-ordered {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 12px !important;
  }
  .sw-gallery.sw-gallery-ordered .sw-card-image { padding: 4px !important; }
  .sw-gallery.sw-gallery-ordered .sw-card-caption { left: 5px !important; right: 5px !important; bottom: 5px !important; padding: 28px 9px 9px !important; }
  .sw-gallery.sw-gallery-ordered .sw-card-caption strong { font-size: 1rem !important; }
  .sw-gallery.sw-gallery-ordered .sw-card-caption span { font-size: .55rem !important; }
}


/* v2.3 — centred hero hierarchy, larger statement, expanded original paintings */
.sw-hero-identity {
  top: 3.8% !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  padding: 0 4% !important;
  box-sizing: border-box !important;
  text-align: center !important;
}
.sw-hero-copy .sw-title {
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: clamp(3.5rem, 6.2vw, 6.8rem) !important;
}
.sw-hero-copy .sw-artist {
  width: 100% !important;
  text-align: center !important;
  font-size: clamp(1.75rem, 2.7vw, 3rem) !important;
}
.sw-hero-statement {
  top: 24% !important;
  left: 4% !important;
  right: 4% !important;
  width: 92% !important;
  text-align: center !important;
  font-size: clamp(.95rem, 1.28vw, 1.35rem) !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}
/* Consistent reusable shop-linked tiles: same outer shape regardless of source image. */
.sw-gallery.sw-gallery-ordered { grid-auto-rows: 1fr !important; }
.sw-gallery.sw-gallery-ordered .sw-artwork-card { height: 100% !important; }
.sw-gallery.sw-gallery-ordered .sw-card-image { aspect-ratio: 4 / 5 !important; }
.sw-gallery.sw-gallery-ordered .sw-card-caption span { text-transform: none !important; letter-spacing: .04em !important; }

@media (max-width: 900px) {
  .sw-hero-copy .sw-title { font-size: clamp(2.4rem, 7.8vw, 4.6rem) !important; }
  .sw-hero-copy .sw-artist { font-size: clamp(1.25rem, 4vw, 2.2rem) !important; }
  .sw-hero-statement { top: 25% !important; font-size: clamp(.72rem, 1.55vw, .95rem) !important; }
}
@media (max-width: 560px) {
  .sw-hero-identity { top: 3% !important; padding: 0 3% !important; }
  .sw-hero-copy .sw-title { font-size: clamp(1.7rem, 9vw, 2.6rem) !important; }
  .sw-hero-copy .sw-artist { font-size: clamp(.95rem, 4.8vw, 1.35rem) !important; }
  .sw-hero-statement { top: 24% !important; white-space: normal !important; font-size: clamp(.62rem, 2.35vw, .78rem) !important; line-height: 1.18 !important; }
}


/* v2.4 — corrected Free Floral image and hero copy */
.sw-hero-copy .sw-title,
.sw-hero-copy .sw-artist,
.sw-hero-statement {
  font-family: "Cormorant Garamond", Georgia, serif !important;
}
.sw-hero-identity {
  top: 3.5% !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: 94% !important;
  padding: 0 !important;
  text-align: center !important;
}
.sw-hero-copy .sw-title {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-size: clamp(3.4rem, 6.1vw, 6.6rem) !important;
  line-height: .92 !important;
}
.sw-hero-copy .sw-artist {
  display: block !important;
  width: 100% !important;
  margin-top: .16em !important;
  text-align: center !important;
  font-size: clamp(1.65rem, 2.65vw, 2.9rem) !important;
  line-height: 1 !important;
}
.sw-hero-statement {
  top: 23% !important;
  left: 7% !important;
  right: 7% !important;
  width: 86% !important;
  max-width: none !important;
  margin: 0 auto !important;
  white-space: normal !important;
  text-align: center !important;
  font-size: clamp(1.1rem, 1.55vw, 1.55rem) !important;
  line-height: 1.18 !important;
  letter-spacing: .005em !important;
}
@media (max-width: 900px) {
  .sw-hero-identity { top: 3.3% !important; width: 94% !important; }
  .sw-hero-copy .sw-title { font-size: clamp(2.35rem, 7.5vw, 4.35rem) !important; }
  .sw-hero-copy .sw-artist { font-size: clamp(1.2rem, 3.8vw, 2.05rem) !important; }
  .sw-hero-statement {
    top: 24% !important;
    left: 6% !important;
    right: 6% !important;
    width: 88% !important;
    font-size: clamp(.92rem, 2.1vw, 1.18rem) !important;
    line-height: 1.2 !important;
  }
}
@media (max-width: 560px) {
  .sw-hero-identity { top: 3% !important; width: 94% !important; }
  .sw-hero-copy .sw-title { font-size: clamp(1.7rem, 8.7vw, 2.55rem) !important; }
  .sw-hero-copy .sw-artist { font-size: clamp(.95rem, 4.6vw, 1.3rem) !important; }
  .sw-hero-statement {
    top: 23.5% !important;
    left: 5% !important;
    right: 5% !important;
    width: 90% !important;
    font-size: clamp(.74rem, 3vw, .96rem) !important;
    line-height: 1.18 !important;
  }
}


/* v2.5 — simplified full-bleed hero, unified brand and prints preview */
.sw-brand {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}

/* Pink landscape is intentionally full bleed: no frame, no title, no caption. */
.sw-hero-fullbleed {
  width: 100%;
  margin: 24px 0 0;
  padding: 0;
  overflow: hidden;
}
.sw-hero-fullbleed .sw-hero-image-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #e6e6de;
}
.sw-hero-fullbleed .sw-hero-image-wrap::after { display: none !important; }
.sw-hero-fullbleed img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  object-fit: contain;
}
.sw-hero-fullbleed .sw-hero-copy {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  display: block !important;
  pointer-events: none;
  color: #24231f !important;
  text-shadow: none !important;
}
.sw-hero-fullbleed .sw-hero-statement {
  position: absolute !important;
  top: 5.5% !important;
  left: 50% !important;
  right: auto !important;
  width: min(90%, 1500px) !important;
  max-width: none !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  color: #24231f !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.22rem, 1.75vw, 1.9rem) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: .002em !important;
  text-align: center !important;
  white-space: normal !important;
}

/* Pull About up now that the extra floral feature has been removed. */
.sw-triple-collage + .sw-river-feature { margin-top: 42px; }
.sw-river-feature + .sw-about-home { margin-top: 54px; }

/* Prints: quiet paired preview box. */
.sw-prints-box.sw-prints-coming-soon {
  grid-template-columns: minmax(190px, .72fr) minmax(0, 2.1fr) !important;
  gap: clamp(34px, 6vw, 86px) !important;
  align-items: center !important;
}
.sw-prints-soon {
  margin: 14px 0 0 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.35rem, 2vw, 1.9rem) !important;
  font-style: italic;
  color: var(--sw-muted) !important;
}
.sw-prints-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 26px);
  padding: clamp(12px, 1.6vw, 20px);
  border: 1px solid rgba(71,57,43,.25);
  background: #f8f4eb;
}
.sw-prints-pair figure {
  margin: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #eee9df;
}
.sw-prints-pair img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 900px) {
  .sw-hero-fullbleed .sw-hero-statement {
    top: 5% !important;
    width: 88% !important;
    font-size: clamp(.98rem, 2.35vw, 1.34rem) !important;
  }
  .sw-prints-box.sw-prints-coming-soon {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}
@media (max-width: 560px) {
  .sw-hero-fullbleed { margin-top: 12px; }
  .sw-hero-fullbleed .sw-hero-statement {
    top: 4.5% !important;
    width: 90% !important;
    font-size: clamp(.78rem, 3.45vw, 1rem) !important;
    line-height: 1.14 !important;
  }
  .sw-prints-pair { gap: 8px; padding: 8px; }
}


/* v2.6 — artistic landing page, clean hero, About-first flow and golden-thread typography */

/* Landing page */
.sw-landing {
  min-height: 100vh;
  background: #eee8dc;
  color: var(--sw-ink);
  overflow: hidden;
  font-family: "Cormorant Garamond", Georgia, serif;
}
.sw-landing-collage {
  position: relative;
  min-height: 100svh;
  width: 100%;
  overflow: hidden;
  background: #d9d0c1;
}
.sw-landing-video {
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  background:#d9d0c1;
}
.sw-landing-wash {
  position:absolute; inset:0; z-index:5;
  background: linear-gradient(rgba(24,22,18,.10), rgba(24,22,18,.16)), radial-gradient(circle at center, rgba(245,241,232,.18) 0, rgba(245,241,232,.04) 38%, rgba(245,241,232,0) 72%);
}
.sw-landing-copy {
  position:absolute; z-index:6; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(86%, 800px); text-align:center; padding:46px 42px 42px;
  background:rgba(248,244,235,.78); border:1px solid rgba(74,59,45,.22);
  backdrop-filter: blur(5px);
}
.sw-landing-name { margin:0; font-size:clamp(3.2rem,7vw,7.5rem); line-height:.82; font-weight:400; letter-spacing:.025em; text-transform:uppercase; }
.sw-landing-role { margin:.28em 0 0; font-size:clamp(1.55rem,3vw,3rem); line-height:1; letter-spacing:.18em; text-transform:uppercase; }
.sw-landing-subtitle { margin:30px auto 0; max-width:620px; font-size:clamp(1.25rem,1.8vw,1.75rem); line-height:1.25; font-style:italic; color:#5b5148; }
.sw-enter-button {
  display:inline-block; margin-top:34px; padding:13px 25px 11px;
  border:1px solid #2f2a25; color:#2f2a25; text-decoration:none;
  font-family:"Inter", sans-serif; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  background:rgba(251,248,241,.72); transition:background .2s ease,color .2s ease;
}
.sw-enter-button:hover { background:#2f2a25; color:#fbf8f1; }

/* First image is now pure artwork — no copy over the painting. */
.sw-hero-clean { margin:0 !important; }
.sw-hero-clean img { display:block; width:100%; height:auto; }
.sw-hero-clean .sw-hero-copy,
.sw-hero-clean .sw-hero-statement { display:none !important; }

/* About now follows immediately after the first image. */
.sw-about-after-hero { margin-top:0 !important; margin-bottom:0 !important; }

/* The recurring ideas become an oversized editorial thread through the page. */
.sw-golden-thread { padding:clamp(58px,8vw,118px) 0; overflow:hidden; }
.sw-golden-thread .sw-wrap { display:flex; align-items:baseline; justify-content:center; gap:clamp(12px,2vw,28px); flex-wrap:wrap; text-align:center; }
.sw-golden-thread span {
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(1.65rem,2.8vw,3rem);
  line-height:1; font-style:italic; color:#806846;
}
.sw-golden-thread strong {
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(4.7rem,11vw,11rem);
  line-height:.72; font-weight:400; letter-spacing:.015em; color:#9a7948;
}
.sw-golden-thread-colour { padding-top:74px; padding-bottom:82px; }
.sw-golden-thread-nostalgia { padding-top:84px; }
.sw-golden-thread-everyday strong { font-size:clamp(3.3rem,7.5vw,7.5rem); line-height:.9; max-width:1200px; }
.sw-golden-thread-home .sw-wrap { flex-direction:column; align-items:center; gap:18px; }
.sw-golden-thread-home strong { font-size:clamp(3.3rem,7vw,7rem); line-height:.88; }

/* Keep adjoining artwork sections visually connected to the golden thread. */
.sw-golden-thread + .sw-triple-collage { margin-top:0 !important; }
.sw-golden-thread + .sw-river-feature { margin-top:0 !important; }
.sw-river-feature { margin-bottom:0 !important; }

@media (max-width: 820px) {
  .sw-landing-copy { width:min(88%,650px); padding:34px 24px 32px; }
  .sw-golden-thread strong { font-size:clamp(3.6rem,15vw,7.3rem); }
  .sw-golden-thread-everyday strong,
  .sw-golden-thread-home strong { font-size:clamp(2.7rem,11vw,5rem); }
}
@media (max-width: 560px) {
  .sw-landing-copy { width:86%; padding:30px 18px 28px; }
  .sw-landing-name { font-size:clamp(2.55rem,13vw,4.1rem); }
  .sw-landing-role { font-size:clamp(1.15rem,6vw,1.7rem); }
  .sw-landing-subtitle { margin-top:20px; font-size:1.12rem; }
  .sw-enter-button { margin-top:24px; }
  .sw-golden-thread { padding:52px 0 60px; }
  .sw-golden-thread .sw-wrap { gap:10px; }
  .sw-golden-thread span { font-size:1.45rem; }
  .sw-golden-thread strong { font-size:clamp(3.15rem,17vw,5.5rem); }
  .sw-golden-thread-everyday strong,
  .sw-golden-thread-home strong { font-size:clamp(2.35rem,12vw,4rem); }
}

/* v2.8 landing video performance/accessibility */
@media (prefers-reduced-motion: reduce) {
  .sw-landing-video { display:none; }
  .sw-landing-video-wrap {
    background-image:url("assets/video/landing-poster.jpg");
    background-size:cover;
    background-position:center;
  }
}

/* v2.9 — refined editorial flow and second About image */
.sw-golden-thread-nature { padding-top:clamp(42px,5vw,72px); padding-bottom:clamp(42px,5vw,72px); }
.sw-about-studio-frame {
  margin: 22px 0 0;
  padding: 8px;
  background: #ece4d8;
  border: 1px solid rgba(71,57,43,.40);
  box-shadow: 0 0 0 4px rgba(93,70,52,.09), 0 12px 28px rgba(61,48,36,.10);
}
.sw-about-studio-frame img { display:block; width:100%; height:auto; }
.sw-about-after-hero + .sw-golden-thread-colour { padding-top:clamp(42px,5vw,68px); padding-bottom:clamp(38px,4vw,58px); }
@media (max-width:820px) { .sw-about-studio-frame { margin-top:16px; } }


/* v3.1 — single artwork shop gateway, reordered story, shop categories */
.sw-about-after-triple { margin-top:0 !important; margin-bottom:0 !important; }
.sw-about-email { margin-top:1.5em !important; }
.sw-about-email a { color:var(--sw-ink); text-decoration:none; border-bottom:1px solid rgba(36,35,31,.35); }
.sw-about-email a:hover { border-bottom-color:var(--sw-ink); }

.sw-originals-entry { padding-top:clamp(64px,8vw,118px); }
.sw-originals-hero {
  position:relative;
  display:block;
  overflow:hidden;
  min-height:clamp(520px,72vw,980px);
  background:#dfe5df;
  color:#fff;
  text-decoration:none;
}
.sw-originals-hero > img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s ease, filter .8s ease;
}
.sw-originals-hero::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(15,26,20,.04) 25%,rgba(15,26,20,.23) 100%);
}
.sw-originals-hero:hover > img { transform:scale(1.01); filter:brightness(.98); }
.sw-originals-button {
  position:absolute;
  z-index:2;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  padding:15px 28px;
  background:rgba(248,244,235,.9);
  border:1px solid rgba(70,58,46,.35);
  color:var(--sw-ink);
  font-family:"Inter",sans-serif;
  font-size:.75rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:background .25s ease, transform .25s ease;
}
.sw-originals-hero:hover .sw-originals-button { background:#fbf8f1; transform:translate(-50%,-50%) scale(1.02); }
.sw-originals-label {
  position:absolute;
  z-index:2;
  left:20px;
  bottom:20px;
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:10px 13px;
  background:rgba(248,244,235,.86);
  border:1px solid rgba(70,58,46,.24);
  color:var(--sw-ink);
  backdrop-filter:blur(4px);
}
.sw-originals-label strong { font-family:"Cormorant Garamond",Georgia,serif; font-size:1.18rem; font-weight:500; }
.sw-originals-label em { font-family:"Inter",sans-serif; font-size:.66rem; letter-spacing:.06em; font-style:normal; }

.sw-instagram-link-only { padding:clamp(72px,8vw,112px) 0; border-top:1px solid var(--sw-line); border-bottom:1px solid var(--sw-line); }
.sw-instagram-simple { text-align:center; }
.sw-instagram-simple h2 { margin:4px 0 24px; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(2.8rem,5vw,5rem); font-weight:400; }
.sw-instagram-link-button { display:inline-block; padding:12px 20px; border:1px solid var(--sw-line); }

.sw-shop-category-nav {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:8px 0 42px;
  clear:both;
}
.sw-shop-category-nav a {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:62px;
  padding:12px;
  border:1px solid var(--sw-line);
  color:var(--sw-ink);
  text-align:center;
  text-decoration:none;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.08rem;
}
.sw-shop-category-nav a:hover { background:var(--sw-paper); }

@media (max-width:800px) {
  .sw-shop-category-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sw-originals-hero { min-height:68vh; }
}
@media (max-width:520px) {
  .sw-originals-label { left:10px; bottom:10px; right:10px; }
  .sw-originals-button { min-width:160px; padding:13px 20px; }
  .sw-shop-category-nav { grid-template-columns:1fr; }
}


/* v3.2 — more fluid editorial thread and stronger masthead */
.sw-brand {
  font-size: clamp(2rem, 3.3vw, 3.35rem) !important;
  line-height: .95;
  letter-spacing: .035em !important;
}
.sw-header-inner { min-height: clamp(104px, 10vw, 136px); }

/* Nature and colour act like editorial captions rather than separate blocks. */
.sw-golden-thread-nature,
.sw-golden-thread-colour {
  padding-top: clamp(28px, 3.2vw, 46px);
  padding-bottom: clamp(24px, 2.8vw, 40px);
}
.sw-golden-thread-nature .sw-wrap,
.sw-golden-thread-colour .sw-wrap {
  flex-wrap: nowrap;
  gap: clamp(10px, 1.3vw, 18px);
}
.sw-golden-thread-nature .sw-wrap { justify-content: flex-start; padding-left: clamp(0px, 5vw, 72px); }
.sw-golden-thread-colour .sw-wrap { justify-content: flex-end; padding-right: clamp(0px, 5vw, 72px); }
.sw-golden-thread-nature strong,
.sw-golden-thread-colour strong {
  font-size: clamp(3.6rem, 8vw, 8rem);
  line-height: .78;
}
.sw-golden-thread-nature span,
.sw-golden-thread-colour span { font-size: clamp(1.45rem, 2.2vw, 2.4rem); }

/* Pull Colour toward the first panel of the triptych so it reads with the red-flower image. */
.sw-golden-thread-colour { padding-bottom: clamp(18px, 2vw, 30px); }
.sw-golden-thread-colour + .sw-triple-collage { margin-top: 0 !important; }

/* Nostalgia now bridges the triptych and About. */
.sw-triple-collage + .sw-golden-thread-nostalgia {
  padding-top: clamp(48px, 6vw, 78px);
  padding-bottom: clamp(42px, 5vw, 68px);
}
.sw-golden-thread-nostalgia + .sw-about-after-triple { margin-top: 0 !important; }

/* Everyday surroundings now belongs between the river and Waterside Floral. */
.sw-river-feature + .sw-golden-thread-everyday {
  padding-top: clamp(58px, 7vw, 96px);
  padding-bottom: clamp(58px, 7vw, 96px);
}
.sw-golden-thread-everyday + .sw-originals-entry { padding-top: 0; }

@media (max-width: 820px) {
  .sw-brand { font-size: clamp(1.8rem, 7vw, 2.65rem) !important; }
  .sw-header-inner { min-height: 98px; }
  .sw-golden-thread-nature .sw-wrap,
  .sw-golden-thread-colour .sw-wrap { padding-left: 0; padding-right: 0; }
}
@media (max-width: 560px) {
  .sw-brand { font-size: clamp(1.45rem, 7.2vw, 2.1rem) !important; white-space: normal; text-align: center; }
  .sw-golden-thread-nature,
  .sw-golden-thread-colour { padding-top: 28px; padding-bottom: 28px; }
  .sw-golden-thread-nature .sw-wrap { justify-content: flex-start; text-align: left; }
  .sw-golden-thread-colour .sw-wrap { justify-content: flex-end; text-align: right; }
  .sw-golden-thread-nature strong,
  .sw-golden-thread-colour strong { font-size: clamp(3rem, 15vw, 4.9rem); }
}

/* v3.3 — tighten the Nature / Colour editorial pairing and balance Nostalgia. */
.sw-golden-thread-nature,
.sw-golden-thread-colour {
  padding-top: clamp(20px, 2.25vw, 34px);
  padding-bottom: clamp(17px, 2vw, 29px);
}
.sw-golden-thread-colour { padding-bottom: clamp(14px, 1.5vw, 22px); }

/* Keep Nostalgia in the same visual family as Nature and Colour. */
.sw-golden-thread-nostalgia strong {
  font-size: clamp(3.6rem, 8vw, 8rem);
  line-height: .82;
}
.sw-golden-thread-nostalgia span {
  font-size: clamp(1.45rem, 2.2vw, 2.4rem);
}

@media (max-width: 560px) {
  .sw-golden-thread-nature,
  .sw-golden-thread-colour { padding-top: 20px; padding-bottom: 20px; }
  .sw-golden-thread-colour { padding-bottom: 16px; }
  .sw-golden-thread-nostalgia strong { font-size: clamp(3rem, 15vw, 4.9rem); }
}


/* v3.4 — harmonise the editorial headline system and make the home phrase responsive. */
/* Nature, Colour and Nostalgia remain the three matching anchor words. */
.sw-golden-thread-nature strong,
.sw-golden-thread-colour strong,
.sw-golden-thread-nostalgia strong {
  font-size: clamp(3.6rem, 8vw, 8rem);
  line-height: .82;
}
.sw-golden-thread-nature span,
.sw-golden-thread-colour span,
.sw-golden-thread-nostalgia span {
  font-size: clamp(1.45rem, 2.2vw, 2.4rem);
}

/* Longer statements are deliberately one step down so the hierarchy feels related, not competing. */
.sw-golden-thread-everyday strong {
  font-size: clamp(3.15rem, 6.6vw, 6.8rem);
  line-height: .92;
}

/* No punctuation separators: each idea is an independent responsive word group. */
.sw-golden-thread-home .sw-wrap {
  gap: clamp(14px, 1.8vw, 24px);
}
.sw-golden-thread-home .sw-home-intro,
.sw-golden-thread-home .sw-home-outro {
  font-size: clamp(1.45rem, 2.2vw, 2.4rem);
}
.sw-golden-thread-home .sw-home-words {
  display:flex;
  align-items:baseline;
  justify-content:center;
  flex-wrap:nowrap;
  gap:clamp(18px, 3vw, 48px);
  font-size:clamp(2.9rem, 5.7vw, 5.9rem);
  line-height:.9;
  width:100%;
}
.sw-golden-thread-home .sw-home-words span {
  font:inherit;
  line-height:inherit;
  font-style:normal;
  color:inherit;
  white-space:nowrap;
}

@media (max-width: 820px) {
  .sw-golden-thread-everyday strong { font-size: clamp(2.65rem, 10.5vw, 4.8rem); }
  .sw-golden-thread-home .sw-home-words {
    font-size:clamp(2.65rem, 9vw, 4.4rem);
    gap:clamp(12px, 2.5vw, 24px);
    flex-wrap:wrap;
  }
}

@media (max-width: 560px) {
  .sw-golden-thread-nature strong,
  .sw-golden-thread-colour strong,
  .sw-golden-thread-nostalgia strong { font-size: clamp(3rem, 15vw, 4.9rem); }
  .sw-golden-thread-everyday strong { font-size: clamp(2.35rem, 11.5vw, 3.9rem); }
  .sw-golden-thread-home .sw-wrap { gap:12px; }
  .sw-golden-thread-home .sw-home-words {
    flex-direction:column;
    align-items:center;
    gap:4px;
    font-size:clamp(2.8rem, 13vw, 4.25rem);
  }
}


/* v3.5 — warmer gallery ivory and robust responsive home statement. */
.sw-golden-thread-home {
  overflow: hidden;
}
.sw-golden-thread-home .sw-wrap {
  width: min(calc(100% - 48px), 1180px);
  max-width: 100%;
  padding-inline: 0;
}
.sw-golden-thread-home .sw-home-words {
  width: 100%;
  max-width: 1120px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto auto auto;
  justify-content: center;
  align-items: baseline;
  column-gap: clamp(18px, 2.6vw, 42px);
  font-size: clamp(2.35rem, 4.35vw, 4.75rem);
  line-height: .92;
  text-align: center;
}
.sw-golden-thread-home .sw-home-words span {
  min-width: 0;
  white-space: nowrap;
}

@media (max-width: 820px) {
  .sw-golden-thread-home .sw-wrap { width: min(calc(100% - 36px), 700px); }
  .sw-golden-thread-home .sw-home-words {
    grid-template-columns: 1fr;
    row-gap: 3px;
    font-size: clamp(2.45rem, 8.5vw, 3.8rem);
  }
}

@media (max-width: 560px) {
  .sw-golden-thread-home .sw-wrap { width: calc(100% - 32px); gap: 11px; }
  .sw-golden-thread-home .sw-home-words {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    row-gap: 2px;
    font-size: clamp(2.15rem, 10vw, 3rem);
    line-height: .98;
  }
  .sw-golden-thread-home .sw-home-words span {
    display: block;
    width: 100%;
    white-space: nowrap;
    text-align: center;
  }
  .sw-golden-thread-home .sw-home-intro,
  .sw-golden-thread-home .sw-home-outro {
    font-size: clamp(1.3rem, 5.5vw, 1.7rem);
  }
}

/* v3.6 — desktop home statement: guarantee all three phrases fit inside the viewport. */
@media (min-width: 821px) {
  .sw-golden-thread-home .sw-wrap {
    width: min(calc(100% - 72px), 1280px);
  }
  .sw-golden-thread-home .sw-home-words {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: baseline;
    width: 100%;
    max-width: 100%;
    gap: clamp(14px, 2vw, 30px);
    font-size: clamp(2.25rem, 3.45vw, 3.8rem);
    line-height: .94;
  }
  .sw-golden-thread-home .sw-home-words span {
    flex: 0 1 auto;
    min-width: 0;
    white-space: nowrap;
  }
}


/* v3.7 — editorial punctuation for the home statement. */
.sw-golden-thread-home .sw-home-words i {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
}
@media (min-width: 821px) {
  .sw-golden-thread-home .sw-home-words {
    gap: clamp(10px, 1.25vw, 20px);
    font-size: clamp(2.1rem, 3.15vw, 3.55rem);
  }
}
@media (max-width: 820px) {
  .sw-golden-thread-home .sw-home-words {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .08em;
  }
  .sw-golden-thread-home .sw-home-words span {
    display: block;
    white-space: nowrap;
  }
  .sw-golden-thread-home .sw-dot { display: none; }
}


/* v3.8 — move the home statement up to replace the everyday-surroundings statement. */


/* v3.10 — Current & Upcoming */
.sw-current-upcoming { padding:clamp(70px,9vw,130px) 0; border-top:1px solid rgba(45,39,32,.13); }
.sw-current-heading { margin-bottom:clamp(36px,5vw,64px); }
.sw-current-heading h2 { margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(2.45rem,4vw,4.3rem); font-weight:400; line-height:.95; }
.sw-current-heading p { margin:12px 0 0; font-family:"Cormorant Garamond",Georgia,serif; font-size:1.15rem; font-style:italic; }
.sw-current-list { border-top:1px solid rgba(45,39,32,.18); }
.sw-current-item { display:grid; grid-template-columns:minmax(180px,.7fr) 1.5fr; gap:clamp(30px,6vw,90px); padding:32px 0; border-bottom:1px solid rgba(45,39,32,.18); }
.sw-current-meta { display:flex; flex-direction:column; gap:5px; font-size:.76rem; letter-spacing:.09em; text-transform:uppercase; }
.sw-current-copy h3 { margin:0 0 8px; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(1.8rem,2.6vw,2.7rem); font-weight:400; }
.sw-current-description p { margin:.35em 0 .7em; max-width:700px; }
.sw-current-copy a { display:inline-block; margin-top:8px; color:inherit; text-underline-offset:4px; }
@media (max-width:700px) { .sw-current-item { grid-template-columns:1fr; gap:16px; padding:26px 0; } .sw-current-heading { margin-bottom:30px; } }


/* v3.11 — Current & Upcoming date ordering and introductory line */
.sw-current-heading .sw-current-intro {
  margin-top: .45rem;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.2rem, 1.65vw, 1.55rem);
  font-style: italic;
  color: var(--sw-muted);
}

/* v3.12 — Current & Upcoming uses a dedicated calendar start date for reliable chronological ordering. */


/* v3.13 — pre-shop launch: keep WooCommerce private from site navigation while the shop is prepared. */
.sw-originals-hero-preview { cursor: default; }
.sw-originals-coming-soon { pointer-events: none; }
.sw-shop-coming-soon {
  padding: clamp(72px, 9vw, 132px) 0;
  border-top: 1px solid rgba(45,39,32,.13);
  text-align: center;
}
.sw-shop-coming-inner { max-width: 820px; }
.sw-shop-coming-soon h2 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.8rem, 5vw, 5rem);
  font-weight: 400;
  line-height: .95;
}
.sw-shop-coming-kicker {
  margin: 12px 0 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  font-style: italic;
}
.sw-shop-coming-copy {
  max-width: 620px;
  margin: 18px auto 0;
  line-height: 1.7;
}


/* v3.16 — refined three-work prints banner: slim gallery gaps and uncropped centre artwork. */
.sw-prints.sw-prints-banner {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}
.sw-prints-triptych {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 10px;
  background: var(--sw-ivory);
  overflow: hidden;
}
.sw-prints-triptych figure {
  margin: 0;
  height: clamp(400px, 48vw, 680px);
  overflow: hidden;
  background: var(--sw-paper);
}
.sw-prints-triptych img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sw-prints-triptych figure:nth-child(2) img {
  object-fit: contain;
}
.sw-prints-banner-title {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  color: #fff;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.7rem, 6.1vw, 6.6rem);
  font-weight: 400;
  line-height: .92;
  letter-spacing: .035em;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 1px 12px rgba(0,0,0,.18);
  pointer-events: none;
}
.sw-shop-coming-copy {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.25rem, 1.8vw, 1.6rem);
  line-height: 1.45;
  color: var(--sw-ink);
}
@media (max-width: 700px) {
  .sw-prints-triptych { gap: 6px; padding: 6px; }
  .sw-prints-triptych figure { height: clamp(260px, 75vw, 430px); }
  .sw-prints-banner-title {
    font-size: clamp(2rem, 9.5vw, 3.5rem);
    line-height: .96;
    letter-spacing: .02em;
  }
}
\n\n/* v3.17 — prints triptych matched to approved layout using Sarah's original images. */
.sw-prints-triptych {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 14px;
  background: var(--sw-ivory);
  align-items: stretch;
}
.sw-prints-triptych figure {
  height: auto;
  aspect-ratio: 0.82 / 1;
  overflow: hidden;
  background: var(--sw-ivory);
}
.sw-prints-triptych img,
.sw-prints-triptych figure:nth-child(2) img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}
.sw-prints-banner-title {
  font-size: clamp(2.7rem, 5.8vw, 6.2rem);
  white-space: nowrap;
}
@media (max-width: 700px) {
  .sw-prints-triptych { gap: 6px; padding: 6px; }
  .sw-prints-triptych figure { height: auto; aspect-ratio: 0.82 / 1; }
  .sw-prints-banner-title { white-space: normal; }
}


/* v3.18 — final About and desktop triptych refinements. */
@media (min-width: 821px) {
  .sw-triple-collage .sw-collage-panel:first-child {
    position: relative;
    top: -6px;
  }
}
.sw-about-heading .sw-about-studio-frame {
  margin-top: 30px;
}
.sw-about-portrait-second {
  margin-top: 22px;
}
.sw-about-new-studio-image {
  margin: 1.35em 0 1.55em;
  padding: 8px;
  background: #ece4d8;
  border: 1px solid rgba(71,57,43,.40);
  box-shadow: 0 0 0 4px rgba(93,70,52,.09), 0 12px 28px rgba(61,48,36,.10);
}
.sw-about-new-studio-image img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 820px) {
  .sw-about-heading .sw-about-studio-frame { margin-top: 16px; }
  .sw-about-portrait-second { margin-top: 16px; }
  .sw-about-new-studio-image { margin: 1.15em 0 1.35em; padding: 6px; }
}


/* v3.19 — precise laptop triptych alignment and unified About image column. */
@media (min-width: 821px) {
  /* Pelargonium card: lift the complete framed card so its top edge is level with the other two. */
  .sw-triple-collage .sw-collage-panel:first-child {
    position: relative;
    top: -12px;
  }

  /* Let the About image column travel naturally beside the copy instead of sticking in place. */
  .sw-about-heading {
    position: static;
    top: auto;
    align-self: start;
  }
}

/* Keep all three About photographs as one clean, consistently sized vertical column. */
.sw-about-heading .sw-about-studio-frame,
.sw-about-heading .sw-about-portrait-frame {
  width: 100%;
  box-sizing: border-box;
}
.sw-about-heading .sw-about-studio-frame img,
.sw-about-heading .sw-about-portrait-frame img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  height: auto;
  object-fit: cover;
}
.sw-about-heading .sw-about-studio-frame img { object-position: center 48%; }
.sw-about-heading .sw-about-portrait-second img { object-position: center 42%; }
.sw-about-heading .sw-about-studio-wall-third { margin-top: 22px; }
.sw-about-heading .sw-about-studio-wall-third img { object-position: center 46%; }

@media (max-width: 820px) {
  .sw-about-heading .sw-about-studio-wall-third { margin-top: 16px; }
}


/* v3.20 — final laptop triptych alignment and balanced About composition. */
@media (min-width: 821px) {
  /* Make the three framed cards share one exact top baseline, then optically lift
     Pelargonium a touch more to compensate for its photograph's heavier top margin. */
  .sw-triple-collage {
    align-items: start !important;
  }
  .sw-triple-collage .sw-collage-panel {
    align-self: start !important;
    margin-top: 0 !important;
  }
  .sw-triple-collage .sw-collage-panel:first-child {
    position: relative !important;
    top: -20px !important;
    transform: none !important;
  }
  .sw-triple-collage .sw-collage-panel:nth-child(2),
  .sw-triple-collage .sw-collage-panel:nth-child(3) {
    position: relative !important;
    top: 0 !important;
    transform: none !important;
  }

  /* About: title belongs with the words; images form one level column beside it. */
  .sw-about-home-inner {
    grid-template-columns: minmax(225px, 3fr) minmax(0, 8fr);
    gap: clamp(54px, 7vw, 104px);
    align-items: start;
  }
  .sw-about-title-mobile { display: none !important; }
  .sw-about-title-desktop {
    display: block;
    margin: 0 0 .48em !important;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    font-size: clamp(2.7rem, 4.4vw, 4.8rem);
    line-height: .96;
  }
  .sw-about-heading {
    position: static !important;
    top: auto !important;
    align-self: start;
    padding-top: 2px;
  }
  .sw-about-heading .sw-about-studio-frame {
    margin-top: 0 !important;
  }
  .sw-about-home-copy {
    max-width: 820px;
    padding-top: 0;
    font-size: clamp(1.22rem, 1.62vw, 1.55rem);
    line-height: 1.68;
  }
  .sw-about-home-copy p {
    margin: 0 0 1.42em;
  }
  .sw-about-home-copy .sw-about-email {
    margin-top: 1.75em !important;
    margin-bottom: 0 !important;
  }
  .sw-about-heading .sw-about-studio-frame,
  .sw-about-heading .sw-about-portrait-frame {
    margin-left: 0;
    margin-right: 0;
  }
  .sw-about-heading .sw-about-portrait-second,
  .sw-about-heading .sw-about-studio-wall-third {
    margin-top: 20px !important;
  }
}

@media (max-width: 820px) {
  .sw-about-title-desktop { display: none !important; }
  .sw-about-title-mobile { display: block !important; }
}

/* v3.21 — definitive desktop Pelargonium baseline correction.
   Earlier relative lifts were being visually clipped by the triptych wrapper.
   Allow the desktop grid to show the offset, then lift only the first complete card. */
@media (min-width: 821px) {
  .sw-triple-collage {
    overflow: visible !important;
    align-items: start !important;
  }
  .sw-triple-collage .sw-collage-panel:first-child {
    position: relative !important;
    top: -8px !important;
    margin-top: 0 !important;
    transform: none !important;
  }
  .sw-triple-collage .sw-collage-panel:nth-child(2),
  .sw-triple-collage .sw-collage-panel:nth-child(3) {
    top: 0 !important;
    margin-top: 0 !important;
  }
}


/* v3.22 — new seal, Passing Summer feature, and true desktop triptych baseline. */
@media (min-width: 821px) {
  .sw-triple-collage { align-items: start !important; overflow: visible !important; }
  .sw-triple-collage .sw-collage-panel,
  .sw-triple-collage .sw-collage-panel:first-child,
  .sw-triple-collage .sw-collage-panel:nth-child(2),
  .sw-triple-collage .sw-collage-panel:nth-child(3) {
    position: relative !important;
    top: 0 !important;
    margin-top: 0 !important;
    transform: none !important;
    align-self: start !important;
  }
}
.sw-passing-summer { margin-top: 34px; margin-bottom: 96px; }
.sw-passing-summer .sw-art-frame { max-width: 1180px; margin-inline: auto; }
.sw-passing-summer img { display:block; width:100%; height:auto; object-fit:contain; }
.sw-footer-seal { display:flex; justify-content:center; padding-bottom:32px; }
.sw-footer-seal img { width:clamp(118px,11vw,158px); height:auto; display:block; }
@media (max-width:820px) {
  .sw-passing-summer { margin-top:22px; margin-bottom:66px; }
  .sw-footer-seal { padding-bottom:26px; }
  .sw-footer-seal img { width:112px; }
}


/* v3.23 — updated Passing Summer photograph and seal moved into SHOP. */
.sw-shop-seal {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 18px auto 16px;
}
.sw-shop-seal img {
  display: block;
  width: clamp(160px, 15vw, 205px);
  height: auto;
}
@media (max-width: 820px) {
  .sw-shop-seal {
    margin: 14px auto 14px;
  }
  .sw-shop-seal img {
    width: 142px;
  }
}

/* Footer seal is retired in v3.23; the artist mark now belongs to the SHOP panel. */
.sw-footer-seal { display: none !important; }


/* v3.24 — Sunflowers at Send, Passing Summer exhibition note, and SHOP moved below About. */

.sw-sunflowers-send {
  margin-top: 40px;
  margin-bottom: 88px;
}
.sw-sunflowers-send .sw-art-frame {
  max-width: 980px;
  margin-inline: auto;
}
.sw-sunflowers-send img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Passing Summer now carries its exhibition selection within the existing caption box. */
.sw-passing-caption {
  display: grid !important;
  grid-template-columns: auto 1fr;
  align-items: baseline !important;
  column-gap: 18px !important;
  row-gap: 6px !important;
}
.sw-passing-caption > span {
  justify-self: end;
}
.sw-passing-caption > em {
  grid-column: 1 / -1;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: .92rem;
  line-height: 1.35;
  font-style: normal;
  color: var(--sw-muted);
}

/* Shop enquiry details — understated and consistent with the homepage typography. */
.sw-shop-contact {
  max-width: 620px;
  margin: 20px auto 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.08rem, 1.45vw, 1.28rem);
  line-height: 1.55;
  color: var(--sw-ink);
}
.sw-shop-contact a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(45,39,32,.28);
}
.sw-shop-contact a:hover {
  border-bottom-color: currentColor;
}

@media (max-width: 700px) {
  .sw-sunflowers-send {
    margin-top: 22px;
    margin-bottom: 62px;
  }
  .sw-passing-caption {
    grid-template-columns: 1fr;
    row-gap: 4px !important;
  }
  .sw-passing-caption > span {
    justify-self: start;
    white-space: normal;
  }
  .sw-passing-caption > em {
    grid-column: 1;
  }
}

/* v3.25 — Passing Summer close-up restored under a new filename to eliminate stale browser/device caching. */
