/* Basic reset */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#ffffff;
  --text:#0b1220;
  --muted:#50606f;
  --accent:#07243b; /* dark blue */
  --accent-2:#0ea5a4;
  --dark-strip:#042033;
  --max-width:1100px;
  --gap:1.25rem;
  --radius:8px;
  font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
}
html,body{height:100%}
body{color:var(--text);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}
.container{max-width:var(--max-width);margin:0 auto;padding:2rem}
/* Header */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid rgba(14,20,30,0.04);position:sticky;top:8px;background:rgba(255,255,255,0.98);backdrop-filter:saturate(120%) blur(6px);z-index:50}
.top-strip{position:fixed;left:0;right:0;top:0;height:8px;background:var(--dark-strip);z-index:60}
.logo{font-family:'Playfair Display',serif;font-weight:600;font-size:1.25rem;color:var(--accent);text-decoration:none}
.nav ul{display:flex;gap:1rem;list-style:none}
.nav a{color:var(--muted);text-decoration:none;padding:.5rem .75rem;border-radius:6px}
.nav a:hover{color:var(--accent);background:rgba(7,36,59,0.06)}
.nav-toggle{display:none;background:none;border:0;padding:.25rem;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--accent);margin:4px 0;border-radius:2px}
/* Intro */
.intro{padding:3rem 0}
.intro-content{display:grid;grid-template-columns:1fr 420px;gap:2.5rem;align-items:center;max-width:var(--max-width);margin:0 auto;padding:0 2rem}
.intro-text h1{font-family:'Playfair Display',serif;font-size:2.5rem;margin-bottom:.5rem;letter-spacing:0.5px}
.intro-tagline{color:var(--accent-2);font-weight:600;margin-bottom:.75rem}
.intro-bio{color:var(--muted);margin-bottom:1.25rem;max-width:70ch}
.btn{display:inline-block;padding:.6rem 1rem;border-radius:8px;text-decoration:none}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 18px rgba(7,36,59,0.12);border:1px solid rgba(255,255,255,0.02)}
.intro-photo{width:100%;height:auto;display:block;border-radius:10px;box-shadow:0 8px 30px rgba(2,6,23,0.08);object-fit:cover}
/* Gallery */
.gallery{padding:3.5rem 0;background:linear-gradient(180deg,#fff,#fbfdff)}
.gallery-header{max-width:var(--max-width);margin:0 auto;padding:0 2rem 1.25rem}
.gallery-group{max-width:var(--max-width);margin:0 auto;padding:0 2rem 1rem}
.group-title{font-family:'Playfair Display',serif;font-size:1.125rem;margin:0.75rem 0;color:var(--accent);}
.gallery .project{margin:1.25rem 0;padding:1.25rem 2rem;border-radius:10px;max-width:100%;background:linear-gradient(180deg,#fff,#fbfeff);border:1px solid rgba(7,36,59,0.04)}
.project-title{font-size:1.125rem;margin-bottom:.25rem}
.project-desc{color:var(--muted);margin-bottom:1rem}
.project-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}
.media-item{overflow:hidden;border-radius:8px;background:#fff}
.media-item img, .media-item video{width:100%;height:100%;display:block;object-fit:cover}
.media-video video{max-height:420px}

/* Professional card hover */
.gallery .project:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(7,36,59,0.08);transition:transform .18s ease,box-shadow .18s ease}
/* Contact */
.contact{padding:3rem 0}
.contact-inner{max-width:var(--max-width);margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 420px;gap:2rem;align-items:start}
.contact-info h2{font-family:'Playfair Display',serif;margin-bottom:.5rem}
.contact-details{list-style:none;color:var(--muted);margin-top:.5rem}
.contact-form{display:flex;flex-direction:column;gap:.5rem}
.contact-form label{font-size:.9rem;color:var(--muted)}
.contact-form input,.contact-form textarea{padding:.6rem;border:1px solid #e6eef6;border-radius:8px}
/* Footer */
.site-footer{padding:2rem;text-align:center;color:var(--muted);border-top:1px solid #eef2f7;margin-top:2rem}
/* Lightbox overlay */
.lb-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(2,6,23,0.75);z-index:1000;padding:2rem}
.lb-content{max-width:90vw;max-height:90vh;position:relative}
.lb-content img{max-width:100%;max-height:100%;display:block;border-radius:6px}
.lb-close{position:absolute;top:-10px;right:-10px;background:#fff;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;pointer-events:none}
.lb-nav button{background:rgba(255,255,255,0.06);border:0;color:#fff;font-size:1.5rem;padding:.5rem;border-radius:6px;pointer-events:all}
/* Responsive */
@media (max-width:900px){
  .intro-content{grid-template-columns:1fr;}
  .contact-inner{grid-template-columns:1fr}
  .site-header{padding:0.75rem 1rem}
}
@media (max-width:720px){
  .nav ul{display:none;position:absolute;top:64px;right:16px;background:#fff;border-radius:8px;padding:.75rem 1rem;box-shadow:0 8px 30px rgba(2,6,23,0.08)}
  .nav.open ul{display:flex;flex-direction:column;gap:.5rem}
  .nav-toggle{display:block}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important}
}