/* Art direction layer */
body{background:radial-gradient(circle at 82% 8%,#271812 0,transparent 25rem),radial-gradient(circle at 8% 42%,#1c1714 0,transparent 28rem),var(--bg)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(233,229,220,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(233,229,220,.06) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,black,transparent 65%);z-index:-1}
.topbar{border-bottom-color:#494039}
.brand span{font-family:var(--sans);font-size:13px;letter-spacing:-.03em;font-weight:700}
.brand i{width:7px;height:7px;box-shadow:0 0 18px var(--orange)}
.topbar nav a{position:relative;padding:9px 0}
.topbar nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--orange);transition:right .3s ease}
.topbar nav a:hover:after{right:0}
.hero{min-height:calc(100svh - 94px);position:relative}
.hero:after{content:none}
.hero-copy{position:relative}
.hero-copy:before{content:none}
.hero h1{font-weight:800;text-wrap:balance;text-shadow:0 12px 36px #0008}
.hero h1 em{position:relative;display:inline-block}
.hero h1 em:after{content:"";position:absolute;left:4%;right:-7%;bottom:-3px;height:2px;background:var(--orange);transform:skew(-28deg);opacity:.75}
.intro{font-weight:500}
.hero-actions .button-primary{box-shadow:0 10px 28px #ff6b3535}
.hero-art{isolation:isolate}
.hero-art:before{content:"";position:absolute;width:465px;height:465px;right:-32px;top:-10px;border:1px solid #ff8a5f33;border-radius:50%;z-index:-1}
.hero-art:after{content:"";position:absolute;width:550px;height:550px;right:-75px;top:-52px;border:1px solid #ff8a5f17;border-radius:50%;z-index:-1}
.orb-one{box-shadow:0 0 90px #ff6b3540}
.code-card{transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.code-card:hover{transform:rotate(1deg) translateY(-8px);box-shadow:0 35px 90px #000b,0 0 50px #ff6b3522}
.hero-stamp{box-shadow:0 0 24px #ff6b3522}
.marquee{background:#171412;border-color:#51483f;box-shadow:0 10px 30px #0003}
.section{position:relative}
.section-label{letter-spacing:.11em;border-bottom-color:#494039}
.profile-grid{position:relative}
.profile-grid:before{content:none}
.profile-text .lead{font-weight:600}
.timeline{border-left-color:#51483f}
.timeline-item{transition:transform .35s ease}
.timeline-item:hover{transform:translateX(8px)}
.timeline-item:hover .dot{box-shadow:0 0 18px var(--orange);background:var(--orange)}
.timeline h3{transition:color .25s ease}.timeline-item:hover h3{color:var(--orange)}
.skills-grid{box-shadow:0 20px 55px #0004}
.skill-card{position:relative;overflow:hidden;transition:transform .35s ease,background .35s ease}
.skill-card:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.skill-card:hover{transform:translateY(-6px);background:#1a1715}
.skill-card.accent:hover{background:#2a201b}
.skill-card:hover:before{transform:scaleX(1)}
.skill-card h3{font-weight:800}
.contact{position:relative}
.contact-inner{box-shadow:0 24px 70px #0006}
.contact-inner:after{content:none}
.contact .button-light{box-shadow:0 10px 25px #0004}
@media(max-width:760px){.hero{min-height:auto}.hero:after,.hero-copy:before{display:none}.hero-art:before{width:330px;height:330px;right:-24px;top:8px}.hero-art:after{width:390px;height:390px;right:-54px;top:-22px}.profile-grid:before,.contact:before{font-size:80px}.section-label:after{font-size:15px}.timeline-item:hover{transform:none}}

/* Timeline reveal */
.timeline{position:relative;border-left:0}
.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,var(--orange),#51483f 30%,#51483f);transform-origin:top;transform:scaleY(.08);transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.timeline.is-visible:before{transform:scaleY(1)}
.timeline-item{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.timeline-item.is-visible{opacity:1;transform:none}
.timeline-item:nth-child(2){transition-delay:.12s}.timeline-item:nth-child(3){transition-delay:.24s}.timeline-item:nth-child(4){transition-delay:.36s}.timeline-item:nth-child(5){transition-delay:.48s}.timeline-item:hover{transition-delay:0s}

/* Precision layout fixes */
html,body{overflow-x:hidden}
.contact:before{content:none}
.timeline:before{left:174.5px}
.timeline-item{transform:translateY(18px)}
.timeline-item .dot{margin-left:0}
.timeline-item.is-visible{transform:translateY(0)}
.timeline-item.is-visible:hover{transform:translateX(6px)}
.timeline:has(.timeline-item:hover) .current .dot{background:var(--bg);box-shadow:none}
@media(max-width:900px) and (min-width:761px){.container{width:calc(100% - 56px)}.hero{gap:18px}.hero h1{font-size:clamp(64px,8vw,96px)}.code-card{width:300px;right:0}.orb-one{width:330px;height:330px}.timeline{margin-left:10%}}
@media(max-width:760px){.timeline:before{left:99.5px}.timeline-item{transform:translateY(14px)}.timeline-item.is-visible:hover{transform:none}.timeline-item .dot{margin-left:0}.timeline-item{grid-template-columns:80px 20px minmax(0,1fr)}.timeline h3,.timeline p,.timeline small{overflow-wrap:anywhere}.contact:before{display:none}.contact-inner:after{font-size:110px;right:0}.hero-copy:before{display:none}}
@media(max-width:560px){.brand span{font-size:11px}.status{max-width:145px;text-align:right;line-height:1.35}.topbar{gap:12px}.hero h1{font-size:clamp(56px,17vw,72px)}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.button{width:max-content}.code-card{width:min(290px,calc(100vw - 56px));font-size:9px}.code-card pre{overflow:hidden}.contact-meta{font-size:9px}}
.topbar nav a.active{color:var(--cream)}
.topbar nav a.active:after{right:0}
:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.timeline{margin:58px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border:0}
.timeline:before{display:none}
.timeline-item,.timeline-item.is-visible{display:block;min-height:234px;padding:30px;background:linear-gradient(145deg,var(--bg),#1a1715);border:1px solid var(--line);position:relative;overflow:hidden;transform:none;opacity:1;transition:transform .35s ease,border-color .35s ease,background .35s ease,opacity .7s ease}
.timeline-item:before{content:"01";position:absolute;top:27px;right:28px;color:var(--orange);font:10px var(--mono);letter-spacing:.08em}
.timeline-item:nth-child(2):before{content:"02"}.timeline-item:nth-child(3):before{content:"03"}.timeline-item:nth-child(4):before{content:"04"}.timeline-item:nth-child(5):before{content:"05"}
.timeline-item:after{content:"";position:absolute;left:0;top:0;width:3px;height:0;background:var(--orange);transition:height .35s ease}
.timeline-item:hover{transform:translateY(-6px);border-color:#655044;background:linear-gradient(145deg,#1b1816,#241b17)}
.timeline-item.is-visible:hover{transform:translateY(-6px)}
.timeline-item:hover:after{height:100%}
.timeline-item.current{grid-column:1/-1;min-height:250px;background:linear-gradient(120deg,#241914,var(--bg) 70%);border-color:#754731}
.timeline-item.current:after{height:100%;opacity:.65}
.timeline-item .year{display:inline-block;padding:7px 10px;border:1px solid #514137;color:var(--orange);font-size:10px;margin:0 0 48px}
.timeline-item .dot{display:none}
.timeline-item h3{font-size:28px;margin:0 0 10px;letter-spacing:-.05em}
.timeline-item p{margin:0 0 14px}
.timeline-item small{display:block;max-width:430px}
@media(max-width:760px){
  .timeline{grid-template-columns:1fr;gap:12px;margin-top:42px}
  .timeline-item,.timeline-item.current{grid-column:auto;min-height:0;padding:25px}
  .timeline-item .year{margin-bottom:36px}
  .timeline-item h3{font-size:23px}
}

@media (pointer:fine){
  html,body,a,button{cursor:none}
  .cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:100;opacity:0;transform:translate(-50%,-50%);will-change:transform;transition:opacity .2s ease}
  .cursor-dot{width:5px;height:5px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 2px var(--bg)}
  .cursor-ring{width:22px;height:22px;border:1px solid #ff6b35aa;border-radius:50%;transition:width .2s ease,height .2s ease,opacity .2s ease,border-color .2s ease}
  body.cursor-active .cursor-dot,body.cursor-active .cursor-ring{opacity:1}
  body.cursor-hover .cursor-ring{width:34px;height:34px;border-color:var(--orange)}
}
