:root{--bg:#0e0f11;--bg2:#141518;--bg3:#1c1d21;--border:rgba(255,255,255,0.07);--border-h:rgba(255,255,255,0.14);--text:#f0efe8;--muted:#8a8880;--accent:#d4a84b;--accent2:#4b8fd4;--tag-bg:rgba(212,168,75,0.1);--tag-border:rgba(212,168,75,0.25);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.7;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");pointer-events:none;z-index:0;opacity:.5;}
.blob{position:fixed;border-radius:50%;filter:blur(130px);pointer-events:none;z-index:0;}
.blob-1{width:550px;height:550px;background:#d4a84b;top:-180px;right:-80px;opacity:.1;}
.blob-2{width:480px;height:480px;background:#4b8fd4;bottom:5%;left:-130px;opacity:.09;}
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.1rem 2.5rem;display:flex;justify-content:space-between;align-items:center;background:rgba(14,15,17,0.88);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);}
.nav-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:17px;letter-spacing:-0.3px;color:var(--text);text-decoration:none;}
.nav-logo span{color:var(--accent);}
.nav-right{display:flex;align-items:center;gap:2rem;}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{font-size:12px;font-weight:500;letter-spacing:1px;color:var(--muted);text-decoration:none;text-transform:uppercase;transition:color .2s;}
.nav-links a:hover{color:var(--text);}
.lang-toggle{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;background:transparent;border:1px solid var(--border-h);color:var(--muted);padding:5px 12px;border-radius:20px;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;}
.lang-toggle:hover{color:var(--text);border-color:var(--accent);}
section{position:relative;z-index:1;}
.container{max-width:1100px;margin:0 auto;padding:0 2.5rem;}
#hero{padding:160px 0 60px;display:flex;align-items:center;}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;width:100%;}
.hero-label{font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem;display:flex;align-items:center;gap:10px;animation:fadeUp .6s ease .1s both;}
.hero-label::before{content:'';display:block;width:22px;height:1px;background:var(--accent);}
.hero-name{font-family:'Syne',sans-serif;font-size:clamp(40px,5.5vw,66px);font-weight:800;line-height:1.08;letter-spacing:-1.5px;color:var(--text);margin-bottom:1.4rem;animation:fadeUp .6s ease .2s both;}
.hero-name em{font-style:normal;color:var(--accent);}
.hero-desc{font-size:16px;font-weight:300;color:var(--muted);line-height:1.85;margin-bottom:2.2rem;max-width:460px;animation:fadeUp .6s ease .3s both;}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeUp .6s ease .4s both;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:4px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s;font-family:'DM Sans',sans-serif;cursor:pointer;border:none;letter-spacing:.2px;}
.btn-primary{background:var(--accent);color:#0e0f11;}
.btn-primary:hover{background:#e0b85a;transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border-h);}
.btn-ghost:hover{color:var(--text);border-color:var(--accent);}
.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;animation:fadeUp .6s ease .5s both;}
.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:1.4rem;transition:border-color .2s;}
.stat-card:hover{border-color:var(--border-h);}
.stat-number{font-family:'Syne',sans-serif;font-size:34px;font-weight:800;color:var(--accent);line-height:1;margin-bottom:6px;letter-spacing:-1px;}
.stat-label{font-size:12px;color:var(--muted);font-weight:400;line-height:1.5;}
.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:3rem;}
.section-num{font-family:'Syne',sans-serif;font-size:12px;font-weight:700;color:var(--accent);letter-spacing:1px;}
.section-title{font-family:'Syne',sans-serif;font-size:30px;font-weight:700;letter-spacing:-.5px;color:var(--text);}
.section-line{flex:1;height:1px;background:var(--border);}
#about{padding:8rem 0;}
.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:start;}
.about-text p{color:var(--muted);font-weight:300;font-size:15.5px;line-height:1.95;margin-bottom:1.1rem;}
.about-text p strong{color:var(--text);font-weight:500;}
.skills-grid{display:flex;flex-direction:column;gap:1.4rem;}
.skill-group-title{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:.7rem;}
.tags{display:flex;flex-wrap:wrap;gap:6px;}
.tag{font-size:11px;padding:3px 11px;border-radius:20px;background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--accent);font-weight:400;}
.tag.blue{background:rgba(75,143,212,.1);border-color:rgba(75,143,212,.25);color:#7ab3e0;}
.tag.neutral{background:rgba(255,255,255,.04);border-color:var(--border);color:var(--muted);}
#projects{padding:6rem 0 8rem;}
.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.project-card{background:var(--bg2);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:border-color .3s,transform .3s;}
.project-card:hover{border-color:var(--border-h);transform:translateY(-3px);}
.project-mock{width:100%;overflow:hidden;background:var(--bg3);}
.project-card:not(.featured) .project-mock{aspect-ratio:16/9;}
/* Update these featured card rules */
.project-card.featured {
  grid-column: span 2;
  display: flex;
  flex-direction: column; /* Stacks image on top, text on bottom */
}

.project-card.featured .project-mock {
  width: 100%;
  min-height: 480px; /* Gives the dashboard breathing room */
  border-bottom: 1px solid var(--border);
}

.project-card.featured .project-body {
  padding: 2.2rem 3rem; /* Adds nice padding to the text below */
  display: flex;
  flex-direction: column;
  justify-content: center;
}   

/* Default non-interactive iframes */
.project-mock iframe{width:100%;height:100%;border:none;pointer-events:none;display:block;}

/* Enable interactivity for the new mock dashboard iframe */
.project-mock iframe.interactive-iframe {
  pointer-events: auto;
}

.project-body{padding:1.5rem;}
.project-card.featured .project-body{padding:2.2rem;display:flex;flex-direction:column;justify-content:center;}
.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.9rem;}
.project-title{font-family:'Syne',sans-serif;font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.3px;margin-bottom:.55rem;line-height:1.3;}
.project-card.featured .project-title{font-size:22px;}
.project-desc{font-size:13.5px;color:var(--muted);line-height:1.8;font-weight:300;}
.project-metric{margin-top:1.1rem;padding:.75rem 1rem;background:rgba(212,168,75,.06);border:1px solid rgba(212,168,75,.15);border-radius:8px;font-size:12.5px;color:var(--accent);font-weight:500;}
#contact{padding:6rem 0 8rem;}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.contact-text .big{font-family:'Syne',sans-serif;font-size:clamp(26px,3.5vw,42px);font-weight:800;line-height:1.1;letter-spacing:-1px;color:var(--text);margin-bottom:1.2rem;}
.contact-text .big em{font-style:normal;color:var(--accent);}
.contact-text p{color:var(--muted);font-weight:300;font-size:15px;line-height:1.85;}
.contact-links{display:flex;flex-direction:column;gap:1rem;}
.contact-link{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.4rem;background:var(--bg2);border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--text);transition:all .2s;}
.contact-link:hover{border-color:var(--accent);transform:translateX(4px);}
.contact-link-icon{width:38px;height:38px;border-radius:9px;background:var(--bg3);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-link-icon svg{width:17px;height:17px;fill:var(--accent);}
.contact-link-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:500;}
.contact-link-value{font-size:14px;color:var(--text);font-weight:400;}
footer{border-top:1px solid var(--border);padding:1.8rem 2.5rem;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;}
footer span{font-size:12px;color:var(--muted);}
.fade-up{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@media(max-width:768px){.hero-inner,.about-grid,.contact-inner{grid-template-columns:1fr;}.projects-grid{grid-template-columns:1fr;}.project-card.featured{grid-column:span 1;grid-template-columns:1fr;}.project-card.featured .project-mock{min-height:200px;}nav{padding:1rem 1.5rem;}.nav-links{display:none;}.container{padding:0 1.5rem;}}
/* ================== PORTFOLIO MODAL ================== */
.portfolio-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(10, 15, 20, 0.5); /* Much more transparent overlay */
  backdrop-filter: blur(15px); /* Increased blur depth */
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.portfolio-modal-backdrop.open {
  opacity: 1;
  pointer-events: auto;
}

.portfolio-modal-content {
  background: #f0f4f8;
  width: 100%;
  max-width: 1600px; /* Expands to fit the large width of the dashboard */
  height: 95vh; /* Expands nearly to the full height of the screen */
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.4);
  position: relative;
  display: flex;
  flex-direction: column;
  transform: translateY(20px) scale(0.98);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.portfolio-modal-backdrop.open .portfolio-modal-content {
  transform: translateY(0) scale(1);
}

.portfolio-modal-close {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--bg2);
  border: 1px solid var(--border);
  color: var(--text);
  font-size: 1.2rem;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  transition: all 0.2s;
}

.portfolio-modal-close:hover {
  background: var(--accent);
  color: #000;
  transform: scale(1.1);
}

.portfolio-modal-body {
  flex: 1;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}