/* Compact portfolio: the same visual identity, a shorter reading path. */
.header { height: 72px; }
.hero { min-height: 470px; padding-top: 48px; padding-bottom: 48px; border-bottom: 1px solid var(--line); }
.hero-copy { width: 62%; max-width: 640px; }
.hero h1 { font-size: clamp(44px, 4.7vw, 69px); margin-bottom: 21px; }
.hero .eyebrow { margin-bottom: 23px; }
.hero-intro { max-width: 430px; font-size: 17px; line-height: 1.7; }
.hero-actions { margin: 24px 0 20px; }
.hero-art { width: 45%; max-width: 560px; right: 0; }
.orb-core { font-size: clamp(55px, 7vw, 95px); }
.orb-core span { display: none; }
.art-coordinate { display: none; }
.section { padding-block: 38px; }
.section-kicker { margin-bottom: 23px; padding-bottom: 12px; }
.section-heading { margin-bottom: 21px; }
.section-heading h2 { font-size: clamp(29px, 2.75vw, 40px); line-height: 1.2; }
.about-grid { grid-template-columns: 245px minmax(0, 1fr); gap: 45px; max-width: 1030px; margin: auto; }
.portrait-block { width: 100%; max-width: 245px; }
.portrait-caption { left: 17px; right: 17px; bottom: 17px; }
.portrait-caption>span { font-size: 20px; }
.portrait-caption small { font-size: 12px; letter-spacing: .35px; }
.portrait-footnote { display: none; }
.about-copy h2 { font-size: clamp(28px, 2.65vw, 39px); margin-bottom: 14px; }
.about-copy>p { font-size: 16px; line-height: 1.7; margin: 0; }
.about-facts { padding: 14px 0 0; margin: 18px 0 0; border-bottom: 0; }
.about-facts strong { font-size: 27px; }
.about-facts strong .accent { font-size: 27px; }
.about-facts>div { gap: 6px; }
.capabilities { gap: 13px; }
.capability { padding: 19px 21px 20px; }
.capability-top { margin-bottom: 15px; }
.capability-symbol { font-size: 28px; }
.flow-symbol { font-size: 34px; }
.capability h3 { font-size: 23px; line-height: 1.25; margin-bottom: 12px; }
.capability p { margin-bottom: 16px; line-height: 1.6; }
.card-tags { gap: 6px; }
.card-tags>span { padding: 3px 8px; }
.motion-ready .capability.is-visible { transition: opacity .6s, transform .2s ease-out, border-color .3s, box-shadow .3s; }
.process-disclosure { border-block: 1px solid var(--line); margin-top: 20px; }
.process-disclosure>summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 0; cursor: pointer; list-style: none; font-size: 14px; }
.process-disclosure>summary::-webkit-details-marker { display: none; }
.process-disclosure>summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.process-preview { font-size: 13px; color: #9eb2cb; margin-left: auto; }
.process-preview i { font-style: normal; padding: 0 10px; color: var(--accent); }
.disclosure-plus { color: var(--accent); font-size: 23px; line-height: 1; transition: rotate .3s; }
.process-disclosure[open] .disclosure-plus { rotate: 45deg; }
.process-disclosure .workflow { border: 0; margin: 0; padding: 8px 0 18px; }
.toolkit { margin-top: 17px; padding-top: 0; border: 0; }
.toolkit-heading { margin-bottom: 12px; }
.toolkit-heading h3 { font-size: 14px; color: #adbfd4; }
.toolkit-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.toolkit summary { font-size: 13px; padding: 12px 13px; min-height: 67px; gap: 10px; }
.toolkit .tool-chips { padding: 0 12px 14px; }
.toolkit .tool-chips>span { font-size: 12px; padding: 4px 7px; }
.timeline { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 0; }
.timeline-item { display: flex; flex-direction: column; padding: 23px; gap: 0; border: 1px solid #304358; border-radius: 9px; background: linear-gradient(145deg, #111d2ccd, #0c1420b5); position: relative; overflow: hidden; }
.timeline-item:after { content: ''; position: absolute; height: 1px; width: 60%; top: 0; left: 20%; background: linear-gradient(90deg, transparent, #8deaff80, transparent); }
.timeline-date { padding: 0 0 17px; flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.timeline-date>span+span { display: none; }
.timeline-track { display: none; }
.timeline-content, .timeline-item:last-child .timeline-content { padding: 0; }
.company-heading h3 { font-size: 28px; }
.company-heading>span { font-size: 12px; }
.timeline-content h4 { font-size: 15px; min-height: 45px; margin: 11px 0; }
.timeline-content>p:not(.company-note) { font-size: 16px; line-height: 1.65; margin-bottom: 17px; }
.timeline-content .company-note { margin-top: 12px; font-size: 12px; line-height: 1.6; }
.education-compact { border: 0; margin-top: 19px; padding-top: 0; }
.education-label { font-size: 14px; color: #adbfd4; margin-bottom: 12px; }
.education-card { padding: 16px 20px; }
.education-meta { margin-bottom: 10px; }
.education-card h3 { font-size: 18px; line-height: 1.4; margin-bottom: 6px; }
.education-card p { font-size: 14px; }
.education-symbol { font-size: 20px; }
.contact-section { padding-block: 35px; }
.contact-content { display: flex; align-items: center; justify-content: space-between; gap: 35px; max-width: none; }
.contact-content h2 { font-size: 36px; margin: 0 0 10px; }
.contact-location { font-size: 12px; max-width: 400px; }
.contact-links { display: flex; align-items: flex-start; flex-direction: column; gap: 11px; }
.contact-email { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; border: 0; padding: 0; font-size: 13px; line-height: 1.5; user-select: text; }
.contact-email>span:first-child { color: #96acc7; }
.contact-email:hover { color: #c4d8e9; }
.footer { padding-block: 19px; }
.button { min-height: 46px; padding: 12px 20px; }
.footer-links { gap: 18px; }
/* Brief brand entrance; decorative, never a loading gate. */
.intro-scene { display: none; pointer-events: none; }
.intro-running .intro-scene { display: grid; place-items: center; position: fixed; inset: 0; z-index: 150; isolation: isolate; animation: intro-end 1.35s linear both; }
.intro-scene:before, .intro-scene:after { content: ''; position: absolute; top: 0; bottom: 0; width: 50.1%; background: #070b12; z-index: -1; animation: shutter-left 1.3s cubic-bezier(.76, 0, .24, 1) both; }
.intro-scene:before { left: 0; border-right: 1px solid #9ceaff44; }
.intro-scene:after { right: 0; animation-name: shutter-right; border-left: 1px solid #9ceaff44; }
.intro-brand { display: flex; align-items: center; flex-direction: column; gap: 19px; animation: intro-brand 1s ease both; }
.intro-monogram { font: 600 clamp(64px, 10vw, 112px)/1 var(--display); letter-spacing: -.09em; color: #e9f7ff; text-shadow: 0 0 55px #85e8ff33; }
.intro-monogram>span { color: var(--accent); }
.intro-caption { font: 500 12px var(--body); letter-spacing: 2.4px; color: #9bc5e4; }
.intro-light { position: absolute; top: 50%; left: 50%; width: 1px; height: 0; background: #ccf8ff; box-shadow: 0 0 20px 2px #85e8ff55; animation: intro-light 1.15s cubic-bezier(.76, 0, .24, 1) both; }
.intro-running .hero-copy { animation: hero-unfold 1.6s cubic-bezier(.22, 1, .36, 1) both; }
.intro-running .hero-art { animation: orb-unfold 1.5s cubic-bezier(.22, 1, .36, 1) both; }
.intro-running .header { animation: header-unfold 1.5s ease both; }
@keyframes intro-end { 0%, 88% { visibility: visible; } 100% { visibility: hidden; } }
@keyframes shutter-left { 0%, 42% { transform: translateX(0); } 100% { transform: translateX(-102%); } }
@keyframes shutter-right { 0%, 42% { transform: translateX(0); } 100% { transform: translateX(102%); } }
@keyframes intro-brand { 0% { opacity: 0; filter: blur(10px); transform: translateY(10px) scale(.93); } 30%, 55% { opacity: 1; filter: blur(0); transform: none; } 100% { opacity: 0; filter: blur(5px); transform: scale(1.05); } }
@keyframes intro-light { 0%, 45% { height: 0; opacity: 0; } 65% { height: 110vh; top: -5%; opacity: .8; } 100% { height: 110vh; top: -5%; opacity: 0; } }
@keyframes hero-unfold { 0%, 35% { opacity: 0; translate: 0 20px; filter: blur(7px); } 100% { opacity: 1; translate: 0 0; filter: none; } }
@keyframes orb-unfold { 0%, 28% { opacity: 0; scale: .72; filter: blur(12px); } 100% { opacity: 1; scale: 1; filter: none; } }
@keyframes header-unfold { 0%, 45% { opacity: 0; } 100% { opacity: 1; } }
@media (min-width: 1550px) { .hero { min-height: 540px; } }
@media (max-width: 1050px) {
  .hero { min-height: 460px; }
  .hero-art { width: 48%; right: -5%; }
  .hero-copy { width: 65%; }
  .hero h1 { font-size: clamp(43px, 5.3vw, 59px); }
  .hero-intro { max-width: 400px; }
  .about-grid { grid-template-columns: 225px minmax(0, 1fr); gap: 30px; }
  .about-facts { grid-template-columns: 1fr 1.35fr; }
  .about-facts>div { flex-direction: column; align-items: flex-start; }
  .about-facts strong { font-size: 24px; }
  .capability { padding: 18px; }
  .capability h3 { font-size: 22px; }
  .capability .card-tags>span { font-size: 12px; padding: 3px 6px; }
  .timeline-item { padding: 21px; }
}
@media (max-width: 800px) {
  .section { padding-block: 32px; }
  .section-kicker { margin-bottom: 20px; }
  .capabilities { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
  .capability h3 { font-size: 20px; }
  .capability-top { margin-bottom: 13px; }
  .capability p { font-size: 16px; }
  .toolkit-grid { grid-template-columns: 1fr 1fr; }
  .toolkit summary { min-height: 0; }
  .timeline-content h4 { min-height: 0; }
  .contact-content { gap: 20px; }
  .contact-content h2 { font-size: 32px; }
  .footer-links { margin-left: auto; flex-basis: auto; border: 0; padding: 0; gap: 15px; }
  .footer>p span { display: none; }
}
@media (max-width: 700px) {
  .hero { min-height: 0; padding-top: 42px; padding-bottom: 35px; }
  .hero-copy { width: 100%; }
  .hero h1 { font-size: clamp(44px, 9.4vw, 58px); }
  .hero-intro { max-width: 430px; font-size: 16px; }
  .hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; max-width: 380px; }
  .hero-actions .button { min-width: 0; font-size: 13px; padding-inline: 10px; gap: 10px; }
  .hero-art { position: absolute; width: 330px; left: auto; right: -175px; top: 50%; transform: translateY(-50%); translate: none; margin: 0; opacity: .3; z-index: -1; }
  .hero-art .orb-core, .hero-art .orbit-label { display: none; }
  .intro-running .hero-art { animation-name: orb-unfold-mobile; }
  .hero .eyebrow { font-size: 12px; margin-bottom: 18px; }
  .header { height: 68px; }
  .about-grid { display: grid; grid-template-columns: 145px minmax(0, 1fr); grid-template-areas: 'portrait title' 'bio bio' 'facts facts'; gap: 20px; align-items: center; }
  .portrait-block { grid-area: portrait; max-width: none; width: 100%; margin: 0; }
  .portrait-caption { left: 11px; right: 8px; bottom: 11px; }
  .portrait-caption>span { font-size: 16px; line-height: 1.25; }
  .portrait-caption small { display: none; }
  .about-copy { display: contents; }
  .about-copy h2 { grid-area: title; font-size: clamp(25px, 4.4vw, 31px); margin: 0; }
  .about-copy>p { grid-area: bio; margin: 0; }
  .about-facts { grid-area: facts; margin: 0; padding-top: 15px; }
  .about-facts>div { flex-direction: column; align-items: flex-start; gap: 7px; }
  .process-preview { display: none; }
  .capabilities { grid-template-columns: 1fr; gap: 11px; }
  .capability { display: grid; grid-template-columns: 33px 1fr; column-gap: 15px; row-gap: 0; padding: 18px; }
  .capability-top { grid-column: 1; grid-row: 1 / span 3; display: block; margin: 0; padding-top: 2px; }
  .index-label { display: none; }
  .capability h3, .capability p, .capability .card-tags { grid-column: 2; }
  .capability h3 { font-size: 22px; margin-bottom: 7px; }
  .capability p { line-height: 1.6; margin-bottom: 12px; }
  .capability-symbol { font-size: 25px; }
  .flow-symbol { font-size: 33px; }
  .timeline { grid-template-columns: 1fr; gap: 13px; }
  .timeline-item { padding: 19px 20px; }
  .timeline-date { padding-bottom: 13px; }
  .timeline-content h4 { margin: 8px 0 10px; }
  .timeline-content>p:not(.company-note) { line-height: 1.65; margin-bottom: 13px; }
  .company-heading h3 { font-size: 27px; }
  .education-grid { grid-template-columns: 1fr; gap: 10px; }
  .education-card { padding: 15px 18px; }
  .education-card h3 { font-size: 18px; }
  .education-meta { font-size: 12px; margin-bottom: 7px; }
  .contact-section { padding-block: 28px; }
  .contact-content { align-items: flex-start; flex-direction: column; gap: 17px; }
  .contact-content h2 { font-size: 32px; margin-bottom: 7px; }
  .contact-links { gap: 12px; }
  .footer { gap: 16px; }
  .footer .wordmark { font-size: 29px; }
  .footer-links { width: 100%; margin: 0; justify-content: flex-start; gap: 20px; }
  .footer-links .motion-toggle { margin-left: auto; }
}
@media (max-width: 380px) {
  .section { padding-block: 28px; }
  .about-grid { grid-template-columns: 120px minmax(0, 1fr); column-gap: 17px; }
  .about-copy h2 { font-size: 24px; }
  .about-facts { grid-template-columns: 1fr 1.3fr; gap: 12px; }
  .about-facts>div { flex-direction: column; }
  .about-facts strong { font-size: 23px; }
  .toolkit-grid { grid-template-columns: 1fr; }
  .hero-actions { flex-direction: row; gap: 8px; }
  .hero-actions .button { font-size: 13px; padding-inline: 12px; gap: 10px; }
  .contact-email { font-size: 12px; }
  .footer-links { gap: 12px; }
}
@keyframes orb-unfold-mobile { 0%, 28% { opacity: 0; scale: .72; filter: blur(12px); } 100% { opacity: .3; scale: 1; filter: none; } }
.motion-paused .intro-scene { display: none; }
@media (prefers-reduced-motion: reduce) {
  .intro-running .intro-scene { display: none; }
  .intro-running .header, .intro-running .hero-copy, .intro-running .hero-art { animation: none; }
}
