.cl-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:var(--font-weight-regular);font-size:14px;line-height:1.2;border-radius:8px;padding:14px 32px;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.cl-btn--solid{background:var(--cta);color:var(--cta-text);border:1px solid var(--cta)}.cl-btn--solid:hover{background:var(--cta-hover);border-color:var(--cta-hover)}.cl-btn--ghost{color:var(--text);border:1px solid var(--text);background:transparent}.cl-btn--ghost:hover{background:var(--text);color:var(--bg)}.cl-narrative{padding:clamp(32px,5vw,56px) 44px 0}.cl-section{border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px 56px;padding:clamp(44px,6vw,72px) 0}.cl-section__no{font-family:var(--font-heading);font-weight:var(--font-weight-medium);font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);color:var(--chapter);margin:0 0 12px}.cl-section__title{font-size:clamp(24px,2.8vw,34px);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2);margin:0;max-width:16em}.cl-section__body p{font-size:var(--text-body);line-height:var(--leading-body);color:var(--text);margin:0 0 1.4em;max-width:42em}.cl-section__body p:last-of-type{margin-bottom:0}.cl-opening .cl-opening__body p{max-width:40em;line-height:2.1;margin-bottom:1.8em}.cl-diagram{display:grid;grid-template-columns:auto 72px minmax(0,1fr);align-items:stretch;margin:32px 0 0;max-width:560px}.cl-diagram__center{align-self:center;margin:0;border:1px solid var(--text);border-radius:999px;padding:12px 22px;font-family:var(--font-heading);font-size:var(--text-note);line-height:1.5;text-align:center;word-break:keep-all}.cl-diagram__lines{display:block;width:100%;height:100%}.cl-diagram__lines path{fill:none;stroke:var(--text-muted);stroke-width:1.2}.cl-diagram__dirs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:space-between;gap:14px}.cl-diagram__dirs li{border:1px solid var(--border);border-radius:8px;padding:10px 18px;font-family:var(--font-heading);font-size:var(--text-note);line-height:1.5;background:var(--bg-alt);word-break:keep-all}#open-roles{scroll-margin-top:120px;padding:0 8px;margin:clamp(44px,6vw,72px) 0 90px}.cl-roles{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--mign-panel-radius);padding:clamp(40px,5vw,64px) clamp(24px,4vw,56px)}.cl-roles__title{font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2);margin:0 0 24px}.cl-roles__list{list-style:none;margin:0 0 30px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.cl-role{border:1px solid var(--border);border-radius:8px;background:var(--bg);padding:20px 22px}.cl-role__name{font-family:var(--font-heading);font-weight:var(--font-weight-medium);font-size:17px;line-height:1.5;margin:0 0 10px}.cl-role__name a{color:inherit;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:4px}.cl-role__name a:hover{color:var(--chapter);text-decoration-color:currentColor}.cl-role__name a:after{content:" ↗";display:inline-block;font-size:.85em}.cl-role__persona-label{font-family:var(--font-nav);font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);color:var(--chapter);margin:0 0 6px}.cl-role__personas{list-style:none;margin:0;padding:0}.cl-role__personas li{position:relative;padding-left:1.1em;color:var(--text);font-size:var(--text-note);line-height:var(--leading-note);margin:0 0 6px}.cl-role__personas li:last-child{margin-bottom:0}.cl-role__personas li:before{content:"・";position:absolute;left:0}.cl-roles__cta{margin:0 0 30px}.cl-roles__agency{border-top:1px solid var(--border);padding-top:20px;color:var(--text-muted);font-size:var(--text-note);line-height:var(--leading-note);margin:0}.cl-roles__agency a{color:var(--chapter);text-decoration:underline;text-underline-offset:3px}@media(max-width:900px){.cl-narrative{padding:24px 20px 0}.cl-section{grid-template-columns:1fr;gap:14px}.cl-diagram{grid-template-columns:1fr;gap:12px;max-width:none}.cl-diagram__center{align-self:stretch}.cl-diagram__lines{display:none}.cl-btn{width:100%;max-width:340px}}
