@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5efe7;color:#211f1c;font-family:'DM Sans',sans-serif}.nav{height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(245,239,231,.92);backdrop-filter:blur(14px);z-index:20;border-bottom:1px solid rgba(0,0,0,.06)}.brand{font-size:20px;letter-spacing:.18em;text-decoration:none;color:inherit;font-weight:600}.brand i{font-family:'Playfair Display';font-weight:500;letter-spacing:0;text-transform:lowercase}.nav nav{display:flex;gap:32px}.nav nav a{color:inherit;text-decoration:none;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.menu{display:none;border:0;background:none;font-size:24px}.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:.9fr 1.1fr;padding:7vw 7vw 8vw;gap:7vw;align-items:center}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:600}.hero h1,.section-head h2,.about h2,.classes h2,.contact h2{font:500 clamp(54px,7vw,110px)/.88 'Playfair Display',serif;margin:24px 0}.hero h1 em{color:#d75638;font-weight:500}.hero-copy>p:not(.eyebrow){max-width:560px;line-height:1.75;color:#625d56}.button{display:inline-flex;gap:30px;align-items:center;margin-top:25px;background:#211f1c;color:#fff;text-decoration:none;padding:17px 22px;font-size:13px;letter-spacing:.08em}.hero-art img{width:100%;max-height:70vh;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none}.hero-art span{display:block;font-size:10px;letter-spacing:.18em;margin-top:14px;text-align:right}.quote{background:#d75638;color:#fff;padding:9vw 14vw}.quote blockquote{font:500 clamp(32px,4vw,62px)/1.15 'Playfair Display';margin:0 0 30px}.quote cite,.about cite{font-style:normal;font-size:12px;letter-spacing:.12em}.gallery{padding:9vw 5vw}.section-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:5vw}.section-head h2{font-size:clamp(52px,7vw,90px);margin:10px 0}.section-head>p{max-width:500px;line-height:1.7;color:#625d56}.grid{columns:3;column-gap:18px}.tile{break-inside:avoid;margin:0 0 18px;position:relative;cursor:zoom-in;overflow:hidden;background:#e8dfd4}.tile img{width:100%;display:block;transition:transform .45s ease;user-select:none;-webkit-user-drag:none}.tile:hover img{transform:scale(1.025)}.tile span{position:absolute;left:0;right:0;bottom:0;padding:50px 16px 15px;background:linear-gradient(transparent,rgba(0,0,0,.65));color:white;opacity:0;transition:.25s;font-family:'Playfair Display';font-size:18px}.tile:hover span{opacity:1}.about{display:grid;grid-template-columns:1.15fr .85fr;background:#242a24;color:#f7f2ea}.about-card{padding:10vw 8vw}.about-card h2{font-size:clamp(58px,8vw,110px)}.about-card>p:last-child{line-height:1.85;max-width:680px;color:#d8d8cf}.about-accent{background:#d6ad34;color:#25231d;padding:8vw;display:flex;flex-direction:column;justify-content:center}.artist-portrait{width:min(100%,420px);aspect-ratio:1/1;object-fit:cover;object-position:center;border-radius:50%;display:block;margin:0 auto 48px;box-shadow:0 20px 60px rgba(0,0,0,.16);user-select:none;-webkit-user-drag:none}.about-accent p{font:italic 500 clamp(25px,3vw,40px)/1.25 'Playfair Display'}.classes{background:#747aa6;color:#fff;text-align:center;padding:10vw 18vw}.classes h2{font-size:clamp(60px,8vw,105px)}.classes>p:not(.eyebrow){max-width:800px;margin:0 auto;line-height:1.8}.button.light{background:#fff;color:#242126}.contact{padding:10vw 8vw}.contact h2{font-size:clamp(55px,8vw,105px)}.contact>p{font-size:18px;color:#625d56}.contact-note{font-size:12px!important;margin-top:40px}footer{padding:40px 5vw;border-top:1px solid #d8d0c6;display:flex;justify-content:space-between;align-items:center}footer p{font-size:11px;color:#777}.lightbox{position:fixed;inset:0;background:rgba(18,17,15,.97);z-index:100;display:none;align-items:center;justify-content:center;color:#fff}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(82vw,1200px);max-height:90vh}.lightbox img{max-width:100%;max-height:80vh;display:block;margin:auto;user-select:none;-webkit-user-drag:none}.lightbox figcaption{display:flex;justify-content:space-between;margin-top:16px;font:20px 'Playfair Display'}.lightbox small{font:12px 'DM Sans';letter-spacing:.15em}.lightbox button{position:absolute;border:0;background:none;color:white;font-size:54px;cursor:pointer}.close{right:25px;top:15px}.prev{left:25px}.next{right:25px}
@media(max-width:800px){.nav{height:68px}.menu{display:block}.nav nav{display:none;position:absolute;top:68px;left:0;right:0;background:#f5efe7;padding:25px 5vw;flex-direction:column}.nav nav.open{display:flex}.hero{grid-template-columns:1fr;padding:14vw 6vw}.hero-copy{order:1}.hero-art{order:0}.hero-art img{max-height:48vh}.section-head{grid-template-columns:1fr}.grid{columns:2;column-gap:10px}.tile{margin-bottom:10px}.tile span{opacity:1;padding:35px 10px 9px;font-size:14px}.about{grid-template-columns:1fr}.classes{padding:20vw 8vw}.quote{padding:18vw 8vw}footer{align-items:flex-start;gap:25px;flex-direction:column}.lightbox figure{max-width:88vw}.prev,.next{font-size:42px}.prev{left:4px}.next{right:4px}}
@media(max-width:480px){.grid{columns:1}.hero h1{font-size:58px}.gallery{padding:20vw 5vw}.about-card,.about-accent{padding:18vw 8vw}}
