:root{--pink:#F4C6DD;--orange:#FF9530;--charcoal:#2C2C2C;--grey:#E8E8E8;--white:#fff;--serif:'Bodoni Moda',Didot,serif;--sans:Inter,Arial,sans-serif;--mono:'Space Mono',monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--charcoal);background:var(--white);font-family:var(--sans);font-weight:300}
a{color:inherit}
button,input,textarea{font:inherit}
.index-nav{position:fixed;left:0;top:0;width:245px;height:100vh;padding:28px 22px;background:var(--pink);z-index:20;border-right:1px solid rgba(44,44,44,.18)}
.brand{display:block;font-family:var(--serif);font-size:28px;line-height:.95;text-decoration:none;margin-bottom:44px}
.index-nav nav{border-top:1px solid}
.index-nav nav a{display:grid;grid-template-columns:34px 1fr;padding:13px 0;border-bottom:1px solid;text-decoration:none;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;transition:.2s}
.index-nav nav a:hover,.index-nav nav a.active{padding-left:8px;background:rgba(255,149,48,.28)}
main,footer{margin-left:245px}
.page{min-height:80vh}
.hero{min-height:62vh;background:var(--pink);padding:clamp(70px,7vw,120px) clamp(34px,7vw,110px) clamp(55px,6vw,90px);display:grid;align-content:end}
.eyebrow,.label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.hero h1,.page-title{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.88}
.hero h1{font-size:clamp(64px,8.4vw,132px);margin:0;max-width:920px}
.about-section{padding:clamp(52px,6vw,88px) clamp(34px,7vw,110px);background:var(--white);display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.7fr);gap:clamp(34px,5vw,78px);align-items:start}
.profile-card{aspect-ratio:1/1.08;overflow:hidden;background:var(--grey)}
.profile-card img{width:100%;height:100%;object-fit:cover;display:block}
.profile-placeholder{height:100%;display:grid;place-items:center;border:1px solid var(--charcoal);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.statement-copy{font-family:var(--serif);font-size:clamp(24px,2.25vw,38px);line-height:1.16;margin:10px 0 34px;max-width:900px}
.about-detail{display:grid;grid-template-columns:minmax(130px,.5fr) 1.5fr;gap:28px;padding-top:24px;border-top:1px solid}
.about-detail h2{font-family:var(--serif);font-size:clamp(30px,3.2vw,50px);font-weight:400;line-height:1;margin:0}
.about-detail p{font-size:17px;line-height:1.65;margin:0 0 1em}
.section{padding:70px 5vw}
.section.orange{background:var(--orange)}
.section.grey{background:var(--grey)}
.section-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:28px}
.section-head h2,.page-title{margin:0;font-size:clamp(52px,7vw,110px)}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 18px}
.art-card{cursor:pointer}
.thumb{aspect-ratio:3/4;background:var(--grey);overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;object-position:var(--x,50%) var(--y,50%);display:block;transition:transform .35s}
.art-card:hover img{transform:scale(1.015)}
.meta{padding-top:10px}
.meta-row{display:flex;justify-content:space-between;gap:15px}
.meta h3{font-family:var(--serif);font-weight:400;font-size:25px;margin:0}
.small{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.price{color:#8a4e00}
.sold{display:inline-block;background:var(--charcoal);color:#fff;padding:3px 7px}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(44,44,44,.25);border:1px solid rgba(44,44,44,.25)}
.content-card{background:#fff;padding:26px;text-decoration:none;min-height:210px;display:flex;flex-direction:column;justify-content:space-between}
.content-card img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:18px}
.content-card h2{font-family:var(--serif);font-size:38px;font-weight:400;margin:0}
.article{max-width:900px;padding:90px 7vw}
.article h1{font-family:var(--serif);font-size:clamp(55px,8vw,110px);line-height:.92;font-weight:400;margin:0 0 30px}
.article .body{font-size:18px;line-height:1.75}
.article .body img{max-width:100%;height:auto}
.partners{display:flex;flex-wrap:wrap;gap:35px;align-items:center}
.partners a img{max-width:130px;max-height:55px;object-fit:contain}
.site-footer{padding:40px 5vw;background:var(--charcoal);color:#fff}
.footer-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.viewer{position:fixed;inset:0;background:rgba(255,255,255,.98);z-index:100;display:none}
.viewer.open{display:grid;grid-template-columns:minmax(0,1fr) 360px}
.viewer-media{display:flex;align-items:center;justify-content:center;padding:45px;min-width:0}
.viewer-media img{max-width:100%;max-height:90vh;object-fit:contain}
.viewer-info{border-left:1px solid;padding:72px 28px 30px;overflow:auto}
.viewer h2{font-family:var(--serif);font-size:42px;font-weight:400;margin:0}
.viewer-close,.viewer-prev,.viewer-next{position:absolute;border:1px solid;background:#fff;width:44px;height:44px;cursor:pointer;font-family:var(--mono)}
.viewer-close{right:18px;top:18px}
.viewer-prev{left:18px;top:50%}
.viewer-next{right:378px;top:50%}
.enquire-btn,.button{border:1px solid var(--charcoal);background:var(--orange);padding:12px 16px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;text-decoration:none;display:inline-block}
.form{display:grid;gap:12px;margin-top:22px}
.form input,.form textarea{width:100%;padding:11px;border:1px solid;background:#fff}
.form textarea{min-height:110px}
.form-note{font-size:13px}
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.event-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.event-gallery img{width:100%;height:auto}
#trail{position:fixed;inset:0;z-index:999;pointer-events:none}
.empty{padding:30px;border:1px dashed}
@media(max-width:950px){.index-nav{position:sticky;width:100%;height:auto;display:flex;align-items:center;justify-content:space-between;padding:16px 18px}
.brand{font-size:22px;margin:0}
.index-nav nav{display:flex;border:0;overflow:auto}
.index-nav nav a{display:block;border:0;padding:8px 12px;white-space:nowrap}
.index-nav nav a span:first-child{display:none}
main,footer{margin-left:0}
.gallery{grid-template-columns:repeat(2,1fr)}
.viewer.open{grid-template-columns:1fr}
.viewer-info{position:absolute;left:0;right:0;bottom:0;background:rgba(255,255,255,.95);border:0;max-height:45vh;padding:24px;overflow:auto}
.viewer-media{padding:60px 20px 42vh}
.viewer-next{right:18px}
.about-section,.contact-wrap{grid-template-columns:1fr}
.profile-card{max-width:520px}
.about-detail{grid-template-columns:1fr}
}
@media(max-width:620px){.gallery,.cards{grid-template-columns:1fr}
.hero{padding:80px 22px 45px}
.section,.about-section,.article{padding-left:22px;padding-right:22px}
.section-head{align-items:start;flex-direction:column}
.viewer-media{padding-left:10px;padding-right:10px}
.viewer h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
