/* About, leadership and editorial case studies. Existing project layouts stay independent. */
.cc-studio,.cc-profile,.cc-story { --studio-gap:clamp(64px,8vw,120px); }
.cc-studio p,.cc-profile p,.cc-story p { line-height:1.65; }
.cc-studio h1,.cc-profile h1,.cc-story h1 { font-size:clamp(48px,6.8vw,96px); line-height:1.02; letter-spacing:-.045em; font-weight:800; margin:0; }
.cc-studio h2,.cc-profile h2,.cc-story h2 { font-size:clamp(32px,3.6vw,52px); line-height:1.1; letter-spacing:-.035em; font-weight:500; margin:0 0 24px; }
.cc-studio h3,.cc-profile h3,.cc-story h3 { font-size:24px; font-weight:500; line-height:1.25; margin:0 0 16px; }
.cc-studio .mono,.cc-profile .mono,.cc-story .mono { font-size:12px; letter-spacing:.06em; }
.cc-studio section[id],.cc-story [id] { scroll-margin-top:110px; }
.cc-studio-hero { padding:172px 0 72px; max-width:1060px; }
.cc-studio-kicker { color:var(--accent); margin:0 0 24px; }
.cc-studio-lede { max-width:800px; font-size:clamp(20px,2vw,26px); color:var(--muted); margin:32px 0; }
.cc-studio-actions { display:flex; gap:16px; flex-wrap:wrap; margin-top:32px; }
.cc-studio-actions a { display:inline-flex; align-items:center; min-height:48px; padding:12px 22px; border:1px solid var(--line); border-radius:999px; color:var(--text); text-decoration:none; }
.cc-studio-actions a:first-child { color:var(--ink); background:var(--accent); border-color:var(--accent); }
.cc-studio-actions a:hover { border-color:var(--text); }
.cc-studio-jump { display:flex; flex-wrap:wrap; gap:24px 40px; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.cc-studio-jump a { color:var(--muted); font-size:14px; text-decoration:none; }
.cc-studio-jump a:hover { color:var(--accent); }
.cc-studio-section { padding-top:var(--studio-gap); }
.cc-studio-split { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.cc-studio-copy p { max-width:660px; color:var(--muted); margin:0 0 20px; font-size:20px; }
.cc-studio-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-top:56px; }
.cc-studio-stat { border-top:1px solid var(--line); padding-top:24px; }
.cc-studio-stat strong { display:block; font-size:clamp(44px,5vw,72px); font-weight:500; letter-spacing:-.04em; line-height:1.1; }
.cc-studio-stat p { color:var(--muted); margin:12px 0 0; }
.cc-studio-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:40px; }
.cc-studio-step { border-radius:20px; padding:32px; background:var(--surface); }
.cc-studio-step .mono { color:var(--accent); margin:0 0 48px; }
.cc-studio-step p:last-child { color:var(--muted); margin-bottom:0; }
.cc-studio-heading { max-width:760px; margin-bottom:40px; }
.cc-studio-heading > p:last-child { font-size:20px; color:var(--muted); }
.cc-studio-team { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 24px; }
.cc-person { min-width:0; }
.cc-person figure { aspect-ratio:1; border-radius:20px; overflow:hidden; margin:0 0 24px; background:var(--surface); }
.cc-person figure img { width:100%; height:100%; object-fit:cover; display:block; }
.cc-person h3 { margin-bottom:8px; }
.cc-person .cc-person-role { color:var(--muted); margin:0 0 16px; min-height:3.3em; }
.cc-person a { color:var(--accent); text-underline-offset:5px; }
.cc-studio-faq { display:grid; grid-template-columns:1fr 1.4fr; gap:64px; }
.cc-studio-faq details { border-bottom:1px solid var(--line); padding:22px 0; }
.cc-studio-faq details:first-child { border-top:1px solid var(--line); }
.cc-studio-faq summary { cursor:pointer; font-size:20px; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; }
/* Same + marker as the homepage FAQ, not the browser's triangle. */
.cc-studio-faq summary::-webkit-details-marker { display:none; }
.cc-studio-faq summary::after { content:""; flex:none; width:20px; height:20px; color:var(--accent, #ff1a8c); background:linear-gradient(currentColor,currentColor) 6px 9px / 8px 1.5px no-repeat, linear-gradient(currentColor,currentColor) 9.25px 6px / 1.5px 8px no-repeat; transition:transform 260ms ease; }
.cc-studio-faq details[open] summary::after { transform:rotate(45deg); }
.cc-studio-faq details p { color:var(--muted); max-width:680px; }
.cc-studio-close { margin-block:var(--studio-gap); padding:56px; background:var(--surface); border-radius:20px; }
.cc-studio-close > p { max-width:700px; color:var(--muted); font-size:20px; }
.cc-profile { padding-top:144px; }
.cc-profile-back a { color:var(--muted); }
.cc-profile-hero { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:72px; align-items:center; padding-block:32px 88px; }
.cc-profile-photo { margin:0; }
.cc-profile-photo img { width:100%; height:auto; border-radius:20px; display:block; }
.cc-profile-hero h1 { font-size:clamp(48px,5.5vw,80px); }
.cc-profile-role { color:var(--accent); font-size:22px; margin-block:24px; }
.cc-profile-bio { color:var(--muted); font-size:20px; }
.cc-profile .cc-studio-split { padding-block:64px; border-top:1px solid var(--line); }
.cc-story { padding-top:160px; padding-bottom:80px; }
.cc-story_header { max-width:1000px; margin-bottom:64px; }
.cc-story_header .mono { color:var(--accent); }
.cc-story_summary { color:var(--muted); font-size:24px; margin-top:28px; }
.cc-story_header > img { width:100%; height:auto; border-radius:20px; margin-top:40px; }
.cc-story_body { max-width:900px; }
.cc-story_body h2 { margin-top:64px; }
.cc-story_body p,.cc-story_body li { color:var(--muted); font-size:20px; }
.cc-story_body ul,.cc-story_body ol { padding-left:24px; }
.cc-story_body .wp-block-table { overflow-x:auto; margin:32px 0; }
.cc-story_body table { width:100%; border-collapse:collapse; }
.cc-story_body th,.cc-story_body td { text-align:left; padding:18px; border:1px solid var(--line); }
.cc-story_body blockquote { padding:24px; border-left:3px solid var(--accent); margin:32px 0; }
.cc-story_grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.cc-story_card { background:var(--surface); border-radius:20px; padding:32px; }
.cc-story_card img { width:100%; height:auto; border-radius:12px; }
.cc-story_card h2 { font-size:32px; margin-top:24px; }
.cc-story_card > a { color:var(--accent); }
@media(max-width:991px) {
 .cc-studio-hero { padding-top:144px; }
 .cc-studio-split,.cc-studio-faq { gap:32px; }
 .cc-studio-step { padding:24px; }
 .cc-profile-hero { gap:32px; }
}
@media(max-width:700px) {
 .cc-studio-hero { padding:128px 0 40px; }
 .cc-studio-jump { gap:16px 24px; }
 .cc-studio-split,.cc-studio-faq,.cc-studio-steps,.cc-profile-hero,.cc-story_grid { grid-template-columns:1fr; }
 .cc-studio-stats { gap:12px; padding-top:32px; }
 .cc-studio-stat strong { font-size:40px; }
 .cc-studio-stat p { font-size:13px; }
 .cc-studio-team { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 16px; }
 .cc-person h3 { font-size:20px; }
 .cc-person .cc-person-role { font-size:14px; min-height:4.95em; }
 .cc-studio-step .mono { margin-bottom:24px; }
 .cc-studio-close { padding:32px 24px; }
 .cc-profile { padding-top:112px; }
 .cc-profile-hero { padding-bottom:48px; }
 .cc-profile-photo { max-width:480px; }
 .cc-story { padding-top:128px; }
 .cc-story_summary { font-size:20px; }
}
@media(max-width:420px) { .cc-studio-team { grid-template-columns:1fr; } .cc-person .cc-person-role { min-height:0; } }

.cc-story_preview { padding:16px 20px; border:1px solid var(--accent); border-radius:12px; margin-bottom:32px; }
.cc-story_body .wp-block-image { margin:32px 0; }
.cc-story_body .wp-block-image img { width:100%; height:auto; border-radius:20px; }
