/* Full headlines retain natural sizing up to three lines, then fit to width. */
.resource-card .card-body h3,.page-home .home-toolkit .compact-card h3{font-size:var(--fit-title,clamp(16px,1.45vw,20px));line-height:1.5;display:block;-webkit-line-clamp:unset;max-height:none;overflow:visible;overflow-wrap:anywhere}
.detail-title-block h1{font-size:var(--fit-title,clamp(24px,3.5vw,42px));line-height:1.24;text-align:left;text-wrap:wrap;overflow-wrap:anywhere;word-break:normal}
.detail-title-block .detail-lead{text-align:left;margin-inline:0}
.page-home .why-panel h2{font-size:var(--fit-title,clamp(19px,3vw,30px));line-height:1.3;max-width:none;white-space:nowrap}
.original-metrics .stat-item{min-width:0;padding-inline:clamp(8px,1.5vw,22px)}
.original-metrics .stat-item>div{min-width:0;flex:1}
.page-home .original-metrics strong{font-size:var(--fit-count,clamp(20px,2.4vw,36px));white-space:nowrap;display:block;line-height:1.2}
.page-home .original-metrics small{font-size:clamp(9px,1vw,11px);line-height:1.5}
.original-metrics .stat-item>.icon{flex-shrink:0;width:clamp(20px,2.4vw,30px)}
/* Portrait on the front; the original full biography on the reverse. */
.page-home .restored-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.team-profile{position:relative;min-width:0;perspective:1100px;border-radius:20px;background:var(--surface);border:1px solid var(--border)}
.team-flip{position:relative;height:390px;transform-style:preserve-3d}
.team-front,.team-back{position:absolute;inset:0;backface-visibility:hidden;border-radius:19px 19px 0 0;overflow:hidden}
.team-front{background:radial-gradient(ellipse at 50% 40%,#365ebd88,transparent 65%),#101f39}
.team-front>img{width:100%;height:76%;object-fit:contain;object-position:center;display:block}
.team-front:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#071226 85%)}
.team-identity{position:absolute;bottom:25px;left:20px;right:20px;z-index:1;color:#fff}
.team-identity h3{font-size:clamp(19px,1.8vw,25px);line-height:1.2;margin:0 0 10px;overflow-wrap:anywhere}
.team-identity p{font-size:10px;line-height:1.7;letter-spacing:.08em;color:#b8dcef;margin:0}
.team-back{transform:rotateY(180deg);background:linear-gradient(150deg,var(--accent-soft),var(--surface) 65%);padding:24px;overflow:auto;scrollbar-width:thin}
.team-back h3{font-size:23px;line-height:1.2;margin:16px 0 10px}
.team-back .eyebrow{font-size:8px;line-height:1.6}
.team-role{font-size:10px;color:var(--accent-text);line-height:1.7}
.team-bio{font-size:12px;line-height:1.8;color:var(--muted)}
.team-open{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:13px 20px;border:0;border-top:1px solid var(--border);border-radius:0 0 19px 19px;background:var(--surface);color:var(--text);font:600 12px var(--font);cursor:pointer}
.team-open .icon{width:16px;height:16px;color:var(--accent-text)}
.team-open:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.team-dialog{width:min(92vw,520px);max-height:80svh;overflow:auto;margin:auto;padding:34px;border:1px solid var(--border);border-radius:22px;background:var(--surface);color:var(--text);text-align:center;box-shadow:0 30px 100px #0006}
.team-dialog::backdrop{background:#020b17b8;backdrop-filter:blur(5px)}
.team-dialog-close{position:absolute;right:12px;top:12px}
.team-dialog-photo{display:block;width:100px;height:100px;object-fit:cover;border-radius:50%;margin:0 auto 20px}
.team-dialog h2{font-size:27px;margin:0 0 12px}.team-dialog-role{line-height:1.8;font-size:10px}
.team-dialog-bio{text-align:left;font-size:14px;line-height:1.9;margin:24px 0 0}
/* Original speech cards: offset colored sheet, folded corner and quote badge. */
.page-home .testimonial-grid{gap:32px;padding:14px 8px}
.page-home .speech-card{--quote-color:#2fc2d6;position:relative;isolation:isolate;overflow:visible;border:1px solid var(--border);border-top:0;border-radius:24px 9px 24px 24px;background:var(--surface);padding:34px 28px 28px;text-align:left;align-items:stretch;box-shadow:0 12px 28px #0001;margin:8px 0}
.page-home .speech-card:nth-child(3n+2){--quote-color:#d566a4}.page-home .speech-card:nth-child(3n){--quote-color:#da9e32}
.speech-card:before{content:"";position:absolute;inset:5px -6px 5px 6px;border-radius:24px;background:var(--quote-color);transform:rotate(-3deg);z-index:-2;opacity:.75}
.speech-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--surface);z-index:-1;box-shadow:inset 0 3px color-mix(in srgb,var(--quote-color) 75%,transparent)}
.page-home .speech-card .quote-mark{position:absolute;top:14px;right:22px;font-size:70px;line-height:1;color:var(--quote-color);height:50px;opacity:.5}
.page-home .speech-card blockquote{margin:40px 0 22px;font-size:14px;line-height:1.85;flex:1;text-align:left}
.page-home .speech-card .testimonial-person{border-top:1px solid var(--border);justify-content:flex-start;padding-top:18px;text-align:left;gap:12px}
.speech-card .testimonial-person img,.speech-card .feedback-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:50%;object-fit:cover;background:var(--quote-color);color:#fff}
.speech-card .testimonial-person strong{color:var(--quote-color);font-size:14px}.speech-card .testimonial-person small{font-size:11px;line-height:1.7}
.carousel-controls{display:none}
[data-mobile-carousel]>.swiper-wrapper{display:contents}
@media(max-width:450px){
 .page-home .home-toolkit .compact-card .card-body{grid-template-columns:48px minmax(0,1fr);padding:16px;column-gap:12px}
 .page-home .home-toolkit .compact-card .compact-thumbnail{width:48px;height:36px}
}
html[data-theme=light] .speech-card .testimonial-person strong{color:color-mix(in srgb,var(--quote-color) 65%,#122334)}
@media(min-width:701px) and (max-width:1024px){
 .page-home .restored-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .team-flip{height:380px}
 .original-metrics .stat-item{flex-direction:column;text-align:center;gap:10px}
 .original-metrics .stat-item>div{width:100%}
}
@media(min-width:701px) and (hover:hover) and (prefers-reduced-motion:no-preference){
 html:not([data-effects=off]) .team-flip{transition:transform 1.05s cubic-bezier(.22,.61,.36,1)}
 html:not([data-effects=off]) .team-profile:hover .team-flip,html:not([data-effects=off]) .team-profile:focus-within .team-flip{transform:rotateY(180deg)}
}
@media(max-width:700px){
 .detail-title-block h1{font-size:var(--fit-title,clamp(20px,5vw,28px));text-align:left;line-height:1.24}
 .detail-title-block .detail-lead{text-align:left}
 .page-home .original-metrics strong{font-size:var(--fit-count,clamp(18px,5.3vw,28px))}
 .page-home .original-metrics .stat-item>div{width:100%}
 .page-home .original-metrics .stat-item{padding-inline:10px}
 .page-home .restored-team-grid,.page-home .testimonial-grid{display:grid;grid-template-columns:minmax(0,1fr)}
 .page-home [data-mobile-carousel].carousel-ready{display:block;overflow:hidden;padding:14px 8px 18px;touch-action:pan-y pinch-zoom;margin-inline:0;min-width:0}
 .page-home [data-mobile-carousel].carousel-ready>.swiper-wrapper{display:flex;align-items:stretch;transition-property:transform!important;transition-duration:var(--carousel-transition,0ms)!important;transition-timing-function:cubic-bezier(.22,.61,.36,1)!important}
 .page-home [data-mobile-carousel].carousel-ready .swiper-slide{flex:0 0 auto;max-width:none;min-width:0;height:auto;margin-block:0}
 .team-flip{height:280px}.team-back{display:none}.team-front{backface-visibility:visible}
 .team-front>img{object-position:center 25%}.team-identity h3{font-size:25px}
 .team-open{font-size:12px;min-height:46px}
 .page-home .speech-card{padding:26px 23px}.page-home .speech-card blockquote{font-size:13px;line-height:1.9;margin-top:32px}
 .carousel-controls{display:flex;justify-content:center;align-items:center;gap:14px;margin:10px 0 0}
 .carousel-controls button{border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);width:40px;height:40px;font-size:18px;cursor:pointer}
 .carousel-status{font-size:11px;min-width:36px;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}
 .team-dialog{padding:30px 24px}.team-dialog-bio{font-size:13px}
}
