/* Group B pages: Projects grid, location pages, Free guide, Garden Confidence Toolkit, Sussex Home & Garden Edit.
   Only page-specific rules; everything shared lives in main.css. */

/* ---------- Projects grid ---------- */
.sh-pgrid { padding-block: 64px 80px; }
.sh-pgrid__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 30px; }
.sh-pcard { display: flex; flex-direction: column; gap: 14px; color: var(--sh-text); }
.sh-pcard__media { width: 100%; height: 380px; overflow: hidden; background: var(--sh-cream); }
.sh-pcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--sh-ease); }
.sh-pcard:hover .sh-pcard__media img { transform: scale(1.03); }
.sh-pcard__title { margin: 0; font-size: 24px; }
.sh-pcard:hover .sh-pcard__title { color: var(--sh-gold-deep); }
.sh-pcard__loc { color: var(--sh-muted); margin: -6px 0 0; }
@media (max-width: 800px) { .sh-pgrid__grid { grid-template-columns: 1fr; gap: 40px; } .sh-pcard__media { height: auto; aspect-ratio: 4/3; } }

/* Enquiry form (Moxie embed) on Projects */
.sh-enquiry { padding-top: 0; }
.sh-enquiry__inner { border-top: 1px solid var(--sh-line); padding-top: 80px; }
.sh-enquiry__text { max-width: 640px; margin: 0 auto 26px; }
.sh-enquiry__text .sh-eyebrow { margin-bottom: 14px; }

/* ---------- Location pages ---------- */
.sh-location { padding-block: 80px 96px; }
.sh-location__prose { max-width: 900px; font-size: 17px; }
.sh-location__prose h2 { font-size: 34px; margin: 56px 0 18px; }
.sh-location__prose h2:first-child { margin-top: 0; }
.sh-location__prose h3 { font-size: 26px; margin: 48px 0 14px; }
.sh-location__prose ul { padding-left: 22px; display: flex; flex-direction: column; gap: 10px; margin: 0 0 1.2em; }
.sh-location__prose strong { font-weight: 500; color: var(--sh-ink); }
.sh-location__prose .sh-tatsu-figure { margin: 48px 0; }
.sh-location__prose .sh-tatsu-figure--center { margin-inline: auto; }
.sh-location__prose .sh-tatsu-button { margin-top: 8px; }
.sh-location__strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-top: 48px; }
.sh-location__strip-img { width: 100%; height: 212px; object-fit: cover; }
.sh-location__cta { margin: 40px 0 0; }
@media (max-width: 800px) { .sh-location__strip { grid-template-columns: 1fr; } }

/* ---------- Free guide ---------- */
.sh-hero--guide { min-height: calc(100vh - 100px); }
.sh-hero--guide::before { background: rgba(0,0,0,.45); }
.sh-hero--guide .sh-hero__title { font-size: clamp(30px, 3.4vw, 48px); }
.sh-guide-form { width: min(100%, 520px); margin-top: 10px; text-align: left; }
.sh-guide-form__row { display: flex; gap: 10px; }
.sh-guide-form__row input { flex: 1; min-width: 0; min-height: 50px; padding: 0 16px; font: inherit; font-size: 16px; border: 1px solid rgba(255,255,255,.6); border-radius: 2px; background: rgba(255,255,255,.96); color: var(--sh-ink); }
.sh-guide-form__row .sh-btn { min-height: 50px; padding-inline: 28px; display: inline-flex; align-items: center; }
.sh-guide-form__consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 14px; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.92); cursor: pointer; }
.sh-guide-form__consent input { margin-top: 3px; width: 16px; height: 16px; flex: none; accent-color: var(--sh-gold); }
.sh-guide-form__consent a { color: var(--sh-gold); text-decoration: underline; }
.sh-guide-form__thanks { margin-top: 14px; font-size: 16px; color: var(--sh-white); }
.sh-guide-form__thanks a.sh-btn, .sh-guide-form__thanks a { color: var(--sh-white); }
@media (max-width: 600px) { .sh-guide-form__row { flex-direction: column; } }

/* ---------- Garden Confidence Toolkit ---------- */
.sh-hero--toolkit { min-height: 620px; }
.sh-hero--toolkit::before { background: rgba(0,0,0,.45); }
.sh-slide--top { object-position: center 30%; }
.sh-hero--toolkit .sh-hero__title { font-size: clamp(32px, 3.6vw, 50px); }
.sh-toolkit__line { font-size: 20px; max-width: 720px; color: rgba(255,255,255,.95); }
.sh-toolkit { padding-block: 88px 72px; }
.sh-toolkit__imagine { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 64px; align-items: center; }
.sh-toolkit__imagine h2, .sh-toolkit__avoid h2 { font-size: 34px; }
.sh-toolkit__imagine p { margin-bottom: 1.1em; }
.sh-toolkit__pinning { width: 420px; height: 420px; object-fit: cover; }
.sh-toolkit__avoid { margin-top: 72px; max-width: 820px; }
.sh-toolkit__avoid ul, .sh-tool ul { padding-left: 22px; display: flex; flex-direction: column; gap: 10px; margin: 0; }
.sh-toolkit__band { padding: 0 0 24px; }
.sh-toolkit__band--last { padding: 0 0 72px; }
.sh-toolkit__wide { width: 100%; height: 540px; object-fit: cover; }
.sh-toolkit__inside { padding-block: 24px 72px; }
.sh-toolkit__narrow { max-width: 900px; }
.sh-toolkit__inside > .sh-wrap > h2 { font-size: 34px; margin-bottom: 16px; }
.sh-tool { padding: 40px 0; border-top: 1px solid var(--sh-line); display: flex; flex-direction: column; gap: 14px; }
.sh-tool .sh-eyebrow { margin-bottom: 0; }
.sh-tool p { margin: 0; }
.sh-tool__result { margin-top: 6px !important; }
.sh-tool__result strong, .sh-tool--closing strong { font-weight: 500; color: var(--sh-ink); }
.sh-tool--closing { gap: 18px; padding-top: 32px; }
.sh-toolkit__quote { margin: 8px 0 0; padding: 0 0 0 20px; border-left: 3px solid var(--sh-gold); font: italic 400 20px/1.5 var(--sh-serif); color: var(--sh-ink); }
.sh-toolkit__quote-by { display: block; margin-top: 8px; font: 600 13px/1.4 var(--sh-mont); font-style: normal; letter-spacing: 2px; text-transform: uppercase; color: var(--sh-gold-deep); }
.sh-toolkit__cta { max-width: 820px; }
.sh-toolkit__cta .sh-eyebrow { margin-bottom: 14px; }
.sh-toolkit__cta h2 { font-size: 36px; }
.sh-toolkit__cta p { margin-bottom: 1em; }
.sh-toolkit__cta strong { font-weight: 500; color: var(--sh-ink); }
.sh-toolkit__cta .sh-btn { margin-top: 10px; }
.sh-muted { color: var(--sh-muted); }
@media (max-width: 900px) { .sh-toolkit__imagine { grid-template-columns: 1fr; gap: 32px; } .sh-toolkit__pinning { width: 100%; height: auto; aspect-ratio: 1; } .sh-toolkit__wide { height: auto; aspect-ratio: 16/9; } }

/* ---------- The Sussex Home & Garden Edit ---------- */
.sh-edit { padding-block: 80px; }
.sh-edit__intro { max-width: 820px; margin: 0 auto; }
.sh-edit__intro h2 { font-size: 34px; }
.sh-edit__split { display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 56px; align-items: center; margin-top: 64px; }
.sh-edit__portrait { width: 400px; height: 533px; object-fit: cover; }
.sh-edit__split-text h2 { font-size: 32px; }
.sh-edit__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; }
.sh-edit__list strong { font-weight: 500; color: var(--sh-ink); }
.sh-episodes { padding-block: 80px; }
.sh-episodes__intro { max-width: 780px; margin: 0 auto 48px; }
.sh-episodes__intro a { text-decoration: underline; text-decoration-color: var(--sh-gold); text-underline-offset: 3px; }
.sh-episodes__list { display: flex; flex-direction: column; gap: 36px; }
.sh-episode { display: grid; grid-template-columns: 560px minmax(0, 1fr); gap: 40px; align-items: center; }
.sh-episode .sh-video { width: 560px; }
.sh-episode__info .sh-eyebrow { margin-bottom: 10px; }
.sh-episode__info h3 { margin: 0; }
.sh-edit-hosts { padding-block: 80px 96px; }
.sh-edit__narrow { max-width: 900px; }
.sh-edit__narrow h2 { font-size: 34px; }
.sh-edit__narrow p { margin-bottom: 1.1em; }
.sh-edit__narrow strong { font-weight: 500; color: var(--sh-ink); }
.sh-edit__cta { margin-top: 72px; }
.sh-edit__cta .sh-btn { margin-top: 8px; }
@media (max-width: 900px) { .sh-edit__split { grid-template-columns: 1fr; } .sh-edit__portrait { width: 100%; height: auto; aspect-ratio: 3/4; } .sh-episode { grid-template-columns: 1fr; gap: 16px; } .sh-episode .sh-video { width: 100%; } }
