/* Phone layouts retain the same story with less scrolling and clearer touch controls. */
@media (max-width:760px){
 .visual-refinement{--header:66px}
 .visual-refinement .wrap{width:calc(100% - 40px)}
 .visual-refinement .nav-wrap{width:calc(100% - 32px);gap:12px}
 .visual-refinement .brand{min-width:0}
 .visual-refinement .brand img{width:205px;max-width:calc(100vw - 146px)}
 .visual-refinement .mobile-menu{min-height:44px;flex-shrink:0;padding-inline:13px;font-size:14px}
 .visual-refinement .site-nav{padding:12px 22px 24px;max-height:calc(100dvh - var(--header));overflow-y:auto;overscroll-behavior:contain}
 .visual-refinement .site-nav a{min-height:48px;display:flex;align-items:center}
 .visual-refinement .site-nav .nav-cta{margin-top:10px;justify-content:center}
 .visual-refinement section[id],.visual-refinement .framework-detail,.visual-refinement .leader-card{scroll-margin-top:calc(var(--header) + 12px)}
 .visual-refinement .section,.visual-refinement.companion .section{padding-block:48px}
 .visual-refinement .section-heading{gap:18px;margin-bottom:26px}
 .visual-refinement h2,.visual-refinement .section-heading h2,.visual-refinement.companion .section-heading h2{font-size:clamp(33px,9.25vw,43px);line-height:1.1;text-wrap:pretty}
 .visual-refinement .eyebrow,.visual-refinement .sig-kicker{margin-bottom:15px;font-size:12px}
 .visual-refinement .lead,.visual-refinement .heading-aside>p{font-size:16px;line-height:1.7}
 .visual-refinement .button{min-height:50px;padding:14px 21px;font-size:14px;line-height:1.45;text-align:center}
 .visual-refinement .text-link{min-height:44px;display:inline-flex;align-items:center;font-size:14px;line-height:1.5}
 .visual-refinement .quiet-button,.visual-refinement .dialog-close{min-height:44px;font-size:14px}
 .visual-refinement summary{min-height:48px}
 .visual-refinement input,.visual-refinement select,.visual-refinement textarea{font-size:16px!important;min-width:0;max-width:100%;scroll-margin-block:100px}
 .visual-refinement input,.visual-refinement select{min-height:50px}
 .visual-refinement button,.visual-refinement a,.visual-refinement summary{touch-action:manipulation}

 /* Keep the patient opening powerful while bringing the invitation into view. */
 .visual-refinement .hero-media{height:clamp(190px,55vw,224px)}
 .visual-refinement .portrait-toggle{top:auto;bottom:10px;left:20px;min-height:44px;padding-inline:13px}
 .visual-refinement .hero-copy{padding:16px 0 29px}
 .visual-refinement .hero-copy .eyebrow{margin-bottom:14px;letter-spacing:.08em}
 .visual-refinement .hero-copy h1{font-size:clamp(35px,10vw,44px);line-height:1.07;margin-bottom:19px;letter-spacing:-.055em}
 .visual-refinement .hero-copy h1>span:first-child{display:block}
 .visual-refinement .hero-copy h1>span:nth-child(2),.visual-refinement .hero-copy h1>span.purple{display:inline}
 .visual-refinement .hero-copy h1>span:nth-child(2):after{content:' '}
 .visual-refinement .hero-description{font-size:17px;line-height:1.6}
 .visual-refinement .hero-description .hero-outcomes{font-size:15px;line-height:1.6;margin-top:8px;text-wrap:pretty}
 .visual-refinement .managed-promise{font-size:12px;gap:6px 13px;padding-top:14px;margin-top:18px;line-height:1.6}
 .visual-refinement .hero-actions{gap:10px 18px;margin-top:20px}
 .visual-refinement .hero-actions .text-link{padding-block:8px}
 .visual-refinement .human-band{padding-block:25px}
 .visual-refinement .human-intro{margin-bottom:19px}
 .visual-refinement .human-intro .eyebrow{font-size:12px}
 .visual-refinement .human-rail{gap:7px}
 .visual-refinement .human-moment img{width:60px;height:60px}
 .visual-refinement .human-thread{top:30px}
 .visual-refinement .human-moment>span{font-size:12px;line-height:1.4}
 .visual-refinement .human-moment small{padding-block:4px}

 /* Every framework retains its image, description and full expandable story. */
 .visual-refinement .framework-photo{height:175px}
 .visual-refinement .framework-grid{display:block}
 .visual-refinement .framework-item{display:block;margin-bottom:19px}
 .visual-refinement .framework-photo img{object-position:center 34%}
 .visual-refinement .photo-note{left:22px;bottom:17px;font-size:13px}
 .visual-refinement .framework-copy{padding:22px 22px 0}
 .visual-refinement .framework-name{font-size:12px;margin-bottom:12px}
 .visual-refinement .framework-copy h3{font-size:28px;line-height:1.12;margin-bottom:14px}
 .visual-refinement .framework-copy>p:not(.framework-name){font-size:16px;line-height:1.6;margin-bottom:18px}
 .visual-refinement .framework-action{font-size:14px;padding-block:15px;min-height:54px}
 .visual-refinement .framework-detail{padding:24px 20px 0}
 .visual-refinement .framework-detail-footer{gap:10px 16px}
 .visual-refinement .framework-detail-footer .quiet-button{width:100%;margin-bottom:16px}

 /* Put the selected answer directly below the three priority controls. */
 .visual-refinement .connect-section{padding-block:32px 38px}
 .visual-refinement .connect-section>.wrap{width:calc(100% - 40px)}
 .visual-refinement .connect-masthead{margin-bottom:26px}
 .visual-refinement .connect-masthead>div>span{font-size:12px;line-height:1.4;letter-spacing:.04em}
 .visual-refinement .connect-masthead{gap:12px}
 .visual-refinement .connect-wordmark{font-size:29px}
 .visual-refinement .connect-copy h2{font-size:clamp(35px,9.6vw,43px)}
 .visual-refinement .connect-copy .lead{font-size:16px;line-height:1.7}
 .visual-refinement .connect-hero{display:flex;flex-direction:column;gap:24px}
 .visual-refinement .connect-hero>.connect-copy{order:0}
 .visual-refinement .connect-hero>.connection-summary{order:1;margin:0;padding:22px}
 .visual-refinement .connect-hero>.tc-map{order:2;padding-top:0;width:100%}
 .visual-refinement .connect-tabs button{font-size:14px;min-height:60px;line-height:1.4;padding:12px 8px;text-wrap:balance}
 .visual-refinement .connection-summary h3{font-size:25px;line-height:1.15}
 .visual-refinement .connection-summary .connection-eyebrow{font-size:12px;line-height:1.5}
 .visual-refinement .connection-summary>p:last-child{font-size:16px}
 .visual-refinement .save-focus-button{font-size:14px;min-height:46px}
 .visual-refinement .tc-map-body{aspect-ratio:auto;min-height:0}
 .visual-refinement .tc-paths,.visual-refinement .tc-return-label{display:none}
 .visual-refinement .tc-lanes{position:relative;inset:auto;width:100%;height:auto;display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:12px}
 .visual-refinement .tc-lane{grid-template-columns:66px minmax(0,1fr);gap:14px;padding:14px;min-height:110px}
 .visual-refinement .tc-lane-photo{width:66px;height:84px;max-height:84px}
 .visual-refinement .tc-lane-label{font-size:12px!important;line-height:1.4}
 .visual-refinement .tc-lane h3{font-size:22px;line-height:1.16}
 .visual-refinement .tc-lane-caption{font-size:14px!important;line-height:1.5}
 .visual-refinement .tc-goal p{font-size:12px!important;line-height:1.4;max-width:94px}
 .visual-refinement .tc-goal{position:relative;inset:auto;width:100%;aspect-ratio:auto;min-height:88px;display:flex;flex-direction:row;gap:13px;clip-path:none;padding:18px 14px;margin-top:23px}
 .visual-refinement .tc-map-caption{font-size:13px}
 .visual-refinement .connection-options>summary,.visual-refinement .scenario-depth>summary,.visual-refinement .connect-depth>summary,.visual-refinement .tc-boundaries summary{font-size:14px;line-height:1.55;min-height:54px}
 .visual-refinement .framework-toggles>button{min-height:48px;font-size:14px}

 /* Keep every filter visible and the next story discoverable. */
 .visual-refinement #results.impact-showcase{padding-block:49px 48px}
 .visual-refinement #results .section-heading h2,.visual-refinement #partnership-voice .section-heading h2{font-size:clamp(33px,9.25vw,43px);line-height:1.1}
 .visual-refinement #results .results-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:8px;width:100%}
 .visual-refinement #results .results-filters button{font-size:14px;min-height:46px;padding:10px 8px;white-space:normal;text-align:center;line-height:1.4}
 .visual-refinement #results .results-grid{--impact-gap:14px;scroll-padding-inline:0}
 .visual-refinement .impact-art{height:244px;padding:21px 22px 19px}
 .visual-refinement .impact-outcome{padding-top:20px}
 .visual-refinement .impact-outcome>strong{font-size:58px}
 .visual-refinement .impact-card-copy{padding:21px 22px 0}
 .visual-refinement #results .impact-card h3{font-size:25px;min-height:58px;line-height:1.15}
 .visual-refinement #results .impact-card .result-action{padding-block:14px 17px;min-height:52px}
 .visual-refinement #results .results-controls{margin-top:18px}
 .visual-refinement #results .results-controls button{width:48px;height:48px}

 /* Show the client perspective controls before the selected quotation. */
 .visual-refinement #partnership-voice.voice-showcase{padding-block:48px}
 .visual-refinement .voice-visual{height:200px}
 .visual-refinement .voice-image-caption{left:22px;bottom:22px}
 .visual-refinement .voice-image-caption>strong{font-size:29px;line-height:1.1}
 .visual-refinement .voice-content{padding:0 22px;min-height:0;display:flex;flex-direction:column}
 .visual-refinement .voice-tabs{order:-1;gap:6px;min-height:56px;border-top:0;border-bottom:1px solid #e2d6eb;margin-bottom:23px}
 .visual-refinement .voice-tabs button{justify-content:center;text-align:center;font-size:14px;min-height:56px;padding-block:13px}
 .visual-refinement .voice-tabs button[aria-selected=true]:before{top:auto;bottom:-1px}
 .visual-refinement .voice-panels{min-height:0}
 .visual-refinement .voice-panel{padding-bottom:27px}
 .visual-refinement .voice-theme{font-size:12px;margin-bottom:18px}
 .visual-refinement .voice-quote,.visual-refinement .voice-quote-long{font-size:25px;line-height:1.3}
 .visual-refinement .voice-detail{font-size:16px;line-height:1.65}
 .visual-refinement .voice-panel .voice-attribution{margin-top:25px}
 .visual-refinement .contact-section h2{font-size:clamp(35px,9.8vw,45px)}
 .visual-refinement .conversation-studio{padding:25px 21px}
 .visual-refinement .conversation-path span{font-size:12px}
 .visual-refinement .contact-address{flex-wrap:wrap}
 .visual-refinement .brief-builder>summary{font-size:16px;min-height:54px}

 /* Companion pages use the same photo scale and clear paths into conversation. */
 .visual-refinement .people-hero-visual,.visual-refinement .careers-hero .people-hero-visual{height:clamp(215px,59vw,264px)}
 .visual-refinement .companion-hero h1,.visual-refinement .people-hero h1,.visual-refinement .careers-hero.people-hero h1{font-size:clamp(36px,9.7vw,44px);line-height:1.08;margin-bottom:22px}
 .visual-refinement .companion-hero .lead{font-size:16px;line-height:1.7}
 .visual-refinement .companion-hero .hero-actions{margin-top:23px}
 .visual-refinement .promise-band .wrap{padding-block:22px;gap:11px}
 .visual-refinement .promise-band p{font-size:15px;line-height:1.6}
 .visual-refinement .mosaic-team-tile>span{font-size:12px;line-height:1.35}
 .visual-refinement .mosaic-caption .eyebrow{font-size:12px}
 .visual-refinement .career-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .visual-refinement .career-tabs button{font-size:14px;padding:12px 7px;min-height:68px;line-height:1.4;justify-content:center;text-align:center;border-radius:10px!important}
 .visual-refinement .introduction-form{padding:24px 20px;border-radius:20px}
 .visual-refinement .form-row,.visual-refinement .inquiry-row{grid-template-columns:1fr}
 .visual-refinement .intro-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:22px 20px;border-radius:20px;overscroll-behavior:contain}
 .visual-refinement .intro-dialog h2{font-size:31px}
 .visual-refinement .intro-dialog textarea{font-size:16px;min-height:220px}
 .visual-refinement .dialog-actions{flex-wrap:wrap;gap:12px}
 .visual-refinement .footer-pages{gap:0 21px}
 .visual-refinement .footer-pages a,.visual-refinement .footer-bottom a,.visual-refinement .footer-bottom button{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
 .visual-refinement .case-dialog-header{padding:12px 16px}
 .visual-refinement .case-dialog-header .eyebrow{font-size:12px;margin-bottom:5px}
 .visual-refinement .case-dialog-header p{font-size:13px;line-height:1.5}
 .visual-refinement .case-nav>button{font-size:14px;min-height:46px;padding:11px 14px}
 .visual-refinement .case-nav{scrollbar-width:thin}
}

@media (max-width:680px){
 /* Faces remain prominent without eleven full-screen cards on a phone. */
 .visual-refinement .core-management-grid{grid-template-columns:1fr;gap:16px}
 .visual-refinement .core-management-grid .leader-card{display:grid;grid-template-columns:108px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;gap:0 17px;padding:17px;align-items:start}
 .visual-refinement .core-management-grid .leader-card:last-child{grid-column:auto}
 .visual-refinement .core-management-grid .leader-portrait-link{grid-column:1;grid-row:1/4;width:108px;border-radius:10px;overflow:hidden;align-self:start}
 .visual-refinement .core-management-grid .leader-portrait-link>img{width:108px;height:144px;max-height:none;aspect-ratio:auto;object-fit:cover}
 .visual-refinement .core-management-grid .leader-info{display:contents}
 .visual-refinement .core-management-grid .leader-focus{grid-column:2;grid-row:1;min-height:0;font-size:12px;line-height:1.4;letter-spacing:.025em;margin:0 0 8px}
 .visual-refinement .core-management-grid .leader-info h3{grid-column:2;grid-row:2;min-height:0;font-size:24px;line-height:1.12;margin:0 0 9px}
 .visual-refinement .core-management-grid .leader-title{grid-column:2;grid-row:3;min-height:0;font-size:14px;line-height:1.5;margin:0}
 .visual-refinement .core-management-grid .leader-info details{grid-column:1/-1;grid-row:4;margin-top:16px;padding-top:4px}
 .visual-refinement .core-management-grid .leader-info summary{font-size:14px;min-height:44px;align-items:center}
 .visual-refinement .core-management-grid .leader-info details>p{font-size:16px;line-height:1.65}
 .visual-refinement .core-management-grid .leader-info details .text-link{font-size:14px}
 .visual-refinement .linkedin-portrait-label{font-size:15px;right:7px;bottom:7px}
}
@media (max-width:370px){
 .visual-refinement .wrap,.visual-refinement .connect-section>.wrap{width:calc(100% - 32px)}
 .visual-refinement .hero-copy h1{font-size:35px}
 .visual-refinement .hero-actions{gap:8px 14px}
 .visual-refinement .hero-actions .button{padding-inline:16px}
 .visual-refinement .hero-actions .text-link{font-size:13px}
 .visual-refinement .human-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}
 .visual-refinement .human-thread{display:none}
 .visual-refinement .human-moment>span{font-size:14px}
 .visual-refinement .connect-masthead{flex-wrap:wrap}
 .visual-refinement .connect-masthead>div{align-items:flex-start;text-align:left}
 .visual-refinement .connect-masthead>div>span{max-width:none}
 .visual-refinement .voice-content{padding-inline:18px}
 .visual-refinement .voice-tabs button{font-size:13px}
 .visual-refinement .core-management-grid .leader-card{grid-template-columns:96px minmax(0,1fr);gap:0 14px;padding:15px}
 .visual-refinement .core-management-grid .leader-portrait-link{width:96px}
 .visual-refinement .core-management-grid .leader-portrait-link>img{width:96px;height:134px}
 .visual-refinement .core-management-grid .leader-info h3{font-size:22px}
 .visual-refinement .career-tabs{grid-template-columns:1fr}
 .visual-refinement .career-tabs button{min-height:48px;justify-content:flex-start;text-align:left;padding-inline:14px}
}
@media (max-width:760px) and (hover:none){
 .visual-refinement .button:hover,.visual-refinement .framework-card:hover{transform:none;box-shadow:none}
 .visual-refinement .framework-card:hover .framework-photo img,.visual-refinement .impact-card:hover .impact-photo{transform:none}
}

/* The same portrait sequence can play without mobile video autoplay. */
.portrait-sequence{position:absolute;inset:0;display:none;overflow:hidden;pointer-events:none}
.portrait-sequence img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;opacity:0;transition:opacity .3s ease-in-out}
.portrait-sequence img.is-visible{opacity:1}
.hero-media[data-portrait-mode="slides"] .portrait-sequence{display:block}
.hero-media[data-portrait-mode="slides"] video{visibility:hidden}
@media(max-width:760px){.portrait-sequence img{object-position:left 38%}}
@media(prefers-reduced-motion:reduce){.portrait-sequence img{transition:none}}
