
:root{
  --bg:#0b0b0f;
  --panel:#0f1117;
  --muted:#9aa4b2;
  --text:#e5e7eb;
  --accent:#ffffff;
  --ring:rgba(255,255,255,.14);
  --border:rgba(255,255,255,.08);
  --shadow:0 10px 25px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.04);
  --radius:18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 800px at 80% -10%, rgba(255,255,255,.06), transparent 50%),
              radial-gradient(900px 700px at -10% 10%, rgba(255,255,255,.04), transparent 40%),
              var(--bg);
  color:var(--text);
  line-height:1.6;
}

img{max-width:100%;display:block}

.container{width:100%;max-width:1100px;margin-inline:auto;padding:0 20px}

/* Nav */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(11,11,15,.75);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--border);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.brand{display:flex;align-items:center;gap:10px}
.brand-logo{width:36px;height:36px;object-fit:contain;filter:grayscale(1) brightness(1.2)}
.brand-name{font-weight:700;letter-spacing:.2px}

.menu{display:flex;gap:14px;align-items:center}
.menu-link{padding:10px 12px;text-decoration:none;color:var(--text);opacity:.9;border-radius:12px}
.menu-link:hover{opacity:1;background:var(--border)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:12px 16px;font-weight:600;text-decoration:none;border:1px solid transparent;box-shadow:var(--shadow);cursor:pointer}
.btn-primary{background:var(--accent);color:#000}
.btn-outline{border-color:var(--border);background:transparent}
.btn-ghost{border-color:transparent;background:transparent}
.btn:hover{transform:translateY(-1px);}

/* Hero */
.hero{padding:80px 0 40px;border-bottom:1px solid var(--border)}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}
.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700;font-size:.8rem}
.hero h1{font-size: clamp(2rem, 3.8vw, 3.2rem); line-height:1.15;margin:.2em 0 .3em}
.accent{background:linear-gradient(90deg,#fff,rgba(255,255,255,.7));-webkit-background-clip:text;background-clip:text;color:transparent}
.subhead{color:var(--muted);max-width:52ch}
.cta-row{display:flex;gap:12px;margin-top:18px}

.hero-media{display:flex;justify-content:center}
.portrait-card{
  border:1px solid var(--border);border-radius:var(--radius);padding:10px;
  background:linear-gradient(to bottom right, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow:var(--shadow);
}
.portrait{border-radius:calc(var(--radius) - 6px);}

/* Section */
.section{padding:72px 0;border-bottom:1px solid var(--border)}
.section-head{margin-bottom:22px}
.section h2{font-size: clamp(1.4rem, 2.5vw, 2rem); margin:0 0 .35em}
.section p{color:var(--muted);margin-top:0}

.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.card{background:linear-gradient(to bottom right, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.list{margin:14px 0 0 0;padding-left:18px}
.list li{margin:.3em 0}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:stretch}
.stat{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:14px;padding:20px 10px}
.num{font-size:1.6rem;font-weight:800}
.label{color:var(--muted);font-size:.85rem}

/* Work */
.work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.work-card{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--border);background:#0d0f14;text-decoration:none;color:var(--text)}
.work-card img{aspect-ratio: 4/3; width:100%; object-fit:cover; filter:saturate(.9) contrast(1.05)}
.work-card::after{content:'';position:absolute;inset:0;box-shadow: inset 0 -80px 120px rgba(0,0,0,.55)}
.work-info{position:absolute;left:12px;bottom:10px}
.work-info p {
  color: #fff;
}
.work-card:hover{transform:translateY(-2px);}
.work-desc {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  color: #fff !important; 
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
  opacity: 0;
  transition: opacity 0.3s ease;
  font-size: 0.9rem;
}

.work-card:hover .work-desc {
  opacity: 1;
}
/* Timeline */
.timeline{position:relative;margin-top:8px}
.tl-item{position:relative;display:grid;grid-template-columns:20px 1fr;gap:12px;margin:18px 0}
.tl-item::before{content:'';position:absolute;left:9px;top:0;bottom:-18px;width:2px;background:var(--border)}
.dot{width:18px;height:18px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--ring)}
.tl-content .muted{color:var(--muted);margin:.1rem 0 .5rem}

/* Form */
.form{max-width:820px;margin-top:10px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:8px}
label{font-weight:600}
input,textarea{
  background:#0a0c10;border:1px solid var(--border);color:var(--text);
  border-radius:12px;padding:12px 14px;outline:none
}
input:focus, textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}

/* Toast */
.toast{display:none;position:fixed;right:20px;bottom:20px;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:linear-gradient(to bottom right, rgba(255,255,255,.08), rgba(255,255,255,.03));box-shadow:var(--shadow)}
.toast-close{background:transparent;border:0;color:var(--text);font-size:18px;margin-left:8px;cursor:pointer}

/* Footer */
.footer{padding:22px 0}
.footer-inner{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:16px}
.to-top{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;border:1px solid var(--border);text-decoration:none;color:var(--text)}

/* Responsive */
@media (max-width: 900px){
  .hero-inner{grid-template-columns:1fr;gap:20px}
  .grid-2{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .work-grid{grid-template-columns:1fr 1fr}
  .menu{display:none}
}
@media (max-width: 560px){
  .work-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
}
