/* TPE / SME use Sequence's shared typography, grid and colour roles. */
.profile-page :is(h1,h2,h3,h4) { font-weight: var(--heading-weight); text-wrap: balance; overflow-wrap: anywhere; }
.profile-page :is(.profile-opening,.profile-change,.profile-close) { --focus: #fff; }
.profile-section { padding-block: clamp(56px,7vw,104px); }
.profile-editorial { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: clamp(40px,6vw,96px); align-items: start; }
.profile-section-title { font-size: var(--type-section); line-height: 1.25; letter-spacing: -.025em; max-width: 24ch; }
.profile-page p { max-width: 62ch; }
.profile-opening { padding-block: 24px 64px; background: var(--night); color: white; }
.profile-back { display: inline-flex; align-items: center; min-height: 44px; font-size: 1rem; color: #c8d4e8; margin-bottom: 32px; }
.profile-opening-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); align-items: center; gap: clamp(32px,5vw,80px); }
.profile-audience { font-size: 1rem; color: #c8d4e8; margin-bottom: 24px; }
.profile-opening h1 { font-size: clamp(2.75rem,4.7vw,4.5rem); line-height: 1.08; letter-spacing: -.035em; max-width: 18ch; }
.profile-opening h1 em { display: block; margin-top: .15em; color: var(--blue); }
.profile-lead { font-size: var(--type-lead); line-height: 1.55; margin-top: 24px; color: #c8d4e8; }
.profile-opening .profile-lead { max-width: 43ch; }
.profile-opening-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 28px; }
.profile-opening-actions a { display: inline-flex; align-items: center; gap: 16px; min-height: 48px; max-width: 100%; font-size: 1rem; }
.profile-primary { padding: 12px 20px; border-radius: 28px; background: var(--blue); color: white; }
.profile-primary:hover { background: #1748af; text-decoration: none; }
.profile-primary:active { transform: scale(.98); }
.profile-illustration { display: grid; align-items: center; aspect-ratio: 1.15; overflow: hidden; }
.profile-illustration picture { display: block; width: 125%; max-width: none; margin-inline: -12.5%; }
.profile-illustration img { display: block; width: 100%; height: auto; object-fit: contain; transform-origin: center; }
.profile-frictions .profile-editorial { grid-template-columns: minmax(0,.65fr) minmax(0,1.75fr); gap: clamp(32px,4vw,64px); }
.profile-friction-list article { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 24px; padding-block: 24px; border-top: 1px solid var(--line); }
.profile-friction-list article:first-child { padding-top: 0; border: 0; }
.profile-friction-list article:last-child { padding-bottom: 0; }
.profile-friction-list h3 { font-size: var(--type-card); line-height: 1.25; letter-spacing: -.025em; }
.profile-friction-visual picture,.profile-friction-visual img { display: block; width: 100%; height: auto; }
.profile-friction-visual img { aspect-ratio: 3 / 2; object-fit: contain; }
.profile-friction-list p { font-size: var(--type-copy); line-height: 1.55; margin-top: 12px; color: var(--muted); max-width: 47ch; }
.profile-change { background: var(--night); color: white; }
.profile-change-stage { padding-block: 64px; }
.profile-change h2,.profile-evidence-copy h3,.profile-close h2 { font-size: var(--type-story); line-height: 1.12; letter-spacing: -.035em; }
.profile-change-copy { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 64px; align-items: center; }
.profile-change h2 { max-width: 23ch; }
.profile-change-copy .profile-lead { margin: 0; }
.profile-flow-track { margin-top: 40px; }
.profile-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; list-style: none; padding: 0; margin: 0; }
.profile-flow-step { position: relative; min-width: 0; }
.profile-flow-panel { height: 100%; border: 1px solid #6883ad; border-radius: 16px; padding: 24px; background: #142238; }
.profile-flow-panel h3 { font-size: var(--type-card); line-height: 1.25; letter-spacing: -.025em; }
.profile-flow-panel ul { list-style: none; margin: 20px 0 0; padding: 0; }
.profile-flow-panel li { font-size: var(--type-copy); line-height: 1.55; padding-block: 8px; border-top: 1px solid #536682; }
.profile-flow-panel li:last-child { padding-bottom: 0; }
.profile-flow-step.is-action .profile-flow-panel { background: #1c3a73; }
.profile-flow-step.is-after .profile-flow-panel { color: var(--ink); background: #edf3fc; border-color: #edf3fc; }
.profile-flow-step.is-after h3 { color: #1748af; }
.profile-flow-step.is-after li { border-color: #b6c8e3; }
.profile-flow-arrow { position: absolute; left: calc(100% + 8px); top: 50%; width: 32px; height: 32px; color: #a3bfff; transform: translateY(-50%); }
.profile-flow-arrow path { stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--method-progress,1)); }
.profile-evidence { background: #edf3fc; }
.profile-evidence .profile-section-title { margin-bottom: 40px; }
.profile-evidence-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: clamp(40px,6vw,96px); align-items: center; }
.profile-evidence-copy h3 { max-width: 20ch; }
.profile-evidence-copy p { font-size: var(--type-copy); line-height: 1.6; margin-top: 24px; color: var(--muted); max-width: 45ch; }
.profile-text-link { display: inline-flex; gap: 24px; align-items: center; min-height: 48px; margin-top: 24px; color: #1748af; font-size: 1.0625rem; }
.profile-facts { margin: 0; }
.profile-facts>div { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 24px; align-items: baseline; padding-block: 24px; border-top: 1px solid #becce2; }
.profile-facts>div:first-child { padding-top: 0; border: 0; }
.profile-facts>div:last-child { padding-bottom: 0; }
.profile-facts dt { color: #1748af; font-size: var(--type-card); font-weight: 550; line-height: 1.25; letter-spacing: -.025em; }
.profile-facts dd { margin: 0; font-size: var(--type-copy); line-height: 1.55; color: var(--muted); }
.profile-questions details:first-child { border-top: 1px solid var(--line); }
.profile-questions summary { min-height: 80px; padding-block: 20px; font-size: 1.125rem; line-height: 1.5; letter-spacing: 0; }
.profile-questions summary>span:first-child { flex-shrink: 1; }
.profile-questions details>p { font-size: var(--type-copy); line-height: 1.6; max-width: 62ch; }
.profile-close { background: var(--blue); color: white; padding-block: 56px 32px; }
.profile-close h2 { max-width: 21ch; }
.profile-close .contact-main>div>p { margin-top: 24px; font-size: var(--type-lead); line-height: 1.5; max-width: 44ch; }
.profile-cta { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 56px; padding: 16px 24px; background: white; color: #1748af; border-radius: 32px; font-size: 1.125rem; }
.profile-cta:hover { background: #eaf0fe; text-decoration: none; }
.profile-cta:active { transform: scale(.98); }
.profile-close-links { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px; margin-top: 36px; padding-top: 20px; border-top: 1px solid #b8d0ff66; }
.profile-close-links a { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; font-size: 1rem; }
/* Native scrolling controls a small zoom and the alignment of the original flow diagram.
   Text remains visible in every state, including initialization and no JS. */
@media screen {
 .profile-motion .profile-illustration img { transform: scale(var(--profile-zoom,1)); }
 .profile-motion .profile-flow-step { transform: translateY(var(--method-y,0px)); }
 .profile-motion .profile-change.is-pinned:not(.is-diagram-pinned) { height: calc(var(--profile-stage-height) + var(--profile-travel)); }
 .profile-motion .profile-change.is-pinned:not(.is-diagram-pinned)>.profile-change-stage { position: sticky; top: var(--profile-pin-top); }
 .profile-motion .is-diagram-pinned .profile-flow-track { height: calc(var(--profile-stage-height) + var(--profile-travel)); }
 .profile-motion .is-diagram-pinned .profile-flow-stage { position: sticky; top: var(--profile-pin-top); }
 .profile-motion .is-diagram-pinned>.profile-change-stage { padding-bottom: var(--profile-exit-space); }
}
/* Allow enlarged browser text to wrap the navigation instead of pushing the
   contact button off a phone. The usual header keeps its existing height. */
@media(max-width:1024px) {
 .profile-page .header-inner { height: auto; min-height: var(--header); flex-wrap: wrap; row-gap: 8px; padding-block: 12px; }
}
@media(max-width:900px) {
 .profile-opening-grid { grid-template-columns: minmax(0,1fr); gap: 32px; }
 .profile-opening h1 { max-width: 22ch; }
 .profile-illustration { aspect-ratio: 3 / 2; width: 100%; max-width: 600px; margin-inline: auto; }
 .profile-editorial,.profile-evidence-grid { grid-template-columns: 1fr; gap: 32px; }
 .profile-frictions .profile-editorial { grid-template-columns: 1fr; gap: 32px; }
 .profile-friction-list p { max-width: 60ch; }
 .profile-change-copy { grid-template-columns: 1fr; gap: 24px; }
 .profile-change h2 { max-width: 23ch; }
 .profile-evidence-copy h3 { max-width: 25ch; }

}
@media(max-width:760px) {
 .profile-opening { padding-block: 16px 32px; }
 .profile-back { margin-bottom: 20px; }
 .profile-audience { margin-bottom: 16px; }
 .profile-opening h1 { font-size: var(--type-display); }
 .profile-opening-actions { margin-top: 20px; }
 .profile-section { padding-block: 48px; }
 .profile-change-stage { padding-block: 32px; }
 .profile-flow-track { margin-top: 28px; }
 .profile-flow { grid-template-columns: 1fr; gap: 40px; }
 .profile-flow-panel { padding: 20px; }
 .profile-flow-panel h3 { font-size: 1.375rem; }
 .profile-flow-panel ul { display: flex; flex-wrap: wrap; gap: 4px 20px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #536682; }
 .profile-flow-panel li { border: 0; padding: 0; }
 .profile-flow-step.is-after ul { border-color: #b6c8e3; }
 .profile-flow-arrow { left: calc(50% - 16px); top: calc(100% + 4px); transform: rotate(90deg); }
 .profile-evidence .profile-section-title { margin-bottom: 28px; }
 .profile-facts>div { grid-template-columns: 1fr; gap: 8px; }
 .profile-close { padding-block: 40px 24px; }
 .profile-cta { font-size: 1rem; padding: 14px 20px; }
 .profile-close-links { margin-top: 28px; }
}
@media(prefers-reduced-motion:reduce) {
 .profile-motion .profile-illustration img,.profile-motion .profile-flow-step { transform: none; }
 .profile-motion .profile-change.is-pinned,.profile-motion .is-diagram-pinned .profile-flow-track { height: auto; }
 .profile-motion .profile-change.is-pinned>.profile-change-stage,.profile-motion .is-diagram-pinned .profile-flow-stage { position: static; }
 .profile-motion .is-diagram-pinned>.profile-change-stage { padding-bottom: 32px; }
 .profile-flow-arrow path { stroke-dashoffset: 0; }
}
@media print {
 .profile-page :is(.profile-opening,.profile-change,.profile-close) { color: #101d32; background: white; }
 .profile-page :is(.profile-lead,.profile-flow-panel li,.profile-audience) { color: #4e5e74; }
 .profile-back,.profile-opening-actions { display: none; }
 .profile-change { height: auto!important; }
 .profile-change-stage,.profile-flow-stage { position: static!important; }
 .profile-flow-track { height: auto!important; }
 .profile-illustration img,.profile-flow-step { transform: none!important; }
 .profile-section,.profile-change-stage { padding-block: 24px; }
}

@media(max-width:600px) {
 .profile-friction-list article { grid-template-columns: 1fr; gap: 16px; padding-block: 28px; }
 .profile-friction-visual { max-width: 320px; width: 100%; justify-self: center; }
 .profile-friction-visual img { max-height: 200px; }
}
@media print {
 .profile-flow-arrow path { stroke-dashoffset: 0; }
 .profile-flow-panel { break-inside: avoid; background: white!important; color: var(--ink); border-color: var(--line)!important; }
 .profile-illustration img { filter: brightness(0); }
}
