@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300;1,9..40,400&family=DM+Serif+Display&display=swap');

:root {
  --teal: #0081A7;
  --cyan: #00AFB9;
  --cream: #FDFCDC;
  --peach: #FED9B7;
  --coral: #F07167;
  --white: #ffffff;
  --bg: #f7f7f7;
  --text: #1a1a1a;
  --text-light: #5a5a5a;
  --text-muted: #999;
  --border: #ebebeb;
  --teal-soft: rgba(0,129,167,0.08);
  --coral-soft: rgba(240,113,103,0.08);
  --cyan-soft: rgba(0,175,185,0.08);
  --peach-bg: rgba(254,217,183,0.25);
  --radius: 16px;
  --radius-sm: 10px;
  --radius-lg: 24px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--text);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}

/* ── Nav ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 32px;height:64px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-family:'DM Serif Display',serif;font-size:1.25rem;color:var(--text);text-decoration:none;letter-spacing:-.02em}
.nav-links{display:flex;gap:4px}
.nav-links a{text-decoration:none;color:var(--text-light);font-size:.875rem;padding:8px 16px;border-radius:var(--radius);transition:all .2s}
.nav-links a:hover{color:var(--text);background:var(--bg)}
.nav-links a.active{color:var(--teal);background:var(--teal-soft)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.menu-toggle span{display:block;width:20px;height:2px;background:var(--text);margin:5px 0;border-radius:2px}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;font-size:.875rem;font-weight:500;border-radius:var(--radius);transition:all .25s;text-decoration:none;cursor:pointer;font-family:inherit}
.btn-primary{background:var(--teal);color:var(--white);border:none}
.btn-primary:hover{background:#006d8f;transform:translateY(-1px)}
.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn-secondary:hover{border-color:var(--teal);color:var(--teal)}

/* ── Tags ── */
.tag{display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:100px}
.tag-teal{color:var(--teal);background:var(--teal-soft);border:1px solid rgba(0,129,167,.18)}
.tag-coral{color:var(--coral);background:var(--coral-soft);border:1px solid rgba(240,113,103,.18)}
.tag-cyan{color:var(--cyan);background:var(--cyan-soft)}
.tag-award{color:#8b6914;background:rgba(218,165,32,.12);border:1px solid rgba(218,165,32,.2)}
.tag-exh{color:#6b5b95;background:rgba(107,91,149,.1);border:1px solid rgba(107,91,149,.18)}

/* ── Contact chips ── */
.contact-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--bg);border-radius:100px;font-size:.8125rem;color:var(--text-light);text-decoration:none;transition:all .2s;border:1px solid transparent}
.contact-chip:hover{border-color:var(--teal);color:var(--teal)}

/* ── Section title ── */
.section-title{font-family:'DM Serif Display',serif;font-size:1.5rem;font-weight:400;margin:48px 0 20px;letter-spacing:-.01em}
.section-title:first-child,.section-title.no-mt{margin-top:0}

/* ── Portfolio grid — NO rounded corners on images ── */
.portfolio-grid{max-width:1200px;margin:0 auto;padding:16px 32px 80px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.series-card{background:var(--white);border:1px solid var(--border);overflow:hidden;cursor:pointer;transition:all .3s;text-decoration:none;color:inherit;display:block;border-radius:var(--radius-lg)}
.series-card:hover{border-color:transparent;box-shadow:0 8px 40px rgba(0,0,0,.07);transform:translateY(-3px)}
.series-card-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--bg);transform-origin:center center}
.series-card-body{padding:16px 18px 18px}
.series-card-title{font-family:'DM Serif Display',serif;font-size:1rem;font-weight:400}
.series-card-desc{font-size:.8125rem;color:var(--text-muted);font-weight:300;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ── Awards ── */
.award-item{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--white);border-radius:var(--radius);border:1px solid var(--border);text-decoration:none;color:inherit;transition:all .2s;margin-bottom:10px}
.award-item:hover{border-color:var(--teal);box-shadow:0 4px 16px rgba(0,129,167,.06)}
.award-badge{width:42px;height:42px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0}
.award-badge.grand{background:linear-gradient(135deg,#ffd700,#f0a500)}
.award-badge.gold{background:linear-gradient(135deg,#ffd700,#daa520)}
.award-badge.silver{background:linear-gradient(135deg,#d0d0d0,#a8a8a8)}
.award-badge.bronze{background:linear-gradient(135deg,#cd7f32,#b06c2a)}
.award-badge.hm{background:linear-gradient(135deg,var(--teal),var(--cyan));color:#fff}
.award-badge.nominee{background:var(--bg)}
.award-info{flex:1;min-width:0}
.award-name{font-size:.8125rem;font-weight:500;line-height:1.3}
.award-detail{font-size:.75rem;color:var(--text-muted);font-weight:300;margin-top:1px}
.award-arrow{color:var(--text-muted);font-size:.8rem;transition:all .2s;flex-shrink:0}
.award-item:hover .award-arrow{transform:translateX(3px);color:var(--teal)}

/* ── Exhibitions ── */
.exhibition-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.exh-item{padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);transition:all .2s;text-decoration:none;color:inherit}
a.exh-item:hover{border-color:var(--teal)}
.exh-name{font-size:.8125rem;font-weight:500;line-height:1.3}
.exh-loc{font-size:.75rem;color:var(--text-muted);font-weight:300}
.exh-date{font-size:.6875rem;color:var(--text-muted);font-weight:300;margin-top:4px}

/* ── Publications ── */
.pub-list{display:flex;flex-direction:column}
.pub-item{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;transition:color .2s}
.pub-item:last-child{border-bottom:none}
.pub-item:hover{color:var(--teal)}
.pub-dot{width:5px;height:5px;border-radius:50%;background:var(--coral);flex-shrink:0}
.pub-dot.online{background:var(--cyan)}
.pub-title{font-size:.8125rem;font-weight:400;flex:1}
.pub-year{font-size:.75rem;color:var(--text-muted);flex-shrink:0}

/* ── Collab ── */
.collab-card{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:inherit;transition:all .2s}
.collab-card:hover{border-color:var(--teal)}
.collab-card p{font-size:.8125rem;color:var(--text-light);font-weight:300}

/* ── Series detail ── */
.series-header{padding:120px 32px 24px;max-width:1200px;margin:0 auto}
.series-header .back-link{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--teal);text-decoration:none;margin-bottom:20px;transition:opacity .2s}
.series-header .back-link:hover{opacity:.7}
.series-header h1{font-family:'DM Serif Display',serif;font-size:2.5rem;font-weight:400;letter-spacing:-.02em}
.series-header .desc{color:var(--text-light);font-weight:300;line-height:1.75;margin-top:12px;max-width:640px;font-size:.9375rem}
.series-gallery{max-width:1200px;margin:0 auto;padding:24px 32px 80px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1200px;margin:0 auto;padding:0 32px 80px}
.gallery-item{overflow:hidden;cursor:pointer;transition:all .3s;border:1px solid var(--border)}
.gallery-item:hover{border-color:transparent;box-shadow:0 8px 32px rgba(0,0,0,.08);transform:translateY(-2px)}
.gallery-item img{width:100%;aspect-ratio:88/107;object-fit:cover;display:block;background:var(--bg)}
.gallery-item.landscape img{aspect-ratio:107/88}

/* ── Lightbox with zoom ── */
.lightbox-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center;flex-direction:column}
.lightbox-overlay.open{display:flex}
.lightbox-img-wrap{position:relative;max-width:92vw;max-height:88vh;cursor:zoom-in;display:flex;align-items:center;justify-content:center}
.lightbox-img-wrap.zoom1{cursor:zoom-in;overflow:auto;align-items:flex-start;justify-content:flex-start;max-height:90vh}
.lightbox-img-wrap.zoom2{cursor:zoom-out;overflow:auto;align-items:flex-start;justify-content:flex-start;max-height:90vh}
.lightbox-img{max-width:100%;max-height:88vh;object-fit:contain;transition:none}
.lightbox-img-wrap.zoom1 .lightbox-img{max-width:none;max-height:none;width:auto;height:auto}
.lightbox-img-wrap.zoom2 .lightbox-img{max-width:none;max-height:none;width:auto;height:auto;transform:scale(2);transform-origin:top left}
.lightbox-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);border:none;cursor:pointer;color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10}
.lightbox-close:hover{background:rgba(255,255,255,.2)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:none;cursor:pointer;color:#fff;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10}
.lightbox-nav:hover{background:rgba(255,255,255,.2)}
.lightbox-prev{left:20px}
.lightbox-next{right:20px}
.lightbox-caption{color:rgba(255,255,255,.6);font-size:.8125rem;font-weight:300;text-align:center;margin-top:12px}
.lightbox-zoom-hint{color:rgba(255,255,255,.4);font-size:.6875rem;margin-top:4px}

/* ── Placeholder series ── */
.placeholder-img{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,var(--bg),#e0e0e0);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.8125rem;font-weight:300}

/* ── Cookie banner (GDPR) ── */
.cookie-banner{position:fixed;bottom:24px;left:24px;right:24px;max-width:480px;z-index:300;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:0 12px 40px rgba(0,0,0,.12);display:none}
.cookie-banner.show{display:block}
.cookie-banner h3{font-family:'DM Serif Display',serif;font-size:1.125rem;font-weight:400;margin-bottom:8px}
.cookie-banner p{font-size:.8125rem;color:var(--text-light);font-weight:300;line-height:1.6;margin-bottom:16px}
.cookie-buttons{display:flex;gap:8px}
.cookie-btn{padding:10px 20px;border-radius:var(--radius);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-family:inherit}
.cookie-accept{background:var(--teal);color:#fff}
.cookie-accept:hover{background:#006d8f}
.cookie-decline{background:var(--bg);color:var(--text-light)}
.cookie-decline:hover{background:var(--border)}

/* ── Footer ── */
footer{border-top:1px solid var(--border);padding:40px 32px;max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}
footer span{font-size:.8125rem;color:var(--text-muted);font-weight:300}
.footer-links{display:flex;gap:20px}
.footer-links a{font-size:.8125rem;color:var(--text-muted);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--teal)}

/* ── Animations ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.animate-in{animation:fadeUp .5s ease forwards;opacity:0}
.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}

/* ── Responsive ── */
@media(max-width:768px){
  .nav-links{display:none}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);padding:16px 32px 24px;border-bottom:1px solid var(--border)}
  .menu-toggle{display:block}
  .hero-grid{grid-template-columns:1fr!important}
  .portfolio-grid{padding:16px 20px 60px;grid-template-columns:1fr}
  .bio-layout{grid-template-columns:1fr!important;gap:40px!important;padding:0 24px 60px!important}
  .exhibition-grid{grid-template-columns:1fr}
  .series-gallery{padding:24px 20px 60px;grid-template-columns:1fr 1fr}
  footer{flex-direction:column;gap:16px;text-align:center;padding:40px 24px}
  .featured-grid{grid-template-columns:1fr!important}
  .lightbox-prev{left:8px}.lightbox-next{right:8px}
}

/* ── Palette accents: #F07167 coral + #00AFB9 cyan ── */
.series-card:hover{border-color:var(--cyan);box-shadow:0 8px 40px rgba(0,175,185,.12);transform:translateY(-3px)}
.award-item:hover{border-color:var(--coral);box-shadow:0 4px 16px rgba(240,113,103,.08)}
.award-item:hover .award-arrow{color:var(--coral)}
.gallery-item:hover{border-color:var(--coral);box-shadow:0 8px 32px rgba(240,113,103,.1)}
footer .footer-links a:hover{color:var(--teal)}

/* Award badge images */
.award-badge-img{width:60px;height:60px;object-fit:contain;flex-shrink:0;border-radius:4px}

/* Collab cover */
.collab-cover{width:64px;height:64px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}
