/* Public gallery only: private tools retain their existing styles. */
:root { --paper:#faf8f4; --ink:#29232e; --muted:#706970; --line:#ded8d6; --violet:#493149; --violet-2:#66445f; --max:1280px; }
body { -webkit-font-smoothing:antialiased; }
.gallery-sections { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; }
.gallery-sections button { font:inherit; font-size:12px; min-height:44px; border:1px solid var(--line); background:transparent; color:var(--ink); padding:10px 18px; border-radius:2px; cursor:pointer; }
.gallery-sections button[aria-pressed="true"] { background:var(--violet); border-color:var(--violet); color:white; }
.gallery-count { font-size:12px; color:var(--muted); margin:0 0 24px; }
.art-section { color:#386e69; font-size:11px; letter-spacing:.04em; }
.art-badges { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.featured-tag { display:inline-block; background:#e6eee9; color:#2c625a; border:1px solid #c9dcd3; border-radius:2px; padding:4px 7px; font-size:9px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.next-event { display:grid; gap:7px; border-left:2px solid #386e69; padding:2px 0 2px 17px; margin:0 0 30px; max-width:400px; }
.next-event-label { font-size:9px; color:#386e69; letter-spacing:.16em; text-transform:uppercase; font-weight:650; }
.next-event strong { font:400 22px/1.25 Georgia,serif; }
.next-event-meta { color:var(--muted); font-size:11px; line-height:1.7; }
.next-event-link { font-size:11px; color:var(--violet); padding-block:3px; }
.next-event:hover strong { color:#386e69; }
.event-card { scroll-margin-top:115px; }
[hidden] { display:none !important; }
::selection { background:#d4e9e3; color:#243d39; }
:focus-visible { outline:3px solid #277a78; outline-offset:5px; }
.skip-link { position:fixed; top:8px; left:16px; z-index:100; padding:12px 20px; background:white; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.page-shell { width:min(calc(100% - 112px),var(--max)); }
.site-header { height:96px; padding-inline:max(56px,calc((100vw - var(--max))/2)); background:rgba(250,248,244,.96); border-color:var(--line); }
.brand { font-size:16px; font-weight:650; letter-spacing:.19em; }
.brand::after { content:''; display:inline-block; width:7px; height:7px; margin-left:9px; background:#28716e; border-radius:50%; }
.nav { gap:26px; font-size:12px; }
.nav a { padding-block:12px; }
.nav .button { display:none; }
.button { border-radius:2px; font-size:12px; letter-spacing:.035em; font-weight:600; padding:17px 23px; }
.button-secondary { background:transparent; }
.button-secondary:hover { color:white; }
.text-link { font-size:12px; font-weight:600; padding-block:12px; }
.hero { grid-template-columns:1fr 1.1fr; gap:7%; min-height:740px; padding-block:80px 96px; }
.hero-copy h1 { font-size:clamp(48px,5.2vw,78px); line-height:1.08; letter-spacing:-.055em; }
.hero-copy h1 em { color:#5c3b58; font-weight:400; }
.eyebrow { color:#386e69; font-weight:600; font-size:10px; letter-spacing:.2em; margin-bottom:26px; }
.hero-intro { font-size:15px; line-height:1.85; max-width:350px; margin-block:30px 34px; }
.hero-actions { gap:22px; }
.hero-art { filter:none; min-width:0; position:relative; }
.color-study { aspect-ratio:1.08; position:relative; overflow:hidden; background:radial-gradient(ellipse at 95% 5%,#a54e7c 0,transparent 52%),linear-gradient(145deg,#152f36 10%,#246d71 48%,#41315a 76%,#692c58); border-radius:48% 48% 3px 3px; }
.flow-line { position:absolute; width:140%; height:90%; border:1px solid #f2e5cb55; border-radius:48%; transform:rotate(-32deg); left:-25%; top:27%; }
.flow-two { top:31%; left:-23%; border-color:#f2e5cb33; }
.flow-three { top:35%; left:-21%; border-color:#f2e5cb22; }
.hero-caption { display:flex; justify-content:space-between; gap:16px; margin:18px 0 0; font-size:10px; color:var(--muted); letter-spacing:.08em; }
.hero-feature { display:grid; place-items:center; aspect-ratio:var(--hero-ratio,1); background:#eeeae4; padding:clamp(16px,2.2vw,32px); min-width:0; min-height:0; }
.hero-feature img { width:100%; height:100%; min-height:0; object-fit:contain; box-shadow:0 12px 28px #29232e18; }
.hero-feature .diptych-media { height:100%; }
.hero-feature .diptych-media img { min-width:0; }
.hero-art:has(.hero-feature) { width:min(100%,calc(560px * var(--hero-ratio,1))); justify-self:center; }
@media(min-width:761px) {
  .hero.hero-landscape { grid-template-columns:.8fr 1.4fr; gap:5%; }
}
.collection { padding-block:60px 112px; border-top:1px solid var(--line); scroll-margin-top:120px; }
.section-heading { margin-bottom:42px; }
.section-heading h2,.about-copy h2 { font-size:clamp(38px,4.2vw,60px); line-height:1.1; }
.section-heading .eyebrow { margin-bottom:14px; }
.section-note { font-size:13px; line-height:1.8; max-width:330px; }
.artwork-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:52px 32px; }
.art-card { background:none; border:0; box-shadow:none; }
.art-card-media { padding:28px; background:#eeebe6; aspect-ratio:1; }
.art-card-media img { transition:transform .35s ease; }
.art-card-media:hover img { transform:scale(1.025); }
.art-card-body { padding:22px 0 0; gap:10px; min-height:205px; position:relative; }
.art-card h3 { font-size:29px; line-height:1.2; }
.art-meta { font-size:12px; line-height:1.65; }
.art-price { font-size:16px; font-weight:500; margin-top:5px; }
.status-pill { border-radius:2px; padding:5px 7px; font-size:9px; font-weight:600; letter-spacing:.12em; }
.art-card-actions { margin-top:auto; padding-top:10px; }
.art-card-actions .button { width:auto; background:transparent; color:var(--violet); border:0; border-bottom:1px solid #aaa0aa; padding:9px 0; border-radius:0; text-align:left; }
.art-card-actions .button:hover { color:#26716b; border-color:#26716b; transform:none; }
.collection-coming { background:transparent; border:0; border-block:1px solid var(--line); min-height:260px; text-align:left; justify-items:start; place-content:center start; padding:48px 0; }
.collection-coming strong { font-size:clamp(28px,3vw,40px); color:var(--ink); }
.collection-coming span { margin:0; max-width:550px; font-size:14px; }
.about-band { background:#efebe7; border:0; scroll-margin-top:96px; }
.about-grid { padding-block:100px; grid-template-columns:minmax(220px,.85fr) 1.15fr; gap:12%; }
.portrait-wrap { max-width:390px; }
.portrait-placeholder { background:#304f50; color:#ebe4d9; font-style:italic; border-radius:48% 48% 0 0; }
.about-copy p:not(.eyebrow) { font-size:16px; line-height:1.9; margin-block:26px; }
.events-preview { padding-block:100px; }
.event-card { background:transparent; border:0; border-block:1px solid var(--line); padding:28px 0; }
.event-date { color:#286762; }
.event-card p { line-height:1.7; }
.trust-band { background:#273e3e; }
.trust-grid div { padding:36px 24px; }
.trust-grid div:first-child { padding-left:0; }
.trust-grid strong { font-family:Georgia,serif; font-size:17px; font-weight:400; line-height:1.45; }
.trust-grid span { font-size:11px; line-height:1.7; }
.footer { padding-block:64px 26px; }
.copyright { margin-top:20px; }
.art-detail { padding-block:64px 110px; }
.art-detail-media { background:#eeebe6; border:0; padding:36px; min-height:0; }
.art-detail-grid { gap:7%; grid-template-columns:1.25fr 1fr; }
.art-detail h1 { line-height:1.05; overflow-wrap:anywhere; }
.detail-list li { line-height:1.6; }
.detail-list strong { font-weight:500; text-align:right; }
.detail-price { font-weight:500; }
.dialog { border-radius:3px; max-height:calc(100dvh - 32px); overflow:auto; }
.dialog-card { padding:40px; }
.page-hero { padding-block:100px 64px; }
.page-hero h1 { letter-spacing:-.04em; }
@media(min-width:1500px) { .hero { min-height:820px; } }
@media(max-width:1050px) {
  .page-shell { width:calc(100% - 64px); }
  .site-header { padding-inline:32px; }
  .hero { grid-template-columns:1fr 1fr; min-height:620px; gap:5%; }
  .hero-copy h1 { font-size:clamp(45px,5.8vw,64px); }
  .hero-actions { gap:12px; }
  .artwork-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-grid { gap:8%; }
}
@media(max-width:760px) {
  .page-shell { width:calc(100% - 40px); }
  .site-header { height:76px; padding-inline:20px; }
  .nav-toggle { padding:14px 0 14px 20px; font-size:12px; }
  .nav { top:76px; padding:20px; gap:8px; }
  .hero { grid-template-columns:1fr; padding-block:52px 58px; gap:42px; }
  .hero-copy h1 { font-size:clamp(45px,10vw,68px); }
  .hero-intro { margin-block:24px; max-width:420px; }
  .hero-actions { gap:24px; }
  .hero-art { width:100%; max-width:560px; margin-inline:auto; }
  .color-study { aspect-ratio:1.25; }
  .hero-caption { font-size:9px; }
  .hero-feature { padding:24px; }
  .collection { padding-block:46px 64px; scroll-margin-top:90px; }
  .section-heading { gap:20px; margin-bottom:30px; }
  .artwork-grid { gap:36px 20px; }
  .art-card-media { padding:18px; }
  .art-card h3 { font-size:25px; }
  .about-grid { grid-template-columns:1fr; gap:38px; padding-block:64px; }
  .portrait-wrap { width:65%; max-width:280px; }
  .events-preview { padding-block:64px; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-grid div,.trust-grid div:first-child { padding:26px 18px; border-bottom:1px solid #ffffff22; }
  .footer { gap:20px; padding-block:44px 20px; }
  .art-detail-grid { grid-template-columns:1fr; gap:38px; }
  .art-detail-media { padding:20px; }
  .page-hero { padding-block:60px 36px; }
  .dialog-card { padding:32px 24px; }
}
@media(max-width:480px) {
  .artwork-grid { grid-template-columns:1fr; }
  .art-card-media { padding:26px; }
  .art-card-body { min-height:0; }
  .trust-grid { grid-template-columns:1fr; }
  .trust-grid div,.trust-grid div:first-child { padding-inline:0; border-right:0; }
  .hero-actions { gap:16px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; }
}
