:root { color-scheme: light; --ink:#171619; --muted:#625e61; --paper:#f7f6f3; --white:#fff; --rose:#cf2852; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; font-size:1rem; line-height:1.55; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
a:focus-visible,button:focus-visible { outline:3px solid var(--rose); outline-offset:4px; }
.site-header { display:flex; align-items:center; gap:2.5rem; padding:1.1rem clamp(1.2rem,4vw,4.5rem); background:var(--ink); color:var(--white); min-height:104px; }
.brand { display:flex; align-items:center; gap:.9rem; min-width:0; text-decoration:none; font-size:.76rem; letter-spacing:.12em; font-weight:700; white-space:nowrap; }
.brand img { display:block; width:155px; height:66px; object-fit:cover; object-position:center 62%; }
.brand-name { color:#e6dfe2; }
.main-nav { display:flex; gap:1.65rem; margin-left:auto; white-space:nowrap; }
.main-nav a { text-decoration:none; font-size:.9rem; }
.main-nav a:hover,.contact-actions a:not(.call-button):hover { text-decoration:underline; text-underline-offset:5px; }
.language { display:flex; align-items:center; gap:.35rem; font-size:.85rem; color:#9d999a; white-space:nowrap; }
.language button { border:0; background:none; color:#a6a2a4; font-size:.9rem; font-weight:700; cursor:pointer; padding:.35rem; }
.language button[aria-pressed="true"] { color:#fff; }
.intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:560px; background:linear-gradient(135deg,#f2eff0 0%,#e8e0e4 100%); color:var(--ink); }
.intro-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; max-width:690px; padding:clamp(2rem,6vw,6.5rem); }
.eyebrow { font-size:.78rem; font-weight:700; letter-spacing:.18em; line-height:1.4; }
.intro .eyebrow { color:#963c59; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; line-height:1.08; }
h1 { font-size:clamp(3.2rem,6.7vw,6.8rem); letter-spacing:-.055em; margin:1.2rem 0 1.6rem; }
.intro-copy > p:not(.eyebrow) { font-size:1.12rem; max-width:34rem; color:#4d444a; }
.intro-link { text-decoration:none; border-bottom:1px solid var(--rose); padding:.5rem 0; margin-top:1.15rem; font-weight:700; }
.intro-art { position:relative; min-height:500px; overflow:hidden; }
.intro-art img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.intro-art::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.28)); pointer-events:none; }
.intro-art span { position:absolute; bottom:1.7rem; left:2rem; z-index:1; font-size:.73rem; letter-spacing:.15em; font-weight:700; }
.section-wrap { max-width:1500px; margin:auto; padding:clamp(3rem,6vw,6rem) clamp(1.2rem,4vw,4.5rem); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2.7rem; }
.section-heading .eyebrow,.contact .eyebrow { color:#ae2447; }
h2 { font-size:clamp(2.8rem,5vw,5rem); letter-spacing:-.045em; margin:.5rem 0 0; }
.section-heading > p { max-width:28rem; color:var(--muted); margin-bottom:.35rem; }
.art-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3rem 1.5rem; }
.art-card { background:var(--white); min-width:0; box-shadow:0 1px 0 rgba(23,22,25,.07); }
.art-image { background:#e8e6e2; aspect-ratio:4 / 4.35; overflow:hidden; }
.art-image img { display:block; width:100%; height:100%; object-fit:contain; }
.art-details { padding:1.3rem 1.35rem 1.5rem; }
.artist { font-size:.79rem; letter-spacing:.09em; text-transform:uppercase; font-weight:700; color:var(--muted); margin-bottom:.5rem; }
h3 { font-family:Georgia,'Times New Roman',serif; font-size:1.65rem; font-weight:400; line-height:1.2; margin-bottom:.35rem; }
.pending-title { color:#6a6568; font-style:italic; }
.original-title { color:var(--muted); font-style:italic; margin-bottom:.45rem; }
.editorial-note { color:#8a555f; font-size:.82rem; margin:.3rem 0; }
.facts { font-size:.9rem; color:var(--muted); margin:.85rem 0 .3rem; }
.availability { font-size:.9rem; font-weight:700; margin:.7rem 0 .9rem; }
.enquire { display:inline-block; font-weight:700; font-size:.92rem; text-decoration:none; border-bottom:1px solid var(--rose); padding-bottom:.2rem; }
.enquire:hover,.intro-link:hover { color:var(--rose); }
.about { background:#211f23; color:#f7f4f6; }
.about-inner { max-width:1500px; margin:auto; display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(2rem,8vw,9rem); padding:clamp(3rem,7vw,7rem) clamp(1.2rem,4vw,4.5rem); }
.about .eyebrow { color:#e8a7b8; }
.about-text { font-size:1.08rem; color:#ded9dc; }
.about-text p:last-child { margin-bottom:0; }
.contact h2 { max-width:850px; }
.contact-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:3rem; border-top:1px solid #d6d1d2; padding-top:2rem; margin-top:3rem; }
address { font-size:1.08rem; font-style:normal; }
address strong { font-size:1.23rem; }
.opening-hours { display:flex; flex-direction:column; align-items:flex-start; gap:.25rem; margin-top:1.6rem; }
.opening-hours strong { font-size:1rem; margin-bottom:.25rem; }
.contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:1rem; }
.contact-actions p { max-width:29rem; color:var(--muted); }
.contact-actions .enquiry-hint { color:#862340; font-weight:700; margin:0; }
.enquiry-hint:empty { display:none; }
.call-button { display:inline-block; padding:.9rem 1.4rem; background:var(--ink); color:white; text-decoration:none; font-weight:700; }
.call-button:hover { background:#8a2441; }
footer { display:flex; justify-content:space-between; gap:1rem; background:var(--ink); color:#cfcacc; padding:1.6rem clamp(1.2rem,4vw,4.5rem); font-size:.83rem; }
@media (max-width:1000px) {
  .site-header { flex-wrap:wrap; gap:.7rem 1rem; }
  .main-nav { order:3; width:100%; margin:0; justify-content:center; border-top:1px solid #454247; padding-top:.8rem; }
  .language { margin-left:auto; }
  .art-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .site-header { padding:.7rem 1.1rem 1rem; min-height:0; }
  .brand img { width:116px; height:50px; }
  .brand { font-size:.62rem; gap:.5rem; }
  .main-nav { gap:1.1rem; font-size:.85rem; }
  .intro { display:flex; flex-direction:column-reverse; }
  .intro-art { min-height:320px; }
  .intro-copy { padding:2.2rem 1.3rem 3rem; }
  h1 { font-size:clamp(3rem,12vw,5rem); }
  .intro-art span { left:1.2rem; bottom:1rem; }
  .section-heading { display:block; }
  .section-heading > p { margin:1.4rem 0 0; }
  .art-grid { grid-template-columns:1fr; gap:1.4rem; }
  .art-image { aspect-ratio:1 / 1; }
  .about-inner,.contact-layout { display:block; }
  .about-text { margin-top:2rem; }
  .contact-actions { margin-top:2rem; }
  footer { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
