/* A tighter layout with a fluid, interactive light layer. */
body { isolation: isolate; }
main, .header, .footer { position: relative; z-index: 1; }
.ambient-stage { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; background: radial-gradient(ellipse at 85% 25%, #15375638, transparent 60%), radial-gradient(ellipse at 15% 85%, #30316725, transparent 65%); }
#ambient-canvas { width: 100%; height: 100%; display: block; opacity: .8; }
.ambient-halo { position: absolute; inset: 0; background: radial-gradient(500px circle at var(--cursor-x, 65%) var(--cursor-y, 35%), #77dbff0d, transparent 75%); }
.ambient-grain { position: absolute; inset: 0; opacity: .14; background-image: radial-gradient(#adcaf750 .5px, transparent .5px); background-size: 4px 4px; mask-image: linear-gradient(transparent, #000); }
.header { height: 82px; background: #070b12ba; backdrop-filter: blur(20px); }
.header nav { gap: 24px; }
.nav-linkedin { display: inline-flex; align-items: center; gap: 8px; }
.nav-linkedin span { color: var(--accent); }
.nav-contact { position: relative; overflow: hidden; transition: box-shadow .3s, border-color .3s; }
.nav-contact:hover { border-color: var(--accent); box-shadow: 0 0 25px #85e8ff20; }
.hero { min-height: min(690px, calc(100svh - 82px)); padding-top: 64px; padding-bottom: 114px; }
.hero-grid { opacity: .23; animation: grid-drift 32s linear infinite; }
.hero-art { width: 49%; right: -1%; }
.orb-glow { animation: core-breathe 6s ease-in-out infinite; }
.orb-core { text-shadow: 0 0 50px #7bd3ff88, 0 0 100px #7692ff44; }
.hero-intro { max-width: 500px; }
.text-shimmer { animation-duration: 5s; }
.discipline-band { padding-block: 22px; background: #0b111bbb; backdrop-filter: blur(14px); position: relative; }
.discipline-band:after { content: ''; position: absolute; bottom: 0; width: 25%; height: 1px; background: linear-gradient(90deg, transparent, #85e8ff99, transparent); animation: band-light 10s linear infinite; }
.discipline-band i { animation: mark-turn 24s linear infinite; }
.section { padding-block: 64px; }
.section-kicker { margin-bottom: 34px; padding-bottom: 16px; position: relative; }
.section-kicker:after { content: ''; position: absolute; bottom: -1px; left: 0; width: 90px; height: 1px; background: linear-gradient(90deg, transparent, var(--accent), transparent); animation: edge-travel 12s ease-in-out infinite; }
.about-grid { gap: clamp(35px, 7vw, 110px); }
.about-copy h2 { margin-bottom: 20px; }
.about-copy>p { line-height: 1.8; }
.about-facts { margin: 23px 0; padding: 20px 0; }
.section-heading { margin-bottom: 30px; }
.section-heading h2 { font-size: clamp(34px, 3.3vw, 48px); }
.solutions-section { background: linear-gradient(180deg, #0c121dbb, #0c121d25); }
.capability { padding: 25px 27px 18px; overflow: visible; transform-style: preserve-3d; transition: transform .24s ease-out, box-shadow .3s, border-color .3s; }
.capability:before { border-radius: inherit; }
.capability:hover { transform: perspective(1100px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-5px); box-shadow: 0 15px 60px #1d497922; }
.capability:after, .education-card:after { content: ''; pointer-events: none; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; background: conic-gradient(from var(--edge-angle), transparent 55%, #6fa0ff88 69%, #a6f5ffbd 74%, transparent 82%); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite: exclude; animation: border-flow 10s linear infinite; }
.capability:nth-child(2):after { animation-delay: -3s; }
.capability:nth-child(3):after { animation-delay: -6s; }
.capability-top { margin-bottom: 23px; }
.capability h3 { margin-bottom: 16px; font-size: 28px; }
.capability p { margin-bottom: 22px; line-height: 1.7; }
.card-bottom { margin-top: 23px; padding-top: 12px; }
.capability-symbol { transition: transform .5s, text-shadow .5s; }
.capability:hover .capability-symbol { transform: translateZ(20px) rotate(-7deg); text-shadow: 0 0 25px #85e8ff88; }
.workflow { margin-top: 34px; padding-top: 27px; gap: 40px; border-top: 1px solid var(--line); grid-template-columns: 1fr 2fr; }
.workflow-intro h3 { font-size: 29px; }
.workflow-intro .eyebrow { margin-bottom: 15px; }
.workflow-tabs button { padding-bottom: 12px; }
.workflow-panels { padding-top: 17px; margin-top: 4px; }
.workflow-panels [role=tabpanel] { min-height: 99px; gap: 20px; }
.workflow-panels h4 { margin-bottom: 5px; }
.panel-number { font-size: 52px; }
.workflow-tabs:after { content: ''; position: absolute; left: 18px; top: 18px; height: 3px; width: calc((100% - 38px) * var(--step-progress, 0)); background: linear-gradient(90deg, #5974d1, var(--accent)); box-shadow: 0 0 14px #85e8ff66; transition: width .5s ease; z-index: 0; }
.toolkit { border-top: 1px solid var(--line); padding-top: 25px; margin-top: 24px; }
.toolkit-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 18px; }
.toolkit-heading h3 { font: 500 17px var(--body); letter-spacing: 0; margin: 0; }
.toolkit-heading>span { font-size: 12px; letter-spacing: 1px; color: #8ba2bf; }
.toolkit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: start; }
.toolkit details { background: #0c1522b8; border: 1px solid #293c51; border-radius: 7px; overflow: hidden; transition: border-color .3s, background .3s; }
.toolkit details[open] { border-color: #528aa3; background: #0e1c2deb; }
.toolkit summary { display: flex; gap: 15px; align-items: center; justify-content: space-between; cursor: pointer; padding: 15px 18px; font-size: 14px; line-height: 1.5; color: #cbd6e5; list-style: none; }
.toolkit summary::-webkit-details-marker { display: none; }
.toolkit summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -4px; border-radius: 7px; }
.toolkit summary>span { color: var(--accent); font-size: 22px; line-height: 1; transition: transform .25s; flex-shrink: 0; }
.toolkit details[open] summary>span { transform: rotate(45deg); }
.toolkit .tool-chips { padding: 0 18px 17px; gap: 7px; }
.toolkit .tool-chips>span { font-size: 13px; padding: 5px 9px; }
.toolkit details[open] .tool-chips { animation: panel-in .3s ease-out; }
.timeline { margin-top: 35px; }
.timeline-item { grid-template-columns: 180px 26px 1fr; column-gap: 24px; }
.timeline-content { padding-bottom: 38px; }
.company-heading h3 { font-size: 30px; }
.timeline-content h4 { margin: 10px 0 13px; }
.timeline-content>p { line-height: 1.75; margin-bottom: 18px; }
.timeline-content .company-note { margin-top: 13px; }
.education-compact { border-top: 1px solid var(--line); margin-top: 32px; padding-top: 25px; }
.education-label { font: 500 17px var(--body); letter-spacing: 0; margin: 0 0 20px; }
.education-grid { gap: 17px; }
.education-card { padding: 22px 25px; background: #0d1725cc; }
.education-meta { margin-bottom: 18px; }
.education-card h3 { font-size: 22px; margin-bottom: 12px; }
.education-card p { font-size: 14px; }
.education-symbol { font-size: 24px; }
.education-card:after { opacity: .45; animation-duration: 14s; }
.contact-section { padding-block: 65px; background: radial-gradient(ellipse at 65% 130%, #15356075, #070b1240 70%); }
.contact-content .eyebrow { margin-bottom: 18px; }
.contact-content h2 { font-size: clamp(44px, 5vw, 72px); }
.contact-actions { margin: 25px 0 15px; }
.contact-email { display: inline-block; color: #c4d8e9; font-size: 15px; border-bottom: 1px solid #537085; padding-bottom: 2px; margin-bottom: 13px; transition: color .2s; }
.contact-email:hover { color: var(--accent); }
.contact-location { display: block; }
.contact-grid { animation: grid-drift 35s linear infinite reverse; }
.contact-decoration { opacity: .65; bottom: -30%; font-size: clamp(200px, 31vw, 460px); }
.button { position: relative; overflow: hidden; transition: transform .3s, box-shadow .3s, background .3s; }
.button:before { content: ''; position: absolute; top: -30%; left: -90%; height: 160%; width: 50%; transform: skewX(-25deg); background: linear-gradient(90deg, transparent, #ffffff44, transparent); pointer-events: none; }
.button:hover:before { animation: button-shine .75s ease-out; }
.button span { transition: transform .3s; }
.button:hover span { transform: translate(2px, -2px); }
.button-primary { box-shadow: 0 0 30px #70caff20, inset 0 1px 0 #ffffff55; }
.button-quiet:hover { border-color: #8fcee388; box-shadow: 0 0 28px #7dbbff14; }
.footer { padding-block: 24px; background: #070b12bf; }
.motion-toggle { backdrop-filter: blur(15px); }
@property --edge-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes border-flow { to { --edge-angle: 360deg; } }
@keyframes grid-drift { to { background-position: 88px 88px; } }
@keyframes core-breathe { 50% { opacity: .55; scale: 1.18; } }
@keyframes edge-travel { 50% { left: calc(100% - 90px); opacity: .45; } }
@keyframes band-light { from { left: -25%; } to { left: 100%; } }
@keyframes mark-turn { to { transform: rotate(360deg); } }
@keyframes button-shine { to { left: 140%; } }
@media (max-width: 1100px) {
  .header nav { gap: 17px; }
  .wordmark-name { display: none; }
  .hero { min-height: 650px; }
  .hero-art { width: 58%; right: -12%; }
  .capability { padding: 23px 21px 17px; }
  .capability h3 { font-size: 26px; }
  .timeline-item { grid-template-columns: 155px 22px 1fr; gap: 20px; }
}
@media (max-width: 800px) {
  .section { padding-block: 52px; }
  .section-kicker { margin-bottom: 28px; }
  .capability { padding: 22px 24px; }
  .capability h3 { font-size: 26px; }
  .capability-top { margin-bottom: 17px; }
  .capability p { margin-bottom: 17px; }
  .capability h3 br { display: none; }
  .card-bottom { margin-top: 18px; }
  .workflow { grid-template-columns: 1fr; gap: 20px; }
  .workflow-intro { display: flex; justify-content: space-between; gap: 25px; align-items: center; }
  .workflow-intro h3 { font-size: 24px; margin: 0; }
  .workflow-intro h3 br { display: none; }
  .workflow-intro .eyebrow { margin: 0; max-width: 160px; }
  .workflow-panels [role=tabpanel] { min-height: 100px; }
  .timeline-item { grid-template-columns: 135px 20px 1fr; gap: 16px; }
}
@media (max-width: 700px) {
  .header { height: 74px; }
  .header nav { gap: 14px; }
  .header nav>a.nav-linkedin { display: inline-flex; font-size: 13px; gap: 4px; }
  .hero { min-height: 0; padding-top: 45px; padding-bottom: 87px; }
  .hero-art { width: min(105%, 370px); right: auto; margin: -5px auto -8px; }
  .hero-actions { margin: 24px 0 20px; }
  .hero-bottom { padding-top: 15px; }
  .discipline-band { white-space: normal; flex-wrap: wrap; gap: 14px 25px; padding: 18px 24px; }
  .discipline-band span { font-size: 12px; letter-spacing: .7px; }
  .discipline-band span:last-child, .discipline-band i { display: none; }
  .orb-core { font-size: 76px; }
}
@media (max-width: 600px) {
  .section { padding-block: 44px; }
  .section-heading { margin-bottom: 25px; }
  .section-heading h2 { font-size: 35px; }
  .about-grid { gap: 29px; }
  .about-copy h2 { font-size: 34px; }
  .about-facts { margin: 20px 0; }
  .workflow { margin-top: 27px; padding-top: 23px; }
  .workflow-intro { gap: 15px; }
  .workflow-intro .eyebrow { font-size: 12px; letter-spacing: .3px; max-width: 140px; }
  .workflow-intro h3 { font-size: 23px; max-width: 175px; }
  .workflow-panels [role=tabpanel] { min-height: 116px; gap: 15px; }
  .workflow-panels p { line-height: 1.6; }
  .panel-number { font-size: 43px; }
  .toolkit { margin-top: 14px; }
  .toolkit-heading>span { display: none; }
  .toolkit-grid { grid-template-columns: 1fr; gap: 8px; }
  .toolkit summary { padding: 13px 15px; font-size: 14px; }
  .toolkit .tool-chips { padding-inline: 15px; }
  .timeline { margin-top: 28px; }
  .timeline-item { grid-template-columns: 15px minmax(0, 1fr); column-gap: 17px; row-gap: 0; }
  .timeline-content { padding-bottom: 32px; }
  .timeline-content>p:not(.company-note) { font-size: 16px; }
  .timeline-date { padding-bottom: 14px; }
  .education-compact { margin-top: 25px; }
  .education-card { padding: 20px 23px; }
  .education-card h3 { font-size: 23px; }
  .education-meta { margin-bottom: 14px; }
  .contact-section { padding-block: 48px; }
  .contact-content h2 { font-size: 46px; }
  .contact-actions { margin-top: 22px; }
  .contact-email { font-size: 14px; }
  .footer { padding-bottom: 22px; }
  #ambient-canvas { opacity: .65; }
}
@media (max-width: 380px) {
  .header { padding-inline: 18px; }
  .header nav { gap: 10px; }
  .header .wordmark { font-size: 29px; }
  .nav-contact { font-size: 12px; padding: 8px 10px; }
  .nav-contact span { margin-left: 4px; }
  .header nav>a.nav-linkedin { font-size: 12px; }
  .workflow-intro { flex-direction: column; align-items: flex-start; gap: 10px; }
  .workflow-intro .eyebrow, .workflow-intro h3 { max-width: none; }
  .contact-content h2 { font-size: 41px; }
}
.motion-paused .ambient-halo { display: none; }
.motion-paused .capability:hover { transform: none; }
.motion-paused .button:hover span { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .ambient-halo { display: none; }
  .capability:hover, .button:hover span { transform: none; }
}
