:root{--black:#07090a;--ink:#0c0f10;--white:#f5f4ef;--muted:#aaa9a3;--cyan:#2cf6eb;--pink:#ff2c9c;--line:rgba(245,244,239,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.5}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 75%)}
a{color:inherit}
.site-header{height:82px;padding:0 3.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:4}
.brand{text-decoration:none;font:800 1.2rem "DM Sans",sans-serif;letter-spacing:.01em;line-height:1}.brand span{color:#fff}
nav{display:flex;gap:2rem}nav a{text-decoration:none;color:var(--muted);font-size:.9rem}nav a:hover{color:var(--cyan)}
.menu-button{display:none;color:var(--white);background:none;border:1px solid var(--line);padding:.55rem .8rem}
.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:47% 42% 11%;align-items:center;padding:4vw 3.5vw;overflow:hidden}
.hero-copy{z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.75rem;font-weight:600;color:var(--cyan);margin:0 0 1rem}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:"DM Sans",sans-serif;text-transform:uppercase;letter-spacing:-.045em;font-weight:800}
h1{font-size:clamp(4rem,9vw,9rem);line-height:.82;margin:0 0 2.25rem;color:#fff;text-shadow:none}h1 em{font-style:normal;color:#fff;-webkit-text-stroke:0}
.intro{max-width:31rem;font-size:1.1rem;color:var(--muted)}
.primary-link{display:inline-flex;gap:1.2rem;align-items:center;margin-top:1rem;padding:.9rem 0;text-decoration:none;border-bottom:2px solid var(--cyan);font-weight:600}.primary-link span{font-size:1.4rem}
.hero-mark{height:min(72vh,760px);display:flex;align-items:center;justify-content:center}.hero-mark img{display:block;width:100%;height:100%;object-fit:contain}
.note{font-size:.76rem;color:var(--muted)}
.edition{writing-mode:vertical-rl;text-orientation:mixed;justify-self:end;letter-spacing:.24em;font-size:.68rem;color:var(--muted)}
.works{padding:9rem 3.5vw}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;align-items:end;border-bottom:1px solid var(--line);padding-bottom:2rem;margin-bottom:3rem}.section-heading h2{font-size:clamp(2.3rem,5vw,5rem);line-height:.92;margin:0}.section-heading>p:last-child{color:var(--muted);margin:0}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5rem 2rem;align-items:start}.work-card--wide{grid-column:1/-1}.art-button{border:0;padding:0;background:none;width:100%;height:520px;overflow:hidden;cursor:zoom-in}.work-card--large .art-button{height:760px}.work-card--wide .art-button{height:680px}.art-button img{width:100%;height:100%;object-fit:contain;background:#020303;display:block;transition:transform .5s ease,filter .5s ease}.art-button:hover img{transform:scale(1.018);filter:saturate(1.12)}
.art-frame{height:620px;margin:0;overflow:hidden;background:#020303}.art-frame img{width:100%;height:100%;object-fit:contain;display:block}
.empty-gallery{min-height:20rem;border:1px dashed rgba(245,244,239,.32);display:grid;place-items:center;padding:3rem;text-align:center;background:linear-gradient(135deg,rgba(44,246,235,.05),transparent 45%),linear-gradient(315deg,rgba(255,44,156,.06),transparent 45%)}.empty-gallery p{margin:0;color:var(--muted);font-size:1rem;letter-spacing:.08em;text-transform:uppercase}.empty-gallery--light{border-color:rgba(12,15,16,.24);background:linear-gradient(135deg,rgba(44,246,235,.12),transparent 45%),linear-gradient(315deg,rgba(255,44,156,.12),transparent 45%)}.empty-gallery--light p{color:#67645f}
.sketches{padding-top:3rem;background:linear-gradient(180deg,var(--black),#101314 48%,var(--black))}.sketches .section-heading{border-color:rgba(44,246,235,.32)}.sketch-gallery .art-button img{filter:grayscale(1) contrast(1.06)}.sketch-gallery .art-button:hover img{filter:grayscale(1) contrast(1.12)}
.sketch-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.5rem}.sketch-gallery .art-frame{height:460px}.sketch-gallery .art-frame img{filter:grayscale(1) contrast(1.06)}
.work-meta{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem}.work-meta h3{font-size:1.05rem;margin:0 0 .2rem}.work-meta p,.work-meta strong{font-size:.78rem;color:var(--muted);margin:0}.work-meta strong{color:var(--cyan);text-transform:uppercase;letter-spacing:.1em}
.archive-gallery{padding:8rem 3.5vw;background:var(--white);color:var(--ink)}.archive-gallery .section-heading{border-color:rgba(12,15,16,.22)}.archive-gallery .eyebrow{color:#a2005c}.archive-gallery .section-heading>p:last-child{color:#67645f}.archive-gallery-intro{min-height:18rem;display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:end;border:1px solid rgba(12,15,16,.24);padding:3rem;background:linear-gradient(135deg,rgba(44,246,235,.12),transparent 42%),linear-gradient(315deg,rgba(255,44,156,.12),transparent 38%)}.archive-gallery-intro p{max-width:46rem;font-size:1.3rem;margin:0}.archive-gallery-intro span{justify-self:end;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:600;color:#67645f}
.archive-gallery-grid .art-button img,.archive-gallery-grid .art-frame{background:#e9e8e3}.archive-gallery-grid .work-meta h3{color:var(--ink)}.archive-gallery-grid .work-meta p{color:#67645f}.archive-gallery-grid .work-meta strong{color:#a2005c}
.archive-gallery-grid{display:block;column-count:4;column-gap:1rem}.archive-gallery-grid .work-card{display:inline-block;width:100%;margin:0 0 1rem;break-inside:avoid}.archive-gallery-grid .art-frame{height:auto}.archive-gallery-grid .art-frame img{width:100%;height:auto;object-fit:contain}
.statement{min-height:70vh;padding:8rem 8vw;background:var(--white);color:var(--ink);display:grid;grid-template-columns:1fr 3fr;gap:2rem}.statement .eyebrow{color:#a2005c}.statement h2{font-size:clamp(3rem,7.2vw,7.5rem);line-height:.93;max-width:1100px;margin:0}.statement-copy{grid-column:2;display:grid;grid-template-columns:2fr 1fr;gap:3rem;max-width:850px;margin-top:3rem}.statement-copy>p:first-child{font-size:1.3rem}.statement .note{color:#67645f}
.courses{padding:8rem 8vw;display:grid;grid-template-columns:1fr 2fr;gap:3rem;border-top:1px solid var(--line);background:linear-gradient(135deg,rgba(44,246,235,.08),transparent 42%),var(--black)}.courses-heading h2{font-size:clamp(2.8rem,6vw,6.2rem);line-height:.9;margin:0;max-width:10ch}.courses-details{max-width:48rem;border-left:1px solid var(--cyan);padding-left:3rem;align-self:end}.courses-details>p{font-size:1.25rem}.courses-level{text-transform:uppercase;letter-spacing:.17em;font-size:.78rem!important;font-weight:700;color:var(--cyan)}.courses-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2.5rem 0}.courses-prices p{margin:0;padding:1.5rem;border:1px solid var(--line);display:flex;flex-direction:column}.courses-prices strong{font-size:2.3rem;color:var(--white)}.courses-prices span{color:var(--muted)}.courses-note{color:var(--muted);font-size:1rem!important;margin-bottom:0}
.contact{padding:8rem 8vw;display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:end;background:radial-gradient(circle at 75% 100%,rgba(255,44,156,.17),transparent 35%)}.contact h2{font-size:clamp(4rem,9vw,9rem);line-height:.8;margin:0}.contact>a{text-decoration:none;border:1px solid var(--cyan);padding:1.3rem 1.5rem;display:flex;justify-content:space-between;font-weight:600}.contact .note{grid-column:2}
footer{padding:1.5rem 3.5vw;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}footer p{margin:0}
dialog{width:min(1000px,92vw);padding:0;background:var(--ink);color:var(--white);border:1px solid var(--line);box-shadow:0 30px 100px #000;grid-template-columns:55% 45%;overflow:hidden}dialog[open]{display:grid}dialog::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(8px)}dialog img{width:100%;height:min(78vh,780px);object-fit:cover}dialog>div{padding:4rem 3rem;align-self:end}dialog h2{font-size:2.5rem}.close{position:absolute;right:1rem;top:1rem;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:1.8rem;cursor:pointer}
@media(max-width:800px){.site-header{height:68px}.menu-button{display:block}nav{display:none;position:absolute;top:68px;left:0;right:0;padding:1.5rem 3.5vw;background:var(--ink);border-bottom:1px solid var(--line);flex-direction:column}nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:3rem;gap:3rem}.hero-copy{order:1}.hero-mark{order:2;height:58vh;width:92%}.edition{display:none}h1{font-size:17vw}.works{padding-top:6rem}.section-heading{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;gap:4rem}.sketch-gallery{gap:1.5rem}.sketch-gallery .art-frame{height:70vh;max-height:620px}.work-card--wide{grid-column:auto}.art-button,.work-card--large .art-button,.work-card--wide .art-button,.art-frame{height:62vh;max-height:650px}.archive-gallery{padding:6rem 5vw}.archive-gallery-intro{grid-template-columns:1fr;padding:2rem;min-height:20rem}.archive-gallery-intro span{justify-self:start}.statement{padding:6rem 5vw;grid-template-columns:1fr}.statement h2,.statement-copy{grid-column:1}.statement-copy{grid-template-columns:1fr}.courses{padding:6rem 5vw;grid-template-columns:1fr}.courses-details{border-left:0;border-top:1px solid var(--cyan);padding:2rem 0 0}.courses-prices{grid-template-columns:1fr}.contact{padding:6rem 5vw;grid-template-columns:1fr}.contact .note{grid-column:1}footer{gap:1rem;flex-direction:column}}
@media(max-width:1100px){.archive-gallery-grid{column-count:3}}
@media(max-width:800px){.archive-gallery-grid{display:block;column-count:2;column-gap:.7rem}.archive-gallery-grid .work-card{margin-bottom:.7rem}.archive-gallery-grid .art-frame{height:auto;max-height:none}.archive-gallery-grid .art-frame img{height:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.art-button img{transition:none}}
