/* Stage 2B extends the existing LP paper / green editorial system. */
.lp-editorial{--lp-panel:#eae8dc;--lp-error:#923d2a;--lp-input:#fbf8ee;--lp-dark-muted:#e0e3d5;min-width:0}
.lp-editorial-header{margin:20px 20px 0;border-radius:18px;background:var(--lp-green);color:var(--lp-cream)}
.lp-editorial-header .lp-header::before{display:none}
.lp-editorial-header :focus-visible,.lp-service-session :focus-visible,.lp-contact-channels :focus-visible{outline-color:#dce5b4}
.lp-editorial-main{padding:0}
.lp-editorial h1,.lp-editorial h2,.lp-editorial h3,.lp-editorial p{overflow-wrap:break-word}
.lp-editorial h1,.lp-editorial h2{text-wrap:balance}
.lp-editorial .lp-editorial-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:70px;padding-top:86px;padding-bottom:80px;align-items:start;border-bottom:1px solid var(--lp-line)}
.lp-editorial .lp-editorial-hero h1{font-size:clamp(54px,6.6vw,94px);line-height:1.03;letter-spacing:-.04em;max-width:900px}
.lp-editorial .lp-editorial-lead{font-size:20px;line-height:1.65;max-width:40ch}
.lp-service-wayfinding{display:flex;flex-direction:column;margin-top:30px}
.lp-service-wayfinding a{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 0;border-bottom:1px solid var(--lp-line);min-height:48px;font-size:14px;line-height:1.6}
.lp-service-wayfinding a:hover{text-decoration:underline;text-underline-offset:5px}
.lp-service-feature{padding:88px 0;scroll-margin-top:28px}
.lp-service-opening{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:70px;align-items:center}
.lp-editorial .lp-service-heading h2{font-size:clamp(44px,4.6vw,66px);max-width:17ch;line-height:1.05}
.lp-editorial .lp-service-summary{font-size:21px;line-height:1.6;max-width:39ch;margin-top:26px}
.lp-editorial .lp-service-format{font-size:14px;line-height:1.8;margin-top:26px;color:var(--lp-muted)}
.lp-service-art{margin:0}
.lp-service-art img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px}
.lp-service-art figcaption{font-size:12px;line-height:1.6;color:var(--lp-muted);margin-top:12px}
.lp-service-description{max-width:70ch;margin-top:45px}
.lp-editorial .lp-prose p{font-size:17px;line-height:1.8}
.lp-prose p+p{margin-top:18px}
.lp-service-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;margin-top:48px;padding-top:36px;border-top:1px solid var(--lp-line)}
.lp-editorial .lp-service-detail-grid h3{font-size:30px;margin-bottom:22px}
.lp-prose ul,.lp-prose ol{padding-left:22px;margin:0}
.lp-prose li{font-size:16px;line-height:1.75;padding-left:5px;margin-top:14px;max-width:65ch}
.lp-prose li:first-child{margin-top:0}
.lp-service-ending{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:40px;padding-top:28px;border-top:1px solid var(--lp-line)}
.lp-editorial .lp-service-note{font-size:14px;line-height:1.75;color:var(--lp-muted);max-width:65ch}
.lp-editorial .lp-button{max-width:100%;white-space:normal;flex-shrink:0;cursor:pointer}
.lp-service-session{background:var(--lp-green);color:var(--lp-cream)}
.lp-service-session .lp-service-opening{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.lp-service-session .lp-service-heading{grid-column:2;grid-row:1}
.lp-service-session .lp-service-art{grid-column:1;grid-row:1}
.lp-service-session .lp-service-format,.lp-service-session .lp-service-note,.lp-service-session .lp-service-art figcaption{color:var(--lp-dark-muted)}
.lp-service-session .lp-service-description{margin-left:auto;color:var(--lp-dark-muted)}
.lp-service-session .lp-service-detail-grid,.lp-service-session .lp-service-ending{border-color:#f7f1dd40}
.lp-service-talk{background:var(--lp-panel)}
.lp-service-talk .lp-service-opening{display:block}
.lp-service-talk .lp-service-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0 70px;align-items:end}
.lp-service-talk .lp-service-heading h2{grid-row:1/3}
.lp-service-talk .lp-service-summary{margin:0}
.lp-service-talk .lp-service-description{margin-top:52px}
.lp-choice,.lp-contact-close{padding:80px 0}
.lp-choice-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:start}
.lp-choice-grid p{max-width:55ch;margin-bottom:28px}
.lp-contact-hero .lp-editorial-lead{align-self:end}
.lp-contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;padding-top:70px;padding-bottom:80px;align-items:start}
.lp-contact-channels{background:var(--lp-green);color:var(--lp-cream);padding:42px 38px;border-radius:16px}
.lp-editorial .lp-contact-channels h2,.lp-editorial .lp-contact-form-area h2{font-size:38px;margin-bottom:22px}
.lp-contact-email{font-family:Georgia,serif;display:block;font-size:clamp(22px,2vw,29px);line-height:1.45;overflow-wrap:anywhere;margin:30px 0 22px}
.lp-contact-email:hover{text-decoration:underline;text-underline-offset:6px}
.lp-contact-channels .lp-text-link{display:flex;justify-content:space-between;max-width:100%;white-space:normal;border-color:#f7f1dd66;margin-top:16px}
.lp-editorial .lp-contact-channel-note{font-size:14px;color:var(--lp-dark-muted);line-height:1.8;margin-top:40px}
.lp-contact-form-area{scroll-margin-top:28px;min-width:0}
.lp-contact-form-area>p{max-width:55ch}
.lp-editorial .lp-form-demo{font-size:14px;line-height:1.8;color:var(--lp-muted);border-top:1px solid var(--lp-line);padding-top:22px;margin-top:25px}
.lp-contact-form{margin-top:26px}
.lp-editorial .lp-form-required,.lp-editorial .lp-field-help{font-size:13px;line-height:1.7;color:var(--lp-muted)}
.lp-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 22px;margin-top:22px}
.lp-form-topic,.lp-form-message{grid-column:1/-1}
.lp-form-field label{display:block;font-size:15px;line-height:1.6;margin-bottom:8px}
.lp-form-field input,.lp-form-field textarea{display:block;box-sizing:border-box;width:100%;min-width:0;border:1px solid #899182;border-radius:8px;background:var(--lp-input);color:var(--lp-ink);font:inherit;font-size:16px;line-height:1.6;min-height:52px;padding:12px 14px;caret-color:var(--lp-green)}
.lp-form-field textarea{resize:vertical;min-height:185px}
.lp-form-field [aria-invalid="true"]{border-color:var(--lp-error)}
.lp-editorial .lp-field-error{font-size:14px;line-height:1.6;color:var(--lp-error);margin-top:8px}
.lp-field-help{margin-top:9px}
.lp-form-summary{color:var(--lp-error);border:1px solid var(--lp-error);border-radius:8px;padding:20px;margin:22px 0;background:#f3e5d8}
.lp-form-summary ul{padding-left:20px;margin-top:12px}
.lp-form-summary li{font-size:14px;line-height:1.65;margin-top:8px}
.lp-form-summary a{text-decoration:underline;text-underline-offset:4px}
.lp-form-success{padding:20px;background:#d7dfc2;color:var(--lp-green);border-radius:8px;margin:22px 0}
.lp-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lp-editorial .lp-form-privacy{font-size:13px;line-height:1.7;margin:24px 0;color:var(--lp-muted)}
.lp-form-privacy a{text-decoration:underline;text-underline-offset:4px}
.lp-contact-close{background:var(--lp-panel)}
@media(max-width:1100px){.lp-editorial .lp-editorial-hero,.lp-service-opening,.lp-service-detail-grid,.lp-service-talk .lp-service-heading,.lp-choice-grid{gap:44px}.lp-contact-grid{gap:40px}.lp-contact-channels{padding:32px 28px}}
@media(max-width:760px){
 .lp-editorial-header{margin:12px 12px 0;border-radius:14px}
 .lp-editorial .lp-editorial-hero{grid-template-columns:1fr;padding-top:54px;padding-bottom:54px;gap:28px}
 .lp-editorial .lp-editorial-hero h1{font-size:clamp(44px,8.5vw,64px)}
 .lp-editorial .lp-editorial-lead{font-size:18px;max-width:45ch}
 .lp-service-wayfinding{margin-top:24px}
 .lp-service-feature{padding:60px 0}
 .lp-service-opening,.lp-service-session .lp-service-opening,.lp-service-talk .lp-service-heading,.lp-service-detail-grid,.lp-choice-grid,.lp-contact-grid{grid-template-columns:1fr;gap:30px}
 .lp-service-session .lp-service-heading,.lp-service-session .lp-service-art{grid-column:auto;grid-row:auto}
 .lp-service-talk .lp-service-heading h2{grid-row:auto}
 .lp-editorial .lp-service-heading h2{font-size:clamp(40px,7vw,52px);max-width:20ch}
 .lp-editorial .lp-service-summary{font-size:19px;max-width:45ch;margin-top:22px}
 .lp-service-talk .lp-service-summary{margin-top:0}
 .lp-service-talk .lp-service-format{margin-top:0}
 .lp-service-description,.lp-service-talk .lp-service-description{margin-top:30px}
 .lp-editorial .lp-prose p{font-size:16px}
 .lp-service-detail-grid{margin-top:34px;padding-top:28px;gap:34px}
 .lp-service-ending{flex-direction:column;align-items:flex-start;gap:24px;margin-top:32px}
 .lp-choice,.lp-contact-close{padding:60px 0}
 .lp-contact-grid{padding-top:46px;padding-bottom:60px;gap:46px}
 .lp-contact-channels{padding:32px 26px}
 .lp-contact-email{font-size:25px;max-width:35ch}
 .lp-contact-channel-note{margin-top:28px}
 .lp-editorial .lp-contact-channels h2,.lp-editorial .lp-contact-form-area h2{font-size:34px}
}
@media(max-width:430px){.lp-form-fields{grid-template-columns:1fr}.lp-editorial .lp-editorial-hero h1{font-size:clamp(36px,11.28vw,44px)}.lp-editorial .lp-service-heading h2{font-size:42px}.lp-editorial .lp-service-detail-grid h3{font-size:28px}.lp-contact-email{font-size:23px}.lp-form-summary{padding:17px}.lp-editorial .lp-contact-channels h2{font-size:32px}}
