/* Shared split-curtain composition for the homepage and marketing services. */
.curtain-demo{--curtain-green:#87e64b;--curtain-ink:#0d0f0d;--curtain-paper:#fff5ed;position:relative;min-height:160vh;height:160vh;margin:0;padding:0;background:var(--curtain-paper);color:var(--curtain-ink);font-family:'Instrument Sans',Arial,sans-serif;overflow:visible}
.curtain-demo .curtain-sticky{position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center;overflow:hidden;isolation:isolate}
.curtain-demo .curtain-copy{position:relative;z-index:1;width:min(900px,calc(100% - 48px));padding:0;text-align:center;transform:translateY(4vh);will-change:transform}
.curtain-demo .curtain-copy h1,.curtain-demo .curtain-copy h3{max-width:15ch;margin:18px auto 24px;color:var(--curtain-ink);font-size:clamp(44px,6.6vw,96px);font-weight:600;line-height:1.03;letter-spacing:-.055em}
.curtain-demo .curtain-copy p{max-width:580px;margin:0 auto;color:#53594f;font-size:clamp(18px,1.6vw,22px);line-height:1.55}
.curtain-demo .motion-label{display:block;font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#367400}
.curtain-demo .curtain-panel{position:absolute;z-index:2;inset:0 auto 0 0;display:flex;align-items:center;justify-content:center;width:50%;padding:24px clamp(20px,4vw,72px);background:var(--curtain-green);color:var(--curtain-ink);box-sizing:border-box;overflow:hidden;will-change:transform}
.curtain-demo .curtain-panel.right{inset:0 0 0 auto;background:var(--curtain-ink);color:#fff}
.curtain-demo .curtain-panel strong{display:block;max-width:100%;margin:0;text-align:center;font-size:clamp(32px,5.2vw,80px);font-weight:600;line-height:1.05;letter-spacing:-.055em;transform:none;overflow-wrap:normal}
.curtain-demo.service-curtain .curtain-panel strong{font-size:clamp(28px,4.6vw,72px)}
body.has-service-curtain{overflow-x:clip}
.curtain-demo:not(.is-curtain-ready){height:auto;min-height:0}
.curtain-demo:not(.is-curtain-ready) .curtain-sticky{position:relative;height:auto;min-height:70vh;padding:110px 0 80px}
.curtain-demo:not(.is-curtain-ready) .curtain-panel{display:none}
@media(max-width:600px){
  .curtain-demo{min-height:145vh;height:145vh}
  .curtain-demo .curtain-panel{padding:18px 12px}
  .curtain-demo .curtain-panel strong{font-size:clamp(25px,6.5vw,39px);letter-spacing:-.05em}
  .curtain-demo.service-curtain .curtain-panel strong{font-size:clamp(23px,5.8vw,35px)}
  .curtain-demo .curtain-copy{width:calc(100% - 40px)}
  .curtain-demo .curtain-copy h1,.curtain-demo .curtain-copy h3{font-size:clamp(36px,10vw,56px)}
}
@media(prefers-reduced-motion:reduce){
  .curtain-demo{height:auto;min-height:0}
  .curtain-demo .curtain-sticky{position:relative;height:auto;min-height:70vh;padding:110px 0 80px}
  .curtain-demo .curtain-panel{display:none}
  .curtain-demo .curtain-copy{transform:none!important}
}
