/* Shared visual system for inner editorial pages. */
.page-hero { background: #e8ebe0; padding-block: clamp(64px, 9vw, 130px); border-bottom: 1px solid var(--line); overflow: hidden; }
.page-hero--stone { background: #eee8df; }
.page-hero--plain { background: var(--paper); }
.page-hero__inner { max-width: 1320px; }
.page-hero .eyebrow { color: #566356; }
.page-hero h1 { max-width: 980px; font-size: clamp(3.35rem, 7.5vw, 7.8rem); line-height: .99; letter-spacing: -.063em; margin-bottom: 28px; text-wrap: balance; }
.page-hero h1 em { color: #556758; }
.page-hero__lead { max-width: 630px; font-size: clamp(1.05rem,1.6vw,1.35rem); line-height: 1.65; margin-bottom: 0; }
.story-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: clamp(40px,6vw,105px); padding-block: clamp(72px,10vw,140px); }
.story-split__visual { min-height: clamp(390px,48vw,630px); }
.story-split__copy { max-width: 590px; }
.story-split__copy h2 { margin-bottom: 28px; }
.story-split__copy p:not(.eyebrow) { max-width: 510px; font-size: 1.07rem; }
.feature-section { padding-block: clamp(72px,9vw,125px); }
.feature-section--stone { background: #eee8e1; }
.feature-section > .wrap, .feature-section.wrap { max-width: var(--wrap); }
.info-grid { display: grid; gap: 20px; }
.info-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.info-grid--two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.info-card { padding: clamp(26px,3.4vw,45px); background: rgba(255,255,255,.53); border: 1px solid rgba(41,46,43,.10); min-height: 275px; }
.info-card__number { display: block; font-family: var(--serif); font-style: italic; color: #677568; font-size: 1.15rem; margin-bottom: 37px; }
.info-card h3 { font-family: var(--serif); font-size: clamp(1.6rem,2.6vw,2.25rem); letter-spacing: -.03em; font-weight: 400; line-height: 1.18; margin-bottom: 15px; }
.info-card p { margin-bottom: 0; color: #4b544c; }
.info-card .text-link { display: inline-flex; margin-top: 24px; }
.section-note { margin: 27px 0 0; color: var(--muted); }
.section-intro { max-width: 650px; margin-bottom: 35px; }
.process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.process-grid article { border-top: 1px solid var(--ink); padding-top: 22px; }
.process-grid article > span { text-transform: uppercase; letter-spacing: .13em; font-size: .72rem; color: var(--sage); }
.process-grid h3 { font-family: var(--serif); font-size: clamp(1.6rem,2.4vw,2.15rem); font-weight: 400; margin-top: 40px; line-height: 1.13; }
.process-grid p { margin-bottom: 0; color: var(--muted); }
.story-band { background: var(--sage-light); padding-block: clamp(70px,8vw,120px); }
.story-band__inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px,7vw,100px); }
.story-band__inner > div:last-child { padding-top: 10px; }
.story-band__inner > div:last-child p { max-width: 600px; font-size: 1.08rem; }
.workshop-list .product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); row-gap: 35px; }
.cta-panel { background: #d7dfd2; padding-block: clamp(68px,8vw,105px); }
.cta-panel__inner { display: flex; justify-content: space-between; align-items: center; gap: 60px; }
.cta-panel h2 { margin-bottom: 15px; }
.cta-panel p:not(.eyebrow) { max-width: 640px; margin-bottom: 0; }
.cta-panel .button { flex: 0 0 auto; text-align: center; }
.editorial-additions { padding-block: 55px 85px; max-width: min(900px,calc(100% - 80px)); }
.editorial-additions h2 { font-size: clamp(2rem,3.3vw,3rem); }
.visit-layout { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(40px,8vw,110px); padding-block: clamp(75px,9vw,130px); }
.visit-layout__main { max-width: 650px; }
.visit-layout__main p:not(.eyebrow) { font-size: 1.07rem; }
.visit-layout__main .button { margin-top: 15px; }
.visit-details { background: #ece7de; border: 1px solid var(--line); padding: clamp(30px,4vw,60px); align-self: start; }
.visit-details h2 { font-size: 2rem; padding-bottom: 20px; border-bottom: 1px solid var(--line); margin-bottom: 25px; }
.visit-details__label { text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; font-weight: 650; color: var(--sage); margin: 24px 0 9px; }
.visit-details address { font-style: normal; line-height: 1.8; }
.visit-details a { display: block; margin-bottom: 3px; overflow-wrap: anywhere; text-underline-offset: 4px; }
.visit-details p:last-child { margin-bottom: 0; }
@media (max-width: 1000px) {
    .info-grid--three { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .workshop-list .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .cta-panel__inner { align-items: flex-start; flex-direction: column; gap: 25px; }
}
@media (max-width: 700px) {
    .page-hero { padding-block: 65px; }
    .page-hero h1 { font-size: clamp(3.25rem, 12vw, 5.4rem); }
    .story-split, .story-band__inner, .visit-layout { grid-template-columns: 1fr; }
    .story-split { padding-block: 65px; gap: 32px; }
    .story-split__visual { min-height: 0; height: 280px; }
    .story-split__copy h2 { font-size: 2.65rem; }
    .info-grid--three, .info-grid--two, .process-grid { grid-template-columns: 1fr; }
    .info-card { min-height: 0; }
    .info-card__number { margin-bottom: 23px; }
    .process-grid { gap: 35px; }
    .process-grid h3 { margin-top: 18px; }
    .workshop-list .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
    .editorial-additions { max-width: calc(100% - 40px); }
    .visit-layout { padding-block: 60px; }
    .cta-panel__inner { gap: 25px; }
    .cta-panel .button { width: 100%; }
}
