:root{
  --accent:#ffb400;
  --dark:#111111;
  --dark-2:#181818;
  --text:#f7f7f7;
  --muted:#b8b8b8;
  --line:rgba(255,255,255,.12);
  --card:rgba(255,255,255,.055);
  --white:#ffffff;
  --header-bg:rgba(17,17,17,.68);
  --nav-bg:#151515;
  --button-secondary:rgba(255,255,255,.04);
  --panel-gradient:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035));
  --soft-gradient:linear-gradient(180deg,var(--dark-2),#101010);
  --contact-gradient:linear-gradient(135deg,rgba(255,180,0,.13),rgba(255,255,255,.045));
  --shadow:0 24px 80px rgba(0,0,0,.35);
}

[data-theme="light"]{
  --dark:#f7f3ea;
  --dark-2:#ffffff;
  --text:#151515;
  --muted:#5f5f5f;
  --line:rgba(17,17,17,.12);
  --card:rgba(255,255,255,.72);
  --header-bg:rgba(247,243,234,.78);
  --nav-bg:#ffffff;
  --button-secondary:rgba(17,17,17,.035);
  --panel-gradient:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,180,0,.08));
  --soft-gradient:linear-gradient(180deg,#ffffff,#f7f3ea);
  --contact-gradient:linear-gradient(135deg,rgba(255,180,0,.2),rgba(255,255,255,.92));
  --shadow:0 24px 80px rgba(17,17,17,.12);
}
::selection{
  background:var(--accent);
  color:#111111;
}
::-moz-selection{
  background:var(--accent);
  color:#111111;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--dark);color:var(--text);transition:background .35s ease,color .35s ease;line-height:1.7;overflow-x:hidden}
a{color:inherit;text-decoration:none} .container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.section-pad{padding:110px 0}.soft-bg{background:var(--soft-gradient)}
.cursor-glow{position:fixed;width:420px;height:420px;border-radius:999px;background:radial-gradient(circle,rgba(255,180,0,.12),transparent 60%);pointer-events:none;z-index:0;transform:translate(-50%,-50%);opacity:.8}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,4vw,56px);background:var(--header-bg);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{border-color:var(--line);padding-block:14px}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--accent);color:#111;box-shadow:0 0 35px rgba(255,180,0,.22)}.brand-text{letter-spacing:-.03em}.site-nav{display:flex;align-items:center;gap:28px;color:var(--muted);font-weight:700;font-size:14px}.site-nav a:hover{color:var(--accent)}.nav-cta{padding:10px 16px;border:1px solid var(--accent);border-radius:999px;color:var(--accent)!important}.header-actions{display:flex;align-items:center;gap:12px}.theme-toggle{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--button-secondary);color:var(--text);font-weight:900;cursor:pointer;transition:.25s}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.theme-toggle-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#111;font-size:13px}.nav-toggle{display:none;background:none;border:0;gap:5px;flex-direction:column;cursor:pointer}.nav-toggle span{display:block;width:25px;height:2px;background:var(--text)}
.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding-top:150px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;position:relative;z-index:2}.eyebrow{margin:0 0 16px;color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:.18em;font-size:12px}.hero h1,.section-title h2,.center-title h2,.resume-grid h2,.contact-box h2{font-size:clamp(40px,7vw,82px);line-height:.98;letter-spacing:-.07em;margin:0}.section-title h2,.center-title h2,.resume-grid h2,.contact-box h2{font-size:clamp(34px,5vw,58px)}.hero-text{font-size:clamp(18px,2.2vw,24px);color:var(--muted);max-width:680px;margin:26px 0}.hero-actions,.contact-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:900;transition:.25s;border:1px solid transparent}.btn-primary{background:var(--accent);color:#111}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 50px rgba(255,180,0,.25)}.btn-secondary{border-color:var(--line);color:var(--text);background:var(--button-secondary)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:42px}.hero-stats div{padding:18px;border:1px solid var(--line);background:var(--card);border-radius:22px}.hero-stats strong{display:block;color:var(--accent);font-size:28px}.hero-stats span{display:block;color:var(--muted);font-size:13px;line-height:1.3}.hero-card{position:relative;min-height:520px;display:grid;place-items:center}.profile-panel{position:relative;z-index:2;width:min(420px,100%);padding:38px;border:1px solid var(--line);border-radius:36px;background:var(--panel-gradient);box-shadow:var(--shadow);backdrop-filter:blur(16px);animation:floatPanel 6s ease-in-out infinite}.profile-avatar{width:130px;height:130px;border-radius:38px;background:var(--accent);color:#111;display:grid;place-items:center;font-size:40px;font-weight:900;margin-bottom:26px}.profile-logo{background:transparent;box-shadow:0 18px 55px rgba(255,180,0,.18)}.profile-logo img{width:100%;height:100%;display:block;border-radius:38px;filter:drop-shadow(0 14px 24px rgba(255,180,0,.22))}.profile-panel:hover .profile-logo{transform:translateY(-4px) scale(1.025);box-shadow:0 22px 70px rgba(255,180,0,.25)}.profile-logo{transition:transform .35s ease, box-shadow .35s ease}.profile-panel h2{font-size:32px;line-height:1;margin:0 0 8px}.profile-panel p{color:var(--muted);margin:0 0 22px}.tech-cloud{display:flex;gap:10px;flex-wrap:wrap}.tech-cloud span,.skills-wrap span{border:1px solid var(--line);background:var(--button-secondary);padding:8px 12px;border-radius:999px;color:var(--text);font-size:13px}.orbit{position:absolute;border:1px solid rgba(255,180,0,.45);border-radius:40%;inset:40px;animation:spin 18s linear infinite}.orbit-b{inset:85px;border-color:rgba(255,255,255,.18);animation-duration:24s;animation-direction:reverse}.hero-bg-shape{position:absolute;border-radius:999px;filter:blur(16px);opacity:.18}.shape-one{width:280px;height:280px;background:var(--accent);top:12%;right:12%;animation:pulse 5s ease-in-out infinite}.shape-two{width:180px;height:180px;background:#fff;bottom:12%;left:8%;animation:pulse 7s ease-in-out infinite reverse}.split-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.section-content p{font-size:18px;color:var(--muted)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}.info-grid div{padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--card)}.info-grid span{display:block;color:var(--accent);font-size:12px;text-transform:uppercase;font-weight:900}.center-title{text-align:center;max-width:780px;margin:0 auto 52px}.cards-grid,.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card,.project-card{padding:28px;border:1px solid var(--line);border-radius:28px;background:var(--card);transition:.25s;position:relative;overflow:hidden}.service-card:before,.project-card:before{content:"";position:absolute;inset:auto -20% -40% -20%;height:120px;background:linear-gradient(90deg,transparent,rgba(255,180,0,.16),transparent);transform:rotate(-6deg)}.service-card:hover,.project-card:hover{transform:translateY(-8px);border-color:rgba(255,180,0,.5)}.service-card span{color:var(--accent);font-weight:900}.service-card h3,.project-card h3{font-size:22px;line-height:1.1;margin:16px 0 10px}.service-card p,.project-card p,.timeline-item p,.contact-box p{color:var(--muted);margin:0}.project-grid{grid-template-columns:repeat(4,1fr)}.project-icon{width:58px;height:58px;border-radius:18px;background:var(--accent);color:#111;display:grid;place-items:center;font-weight:900}.project-card span{display:block;margin-top:18px;color:var(--accent);font-size:13px;font-weight:800}.resume-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.timeline{border-left:1px solid var(--line);padding-left:28px}.timeline-item{position:relative;padding:0 0 34px}.timeline-item:before{content:"";position:absolute;left:-35px;top:5px;width:13px;height:13px;background:var(--accent);border-radius:999px;box-shadow:0 0 0 8px rgba(255,180,0,.12)}.timeline-item span{color:var(--accent);font-weight:900;font-size:13px}.timeline-item h3{margin:6px 0 8px}.skills-wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.contact-box{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding:50px;border:1px solid rgba(255,180,0,.35);border-radius:36px;background:var(--contact-gradient);box-shadow:var(--shadow)}.contact-actions{justify-content:flex-end}.site-footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:20px}.footer-inner a{color:var(--accent)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.15s}@keyframes floatPanel{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(1deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{transform:scale(1);opacity:.14}50%{transform:scale(1.18);opacity:.26}}
@media (max-width:960px){.site-nav{position:fixed;inset:76px 20px auto 20px;padding:22px;border:1px solid var(--line);border-radius:24px;background:var(--nav-bg);display:none;flex-direction:column;align-items:flex-start}.site-nav.open{display:flex}.nav-toggle{display:flex}.hero-grid,.split-grid,.resume-grid,.contact-box{grid-template-columns:1fr}.hero-card{min-height:420px}.cards-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.contact-actions{justify-content:flex-start}}
@media (max-width:640px){.theme-toggle-text{display:none}.theme-toggle{padding:10px}.section-pad{padding:78px 0}.brand-text{display:none}.hero-stats,.info-grid,.cards-grid,.project-grid{grid-template-columns:1fr}.hero h1{font-size:44px}.profile-panel{padding:26px}.contact-box{padding:28px}.footer-inner{flex-direction:column}.cursor-glow{display:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.work-category{margin-top:46px}.work-category+.work-category{margin-top:62px}.work-category-title{display:flex;align-items:end;gap:18px;margin-bottom:22px}.work-category-title span{display:grid;place-items:center;min-width:52px;height:52px;border-radius:18px;background:var(--accent);color:#111;font-weight:900}.work-category-title h3{font-size:clamp(26px,3vw,38px);line-height:1;margin:0;letter-spacing:-.04em}.compact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.compact-card{padding:22px;border:1px solid var(--line);border-radius:24px;background:var(--card);position:relative;overflow:hidden;transition:.25s}.compact-card:after{content:"";position:absolute;top:0;right:0;width:70px;height:70px;background:radial-gradient(circle,rgba(255,180,0,.16),transparent 68%)}.compact-card:hover{transform:translateY(-6px);border-color:rgba(255,180,0,.48)}.compact-card h4{margin:0 0 8px;font-size:18px;letter-spacing:-.03em}.compact-card p{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.55}.compact-card small{color:var(--accent);font-weight:900;font-size:12px}.company-strip{margin-top:58px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.company-strip span{padding:12px 16px;border:1px solid var(--line);border-radius:999px;background:var(--button-secondary);color:var(--text);font-weight:800;font-size:14px}
@media (max-width:1100px){.compact-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:960px){.compact-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.compact-grid{grid-template-columns:1fr}.work-category-title{align-items:flex-start;flex-direction:column}.company-strip{justify-content:flex-start}}

/* Contact modal & functional form */
.nav-contact-btn{font:inherit;cursor:pointer;background:transparent}.site-nav button.nav-cta{border:1px solid var(--accent);background:transparent;color:var(--accent)!important}.contact-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px;opacity:0;pointer-events:none;transition:opacity .25s ease}.contact-modal.open{opacity:1;pointer-events:auto}.contact-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(10px)}html[data-theme="light"] .contact-modal-backdrop{background:rgba(14,18,28,.38)}.contact-modal-dialog{position:relative;width:min(560px,100%);padding:34px;border:1px solid rgba(255,180,0,.34);border-radius:34px;background:var(--panel-gradient);box-shadow:0 30px 100px rgba(0,0,0,.45);overflow:hidden;transform:translateY(24px) scale(.96);transition:transform .25s ease;animation:modalPulse 5s ease-in-out infinite}.contact-modal.open .contact-modal-dialog{transform:translateY(0) scale(1)}.modal-glow{position:absolute;inset:auto -15% -35% -15%;height:210px;background:radial-gradient(circle,rgba(255,180,0,.28),transparent 68%);pointer-events:none}.modal-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border:1px solid var(--line);border-radius:999px;background:var(--button-secondary);color:var(--text);font-size:28px;line-height:1;cursor:pointer;z-index:2;transition:.25s}.modal-close:hover{border-color:var(--accent);color:var(--accent);transform:rotate(90deg)}.contact-modal-dialog h2{font-size:clamp(30px,5vw,48px);line-height:1;margin:6px 0 10px;letter-spacing:-.05em;position:relative;z-index:1}.modal-text{color:var(--muted);margin:0 0 24px;position:relative;z-index:1}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative;z-index:1}.modal-action{padding:22px;border-radius:24px;border:1px solid var(--line);background:var(--button-secondary);color:var(--text);display:grid;gap:8px;transition:.25s;min-width:0}.modal-action:hover{transform:translateY(-6px);border-color:rgba(255,180,0,.62);box-shadow:0 18px 45px rgba(0,0,0,.22)}.modal-action.primary{background:linear-gradient(135deg,var(--accent),#ffdc73);color:#111;border-color:transparent}.modal-action.secondary:hover{color:var(--accent)}.modal-action-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.22);font-size:24px}.modal-action.secondary .modal-action-icon{background:rgba(255,180,0,.14);color:var(--accent)}.modal-action strong{font-size:20px}.modal-action small{overflow-wrap:anywhere;opacity:.75;font-weight:800}@keyframes modalPulse{0%,100%{box-shadow:0 30px 100px rgba(0,0,0,.45)}50%{box-shadow:0 30px 110px rgba(255,180,0,.18)}}@media (max-width:640px){.modal-actions{grid-template-columns:1fr}.contact-modal-dialog{padding:28px}.contact-box{gap:28px}}




/* Premium hello-style loading intro */
.intro-loader{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  background:radial-gradient(circle at 25% 20%,rgba(255,180,0,.18),transparent 34%),var(--dark);
  color:var(--text);
  overflow:hidden;
  transition:opacity .75s ease,visibility .75s ease,transform .75s ease;
}
.intro-loader.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(1.025);
}
.intro-noise{
  position:absolute;
  inset:0;
  opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(circle at center,#000 0%,transparent 75%);
  animation:introGrid 6s linear infinite;
}
.intro-orb{
  position:absolute;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,180,0,.34),transparent 66%);
  filter:blur(8px);
  opacity:.55;
  animation:introOrb 5s ease-in-out infinite;
}
.intro-orb-one{top:12%;left:8%}
.intro-orb-two{right:8%;bottom:10%;animation-delay:.8s;animation-direction:reverse}
.intro-content{
  position:relative;
  z-index:2;
  width:min(860px,calc(100% - 36px));
  text-align:center;
}
.intro-hello svg{
  width:min(760px,94vw);
  height:auto;
  overflow:visible;
}
.intro-hello text{
  font-size:132px;
  font-family:"Pacifico", "Brush Script MT", "Segoe Script", cursive;
  font-weight:400;
  letter-spacing:-.015em;
  fill:transparent;
  stroke:var(--accent);
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1180;
  stroke-dashoffset:1180;
  filter:drop-shadow(0 0 24px rgba(255,180,0,.28));
  animation:introWrite 2.05s cubic-bezier(.7,0,.2,1) forwards, introFill .65s ease forwards 1.85s;
}


.intro-logo{
  width:min(118px,34vw);
  margin:-4px auto 6px;
  color:var(--accent);
  opacity:.98;
  filter:drop-shadow(0 0 24px rgba(255,180,0,.22));
}
.intro-logo svg{
  width:100%;
  height:auto;
  overflow:visible;
}
.logo-draw{
  fill:none;
  stroke:url(#introLogoGradient);
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:420;
  stroke-dashoffset:420;
  animation:logoDraw 1.25s cubic-bezier(.7,0,.2,1) forwards;
}
.logo-shell{animation-delay:1.05s;stroke-width:3.2}
.logo-circuit{animation-delay:1.65s;opacity:.78}
.logo-circuit-two{animation-delay:1.9s;opacity:.64}
.logo-gk{
  font-family:"Inter", system-ui, sans-serif;
  font-weight:900;
  font-size:38px;
  letter-spacing:-.08em;
  fill:var(--accent);
  opacity:0;
  filter:drop-shadow(0 0 16px rgba(255,180,0,.35));
  animation:logoPop .55s cubic-bezier(.2,1.35,.3,1) forwards 2.25s;
}
.logo-node{
  fill:var(--accent);
  opacity:0;
  transform-origin:center;
  filter:drop-shadow(0 0 10px rgba(255,180,0,.85));
  animation:logoNode .35s ease forwards, rackLedPulse 1.45s ease-in-out infinite;
}
.node-one{animation-delay:2.05s,2.55s}.node-two{animation-delay:2.18s,2.72s}.node-three{animation-delay:2.32s,2.9s}
@keyframes logoDraw{to{stroke-dashoffset:0}}
@keyframes logoPop{to{opacity:1;transform:scale(1)}}
@keyframes logoNode{to{opacity:1}}

.intro-rack{
  width:min(220px,56vw);
  margin:-8px auto 10px;
  opacity:.98;
  filter:drop-shadow(0 0 22px rgba(255,180,0,.20));
}
.intro-rack svg{
  width:100%;
  height:auto;
  overflow:visible;
}
.rack-line{
  fill:none;
  stroke:var(--accent);
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:620;
  stroke-dashoffset:620;
  opacity:.92;
  animation:rackDraw 1.25s cubic-bezier(.7,0,.2,1) forwards;
}
.rack-frame{animation-delay:1.15s;stroke-width:2.8}
.rack-rail{animation-delay:1.55s;opacity:.58}
.rack-unit{animation-duration:.92s}
.unit-one{animation-delay:1.75s}
.unit-two{animation-delay:1.95s}
.unit-three{animation-delay:2.15s}
.unit-four{animation-delay:2.35s}
.rack-vent{stroke-width:2;opacity:.55;animation-duration:.75s}
.vent-one{animation-delay:2.55s}.vent-two{animation-delay:2.7s}.vent-three{animation-delay:2.85s}.vent-four{animation-delay:3s}
.rack-cable{stroke-width:2.2;opacity:.72;animation-delay:3.08s;animation-duration:1.05s}
.cable-two{animation-delay:3.25s}
.rack-led{
  fill:var(--accent);
  opacity:0;
  filter:drop-shadow(0 0 10px rgba(255,180,0,.95));
  animation:rackLed .45s ease forwards, rackLedPulse 1.2s ease-in-out infinite;
}
.led-one{animation-delay:2.75s,3.25s}.led-two{animation-delay:2.95s,3.45s}.led-three{animation-delay:3.15s,3.65s}.led-four{animation-delay:3.35s,3.85s}
@keyframes rackDraw{to{stroke-dashoffset:0}}
@keyframes rackLed{to{opacity:1}}
@keyframes rackLedPulse{0%,100%{transform:scale(1);opacity:.72}50%{transform:scale(1.55);opacity:1}}

.intro-subtitle{
  margin:4px 0 10px;
  color:var(--muted);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:12px;
  opacity:0;
  transform:translateY(12px);
  animation:introSubtitle .65s ease forwards 3.35s;
}
.intro-tagline{
  margin:0 0 28px;
  color:var(--text);
  font-size:clamp(14px,2vw,18px);
  font-weight:300;
  letter-spacing:.04em;
  opacity:0;
  transform:translateY(12px);
  animation:introSubtitle .7s ease forwards 3.75s;
}
.intro-progress{
  width:min(340px,70vw);
  height:3px;
  margin:0 auto;
  border-radius:999px;
  background:var(--line);
  overflow:hidden;
  opacity:0;
  animation:introSubtitle .45s ease forwards 4.05s;
}
.intro-progress span{
  display:block;
  height:100%;
  width:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  transform:translateX(-100%);
  animation:introProgress 3.8s ease-in-out forwards 3.1s;
}
body.intro-running{overflow:hidden}
body.intro-running .site-header,
body.intro-running main,
body.intro-running .site-footer{
  opacity:0;
}
body.intro-ready .site-header,
body.intro-ready main,
body.intro-ready .site-footer{
  opacity:1;
  transition:opacity .7s ease;
}
@keyframes introWrite{to{stroke-dashoffset:0}}
@keyframes introFill{to{fill:var(--accent)}}
@keyframes introSubtitle{to{opacity:1;transform:translateY(0)}}
@keyframes introProgress{to{transform:translateX(100%)}}
@keyframes introGrid{to{background-position:42px 42px}}
@keyframes introOrb{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(24px,-18px,0) scale(1.12)}}
@media (max-width:640px){.intro-logo{width:min(92px,30vw);margin:-6px auto 4px}.intro-rack{width:min(190px,62vw);margin:-6px auto 8px}.intro-hello text{font-size:98px}
.intro-rack{
  width:min(220px,56vw);
  margin:-8px auto 10px;
  opacity:.98;
  filter:drop-shadow(0 0 22px rgba(255,180,0,.20));
}
.intro-rack svg{
  width:100%;
  height:auto;
  overflow:visible;
}
.rack-line{
  fill:none;
  stroke:var(--accent);
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:620;
  stroke-dashoffset:620;
  opacity:.92;
  animation:rackDraw 1.25s cubic-bezier(.7,0,.2,1) forwards;
}
.rack-frame{animation-delay:1.15s;stroke-width:2.8}
.rack-rail{animation-delay:1.55s;opacity:.58}
.rack-unit{animation-duration:.92s}
.unit-one{animation-delay:1.75s}
.unit-two{animation-delay:1.95s}
.unit-three{animation-delay:2.15s}
.unit-four{animation-delay:2.35s}
.rack-vent{stroke-width:2;opacity:.55;animation-duration:.75s}
.vent-one{animation-delay:2.55s}.vent-two{animation-delay:2.7s}.vent-three{animation-delay:2.85s}.vent-four{animation-delay:3s}
.rack-cable{stroke-width:2.2;opacity:.72;animation-delay:3.08s;animation-duration:1.05s}
.cable-two{animation-delay:3.25s}
.rack-led{
  fill:var(--accent);
  opacity:0;
  filter:drop-shadow(0 0 10px rgba(255,180,0,.95));
  animation:rackLed .45s ease forwards, rackLedPulse 1.2s ease-in-out infinite;
}
.led-one{animation-delay:2.75s,3.25s}.led-two{animation-delay:2.95s,3.45s}.led-three{animation-delay:3.15s,3.65s}.led-four{animation-delay:3.35s,3.85s}
@keyframes rackDraw{to{stroke-dashoffset:0}}
@keyframes rackLed{to{opacity:1}}
@keyframes rackLedPulse{0%,100%{transform:scale(1);opacity:.72}50%{transform:scale(1.55);opacity:1}}

.intro-subtitle{letter-spacing:.18em}.intro-tagline{font-size:13px;padding:0 20px}}
@media (prefers-reduced-motion:reduce){.intro-loader{display:none!important}body.intro-running .site-header,body.intro-running main,body.intro-running .site-footer{opacity:1!important}}


/* Technology custom cursor */
@media (hover:hover) and (pointer:fine){
  body.custom-cursor-enabled,
  body.custom-cursor-enabled a,
  body.custom-cursor-enabled button,
  body.custom-cursor-enabled .btn,
  body.custom-cursor-enabled [role="button"]{
    cursor:none;
  }
  .tech-cursor,
  .tech-cursor-ring{
    position:fixed;
    left:0;
    top:0;
    pointer-events:none;
    z-index:9999;
    opacity:0;
    transform:translate3d(-50%,-50%,0);
    transition:opacity .22s ease, width .18s ease, height .18s ease, border-color .18s ease, background .18s ease;
    will-change:transform;
  }
  .tech-cursor{
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 18px rgba(255,180,0,.75), 0 0 34px rgba(255,180,0,.34);
  }
  .tech-cursor-ring{
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid rgba(255,180,0,.72);
    box-shadow:0 0 26px rgba(255,180,0,.20), inset 0 0 18px rgba(255,180,0,.10);
  }
  .tech-cursor-ring:before,
  .tech-cursor-ring:after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    background:var(--accent);
    opacity:.85;
    transform:translate(-50%,-50%);
  }
  .tech-cursor-ring:before{width:18px;height:1px}
  .tech-cursor-ring:after{width:1px;height:18px}
  body.cursor-ready .tech-cursor,
  body.cursor-ready .tech-cursor-ring{opacity:1}
  body.cursor-hover .tech-cursor{
    width:8px;
    height:8px;
    background:#111;
    box-shadow:0 0 18px rgba(255,180,0,.9);
  }
  body.cursor-hover .tech-cursor-ring{
    border-color:var(--accent);
    background:rgba(255,180,0,.12);
    box-shadow:0 0 34px rgba(255,180,0,.28), inset 0 0 22px rgba(255,180,0,.14);
  }
  body.cursor-down .tech-cursor-ring{background:rgba(255,180,0,.18)}
}
@media (hover:none), (pointer:coarse){
  .tech-cursor,.tech-cursor-ring{display:none!important}
}

/* Scroll build experience - smoother, no stuck blur */
.scroll-build-section{position:relative;isolation:isolate;--section-progress:0;--section-glow:calc(var(--section-progress) * .28)}
.scroll-build-section::after{content:"";position:absolute;left:max(20px,calc((100vw - 1160px)/2 - 28px));top:78px;width:1px;height:calc(100% - 156px);background:linear-gradient(to bottom,transparent,var(--accent),transparent);transform:scaleY(var(--section-progress));transform-origin:top;opacity:.42;pointer-events:none;box-shadow:0 0 calc(40px * var(--section-progress)) rgba(255,180,0,.32)}
.scroll-build-section .section-title,.scroll-build-section .center-title,.scroll-build-section .resume-grid>div:first-child,.scroll-build-section .contact-box{transform:translateY(calc((1 - var(--section-progress)) * 22px));opacity:clamp(.55,var(--section-progress),1);transition:transform .22s linear,opacity .22s linear}
.scroll-build-section.is-built .section-title,.scroll-build-section.is-built .center-title,.scroll-build-section.is-built .resume-grid>div:first-child,.scroll-build-section.is-built .contact-box{opacity:1;transform:none;filter:none}
.scroll-build-section .service-card,.scroll-build-section .project-card,.scroll-build-section .compact-card,.scroll-build-section .timeline-item,.scroll-build-section .skills-wrap span,.scroll-build-section .info-grid div{opacity:0;transform:translateY(34px) scale(.98);filter:blur(3px);will-change:transform,opacity}
.scroll-build-section.is-building .service-card,.scroll-build-section.is-building .project-card,.scroll-build-section.is-building .compact-card,.scroll-build-section.is-building .timeline-item,.scroll-build-section.is-building .skills-wrap span,.scroll-build-section.is-building .info-grid div{animation:buildCard .68s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--build-index,0) * 45ms)}
.scroll-build-section.is-built .service-card,.scroll-build-section.is-built .project-card,.scroll-build-section.is-built .compact-card,.scroll-build-section.is-built .timeline-item,.scroll-build-section.is-built .skills-wrap span,.scroll-build-section.is-built .info-grid div{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}
.scroll-build-section .timeline{position:relative;border-left-color:transparent}
.scroll-build-section .timeline::before{content:"";position:absolute;left:-1px;top:0;width:1px;height:100%;background:linear-gradient(to bottom,var(--accent),rgba(255,180,0,.18));transform:scaleY(var(--section-progress));transform-origin:top;box-shadow:0 0 24px rgba(255,180,0,.2)}
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:9999;pointer-events:none;background:linear-gradient(90deg,var(--accent),rgba(255,180,0,.35));transform:scaleX(0);transform-origin:left;box-shadow:0 0 18px rgba(255,180,0,.45)}
@keyframes buildCard{0%{opacity:0;transform:translateY(38px) scale(.97);filter:blur(4px)}65%{opacity:1;filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@media (prefers-reduced-motion: reduce){.scroll-build-section,.scroll-build-section *{animation:none!important;transition:none!important;filter:none!important;transform:none!important;opacity:1!important}.scroll-build-section::after,.scroll-build-section .timeline::before,.scroll-progress{display:none!important}}
@media (max-width:960px){.scroll-build-section::after{left:14px;opacity:.22}.scroll-progress{height:2px}}

/* Sexy animated Contact button in the top menu */
.site-nav .nav-contact-btn.nav-cta{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:#111!important;
  background:linear-gradient(135deg,var(--accent),#ffdc73,var(--accent));
  background-size:220% 220%;
  border-color:rgba(255,180,0,.75);
  box-shadow:0 0 0 rgba(255,180,0,0), inset 0 0 0 1px rgba(255,255,255,.18);
  transform:translateZ(0);
}
.site-nav .nav-contact-btn.nav-cta::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:conic-gradient(from 180deg,transparent,rgba(255,255,255,.85),transparent 32%,transparent 100%);
  transform:translateX(-120%) rotate(8deg);
  opacity:0;
  z-index:-1;
}
.site-nav .nav-contact-btn.nav-cta::after{
  content:"";
  position:absolute;
  inset:2px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--accent),#ffd36a);
  z-index:-2;
}
.site-nav .nav-contact-btn.nav-cta:hover,
.site-nav .nav-contact-btn.nav-cta:focus-visible{
  color:#111!important;
  transform:translateY(-3px) scale(1.04);
  background-position:100% 50%;
  box-shadow:0 14px 40px rgba(255,180,0,.34),0 0 28px rgba(255,180,0,.22);
  animation:contactButtonGlow 1.4s ease-in-out infinite;
}
.site-nav .nav-contact-btn.nav-cta:hover::before,
.site-nav .nav-contact-btn.nav-cta:focus-visible::before{
  opacity:1;
  animation:contactButtonShine .85s ease forwards;
}
.site-nav .nav-contact-btn.nav-cta:active{
  transform:translateY(-1px) scale(.98);
}
@keyframes contactButtonShine{
  0%{transform:translateX(-130%) rotate(8deg)}
  100%{transform:translateX(130%) rotate(8deg)}
}
@keyframes contactButtonGlow{
  0%,100%{box-shadow:0 14px 40px rgba(255,180,0,.28),0 0 22px rgba(255,180,0,.18)}
  50%{box-shadow:0 18px 52px rgba(255,180,0,.44),0 0 34px rgba(255,180,0,.32)}
}
@media (prefers-reduced-motion: reduce){
  .site-nav .nav-contact-btn.nav-cta:hover,
  .site-nav .nav-contact-btn.nav-cta:focus-visible{animation:none}
  .site-nav .nav-contact-btn.nav-cta:hover::before,
  .site-nav .nav-contact-btn.nav-cta:focus-visible::before{animation:none;opacity:0}
}


/* Premium tech background, terminal and interactive card effects */
.hero{overflow:hidden;perspective:1200px}
.tech-network-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:.78;mix-blend-mode:screen}
.tech-network-bg::before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,180,0,.16),transparent 26%),linear-gradient(rgba(255,180,0,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,180,0,.045) 1px,transparent 1px);background-size:auto,64px 64px,64px 64px;animation:techGridFloat 18s linear infinite}
.tech-node{position:absolute;width:5px;height:5px;border-radius:999px;background:var(--accent);box-shadow:0 0 18px rgba(255,180,0,.7);opacity:.42;animation:nodeFloat var(--node-speed,9s) ease-in-out infinite alternate;transform:translate3d(0,0,0)}
.tech-node::after{content:"";position:absolute;left:50%;top:50%;width:90px;height:1px;background:linear-gradient(90deg,rgba(255,180,0,.34),transparent);transform:rotate(var(--node-angle,0deg));transform-origin:left;opacity:.45}
.terminal-card{width:min(520px,100%);margin:26px 0 0;border:1px solid rgba(255,180,0,.25);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,180,0,.045));box-shadow:0 22px 70px rgba(0,0,0,.26), inset 0 0 38px rgba(255,180,0,.035);backdrop-filter:blur(14px);overflow:hidden;transform:translateZ(0);animation:terminalIn .9s cubic-bezier(.2,.8,.2,1) .25s both}
.terminal-top{display:flex;gap:7px;padding:13px 16px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.16)}
.terminal-top span{width:9px;height:9px;border-radius:999px;background:var(--accent);opacity:.75;box-shadow:0 0 12px rgba(255,180,0,.5)}
.terminal-top span:nth-child(2){opacity:.48}.terminal-top span:nth-child(3){opacity:.28}
.terminal-lines{padding:16px 18px 18px;font-family:"SFMono-Regular","Cascadia Code","Roboto Mono",monospace;font-size:13px;line-height:1.7;color:var(--muted)}
.terminal-lines p{margin:0;opacity:0;transform:translateX(-10px);animation:terminalLine .46s ease forwards}.terminal-lines p:nth-child(2){animation-delay:.25s}.terminal-lines p:nth-child(3){animation-delay:.48s}.terminal-lines p:nth-child(4){animation-delay:.7s}
.terminal-lines b{color:var(--accent);font-weight:800}.terminal-lines span{color:var(--accent);text-shadow:0 0 16px rgba(255,180,0,.35)}
.magnetic-btn{will-change:transform;transition:transform .18s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}
.service-card,.project-card,.compact-card,.profile-panel,.contact-box{transform-style:preserve-3d;will-change:transform}
.tilt-active{transition:transform .12s ease,border-color .25s ease,box-shadow .25s ease!important;box-shadow:0 24px 70px rgba(0,0,0,.22),0 0 40px rgba(255,180,0,.08)}
.tilt-active::after{opacity:.9!important}
.hero-stats strong{font-variant-numeric:tabular-nums}
.scroll-build-section .build-from-left{--build-x:-48px;--build-y:0}.scroll-build-section .build-from-right{--build-x:48px;--build-y:0}.scroll-build-section .build-from-top{--build-x:0;--build-y:-46px}.scroll-build-section .build-from-bottom{--build-x:0;--build-y:46px}
.scroll-build-section .service-card,.scroll-build-section .project-card,.scroll-build-section .compact-card,.scroll-build-section .timeline-item,.scroll-build-section .skills-wrap span,.scroll-build-section .info-grid div{transform:translate3d(var(--build-x,0),var(--build-y,34px),0) scale(.97)}
.scroll-build-section.is-building .service-card,.scroll-build-section.is-building .project-card,.scroll-build-section.is-building .compact-card,.scroll-build-section.is-building .timeline-item,.scroll-build-section.is-building .skills-wrap span,.scroll-build-section.is-building .info-grid div{animation:buildCardDirectional .72s cubic-bezier(.18,.82,.22,1) forwards;animation-delay:calc(var(--build-index,0) * 45ms)}
@keyframes buildCardDirectional{0%{opacity:0;transform:translate3d(var(--build-x,0),var(--build-y,40px),0) scale(.96);filter:blur(4px)}70%{opacity:1;filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes techGridFloat{0%{background-position:0 0,0 0,0 0}100%{background-position:0 0,64px 64px,64px 64px}}
@keyframes nodeFloat{0%{translate:0 0;opacity:.18}50%{opacity:.55}100%{translate:var(--node-x,20px) var(--node-y,-20px);opacity:.35}}
@keyframes terminalIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes terminalLine{to{opacity:1;transform:none}}
[data-theme="light"] .tech-network-bg{mix-blend-mode:multiply;opacity:.42}[data-theme="light"] .terminal-card{background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,180,0,.09))}
@media (max-width:960px){.tech-network-bg{opacity:.42}.terminal-card{margin-top:22px}.terminal-lines{font-size:12px}}
@media (prefers-reduced-motion:reduce){.tech-network-bg,.tech-node,.terminal-card,.terminal-lines p,.magnetic-btn,.tilt-active{animation:none!important;transition:none!important;transform:none!important}.tech-network-bg{display:none}.terminal-lines p{opacity:1}}

/* Header animated GK logo */
.brand-logo{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,180,0,.95),rgba(255,214,102,.78));border:1px solid rgba(255,180,0,.55);box-shadow:0 0 28px rgba(255,180,0,.22), inset 0 0 18px rgba(17,17,17,.12);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.brand-logo svg{width:50px;height:50px;display:block;color:#111;filter:drop-shadow(0 2px 8px rgba(0,0,0,.18))}
.brand-logo-shell,.brand-logo-circuit{fill:none;stroke:currentColor;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.brand-logo-circuit{stroke-width:4.8;opacity:.78}
.brand-logo-gk{font-size:52px;font-weight:950;letter-spacing:-.09em;fill:currentColor;font-family:Inter,system-ui,sans-serif}
.brand-logo-node{fill:currentColor;opacity:.95}
.brand:hover .brand-logo{transform:translateY(-2px) scale(1.04);box-shadow:0 0 42px rgba(255,180,0,.36),0 12px 32px rgba(0,0,0,.18), inset 0 0 18px rgba(255,255,255,.16)}
.brand:hover .brand-logo-circuit{animation:brandCircuitPulse 1.35s ease-in-out infinite}
.brand:hover .brand-logo-node{animation:brandNodeBlink 1.15s ease-in-out infinite}
@keyframes brandCircuitPulse{0%,100%{opacity:.55;stroke-dasharray:18 10}50%{opacity:1;stroke-dasharray:6 6}}
@keyframes brandNodeBlink{0%,100%{opacity:.45;transform:scale(.92);transform-origin:center}50%{opacity:1;transform:scale(1.18);transform-origin:center}}
[data-theme=light] .brand-logo{background:linear-gradient(145deg,#ffb400,#ffd666);box-shadow:0 0 26px rgba(255,180,0,.26), inset 0 0 18px rgba(255,255,255,.2)}


/* Header logo: same GK icon language as the intro loader */
.brand-mark.intro-style-logo{
  width:56px;
  height:56px;
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,180,0,.14),rgba(255,214,102,.04));
  border:1px solid rgba(255,180,0,.42);
  box-shadow:0 0 30px rgba(255,180,0,.18), inset 0 0 24px rgba(255,180,0,.06);
  color:var(--accent);
  overflow:visible;
  position:relative;
}
.brand-mark.intro-style-logo::before{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:24px;
  background:radial-gradient(circle,rgba(255,180,0,.18),transparent 62%);
  opacity:.8;
  animation:menuLogoAura 2.8s ease-in-out infinite;
  pointer-events:none;
}
.brand-mark.intro-style-logo svg{
  width:54px;
  height:54px;
  display:block;
  filter:drop-shadow(0 0 10px rgba(255,180,0,.35));
  position:relative;
  z-index:1;
}
.brand:hover .intro-style-logo{
  transform:translateY(-2px) scale(1.05);
  border-color:rgba(255,180,0,.8);
  box-shadow:0 0 45px rgba(255,180,0,.34),0 12px 32px rgba(0,0,0,.18), inset 0 0 24px rgba(255,180,0,.1);
}
@keyframes menuLogoDraw{
  0%{stroke-dashoffset:360;opacity:.35}
  28%{stroke-dashoffset:0;opacity:1}
  72%{stroke-dashoffset:0;opacity:1}
  100%{stroke-dashoffset:360;opacity:.45}
}
@keyframes menuLogoGK{
  0%,18%{opacity:0;transform:scale(.92)}
  34%,78%{opacity:1;transform:scale(1)}
  100%{opacity:.15;transform:scale(.96)}
}
@keyframes menuLogoNode{
  0%,28%{opacity:0;transform:scale(.4)}
  38%,78%{opacity:1;transform:scale(1)}
  88%{opacity:.55;transform:scale(1.25)}
  100%{opacity:0;transform:scale(.4)}
}
@keyframes menuLogoAura{
  0%,100%{opacity:.35;transform:scale(.96)}
  50%{opacity:.9;transform:scale(1.06)}
}
@media (prefers-reduced-motion: reduce){
  }

/* Restored original menu logo */


/* Header animated GK logo */
.brand-logo{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,180,0,.95),rgba(255,214,102,.78));border:1px solid rgba(255,180,0,.55);box-shadow:0 0 28px rgba(255,180,0,.22), inset 0 0 18px rgba(17,17,17,.12);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}

.brand-logo svg{width:50px;height:50px;display:block;color:#111;filter:drop-shadow(0 2px 8px rgba(0,0,0,.18))}

.brand-logo-shell,.brand-logo-circuit{fill:none;stroke:currentColor;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}

.brand-logo-circuit{stroke-width:4.8;opacity:.78}

.brand-logo-gk{font-size:52px;font-weight:950;letter-spacing:-.09em;fill:currentColor;font-family:Inter,system-ui,sans-serif}

.brand-logo-node{fill:currentColor;opacity:.95}

.brand:hover .brand-logo{transform:translateY(-2px) scale(1.04);box-shadow:0 0 42px rgba(255,180,0,.36),0 12px 32px rgba(0,0,0,.18), inset 0 0 18px rgba(255,255,255,.16)}

.brand:hover .brand-logo-circuit{animation:brandCircuitPulse 1.35s ease-in-out infinite}

.brand:hover .brand-logo-node{animation:brandNodeBlink 1.15s ease-in-out infinite}

[data-theme=light] .brand-logo{background:linear-gradient(145deg,#ffb400,#ffd666);box-shadow:0 0 26px rgba(255,180,0,.26), inset 0 0 18px rgba(255,255,255,.2)}


/* Bilingual language toggle */
.lang-toggle{
  min-width:46px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,180,0,.38);
  background:rgba(255,180,0,.08);
  color:var(--text);
  font-weight:900;
  letter-spacing:.08em;
  cursor:pointer;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;
}
.lang-toggle:hover{
  transform:translateY(-2px);
  border-color:rgba(255,180,0,.86);
  background:linear-gradient(135deg,rgba(255,180,0,.95),rgba(255,214,102,.9));
  color:#111;
  box-shadow:0 0 28px rgba(255,180,0,.28);
}
.lang-current{display:inline-block;line-height:1}
[data-theme=light] .lang-toggle{color:#111;background:rgba(255,180,0,.16)}
@media (max-width:760px){.lang-toggle{height:38px;min-width:42px;font-size:.78rem}}


/* SEO / FAQ section */
.noscript-seo { padding: 14px 20px; text-align: center; background: var(--accent); color: #0b0b0b; font-weight: 700; }
.faq-section { position: relative; }
.faq-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.faq-card { border: 1px solid var(--border); background: var(--card); border-radius: 26px; padding: 28px; box-shadow: var(--shadow-soft); transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease; }
.faq-card h3 { margin: 0 0 12px; font-size: 1.05rem; letter-spacing: -.02em; color: var(--text); }
.faq-card p { margin: 0; color: var(--muted); line-height: 1.75; }
.faq-card:hover { transform: translateY(-8px); border-color: rgba(255,183,3,.55); box-shadow: 0 24px 70px rgba(255,183,3,.12); }
@media (max-width: 900px) { .faq-grid { grid-template-columns: 1fr; } }


/* Desktop small-window cursor fix: keep custom cursor on narrow desktop browsers.
   Disable it only on real touch/coarse-pointer devices. */
@media (hover:hover) and (pointer:fine){
  .tech-cursor,
  .tech-cursor-ring{
    display:block!important;
  }
}

/* Mobile/touch safety: keep content visible and use the native touch cursor/scroll. */
@media (hover:none), (pointer:coarse){
  body, body.custom-cursor-enabled,
  body.custom-cursor-enabled a,
  body.custom-cursor-enabled button,
  body.custom-cursor-enabled .btn,
  body.custom-cursor-enabled [role="button"]{
    cursor:auto!important;
  }
  .tech-cursor,.tech-cursor-ring{display:none!important}
  .scroll-build-section,
  .scroll-build-section .section-title,
  .scroll-build-section .center-title,
  .scroll-build-section .resume-grid>div:first-child,
  .scroll-build-section .contact-box,
  .scroll-build-section .service-card,
  .scroll-build-section .project-card,
  .scroll-build-section .compact-card,
  .scroll-build-section .timeline-item,
  .scroll-build-section .skills-wrap span,
  .scroll-build-section .info-grid div{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    animation:none!important;
  }
}

.email-obfuscated-link{font:inherit;border:0;background:transparent;color:var(--text);font-weight:900;padding:0;cursor:pointer;text-align:left;transition:.25s}
.email-obfuscated-link:hover{color:var(--accent);text-shadow:0 0 18px rgba(255,180,0,.25)}
button.modal-action{font:inherit;text-align:left;cursor:pointer}
button.btn{cursor:pointer}
.modal-actions{grid-template-columns:1fr}

/* AI / LLM readable summary section */
.ai-summary-section {
  position: relative;
}
.ai-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}
.ai-summary-card {
  border: 1px solid var(--border);
  background: linear-gradient(145deg, var(--card), var(--card-soft));
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow-soft);
  position: relative;
  overflow: hidden;
}
.ai-summary-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(255, 183, 3, .16), transparent 34%);
  pointer-events: none;
}
.ai-summary-card h3 {
  margin: 0 0 10px;
  color: var(--text);
}
.ai-summary-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}
@media (max-width: 860px) {
  .ai-summary-grid {
    grid-template-columns: 1fr;
  }
}
