/* Portfolio v2: restrained editorial design system */
:root { --ink:#101313; --muted:#6d7775; --paper:#f4f5f1; --line:#d7dad4; --lime:#c7ff43; --lime-deep:#9bdb00; --dark:#101313; --card:#fff; --radius:18px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.portfolio-v2 { background:var(--paper); color:var(--ink); font-family:'Space Grotesk',sans-serif; cursor:auto; }
body.portfolio-v2::before { content:''; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.42; background-image:linear-gradient(rgba(16,19,19,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,19,19,.035) 1px,transparent 1px); background-size:32px 32px; }
.portfolio-v2 #bgCanvas,.portfolio-v2 #particleSystem,.portfolio-v2 .cursor,.portfolio-v2 .cursor-follower,.portfolio-v2 .cursor-trail,.portfolio-v2 .loading-screen,.portfolio-v2 .hero-bg-gradient,.portfolio-v2 .hero-particles { display:none!important; }
.portfolio-v2 .navbar { height:76px; background:rgba(244,245,241,.88); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); box-shadow:none; }
.portfolio-v2 .nav-container { max-width:1240px; height:100%; padding:0 28px; }
.portfolio-v2 .logo-3d { width:auto; height:auto; border:0; background:none; box-shadow:none; transform:none!important; }
.portfolio-v2 .logo-text,.portfolio-v2 .footer-logo { font-size:1.25rem; color:var(--ink); letter-spacing:-.08em; font-weight:800; }
.portfolio-v2 .logo-glow { display:none; }
.portfolio-v2 .nav-links { gap:28px; }
.portfolio-v2 .nav-link { color:var(--muted); font-size:.82rem; font-weight:600; letter-spacing:.03em; }
.portfolio-v2 .nav-link:hover,.portfolio-v2 .nav-link.active { color:var(--ink); }
.portfolio-v2 .nav-link .link-dot { display:none; }
.portfolio-v2 .hero { min-height:790px; padding:76px 28px 0; background:transparent; display:block; }
.portfolio-v2 .hero-container { max-width:1184px; min-height:714px; margin:auto; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); align-content:center; gap:70px; position:relative; }
.portfolio-v2 .hero-content { max-width:790px; padding-top:65px; }
.portfolio-v2 .hero-badge { width:max-content; padding:8px 12px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font-size:.76rem; font-weight:600; box-shadow:none; }
.portfolio-v2 .badge-pulse { width:7px; height:7px; background:var(--lime-deep); box-shadow:none; }
.portfolio-v2 .hero-title { margin:28px 0 22px; font-size:clamp(3.2rem,7.2vw,6.5rem); line-height:.95; letter-spacing:-.075em; color:var(--ink); }
.portfolio-v2 .title-line { display:block; }
.portfolio-v2 .title-gradient { color:var(--lime-deep); background:none; -webkit-text-fill-color:initial; }
.portfolio-v2 .title-underline { display:none; }
.portfolio-v2 .hero-subtitle { max-width:580px; font-size:1.14rem; line-height:1.65; color:var(--muted); }
.portfolio-v2 .hero-cta { margin-top:34px; gap:12px; }
.portfolio-v2 .btn-primary,.portfolio-v2 .btn-secondary,.portfolio-v2 .btn-submit { border-radius:8px; padding:14px 19px; box-shadow:none; font-size:.9rem; font-weight:700; transition:transform .2s,background .2s; }
.portfolio-v2 .btn-primary,.portfolio-v2 .btn-submit { background:var(--ink); color:#fff; border:1px solid var(--ink); }
.portfolio-v2 .btn-primary:hover,.portfolio-v2 .btn-submit:hover { background:var(--lime); color:var(--ink); transform:translateY(-2px); box-shadow:none; }
.portfolio-v2 .btn-secondary { color:var(--ink); background:transparent; border:1px solid var(--line); }
.portfolio-v2 .btn-secondary:hover { background:#fff; border-color:var(--ink); transform:translateY(-2px); }
.portfolio-v2 .btn-glow { display:none; }
.portfolio-v2 .hero-social { margin-top:38px; }
.portfolio-v2 .hero-social a { color:var(--ink); background:none; border:0; padding:0; margin-right:16px; }
.portfolio-v2 .hero-terminal { align-self:center; background:var(--dark); color:#e6ece6; border-radius:var(--radius); overflow:hidden; box-shadow:12px 12px 0 var(--lime); transform:rotate(2deg); }
.portfolio-v2 .terminal-bar { height:45px; padding:0 15px; display:flex; align-items:center; gap:6px; border-bottom:1px solid #313937; }
.portfolio-v2 .terminal-bar span { width:8px; height:8px; border-radius:50%; background:#77807c; }.portfolio-v2 .terminal-bar span:first-child { background:#ff7d66; }.portfolio-v2 .terminal-bar span:nth-child(2) { background:#f4cb59; }
.portfolio-v2 .terminal-bar code { color:#aeb7b2; font-size:.7rem; margin-left:8px; }.portfolio-v2 .terminal-body { padding:25px; font:500 .9rem/1.7 ui-monospace,SFMono-Regular,Menlo,monospace; }.portfolio-v2 .terminal-body p { margin:0; color:#c7ff43; }.portfolio-v2 .terminal-body strong,.portfolio-v2 .terminal-body em { display:block; padding:0 0 16px 17px; font-style:normal; color:#f4f5f1; }.portfolio-v2 .terminal-body b { color:var(--lime); font-weight:500; }
.portfolio-v2 .hero-scroll { color:var(--muted); bottom:30px; left:0; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; }.portfolio-v2 .hero-scroll i { color:var(--ink); }
.portfolio-v2 section:not(.hero) { padding:120px 28px; background:transparent; }
.portfolio-v2 .section-container { max-width:1184px; margin:auto; }.portfolio-v2 .section-header,.portfolio-v2 .blog-header { max-width:720px; margin:0 0 55px; text-align:left; }
.portfolio-v2 .section-subtitle { color:var(--muted); font-size:.76rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.portfolio-v2 .section-title { color:var(--ink); font-size:clamp(2.2rem,4.8vw,4rem); line-height:1.04; letter-spacing:-.06em; margin:15px 0; }.portfolio-v2 .section-divider { width:48px; height:3px; background:var(--lime); margin:18px 0; }.portfolio-v2 .section-description,.portfolio-v2 .blog-header p { color:var(--muted); font-size:1rem; line-height:1.65; }
.portfolio-v2 .about { background:#fff!important; border-block:1px solid var(--line); }.portfolio-v2 .about-grid { gap:70px; align-items:start; }.portfolio-v2 .about-badge { background:var(--lime); color:var(--ink); border:0; box-shadow:none; border-radius:7px; }.portfolio-v2 .about-name { font-size:2rem; color:var(--ink); letter-spacing:-.04em; }.portfolio-v2 .about-text { color:#4e5855; line-height:1.7; }.portfolio-v2 .personal-info { gap:10px; }.portfolio-v2 .info-row { gap:10px; }.portfolio-v2 .info-item { background:var(--paper); border:1px solid var(--line); border-radius:8px; color:#45504d; }.portfolio-v2 .info-item i { color:var(--ink); }.portfolio-v2 .about-stats-enhanced { gap:12px; }.portfolio-v2 .stat-circle { width:132px; height:132px; background:var(--paper); border:1px solid var(--line); border-radius:10px; }.portfolio-v2 .stat-circle svg { display:none; }.portfolio-v2 .stat-circle-content { position:static; }.portfolio-v2 .stat-number { color:var(--ink); font-size:1.8rem; }.portfolio-v2 .stat-label { color:var(--muted); }
.portfolio-v2 .image-container-premium { max-width:370px; margin:auto; }.portfolio-v2 .image-glow-ring,.portfolio-v2 .image-border-animated,.portfolio-v2 .floating-element { display:none; }.portfolio-v2 .image-wrapper-premium { border:1px solid var(--line); border-radius:var(--radius); background:var(--ink); padding:12px; box-shadow:14px 14px 0 var(--lime); }.portfolio-v2 .image-content-premium { border-radius:10px; }.portfolio-v2 .profile-placeholder { background:var(--ink); }.portfolio-v2 .experience-badge { background:var(--lime); color:var(--ink); border:1px solid var(--ink); box-shadow:none; }.portfolio-v2 .experience-badge .badge-text { color:var(--ink); }.portfolio-v2 .timeline-section { margin-top:90px; }.portfolio-v2 .timeline-title { color:var(--ink); }.portfolio-v2 .timeline::before { background:var(--line); }.portfolio-v2 .timeline-dot { background:var(--lime); box-shadow:0 0 0 4px #fff,0 0 0 5px var(--ink); }.portfolio-v2 .timeline-date { color:var(--muted); }.portfolio-v2 .timeline-content { background:var(--paper); border:1px solid var(--line); border-radius:8px; box-shadow:none; }.portfolio-v2 .timeline-content h4 { color:var(--ink); }.portfolio-v2 .timeline-content p { color:var(--muted); }
.portfolio-v2 .skills { background:var(--paper)!important; }.portfolio-v2 .skills-showcase { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.portfolio-v2 .skill-category { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px; }.portfolio-v2 .category-header { border-bottom:1px solid var(--line); padding-bottom:15px; }.portfolio-v2 .category-header i { color:var(--ink); }.portfolio-v2 .category-header h3 { color:var(--ink); font-size:1rem; }.portfolio-v2 .category-line { display:none; }.portfolio-v2 .skill-item { padding:14px 0; border-bottom:1px solid #edf0eb; }.portfolio-v2 .skill-name,.portfolio-v2 .skill-percentage { color:var(--ink); }.portfolio-v2 .skill-name i { color:var(--lime-deep); }.portfolio-v2 .progress-bar-container { height:5px; background:#e7ebe4; border-radius:99px; }.portfolio-v2 .progress-bar { background:var(--ink); border-radius:99px; }.portfolio-v2 .skill-stats { grid-template-columns:repeat(3,1fr); gap:12px; }.portfolio-v2 .stat-card { background:transparent; border:1px solid var(--line); box-shadow:none; border-radius:10px; }.portfolio-v2 .stat-icon { color:var(--ink); background:var(--lime); }.portfolio-v2 .stat-info .stat-label { color:var(--muted); }
.portfolio-v2 .projects { background:var(--dark)!important; color:#fff; }.portfolio-v2 .projects .section-title { color:#fff; }.portfolio-v2 .projects .section-subtitle,.portfolio-v2 .projects .section-description { color:#aab2ad; }.portfolio-v2 .projects .section-divider { background:var(--lime); }.portfolio-v2 .projects-grid { grid-template-columns:repeat(3,1fr); gap:18px; }.portfolio-v2 .project-card { background:#1b201f; border:1px solid #323a37; border-radius:var(--radius); overflow:hidden; box-shadow:none; }.portfolio-v2 .project-card:hover { transform:translateY(-5px); border-color:var(--lime); box-shadow:none; }.portfolio-v2 .project-card img { height:205px; }.portfolio-v2 .project-content { padding:22px; }.portfolio-v2 .project-title { color:#fff; }.portfolio-v2 .project-description,.portfolio-v2 .project-description-full { color:#aeb7b2; }.portfolio-v2 .tech-tag { color:#dbe3da; border:1px solid #3c4743; background:transparent; }.portfolio-v2 .project-link,.portfolio-v2 .read-more-btn { color:var(--lime); }
.portfolio-v2 .blog-section { background:#fff!important; border-bottom:1px solid var(--line); }.portfolio-v2 .blog-grid { grid-template-columns:repeat(3,1fr); gap:18px; }.portfolio-v2 .blog-card { border:1px solid var(--line); border-radius:12px; box-shadow:none; }.portfolio-v2 .blog-card:hover { transform:translateY(-4px); box-shadow:none; }.portfolio-v2 .blog-card-content { padding:20px; }.portfolio-v2 .blog-category { color:var(--ink); background:var(--lime); }.portfolio-v2 .blog-card-title { color:var(--ink); }.portfolio-v2 .blog-card-excerpt,.portfolio-v2 .blog-card-meta { color:var(--muted); }
.portfolio-v2 .contact { background:var(--paper)!important; }.portfolio-v2 .contact-wrapper { display:grid; grid-template-columns:.75fr 1.25fr; gap:48px; }.portfolio-v2 .info-card,.portfolio-v2 .contact-form { border:1px solid var(--line); background:#fff; border-radius:12px; box-shadow:none; }.portfolio-v2 .info-card:hover { border-color:var(--ink); transform:none; }.portfolio-v2 .info-card i { color:var(--ink); }.portfolio-v2 .info-card h3 { color:var(--ink); }.portfolio-v2 .info-card p,.portfolio-v2 .info-card a { color:var(--muted); }.portfolio-v2 .contact-form { padding:28px; }.portfolio-v2 .form-group input,.portfolio-v2 .form-group textarea { background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:7px; }.portfolio-v2 .form-group input:focus,.portfolio-v2 .form-group textarea:focus { border-color:var(--ink); box-shadow:0 0 0 3px rgba(199,255,67,.55); }.portfolio-v2 .input-border { display:none; }
.portfolio-v2 footer { background:var(--dark); border:0; }.portfolio-v2 .footer-container { max-width:1184px; padding:28px; }.portfolio-v2 .footer-logo { color:#fff; }.portfolio-v2 .footer-text { color:#aeb7b2; }.portfolio-v2 .footer-social a { color:#fff; border:1px solid #3b4642; background:transparent; }.portfolio-v2 .footer-social a:hover { background:var(--lime); color:var(--ink); }
.portfolio-v2 .chatbot-toggle { background:var(--lime); color:var(--ink); box-shadow:none; }.portfolio-v2 .chatbot-container { border:1px solid var(--line); box-shadow:0 18px 50px rgba(0,0,0,.16); }
@media (max-width:850px) { .portfolio-v2 .hero { min-height:auto; }.portfolio-v2 .hero-container { min-height:auto; grid-template-columns:1fr; padding:80px 0 100px; gap:52px; }.portfolio-v2 .hero-content { padding:0; }.portfolio-v2 .hero-terminal { max-width:440px; width:calc(100% - 14px); justify-self:center; }.portfolio-v2 .hero-scroll { display:none; }.portfolio-v2 .about-grid,.portfolio-v2 .contact-wrapper { grid-template-columns:1fr; }.portfolio-v2 .skills-showcase,.portfolio-v2 .projects-grid,.portfolio-v2 .blog-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .portfolio-v2 .navbar { height:64px; }.portfolio-v2 .nav-container { padding:0 18px; }.portfolio-v2 .menu-toggle { display:flex!important; }.portfolio-v2 .menu-toggle span { background:var(--ink)!important; }.portfolio-v2 .nav-links { top:64px!important; background:var(--paper)!important; border-bottom:1px solid var(--line)!important; box-shadow:none!important; }.portfolio-v2 .hero,.portfolio-v2 section:not(.hero) { padding-left:20px; padding-right:20px; }.portfolio-v2 section:not(.hero) { padding-top:85px; padding-bottom:85px; }.portfolio-v2 .hero-title { font-size:clamp(3rem,15vw,4.5rem); }.portfolio-v2 .skills-showcase,.portfolio-v2 .projects-grid,.portfolio-v2 .blog-grid,.portfolio-v2 .skill-stats { grid-template-columns:1fr; }.portfolio-v2 .info-row { flex-direction:column; }.portfolio-v2 .about-stats-enhanced { flex-wrap:wrap; }.portfolio-v2 .timeline::before { left:8px; }.portfolio-v2 .timeline-item { padding-left:32px; }.portfolio-v2 .timeline-dot { left:0; }.portfolio-v2 .timeline-date { margin-bottom:9px; } }

/* Authoritative palette — this comes last to neutralize the legacy theme. */
body.portfolio-v2 { background:#101313!important; color:#eef2ed!important; }
body.portfolio-v2 h1,body.portfolio-v2 h2,body.portfolio-v2 h3,body.portfolio-v2 h4,body.portfolio-v2 p,body.portfolio-v2 a,body.portfolio-v2 span,body.portfolio-v2 button,body.portfolio-v2 input,body.portfolio-v2 textarea { font-family:'Space Grotesk',sans-serif!important; }
body.portfolio-v2::before { opacity:.16!important; }
.portfolio-v2 .navbar,.portfolio-v2 .navbar.scrolled { background:rgba(16,19,19,.94)!important; border-color:#29312e!important; }
.portfolio-v2 .logo-text { color:#c7ff43!important; background:none!important; -webkit-text-fill-color:#c7ff43!important; }
.portfolio-v2 .nav-link,.portfolio-v2 .nav-link .link-text { color:#aeb7b2!important; }.portfolio-v2 .nav-link.active,.portfolio-v2 .nav-link:hover,.portfolio-v2 .nav-link.active .link-text { color:#fff!important; }
.portfolio-v2 .hero,.portfolio-v2 .about,.portfolio-v2 .skills,.portfolio-v2 .projects,.portfolio-v2 .blog-section,.portfolio-v2 .contact { background:#101313!important; color:#eef2ed!important; border-color:#29312e!important; }
.portfolio-v2 .hero-title,.portfolio-v2 .title-line,.portfolio-v2 .title-line-1,.portfolio-v2 .title-line-3 { color:#f4f7f2!important; -webkit-text-fill-color:#f4f7f2!important; background:none!important; }
.portfolio-v2 .title-gradient,.portfolio-v2 .title-line-2 { color:#c7ff43!important; -webkit-text-fill-color:#c7ff43!important; background:none!important; }
.portfolio-v2 .hero-subtitle,.portfolio-v2 .section-description,.portfolio-v2 .blog-header p { color:#aeb7b2!important; }
.portfolio-v2 .hero-badge { background:#1b201f!important; color:#eef2ed!important; border-color:#394440!important; }.portfolio-v2 .badge-text { color:#eef2ed!important; }
.portfolio-v2 .section-title,.portfolio-v2 .about-name,.portfolio-v2 #aboutTitle,.portfolio-v2 .timeline-title,.portfolio-v2 .timeline-content h4,.portfolio-v2 .category-header h3,.portfolio-v2 .skill-name,.portfolio-v2 .skill-percentage,.portfolio-v2 .stat-number,.portfolio-v2 .info-card h3 { color:#f4f7f2!important; -webkit-text-fill-color:#f4f7f2!important; background:none!important; }
.portfolio-v2 .section-subtitle,.portfolio-v2 .stat-label,.portfolio-v2 .timeline-date,.portfolio-v2 .timeline-content p,.portfolio-v2 .about-text,.portfolio-v2 .info-item,.portfolio-v2 .info-card p,.portfolio-v2 .info-card a { color:#aeb7b2!important; }
.portfolio-v2 .about-badge,.portfolio-v2 .experience-badge,.portfolio-v2 .stat-icon { background:#c7ff43!important; color:#101313!important; }.portfolio-v2 .about-badge span,.portfolio-v2 .experience-badge .badge-text,.portfolio-v2 .experience-badge .badge-number { color:#101313!important; }
.portfolio-v2 .info-item,.portfolio-v2 .stat-circle,.portfolio-v2 .timeline-content,.portfolio-v2 .skill-category,.portfolio-v2 .stat-card,.portfolio-v2 .blog-card,.portfolio-v2 .info-card,.portfolio-v2 .contact-form { background:#171b1a!important; border-color:#303936!important; box-shadow:none!important; }
.portfolio-v2 .profile-placeholder,.portfolio-v2 .image-wrapper-premium { background:#171b1a!important; border-color:#394440!important; }
.portfolio-v2 .project-card { background:#171b1a!important; border-color:#303936!important; }.portfolio-v2 .project-title,.portfolio-v2 .blog-card-title { color:#f4f7f2!important; }.portfolio-v2 .project-description,.portfolio-v2 .project-description-full,.portfolio-v2 .blog-card-excerpt,.portfolio-v2 .blog-card-meta { color:#aeb7b2!important; }
.portfolio-v2 .form-group input,.portfolio-v2 .form-group textarea { background:#101313!important; color:#f4f7f2!important; border-color:#394440!important; }.portfolio-v2 .form-group input::placeholder,.portfolio-v2 .form-group textarea::placeholder { color:#7f8a85!important; }
.portfolio-v2 .btn-secondary { color:#eef2ed!important; border-color:#45514d!important; }.portfolio-v2 .btn-secondary:hover { background:#1b201f!important; border-color:#c7ff43!important; }.portfolio-v2 footer { background:#0b0d0c!important; border-top:1px solid #29312e!important; }
@media (max-width:600px) { .portfolio-v2 .nav-links { background:#101313!important; border-color:#29312e!important; }.portfolio-v2 .menu-toggle span { background:#eef2ed!important; } }

@media (max-width:768px) {
  .portfolio-v2 .menu-toggle { appearance:none; border:1px solid #394440; background:#171b1a; border-radius:7px; align-items:center; justify-content:center; width:42px; height:38px; }
  .portfolio-v2 .menu-toggle span { display:block; width:19px!important; height:2px!important; background:#eef2ed!important; }
  .portfolio-v2 .nav-links.active { display:flex!important; position:absolute!important; top:100%!important; left:0!important; width:100%!important; padding:20px!important; gap:4px!important; background:#101313!important; border-bottom:1px solid #29312e!important; box-shadow:0 16px 30px rgba(0,0,0,.25)!important; z-index:1002!important; }
  .portfolio-v2 .nav-links.active .nav-link { padding:13px 8px!important; }
}

/* Navigation v3 — isolated from the old navigation component. */
.portfolio-v2 .navbar,.portfolio-v2 .navbar.scrolled { height:76px!important; padding:0!important; background:rgba(16,19,19,.96)!important; border-bottom:1px solid #29312e!important; }
.portfolio-v2 .nav-container { max-width:1240px!important; height:76px!important; padding:0 28px!important; display:flex!important; align-items:center!important; justify-content:space-between!important; gap:24px!important; }
.portfolio-v2 .brand { display:inline-flex!important; align-items:center!important; gap:10px!important; color:#f4f7f2!important; text-decoration:none!important; flex-shrink:0!important; }.portfolio-v2 .brand-mark { display:grid!important; place-items:center!important; width:34px!important; height:34px!important; border:1px solid #c7ff43!important; border-radius:8px!important; }.portfolio-v2 .brand .logo-text { font-size:.88rem!important; }.portfolio-v2 .brand-name { font-size:.86rem!important; font-weight:700!important; line-height:1.05!important; letter-spacing:-.02em!important; }.portfolio-v2 .brand-name small { display:block!important; margin-top:3px!important; color:#8e9a94!important; font-size:.59rem!important; font-weight:600!important; letter-spacing:.08em!important; text-transform:uppercase!important; }
.portfolio-v2 .nav-links { display:flex!important; position:static!important; width:auto!important; padding:0!important; gap:3px!important; background:transparent!important; border:0!important; box-shadow:none!important; }.portfolio-v2 .nav-kicker { display:none!important; }.portfolio-v2 .nav-link { display:flex!important; align-items:center!important; gap:6px!important; width:auto!important; padding:9px 10px!important; color:#aeb7b2!important; font-size:.76rem!important; font-weight:600!important; text-decoration:none!important; }.portfolio-v2 .nav-link b { display:none!important; }.portfolio-v2 .nav-link:hover,.portfolio-v2 .nav-link.active { color:#f4f7f2!important; background:#1b201f!important; border-radius:6px!important; }.portfolio-v2 .nav-contact { color:#101313!important; background:#c7ff43!important; border-radius:6px!important; margin-left:7px!important; }.portfolio-v2 .nav-contact:hover { color:#101313!important; background:#d7ff75!important; }.portfolio-v2 .nav-availability { display:flex!important; align-items:center!important; gap:7px!important; color:#aeb7b2!important; font-size:.7rem!important; text-decoration:none!important; white-space:nowrap!important; }.portfolio-v2 .nav-availability i { width:7px!important; height:7px!important; border-radius:50%!important; background:#c7ff43!important; }.portfolio-v2 .menu-toggle { display:none!important; }
@media (max-width:850px) { .portfolio-v2 .nav-container { padding:0 20px!important; }.portfolio-v2 .nav-links { gap:0!important; }.portfolio-v2 .nav-link { padding:8px!important; }.portfolio-v2 .nav-availability { display:none!important; } }
@media (max-width:700px) { body.portfolio-v2.nav-open { overflow:hidden!important; }.portfolio-v2 .navbar,.portfolio-v2 .navbar.scrolled { height:68px!important; }.portfolio-v2 .nav-container { height:68px!important; padding:0 18px!important; }.portfolio-v2 .brand-name { font-size:.8rem!important; }.portfolio-v2 .nav-availability { display:none!important; }.portfolio-v2 .menu-toggle { display:grid!important; place-items:center!important; position:relative!important; width:42px!important; height:42px!important; padding:0!important; border:1px solid #394440!important; border-radius:50%!important; background:#171b1a!important; z-index:1005!important; }.portfolio-v2 .menu-toggle span { position:absolute!important; width:17px!important; height:2px!important; margin:0!important; background:#f4f7f2!important; transition:transform .2s ease!important; }.portfolio-v2 .menu-toggle span:first-child { transform:translateY(-4px)!important; }.portfolio-v2 .menu-toggle span:last-child { transform:translateY(4px)!important; }.portfolio-v2 .menu-toggle.active span:first-child { transform:rotate(45deg)!important; }.portfolio-v2 .menu-toggle.active span:last-child { transform:rotate(-45deg)!important; }.portfolio-v2 .nav-links,.portfolio-v2 .nav-links.active { display:flex!important; visibility:hidden!important; opacity:0!important; pointer-events:none!important; position:fixed!important; inset:68px 0 0!important; width:100%!important; min-height:calc(100dvh - 68px)!important; padding:40px 24px!important; flex-direction:column!important; align-items:stretch!important; justify-content:flex-start!important; gap:4px!important; background:#101313!important; border:0!important; border-top:1px solid #29312e!important; transform:translateY(-10px)!important; transition:opacity .2s ease,transform .2s ease,visibility .2s!important; z-index:1004!important; }.portfolio-v2 .nav-links.active { visibility:visible!important; opacity:1!important; pointer-events:auto!important; transform:translateY(0)!important; }.portfolio-v2 .nav-kicker { display:block!important; margin:0 0 20px!important; color:#7f8a85!important; font-size:.67rem!important; letter-spacing:.14em!important; text-transform:uppercase!important; }.portfolio-v2 .nav-link { display:flex!important; justify-content:space-between!important; width:100%!important; padding:16px 0!important; color:#f4f7f2!important; border-bottom:1px solid #29312e!important; border-radius:0!important; font-size:clamp(1.25rem,7vw,1.8rem)!important; letter-spacing:-.04em!important; }.portfolio-v2 .nav-link b { display:block!important; color:#7f8a85!important; font-size:.7rem!important; font-weight:600!important; letter-spacing:.08em!important; }.portfolio-v2 .nav-link:hover,.portfolio-v2 .nav-link.active { background:transparent!important; color:#c7ff43!important; }.portfolio-v2 .nav-contact { margin:18px 0 0!important; padding:16px 18px!important; border:0!important; border-radius:8px!important; color:#101313!important; background:#c7ff43!important; }.portfolio-v2 .nav-contact b { color:#101313!important; font-size:1.1rem!important; } }

/* Section layout reset: legacy components no longer determine spacing or typography. */
.portfolio-v2 .about,.portfolio-v2 .skills,.portfolio-v2 .projects,.portfolio-v2 .blog-section,.portfolio-v2 .contact { min-height:0!important; padding:96px 28px!important; overflow:visible!important; }
.portfolio-v2 .about .section-header,.portfolio-v2 .skills .section-header,.portfolio-v2 .projects .section-header,.portfolio-v2 .blog-header,.portfolio-v2 .contact .section-header { display:block!important; max-width:760px!important; margin:0 0 52px!important; padding:0!important; text-align:left!important; }
.portfolio-v2 .about-grid { display:grid!important; grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr)!important; gap:72px!important; align-items:start!important; margin:0!important; }
.portfolio-v2 .about-content { min-width:0!important; padding:0!important; }.portfolio-v2 .about-content > * { max-width:680px!important; }
.portfolio-v2 #aboutTitle { margin:0 0 22px!important; font-size:clamp(2rem,3vw,2.7rem)!important; line-height:1.1!important; }.portfolio-v2 #aboutText,.portfolio-v2 #aboutText * { color:#c2cbc5!important; font-family:'Space Grotesk',sans-serif!important; font-size:1rem!important; line-height:1.8!important; }.portfolio-v2 #aboutText p { margin:0 0 14px!important; }
.portfolio-v2 .personal-info { display:grid!important; grid-template-columns:1fr 1fr!important; gap:10px!important; margin:28px 0!important; padding:0!important; border:0!important; }.portfolio-v2 .info-row { display:contents!important; }.portfolio-v2 .info-item { display:flex!important; align-items:center!important; min-height:48px!important; padding:10px 12px!important; font-size:.84rem!important; overflow:hidden!important; white-space:nowrap!important; }.portfolio-v2 .info-item span { overflow:hidden!important; text-overflow:ellipsis!important; }
.portfolio-v2 .about-stats-enhanced { display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:12px!important; max-width:none!important; margin:0!important; padding-top:0!important; border:0!important; }.portfolio-v2 .stat-circle { display:flex!important; align-items:flex-end!important; justify-content:flex-start!important; width:auto!important; height:116px!important; min-height:0!important; padding:16px!important; border-radius:10px!important; position:relative!important; overflow:hidden!important; }.portfolio-v2 .stat-circle::before { content:''!important; position:absolute!important; top:0!important; left:0!important; width:30px!important; height:3px!important; background:#c7ff43!important; }.portfolio-v2 .stat-circle svg { display:none!important; }.portfolio-v2 .stat-circle-content { position:static!important; display:flex!important; flex-direction:column!important; align-items:flex-start!important; justify-content:flex-end!important; transform:none!important; }.portfolio-v2 .stat-number { margin:0!important; font-size:2rem!important; line-height:1!important; }.portfolio-v2 .stat-label { margin-top:7px!important; font-size:.73rem!important; }
.portfolio-v2 .about-image { display:block!important; margin:0!important; padding:0!important; }.portfolio-v2 .image-container-premium { width:100%!important; max-width:390px!important; margin:0 auto!important; }.portfolio-v2 .image-wrapper-premium { width:100%!important; aspect-ratio:1/1.08!important; }.portfolio-v2 .image-content-premium,.portfolio-v2 .profile-img-premium,.portfolio-v2 .profile-placeholder { width:100%!important; height:100%!important; object-fit:cover!important; }.portfolio-v2 .experience-badge { left:-25px!important; bottom:22px!important; padding:15px 18px!important; }.portfolio-v2 .timeline-section { display:none!important; }
.portfolio-v2 .skills-showcase { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:16px!important; margin:0!important; }.portfolio-v2 .skill-category { min-height:0!important; padding:22px!important; }.portfolio-v2 .skills-wrapper { min-height:0!important; }.portfolio-v2 .skill-stats { display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:12px!important; margin:18px 0 0!important; }.portfolio-v2 .stat-card { display:flex!important; min-height:94px!important; padding:16px!important; align-items:center!important; }
.portfolio-v2 .projects-grid,.portfolio-v2 .blog-grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:16px!important; margin:0!important; }.portfolio-v2 .project-card,.portfolio-v2 .blog-card { min-width:0!important; height:100%!important; }.portfolio-v2 .project-content,.portfolio-v2 .blog-card-content { padding:20px!important; }.portfolio-v2 .project-card img,.portfolio-v2 .blog-card-image { width:100%!important; height:190px!important; object-fit:cover!important; }.portfolio-v2 .project-tech { display:flex!important; flex-wrap:wrap!important; gap:6px!important; }.portfolio-v2 .tech-tag { margin:0!important; }
.portfolio-v2 .contact-wrapper { display:grid!important; grid-template-columns:minmax(260px,.65fr) minmax(0,1fr)!important; gap:18px!important; align-items:stretch!important; }.portfolio-v2 .contact-info { display:grid!important; grid-template-columns:1fr!important; gap:10px!important; }.portfolio-v2 .info-card { min-height:0!important; padding:20px!important; text-align:left!important; }.portfolio-v2 .contact-form { width:auto!important; margin:0!important; padding:24px!important; }.portfolio-v2 .form-group { margin-bottom:14px!important; }
@media (max-width:850px) { .portfolio-v2 .about-grid,.portfolio-v2 .contact-wrapper { grid-template-columns:1fr!important; gap:40px!important; }.portfolio-v2 .about-image { order:-1!important; }.portfolio-v2 .image-container-premium { max-width:340px!important; }.portfolio-v2 .skills-showcase,.portfolio-v2 .projects-grid,.portfolio-v2 .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; } }
@media (max-width:600px) { .portfolio-v2 .about,.portfolio-v2 .skills,.portfolio-v2 .projects,.portfolio-v2 .blog-section,.portfolio-v2 .contact { padding:72px 20px!important; }.portfolio-v2 .personal-info,.portfolio-v2 .about-stats-enhanced,.portfolio-v2 .skills-showcase,.portfolio-v2 .skill-stats,.portfolio-v2 .projects-grid,.portfolio-v2 .blog-grid { grid-template-columns:1fr!important; }.portfolio-v2 .stat-circle { height:92px!important; }.portfolio-v2 .about-image { order:0!important; }.portfolio-v2 .experience-badge { left:-12px!important; }.portfolio-v2 .project-card img,.portfolio-v2 .blog-card-image { height:210px!important; } }

/* Mobile overflow guard — legacy visual effects must never widen the document. */
@media (max-width:700px) {
  html,body.portfolio-v2 { width:100%!important; max-width:100%!important; overflow-x:hidden!important; }
  @supports (overflow:clip) { html,body.portfolio-v2 { overflow-x:clip!important; } }
  .portfolio-v2 *, .portfolio-v2 *::before, .portfolio-v2 *::after { max-width:100%!important; }
  .portfolio-v2 .hero { width:100%!important; min-height:0!important; padding:68px 20px 56px!important; overflow:hidden!important; }
  .portfolio-v2 .hero-container,.portfolio-v2 .section-container { width:100%!important; min-width:0!important; max-width:100%!important; margin-left:auto!important; margin-right:auto!important; }
  .portfolio-v2 .hero-container { display:block!important; padding:54px 0 0!important; }.portfolio-v2 .hero-content { width:100%!important; max-width:100%!important; padding:0!important; }.portfolio-v2 .hero-title { overflow-wrap:anywhere!important; }
  .portfolio-v2 .hero-terminal { width:calc(100% - 10px)!important; max-width:calc(100% - 10px)!important; margin:42px 0 8px 2px!important; transform:none!important; box-shadow:8px 8px 0 #c7ff43!important; }
  .portfolio-v2 .about-grid,.portfolio-v2 .contact-wrapper,.portfolio-v2 .skills-showcase,.portfolio-v2 .skill-stats,.portfolio-v2 .projects-grid,.portfolio-v2 .blog-grid { width:100%!important; min-width:0!important; }
  .portfolio-v2 .about-content,.portfolio-v2 .about-image,.portfolio-v2 .skill-category,.portfolio-v2 .stat-card,.portfolio-v2 .project-card,.portfolio-v2 .blog-card,.portfolio-v2 .contact-form,.portfolio-v2 .info-card { min-width:0!important; max-width:100%!important; }
  .portfolio-v2 .personal-info { width:100%!important; }.portfolio-v2 .info-item { min-width:0!important; width:100%!important; }.portfolio-v2 .info-item span { min-width:0!important; }
  .portfolio-v2 .image-container-premium,.portfolio-v2 .image-wrapper-premium { max-width:calc(100% - 8px)!important; }.portfolio-v2 .experience-badge { max-width:150px!important; }
  .portfolio-v2 .chatbot-widget { right:16px!important; left:auto!important; max-width:calc(100vw - 32px)!important; }.portfolio-v2 .chatbot-container { right:0!important; left:auto!important; width:min(360px,calc(100vw - 32px))!important; max-width:calc(100vw - 32px)!important; }
}
