/* v4: retain v3's visual language; make room for the approved expanded copy. */
@font-face{font-family:"IBM Plex Sans";src:url("/draft/assets/framework/IBMPlexSans-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
.framework-section .cycle{width:min(100%,660px);aspect-ratio:1;position:relative;margin:clamp(22px,3vw,40px) auto 0;isolation:isolate}
.framework-section canvas,.framework-section .stations{position:absolute;inset:0;width:100%;height:100%}
.framework-section canvas{pointer-events:none}
.framework-section .stations{z-index:2;pointer-events:none}
.framework-section .stations button{position:absolute;display:grid;place-items:center;width:92px;height:92px;padding:0;border:0;border-radius:50%;background:transparent;color:#f26b3a;font:600 29px/1 "IBM Plex Sans",Arial,sans-serif;letter-spacing:-.045em;transform:translate(-50%,-50%);cursor:pointer;touch-action:manipulation;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:color 180ms ease;text-shadow:0 1px 2px #102f4a55}
.framework-section .stations button[aria-pressed="true"]{color:#fff;text-shadow:0 1px 3px #102f4a88}
.framework-section .stations button:focus-visible{outline:2px solid #102a43;outline-offset:5px}
.framework-section .cycle:not(.nut-cycle) .stations button{color:#eef5f8}
.framework-section .copy{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:none;margin:0;color:#102a43;font-size:clamp(20px,5vw,46px);font-weight:600;letter-spacing:-.055em;line-height:1.03;pointer-events:none}
.framework-section .copy span{display:block;white-space:nowrap}
.framework-section .copy .copy-number{color:#f26b3a;font-size:var(--step-number-size,1em);font-weight:700;margin-bottom:.22em}
.framework-section .preview-controls{display:flex;gap:12px 24px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:22px}
.framework-section .hint,.framework-section .motion-control{font-size:14px;color:#556773}
.framework-section .hint{margin:0}
.framework-section .motion-control{font-family:inherit;cursor:pointer;border:0;border-bottom:1px solid #9eacb4;background:none;padding:7px 0}
.framework-section .motion-control:focus-visible{outline:2px solid #102a43;outline-offset:4px}
@media(max-width:760px){.framework-section .stations button{width:70px;height:70px;font-size:24px}}
@media(prefers-reduced-motion:reduce){.framework-section *{transition:none!important}}

.framework-section .copy{font-family:"IBM Plex Sans",Arial,sans-serif;text-align:center}
.framework-section .cycle{margin-top:40px}
.framework-section .preview-controls{margin-bottom:16px}
.testimonial-company{display:block;text-transform:uppercase;letter-spacing:.07em;margin-top:8px}
.testimonial-quote-card{max-width:none!important;padding:28px!important}
.testimonial-quote-card blockquote{margin:0 0 24px;max-width:900px}
.testimonial-quote-card blockquote p{font-size:16px;line-height:1.6;color:var(--navy,#102a43)}
.testimonial-quote-card > strong{display:block}
.testimonial-quote-card > small{display:block}
.offer-card ul{display:block}
.offer-card li{line-height:1.5}
.case-study-card__details p + p{margin-top:1em}
@media(min-width:1000px){
 .case-study-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .case-study-card summary{padding-inline:24px}
 .case-study-card__topics li{white-space:normal}
}
.proof-metrics .proof-metric__unit--accent{font-weight:700}
.framework-section{padding-bottom:12px}
.framework-section .motion-control:focus-visible{clip:auto;clip-path:none;width:auto;height:auto;top:0;left:0;z-index:3;padding:8px;background:#eef5f8}
.framework-section + .principle-quote{margin-top:20px}
@media(min-width:761px){
 #approach .section-intro > p{width:70%;max-width:none}
 .founder-layout--content{align-items:stretch}
 .founder-layout--content .founder-portrait--photo{aspect-ratio:auto;align-self:stretch}
 .founder-portrait--photo img{position:absolute;inset:0;object-fit:cover;object-position:left bottom;transform:scale(1.1);transform-origin:left bottom}
 .founder-bio > p:last-child{margin-bottom:0}
}
@media(min-width:1000px){
 .offer-grid{grid-template-rows:repeat(6,auto);row-gap:0}
 .offer-grid > .offer-card{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0}
 .offer-card ul{display:contents}
 .offer-card ul li{padding-block:10px}
 .offer-card ul li:first-child{border-top:1px solid rgba(75,179,195,.25)}
 .offer-card .offer-card__promise{margin-bottom:30px}
 .testimonial-grid{align-items:start}
}
@media(min-width:1100px){
 .offer-card{padding-inline:24px}
 .offer-card h3{font-size:clamp(25px,2.3vw,32px)}
}
@media(max-width:759px){
 .testimonial-quote-card{grid-column:auto}
}
