*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Rubik',sans-serif;background:#f5f2ec;color:#111;min-height:100vh;display:flex;flex-direction:column;}
.site-nav{background:#f5f2ec;position:sticky;top:0;z-index:100;}
.nav-top{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3rem;}
.nav-name{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;cursor:pointer;color:#111;}
.nav-links{display:flex;gap:2.5rem;}
.nav-btn{font-size:13px;font-weight:500;color:#111;cursor:pointer;font-family:'Rubik',sans-serif;}
.nav-btn:hover{opacity:.55;}
.nav-btn.active{border-bottom:1px solid #111;padding-bottom:1px;}
.page{display:none;flex:1;}
.page.active{display:block;}
.hero-wrap{padding:2rem 3rem 0;}
.hero-img{width:100%;max-height:85vh;object-fit:cover;object-position:center 25%;display:block;}
.home-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:0 3rem;}
.home-img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;}
.home-blurb{padding:2rem 3rem;max-width:800px;}
.home-blurb p{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;line-height:1.5;color:#111;}
.work-layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 80px);}
.work-leftnav{padding:2.5rem 0 2.5rem 3rem;position:sticky;top:80px;height:calc(100vh - 80px);overflow-y:auto;}
.leftnav-section{margin-bottom:.25rem;}
.leftnav-heading{display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none;padding:5px 0;}
.leftnav-heading .lplus{font-size:13px;font-weight:500;color:#111;transition:transform .2s;display:inline-block;line-height:1;}
.leftnav-heading .lplus.open{transform:rotate(45deg);}
.leftnav-heading .lname{font-size:13px;font-weight:500;color:#111;font-family:'Rubik',sans-serif;transition:color .2s;}
.leftnav-heading[data-accent="teal"]:hover .lname{color:#7abfb4;}
.leftnav-heading[data-accent="terra"]:hover .lname{color:#c4896a;}
.leftnav-heading[data-accent="mauve"]:hover .lname{color:#a08898;}
.leftnav-heading[data-accent="gold"]:hover .lname{color:#b8995a;}
.leftnav-cats{display:none;padding:4px 0 8px 20px;}
.leftnav-cats.open{display:block;}
.leftnav-cat{font-size:12px;color:#aaa;font-family:'Rubik',sans-serif;cursor:pointer;padding:3px 0;transition:color .2s;display:block;}
.leftnav-cat:hover{color:#111;}
#lcats-prints .leftnav-cat.active{color:#7abfb4;}
#lcats-ceramics .leftnav-cat.active{color:#c4896a;}
#lcats-drawings .leftnav-cat.active{color:#a08898;}
#lcats-about .leftnav-cat.active{color:#b8995a;}
.work-content{padding:2.5rem 3rem;}
.content-view{display:none;}
.content-view.active{display:block;}
.about-view{display:none;}
.about-view.active{display:block;}
.accent-rule{width:36px;height:1.5px;margin-bottom:1rem;}
.work-section-heading{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:400;color:#111;margin-bottom:.25rem;}
.work-section-meta{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#aaa;font-family:'Rubik',sans-serif;margin-bottom:2rem;}
.page-heading{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:400;color:#111;line-height:1;margin-bottom:2rem;}
.inner-page{padding:3rem;}
.g-row{display:grid;gap:.75rem;margin-bottom:.75rem;}
.r-wide{grid-template-columns:3fr 2fr;}
.r-three{grid-template-columns:1fr 1fr 1fr;}
.r-pair{grid-template-columns:1fr 1fr;}
.r-flip{grid-template-columns:2fr 3fr;}
.stack{display:flex;flex-direction:column;gap:.75rem;}
.gi{cursor:pointer;}
.gi img{width:100%;object-fit:cover;display:block;transition:opacity .2s;}
.gi img:hover{opacity:.82;}
.il{margin-top:.4rem;margin-bottom:.9rem;}
.it{font-size:12px;font-weight:400;color:#111;font-family:'Rubik',sans-serif;}
.im{font-size:11px;color:#999;margin-top:1px;font-family:'Rubik',sans-serif;font-style:italic;}

/* ── ABOUT PAGE REDESIGN ── */
.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:0;max-height:70vh;overflow:hidden;margin-bottom:0;}
.about-hero-img{width:100%;height:70vh;object-fit:cover;object-position:center 20%;display:block;}
.about-hero-text{background:#2e2c28;color:#e8e4dc;display:flex;flex-direction:column;justify-content:flex-end;padding:3rem;}
.about-hero-text h1{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:300;line-height:1.1;color:#e8e4dc;font-style:italic;margin-bottom:1.5rem;}
.about-hero-text p{font-size:13px;line-height:1.9;color:rgba(232,228,220,.7);font-family:'Rubik',sans-serif;font-weight:300;max-width:380px;}
.about-body-section{padding:3rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:900px;}
.about-body p{font-size:13px;line-height:1.9;color:#555;margin-bottom:1rem;font-family:'Rubik',sans-serif;font-weight:300;}
.about-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#aaa;font-family:'Rubik',sans-serif;display:block;margin-bottom:.3rem;}
.about-contact-strip{background:#f0ece4;border-top:.5px solid #ddd;padding:2rem 3rem;display:flex;gap:4rem;align-items:center;}
.about-contact-strip .lbl{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#aaa;font-family:'Rubik',sans-serif;}
.about-contact-strip a{font-size:13px;color:#111;font-family:'Rubik',sans-serif;font-weight:300;text-decoration:none;display:block;margin-top:.25rem;}

/* CV SECTION */
.about-cv{padding:3rem;max-width:700px;}
.cv-section{margin-bottom:2.5rem;}
.cv-section h3{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#aaa;font-family:'Rubik',sans-serif;font-weight:400;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:.5px solid #ddd;}
.cv-row{display:grid;grid-template-columns:70px 1fr;gap:.4rem 1rem;font-size:13px;font-family:'Rubik',sans-serif;font-weight:300;color:#111;margin-bottom:.4rem;}
.cv-year{color:#aaa;}

.contact-intro{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:400;line-height:1.4;color:#111;max-width:560px;margin-bottom:3rem;}
.contact-grid{display:grid;grid-template-columns:180px 1fr;gap:2rem;}
.cl{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#aaa;font-family:'Rubik',sans-serif;}
.cd p{font-size:13px;color:#111;line-height:1.9;font-family:'Rubik',sans-serif;font-weight:300;}
.cd a{font-size:13px;color:#111;display:block;margin-top:.75rem;font-family:'Rubik',sans-serif;font-weight:300;text-decoration:none;}
footer{background:#2e2c28;margin-top:auto;overflow:hidden;}
.footer-name{font-family:'Cormorant Garamond',serif;font-weight:400;color:#e8e4dc;text-transform:uppercase;white-space:nowrap;text-align:center;padding:2rem 1rem 1rem;font-size:clamp(36px,7vw,90px);letter-spacing:.06em;line-height:1;}
.footer-bottom{display:flex;justify-content:center;padding-bottom:1.25rem;}
.footer-meta{display:flex;justify-content:center;align-items:center;gap:.75rem;padding-bottom:2rem;font-size:11px;font-family:'Rubik',sans-serif;font-weight:300;color:rgba(232,228,220,.45);letter-spacing:.04em;}
.footer-meta a{color:rgba(232,228,220,.45);text-decoration:none;transition:color .2s;}
.footer-meta a:hover{color:rgba(232,228,220,.8);}
.footer-dot{opacity:.4;}
.instagram-icon{display:inline-flex;cursor:pointer;opacity:.4;transition:opacity .2s;}
.instagram-icon:hover{opacity:1;}
.lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);z-index:200;align-items:center;justify-content:center;flex-direction:column;}
.lightbox.open{display:flex;}
.lb-close{position:absolute;top:2rem;right:2rem;color:#fff;font-size:16px;cursor:pointer;opacity:.55;background:none;border:none;font-family:'Rubik',sans-serif;}
.lb-close:hover{opacity:1;}
/* ─────────────────────────────────────────────
   RESPONSIVE — MOBILE
   ───────────────────────────────────────────── */

@media (max-width: 768px) {

  /* NAV */
  .nav-top { padding: 1.25rem 1.5rem; }
  .nav-name { font-size: 20px; }
  .nav-links { gap: 1.5rem; }
  .nav-btn { font-size: 12px; }

  /* HOME */
  .hero-wrap { padding: 1rem 1rem 0; }
  .home-blurb { padding: 1.5rem 1rem; }
  .home-blurb p { font-size: 18px; }
  .home-images { grid-template-columns: 1fr; padding: 0 1rem; gap: 0.75rem; }

  /* WORK — stack left nav above content */
  .work-layout { grid-template-columns: 1fr; }
  .work-leftnav {
    position: static;
    height: auto;
    padding: 1.5rem 1rem 0.5rem;
    border-bottom: 0.5px solid #ddd;
    display: flex;
    flex-wrap: wrap;
    gap: 0 2rem;
  }
  .leftnav-section { margin-bottom: 0.5rem; }
  .work-content { padding: 1.5rem 1rem; }
  .work-section-heading { font-size: 22px; }

  /* GALLERY — simplify to max 2 columns */
  .g-row.r-wide,
  .g-row.r-flip,
  .g-row.r-pair  { grid-template-columns: 1fr 1fr; }
  .g-row.r-three { grid-template-columns: 1fr 1fr; }

  /* ABOUT HERO — stack vertically */
  .about-hero { grid-template-columns: 1fr; max-height: none; }
  .about-hero-img { height: 50vw; min-height: 220px; }
  .about-hero-text { padding: 2rem 1.5rem; }
  .about-hero-text h1 { font-size: 28px; margin-bottom: 1rem; }
  .about-hero-text p { font-size: 12px; }

  /* ABOUT BIOGRAPHY photo+text layout */
  .about-layout { grid-template-columns: 1fr; gap: 1.5rem; }

  /* INNER PAGES */
  .inner-page { padding: 1.5rem 1rem; }
  .page-heading { font-size: 26px; }
  .contact-grid { grid-template-columns: 1fr; gap: 1rem; }
  .contact-intro { font-size: 18px; margin-bottom: 1.5rem; }

  /* CV */
  .cv-row { grid-template-columns: 60px 1fr; gap: 0.3rem 0.75rem; }

  /* FOOTER */
  .footer-name { font-size: clamp(28px, 10vw, 60px); padding: 1.5rem 1rem 0.75rem; }
  .footer-meta { flex-wrap: wrap; justify-content: center; gap: 0.5rem; font-size: 10px; padding: 0 1rem 1.5rem; }

  /* LIGHTBOX */
  #lb-img { max-width: 95vw; max-height: 70vh; }
}

@media (max-width: 480px) {
  /* Very small screens — single column gallery */
  .g-row.r-wide,
  .g-row.r-flip,
  .g-row.r-pair,
  .g-row.r-three { grid-template-columns: 1fr; }
  .stack { flex-direction: row; }
}

/* ── HAMBURGER ── */
.hamburger { display: none; flex-direction: column; justify-content: space-between; width: 24px; height: 17px; background: none; border: none; cursor: pointer; padding: 0; }
.hamburger span { display: block; width: 100%; height: 1.5px; background: #111; transition: all 0.25s; transform-origin: center; }
.hamburger.open span:nth-child(1) { transform: translateY(7.75px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7.75px) rotate(-45deg); }

/* MOBILE MENU */
.mobile-menu { display: none; background: #f5f2ec; border-top: 0.5px solid #ddd; }
.mobile-menu.open { display: block; }

.mob-section { border-bottom: 0.5px solid #eee; }
.mob-section-heading { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.5rem; cursor: pointer; font-size: 14px; font-weight: 500; font-family: 'Rubik', sans-serif; color: #111; }
.mob-section-heading:hover { background: #ede9e2; }
.mob-plain { border-bottom: 0.5px solid #eee; }
.mob-arrow { font-size: 16px; color: #aaa; transition: transform 0.2s; display: inline-block; }
.mob-arrow.open { transform: rotate(90deg); color: #111; }
.mob-cats { display: none; background: #ede9e2; }
.mob-cats.open { display: block; }
.mob-cat { padding: 0.75rem 1.5rem 0.75rem 2.25rem; font-size: 13px; font-family: 'Rubik', sans-serif; color: #666; cursor: pointer; border-bottom: 0.5px solid #e5e1db; }
.mob-cat:last-child { border-bottom: none; }
.mob-cat:hover { color: #111; background: #e5e1db; }

@media (max-width: 768px) {
  .nav-links { display: none; }
  .hamburger { display: flex; }
}
