/* Incremental creative-strategy refinement of the existing Kahnec system. */
.bench-intro { margin:15px 0 0; font-size:.86rem; line-height:1.55; color:#efe3f5!important; }
.capability-flow { grid-template-columns:repeat(6,minmax(0,1fr)); }
.capability-flow button { font-size:.8125rem; }
.partner-home .flow-caption { min-height:3.2em; }
.flow-point { width:44px; height:44px; }
.capability-flow li:not(:last-child):after { top:21px; left:calc(50% + 22px); width:calc(100% - 44px); }
.flow-point .ideation-spark { fill:#f3d184; stroke:none; transform-box:fill-box; transform-origin:center; }
.capability-flow button[aria-pressed=true] .ideation-spark,.capability-flow button:hover .ideation-spark { fill:#342352; }
.flow-playing .ideation-spark { animation:ideation-pulse .65s ease-out both; }
.flow-playing .capability-flow li:nth-child(5) .flow-point { animation:partner-node .5s ease-out 2s both; }
.flow-playing .capability-flow li:last-child .flow-point { animation:partner-flow-complete .5s ease-out 2.5s both; }
.flow-playing .capability-flow li:nth-child(5):after { animation-delay:2.3s; }
@keyframes ideation-pulse { 0% { opacity:.3; transform:scale(.55); } 55% { opacity:1; transform:scale(1.4); } 100% { opacity:1; transform:scale(1); } }
.creative-studio { background:#e5eee8; }
.creative-layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:52px; align-items:start; }
.partner-home .creative-copy h2 { font-size:2.75rem; line-height:1.08; letter-spacing:-.035em; margin:18px 0 26px; max-width:15ch; }
.partner-home .creative-copy p { font-size:1rem; line-height:1.65; }
.partner-home .creative-copy .creative-subheading { font-family:Outfit,var(--apple-font); font-size:1.25rem; line-height:1.4; color:#37594b; max-width:28ch; margin-bottom:18px; }
.creative-copy .button { margin:26px 0 0; }
.partner-home .creative-copy .creative-scope { font-size:.88rem; line-height:1.55; margin:18px 0 24px; max-width:43ch; color:#52675b; }
.creative-includes { border-top:1px solid #a7bdaf; padding-top:8px; }
.creative-includes summary { min-height:48px; padding:12px 0; cursor:pointer; color:#342352; font-size:.94rem; }
.creative-includes ul { display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; padding:0 0 0 18px; margin:22px 0; color:#4b5e52; font-size:.9rem; line-height:1.5; }
.creative-includes li::marker { color:#577b67; }
.concept-sheet { padding:24px; background:#fcf7ee; border:1px solid #c1cbbb; border-radius:8px 8px 24px 8px; box-shadow:8px 8px 0 #cddbd0; }
.concept-sheet-top { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 18px; padding-bottom:20px; border-bottom:1px solid #d8cdbb; color:#675373; font-size:.82rem; line-height:1.5; }
.concept-sheet-top span:first-child { color:#342352; font-weight:500; }
.concept-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:18px -4px 24px; padding:4px; gap:5px; border-radius:10px; background:#eee5d8; }
.concept-tabs button { display:flex; flex-direction:column; gap:5px; padding:12px 8px; min-height:76px; text-align:left; border:1px solid transparent; border-radius:7px; background:none; color:#68546e; font-size:.82rem; line-height:1.45; cursor:pointer; }
.concept-tabs button span { color:#7b6346; font-size:.8rem; }
.concept-tabs button[aria-selected=true] { background:#fcf7ee; color:#342352; border-color:#d8c8ae; }
.concept-tabs button[aria-selected=true] span { color:#665131; }
.concept-tabs .apple-selection-indicator { background:#fcf7ee; border:1px solid #d8c8ae; border-radius:7px; }
.concept-panel { min-height:440px; }
/* Hidden panels reserve their natural size while staying invisible and unfocusable. */
.apple-motion-ready .concept-sheet { display:grid; grid-template-columns:minmax(0,1fr); }
.apple-motion-ready .concept-sheet-top { grid-area:1 / 1; }
.apple-motion-ready .concept-tabs { grid-area:2 / 1; }
.apple-motion-ready .concept-panel { grid-area:3 / 1; }
.apple-motion-ready .concept-panel[hidden] { display:block!important; visibility:hidden; pointer-events:none; }
.apple-motion-ready .concept-disclosure { grid-area:4 / 1; }
.partner-home .concept-note { font-family:Outfit,var(--apple-font); color:#756244; font-size:1.12rem; line-height:1.45; min-height:2.9em; margin:0; }
.concept-art { display:block; width:100%; height:auto; aspect-ratio:500 / 270; margin:8px 0 18px; background-image:linear-gradient(#cbbb9620 1px,transparent 1px),linear-gradient(90deg,#cbbb9620 1px,transparent 1px); background-size:24px 24px; }
.concept-panel:not([hidden]) .concept-ink { animation:creative-ink .55s ease-out both; }
@keyframes creative-ink { from { opacity:.35; } to { opacity:1; } }
.partner-home .concept-output h3 { font-size:1.3rem; line-height:1.3; color:#342352; margin:0 0 12px; }
.partner-home .concept-output p { font-size:.92rem; line-height:1.6; color:#63566b; margin:0 0 14px; }
.concept-output strong { font-weight:600; color:#57436a; }
.concept-campaign { display:flex; align-items:center; justify-content:space-between; gap:12px; aspect-ratio:500 / 270; background:#342352; margin:8px 0 18px; padding:26px; border-radius:3px; }
.partner-home .concept-campaign p { font-family:Outfit,var(--apple-font); font-size:2.35rem; font-weight:500; line-height:1.07; letter-spacing:-.025em; color:#fcf7ee; margin:0; }
.concept-campaign svg { width:41%; height:auto; flex-shrink:0; }
.partner-home .concept-disclosure { margin:22px 0 0; padding-top:16px; border-top:1px solid #d8cdbb; font-size:.8rem; line-height:1.55; color:#756244; }
.creative-secondary { margin-top:34px; border-top:1px solid #a7bdaf; }
.creative-more { border-bottom:1px solid #a7bdaf; }
.creative-more>summary { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:62px; padding:17px 0; list-style:none; font-family:Outfit,var(--apple-font); font-size:1.1rem; color:#342352; cursor:pointer; }
.creative-more>summary::-webkit-details-marker { display:none; }
.creative-more>summary:after { content:'+'; font-size:1.6rem; font-weight:400; }
.creative-more[open]>summary:after { content:'−'; }
.partner-home .creative-more .connected-process { padding:28px 0 38px; }
.creative-more .connected-process>.shell,.creative-more .ideas-section>.shell { padding:0; width:100%; max-width:none; }
.partner-home .creative-more .section-heading h2 { font-size:2rem; }
.creative-more .ideas-section { margin:0; padding:24px 0 38px; border:0; }
.creative-more .ideas-illustration { margin:0; }
.creative-more .ideas-illustration h2 { font-size:1.8rem; }
.creative-service-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:16px; color:#574089; font-size:.94rem; text-underline-offset:4px; }
.creative-service-card { border-color:#b59dc4; background:#fcf7ee; }
.creative-service-card .service-card-top h3 { font-family:Outfit,var(--apple-font); }
.motion-paused .concept-ink,.finder-open .concept-ink { animation-play-state:paused!important; }
@media(max-width:1100px) {
 .partner-home .flow-caption { min-height:4.7em; }
 .capability-flow { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:20px; margin:24px 0 0; }
 .capability-flow li:nth-child(4) { grid-column:3; grid-row:2; }
 .capability-flow li:nth-child(5) { grid-column:2; grid-row:2; }
 .capability-flow li:nth-child(6) { grid-column:1; grid-row:2; }
 .capability-flow li:nth-child(3):after { left:calc(50% - 1px); top:44px; width:2px; height:calc(100% + 20px - 44px); transform-origin:top; }
 .flow-playing .capability-flow li:nth-child(3):after { animation-name:partner-connect-vertical; }
 .capability-flow li:nth-child(4):after,.capability-flow li:nth-child(5):after { left:auto; right:calc(50% + 22px); width:calc(100% - 44px); transform-origin:right; }
 .flow-long { display:block; } .flow-short { display:none; }
 .creative-layout { gap:32px; }
 .partner-home .creative-copy h2 { font-size:2.35rem; }
 .concept-sheet { padding:20px; } .concept-panel { min-height:460px; }
 .partner-home .concept-campaign p { font-size:1.85rem; }
 .concept-campaign { padding:20px; }
}
@media(max-width:850px) {
 .creative-layout { grid-template-columns:1fr; gap:32px; }
 .partner-home .creative-copy h2 { max-width:23ch; }
 .creative-copy>p:not(.creative-scope) { max-width:58ch; }
 .concept-sheet { width:100%; max-width:650px; justify-self:center; padding:26px; }
 .concept-panel { min-height:0; }
 .partner-home .concept-campaign p { font-size:3rem; }
}
@media(max-width:650px) {
 .capability-flow { grid-template-columns:repeat(3,minmax(0,1fr)); margin:24px 0 0; }
 .flow-point { width:44px; height:44px; }
 .capability-flow button { min-height:84px; font-size:.85rem; padding:0 3px; }
 .capability-flow li:not(:last-child):after { top:21px; left:calc(50% + 22px); width:calc(100% - 44px); }
 .capability-flow li:nth-child(3):after { left:calc(50% - 1px); top:44px; width:2px; }
 .capability-flow li:nth-child(4):after,.capability-flow li:nth-child(5):after { left:auto; right:calc(50% + 22px); }
 .partner-home .bench-heading h2 { font-size:1.7rem; }
 .partner-home .creative-copy h2 { font-size:2.1rem; max-width:18ch; }
 .partner-home .creative-copy .creative-subheading { font-size:1.15rem; }
 .creative-includes ul { grid-template-columns:1fr; }
 .concept-sheet { padding:20px 16px; box-shadow:5px 5px 0 #cddbd0; }
 .concept-tabs { margin-left:0; margin-right:0; gap:2px; }
 .concept-tabs button { padding:10px 6px; font-size:.85rem; min-height:90px; }
 .partner-home .concept-note { font-size:1.08rem; min-height:4.3em; }
 .partner-home .concept-campaign p { font-size:2rem; }
 .concept-campaign { padding:18px; }
 .creative-more>summary { font-size:1rem; }
}
@media(max-width:360px) {
 .capability-flow button { font-size:.8125rem; }
 .concept-tabs button { padding:10px 4px; }
 .concept-campaign { padding:14px; }
 .partner-home .concept-campaign p { font-size:1.55rem; }
}
@media(prefers-reduced-motion:reduce) {
 .flow-playing .ideation-spark,.concept-panel:not([hidden]) .concept-ink { animation:none!important; }
}
