/* Plain, template-agnostic styles; the real template will restyle these. */
.gs-photo { max-width: 1300px; margin: 0 auto; }
.gs-photo__figure { margin: 0 0 1.5rem; }
.gs-photo__img { display: block; width: 100%; height: auto; max-height: 88vh; object-fit: contain; }
.gs-photo__caption { font-size: .95rem; opacity: .8; margin-top: .5rem; }
.gs-photo__text { max-width: 44rem; }
.gs-photo__facts { display: grid; grid-template-columns: max-content 1fr; gap: .25rem 1rem; font-size: .9rem; }
.gs-photo__facts dt { font-weight: 600; }
.gs-photo__facts dd { margin: 0; }
.gs-photo__nav { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; margin: 2rem 0; }

.gs-buy { margin: 2rem 0; padding: 1.25rem; border: 1px solid rgba(127,127,127,.35); border-radius: 6px; max-width: 28rem; }
.gs-buy__title { font-size: 1.2rem; margin: 0 0 .75rem; }
.gs-buy__label { display: block; font-weight: 600; font-size: .9rem; margin: .75rem 0 .25rem; }
.gs-buy__select, .gs-buy textarea { width: 100%; font: inherit; padding: .4rem; }
.gs-buy__check { display: block; margin-top: .5rem; }
.gs-buy__note, .gs-buy__small, .gs-buy__delivery { font-size: .85rem; opacity: .8; }
.gs-buy__gift { margin-top: .75rem; }
.gs-buy__price { margin: 1rem 0 .5rem; }
.gs-buy__price [data-gs-price] { font-size: 1.6rem; font-weight: 700; margin-right: .5rem; }
.gs-buy__christmas { font-weight: 600; }
.gs-buy__button { font: inherit; font-weight: 700; padding: .7rem 1.4rem; border: 0; border-radius: 4px; background: #1d1d1b; color: #fff; cursor: pointer; }
.gs-buy__button:disabled { opacity: .6; cursor: wait; }
.gs-thanks { max-width: 40rem; }

.gs-share {display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: 1.5rem 0; }
.gs-share__label { font-weight: 600; margin-right: .25rem; }
.gs-share__btn { font: inherit; font-size: .85rem; padding: .3rem .7rem; border: 1px solid currentColor; border-radius: 2rem;
  background: none; color: inherit; text-decoration: none; cursor: pointer; }
.gs-share__btn:hover, .gs-share__btn:focus-visible { background: rgba(127,127,127,.15); }

.gs-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.gs-grid__item a { display: block; color: inherit; text-decoration: none; }
.gs-grid__item img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; }
/* Home wall (plain defaults; the template styles it properly) */
.gs-wall { list-style: none; margin: 2rem 0 0; padding: 0; columns: 3 280px; column-gap: 1.2rem; }
.gs-wall > li { break-inside: avoid; margin-bottom: 1.4rem; }
.gs-wall__item a { display: block; color: inherit; text-decoration: none; }
.gs-wall__item img { display: block; width: 100%; height: auto; }
.gs-wall__name { display: block; padding-top: .35rem; font-size: .95rem; }
.gs-card { padding: 1.4rem 1.3rem; border-radius: 4px; background: #fff; }
.gs-card a { color: inherit; text-decoration: none; display: block; }
.gs-card__big { display: block; font-size: 1.5rem; line-height: 1.15; }
.gs-card__small { display: block; margin-top: .5rem; }
.gs-grid__badge { display: inline-block; font-size: .75rem; font-weight: 600; padding: .15rem .55rem; border-radius: 1rem; background: #1d5e2a; color: #fff; }
.gs-grid__name {display: block; padding: .4rem 0; font-size: .95rem; }

/* Shop grid */
.gs-shopbar{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0 0 1.25rem}
.gs-shopbar__group{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.gs-shopbar__group>span{font-size:.8rem;opacity:.7;margin-right:.25rem}
.gs-shopbar button{font:inherit;font-size:.85rem;padding:.25rem .75rem;border:1px solid rgba(0,0,0,.3);border-radius:2rem;background:transparent;cursor:pointer}
.gs-shopbar button[aria-pressed=true]{background:#4a6e3a;border-color:#4a6e3a;color:#fff}
.gs-grid--shop .gs-grid__item[hidden]{display:none}
.gs-grid--shop .gs-grid__meta{display:block;font-size:.8rem;opacity:.75;padding-bottom:.5rem}

/* Print picker: paper, then size cards */
.gs-buy{max-width:34rem}
.gs-buy__paper{border:0;padding:0;margin:0 0 1rem}
.gs-buy__paper legend{font-weight:600;font-size:.9rem;padding:0;margin-bottom:.4rem}
.gs-buy__sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.gs-size{display:block;cursor:pointer}
.gs-size input{position:absolute;opacity:0;pointer-events:none}
.gs-size__card{display:flex;flex-direction:column;gap:.1rem;text-align:center;padding:.6rem .3rem;border:2px solid rgba(0,0,0,.2);border-radius:6px;background:rgba(255,255,255,.5)}
.gs-size__card small{font-size:.7rem;opacity:.7}
.gs-size__card em{font-style:normal;font-weight:700}
.gs-size input:checked+.gs-size__card{border-color:#4a6e3a;background:#e9f1e4}
.gs-size input:focus-visible+.gs-size__card{outline:3px solid #4a6e3a;outline-offset:2px}

/* Photo page: picture left, details and buying right (stacked on narrow screens) */
.gs-max{font:inherit;font-size:.8rem;padding:.3rem .7rem;border:1px solid rgba(0,0,0,.35);border-radius:2rem;background:rgba(255,255,255,.75);cursor:pointer}
.gs-photo__figure{position:relative}
.gs-photo__figure .gs-max{position:absolute;top:.6rem;right:.6rem;z-index:3}
.gs-photo__text .gs-max{margin-bottom:.75rem}
@media (min-width:900px){
  .gs-photo{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(23rem,1fr);gap:2rem;align-items:start;max-width:1500px}
  .gs-photo__figure{position:sticky;top:4.5rem;margin:0}
  .gs-photo__img{max-height:calc(100vh - 7rem)}
  .gs-photo__text{max-width:none}
  .gs-photo.is-max-image{grid-template-columns:1fr}
  .gs-photo.is-max-image .gs-photo__text{display:none}
  .gs-photo.is-max-image .gs-photo__img{max-height:calc(100vh - 6rem)}
  .gs-photo.is-max-text{grid-template-columns:1fr}
  .gs-photo.is-max-text .gs-photo__figure{display:none}
  .gs-photo.is-max-text .gs-photo__text{max-width:60rem;margin:0 auto}
}
@media (max-width:899px){
  .gs-max{display:none}
}

.gs-buy__summary{position:sticky;bottom:0;z-index:2;margin:1rem -1.25rem -1.25rem;padding:.75rem 1.25rem 1rem;background:rgba(240,243,238,.96);border-top:1px solid rgba(0,0,0,.2);border-radius:0 0 6px 6px}
.gs-buy__summary .gs-buy__price{margin:0 0 .5rem}

/* Hover choice on grid pictures: Enlarge or Buy */
.gs-grid__item{position:relative}
.gs-hover{position:absolute;top:.6rem;left:.6rem;display:flex;gap:.4rem;opacity:0;transform:translateY(-4px);transition:opacity .15s,transform .15s;z-index:4}
.gs-grid__item:hover .gs-hover,.gs-grid__item:focus-within .gs-hover{opacity:1;transform:none}
.gs-hover button,.gs-hover a{font:inherit;font-size:.8rem;font-weight:600;line-height:1;padding:.45rem .8rem;border:0;border-radius:2rem;background:rgba(255,255,255,.94);color:#1d1d1b;text-decoration:none;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.gs-hover .gs-hover__buy{background:var(--btn,#6a7d61);color:#fff}
@media (hover:none){.gs-hover{opacity:1;transform:none;top:auto;bottom:auto;position:static;margin:.4rem 0 .2rem}.gs-hover button,.gs-hover a{box-shadow:none;border:1px solid rgba(0,0,0,.3)}.gs-hover .gs-hover__buy{border-color:#4a6e3a}}

/* Wall-view strip under the picture */
.gs-mocks{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.6rem}
.gs-mocks__t{padding:0;border:2px solid transparent;border-radius:3px;background:none;cursor:pointer;line-height:0}
.gs-mocks__t img{height:64px;width:auto;object-fit:cover;border-radius:2px;display:block}
.gs-mocks__t.is-on{border-color:#4a6e3a}
.gs-buy__paperinfo{font-size:.8rem;opacity:.8;margin:.1rem 0 .5rem;line-height:1.4}

/* Layout trial switcher */
.gs-laysw{font-size:.85rem;margin:0 0 .75rem;display:flex;gap:.9rem;flex-wrap:wrap}
.gs-laysw a[aria-current=true]{font-weight:700;text-decoration:underline}

/* Layout B: picture on top, story left and buying right underneath */
@media (min-width:900px){
  .gs-photo--b{display:block}
  .gs-photo--b .gs-photo__figure{position:static;max-width:1100px;margin:0 auto 1.5rem}
  .gs-photo--b .gs-photo__img{max-height:68vh;margin:0 auto}
  .gs-photo--b .gs-photo__text{display:grid;grid-template-columns:minmax(0,1fr) minmax(23rem,28rem);gap:0 3rem;align-items:start;max-width:1100px;margin:0 auto}
  .gs-photo--b .gs-photo__text>*{grid-column:1}
  .gs-photo--b .gs-photo__text>.gs-buy{grid-column:2;grid-row:1/span 7;position:sticky;top:5rem}
  .gs-photo--b .gs-max--text{display:none}
}

/* Layout C: tabs on the right */
.gs-tabs{display:flex;gap:.4rem;margin:.75rem 0 1rem;border-bottom:1px solid rgba(0,0,0,.25)}
.gs-tabs button{font:inherit;font-size:.95rem;padding:.5rem 1rem;border:0;border-bottom:3px solid transparent;background:none;cursor:pointer}
.gs-tabs button[aria-selected=true]{border-bottom-color:#4a6e3a;font-weight:700}

/* Layout A: buy first, then the story (so the price is never pushed off the screen) */
.gs-photo--a .gs-photo__text{display:flex;flex-direction:column}
.gs-photo--a .gs-photo__text>*{order:5;grid-column:auto}
.gs-photo--a .gs-photo__text>.gs-max{order:0}
.gs-photo--a .gs-photo__text>.gs-photo__title{order:1}
.gs-photo--a .gs-photo__text>.tags{order:2}
.gs-photo--a .gs-photo__text>.gs-buy,.gs-photo--a .gs-photo__text>.gs-photo__buy,.gs-photo--a .gs-photo__text>.gs-buy__small{order:3}
.gs-photo--a .gs-photo__text>.gs-photo__description{order:4}
.gs-photo--a .gs-photo__text>.gs-photo__facts{order:5}
.gs-photo--a .gs-photo__text>.gs-keep{order:6}
.gs-photo--a .gs-photo__text>.gs-share{order:7}
.gs-photo--a .gs-photo__text>.gs-photo__nav{order:8}

/* Photo page structure: .gs-photo__top holds the picture and the buying column (the picture is pinned only within it);
   in layout A the long story sits in .gs-photo__more, under both. */
.gs-photo__more{max-width:52rem;margin:2.5rem auto 0}
.gs-photo__img{width:100%;max-height:calc(100vh - 12rem)}
@media (min-width:900px){
  .gs-photo{display:block}
  .gs-photo__top{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(23rem,1fr);gap:2rem;align-items:start}
  .gs-photo--a .gs-photo__text{display:flex;flex-direction:column}
  .gs-photo.is-max-image .gs-photo__top,.gs-photo.is-max-text .gs-photo__top{grid-template-columns:1fr}
  .gs-photo--b .gs-photo__top{display:block}
  .gs-photo--b .gs-photo__img{max-height:68vh}
  .gs-photo.is-max-image .gs-photo__img{max-height:calc(100vh - 8rem)}
}

/* Thumbnails in a column to the LEFT of the main picture (Etsy / Society6 style); below it on narrow screens */
@media (min-width:900px){
  .gs-photo__figure:has(.gs-mocks){display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:.75rem;align-items:start}
  .gs-photo__figure:has(.gs-mocks) .gs-mocks{grid-column:1;grid-row:1;flex-direction:column;flex-wrap:nowrap;margin:0;max-height:calc(100vh - 12rem);overflow-y:auto;overflow-x:hidden;padding-right:2px}
  .gs-photo__figure:has(.gs-mocks) .gs-photo__img{grid-column:2;grid-row:1}
  .gs-photo__figure:has(.gs-mocks) .gs-photo__caption{grid-column:2}
  .gs-photo__figure:has(.gs-mocks) .gs-max{right:.6rem}
  .gs-mocks__t{width:72px}
  .gs-mocks__t img{width:72px;height:54px;object-fit:cover}
  .gs-mocks__t:first-child img{height:72px}
  /* the story and facts under the picture start at the left edge of the main picture, not the thumbnails */
  .gs-photo:has(.gs-mocks) .gs-photo__more{padding-left:calc(76px + .75rem)}
}

/* Home: readable intro under the wall (also what search engines and AI assistants read) */
.gs-home-intro{max-width:1200px;margin:3rem auto;padding:0 1rem}
.gs-home-intro__grid{display:grid;gap:2rem;align-items:center}
.gs-home-intro__lead{font-size:1.2rem;line-height:1.6}
.gs-home-intro__hero{margin:0}
.gs-home-intro__hero img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:2px}
.gs-home-intro__hero figcaption{font-size:.9rem;opacity:.75;margin-top:.4rem}
.gs-home-intro__services{display:grid;gap:1.5rem;margin:2.5rem 0}
.gs-home-intro__services h2{font-size:1.3rem;margin:0 0 .4rem}
.gs-home-intro__h{font-size:1.3rem;margin:2rem 0 .75rem}
.gs-home-intro__prints{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
.gs-home-intro__prints a{display:block;color:inherit;text-decoration:none}
.gs-home-intro__prints img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.gs-home-intro__prints span{display:block;font-size:.9rem;padding:.3rem 0}
.gs-home-intro__more{margin-top:2rem}
@media (min-width:900px){
  .gs-home-intro__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .gs-home-intro__services{grid-template-columns:repeat(3,1fr)}
}

/* Home page text sections (30 Oct 2026): mirrors the live front page, one section after another, pictures alternating sides */
.gs-home{max-width:1100px}
.gs-home h2,.gs-home h3{margin-top:0}
.gs-home h2{font-size:clamp(1.3rem,2.3vw,1.8rem)}
.gs-home__split{display:grid;gap:1.6rem;align-items:start;margin:0 0 3.2rem}
.gs-home__sec{margin:0 0 3.4rem}
.gs-home__sec>h2{margin-bottom:1.1rem}
.gs-home__sec>.gs-home__split{margin-bottom:1.8rem}
.gs-home__fig{margin:0}
.gs-home__fig img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:2px}
.gs-home__fig figcaption{font-size:.88rem;opacity:.75;margin-top:.45rem}
.gs-home__brand{font-size:clamp(1.2rem,2.2vw,1.55rem);margin:.2rem 0 .1rem}
.gs-home__kicker{font:700 1.5rem/1.2 var(--f-hand,cursive);color:var(--muted);margin:0 0 1.1rem}
.gs-home__list{list-style:none;margin:0 0 1.2rem;padding:0}
.gs-home__list li{position:relative;padding:.18rem 0 .18rem 1.4rem}
.gs-home__list li::before{content:"";position:absolute;left:.15rem;top:.78em;width:.5rem;height:.5rem;border-radius:50%;background:var(--accent)}
.gs-home__cards{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.gs-home__cards a{display:block;color:inherit;text-decoration:none}
.gs-home__cards img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:2px}
.gs-home__cards span{display:block;font:600 .95rem/1.25 var(--f-ui);margin:.5rem 0 .1rem}
.gs-home__cards em{font-style:normal;font-size:.88rem;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.gs-home__more{margin:0 0 1.4rem}
.gs-home__posts{list-style:none;margin:0 0 1.2rem;padding:0}
.gs-home__posts li{padding:.55rem 0;border-bottom:1px solid var(--line,rgba(0,0,0,.15))}
.gs-home__posts a{font:600 1.05rem/1.3 var(--f-ui);text-decoration:none}
.gs-home__posts time{display:block;font-size:.85rem;opacity:.7;margin-top:.1rem}
.gs-home__faq h3{font-size:1.1rem;margin:1.6rem 0 .35rem}
.gs-home__faq h3:first-of-type{margin-top:0}
.gs-home__faq p{max-width:46rem}
.gs-home__q{max-width:46rem;margin-left:auto;margin-right:auto}
.gs-home .btn{display:inline-block}
@media (min-width:900px){
  .gs-home__split{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:2.6rem}
  .gs-home__rev{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
  .gs-home__rev>.gs-home__fig{order:-1}
  .gs-home__cards{grid-template-columns:repeat(4,minmax(0,1fr))}
}

.gs-photo__summary{font-size:.95rem;opacity:.8;margin:.2rem 0 .75rem;line-height:1.45}
.gs-photo--a .gs-photo__text>.gs-photo__summary{order:1}

/* Article text under a category's pictures (menu option "Text under the pictures"). */
.gs-cat__text { max-width: 46rem; margin: 3.5rem auto 0; }
.gs-cat__text h2:first-child { margin-top: 0; }

/* Blog search and browsing (view blogsearch; the same block sits on top of /blog). */
.gs-blognav { margin: 0 0 1.5rem; max-width: 64rem; }
.gs-blognav__search { display: flex; gap: .5rem; margin: 0 0 1rem; max-width: 36rem; }
.gs-blognav__search input { flex: 1; min-width: 0; font: inherit; padding: .6rem .8rem; border: 1px solid currentColor; border-radius: 2px; background: var(--card, #fff); color: inherit; }
.gs-blognav__search button { font: inherit; font-weight: 600; padding: .6rem 1.1rem; border: 2px solid var(--ink); background: var(--ink); color: var(--hd-bg, #fff); border-radius: 2px; cursor: pointer; }
.gs-blognav__group { margin: 0 0 .9rem; }
.gs-blognav__group h2 { font: 700 .8rem/1 var(--f-ui); text-transform: uppercase; letter-spacing: .08em; margin: 0 0 .5rem; opacity: .75; }
.gs-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.gs-chips a { display: inline-block; padding: .3rem .7rem; border: 1px solid currentColor; border-radius: 999px; text-decoration: none; font: 500 .9rem/1.2 var(--f-ui); }
.gs-chips a span { opacity: .65; font-size: .8em; }
.gs-chips a:hover, .gs-chips a.is-on { background: var(--ink); color: var(--hd-bg, #fff); border-color: var(--ink); }
.gs-chips--small a { padding: .15rem .55rem; font-size: .8rem; }
.gs-blognav__search input:focus-visible, .gs-blognav__search button:focus-visible, .gs-chips a:focus-visible { outline: 3px solid var(--accent, #4a6e3a); outline-offset: 2px; }
.gs-blogsearch__count { margin: 1rem 0 1.5rem; opacity: .8; }
.gs-results { list-style: none; margin: 0 0 2rem; padding: 0; display: grid; gap: 2.2rem; max-width: 64rem; }
.gs-result { display: grid; grid-template-columns: minmax(0, 16rem) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.gs-result:not(:has(.gs-result__img)) { grid-template-columns: minmax(0, 1fr); }
.gs-result__img img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; border-radius: 2px; }
.gs-result h2 { font-size: clamp(1.3rem, 2.2vw, 1.8rem); margin: 0 0 .25rem; }
.gs-result h2 a { text-decoration: none; }
.gs-result__meta { margin: 0 0 .5rem; font-size: .9rem; opacity: .75; }
.gs-result__excerpt { margin: 0 0 .6rem; font: 400 1.05rem/1.55 var(--f-serif); }
.gs-result mark, .gs-blogsearch mark { background: color-mix(in srgb, var(--accent, #4a6e3a) 25%, transparent); color: inherit; padding: 0 .1em; }
.gs-blogsearch__none { max-width: 40rem; padding: 1rem 0; }
.gs-blogtop { max-width: 64rem; margin-bottom: 2rem; }
@media (max-width: 700px) { .gs-result { grid-template-columns: 1fr; gap: .8rem; } .gs-blognav__search { flex-direction: row; } }
/* More posts like this */
.gs-related { max-width: 64rem; margin: 3.5rem 0 1rem; padding-top: 1.5rem; border-top: 1px solid currentColor; }
.gs-related h2 { font-size: 1.4rem; margin: 0 0 1rem; }
.gs-related ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); }
.gs-related a { display: block; text-decoration: none; color: inherit; }
.gs-related img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; margin-bottom: .4rem; border-radius: 2px; }
.gs-related__t { display: block; font-weight: 600; }
.gs-related__d { display: block; font-size: .85rem; opacity: .7; }
.gs-related a:hover .gs-related__t { text-decoration: underline; }
.gs-chips-more { margin-top: .6rem; }
.gs-chips-more summary { cursor: pointer; font: 500 .9rem/1.4 var(--f-ui); margin-bottom: .5rem; }
.gs-chips-more summary:focus-visible { outline: 3px solid var(--accent, #4a6e3a); outline-offset: 2px; }
@media (max-width: 700px) { .gs-chips a { padding: .5rem .85rem; } .gs-chips--small a { padding: .35rem .7rem; } }

/* Layout A: the story under the picture and the buy box shares their outer edges: it starts at the left of the picture and ends at the right of the buy box.
   Long stories run in columns (about 26rem+ each) so lines stay comfortable to read; short ones stay one column. The facts table spans the full width. */
.gs-photo--a .gs-photo__more{max-width:none;margin:2.5rem 0 0}
@media (min-width:900px){
  .gs-photo--a .gs-photo__description--long{column-width:27rem;column-gap:2.5rem}
  .gs-photo--a .gs-photo__description--mid{column-count:2;column-gap:2.5rem}
  .gs-photo--a .gs-photo__description--long>*,.gs-photo--a .gs-photo__description--mid>*{break-inside:avoid-column}
  .gs-photo--a .gs-photo__more .gs-photo__facts{max-width:none}
}

.gs-photo--a .gs-photo__text>.gs-buy{max-width:none;margin-left:0;margin-right:0}

/* Blog search and archive, second pass (2026-10-28): a proper panel, bigger search box, quieter chips, and result cards. */
.gs-blognav { background: var(--card, #fff); border: 1px solid var(--line, rgba(127,127,127,.3)); border-radius: 6px; padding: 1.4rem 1.6rem; margin: 0 0 2.5rem; max-width: 64rem; box-shadow: 0 1px 0 rgba(0,0,0,.04); }
.gs-blognav__search { max-width: none; margin: 0 0 1.4rem; gap: 0; }
.gs-blognav__search input { font-size: 1.15rem; padding: .95rem 1.1rem; border: 1px solid var(--line, rgba(127,127,127,.5)); border-right: 0; border-radius: 6px 0 0 6px; background: var(--bg, #fafaf8); }
.gs-blognav__search button { font-size: 1.05rem; padding: .95rem 1.7rem; border-radius: 0 6px 6px 0; background: var(--btn, #6a7d61); border-color: var(--btn, #6a7d61); color: #fff; }
.gs-blognav__search button:hover { filter: brightness(1.08); }
.gs-blognav__group { margin: 0 0 1.1rem; }
.gs-blognav__group:last-child { margin-bottom: 0; }
.gs-blognav__group h2 { font: 700 .75rem/1 var(--f-ui); letter-spacing: .1em; margin: 0 0 .6rem; opacity: .6; }
.gs-chips a { border-color: var(--line, rgba(127,127,127,.45)); background: transparent; padding: .35rem .8rem; font-weight: 500; }
.gs-chips a:hover, .gs-chips a.is-on { background: var(--btn, #6a7d61); border-color: var(--btn, #6a7d61); color: #fff; }
.gs-chips a.is-on span, .gs-chips a:hover span { opacity: .85; }
.gs-chips-more summary { color: var(--accent, #4a6e3a); font-weight: 600; }
.gs-results { gap: 0; }
.gs-result { padding: 1.6rem 0; border-top: 1px solid var(--line, rgba(127,127,127,.3)); grid-template-columns: minmax(0, 17rem) minmax(0, 1fr); gap: 1.8rem; }
.gs-result:first-child { border-top: 0; padding-top: 0; }
.gs-result__img img { border-radius: 4px; transition: transform .3s; }
.gs-result:hover .gs-result__img img { transform: scale(1.02); }
.gs-result h2 { font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.15; }
.gs-result h2 a:hover { text-decoration: underline; }
.gs-result__meta { text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; }
.gs-blogsearch h1 { margin-bottom: 1.4rem; }
.gs-blogsearch__count { font-size: .95rem; }
.gs-blogtop .gs-blognav { margin-bottom: 2.5rem; }
@media (max-width: 700px) { .gs-blognav { padding: 1rem; } .gs-blognav__search input { font-size: 1rem; padding: .8rem; } .gs-blognav__search button { padding: .8rem 1.1rem; } }

/* hand-drawn 'book a shoot' label on some portraits */
.gs-grid__item a { position: relative; }
.gs-grid__item a .gs-hl { position: absolute; display: block; max-width: 55%; pointer-events: none; filter: drop-shadow(0 1px 2px var(--hs, rgba(0,0,0,.7))) drop-shadow(0 0 6px var(--hs, rgba(0,0,0,.5))); }
.gs-hl__ink { display: block; width: 100%; height: 100%; background: var(--hc, #fff); -webkit-mask: var(--m) center / 100% 100% no-repeat; mask: var(--m) center / 100% 100% no-repeat; }

/* Home hero and card layout (30 Oct 2026): a full-width hero picture with the H1 across it, a centred intro, then bands of text, pictures and cards */
.gs-home-hero{margin:20px 0 2.6rem}   /* a plain 20px gap between the wall and the hero (Paul, 30 Oct) */
.gs-home-hero__fig{margin:0}
.gs-home-hero__pic{position:relative;overflow:hidden}
.gs-home-hero__pic img{display:block;width:100%;height:clamp(300px,50vw,640px);object-fit:cover;object-position:50% 40%}
.gs-home-hero__pic::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.66),rgba(0,0,0,.08) 58%);pointer-events:none}
.gs-home__intro{max-width:46rem;margin:0 auto 3.6rem}
.gs-home__intro .gs-home-intro__lead{font-size:1.2rem;line-height:1.6}
.gs-home__what>h2{text-align:center;margin-bottom:1.4rem}
.gs-home__tiles{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem;grid-template-columns:minmax(0,1fr)}
.gs-home__tiles a{display:block;height:100%;color:inherit;text-decoration:none;background:var(--card,rgba(255,255,255,.55));border:1px solid var(--line,rgba(0,0,0,.12));border-radius:3px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.gs-home__tiles a:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.16);color:inherit}
.gs-home__tiles img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.gs-home__tiles h3{font-size:1.05rem;margin:.9rem 1rem .35rem}
.gs-home__tiles p{margin:0 1rem 1.15rem;font-size:.95rem;line-height:1.45;color:var(--muted)}
.gs-home__panel>:last-child{margin-bottom:0}
.gs-home__panel h3{margin-bottom:.6rem}
.gs-home__q{margin:3rem auto}
.gs-home__faq>h2{margin-bottom:1.1rem}
@media (min-width:600px){
  .gs-home__tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:900px){
  .gs-home__tiles{grid-template-columns:repeat(6,minmax(0,1fr))}
  .gs-home__tiles .t2{grid-column:span 2}
  .gs-home__tiles .t3{grid-column:span 3}
}

/* hero text: a short H1 with the rest as a subtitle H2, both across the picture */
.gs-home-hero__text{position:absolute;z-index:1;left:clamp(1rem,4vw,3.2rem);right:clamp(1rem,4vw,3.2rem);bottom:clamp(1rem,3vw,2.4rem);max-width:90%}
.gs-home-hero__h1{margin:0;color:#fff;font-size:clamp(1.9rem,4.7vw,3.9rem);line-height:1.02;letter-spacing:.03em;text-shadow:0 2px 20px rgba(0,0,0,.6);overflow-wrap:normal;hyphens:none}
.gs-home-hero__sub{margin:.5rem 0 0;color:#fff;font-size:clamp(1.05rem,2.6vw,2.1rem);line-height:1.15;letter-spacing:.04em;font-weight:400;text-shadow:0 2px 16px rgba(0,0,0,.6)}
/* lists: no boxes, just text with the book's own leaf ornament as the bullet */
.gs-home__ticks{list-style:none;margin:0 0 1.3rem;padding:0}
.gs-home__ticks li{position:relative;break-inside:avoid;padding:.15rem 0 .15rem 2.2rem;margin:0 0 .5rem;line-height:1.4}
.gs-home__ticks li::before{content:"";position:absolute;left:0;top:.5em;width:1.6rem;height:.66rem;background:var(--accent,#4a6e3a);-webkit-mask:url(../../templates/site/glavind/images/ornaments/leaf.webp) center/contain no-repeat;mask:url(../../templates/site/glavind/images/ornaments/leaf.webp) center/contain no-repeat}
.gs-home__panel{max-width:52rem;margin:2rem 0 0}
.gs-home__panel>:last-child{margin-bottom:0}
.gs-home__who h3{font-size:1.05rem;margin:1.5rem 0 .3rem}
.gs-home__who p{max-width:46rem}
@media (min-width:600px){.gs-home__ticks.gs-home__ticks--cols{columns:2;column-gap:2rem}}

/* Blog index as cards (30 Oct 2026) */
.gs-blog { max-width: 72rem; margin: 0 auto; }
.gs-blog__intro { max-width: 46rem; font-size: 1.15rem; margin: 0 0 1.4rem; }
.gs-blognav__more { margin: .4rem 0 1.6rem; }
.gs-blognav__more > summary { cursor: pointer; font: 600 .95rem/1.2 var(--f-ui); color: var(--accent); padding: .3rem 0; }
.gs-blognav__more[open] > summary { margin-bottom: .8rem; }
.gs-blogcards { list-style: none; margin: 0 0 2rem; padding: 0; display: grid; gap: 1.6rem; grid-template-columns: 1fr; }
.gs-blogcard { display: flex; flex-direction: column; background: color-mix(in srgb, var(--card, #fff) 88%, transparent); border: 1px solid var(--line, rgba(0,0,0,.12)); border-radius: 3px; overflow: hidden; }
.gs-blogcard__pic { display: block; background: rgba(0,0,0,.08); aspect-ratio: 3 / 2; }
.gs-blogcard__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gs-blogcard__body { padding: 1rem 1.2rem 1.3rem; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.gs-blogcard__date { margin: 0; font: 600 .82rem/1 var(--f-ui); text-transform: uppercase; letter-spacing: .08em; opacity: .7; }
.gs-blogcard h2 { margin: 0; font-size: clamp(1.25rem, 2vw, 1.55rem); line-height: 1.15; }
.gs-blogcard h2 a { text-decoration: none; color: inherit; }
.gs-blogcard h2 a:hover, .gs-blogcard h2 a:focus-visible { color: var(--accent); }
.gs-blogcard__text { margin: .2rem 0 0; font-size: 1.02rem; line-height: 1.5; }
.gs-blogcard__more { margin: auto 0 0; padding-top: .6rem; }
.gs-blogcard__more a { font: 700 1.05rem/1 var(--f-title); letter-spacing: .02em; color: var(--accent); text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: .1rem; }
@media (min-width: 640px) { .gs-blogcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) {
  .gs-blogcards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gs-blogcard--first { grid-column: span 2; flex-direction: row; }
  .gs-blogcard--first .gs-blogcard__pic { flex: 0 0 55%; aspect-ratio: auto; }
  .gs-blogcard--first h2 { font-size: 2rem; }
}
.gs-blog__pages { margin: 1rem 0 2rem; }
.gs-blog .gs-cat__title { font-size: clamp(1.7rem, 8vw, 4.2rem); overflow-wrap: normal; word-break: normal; hyphens: none; }
.gs-blog .gs-blognav { margin-bottom: 1.2rem; }
.gs-blog .gs-blognav__more { margin-bottom: .2rem; }

/* Pictures and words alternate on gallery pages; some landscapes are shown wide (30 Oct 2026) */
.gs-cat__sec { margin: 2.4rem auto 0; }
.gs-cat__sec:has(> .gs-cat__body > .gs-band) { max-width: 64rem; }
.gs-cat > .gs-grid { margin-top: 2.2rem; }
.gs-grid { grid-auto-flow: dense; }
@media (min-width: 700px) {
  .gs-grid__item--wide { grid-column: span 2; }
  .gs-grid__item--wide img { aspect-ratio: 3 / 2; }
}

/* The words on a picture when the pointer rests on it (30 Oct 2026): title, place and a short description over a soft dark wash. Mouse only: on touch the lightbox has the picture to itself. */
.gs-tip { display: none; }
@media (hover: hover) {
  .gs-grid__item a { position: relative; }
  .gs-tip { position: absolute; z-index: 2; left: 0; right: 0; top: 0; aspect-ratio: 4 / 3; display: flex; flex-direction: column; justify-content: flex-end; gap: .25rem; padding: 2.8rem 1.1rem 1.1rem;
    background: linear-gradient(to top, rgba(14, 17, 13, .9) 0%, rgba(14, 17, 13, .62) 55%, rgba(14, 17, 13, .12) 100%); color: rgba(255, 255, 255, .94);
    opacity: 0; transform: translateY(6px); transition: opacity .25s ease, transform .25s ease; pointer-events: none; overflow: hidden; }
  .gs-grid__item--wide .gs-tip { aspect-ratio: 3 / 2; }
  .gs-grid__item a:hover .gs-tip, .gs-grid__item a:focus-visible .gs-tip { opacity: 1; transform: none; }
  .gs-tip__t { font: 400 1.25rem/1.15 var(--f-title); letter-spacing: .03em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .gs-tip__l { font: 600 .78rem/1.2 var(--f-ui); text-transform: uppercase; letter-spacing: .09em; color: #cfdcc4; }
  .gs-tip__d { font: 400 .95rem/1.4 var(--f-serif); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) { .gs-tip { transition: none; transform: none; } }

/* "Show more photographs" (30 Oct 2026) */
.gs-more { text-align: center; margin: 2.2rem 0 1.6rem; }
.gs-more__btn { display: inline-block; font: 400 1.2rem/1.15 var(--f-title); letter-spacing: .05em; padding: .85rem 1.8rem .78rem; border-radius: 3px; background: var(--btn, #66795d); color: #fff; text-decoration: none; transition: background .2s, transform .2s; }
.gs-more__btn:hover, .gs-more__btn:focus-visible { background: var(--ink, #1d2124); color: var(--paper, #fff); transform: translateY(-1px); }
.gs-more__btn.is-busy { opacity: .6; cursor: progress; }
.gs-more.is-done .gs-more__btn { display: none; }
.gs-more__count { margin: .7rem 0 0; font: 600 .9rem/1.2 var(--f-ui); opacity: .7; }
.gs-more__back { margin: .5rem 0 0; }
.gs-grid--more { margin-top: 1rem; }

.gs-grid--more { scroll-margin-top: 6.5rem; }

/* THE FULL GALLERY PAGE (30 Oct 2026): a wall of columns, pictures shown whole; filter chips, search and shuffle above it */
.gs-gal__bar { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1rem; margin: 2rem 0 1rem; }
.gs-gal__search { flex: 1 1 18rem; max-width: 30rem; margin: 0; }
.gs-gal__search input { width: 100%; font: inherit; padding: .65rem .9rem; border: 1px solid var(--line, rgba(0,0,0,.25)); border-radius: 3px; background: color-mix(in srgb, var(--card, #fff) 85%, transparent); color: inherit; }
.gs-gal__search input:focus-visible, .gs-gal__shuffle:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.gs-gal__shuffle { font: 400 1.05rem/1.1 var(--f-title); letter-spacing: .05em; padding: .7rem 1.3rem .65rem; border: 0; border-radius: 3px; background: var(--btn, #66795d); color: #fff; cursor: pointer; transition: background .2s; }
.gs-gal__shuffle:hover { background: var(--ink, #1d2124); color: var(--paper, #fff); }
.gs-gal__count { margin: 0 0 0 auto; font: 600 .9rem/1.2 var(--f-ui); opacity: .75; }
.gs-gal__chips { margin: 0 0 1.6rem; }
.gs-gal__list { list-style: none; margin: 0; padding: 0; columns: 16rem; column-gap: .8rem; }
.gs-gal__item { break-inside: avoid; margin: 0 0 .8rem; content-visibility: auto; contain-intrinsic-size: auto 260px; }
.gs-gal__item[hidden] { display: none !important; }
.gs-gal__item a { display: block; position: relative; overflow: hidden; border-radius: 2px; line-height: 0; }
.gs-gal__item img { display: block; width: 100%; height: auto; transition: transform .6s ease; }
@media (hover: hover) {
  .gs-gal__item a:hover img { transform: scale(1.03); }
  .gs-gal__item .gs-tip { inset: 0; aspect-ratio: auto; line-height: 1.3; }
}
.gs-gal__none { margin: 2rem 0; font-size: 1.1rem; }
.gs-gal__back { margin: 2.4rem 0 0; }
.gs-button--gallery a { font-size: 1.25rem; }
.gs-cat__gallerybtn { text-align: center; }
.gs-more--gallery .gs-button { margin: 0; }
@media (max-width: 700px) { .gs-gal__chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .5rem; scrollbar-width: thin; } .gs-gal__chips li { flex: none; } }
.gs-gal__list { overflow-x: clip; }   /* only the wall: the hero above it runs edge to edge */

/* Home page cards in the Dartmoor colours (30 Oct 2026): each card a lightened tone with a full-colour strip on top, a darkened tone for its heading; hover deepens it. Text contrast is 5.6:1 or better. */
.gs-home__tiles li { --tone: var(--dm-lichen); }
.gs-home__tiles li:nth-child(1) { --tone: var(--dm-lichen); }   /* prints */
.gs-home__tiles li:nth-child(2) { --tone: var(--dm-upland); }   /* walks */
.gs-home__tiles li:nth-child(3) { --tone: var(--dm-trow); }     /* portraits */
.gs-home__tiles li:nth-child(4) { --tone: var(--dm-buff); }     /* workshops */
.gs-home__tiles li:nth-child(5) { --tone: var(--dm-mist); }     /* curious */
.gs-home__tiles a { background: color-mix(in srgb, var(--tone) 62%, var(--card, #f3f4f1)); border-color: color-mix(in srgb, var(--tone) 80%, transparent); box-shadow: inset 0 5px 0 var(--tone); }
.gs-home__tiles img { margin-top: 5px; }
.gs-home__tiles h3 { color: color-mix(in srgb, var(--tone) 22%, var(--ink, #1d2124)); }
.gs-home__tiles p { color: color-mix(in srgb, var(--tone) 12%, var(--ink, #1d2124)); }
.gs-home__tiles a:hover, .gs-home__tiles a:focus-visible { background: color-mix(in srgb, var(--tone) 78%, var(--card, #f3f4f1)); box-shadow: inset 0 5px 0 var(--tone), 0 8px 24px rgba(0, 0, 0, .18); }
.gs-home__panel { background: color-mix(in srgb, var(--dm-old) 55%, var(--card, #f3f4f1)); border: 1px solid color-mix(in srgb, var(--dm-old) 80%, transparent); border-radius: 3px; padding: 1.5rem 1.8rem 1.6rem; }   /* a card with no picture: no coloured strip on top, room for the words */
@media (max-width: 600px) { .gs-home__panel { padding: 1.2rem 1.2rem 1.3rem; } }

.gs-home__panel + .gs-home-intro__prints, .gs-home__panel + ul { margin-top: 2.4rem; }   /* room between a text card and the pictures that follow it */
