
  :root{
    --bg:#f5f2ec; --panel:#ffffff; --text:#171717; --muted:#6f6a62; --line:#d9d2c8;
    --accent:#9a7a45; --accent2:#b7302e; --navbg:rgba(245,242,236,.92); --shadow:0 24px 80px rgba(20,20,20,.14);
    --display: Georgia, 'Times New Roman', serif; --sans: Arial, Helvetica, sans-serif;
    --radius:0px; --galleryGap:18px;
  }
  body.theme-dark{--bg:#171716;--panel:#242321;--text:#f4f0e7;--muted:#bdb7aa;--line:#45413b;--accent:#c4a261;--accent2:#c84b3f;--navbg:rgba(23,23,22,.92);--shadow:0 24px 90px rgba(0,0,0,.45);--radius:2px;--galleryGap:12px}
  body.theme-atelier{--bg:#e9e0d2;--panel:#f7f1e7;--text:#2a2926;--muted:#766d62;--line:#cbbdac;--accent:#725d42;--accent2:#874944;--navbg:rgba(233,224,210,.93);--shadow:0 24px 80px rgba(73,57,38,.18);--radius:14px;--galleryGap:22px}
  *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);transition:.35s background,.35s color}
  a{color:inherit;text-decoration:none} button{font:inherit}
  .topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 4vw;background:var(--navbg);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
  .brand{display:flex;align-items:center;gap:18px;min-width:260px}
  .logo{display:flex;align-items:center;gap:12px}
  .logo-mark{width:36px;height:36px;position:relative;flex:0 0 auto}
  .logo-mark:before,.logo-mark:after{content:"";position:absolute;inset:2px;border:1.6px solid var(--accent);transform:rotate(45deg)}
  .logo-mark:after{inset:9px;border-color:var(--accent2);transform:rotate(0deg)}
  .logo-word{font:600 22px/1 var(--display);letter-spacing:.25em}
  .logo-sub{display:block;font:10px/1.3 var(--sans);letter-spacing:.19em;text-transform:uppercase;color:var(--muted);margin-top:5px}
  nav{display:flex;gap:25px;font-size:13px;letter-spacing:.11em;text-transform:uppercase}
  nav a:hover{color:var(--accent)}
  .topbar nav:last-child{margin-right:4vw}
  .themes{display:flex;gap:8px;align-items:center}
  .themes button{border:1px solid var(--line);background:transparent;color:var(--text);padding:8px 10px;cursor:pointer;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border-radius:999px}
  .themes button.active{background:var(--text);color:var(--bg);border-color:var(--text)}
  .hero{min-height:calc(100vh - 77px);min-height:calc(100svh - 77px);display:grid;grid-template-columns:1.04fr .96fr;align-items:center;padding-top:40px;padding-bottom:40px}
  .hero-copy{display:flex;flex-direction:column;justify-content:center;padding:0 7vw 0 8vw}
  .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.24em;color:var(--accent);margin-bottom:28px}
  h1{font:500 clamp(52px,8vw,120px)/.92 var(--display);letter-spacing:-.045em;margin:0 0 30px}
  .hero p{font:400 clamp(18px,1.6vw,26px)/1.45 var(--display);max-width:680px;color:var(--muted);margin:0 0 34px}
  .cta{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--text);padding:13px 20px;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.btn.primary{background:var(--text);color:var(--bg)}
  .hero-art{position:relative;align-self:stretch;overflow:hidden;min-height:560px;background:#222}.hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.94) contrast(1.02)}
  .hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 60%,rgba(0,0,0,.10))}
  .art-caption{position:absolute;z-index:2;left:28px;bottom:25px;color:#fff;background:rgba(0,0,0,.34);backdrop-filter:blur(8px);padding:10px 13px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
  section{padding:95px 8vw;border-top:1px solid var(--line)}
  .section-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:50px}.section-head h2{font:500 clamp(38px,5vw,76px)/1 var(--display);margin:0}.section-head p{margin:0;color:var(--muted);font:18px/1.6 var(--display);max-width:660px}
  .gallery{columns:3 260px;column-gap:var(--galleryGap)}
  .work{break-inside:avoid;margin:0 0 var(--galleryGap);position:relative;cursor:zoom-in;background:var(--panel);overflow:hidden;border-radius:var(--radius)}
  .work img{width:100%;display:block;transition:transform .5s ease,filter .5s ease}.work:hover img{transform:scale(1.025);filter:saturate(1.06)}
  .work .meta{padding:14px 4px 2px;background:var(--bg)}.work strong{font:500 17px var(--display)}.work span{display:block;color:var(--muted);font-size:12px;margin-top:5px}
  .about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:start}.portrait-card{position:sticky;top:110px;background:var(--panel);padding:28px;border-radius:var(--radius);box-shadow:var(--shadow)}
  .portrait-card .shape{aspect-ratio:4/5;background:linear-gradient(145deg,var(--accent2),transparent 40%),linear-gradient(20deg,var(--accent),#262321);position:relative;overflow:hidden}.portrait-card .shape:before{content:"V";position:absolute;inset:auto 18px 2px auto;font:700 180px/1 var(--display);color:rgba(255,255,255,.17)}
  .portrait-card p{font:15px/1.6 var(--display);color:var(--muted);margin:20px 0 0}
  .bio h3{font:500 clamp(32px,4vw,58px)/1.05 var(--display);margin:0 0 28px}.bio p{font:19px/1.75 var(--display);color:var(--muted);margin:0 0 22px}
  .facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px}.fact{background:var(--bg);padding:22px}.fact small{display:block;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:8px}.fact div{font:19px var(--display)}
  .exhibitions{display:grid;gap:0;border-top:1px solid var(--line)}.expo{display:grid;grid-template-columns:100px 1fr auto;gap:25px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}.expo .year{color:var(--accent);font-size:13px;letter-spacing:.12em}.expo .place{font:24px var(--display)}.expo .city{color:var(--muted);font-size:13px}
  .contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact h2{font:500 clamp(45px,7vw,94px)/.96 var(--display);margin:0}.contact p{color:var(--muted);font:19px/1.7 var(--display)}.contact-card{border:1px solid var(--line);padding:34px;background:var(--panel);border-radius:var(--radius)}.contact-row{padding:18px 0;border-bottom:1px solid var(--line)}.contact-row:last-child{border-bottom:none}.contact-row small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:7px}.contact-row a{font:22px var(--display)}
  footer{padding:30px 8vw 50px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
  .lightbox{position:fixed;inset:0;z-index:100;background:rgba(9,9,9,.95);display:none;grid-template-rows:minmax(0,1fr) auto;gap:12px;padding:12px}.lightbox.open{display:grid}.lightbox img{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;box-shadow:0 30px 100px rgba(0,0,0,.45)}.lightbox .close{position:absolute;z-index:1;right:16px;top:12px;color:#fff;border:1px solid rgba(255,255,255,.35);background:rgba(9,9,9,.55);width:42px;height:42px;border-radius:50%;font-size:24px;cursor:pointer}.lightbox .lbmeta{color:#ddd;font:15px/1.35 var(--display);text-align:center}
  .intro{position:fixed;inset:0;z-index:120;background:rgba(16,15,14,.85);backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;padding:25px}.intro.hide{display:none}.intro-card{width:min(980px,94vw);background:var(--panel);color:var(--text);display:grid;grid-template-columns:1.2fr .8fr;box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden}.intro-visual{min-height:520px;position:relative;background:#222}.intro-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s}.intro-visual img.active{opacity:1}.intro-copy{padding:56px 44px;display:flex;flex-direction:column;justify-content:center}.intro-copy h3{font:500 45px/1.02 var(--display);margin:0 0 20px}.intro-copy p{font:18px/1.6 var(--display);color:var(--muted)}.intro-copy button{margin-top:18px;align-self:flex-start}.intro-x{position:absolute;z-index:2;right:20px;top:16px;border:none;background:rgba(0,0,0,.35);color:#fff;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:21px}
  .style-note{position:fixed;right:18px;bottom:18px;z-index:60;background:var(--text);color:var(--bg);padding:10px 14px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;box-shadow:var(--shadow)}
  body.theme-dark .logo-mark{clip-path:polygon(0 0,100% 0,72% 50%,100% 100%,0 100%,28% 50%)} body.theme-dark .logo-mark:before,body.theme-dark .logo-mark:after{inset:0;border:none;background:linear-gradient(135deg,var(--accent2),var(--accent));transform:none} body.theme-dark .logo-mark:after{inset:8px;background:var(--bg)}
  body.theme-dark .logo-word{font-family:Arial,sans-serif;font-weight:300;letter-spacing:.34em}
  body.theme-atelier .logo-mark{border-radius:50%;border:1px solid var(--accent)} body.theme-atelier .logo-mark:before{content:"V";inset:auto;left:8px;top:4px;border:0;transform:none;font:italic 25px var(--display);color:var(--accent2)} body.theme-atelier .logo-mark:after{display:none} body.theme-atelier .logo-word{font-style:italic;letter-spacing:.08em}
  @media(max-width:950px){.topbar{flex-wrap:wrap;gap:12px}.brand{min-width:auto}.themes{order:3;width:100%;justify-content:center}nav{gap:14px;font-size:11px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:60px 7vw}.hero-art{min-height:55vh}.section-head,.about-grid,.contact{grid-template-columns:1fr}.portrait-card{position:relative;top:auto}.intro-card{grid-template-columns:1fr}.intro-visual{min-height:330px}.intro-copy{padding:34px}.expo{grid-template-columns:65px 1fr}.expo .city{display:none}}
  @media(max-width:650px){.topbar nav{display:none}.logo-word{font-size:18px}.hero h1{font-size:58px}.hero-art{min-height:430px}section{padding:70px 6vw}.gallery{columns:2 140px}.facts{grid-template-columns:1fr}.intro-visual{min-height:250px}.intro-copy h3{font-size:36px}.style-note{font-size:9px;right:10px;bottom:10px}}
