  :root {
    --bg: #050a0f;
    --surface: #1f1232;
    --border: #3a1c63;
    --accent: #883CF0;
    --accent2: #7b5cff;
    --accent3: #af62c8;
    --text: #c8dde8;
    --muted: #d6d6d6;
    --white: #e8f4fb;
    --glow: 0 0 30px #be52e50f;
  }
  *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior: smooth; }
  .bert-blevins-interactive {
    background: #191127;
    color: var(--text);
    position: relative;
    height: 100vh;
    overflow-x: hidden;
    cursor: none;
  }

  /* CUSTOM CURSOR */
  .cursor {
    position: fixed; width:12px; height:12px;
    background: var(--accent); border-radius:50%;
    pointer-events:none; z-index:2;
    transform:translate(-50%,-50%);
    transition: transform 0.1s, opacity 0.2s;
    mix-blend-mode: screen;
  }
  .cursor-ring {
    position:fixed; width:36px; height:36px;
    border: 1.5px solid var(--accent);
    border-radius:50%; pointer-events:none;
    z-index:2; transform:translate(-50%,-50%);
    transition: transform 0.18s ease, width 0.2s, height 0.2s, opacity 0.2s;
    opacity:0.5;
  }

  .bert-blevins-interactive:hover .cursor { opacity:1; }

  /* ANIMATED GRID BACKGROUND */
  .grid-bg {
    position:absolute; inset:0; z-index:0;
    background-image:
      linear-gradient(rgba(186, 0, 210, 0.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(165, 0, 210, 0.04) 1px, transparent 1px);
    background-size: 60px 60px;
    animation: gridShift 20s linear infinite;
  }
  @keyframes gridShift {
    0% { background-position: 0 0; }
    100% { background-position: 60px 60px; }
  }

  /* NOISE OVERLAY */
  .noise {
    position:absolute; inset:0; z-index:1; pointer-events:none;
    opacity:0.03;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    background-size: 200px 200px;
  }

  /* NAV */
  .bert-blevins-interactive nav {
    position:sticky; top:0; left:0; right:0; z-index:1;
    padding: 1.2rem 3rem;
    display:flex; align-items:center; justify-content:space-between;
    background: linear-gradient(180deg, #180f26 0%, transparent 100%);
    border-bottom: 1px solid var(--border);
    backdrop-filter: blur(8px);
  }
  .nav-logo {
    
    font-size: 1rem; color: var(--accent);
     text-decoration:none;
  }
  .nav-logo span { color: var(--white); }
  .nav-links { display:flex; gap:2rem; list-style:none; }
  .nav-links a {
    
    font-size: 0.7rem; color: var(--muted);
    text-decoration:none; text-transform:uppercase;
    transition: color 0.2s;
    position: relative;
  }
  .nav-links a::after {
    content:''; position:absolute; bottom:-4px; left:0; right:100%;
    height:1px; background:var(--accent);
    transition: right 0.3s ease;
  }
  .nav-links a:hover { color: var(--accent); }
  .nav-links a:hover::after { right:0; }

  /* HERO */
  #hero {
    position:relative;
    min-height: 100vh;
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    padding: 8rem 3rem 4rem;
    overflow:hidden;
  }
  .hero-eyebrow {
    
    font-size:0.7rem;
    color: var(--accent); text-transform:uppercase;
    margin-bottom:2rem;
    display:flex; align-items:center; gap:1rem;
  }
  .hero-eyebrow::before {
    content:''; display:block;
    width:40px; height:1px; background:var(--accent);
  }
  .hero-title {
    font-size: clamp(3.5rem, 9vw, 8rem);
    font-weight:800; line-height:0.95;
    color: var(--white); text-align:center;
    margin-bottom:0.5rem;
  }
  .hero-title .line-accent { color: var(--accent); display:block; }
  .hero-title .line-outline {
    color:transparent;
    -webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.735);
    display:block;
  }
  .hero-subtitle {
    
    font-size:0.85rem; color: var(--muted);
    text-align:center; margin-top:2rem;
 max-width:520px;
    line-height:1.8;
  }
  .hero-cta-group {
    display:flex; gap:1rem; margin-top:3rem; flex-wrap:wrap;
    justify-content:center;
  }
  .btn-primary {
    padding:0.9rem 2.4rem;
    background: var(--accent); color: #fff;
    font-size:0.75rem; font-weight:700;
     text-transform:uppercase;
    border:none; text-decoration:none;
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
    transition: all 0.2s; cursor:none;
    display:inline-block;
  }
  .btn-primary:hover {
    color: var(--accent);
    background-color: #fff;
    box-shadow: var(--glow);
    transform: translateY(-2px);
  }
  .btn-ghost {
    padding:0.9rem 2.4rem;
    background: transparent;
    border: 1px solid var(--border);
    color: var(--text);
    
    font-size:0.75rem;
     text-transform:uppercase;
    text-decoration:none; display:inline-block;
    clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
    transition: all 0.2s; cursor:none;
  }
  .btn-ghost:hover {
    border-color: var(--accent);
    color: var(--accent);
    transform: translateY(-2px);
  }
  /* SCANNING LINE */
  .scan-line {
    position:absolute; left:0; right:0; height:2px;
    background: linear-gradient(90deg, transparent, var(--accent), transparent);
    opacity:0.4; pointer-events:none;
    animation: scanDown 6s ease-in-out infinite;
  }
  @keyframes scanDown {
    0% { top: -2px; opacity:0; }
    5% { opacity:0.4; }
    95% { opacity:0.4; }
    100% { top:100%; opacity:0; }
  }

  /* HEX ORBS */
  .orb {
    position:absolute; border-radius:50%;
    filter:blur(80px); pointer-events:none;
  }
  .orb-1 { width:500px; height:500px; top:-100px; right:-150px;
    background:radial-gradient(circle, rgba(144, 0, 255, 0.18), transparent 70%); }
  .orb-2 { width:400px; height:400px; bottom:-50px; left:-100px;
    background:radial-gradient(circle, rgba(130, 0, 210, 0.15), transparent 70%); }

  /* STATS STRIP */
  .stats-strip {
    position:relative; z-index:2;
    background: var(--surface);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 2rem 3rem;
    display:grid; grid-template-columns: repeat(4,1fr);
    gap:0;
  }
  .stat-item {
    text-align:center; padding:1rem;
    border-right: 1px solid var(--border);
    position:relative;
  }
  .stat-item:last-child { border-right:none; }
  .stat-num {
    font-size:2.8rem; font-weight:800;
    color: var(--accent);
    
    line-height:1;
  }
  .stat-label {
    font-size:0.7rem; color:var(--muted);
     text-transform:uppercase;
    margin-top:0.5rem;
    
  }

  /* SECTION WRAPPER */
  .bert-blevins-interactive section {
    position:relative;
    padding: 7rem 3rem;
    max-width: 1300px; margin:0 auto;
  }
  .section-label {
    
    font-size:0.65rem; color:var(--accent);
     text-transform:uppercase;
    margin-bottom:1.5rem;
    display:flex; align-items:center; gap:1rem;
  }
  .section-label::after {
    content:''; flex:1; height:1px;
    background:linear-gradient(90deg, var(--border), transparent);
  }
  .section-title {
    font-size:clamp(2rem, 4vw, 3.5rem);
    font-weight:800; color: var(--white);
    line-height:1.1; 
  }

  /* EXPERTISE HEXGRID */
  #expertise { background:transparent; }
  .expertise-grid {
    display:grid; grid-template-columns:repeat(3,1fr);
    gap:1.5px; margin-top:4rem;
    background: var(--border);
    border: 1px solid var(--border);
  }
  .exp-card {
    background: #23133a;
    padding:2.5rem 2rem;
    transition: background 0.3s;
    position:relative; overflow:hidden;
    cursor:none;
  }
  .exp-card::before {
    content:''; position:absolute;
    top:0; left:0; right:0; height:2px;
    background: linear-gradient(90deg, var(--accent2), var(--accent));
    transform: scaleX(0); transform-origin:left;
    transition: transform 0.4s ease;
  }
  .exp-card:hover { background: var(--surface); }
  .exp-card:hover::before { transform: scaleX(1); }
  .exp-num {
    
    font-size:0.65rem; color:var(--muted);
     margin-bottom:1.5rem;
  }
  .exp-icon {
    width:48px; height:48px; margin-bottom:1.2rem;
    display:flex; align-items:center; justify-content:center;
  }
  .exp-icon svg { width:100%; height:100%; }
  .exp-title {
    font-size:1.1rem; font-weight:700;
    color:var(--white); margin-bottom:0.8rem;
  }
  .exp-desc {
    font-size:0.82rem; color:var(--muted);
    line-height:1.7; 
  }

  /* PAM EXPLAINER — TERMINAL STYLE */
  #pam {
    padding: 0 3rem 7rem;
    max-width: 1300px; margin:0 auto;
  }
  .terminal-wrap {
    display:grid; grid-template-columns:1fr 1.2fr;
    gap:4rem; align-items:start; margin-top:4rem;
  }
  .terminal-box {
    background: #3a1c6350;
    border: 1px solid var(--border);
    border-radius:4px;
    overflow:hidden;
    box-shadow: 0 0 60px #be52e50f;
  }
  .terminal-bar {
    background: #883cf050;
    padding:0.8rem 1.2rem;
    display:flex; align-items:center; gap:0.6rem;
    border-bottom: 1px solid var(--border);
  }
  .t-dot { width:10px; height:10px; border-radius:50%; }
  .t-dot.red { background:#ff4e6a; }
  .t-dot.yellow { background:#ffd166; }
  .t-dot.green { background:#06d6a0; }
  .t-title {
    
    font-size:0.65rem; color:var(--muted);
     margin-left:0.5rem;
  }
  .terminal-body { padding:2rem; }
  .t-line {
    
    font-size:0.72rem; line-height:2;
    white-space:pre;
  }
  .t-prompt { color:var(--accent); }
  .t-cmd { color:var(--white); }
  .t-out { color:var(--muted); }
  .t-success { color:#06d6a0; }
  .t-warn { color:#ffd166; }
  .t-err { color:var(--accent3); }
  .t-cursor {
    display:inline-block; width:8px; height:14px;
    background:var(--accent); animation: blink 1s step-end infinite;
    vertical-align:middle;
  }
  @keyframes blink { 50% { opacity:0; } }
  .pam-copy h3 {
    font-size:1.5rem; font-weight:800;
    color:var(--white); margin-bottom:1rem;
  }
  .pam-copy p {
    
    font-size:0.78rem; color:var(--muted);
    line-height:1.9; margin-bottom:1.5rem;
  }
  .pam-pillars {
    display:flex; flex-direction:column; gap:0.6rem;
    margin-top:2rem;
  }
  .pillar {
    display:flex; align-items:center; gap:1rem;
    padding:0.8rem 1rem;
    border: 1px solid var(--border);
    transition: border-color 0.2s, background 0.2s;
    cursor:none;
  }
  .pillar:hover { border-color:var(--accent); background:var(--surface); }
  .pillar-dot { width:8px; height:8px; border-radius:50%; background:var(--accent); flex-shrink:0; }
  .pillar-text {  font-size:0.72rem; color:var(--text); }

  /* MCP SECTION */
  #mcp { padding: 0 3rem 7rem; max-width:1300px; margin:0 auto; }
  .mcp-flow {
    margin-top:4rem;
    display:grid; grid-template-columns:1fr auto 1fr auto 1fr;
    gap:0; align-items:center;
  }
  .mcp-node {
    background: var(--surface);
    border: 1px solid var(--border);
    padding:2rem 1.5rem; text-align:center;
    position:relative; cursor:none;
    transition: border-color 0.3s, box-shadow 0.3s;
  }
  .mcp-node:hover {
    border-color: var(--accent);
    box-shadow: var(--glow);
  }
  .mcp-node-icon { font-size:2rem; margin-bottom:0.8rem; }
  .mcp-node-label {
    font-size:0.85rem; font-weight:700; color:var(--white);
    margin-bottom:0.4rem;
  }
  .mcp-node-sub {
    
    font-size:0.62rem; color:var(--muted);
    line-height:1.6;
  }
  .mcp-arrow {
    display:flex; flex-direction:column;
    align-items:center; gap:0.3rem;
    padding:0 1rem;
  }
  .arrow-line {
    width:60px; height:1px; background:var(--accent);
    position:relative;
  }
  .arrow-line::after {
    content:''; position:absolute; right:-6px; top:-4px;
    border-left:8px solid var(--accent);
    border-top:4px solid transparent;
    border-bottom:4px solid transparent;
  }
  .arrow-label {
    
    font-size:0.55rem; color:var(--accent);
     white-space:nowrap;
  }

  /* EXPERTISE TABS */
  #expertise2 { padding:0 3rem 7rem; max-width:1300px; margin:0 auto; }
  .tab-nav {
    display:flex; gap:0;
    border-bottom:1px solid var(--border);
    margin-top:3rem;
    overflow-x:auto;
  }
  .tab-btn {
    padding:1rem 1.8rem;
    
    font-size:0.65rem; 
    text-transform:uppercase; color:var(--muted);
    background:transparent; border:none;
    border-bottom:2px solid transparent;
    cursor:none; white-space:nowrap;
    transition: color 0.2s, border-color 0.2s;
    margin-bottom:-1px;
  }
  .tab-btn.active { color:var(--accent); border-bottom-color:var(--accent); }
  .tab-btn:hover:not(.active) { color:var(--text); }
  .tab-content { display:none; padding:3rem 0; }
  .tab-content.active { display:grid; grid-template-columns:1fr 1fr; gap:4rem; }
  .tab-content-text h3 {
    font-size:1.8rem; font-weight:800;
    color:var(--white); margin-bottom:1.2rem;
  }
  .tab-content-text p {
    
    font-size:0.78rem; color:var(--muted);
    line-height:1.9; margin-bottom:1rem;
  }
  .tab-content-visual {
    background:var(--surface);
    border:1px solid var(--border);
    padding:2rem; display:flex;
    flex-direction:column; gap:1rem;
  }

  .skill-bar-label {
    display:flex; justify-content:space-between;
    
    font-size:0.65rem; color:var(--muted);
    margin-bottom:0.4rem; 
  }
  .skill-bar-label span:last-child { color:var(--accent); }
  .skill-bar-track {
    height:4px; background:rgba(255,255,255,0.05);
    position:relative; overflow:hidden;
  }
  .skill-bar-fill {
    position:absolute; top:0; left:0; bottom:0;
    background:linear-gradient(90deg, var(--accent2), var(--accent));
    transition: width 1s ease;
  }

  /* LATEST CONTENT */
  #content { padding:0 3rem 7rem; max-width:1300px; margin:0 auto; }
  .content-grid {
    display:grid; grid-template-columns:repeat(3,1fr);
    gap:1px; background:var(--border);
    border:1px solid var(--border);
    margin-top:4rem;
  }
  .content-card {
    background:#23133a;
    padding:2.5rem 2rem;
    transition: background 0.3s;
    cursor:none; position:relative;
    overflow:hidden;
  }
  .content-card::after {
    content:'↗';
    position:absolute; top:1.5rem; right:1.5rem;
    font-size:1.2rem; color:var(--border);
    transition: color 0.2s, transform 0.2s;
  }
  .content-card:hover { background:var(--surface); }
  .content-card:hover::after { color:var(--accent); transform:translate(2px,-2px); }
  .content-tag {
    
    font-size:0.6rem; color:var(--accent);
     text-transform:uppercase;
    margin-bottom:1rem;
    padding:0.3rem 0.6rem; border:1px solid var(--border);
    display:inline-block;
  }
  .content-card-title {
    font-size:1rem; font-weight:700;
    color:var(--white); line-height:1.4;
    margin-bottom:0.8rem;
  }
  .content-card-desc {
    
    font-size:0.72rem; color:var(--muted);
    line-height:1.7;
  }
  .content-card-date {
    
    font-size:0.6rem; color:var(--muted);
    margin-top:1.5rem; 
  }

  /* CONTACT */
  #contact {
    padding:0 3rem 7rem; max-width:1300px; margin:0 auto;
  }
  .contact-inner {
    margin-top:4rem;
    display:grid; grid-template-columns:1fr 1fr;
    gap:4rem;
  }
  .contact-info h3 {
    font-size:2rem; font-weight:800;
    color:var(--white); margin-bottom:1.5rem;
  }
  .contact-info p {
    
    font-size:0.78rem; color:var(--muted);
    line-height:1.9; margin-bottom:2rem;
  }
  .contact-links { display:flex; flex-direction:column; gap:1rem; }
  .contact-link {
    display:flex; align-items:center; gap:1rem;
     font-size:0.75rem;
    color:var(--text); text-decoration:none;
    padding:1rem; border:1px solid var(--border);
    transition: border-color 0.2s, color 0.2s; cursor:none;
  }
  .contact-link:hover { border-color:var(--accent); color:var(--accent); }
  .contact-link-icon { color:var(--accent); font-size:1rem; }
  .contact-form { display:flex; flex-direction:column; gap:1rem; }
  .form-field {
    background:var(--surface); border:1px solid var(--border);
    padding:1rem 1.2rem;
     font-size:0.75rem;
    color:var(--white); outline:none; resize:none;
    transition: border-color 0.2s;
  }
  .form-field::placeholder { color:var(--muted); }
  .form-field:focus { border-color:var(--accent); }
  .form-label {
    
    font-size:0.62rem; color:var(--muted);
     text-transform:uppercase;
    margin-bottom:0.3rem; display:block;
  }
  .form-group { display:flex; flex-direction:column; }

  /* FOOTER */
  .bert-blevins-interactive footer {
    position:relative;
    border-top:1px solid var(--border);
    padding:3rem;
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:1rem;
  }
  .footer-logo {
    
    font-size:0.85rem; color:var(--accent); 
  }
  .footer-logo span { color:var(--muted); }
  .footer-text {
    
    font-size:0.65rem; color:var(--muted);
  
  }
  .footer-links { display:flex; gap:1.5rem; }
  .footer-links a {
    
    font-size:0.65rem; color:var(--muted);
    text-decoration:none; 
    transition: color 0.2s;
  }
  .footer-links a:hover { color:var(--accent); }

  /* SECURITY STATUS BAR */
  .status-bar {
    position:sticky; bottom:0; left:0; right:0; z-index:1;
    background:#180f26; border-top:1px solid var(--border);
    padding:0.5rem 2rem;
    display:flex; align-items:center; gap:2rem;
     font-size:0.6rem;
    backdrop-filter:blur(8px);
  }
  .status-item { display:flex; align-items:center; gap:0.5rem; color:var(--muted); }
  .status-dot { width:6px; height:6px; border-radius:50%; background:var(--accent); animation:pulse 2s infinite; }
  .status-dot.warn { background:var(--accent3); }
  @keyframes pulse { 0%,100%{opacity:1;} 50%{opacity:0.3;} }

  /* HOVER REVEAL TOOLTIP */
  [data-tip] { position:relative; }
  [data-tip]::after {
    content: attr(data-tip);
    position:absolute; bottom:110%; left:50%;
    transform:translateX(-50%) translateY(4px);
    background:var(--surface); border:1px solid var(--border);
    padding:0.4rem 0.8rem;
     font-size:0.6rem;
    color:var(--accent);
    white-space:nowrap; opacity:0; pointer-events:none;
    transition: opacity 0.2s, transform 0.2s;
    z-index:200;
  }
  [data-tip]:hover::after { opacity:1; transform:translateX(-50%) translateY(0); }

  /* FADE IN ANIMATIONS */
  .fade-in { opacity:0; transform:translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
  .fade-in.visible { opacity:1; transform:none; }

  @media (max-width:900px) {
    .expertise-grid { grid-template-columns:1fr 1fr; }
    .mcp-flow { grid-template-columns:1fr; }
    .mcp-arrow { transform:rotate(90deg); padding:0.5rem; }
    .content-grid { grid-template-columns:1fr; }
    .tab-content.active { grid-template-columns:1fr; }
    .contact-inner { grid-template-columns:1fr; }
    .bert-blevins-interactive nav { padding:1rem 1.5rem; }
    .bert-blevins-interactive nav .nav-links { display:none; }
    .stats-strip { grid-template-columns:1fr 1fr; }
    .terminal-wrap { grid-template-columns:1fr; }
  }
  @media (max-width:600px) {
    .expertise-grid { grid-template-columns:1fr; }
    .hero-title { font-size:3rem; }
    .bert-blevins-interactive section, #pam, #mcp, #expertise2, #content, #contact { padding-left:1.5rem; padding-right:1.5rem; }
  }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #873cf015; }
::-webkit-scrollbar-thumb { background: #873cf015; border-radius: 3px; }