
  html, body { margin: 0; padding: 0; background: #FBFAF8; }
  html { -webkit-font-smoothing: antialiased; scroll-behavior: smooth; }
  * { box-sizing: border-box; }
  a { color: inherit; text-decoration: none; }
  input, select, textarea, button { font: inherit; color: inherit; }
  ::selection { background: #E7CFC7; }

  /* hover + focus states. The runtime has no style-hover attribute, and this
     design is styled inline, so every hover declaration needs !important. */
  [data-h] { transition: color 320ms ease, background 320ms ease, border-color 320ms ease, opacity 320ms ease; }
  [data-h="link"]:hover { color: #D87363 !important; }
  [data-h="rule"]:hover { color: #D87363 !important; border-bottom-color: #D87363 !important; }
  [data-h="ghost"]:hover { background: #191817 !important; color: #FBFAF8 !important; border-color: #191817 !important; opacity: 1 !important; }
  [data-h="ghost-light"]:hover { background: #FBFAF8 !important; color: #191817 !important; border-color: #FBFAF8 !important; }
  [data-h="solid"]:hover { background: #B8503C !important; }
  [data-h="index"]:hover { color: #D87363 !important; }
  [data-h="index"]:hover span:first-child { width: 30px !important; }
  [data-h="tile"] img { transition: transform 1100ms cubic-bezier(.2,.7,.3,1); }
  [data-h="tile"]:hover img { transform: scale(1.035); }
  :focus-visible { outline: 1px solid #B8503C; outline-offset: 3px; }

  /* --- side menu --- */
  [data-menu="scrim"] { animation: scrimIn 520ms ease both; }
  [data-menu="panel"] { animation: panelIn 620ms cubic-bezier(.2,.7,.25,1) both; }
  [data-menu="panel"] { height: 100dvh; max-height: 100%; }
  [data-menu="panel"] button { min-width: 44px; min-height: 44px; }
  [data-menu="panel"] a[aria-current="page"] { color: #E7CFC7; text-decoration: underline; text-underline-offset: 7px; }
  @keyframes scrimIn { from { opacity: 0 } to { opacity: 1 } }
  @keyframes panelIn { from { transform: translateX(100%) } to { transform: translateX(0) } }

  /* each link fades up, staggered, like a gallery index */
  [data-menu="item"] { animation: itemIn 620ms cubic-bezier(.2,.7,.25,1) both; }
  [data-menu="item"]:nth-child(1) { animation-delay: 150ms }
  [data-menu="item"]:nth-child(2) { animation-delay: 205ms }
  [data-menu="item"]:nth-child(3) { animation-delay: 260ms }
  [data-menu="item"]:nth-child(4) { animation-delay: 315ms }
  [data-menu="item"]:nth-child(5) { animation-delay: 370ms }
  [data-menu="item"]:nth-child(6) { animation-delay: 425ms }
  [data-menu="item"]:nth-child(7) { animation-delay: 480ms }
  [data-menu="foot"] { animation: itemIn 620ms cubic-bezier(.2,.7,.25,1) 540ms both; }
  @keyframes itemIn { from { opacity: 0; transform: translateY(14px) } to { opacity: 1; transform: none } }

  /* Subtle movement keeps the drawer navigation polished and restrained. */
  [data-h="menu"] { transition: color 380ms ease, padding-left 480ms cubic-bezier(.2,.7,.25,1); }
  [data-h="menu"]:hover { color: #E7CFC7 !important; padding-left: 10px !important; }

  /* every landing section clears the fixed header when scrolled to */
  main > section { scroll-margin-top: 78px; }

  /* The fixed header overlays the hero, then becomes solid over page content. */
  main { padding-top: 0; }
  [data-site-header] { transition: background 280ms ease, color 280ms ease, border-color 280ms ease; }
  [data-hero] { width: 100%; height: auto; min-height: 0; }
  [data-hero-video] { display: block; position: relative !important; inset: auto !important; width: 100%; height: auto !important; aspect-ratio: 16 / 9; object-fit: contain; }
  [data-hero-caption] { position:absolute; left:clamp(20px,6vw,86px); right:clamp(20px,6vw,86px); bottom:clamp(32px,6vh,64px); pointer-events:none; color:#FBFAF8; max-width:680px; animation:heroCaptionIn 1000ms cubic-bezier(.2,.7,.3,1) 180ms both; }
  @media (max-width: 640px) {
    [data-hero-caption] { right:24px; bottom:max(32px, env(safe-area-inset-bottom)); max-width:23ch; }
  }

  @media (max-width: 760px) {
    html, body { width: 100%; overflow-x: hidden; }
    .home-page main { padding-top: 64px; }
    .home-page [data-site-header] { background: #171514; }
    /* Fill a portrait hero on phones while retaining the landscape desktop layout. */
    [data-hero] { height: calc(100svh - 64px); aspect-ratio: 9 / 16; }
    [data-hero-video] { width: 100%; height: 100% !important; aspect-ratio: auto; object-fit: cover !important; object-position: center; }

    /* iOS Safari zooms the whole page when a focused field is under 16px */
    input, select, textarea { font-size: 16px !important; }

    /* Keep the complete identity and menu control inside narrow viewports. */
    [data-header-inner] {
      grid-template-columns: minmax(0, 1fr) auto !important;
      gap: 12px !important;
      min-height: 64px;
      padding: 10px 20px !important;
    }
    [data-header-inner] > nav { display: none !important; }
    [data-logo] { gap: 10px !important; max-width: 100%; overflow: hidden; }
    [data-logo] span {
      overflow: hidden;
      text-overflow: ellipsis;
      font-size: clamp(14px, 4.4vw, 18px) !important;
      letter-spacing: clamp(0.12em, 2.8vw, 0.2em) !important;
    }
    [data-menu-trigger] { flex: 0 0 auto; min-width: 44px; min-height: 44px; justify-content: flex-end; }

    /* Inline minmax values are desktop-oriented; one fluid column prevents
       horizontal overflow on 320-390px screens. */
    main [style*="grid-template-columns:repeat(auto-fit"] {
      grid-template-columns: minmax(0, 1fr) !important;
    }

    /* four 2:3 crops stacked is ~4 screens of scrolling; two-up reads better */
    [data-grid="eye"] { grid-template-columns: repeat(2, 1fr) !important; }

    main > section { scroll-margin-top: 66px; }

    [data-menu="panel"] {
      width: 100vw !important;
      max-width: 100%;
      padding: max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom)) !important;
      overscroll-behavior: contain;
    }
    [data-menu="panel"] > div:first-child { padding-bottom: 30px !important; }
    [data-menu="item"] {
      min-height: 68px;
      padding: 16px 0 !important;
      align-items: center !important;
      border-top-color: rgba(251,250,248,0.1) !important;
    }
    [data-menu="item"] span {
      font-size: clamp(27px, 7.5vw, 32px) !important;
      line-height: 1.12 !important;
      letter-spacing: 0.01em !important;
    }
    [data-menu="foot"] { padding-top: 34px !important; gap: 18px !important; }

    /* full-width tap targets for the primary actions */
    [data-cta] { align-self: stretch !important; text-align: center; }
  }

  @media (max-width: 360px) {
    [data-header-inner] { padding-inline: 14px !important; }
    [data-logo] span { font-size: 13px !important; letter-spacing: 0.1em !important; }
    [data-menu="panel"] { padding-inline: 20px !important; }
    [data-menu="panel"] > div:first-child { padding-bottom: 24px !important; }
    [data-menu="item"] { min-height: 62px; padding-block: 13px !important; }
    [data-menu="item"] span { font-size: 27px !important; }
    [data-menu="foot"] { padding-top: 26px !important; }
  }

  /* stop the page scrolling behind the open drawer */
  body[data-locked="1"] { overflow: hidden; }

  /* Artlogic-style header collapse */
  @media (max-width: 980px) {
    [data-only="wide"] { display: none !important; }
  }
  @media (min-width: 981px) {
    [data-only="narrow"] { display: none !important; }
  }
  @keyframes heroCaptionIn {
    from { opacity:0; transform:translateY(18px); }
    to { opacity:1; transform:translateY(0); }
  }
  @media (prefers-reduced-motion: reduce) {
    [data-hero-caption] { animation:none; }
    html { scroll-behavior: auto; }
    [data-h="tile"]:hover img { transform: none; }
    [data-menu], [data-menu="item"], [data-menu="foot"] { animation: none !important; }
  }

  /* Artwork-led layout: frames follow the source photographs. */
  main > section:not([data-hero]) { padding:clamp(64px,8vw,120px) clamp(24px,6vw,96px) !important; }
  main > section:not([data-hero]) > div { max-width:1320px !important; }
  main > section:not([data-hero]) img { display:block; width:100% !important; height:auto !important; max-width:100% !important; aspect-ratio:auto !important; object-fit:contain !important; }
  #current > div { grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) !important; gap:clamp(32px,6vw,88px) !important; }
  #current > div > div:first-child { padding:0 !important; background:transparent !important; }
  #artist > div { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) !important; gap:clamp(32px,6vw,88px) !important; }
  #artist, #studio, #collections, #voice { background:#FBFAF8 !important; }
  #works { border-top:1px solid #E5E0D9; border-bottom:1px solid #E5E0D9; }
  [data-work-grid] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:56px 32px; align-items:start; }
  [data-work-card] { min-width:0; margin:0; }
  [data-work-card] > a { display:block; background:transparent; }
  [data-work-image] { display:block; width:100%; height:auto; }
  [data-work-caption] { display:flex; justify-content:space-between; gap:16px; align-items:baseline; padding-top:16px; }
  [data-work-caption] h3 { margin:0; font-family:'Jost',Helvetica,sans-serif; font-size:13px; font-weight:400; letter-spacing:.03em; }
  [data-work-caption] p { margin:6px 0 0; font-size:11px; line-height:1.6; color:#6E6963; }
  [data-work-card] > a:focus-visible { outline-offset:6px; }
  [data-studio-grid] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
  [data-studio-grid] figure { margin:0; }
  [data-studio-grid] figcaption { margin-top:14px; font-size:11px; line-height:1.6; color:#6E6963; }
  [data-section-heading] { margin:0; font-family:'Cormorant Garamond',serif; font-size:clamp(32px,4vw,52px); font-weight:300; line-height:1.12; }
  #eye [data-grid] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:36px; }
  #collections > div > div:last-child { grid-template-columns:repeat(3,minmax(0,1fr)) !important; align-items:start; }
  @media (max-width:800px) {
    #current > div, #artist > div { grid-template-columns:minmax(0,1fr) !important; }
    #current > div > div:last-child, #artist > div > div:last-child { max-width:60ch !important; }
    [data-work-grid] { gap:40px 22px; }
    [data-studio-grid], #collections > div > div:last-child { grid-template-columns:minmax(0,1fr) !important; gap:36px; }
  }
  @media (max-width:540px) {
    [data-work-grid], #eye [data-grid] { grid-template-columns:minmax(0,1fr) !important; }
    [data-work-caption] { gap:12px; }
  }

body{font-family:Jost,Helvetica,sans-serif;color:#191817;background:#FBFAF8}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid #8B5142;outline-offset:5px}
[hidden]{display:none!important}.inner-page main{padding-top:88px}.inner-page [data-site-header],body.scrolled [data-site-header]{background:#FBFAF8!important;color:#191817!important;border-bottom:1px solid #ded9d1!important}.home-page [data-site-header]{color:#FBFAF8;background:transparent}body[data-locked="1"]{overflow:hidden}
.page-heading{max-width:64ch;margin:0 0 48px}.page-heading h1,.detail h1{font:300 clamp(36px,5vw,64px)/1.1 'Cormorant Garamond',Georgia,serif;margin:0 0 24px}.page-heading p,.prose p{font-size:16px;line-height:1.8;color:#625E58}.page-section>div{max-width:1320px;margin:auto}.quiet-link{font-size:12px;text-decoration:underline;text-underline-offset:5px}.actions{display:flex;flex-wrap:wrap;gap:24px;margin:32px 0}.category-links{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.category-links a{font:300 32px 'Cormorant Garamond',serif;border-bottom:1px solid #D9D3C9;padding:24px 0}.detail{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:48px;align-items:start}.detail dl{display:grid;grid-template-columns:100px 1fr;gap:16px;font-size:14px;line-height:1.6}.detail dd{margin:0}.detail dt{color:#625E58}.image-button{display:block;width:100%;border:0;background:transparent;padding:0;cursor:zoom-in}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;margin-bottom:40px}.related{margin-top:80px}.related h2{font:300 36px 'Cormorant Garamond',serif}.prose{max-width:65ch}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.enquiry-form{display:grid;gap:24px}.enquiry-form label{display:grid;gap:9px;font-size:14px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;padding:12px;border:1px solid #D9D3C9;background:transparent;font-size:16px}.enquiry-form .consent{display:flex;align-items:start;gap:12px;line-height:1.5}.consent input{width:18px;height:18px;flex-shrink:0}.button{display:inline-block;background:#191817;color:#FBFAF8;padding:15px 28px;border:1px solid #191817;font:inherit;cursor:pointer}.button:disabled{opacity:.5;cursor:wait}.form-status{line-height:1.6}.form-status[data-error]{color:#923e2f}.hp{position:absolute;left:-10000px}.viewer{border:0;background:#FBFAF8;color:#191817;width:96vw;max-width:1500px;max-height:95svh;padding:24px}.viewer::backdrop{background:rgba(0,0,0,.8)}.viewer img{display:block;max-width:100%;max-height:75svh;width:auto;height:auto;margin:auto;object-fit:contain}.viewer-controls{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}.viewer button{padding:10px 16px;border:1px solid #D9D3C9;background:transparent;cursor:pointer}.viewer p{text-align:center;font-size:13px}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:32px}.filters select{padding:10px;background:transparent;border:1px solid #D9D3C9}.missing-image{min-height:120px;outline:1px solid #D9D3C9}.site-footer{padding:48px clamp(24px,6vw,96px);border-top:1px solid #D9D3C9}.site-footer>div{max-width:1320px;margin:auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}.site-footer nav{display:flex;flex-wrap:wrap;gap:20px;font-size:12px}.site-footer small{display:block;max-width:1320px;margin:32px auto 0;color:#625E58}.archive-empty{padding:40px 0;line-height:1.8}.detail-extra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}
.category-previews a{border:0;padding:0}.category-previews span{display:block;padding-top:18px;font-size:28px}.faq-section,.archive-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(32px,6vw,80px);align-items:start}.faq-section{padding-top:32px;border-top:1px solid #D9D3C9}.faq-intro,.archive-story p{font-size:16px;line-height:1.8;color:#625E58;max-width:52ch}.eyebrow{font-size:10px!important;letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px}.faq-list details{border-bottom:1px solid #D9D3C9}.faq-list summary{cursor:pointer;font-size:16px;line-height:1.6;padding:22px 30px 22px 0;position:relative;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:0;top:22px;font-size:20px}.faq-list details[open] summary::after{content:'\2212'}.faq-list summary:focus-visible{outline:2px solid #8B5142;outline-offset:3px}.faq-list details p{font-size:15px;line-height:1.85;margin:0 0 24px;color:#625E58;max-width:65ch}.archive-story{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center}.archive-story figure{margin:0}.archive-story figcaption{margin-top:12px;font-size:12px;color:#625E58}.support-note{padding:24px 0;border-top:1px solid #D9D3C9;margin-top:32px}.support-note h2{font:300 28px 'Cormorant Garamond',serif}.support-note p{font-size:15px;line-height:1.8;max-width:60ch}
/* One consistent landscape gallery treatment on every page. */
[data-work-grid]{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;align-items:start}
[data-work-card]{display:flex;flex-direction:column;min-width:0}
[data-work-card]>.artwork-frame{display:block;position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;background:#F1EEE8}
main>section:not([data-hero]) .artwork-frame img{width:100%!important;height:100%!important;max-height:100%;aspect-ratio:auto!important;object-fit:contain!important}
[data-work-grid]:not(.media-artwork-grid) [data-work-card]>.artwork-frame img{position:absolute;inset:0}
[data-work-card]>.artwork-frame svg.painting-isolated{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:100%;max-height:100%}
[data-work-caption]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline;padding-top:16px;min-height:72px}
[data-work-caption] h3{font-size:15px;line-height:1.5;letter-spacing:0}
[data-work-caption] p{font-size:12px;line-height:1.6}
[data-work-caption]>.quiet-link{white-space:nowrap}
@media(max-width:700px){[data-work-grid]{grid-template-columns:minmax(0,1fr)!important;gap:36px}[data-work-caption]{min-height:0}}
@media(max-width:760px){.detail,.contact-grid,.category-links,.faq-section,.archive-story{grid-template-columns:minmax(0,1fr)}.inner-page main{padding-top:64px}.detail{gap:32px}.contact-grid{gap:32px}.category-links{gap:8px}.viewer{padding:14px}.detail-extra{grid-template-columns:1fr}}

/* Artwork detail: extra photographs match the main image width, related works and navigation follow the same rhythm. */
.detail-extra{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;width:calc((100% - 48px) * 2 / 3);margin-top:32px}
.detail-extra .image-button,.detail .image-button{display:block;width:100%;background:#F1EEE8}
.detail-extra .image-button img,.detail .image-button img{display:block;width:100%;height:auto;object-fit:contain}
nav.actions[aria-label="Artwork navigation"]{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin:48px 0 0;padding:20px 0;border-top:1px solid #D9D3C9;border-bottom:1px solid #D9D3C9;font-size:14px}
nav.actions[aria-label="Artwork navigation"] a:first-child{justify-self:start}
nav.actions[aria-label="Artwork navigation"] a:last-child{justify-self:end;text-align:right}
nav.actions[aria-label="Artwork navigation"] a:hover{text-decoration:underline;text-underline-offset:5px}
.related [data-work-grid]{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:980px){.related [data-work-grid]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.detail-extra{width:100%}nav.actions[aria-label="Artwork navigation"]{grid-template-columns:1fr;gap:12px}nav.actions[aria-label="Artwork navigation"] a:first-child,nav.actions[aria-label="Artwork navigation"] a:last-child{justify-self:start;text-align:left}}

/* Archive treatments by category (SOW section 10): Paintings large two-column; Drawings matted paper; Small Works compact three-column. */
[data-archive][data-category="paintings"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 40px}
[data-archive][data-category="paintings"] [data-work-card]>.artwork-frame{aspect-ratio:3/2}
[data-archive][data-category="drawings"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 48px}
[data-archive][data-category="drawings"] [data-work-card]>.artwork-frame{aspect-ratio:4/3;background:#FFFFFF;border:1px solid #D9D3C9;padding:clamp(16px,2.4vw,32px)}
[data-archive][data-category="drawings"] [data-work-card]>.artwork-frame img{inset:clamp(16px,2.4vw,32px);width:calc(100% - 2 * clamp(16px,2.4vw,32px))!important;height:calc(100% - 2 * clamp(16px,2.4vw,32px))!important}
[data-archive][data-category="small-works"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
[data-archive][data-category="small-works"] [data-work-card]>.artwork-frame{aspect-ratio:3/2}
[data-archive][data-category="small-works"] [data-work-caption]{grid-template-columns:1fr;gap:4px;min-height:0}
[data-archive][data-category="small-works"] [data-work-caption] h3{font:400 20px/1.25 'Cormorant Garamond',Georgia,serif}
[data-archive][data-category="small-works"] [data-work-caption]>.quiet-link{justify-self:start}
@media(max-width:980px){[data-archive][data-category="small-works"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){[data-archive][data-category]{grid-template-columns:minmax(0,1fr)!important;gap:36px}}

/* Phones: transparent header floating over a full-height hero; turns solid once the page scrolls. */
@media(max-width:760px){
body.home-page main{padding-top:0!important}
body.home-page [data-hero]{height:100svh!important;aspect-ratio:auto!important;min-height:480px;background:#171514}
body.home-page [data-hero-video]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center}
body.home-page:not(.scrolled) [data-site-header]{background:linear-gradient(180deg,rgba(23,21,20,.55),rgba(23,21,20,0))!important;color:#FBFAF8!important;border-bottom:0!important}
}
/* Hero video: single sound toggle replaces the native control bar. */
.hero-volume{position:absolute;right:clamp(16px,3vw,40px);bottom:clamp(20px,4vh,40px);z-index:3;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(251,250,248,.55);border-radius:50%;background:rgba(23,21,20,.35);color:#FBFAF8;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s,border-color .2s}
.hero-volume:hover,.hero-volume:focus-visible{background:rgba(23,21,20,.65);border-color:#FBFAF8;outline:0}
[data-hero-video]::-webkit-media-controls{display:none!important}
@media(max-width:760px){.hero-volume{bottom:max(24px,env(safe-area-inset-bottom));right:20px}}
.hero-volume:not([hidden]){animation:heroVolumeIn .6s ease both}
.hero-volume[hidden]{display:none}
@keyframes heroVolumeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hero-volume:not([hidden]){animation:none}}
