/* Profilo 2.3.0 — scoped editorial layout, existing portrait and static content. */
.profile-page .profile-hero { padding-top: 142px; }
.profile-page .profile-hero__grid { grid-template-columns: 1.25fr 1fr; gap: 72px; }
.profile-page .profile-portrait { margin: 0; }
.profile-page .profile-portrait__image { width: 100%; aspect-ratio: 4/5; overflow: hidden; border: 1px solid rgba(53,196,209,.24); border-radius: 22px; background: #10283d; }
.profile-page .profile-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.profile-page .profile-portrait figcaption { margin-top: 17px; font-size: .75rem; color: #c6d3da; line-height: 1.6; }
.profile-page .profile-portrait figcaption strong { color: var(--ivory); display: block; font-size: .95rem; margin-bottom: 2px; }
.profile-page .profile-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; }
.profile-page .profile-intro__text p { color: var(--muted); }
.profile-page .profile-intro__text p:last-child { margin-bottom: 0; }
.profile-page .profile-intro__text .consulting-lead { color: var(--ink); }
.profile-page .profile-experience .consulting-path { margin-top: 40px; }
.profile-page .profile-experience .consulting-step { color: var(--teal-dark); border-color: var(--teal-dark); }
.profile-page .profile-experience .consulting-path>li:not(:last-child)::after { background: rgba(8,123,137,.3); }
.profile-page .profile-experience .consulting-path>li>div { border-color: var(--consulting-rule); }
.profile-page .profile-experience .consulting-kicker { color: var(--teal-dark); }
.profile-page .profile-experience .consulting-path p { color: var(--muted); }
.profile-page .profile-experience .consulting-path h3 { color: var(--ink); }
.profile-page .profile-collaboration { display: grid; grid-template-columns: 1.15fr 1fr; gap: 70px; align-items: center; }
.profile-page .profile-collaboration>div>p:not(.eyebrow) { color: #c6d3da; }
.profile-page .profile-collaboration blockquote { margin: 0; border-left: 3px solid var(--amber); padding: 12px 0 12px 32px; }
.profile-page .profile-collaboration blockquote p { color: var(--ivory); font-size: clamp(1.65rem,2.7vw,2.4rem); line-height: 1.38; letter-spacing: -.025em; margin: 0 0 20px; }
.profile-page .profile-collaboration blockquote cite { font-style: normal; color: #b9ccd4; font-size: .8rem; }
.profile-page .profile-tools { padding: 30px; border: 1px solid var(--consulting-rule); border-radius: 18px; background: var(--paper); margin-top: 36px; }
.profile-page .profile-tools h3 { font-size: 1.15rem; }
.profile-page .profile-tools p { max-width: 850px; color: var(--muted); font-size: .95rem; }
.profile-page .profile-tool-track li { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 15px; min-height: 142px; border: 1px solid rgba(8,123,137,.2); padding: 20px 14px; border-radius: 12px; font-size: .8rem; text-align: center; line-height: 1.4; background: #fff; }
.profile-page .profile-tool-track li img { display: block; width: 48px; height: 48px; object-fit: contain; }
.profile-page .profile-tool-track li .tool-logo--wide { width: 100px; height: 48px; }
@media(max-width:1024px) {
 .profile-page .profile-hero__grid,.profile-page .profile-intro,.profile-page .profile-collaboration { gap: 40px; }
}
@media(max-width:768px) {
 .profile-page .profile-hero { padding-top: 124px; }
 .profile-page .profile-hero__grid,.profile-page .profile-intro,.profile-page .profile-collaboration { grid-template-columns: 1fr; gap: 32px; }
 .profile-page .profile-portrait { width: min(100%,420px); justify-self: center; }
 .profile-page .profile-portrait__image { aspect-ratio: 1/1; }
 .profile-page .profile-collaboration blockquote { padding-left: 23px; }
 .profile-page .profile-tools { padding: 24px; }
}
/* Profilo 2.9.0: semantic, finite carousel; no duplicated or altered brand marks. */
.profile-page .profile-section-hidden { display: none !important; }
.profile-page .profile-adaptation .consulting-heading { grid-template-columns: 1fr; gap: 24px; }
.profile-page .profile-adaptation h2 { max-width: 1100px; font-size: clamp(2.2rem,4.5vw,4.25rem); }
.profile-page .profile-adaptation .consulting-heading>p { max-width: 780px; }
.profile-page .profile-adaptation .consulting-results article,
.profile-page .profile-adaptation .profile-tools { color: var(--ink); }
.profile-page .profile-tool-viewport { overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scrollbar-color: var(--teal-dark) transparent; border-radius: 12px; }
.profile-page .profile-tool-viewport:focus-visible { outline: 3px solid var(--teal-dark); outline-offset: 4px; }
.profile-page .profile-tool-track { display: flex; flex-wrap: nowrap; gap: 16px; list-style: none; margin: 0; padding: 22px 4px; }
.profile-page .profile-tool-track li { flex: 0 0 145px; color: var(--ink); animation: profile-tool-wave 5.5s ease-in-out infinite; animation-play-state: paused; }
.profile-page .profile-tool-track li:nth-child(3n+2) { animation-delay: -1.8s; }
.profile-page .profile-tool-track li:nth-child(3n) { animation-delay: -3.6s; }
.profile-page [data-motion-state="running"] .profile-tool-track li { animation-play-state: running; }
.profile-page .profile-tool-controls { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.profile-page .profile-tool-controls button { border: 1px solid var(--teal-dark); border-radius: 999px; background: transparent; color: var(--ink); min-height: 44px; min-width: 44px; padding: 8px 16px; font: inherit; font-size: .85rem; cursor: pointer; }
.profile-page .profile-tool-controls button:focus-visible { outline: 3px solid var(--teal-dark); outline-offset: 3px; }
.profile-page .profile-tools .profile-tool-credit { font-size: .72rem; margin: 18px 0 0; }
@keyframes profile-tool-wave { 0%,100% { transform: translateY(5px); } 50% { transform: translateY(-5px); } }
@media(max-width:768px) { .profile-page .profile-tool-track li { flex-basis: 132px; } }
@media(prefers-reduced-motion:reduce) { .profile-page .profile-tool-track li { animation: none; } }
