/* V3 — REDSHIFT cyber system */
:root{--accent:#ff7f30!important;--primary:#ff7f30!important;--cyan:#ff7f30!important;--green:#ff9350!important;--purple:#ba5517!important;--bg:#080609!important;--surface:#100a10!important;--border:rgba(255,139,36,.25)!important}
html{scroll-behavior:smooth}body{background:#080609!important}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 85% 12%,rgba(255,139,36,.18),transparent 42%),radial-gradient(ellipse at 5% 80%,rgba(255,139,36,.08),transparent 40%)}
::selection{background:#ff7f30;color:#ffffff}
:where(.btn,.filter,.service-card,.project-card,.article-card,.skills-panel,.contact-terminal,.command-box,.article-modal-card,.float-tag,.photo-shell,.work-note,.header,.contact-dock,.contact-dock__panel){border-radius:15px!important}
.logo-mark,.logo-label .dot,.section-kicker,.prompt,.title-period,.section-heading em,.about-heading em,.contact h2 em,.term-green,.contact-mail,.text-link{color:#ff8a42!important}
.btn-primary{background:linear-gradient(115deg,#ff7824,#a8480d)!important;color:#ffffff!important;box-shadow:0 12px 42px rgba(255,139,36,.24)}
.btn-outline,.btn-small{border-color:rgba(255,139,36,.5)!important}.btn:hover,.filter:hover{box-shadow:0 0 30px rgba(255,139,36,.25)}
.hero{overflow:hidden}.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 45%,rgba(255,139,36,.05) 65%,transparent 80%);mix-blend-mode:screen}
.hero-visual{isolation:isolate;filter:drop-shadow(0 0 34px rgba(255,139,36,.18))}.photo-shell{background:radial-gradient(circle at 55% 44%,rgba(255,139,36,.19),transparent 65%)!important;overflow:visible!important}.photo-shell img{object-fit:contain!important;object-position:bottom center!important;filter:drop-shadow(0 15px 35px rgba(0,0,0,.55));animation:portraitReveal 1.65s cubic-bezier(.17,.72,.15,1) both,portraitFloat 7s ease-in-out 1.65s infinite;transform-origin:bottom center}.photo-shell::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 49%,rgba(255,139,36,.12) 50%,transparent 51%);background-size:100% 7px;opacity:.24;mix-blend-mode:screen}.photo-shell.glitch-active img{animation:portraitGlitch .38s steps(2,end) 1!important}.orbit{border-color:rgba(255,139,36,.34)!important;box-shadow:0 0 28px rgba(255,139,36,.1)}
@keyframes portraitReveal{from{opacity:0;transform:translateY(70px) scale(.94);filter:blur(16px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0) drop-shadow(0 15px 35px rgba(0,0,0,.55))}}@keyframes portraitFloat{50%{transform:translateY(-10px)}}@keyframes portraitGlitch{0%,100%{transform:translate(0);filter:none}20%{transform:translate(-8px,2px);filter:drop-shadow(6px 0 #ff7017)}40%{transform:translate(7px,-3px);filter:drop-shadow(-6px 0 #ffa319)}60%{transform:translate(-3px,5px);filter:hue-rotate(65deg)}80%{transform:translate(4px,-1px)}}
.section{position:relative}.section::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,139,36,.32),transparent);pointer-events:none}.reveal{transition-duration:.95s!important;transition-timing-function:cubic-bezier(.19,1,.22,1)!important}
.scroll-scan{position:fixed;left:0;top:0;width:100%;height:2px;z-index:110;pointer-events:none;background:linear-gradient(90deg,transparent,#ff7824,transparent);box-shadow:0 0 20px #ff7824;transform:translateY(var(--scan-y,0));opacity:.35}.scroll-chapter{position:fixed;right:18px;bottom:20px;z-index:60;font:10px/1.5 monospace;letter-spacing:2px;color:#ffaa75;opacity:.75;pointer-events:none}
.contact-dock{position:fixed;left:20px;top:50%;transform:translateY(-50%);z-index:100;display:flex;align-items:center;gap:12px;direction:ltr}.contact-dock__toggle{writing-mode:vertical-rl;transform:rotate(180deg);padding:20px 12px;background:rgba(19,9,16,.94);border:1px solid rgba(255,139,36,.55);color:#ff9f64;border-radius:15px;cursor:pointer;font:700 11px monospace;letter-spacing:3px;box-shadow:0 0 35px rgba(255,139,36,.15);transition:background .3s,box-shadow .3s}.contact-dock__toggle:hover{background:#310d1b;box-shadow:0 0 30px rgba(255,139,36,.35)}.contact-dock__panel{width:295px;padding:22px;background:linear-gradient(135deg,rgba(34,12,24,.98),rgba(255,139,36,.98));border:1px solid rgba(255,139,36,.48);box-shadow:0 20px 65px rgba(0,0,0,.65),0 0 30px rgba(255,139,36,.11);transform:translateX(-24px) scale(.96);opacity:0;visibility:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .4s,visibility .4s;backdrop-filter:blur(20px)}.contact-dock.is-open .contact-dock__panel{transform:translateX(0) scale(1);opacity:1;visibility:visible}.dock-kicker{font:10px monospace;color:#ff9f64;letter-spacing:2px}.dock-avatar{width:62px;height:62px;object-fit:cover;object-position:top;background:#220d19;border-radius:50%;border:1px solid #ff7f30}.dock-title{font-size:18px;font-weight:800;margin:13px 0 2px}.dock-sub{font-size:11px;color:#b6a7af;margin-bottom:18px}.dock-link{display:block;padding:12px 0;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:#ffffff;text-decoration:none;overflow-wrap:anywhere}.dock-link span{display:block;font:10px monospace;letter-spacing:1px;color:#ffa46c;margin-bottom:4px}.dock-action{display:block;margin-top:12px;padding:12px;background:#f7792b;color:#ffffff;text-align:center;border-radius:10px;text-decoration:none;font-weight:700;font-size:12px}.dock-close{float:right;border:0;background:transparent;color:#ffffff;cursor:pointer;font-size:19px}.dock-signal{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff8a42;box-shadow:0 0 12px #ff8a42;animation:pulseDock 2s infinite}@keyframes pulseDock{50%{opacity:.35;transform:scale(.7)}}
.redshift-grid{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.1;background-image:linear-gradient(rgba(255,139,36,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,139,36,.2) 1px,transparent 1px);background-size:85px 85px;mask-image:linear-gradient(90deg,transparent,#000000 70%);transform:perspective(700px) rotateX(10deg) translateY(var(--grid-shift,0px))}
@media(max-width:1100px){.contact-dock{left:8px;top:auto;bottom:16px;transform:none}.contact-dock__toggle{writing-mode:horizontal-tb;transform:none;padding:13px;letter-spacing:1px}.contact-dock__panel{position:absolute;bottom:55px;left:0;width:min(295px,calc(100vw - 30px))}.scroll-chapter{display:none}}@media(prefers-reduced-motion:reduce){.photo-shell img{animation:none!important}.photo-shell.glitch-active img{animation:none!important}.redshift-grid{display:none}html{scroll-behavior:auto}}
