/* Awakening Eden v23.4 — Work with Benjy */
.work-page { overflow-x: hidden; }
.work-page h1 { max-width: 10ch; font-size: clamp(3.65rem, 8vw, 7.6rem); }
.work-page h2 { font-size: clamp(2.65rem, 5.5vw, 5.4rem); }
.work-page h3 { font-size: clamp(1.8rem, 3vw, 2.65rem); }
.primary-nav [aria-current="page"] { border-color: var(--olive) !important; }

.work-hero { min-height: calc(100svh - 5.2rem); display: grid; align-items: center; background: linear-gradient(115deg, rgb(255 253 247 / .78), transparent 64%); }
.work-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(22rem, .88fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; }
.work-hero__copy .handwritten { margin-bottom: .15rem; font-size: clamp(2.4rem, 5vw, 4.5rem); }
.work-hero__promise { max-width: 35rem; margin: 1.1rem 0; color: var(--forest); font-family: var(--display); font-size: clamp(1.45rem, 2.5vw, 2rem); font-weight: 500; line-height: 1.28; }
.work-hero__copy > p:not(.handwritten,.eyebrow,.work-hero__promise) { max-width: 37rem; color: rgb(35 49 38 / .77); }
.work-proof { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.1rem 0 0; padding: 0; list-style: none; }
.work-proof li { padding: .45rem .9rem; border: 1px solid rgb(105 112 82 / .38); border-radius: 999px; color: var(--forest); background: rgb(255 253 247 / .72); font-size: .82rem; font-weight: 750; }
.work-proof li::before { content: "✓"; margin-right: .38rem; color: var(--terracotta); font-weight: 800; }
.work-hero__photo { margin: 0; text-align: center; }
.work-portrait-frame { position: relative; width: min(100%, 31rem); margin-inline: auto; padding: .72rem; border: 1px solid rgb(105 112 82 / .38); border-radius: 48% 48% 1.5rem 1.5rem; background: var(--paper-light); box-shadow: var(--shadow); }
.work-portrait-frame > img:first-child { width: 100%; aspect-ratio: 4 / 5; border-radius: 48% 48% 1rem 1rem; object-fit: cover; object-position: center 42%; }
.work-photo-sprig { position: absolute; right: -7%; bottom: -6%; width: 34%; filter: drop-shadow(0 8px 14px rgb(35 49 38 / .15)); }
.work-hero__photo figcaption { display: grid; margin-top: 1.25rem; }
.work-hero__photo figcaption .handwritten { margin: 0; font-size: 2rem; }
.work-hero__photo figcaption small { color: var(--olive); }
.work-edge { position: absolute; z-index: 1; top: 4%; width: clamp(8rem, 13vw, 13rem); height: auto; object-fit: contain; pointer-events: none; opacity: .62; }
.work-edge--left { left: max(.75rem, calc((100vw - 92rem) / 2)); }
.work-edge--right { right: max(.75rem, calc((100vw - 92rem) / 2)); transform: scaleX(-1); }
.work-corner { position: absolute; z-index: 1; width: clamp(10rem, 22vw, 22rem); pointer-events: none; opacity: .55; }
.work-corner--hero { top: 0; right: .75rem; }

.wow-strip { position: relative; z-index: 3; padding: 0 0 clamp(1.5rem, 3vw, 2.5rem); background: var(--paper-light); }
.wow-strip__intro { margin-bottom: 1rem; text-align: center; }
.wow-strip__intro .handwritten { margin: 0; font-size: clamp(1.6rem, 3vw, 2.2rem); }
.wow-strip__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.wow-strip__grid figure { position: relative; min-height: 15rem; margin: 0; border-radius: 1.1rem; overflow: hidden; box-shadow: 0 10px 26px rgb(35 49 38 / .12); }
.wow-strip__grid img { width: 100%; height: 100%; object-fit: cover; }
.wow-strip__grid figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 2.2rem .9rem .8rem; color: var(--paper-light); background: linear-gradient(transparent, rgb(20 31 23 / .88)); font-size: .82rem; font-weight: 750; }

.work-outcome-strip { position: relative; z-index: 3; border-block: 1px solid rgb(105 112 82 / .18); background: var(--forest); color: var(--paper-light); }
.work-outcome-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.work-outcome-grid div { display: grid; min-height: 8.4rem; gap: .4rem; align-content: center; padding: 1.2rem clamp(.8rem, 2vw, 1.6rem); border-right: 1px solid rgb(255 253 247 / .16); text-align: center; }
.work-outcome-grid div:last-child { border-right: 0; }
.work-outcome-grid strong { color: #f1cf87; font-family: var(--display); font-size: clamp(1.85rem, 3.2vw, 2.5rem); font-weight: 600; letter-spacing: .01em; line-height: 1.1; }
.work-outcome-grid span { color: rgb(255 253 247 / .88); font-size: .9rem; font-weight: 600; line-height: 1.4; }

.work-intro { background: var(--paper-light); }
.work-intro__grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(17rem, .72fr) minmax(0, 1.28fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: start; }
.work-intro__grid h2 { max-width: 9ch; }
.work-intro__photo { position: relative; margin: 1.6rem 0 0; border: .5rem solid var(--paper); border-radius: 1.2rem; overflow: hidden; box-shadow: var(--shadow); }
.work-intro__photo img { width: 100%; height: 14rem; object-fit: cover; display: block; }
.work-intro__photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 2rem .9rem .7rem; color: var(--paper-light); background: linear-gradient(transparent, rgb(20 31 23 / .88)); font-size: .78rem; font-weight: 700; }
.work-intro__copy { max-width: 52rem; }
.work-intro__copy blockquote { margin: 2rem 0 0; padding: 1.3rem 1.5rem; border-left: 3px solid var(--gold); background: var(--paper); color: var(--forest); font-family: var(--display); font-size: clamp(1.25rem, 2.2vw, 1.75rem); font-style: italic; line-height: 1.4; }
.work-corner--intro { right: 2rem; bottom: .75rem; transform: rotate(-8deg); }

.pathway-section { background: linear-gradient(180deg, rgb(232 222 200 / .5), var(--paper)); }
.pathway-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.pathway-card { display: flex; min-height: 30rem; flex-direction: column; padding: clamp(1.4rem, 3vw, 2.35rem); border: 1px solid rgb(105 112 82 / .28); border-radius: 1.5rem; background: rgb(255 253 247 / .86); box-shadow: 0 14px 36px rgb(35 49 38 / .055); }
.pathway-card--featured { border-color: rgb(184 148 75 / .58); background: linear-gradient(145deg, #f5ead3, var(--paper-light)); box-shadow: 0 18px 42px rgb(35 49 38 / .09); }
.pathway-kicker { margin-bottom: 1.6rem; color: var(--terracotta); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.pathway-alias { margin: -.4rem 0 .7rem; color: var(--olive); font-size: .85rem; font-style: italic; }
.pathway-card h3 { max-width: 14ch; }
.pathway-card > p { color: var(--umber); }
.pathway-card ul { display: grid; gap: .55rem; margin: auto 0 1.25rem; padding: 1.25rem 0 0 1.2rem; color: var(--umber); }
.pathway-card li::marker { color: var(--gold); }
.pathway-card .text-link { margin-top: 0; }

.services-section { background: linear-gradient(180deg, var(--paper), rgb(232 222 200 / .5)); }
.work-heading { position: relative; z-index: 2; margin-bottom: clamp(2.5rem, 6vw, 5rem); }
.service-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.service-card { display: flex; min-height: 31rem; flex-direction: column; padding: clamp(1.5rem, 3.2vw, 2.6rem); border: 1px solid rgb(105 112 82 / .28); border-radius: 1.65rem; background: rgb(255 253 247 / .82); box-shadow: 0 14px 36px rgb(35 49 38 / .06); }
.service-card--featured { grid-column: 1 / -1; min-height: auto; padding-right: min(45%, 34rem); background: radial-gradient(circle at 84% 46%, rgb(184 148 75 / .16), transparent 25%), linear-gradient(135deg, var(--paper-light), #efe2c8); }
.service-card--water { background: linear-gradient(145deg, rgb(225 239 236 / .85), rgb(255 253 247 / .9)); }
.service-card--earth { background: linear-gradient(145deg, rgb(239 224 193 / .9), rgb(255 253 247 / .9)); }
.service-card--orchard { background: linear-gradient(145deg, rgb(235 229 199 / .92), rgb(255 253 247 / .9)); }
.service-card--wide { grid-column: 1 / -1; min-height: auto; }
.before-after { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; margin: 1.4rem 0; }
.before-after figure { position: relative; margin: 0; border-radius: 1rem; overflow: hidden; box-shadow: 0 10px 26px rgb(35 49 38 / .1); }
.before-after img { width: 100%; height: 14rem; object-fit: cover; display: block; }
.before-after figcaption { position: absolute; top: .7rem; left: .7rem; padding: .3rem .75rem; border-radius: 999px; color: var(--paper-light); background: rgb(35 49 38 / .72); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.service-card--home { grid-column: 1 / -1; min-height: auto; background: linear-gradient(145deg, rgb(232 222 200 / .84), rgb(255 253 247 / .9)); }
.service-number { margin-bottom: 2rem; color: var(--terracotta); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.service-card h3 { max-width: 16ch; }
.service-promise { color: var(--forest); font-family: var(--display); font-size: clamp(1.18rem, 1.8vw, 1.42rem); font-weight: 600; line-height: 1.35; }
.service-card ul { display: grid; gap: .55rem; margin: auto 0 0; padding: 1.2rem 0 0 1.2rem; color: var(--umber); }
.service-card li::marker { color: var(--gold); }
.service-card .text-link { margin-top: 1.2rem; }
.service-note { margin: 1rem 0 0; color: var(--umber); font-size: .76rem; line-height: 1.5; }

.process-section { color: var(--paper-light); background: var(--forest-deep); }
.process-section h2 { color: var(--paper-light); }
.process-section .handwritten { color: #f1cf87; }
.process-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: .85rem; margin: 0; padding: 0; counter-reset: none; list-style: none; }
.process-grid li { position: relative; min-height: 17rem; padding: 1.4rem; border: 1px solid rgb(255 253 247 / .15); border-radius: 1.2rem; background: rgb(255 253 247 / .055); }
.process-grid li > span { display: grid; width: 2.4rem; height: 2.4rem; margin-bottom: 2rem; place-items: center; border: 1px solid rgb(241 207 135 / .5); border-radius: 50%; color: #f1cf87; font-weight: 800; }
.process-grid strong { display: block; margin-bottom: .6rem; color: var(--paper-light); font-family: var(--display); font-size: 1.45rem; font-weight: 500; }
.process-grid p { margin: 0; color: rgb(255 253 247 / .66); font-size: .9rem; }

.partnership-section { background: linear-gradient(145deg, var(--paper-light), #efe3cc); }
.partnership-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(17rem, .78fr) minmax(0, 1.22fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: start; }
.partnership-grid h2 { max-width: 9ch; }
.partnership-grid .lead { margin-bottom: .8rem; color: var(--forest); font-family: var(--display); font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 600; }
.partnership-points { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.6rem; }
.partnership-points span { padding: .5rem .82rem; border: 1px solid rgb(105 112 82 / .32); border-radius: 999px; color: var(--forest); background: rgb(255 253 247 / .7); font-size: .78rem; font-weight: 750; }
.work-corner--partnership { right: 1.5rem; bottom: .5rem; opacity: .42; transform: rotate(-7deg); }

.abundant-section { background: var(--paper-light); }
.abundant-grid { display: grid; grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.abundant-photos { display: grid; gap: .8rem; }
.abundant-photos figure { position: relative; margin: 0; border: .5rem solid var(--paper); border-radius: 1.2rem; overflow: hidden; box-shadow: var(--shadow); }
.abundant-photos img { width: 100%; height: 15.5rem; object-fit: cover; display: block; }
.abundant-photos figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 2rem .9rem .7rem; color: var(--paper-light); background: linear-gradient(transparent, rgb(20 31 23 / .88)); font-size: .78rem; font-weight: 700; line-height: 1.35; }
.layers-list { display: grid; gap: .7rem; margin: 1.4rem 0; padding: 0; list-style: none; counter-reset: layer; }
.layers-list li { position: relative; padding: .1rem 0 .1rem 2.5rem; color: var(--umber); }
.layers-list li::before { counter-increment: layer; content: counter(layer); position: absolute; left: 0; top: -.1rem; display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: 50%; background: var(--olive); color: var(--paper-light); font-size: .78rem; font-weight: 800; }
.layers-list strong { color: var(--forest); }
.abundant-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
.abundant-tags span { padding: .45rem .8rem; border: 1px solid rgb(105 112 82 / .32); border-radius: 999px; color: var(--forest); background: var(--paper); font-size: .78rem; font-weight: 750; }
.abundant-outcomes { display: grid; gap: .5rem; margin-top: 1.6rem; padding: 1.1rem 1.3rem; border-left: 3px solid var(--terracotta); background: rgb(232 222 200 / .42); }
.abundant-outcomes strong { color: var(--forest); font-family: var(--display); font-size: 1.05rem; font-weight: 600; }
.abundant-outcomes ul { display: grid; gap: .4rem; margin: .5rem 0 0; padding-left: 1.15rem; color: var(--umber); font-size: .88rem; }
.abundant-outcomes li::marker { color: var(--terracotta); }

.field-section { background: linear-gradient(180deg, var(--paper), rgb(232 222 200 / .48)); }
.field-gallery { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1rem; }
.field-card { position: relative; min-height: 30rem; margin: 0; border: .55rem solid var(--paper-light); border-radius: 1.4rem; overflow: hidden; background: var(--forest); box-shadow: var(--shadow); }
.field-card--wide { grid-row: span 2; min-height: 61rem; }
.field-card img { width: 100%; height: 100%; object-fit: cover; }
.field-card--wide img { object-position: 46% center; }
.field-card:not(.field-card--wide):first-of-type img { object-position: center 30%; }
.field-card figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: grid; padding: 3.5rem 1.5rem 1.35rem; color: var(--paper-light); background: linear-gradient(transparent, rgb(20 31 23 / .9)); }
.field-card figcaption strong { font-family: var(--display); font-size: 1.65rem; font-weight: 500; }
.field-card figcaption span { color: rgb(255 253 247 / .74); font-size: .85rem; }

.video-section { background: var(--paper-light); }
.video-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, .85fr) minmax(22rem, 1.15fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.video-placeholder { position: relative; min-height: 31rem; border: .6rem solid var(--paper); border-radius: 1.5rem; overflow: hidden; color: white; background: var(--forest-deep); box-shadow: var(--shadow); }
.video-placeholder::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(35 49 38 / .75), rgb(35 49 38 / .2)); }
.video-placeholder > img { width: 100%; height: 100%; object-fit: cover; object-position: center 32%; filter: saturate(.75); }
.video-placeholder > div { position: absolute; z-index: 2; bottom: 1.6rem; left: 1.6rem; display: grid; }
.video-placeholder strong { font-family: var(--display); font-size: 2rem; font-weight: 500; }
.video-placeholder small { color: rgb(255 255 255 / .72); }
.video-play { position: absolute; z-index: 3; top: 50%; left: 50%; display: grid; width: 5rem; height: 5rem; place-items: center; border: 1px solid rgb(255 255 255 / .7); border-radius: 50%; background: rgb(35 49 38 / .55); transform: translate(-50%, -50%); }
.work-corner--video { left: 2rem; bottom: .75rem; transform: scaleX(-1) rotate(-8deg); }

.fit-section { color: var(--paper-light); background: var(--olive); }
.fit-section h2 { color: var(--paper-light); }
.fit-section .handwritten { color: #f1cf87; }
.fit-grid { display: grid; grid-template-columns: minmax(17rem, .72fr) minmax(0, 1.28fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: start; }
.fit-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.fit-cards article { padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid rgb(255 253 247 / .18); border-radius: 1.3rem; background: rgb(255 253 247 / .08); }
.fit-cards strong { color: #f1cf87; font-family: var(--display); font-size: 1.4rem; font-weight: 500; }
.fit-cards ul { margin-bottom: 0; padding-left: 1.2rem; color: rgb(255 253 247 / .78); font-size: .9rem; }
.fit-cards li + li { margin-top: .55rem; }

.faq-section { background: var(--paper-light); }
.faq-grid { display: grid; grid-template-columns: minmax(17rem, .7fr) minmax(0, 1.3fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: start; }
.faq-heading { position: sticky; top: 8rem; }
.faq-heading h2 { max-width: 8ch; }
.faq-list { border-top: 1px solid rgb(105 112 82 / .28); }
.faq-list details { border-bottom: 1px solid rgb(105 112 82 / .28); }
.faq-list summary { position: relative; padding: 1.35rem 3rem 1.35rem 0; color: var(--forest); font-family: var(--display); font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 600; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; top: 50%; right: .3rem; color: var(--terracotta); font-family: var(--body); font-size: 1.5rem; transform: translateY(-50%); }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 47rem; margin: -.25rem 0 1.45rem; color: var(--umber); }

.enquiry-section { background: linear-gradient(180deg, var(--paper-light), var(--paper)); }
.enquiry-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(17rem, .72fr) minmax(24rem, 1.28fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: start; }
.enquiry-notes { margin-top: 2rem; padding: 1.2rem 1.3rem; border-left: 3px solid var(--gold); background: rgb(232 222 200 / .42); }
.enquiry-notes p { margin-bottom: .7rem; font-size: .9rem; }
.enquiry-notes p:last-child { margin-bottom: 0; }
.enquiry-divider { width: min(100%, 30rem); margin-top: 2rem; }
.land-form { display: grid; gap: 1rem; padding: clamp(1.35rem, 4vw, 3rem); border: 1px solid rgb(105 112 82 / .3); border-radius: 1.6rem; background: var(--paper-light); box-shadow: var(--shadow); }
.form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.form-field { display: grid; gap: .4rem; }
.land-form label { display: grid; gap: .4rem; color: var(--forest); font-size: .82rem; font-weight: 800; }
.land-form input:not([type="checkbox"]), .land-form select, .land-form textarea { width: 100%; padding: .82rem .9rem; border: 1px solid rgb(105 112 82 / .4); border-radius: .7rem; color: var(--forest-deep); background: #fffefa; font: inherit; }
.land-form textarea { min-height: 10rem; resize: vertical; }
.land-form input:focus, .land-form select:focus, .land-form textarea:focus { border-color: var(--terracotta); outline: 2px solid rgb(167 101 79 / .15); }
.form-consent { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; font-weight: 600 !important; }
.form-consent input { width: 1.2rem; height: 1.2rem; margin-top: .18rem; accent-color: var(--forest); }
.enquiry-turnstile { min-height: 65px; }
.enquiry-status { margin: 0; color: var(--forest); font-size: .86rem; font-weight: 700; }
.enquiry-status[data-status="error"] { color: #8a3327; }
.form-submit { width: 100%; border: 0; }
.form-privacy { margin: 0; color: var(--umber); font-size: .72rem; text-align: center; }
.optional { color: var(--olive); font-size: .7rem; font-weight: 600; }
.work-edge--form { top: 10%; opacity: .38; }

.work-community { background: var(--paper-light); }
.work-community img { width: min(45vw, 14rem); margin: 0 auto 1rem; filter: drop-shadow(0 18px 25px rgb(35 49 38 / .11)); }
.work-community h2 { max-width: 12ch; margin-inline: auto; }
.work-community__actions { justify-content: center; }

.thank-you-page main { min-height: calc(100svh - 5.2rem); display: grid; place-items: center; }
.thank-you-card { position: relative; width: min(calc(100% - 2 * var(--gutter)), 48rem); margin: 5rem auto; padding: clamp(2rem, 6vw, 5rem); border: 1px solid rgb(105 112 82 / .3); border-radius: 2rem; overflow: hidden; background: var(--paper-light); box-shadow: var(--shadow); text-align: center; }
.thank-you-card > img { width: min(52vw, 15rem); margin: 0 auto 1.2rem; }
.thank-you-card h1 { max-width: none; margin-inline: auto; font-size: clamp(3rem, 8vw, 6rem); }
.thank-you-card .button-row { justify-content: center; }

@media (max-width: 68rem) {
  .process-grid { grid-template-columns: repeat(3, 1fr); }
  .process-grid li:nth-child(4), .process-grid li:nth-child(5) { min-height: 14rem; }
  .service-card--featured { padding-right: clamp(1.5rem, 3.2vw, 2.6rem); }
}
@media (max-width: 58rem) {
  .work-hero { min-height: auto; }
  .work-hero__grid, .work-intro__grid, .abundant-grid, .video-grid, .fit-grid, .faq-grid, .enquiry-grid, .partnership-grid { grid-template-columns: 1fr; }
  .wow-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .abundant-photos { grid-template-columns: repeat(2, 1fr); }
  .work-hero__copy { text-align: center; }
  .work-hero__copy h1, .work-hero__copy > p { margin-inline: auto; }
  .work-hero__copy .button-row, .work-proof { justify-content: center; }
  .work-edge { display: none; }
  .work-outcome-grid { grid-template-columns: repeat(2, 1fr); }
  .work-outcome-grid div:nth-child(2) { border-right: 0; }
  .work-outcome-grid div:nth-child(-n+2) { border-bottom: 1px solid rgb(255 253 247 / .13); }
  .service-grid { grid-template-columns: 1fr; }
  .service-card--featured, .service-card--home { grid-column: auto; }
  .pathway-grid { grid-template-columns: 1fr; }
  .pathway-card { min-height: auto; }
  .work-corner { display: none; }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .field-gallery { grid-template-columns: 1fr; }
  .field-card, .field-card--wide { min-height: 34rem; grid-row: auto; }
  .abundant-art { min-height: 24rem; }
  .video-placeholder { min-height: 27rem; }
  .faq-heading { position: static; }
}
@media (max-width: 42rem) {
  .work-page h1 { font-size: clamp(3.4rem, 16vw, 5rem); }
  .work-proof { display: grid; }
  .work-outcome-grid { grid-template-columns: 1fr; }
  .work-outcome-grid div { min-height: 5.8rem; border-right: 0; border-bottom: 1px solid rgb(255 253 247 / .13); }
  .work-outcome-grid div:last-child { border-bottom: 0; }
  .process-grid, .fit-cards, .form-row { grid-template-columns: 1fr; }
  .process-grid li, .process-grid li:nth-child(4), .process-grid li:nth-child(5) { min-height: auto; }
  .field-card, .field-card--wide { min-height: 27rem; }
  .video-placeholder { min-height: 24rem; }
  .wow-strip__grid, .abundant-photos, .before-after { grid-template-columns: 1fr; }
}

/* v23.4.1 — direct contact alternatives */
.enquiry-direct { display: grid; gap: .7rem; margin-top: 1.4rem; }
.enquiry-direct strong { color: var(--forest); font-family: var(--display); font-size: 1.28rem; font-weight: 600; }
.enquiry-direct__actions { margin: 0; }
.enquiry-direct small { color: var(--umber); font-size: .78rem; }

/* ============================================================
   v23.9 — v9 deep layer: transformation pathways, real video,
   Regenerative Compass, educational boards, Moinhos journey,
   Acacia craft, living-water biopool, path & invitation
   ============================================================ */

/* Earth-Mama sacred dividers (merged from earth-mama-divider.css) */
:root {
  --ae-earth-ink: #405631;
  --ae-earth-olive: #718457;
  --ae-earth-clay: #b86f55;
  --ae-earth-water: #6e9da0;
  --ae-earth-gold: #c59a53;
  --ae-earth-paper: #f7f0df;
}
.ae-earth-divider { box-sizing: border-box; clear: both; display: block; margin: clamp(2.5rem, 7vw, 6rem) auto; max-width: min(100%, 1120px); padding-inline: clamp(0.25rem, 2vw, 1.5rem); pointer-events: none; }
.ae-earth-divider img { display: block; height: auto; margin-inline: auto; max-width: 100%; width: 100%; }
/* The Celtic tree of life is the one ceremonial divider on the page. The two
   painted garlands stay subordinate, and neither is upscaled past its 746px
   native width. */
.ae-earth-divider--tree { max-width: 1120px; }
.ae-earth-divider--moon { margin-block: clamp(2rem, 5vw, 4.5rem); max-width: 747px; }
.ae-earth-divider--edge { margin-block: clamp(1.75rem, 4vw, 3.5rem); max-width: 746px; }
@media (max-width: 560px) {
  .ae-earth-divider { margin-block: 2.4rem; padding-inline: 0; }
  .ae-earth-divider--tree { margin-block: 3rem 2.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ae-earth-divider, .ae-earth-divider * { scroll-behavior: auto !important; transition: none !important; }
}

/* Hero: direct-contact CTA, reassurance line and capability badges */
.button--whatsapp { border: 1px solid rgb(58 106 74 / .55); color: #f4fbf4; background: linear-gradient(145deg, #3f7a52, #2f5f40); }
.button--whatsapp:hover, .button--whatsapp:focus-visible { background: linear-gradient(145deg, #47895c, #356a48); }
.hero-reply { margin: .9rem 0 0; color: var(--olive); font-size: .82rem; font-weight: 600; }

/* Four things every project grows */
.outcome-lead { margin: 0 0 .1rem; padding-top: clamp(1.6rem, 3vw, 2.2rem); color: #f1cf87; font-family: var(--display); font-size: clamp(1.35rem, 2.6vw, 1.9rem); font-style: italic; font-weight: 500; text-align: center; }
.work-outcome-strip .work-outcome-grid { padding-bottom: clamp(.6rem, 1.5vw, 1rem); }

/* Keyword-rich capability ribbon under the services heading */
.capability-ribbon { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem; margin: 0 0 clamp(2rem, 4vw, 3rem); padding: 0; list-style: none; }
.capability-ribbon li { padding: .5rem 1rem; border: 1px solid rgb(105 112 82 / .34); border-radius: 999px; color: var(--forest); background: rgb(255 253 247 / .8); font-size: .82rem; font-weight: 750; }
.services-lead { max-width: 46rem; margin-inline: auto; color: var(--forest); font-family: var(--display); font-size: clamp(1.22rem, 2.1vw, 1.6rem); font-weight: 600; line-height: 1.45; }

/* What could your land become? */
.become-section { background: linear-gradient(180deg, var(--paper), rgb(232 222 200 / .55)); }
.become-section .work-heading { margin-bottom: clamp(2rem, 4vw, 3.2rem); }
.become-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
.become-card { display: flex; flex-direction: column; margin: 0; border: 1px solid rgb(105 112 82 / .28); border-radius: 1.35rem; overflow: hidden; background: rgb(255 253 247 / .88); box-shadow: 0 14px 34px rgb(35 49 38 / .09); }
.become-card img { width: 100%; height: clamp(14rem, 26vw, 20rem); object-fit: cover; object-position: center 58%; display: block; }
.become-card--board img { object-fit: contain; background: #fdfaf2; padding: .5rem; }
.become-card figcaption { display: grid; gap: .4rem; padding: 1.15rem 1.35rem 1.35rem; }
.become-card figcaption strong { color: var(--forest); font-family: var(--display); font-size: clamp(1.35rem, 2.3vw, 1.8rem); font-weight: 600; line-height: 1.22; }
.become-card figcaption strong span { color: var(--terracotta); }
.become-card figcaption > span { color: var(--umber); font-size: .88rem; line-height: 1.5; }
.become-cta { justify-content: center; margin-top: clamp(1.6rem, 3vw, 2.4rem); }

/* Real native video player */
.video-frame { margin: 0; }
.video-frame video,
.video-frame--still img { display: block; width: 100%; height: auto; border: .6rem solid var(--paper); border-radius: 1.5rem; background: var(--forest-deep); box-shadow: var(--shadow); }
.video-frame--still img { aspect-ratio: 4 / 3; object-fit: cover; }
.video-frame figcaption { margin-top: .9rem; color: var(--umber); font-size: .82rem; text-align: center; }
.video-frame figcaption a { font-weight: 800; text-underline-offset: .2rem; }
.video-close { color: var(--forest); }

/* Regenerative Compass */
.compass-section { background: linear-gradient(180deg, var(--paper), rgb(232 222 200 / .5)); }
.compass-name { margin: 2rem 0 0; font-size: clamp(1.8rem, 3.2vw, 2.6rem); }
.compass-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.compass-card, .path-card { padding: 1.4rem 1.5rem; border: 1px solid rgb(105 112 82 / .26); border-radius: 1.3rem; background: rgb(255 253 247 / .82); box-shadow: 0 10px 26px rgb(35 49 38 / .05); }
.compass-num, .path-num { display: grid; width: 2rem; height: 2rem; margin-bottom: 1rem; place-items: center; border: 1px solid rgb(184 148 75 / .55); border-radius: 50%; color: var(--terracotta); font-size: .88rem; font-weight: 800; }
.compass-card h3, .path-card h3 { max-width: none; font-size: 1.32rem; }
.compass-tag { margin: .4rem 0 .55rem; color: var(--forest); font-family: var(--display); font-size: 1.08rem; font-style: italic; font-weight: 600; line-height: 1.35; }
.compass-card p:last-child, .path-card p:last-child { margin-bottom: 0; color: var(--umber); font-size: .86rem; }
.compass-photo { position: relative; width: min(100%, 24rem); margin: clamp(2rem, 4vw, 3rem) auto; border: .55rem solid var(--paper-light); border-radius: 1.4rem; overflow: hidden; box-shadow: var(--shadow); }
.compass-photo img { display: block; width: 100%; height: auto; }
.compass-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 2.2rem .9rem .8rem; color: var(--paper-light); background: linear-gradient(transparent, rgb(20 31 23 / .88)); font-size: .8rem; font-weight: 700; }
.compass-close { max-width: 46rem; margin: clamp(2.5rem, 5vw, 4rem) auto 0; text-align: center; }
.compass-close .handwritten { margin-bottom: .3rem; }
.compass-question { margin: 0 0 1rem; color: var(--forest); font-family: var(--display); font-size: clamp(1.7rem, 3.4vw, 2.6rem); font-weight: 600; line-height: 1.25; }
.compass-close p:not(.handwritten,.compass-question) { color: var(--umber); }

/* Educational board sections */
.board-section { background: var(--paper-light); }
.board-section--water { background: linear-gradient(150deg, rgb(225 239 236 / .55), var(--paper-light)); }
.board-section--forest { background: linear-gradient(180deg, var(--paper), rgb(232 222 200 / .45)); }
.board-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.board-grid--reverse > .board-copy { order: 2; }
.board-copy h2 { max-width: 17ch; }
.board-copy .lead { color: var(--forest); font-family: var(--display); font-size: clamp(1.3rem, 2.2vw, 1.7rem); font-weight: 600; }

/* Tap-to-expand for boards: their printed labels are too fine to read small */
/* Narrow screens: size the board by height and let the reader pan across it,
   so the printed labels stay legible instead of shrinking to fit. */
.board-photo { position: relative; margin: 1.6rem 0 0; border: .5rem solid var(--paper); border-radius: 1.1rem; overflow: hidden; box-shadow: var(--shadow); }
.board-photo img { display: block; width: 100%; height: auto; }
.board-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 2rem .9rem .7rem; color: var(--paper-light); background: linear-gradient(transparent, rgb(20 31 23 / .88)); font-size: .78rem; font-weight: 700; }

/* Moinhos project journey */
.moinhos-section { background: linear-gradient(180deg, rgb(232 222 200 / .5), var(--paper)); }
.moinhos-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: .9rem; }
.moinhos-gallery figure { position: relative; margin: 0; border-radius: 1.1rem; overflow: hidden; box-shadow: 0 10px 26px rgb(35 49 38 / .12); }
.moinhos-gallery img { display: block; width: 100%; height: 15rem; object-fit: cover; }
.moinhos-gallery figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 2.2rem .85rem .75rem; color: var(--paper-light); background: linear-gradient(transparent, rgb(20 31 23 / .9)); font-size: .78rem; font-weight: 700; line-height: 1.35; }
.journey-frames-note { margin: .3rem 0 0; color: var(--umber); font-size: .74rem; }

/* Abundant Edge sequence */
.abundant-flow { margin: 1.5rem 0 .3rem; color: var(--forest); font-family: var(--display); font-size: clamp(1.18rem, 2vw, 1.5rem); font-weight: 600; line-height: 1.5; }
.abundant-flow span { color: var(--terracotta); }

/* Natural Acacia craft */
.acacia-section { background: var(--paper-light); }
.acacia-gallery { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 1rem; align-items: stretch; }
.acacia-figure { position: relative; margin: 0; border: .55rem solid var(--paper); border-radius: 1.3rem; overflow: hidden; box-shadow: var(--shadow); }
.acacia-figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.acacia-figure:not(.acacia-figure--wide) img { max-height: 34rem; }
.acacia-figure figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: grid; padding: 2.6rem 1.2rem 1rem; color: var(--paper-light); background: linear-gradient(transparent, rgb(20 31 23 / .9)); }
.acacia-figure figcaption strong { font-family: var(--display); font-size: 1.35rem; font-weight: 500; }
.acacia-figure figcaption span { color: rgb(255 253 247 / .74); font-size: .8rem; }
.acacia-note { max-width: 46rem; margin: 1.3rem auto 0; text-align: center; }

/* Living-water biopool possibility */
.biopool-section { background: linear-gradient(160deg, rgb(225 239 236 / .6), var(--paper-light)); }
.biopool-intro { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; margin-bottom: clamp(2rem, 4vw, 3rem); }
.biopool-photo { position: relative; margin: 0; border: .55rem solid var(--paper); border-radius: 1.3rem; overflow: hidden; box-shadow: var(--shadow); }
.biopool-photo img { display: block; width: 100%; height: auto; }
.biopool-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 2.2rem .9rem .8rem; color: var(--paper-light); background: linear-gradient(transparent, rgb(20 31 23 / .88)); font-size: .78rem; font-weight: 700; }
.biopool-copy h2 { max-width: 15ch; }
.biopool-copy .lead { color: var(--umber); font-size: clamp(1rem, 1.6vw, 1.12rem); }
.biopool-reference figcaption { margin-top: 1rem; padding: .85rem 1.1rem; border-left: 3px solid var(--gold); background: rgb(232 222 200 / .5); color: var(--forest); font-size: .84rem; font-weight: 600; }
.biopool-flowkey { width: min(100%, 56rem); margin: 1.5rem auto 0; }
.biopool-flowkey img { display: block; width: 100%; height: auto; }
.biopool-loop { width: min(100%, 56rem); margin: clamp(1.8rem, 4vw, 2.6rem) auto 0; padding: 1.5rem 1.7rem; border: 1px solid rgb(105 112 82 / .3); border-radius: 1.3rem; background: rgb(255 253 247 / .85); box-shadow: 0 10px 26px rgb(35 49 38 / .05); }
.biopool-loop h3 { max-width: none; margin-bottom: .4rem; font-size: 1.5rem; }
.biopool-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: .55rem 2.2rem; margin: .7rem 0 0; padding-left: 1.4rem; color: var(--umber); }
.biopool-steps li::marker { color: var(--terracotta); font-weight: 800; }
.biopool-cta { margin: 1.9rem 0 0; text-align: center; }

/* The path behind the work */
.path-section { background: var(--paper); }
.path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.path-card--wide { grid-column: 1 / -1; }
.path-principle { max-width: 50rem; margin: clamp(2.5rem, 5vw, 4rem) auto 0; padding: 1.6rem 1.9rem; border-left: 3px solid var(--gold); background: var(--paper-light); box-shadow: 0 10px 26px rgb(35 49 38 / .05); }
.path-principle h3 { max-width: none; }
.path-principle p { color: var(--umber); }
.path-vow strong { color: var(--forest); font-family: var(--display); font-size: 1.15rem; line-height: 1.5; }

/* Invitation */
.invite-section { background: var(--paper-light); }
.invite-section h2 { max-width: 20ch; margin-inline: auto; }
.invite-section p { max-width: 44rem; margin-inline: auto; color: var(--umber); }
.invite-steps { color: var(--forest) !important; font-family: var(--display); font-size: clamp(1.25rem, 2.2vw, 1.6rem); font-style: italic; line-height: 1.5; }

/* Mobile hero: lead with the land, not with a screen of type. The photo is
   the proof, so it comes first and the headline follows within one screen. */
@media (max-width: 58rem) {
  .work-hero { padding-top: 2.6rem; }
  .work-hero__grid { gap: 2rem; }
  .work-hero__photo { order: -1; }
  .work-portrait-frame { width: min(100%, 26rem); padding: .5rem; }
  .work-portrait-frame > img:first-child { aspect-ratio: 5 / 4; object-position: center 46%; }
  .work-hero__photo figcaption { display: none; }
  .work-photo-sprig { width: 26%; right: -5%; bottom: -8%; }
  .work-page h1 { font-size: clamp(3rem, 13.5vw, 4.4rem); }
  .work-hero__copy .handwritten { font-size: clamp(2.1rem, 9vw, 3rem); }
}

@media (max-width: 68rem) {
  .compass-grid, .moinhos-gallery { grid-template-columns: repeat(2, 1fr); }
  .path-grid { grid-template-columns: repeat(2, 1fr); }
  .biopool-intro { grid-template-columns: 1fr; }
}
@media (max-width: 58rem) {
  .board-grid { grid-template-columns: 1fr; align-items: start; }
  .board-grid--reverse > .board-copy { order: 0; }
  .acacia-gallery { grid-template-columns: 1fr; }
  .biopool-flowkey { display: none; }
  .biopool-steps { grid-template-columns: 1fr; }
}
@media (max-width: 42rem) {
  .become-grid, .compass-grid, .moinhos-gallery, .path-grid { grid-template-columns: 1fr; }
  .become-card img { height: 17rem; }
  .become-card--board img { height: auto; }
  .moinhos-gallery img { height: 17rem; }
}

/* ==========================================================================
   v23.10 — landkeeper identity moment + the campaign deep-link target
   ========================================================================== */

/* One quiet identity moment before the offer ladder. Real photography still
   carries the proof on this page; this is a chapter mark, not a hero. */
.landkeeper-mark {
  width: min(42rem, calc(100% - 2rem));
  height: auto;
  margin: 0 auto clamp(1.2rem, 3vw, 2.2rem);
  aspect-ratio: 1440 / 450;
}

/* /work-with-benjy#online-consulting — clear the sticky header when a campaign
   link lands directly on the Regenerative Clarity Session. */
#online-consulting { scroll-margin-top: 7rem; }

/* Contrast repair on the olive "beautiful fit" band: the card overlay lightened
   the olive to rgb(117,123,95), where the gold headings measured 2.94:1 and the
   list text 3.33:1. Darkening the overlay fixes both without changing the hue. */
.fit-cards article { background: rgb(35 49 38 / 0.18); }
.fit-cards strong { color: #fff6e0; }
.fit-cards ul { color: rgb(255 253 247 / 0.95); }
.path-num { color: #9a5642; }
/* The consent checkbox was a 19px target; 24px is the WCAG 2.2 AA minimum. */
.form-consent input { width: 1.5rem; height: 1.5rem; }

/* ==========================================================================
   v23.17 — "Projects Benjy Created"
   A restrained editorial preview of six photographs with all nine reachable
   in a native <dialog>. Nothing rotates on its own.
   ========================================================================== */

.projects-section { background: var(--paper-light); }
.projects-section .work-heading { margin-bottom: clamp(1.8rem, 4vw, 2.8rem); }

.pg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: clamp(11rem, 17vw, 15rem);
  gap: clamp(0.7rem, 1.6vw, 1.1rem);
  margin: 0;
  padding: 0;
  list-style: none;
}
.pg-tile { margin: 0; }
.pg-tile--lead { grid-row: span 2; }
.pg-tile--wide { grid-column: span 2; }

.pg-open {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: clip;
  border: 1px solid rgb(105 112 82 / 0.28);
  border-radius: 1.1rem;
  background: var(--linen);
  cursor: pointer;
  box-shadow: 0 10px 26px rgb(35 49 38 / 0.1);
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.pg-open:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgb(35 49 38 / 0.16); }
.pg-open img {
  /* the preview is a consistent crop window; the viewer shows it uncropped */
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pg-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  gap: 0.15rem;
  padding: 2.4rem 0.95rem 0.85rem;
  background: linear-gradient(transparent, rgb(20 31 23 / 0.9));
  color: var(--paper-light);
  text-align: left;
}
.pg-caption strong { font-family: var(--display); font-size: 1.12rem; font-weight: 600; line-height: 1.15; }
.pg-caption span { font-size: 0.82rem; line-height: 1.4; opacity: 0.94; }

.pg-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.6rem;
  align-items: center;
  margin-top: clamp(1.1rem, 3vw, 1.8rem);
}
.pg-viewall { display: none; }          /* desktop opens straight from a tile */

.pg-fallback { margin: 1.2rem 0 0; padding-left: 1.2rem; color: var(--umber); font-size: 0.92rem; }
.pg-fallback li + li { margin-top: 0.35rem; }
.pg-fallback[hidden] { display: none; }

.pg-note {
  width: min(100%, 46rem);
  margin: clamp(1.2rem, 3vw, 1.9rem) 0 0;
  color: var(--umber);
  font-size: 0.92rem;
}

.pg-video { width: min(100%, 44rem); margin: clamp(1.6rem, 4vw, 2.6rem) 0 0; }
.pg-video video { width: 100%; height: auto; border-radius: 1.1rem; background: var(--forest-deep); aspect-ratio: 16 / 9; }
.pg-video figcaption { margin-top: 0.7rem; color: var(--umber); font-size: 0.88rem; }

.pg-cta {
  width: min(100%, 46rem);
  margin: clamp(2rem, 5vw, 3rem) 0 0;
  padding: clamp(1.4rem, 3.5vw, 2.2rem);
  border: 1px solid rgb(184 148 75 / 0.45);
  border-radius: 1.4rem;
  background: rgb(184 148 75 / 0.08);
}
.pg-cta h3 { margin-bottom: 0.5rem; font-size: clamp(1.7rem, 3vw, 2.4rem); }
.pg-cta p { margin-bottom: 0; color: var(--umber); }

/* --- the viewer ---------------------------------------------------------- */
.pg-viewer {
  width: min(96vw, 76rem);
  max-width: none;
  max-height: 94vh;
  padding: 0;
  border: 0;
  border-radius: 1.2rem;
  background: var(--forest-deep);
  color: var(--paper-light);
  overflow: visible;
}
.pg-viewer::backdrop { background: rgb(16 24 18 / 0.86); }
.pg-viewer__frame {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.5rem;
  padding: clamp(0.75rem, 2vw, 1.4rem);
}
.pg-viewer__figure { min-width: 0; margin: 0; text-align: center; }
.pg-viewer__figure img {
  width: auto;
  max-width: 100%;
  max-height: min(72vh, 46rem);
  margin-inline: auto;
  border-radius: 0.6rem;
  object-fit: contain;
}
.pg-viewer__figure figcaption { margin-top: 0.75rem; }
.pg-viewer__count { margin: 0 0 0.2rem; color: #e3c98f; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.pg-viewer__caption { margin: 0; color: rgb(255 253 247 / 0.92); font-size: 0.95rem; }
.pg-viewer__caption strong { font-family: var(--display); font-size: 1.2rem; font-weight: 600; }

.pg-viewer__nav,
.pg-viewer__close {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border: 1px solid rgb(255 253 247 / 0.4);
  border-radius: 50%;
  background: rgb(255 253 247 / 0.1);
  color: var(--paper-light);
  cursor: pointer;
  font-size: 1.6rem;
  line-height: 1;
  transition: background-color 160ms ease;
}
.pg-viewer__nav:hover,
.pg-viewer__close:hover { background: rgb(255 253 247 / 0.24); }
.pg-viewer__close {
  position: absolute;
  z-index: 2;
  top: -1.1rem;
  right: -1.1rem;
  border-color: rgb(255 253 247 / 0.55);
  background: var(--forest-deep);
  font-size: 1.5rem;
}
.pg-viewer :focus-visible { outline: 3px solid #e3c98f; outline-offset: 3px; }

/* No background scrolling while the viewer is open. */
.pg-open-lock, .pg-open-lock body { overflow: hidden; }

@media (max-width: 62rem) {
  .pg-grid { grid-auto-rows: clamp(9rem, 22vw, 13rem); }
}

@media (max-width: 46rem) {
  /* One strong lead image, then a calm two-column grid — never a slider. */
  .pg-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: clamp(8.5rem, 30vw, 11rem); }
  /* Span two rows rather than setting a height: an explicit height taller
     than the auto row made the lead overflow and the next tiles paint
     across it. */
  .pg-tile--lead { grid-column: span 2; grid-row: span 2; }
  .pg-tile--wide { grid-column: span 2; }
  /* the sixth tile would otherwise leave a half-empty cell */
  .pg-tile:last-child { grid-column: span 2; }
  .pg-caption strong { font-size: 1rem; }
  .pg-viewall { display: inline-flex; }
  .pg-actions { flex-direction: column; align-items: stretch; }
  .pg-viewall { width: 100%; }
  .pg-viewer__frame { grid-template-columns: 1fr; }
  .pg-viewer__figure { order: -1; }
  .pg-viewer__nav { justify-self: center; }
  .pg-viewer__frame { grid-template-areas: "figure" "nav"; }
  .pg-viewer__nav--prev, .pg-viewer__nav--next { display: inline-grid; }
  .pg-viewer__frame { display: grid; grid-template-columns: 1fr 1fr; }
  .pg-viewer__figure { grid-column: 1 / -1; }
  .pg-viewer__close { top: -0.9rem; right: -0.6rem; }
}

@media (prefers-reduced-motion: reduce) {
  .pg-open, .pg-open:hover { transform: none; transition: none; }
}

/* Benjy's own land-and-water dividers: quieter and wider than the painted
   botanicals, so they mark a change of ground without becoming a garland. */
.ae-earth-divider--land { max-width: min(100%, 1180px); opacity: 0.9; }


/* Awakening Eden regenerative funnel · 2026-10-09 */
.vnext-hero__micro{margin:.8rem 0 0;color:var(--umber);font-size:.8rem;font-weight:700}
.eden-funnel-entry{padding-block:clamp(1.5rem,4vw,3rem)}
.eden-funnel-entry__card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.5rem,5vw,4rem);align-items:center;padding:clamp(1.5rem,4vw,3rem);border:1px solid rgb(105 112 82 / .25);border-radius:1.8rem;background:linear-gradient(135deg,rgb(255 253 247 / .96),rgb(236 232 211 / .76));box-shadow:var(--shadow)}
.eden-funnel-entry__card h2{max-width:12ch;margin:.25rem 0 .7rem}
.eden-funnel-entry__paths{display:grid;gap:.8rem}
.eden-funnel-path{display:grid;grid-template-columns:auto 1fr;gap:.15rem .85rem;align-items:center;padding:1rem 1.1rem;border:1px solid rgb(105 112 82 / .24);border-radius:1rem;background:#fffefa;color:var(--forest-deep);text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.eden-funnel-path:hover,.eden-funnel-path:focus-visible{transform:translateY(-2px);border-color:var(--terracotta);box-shadow:0 12px 28px rgb(35 49 38 / .08)}
.eden-funnel-path--primary{background:var(--forest);color:#fffdf7}
.eden-funnel-path__number{grid-row:1 / 3;font-family:var(--font-display,Georgia,serif);font-size:1.5rem;opacity:.68}
.eden-funnel-path strong{font-size:1rem}
.eden-funnel-path small{font-size:.78rem;opacity:.78}
.eden-enquiry{background:linear-gradient(180deg,rgb(242 238 218 / .7),rgb(255 253 247 / .96))}
.eden-enquiry__trust{font-size:.86rem;font-weight:700;color:var(--olive)}
.eden-enquiry__guide{padding:clamp(1.4rem,3vw,2.3rem);border-radius:1.6rem;background:var(--forest);color:#fffdf7;box-shadow:var(--shadow)}
.eden-enquiry__guide h3{color:#fffdf7;margin:.2rem 0 1rem}
.eden-enquiry__guide ol{display:grid;gap:1rem;padding:0;list-style:none;counter-reset:edensteps}
.eden-enquiry__guide li{display:grid;gap:.22rem;padding-left:2.2rem;position:relative;counter-increment:edensteps}
.eden-enquiry__guide li::before{content:counter(edensteps);position:absolute;left:0;top:.05rem;width:1.55rem;height:1.55rem;display:grid;place-items:center;border:1px solid rgb(255 255 255 / .4);border-radius:50%;font-size:.72rem}
.eden-enquiry__guide li span{font-size:.84rem;opacity:.8}
.eden-enquiry__guide .button{margin-top:1rem}
.eden-form-progress{display:grid;gap:.55rem;margin-bottom:.2rem}
.eden-form-progress p{margin:0;color:var(--forest);font-size:.82rem;font-weight:800}
.eden-form-progress>div{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.eden-form-progress span{height:.32rem;border-radius:999px;background:rgb(105 112 82 / .18)}
.eden-form-progress span[data-active="true"]{background:var(--terracotta)}
.form-step{display:grid;gap:1rem;margin:0;padding:0;border:0;min-width:0}
.form-step[hidden]{display:none!important}
.form-step legend{padding:0;color:var(--forest-deep);font-family:var(--font-display,Georgia,serif);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:600}
.form-step__intro{margin:-.45rem 0 .2rem;color:var(--umber);font-size:.9rem}
.form-step__nav{display:flex;gap:.7rem;align-items:center;justify-content:flex-end;margin-top:.25rem}
.form-step__nav .button{border:0}
.form-step__nav--final{justify-content:space-between}
.land-form:not(.js-funnel) [data-form-next],.land-form:not(.js-funnel) [data-form-back]{display:none}
.land-form:not(.js-funnel) .form-step{padding-bottom:1.2rem;border-bottom:1px solid rgb(105 112 82 / .18)}
.land-form:not(.js-funnel) .form-step:last-of-type{border-bottom:0}
.thank-you-gift{margin:1.7rem auto;padding:1.25rem;border:1px solid rgb(105 112 82 / .24);border-radius:1.2rem;background:rgb(240 232 205 / .55)}
.thank-you-gift h2{margin:.15rem 0 .45rem;font-size:clamp(1.5rem,4vw,2.2rem)}
.thank-you-reciprocity{margin:1.35rem auto;padding:1.25rem;border:1px solid rgb(105 112 82 / .18);border-radius:1.2rem;background:rgb(255 253 247 / .72)}
.thank-you-reciprocity h2{margin:.15rem 0 .45rem;font-size:clamp(1.35rem,3.4vw,1.9rem)}
.thank-you-reciprocity .button-row{gap:.8rem;align-items:center}
@media(max-width:58rem){.eden-funnel-entry__card{grid-template-columns:1fr}.eden-enquiry__guide{order:2}.land-form{order:1}}
@media(max-width:42rem){.form-step__nav,.form-step__nav--final{display:grid;grid-template-columns:1fr}.form-step__nav .button{width:100%}}
