/* ABOUT only: measured title reveals and a scroll-driven sequence of principles. */
body.about-motion-page main,.about-motion-page .cp-about{overflow:visible}
body.about-motion-page{overflow-x:clip}
.subjs .cp-about.cp-motion-ready .subreveal{opacity:1;transform:none;transition:none}
.cp-about .cp-title-line{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.cp-about .cp-title-text{display:block}
.cp-about.cp-motion-ready .cp-motion-title .cp-title-text{transform:translateY(112%);opacity:0;transition:transform 1.05s cubic-bezier(.22,1,.36,1),opacity .8s;transition-delay:var(--line-delay,0ms)}
.cp-about.cp-motion-ready .cp-motion-title.is-in .cp-title-text{transform:translateY(0);opacity:1}
.cp-about.cp-motion-ready .cp-motion-item{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform 1s cubic-bezier(.22,1,.36,1);transition-delay:var(--motion-delay,0ms)}
.cp-about.cp-motion-ready .cp-motion-item.is-in{opacity:1;transform:translateY(0)}
.cp-about .cp-rule-progress{display:none}
.cp-about .cp-history-row strong{transition:color .5s}
.cp-about .cp-history-row.is-history-current strong{color:var(--cp-accent)}
@media(min-width:1000px) and (min-height:760px) and (prefers-reduced-motion:no-preference){
 .cp-about.cp-motion-ready .cp-principles.is-horizontal{height:calc(100svh + var(--principles-travel,1000px));padding:0}
 .cp-about .cp-principles.is-horizontal>.subwrap{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:48px}
 .cp-about .cp-principles.is-horizontal .cp-split-heading{margin-bottom:40px}
 .cp-about .cp-principles.is-horizontal h2{font-size:clamp(36px,3.6vw,52px)}
 .cp-about .cp-principles.is-horizontal .cp-split-heading p{margin-top:18px}
 .cp-about .cp-rule-window{overflow:clip;padding:1px}
 .cp-about .is-horizontal .cp-rule-list{display:flex;gap:24px;width:max-content;transform:translate3d(var(--principles-x,0px),0,0);will-change:transform}
 body.subbody .cp-about .is-horizontal .cp-rule{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;flex:0 0 clamp(350px,34vw,460px);width:clamp(350px,34vw,460px);min-height:320px;padding:34px;border:1px solid #e3ddd6;border-radius:12px;background:linear-gradient(145deg,#fff,#fff7f0);gap:0;opacity:1;transform:none;transition:border-color .4s,background .4s}
 .cp-about .is-horizontal .cp-rule.is-card-current{border-color:#f3b48f;background:linear-gradient(145deg,#fff8f2,#ffe8d6)}
 .cp-about .is-horizontal .cp-rule-number{margin-bottom:38px;font-size:16px}
 .cp-about .is-horizontal .cp-rule h3{font-size:27px;line-height:1.4;margin-bottom:20px}
 .cp-about .is-horizontal .cp-rule p{font-size:15px;line-height:1.85}
 .cp-about .is-horizontal .cp-rule-progress{display:block;flex:none;width:100%;height:2px;background:#e4ded7;margin-top:30px;overflow:hidden}
 .cp-about .cp-rule-progress span{display:block;height:100%;background:var(--cp-accent);transform-origin:left;transform:scaleX(var(--principles-progress,.04))}
}
@media(max-width:700px){.cp-about.cp-motion-ready .cp-motion-item{transform:translateY(22px)}.cp-about.cp-motion-ready .cp-motion-item.is-in{transform:none}}
@media(prefers-reduced-motion:reduce){
 .cp-about.cp-motion-ready .cp-motion-title .cp-title-text,.cp-about.cp-motion-ready .cp-motion-item{opacity:1;transform:none;transition:none}
}

/* Card procession stays within the subwrap, aligned at both ends. */
@media(min-width:1000px) and (min-height:760px) and (prefers-reduced-motion:no-preference){
 .cp-about .cp-principles.is-horizontal .cp-rule-window{width:100%;margin-left:0;padding:0;overflow:clip}
 .cp-about .is-horizontal .cp-rule-list{position:relative;gap:32px;padding-inline:0}
 body.subbody .cp-about .is-horizontal .cp-rule{flex-basis:clamp(380px,37.5vw,540px);width:clamp(380px,37.5vw,540px);min-height:clamp(360px,46svh,510px);padding:clamp(30px,3.5vw,52px);border-color:#e9e1d9;border-radius:8px;background:linear-gradient(140deg,#ffffffeb,#fff5ebd9);backdrop-filter:blur(12px)}
 .cp-about .is-horizontal .cp-rule.is-card-current{border-color:#edcfb9;background:linear-gradient(140deg,#fffaf5f2,#ffe8d2d9)}
 .cp-about .is-horizontal .cp-rule-number{margin-bottom:clamp(38px,5svh,64px)}
 .cp-about .is-horizontal .cp-rule h3{font-size:clamp(27px,2.4vw,34px);margin-bottom:24px;letter-spacing:-.05em}
 .cp-about .is-horizontal .cp-rule p{font-size:16px;line-height:1.85}
 .cp-about .is-horizontal .cp-rule>*{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .9s cubic-bezier(.22,1,.36,1)}
 .cp-about .is-horizontal .cp-rule.is-card-visible>*{opacity:1;transform:none}
 .cp-about .is-horizontal .cp-rule h3{transition-delay:90ms}
 .cp-about .is-horizontal .cp-rule p{transition-delay:180ms}
}
