/* V15 editorial finish. All rules stay below the camera hero or on artist pages/footer.
   Source images keep their geometry and colours; this file adds no motion timeline. */
.site-refined .section-pad,
.site-refined > .site-footer {
  --finish-edge: #bca0db38;
  --finish-edge-strong: #bd9ade80;
  --finish-copy: #cfc4db;
  --finish-muted: #b8a9c7;
  --finish-paper: #f5effb;
}
.site-refined main > .section-pad {
  padding-inline: max(clamp(22px, 5.5vw, 96px), calc((100vw - 1520px) / 2));
  padding-block: clamp(76px, 8vw, 132px);
}
.site-refined .section-pad .kicker {
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: .16em;
  color: #c9a0ee;
}
.site-refined .section-pad .section-heading { gap: clamp(28px, 5vw, 80px); margin-bottom: clamp(36px, 4.4vw, 64px); }
.site-refined .section-pad .section-heading h2 {
  max-width: 18ch;
  font-size: clamp(40px, 5.2vw, 84px);
  line-height: 1.035;
  letter-spacing: -.018em;
  text-wrap: balance;
}
.site-refined .section-pad .section-heading > p {
  max-width: 38ch;
  padding-inline-start: 22px;
  border-inline-start: 1px solid var(--finish-edge-strong);
  color: var(--finish-copy);
  font-size: clamp(15px, 1.15vw, 17px);
  line-height: 1.8;
}
.site-refined .section-pad :is(.service-copy > p, .setup > p, .feature-grid p, .story-columns p, .service-note) {
  font-size: 15px;
  line-height: 1.85;
  color: var(--finish-copy);
  max-width: 64ch;
}
.site-refined .section-pad .service-note { max-width: 88ch; margin-top: 32px; }
.site-refined .section-pad .line-link { min-height: 46px; line-height: 1.5; gap: 18px; border-color: var(--finish-edge-strong); }
.site-refined .section-pad .line-link > [aria-hidden="true"] { flex-shrink: 0; }
.site-refined .section-pad :is(.line-link, .orbit-file):is(:hover, :focus-visible) { color: #e6c8ff; border-color: #d5b1f4; }
.site-refined .section-pad :is(a, button, summary, input, select, textarea):focus-visible,
.site-refined .site-footer :is(a, summary):focus-visible { outline: 2px solid #e3c4ff; outline-offset: 5px; }

/* Image framing is on the container, not a filter or a replacement crop. */
.site-refined .section-pad :is(.statement-visual, .material-grid, .real-grid, .exterior-image, .artist-live, .oso-moments__grid, .live-artist-context) .image-link {
  border: 1px solid var(--finish-edge);
  background: #09070e;
  box-shadow: 0 22px 48px -30px #000b;
}
.site-refined .section-pad :is(.statement-visual, .material-grid, .real-grid, .exterior-image, .artist-live, .oso-moments__grid, .live-artist-context) .image-link:is(:hover, :focus-visible) { border-color: var(--finish-edge-strong); }
.site-refined .section-pad :is(.material-grid, .real-grid, .artist-portraits, .artist-live, .oso-moments__grid, .live-artist-context) img { height: auto; aspect-ratio: auto; object-fit: contain; }
.site-refined .section-pad :is(.statement-visual, .material-grid, .real-grid, .exterior-image, .artist-live, .oso-moments, .live-artist-context) figcaption {
  color: var(--finish-muted);
  font-size: 12px;
  line-height: 1.75;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--finish-edge);
}
.site-refined .section-pad .photo-treatment { gap: 6px 16px; line-height: 1.6; }
.site-refined .section-pad .gallery-hint { font-size: 12px; color: var(--finish-muted); }
.site-refined .section-pad .lighting-switch { width: fit-content; max-width: 100%; padding: 6px; border: 1px solid var(--finish-edge); background: #0e0a16; }
.site-refined .section-pad .lighting-switch button { min-height: 44px; border-radius: 2px; }
.site-refined .section-pad .lighting-switch > span { padding-inline: 8px; }

/* The service and detail rows provide a quiet reading rhythm between visual sections. */
.site-refined .services .service-card { border-color: var(--finish-edge); }
.site-refined .services .service-card h3 { font-size: clamp(38px, 4.1vw, 66px); line-height: 1.05; }
.site-refined .services .service-type { font-size: 11px; letter-spacing: .1em; }
.site-refined .services .service-copy .service-price { display: inline-block; margin-block: 18px 6px; padding: 5px 9px; border: 1px solid var(--finish-edge); background: #21152f; color: #dec1f7; }
.site-refined .services .service-card:focus-within { border-color: var(--finish-edge-strong); }
.site-refined .featured-section .feature-grid { gap: clamp(24px, 3.5vw, 52px); margin-top: 36px; }
.site-refined .featured-section .feature-grid article { border-top: 1px solid var(--finish-edge-strong); padding-top: 24px; }
.site-refined .featured-section .feature-grid h3 { font-size: clamp(25px, 2.2vw, 33px); line-height: 1.15; margin-bottom: 16px; }
.site-refined .project-story .story-columns { gap: clamp(28px, 5vw, 72px); }
.site-refined .faq-section .faq-list { max-width: 1100px; }
.site-refined .faq-section .faq-list details { border-color: var(--finish-edge); padding-inline: clamp(12px, 2vw, 28px); }
.site-refined .faq-section .faq-list summary { min-height: 84px; font-size: clamp(17px, 1.55vw, 21px); line-height: 1.45; }
.site-refined .faq-section .faq-list details[open] { background: linear-gradient(110deg, #2d173a66, #170f200d); box-shadow: inset 2px 0 #bc8aea; }
.site-refined .faq-section .faq-list details p { color: var(--finish-copy); max-width: 74ch; padding-bottom: 28px; }
.site-refined .orbit-note .statement-bottom { align-items: start; gap: clamp(28px, 4vw, 64px); }
.site-refined .orbit-note .statement-bottom p { max-width: 70ch; color: var(--finish-copy); line-height: 1.85; }
.site-refined .orbit-note .orbit-file { min-height: 46px; line-height: 1.6; }
.site-refined .orbit-note .tour-guide-v15 { min-width: 0; }
.site-refined .orbit-note .tour-guide-v15 p + p { margin-top: 20px; }
.site-refined .orbit-note .tour-next-v15 { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 28px; }
.site-refined .orbit-note .tour-next-v15 > a { min-height: 46px; }
.site-refined .extended-film .extended-film__timeline { border-color: var(--finish-edge); }
.site-refined .extended-film .extended-film__timeline li a { gap: 14px; padding-block: 16px; border-color: var(--finish-edge); color: var(--finish-copy); }
.site-refined .extended-film .extended-film__timeline li a:is(:hover, :focus-visible) { color: var(--finish-paper); background: #ba86ff0b; }
.site-refined .extended-film .extended-film__provenance { padding-top: 22px; border-top: 1px solid var(--finish-edge); }
.site-refined .film-section > p:not(.kicker) { max-width: 68ch; font-size: 15px; line-height: 1.85; color: var(--finish-copy); }
.site-refined .film-section .film-button { min-height: 60px; border: 1px solid #dfc8f6; box-shadow: 0 10px 32px -18px #d0a6ff90; }

/* A legible enquiry workstation, with existing selection/edited-draft logic intact. */
.site-refined .enquiry-section .enquiry-layout { grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: clamp(32px, 5.5vw, 88px); }
.site-refined .enquiry-section .enquiry-intro > p { max-width: 45ch; font-size: 16px; line-height: 1.8; }
.site-refined .enquiry-section .enquiry-steps { margin-block: 28px; }
.site-refined .enquiry-section .enquiry-steps li { border-color: var(--finish-edge); padding-block: 20px; }
.site-refined .enquiry-section .enquiry-steps span { color: var(--finish-copy); line-height: 1.7; }
.site-refined .enquiry-section .enquiry-form { padding: clamp(24px, 3.2vw, 44px); border-color: var(--finish-edge-strong); border-top: 2px solid #bb8ce5; background: linear-gradient(145deg, #1d112b66, transparent 48%), #0d0914; box-shadow: 0 30px 70px -36px #000c; }
.site-refined .enquiry-section .field label { color: #e5d8f0; font-size: 13px; line-height: 1.55; }
.site-refined .enquiry-section :is(.field input, .field select, .field textarea, .enquiry-result textarea) { border: 1px solid #8f75a6; border-radius: 3px; background: #16101f; color: var(--finish-paper); font-size: 16px; }
.site-refined .enquiry-section :is(.field input, .field textarea)::placeholder { color: #ab9bb9; opacity: 1; }
.site-refined .enquiry-section :is(.field input, .field select, .field textarea, .enquiry-result textarea):focus-visible { border-color: #dbc1f5; outline-offset: 3px; background: #1c1328; }
.site-refined .enquiry-section .submit-enquiry { width: 100%; min-height: 58px; justify-content: space-between; font-size: 15px; font-weight: 600; letter-spacing: .01em; border-radius: 3px; }
.site-refined .enquiry-section .required-note { font-size: 12px; line-height: 1.75; color: var(--finish-muted); }
.site-refined .enquiry-section .enquiry-result { border-top-color: var(--finish-edge-strong); margin-top: 28px; }
.site-refined .enquiry-section .enquiry-result > label { display: block; margin-bottom: 12px; color: #e3c6fa; font-size: 14px; }
.site-refined .enquiry-section .draft-actions { gap: 10px; margin-top: 16px; }
.site-refined .enquiry-section .draft-actions :is(a, button) { min-height: 46px; padding: 11px 14px; border: 1px solid var(--finish-edge-strong); border-radius: 3px; font-size: 13px; line-height: 1.4; background: #1c1327; }
.site-refined .enquiry-section .draft-actions :is(a, button):is(:hover, :focus-visible) { background: #2c1b3c; color: #f5edfc; }
.site-refined .enquiry-section .form-status:not(:empty) { border-inline-start: 2px solid #bc8aea; padding: 10px 14px; background: #b886f40b; font-size: 13px; }
.site-refined .enquiry-section .enquiry-artist-selection p > span { display: block; margin-bottom: .35rem; color: #d7c6eb; font-size: .75rem; letter-spacing: .06em; }
.site-refined .enquiry-section .enquiry-artist-selection p > strong { display: block; color: var(--finish-paper); font-size: .95rem; font-weight: 500; line-height: 1.55; overflow-wrap: anywhere; }

/* Artist profiles retain original portraits and source context, with one shared reading system. */
.site-refined.artist-page .live-artist-hero { padding-top: clamp(34px, 4.5vw, 72px); padding-bottom: clamp(48px, 6vw, 92px); }
.site-refined.artist-page .live-artist-hero h1 { font-size: clamp(60px, 9.6vw, 150px); line-height: 1; max-width: 15ch; overflow-wrap: anywhere; text-wrap: balance; }
.site-refined.artist-page .live-artist-back { margin-bottom: clamp(28px, 4vw, 56px); color: #d6c4e5; }
.site-refined.artist-page .live-artist-hero__base { max-width: 1120px; padding-top: 24px; border-top: 1px solid var(--finish-edge-strong); }
.site-refined.artist-page .live-artist-profile { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 40px clamp(36px, 6vw, 88px); }
.site-refined.artist-page .live-artist-copy h2 { margin-top: 20px; font-size: clamp(40px, 4.4vw, 68px); }
.site-refined.artist-page :is(.live-artist-copy > p:not(.kicker), .artist-copy > p:not(.artist-lead)) { font-size: 16px; line-height: 1.85; color: var(--finish-copy); max-width: 60ch; }
.site-refined.artist-page .live-artist-copy > .live-artist-lead { font-size: clamp(19px, 1.6vw, 23px); line-height: 1.7; color: var(--finish-paper); }
.site-refined.artist-page .live-artist-context { margin-top: 0; padding: 10px; border: 1px solid var(--finish-edge); background: #0a0710; }
.site-refined.artist-page .live-artist-context img { border: 0; }
.site-refined.artist-page .live-artist-context .image-link { position: relative; }
.site-refined.artist-page .live-artist-context .gallery-expand { position: absolute; right: 14px; bottom: 14px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #dbc0f3; border-radius: 50%; background: #100a18ed; color: #f5effb; pointer-events: none; }
.site-refined.artist-page .live-artist-context .gallery-expand svg { width: 19px; height: 19px; }
.site-refined.artist-page .live-artist-context .image-link:is(:hover, :focus-visible) .gallery-expand { background: #30203e; border-color: #f1ddff; }
.site-refined.artist-page .live-artist-context figcaption { padding: 14px 4px 4px; margin: 0; border: 0; }
.site-refined.artist-page .live-artist-resources { padding-top: 32px; border-color: var(--finish-edge-strong); }
.site-refined.artist-page .live-artist-resources h3 { color: #d0abea; font-size: 12px; line-height: 1.6; letter-spacing: .14em; }
.site-refined.artist-page .live-artist-links { gap: 12px; }
.site-refined.artist-page .live-artist-links > a { flex: 1 1 240px; min-width: 0; justify-content: space-between; padding: 15px 18px; border: 1px solid var(--finish-edge); background: #150d20; text-decoration: none; font-size: 14px; line-height: 1.6; }
.site-refined.artist-page .live-artist-links > a > [aria-hidden="true"] { flex-shrink: 0; }
.site-refined.artist-page :is(.live-artist-grid, .artist-lineup-grid) { gap: 14px; }
.site-refined.artist-page :is(.live-artist-grid, .artist-lineup-grid) > a { min-width: 0; min-height: 124px; padding: 22px; border: 1px solid var(--finish-edge); background: linear-gradient(135deg, #39204724, transparent 74%), #100a18; }
.site-refined.artist-page :is(.live-artist-grid, .artist-lineup-grid) strong { font-size: clamp(19px, 1.65vw, 25px); line-height: 1.35; overflow-wrap: anywhere; }
.site-refined.artist-page :is(.live-artist-grid, .artist-lineup-grid) > a[aria-current="page"] { border-color: #c7a0ec; background: #261535; color: #e3c3ff; }
.site-refined.artist-page :is(.live-artist-grid > a, .artist-lineup-grid > a, .live-artist-links > a):is(:hover, :focus-visible) { border-color: #c7a0ec; background-color: #231432; }
.site-refined.artist-page .artist-portraits { gap: clamp(14px, 2vw, 28px); }
.site-refined.artist-page .artist-formats--solo { grid-template-columns: minmax(0, 1fr); }
.site-refined.artist-page .artist-notes { margin-block: 30px; }
.site-refined.artist-page .artist-notes > div { padding-block: 16px; border-color: var(--finish-edge); }
.site-refined.artist-page .artist-notes dt { color: #d0abea; line-height: 1.7; }
.site-refined.artist-page .artist-notes dd { color: var(--finish-copy); line-height: 1.8; }
.site-refined.artist-page .oso-moments__grid { gap: clamp(22px, 3vw, 42px); }
.site-refined.artist-page .oso-contact h2 { max-width: 18ch; font-size: clamp(44px, 6.2vw, 94px); line-height: 1.04; text-wrap: balance; }
.site-refined.artist-page .oso-contact__links { gap: 16px 32px; }

/* Shared end point: visible navigation and readable source notes. */
.site-refined > .site-footer { padding-inline: max(clamp(22px, 5.5vw, 96px), calc((100vw - 1520px) / 2)); padding-top: 68px; padding-bottom: max(30px, env(safe-area-inset-bottom)); border-top: 1px solid var(--finish-edge-strong); background: linear-gradient(135deg, #22102d70, transparent 65%), #08060d; }
.site-refined .site-footer .footer-top { align-items: start; gap: 24px 40px; }
.site-refined .site-footer .footer-top .wordmark { max-width: 32ch; font-size: clamp(20px, 1.8vw, 28px); line-height: 1.35; letter-spacing: .045em; }
.site-refined .site-footer .footer-top > p { color: var(--finish-muted); line-height: 1.6; font-size: 13px; }
.site-refined .site-footer .footer-top .line-link { min-height: 46px; font-size: 13px; border-color: var(--finish-edge-strong); }
.site-refined .site-footer .footer-links { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; margin-top: 36px; padding-top: 24px; border-color: var(--finish-edge); }
.site-refined .site-footer .footer-links a { min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid var(--finish-edge); color: var(--finish-copy); font-size: 13px; line-height: 1.45; background: #120b1a; }
.site-refined .site-footer .footer-links a:is(:hover, :focus-visible) { color: #f1ddff; background: #281735; border-color: var(--finish-edge-strong); }
.site-refined .site-footer .provenance { margin-top: 28px; padding-block: 6px; border-color: var(--finish-edge); }
.site-refined .site-footer .provenance summary { color: var(--finish-copy); min-height: 48px; line-height: 1.6; }
.site-refined .site-footer .provenance p { max-width: 92ch; color: var(--finish-muted); font-size: 13px; line-height: 1.8; }
.site-refined .site-footer .footer-bottom { gap: 14px 32px; font-size: 10px; line-height: 1.8; letter-spacing: .08em; color: var(--finish-muted); }

@media (max-width: 1000px) {
  .site-refined .enquiry-section .enquiry-layout { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .site-refined .enquiry-section .enquiry-intro > p { max-width: 66ch; }
  .site-refined .site-footer .footer-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-refined .site-footer .footer-links a:last-child { grid-column: 1 / -1; }
}
@media (max-width: 750px) {
  .site-refined main > .section-pad { padding-block: 72px; padding-inline: max(22px, env(safe-area-inset-left), env(safe-area-inset-right)); }
  .site-refined .section-pad .section-heading { margin-bottom: 32px; }
  .site-refined .section-pad .section-heading h2 { font-size: clamp(37px, 8.4vw, 62px); max-width: 20ch; }
  .site-refined .section-pad .section-heading > p { max-width: 58ch; margin-top: 24px; padding-inline-start: 16px; font-size: 15px; }
  .site-refined .section-pad .lighting-switch { padding: 5px; }
  .site-refined .section-pad .lighting-switch > span { flex-basis: 100%; padding-block: 4px; }
  .site-refined .section-pad :is(.material-grid, .real-grid) { gap: 32px; }
  .site-refined .section-pad .material-grid .textile-image { margin-top: 0; }
  .site-refined .faq-section .faq-list summary { min-height: 76px; font-size: 18px; }
  .site-refined .enquiry-section .enquiry-form { padding: 24px 20px; }
  .site-refined .enquiry-section .draft-actions :is(a, button) { flex: 1 1 180px; justify-content: center; }
  .site-refined.artist-page .live-artist-profile { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .site-refined.artist-page .live-artist-hero { padding-top: 32px; padding-bottom: 48px; }
  .site-refined.artist-page .live-artist-hero h1 { font-size: clamp(56px, 12.5vw, 96px); }
  .site-refined.artist-page .live-artist-hero__base { padding-top: 20px; }
  .site-refined.artist-page .live-artist-context { max-width: 660px; }
  .site-refined.artist-page :is(.live-artist-grid, .artist-lineup-grid) > a { padding: 18px; min-height: 116px; }
  .site-refined.artist-page .oso-contact h2 { font-size: clamp(42px, 8.8vw, 68px); }
  .site-refined .site-footer .footer-top { flex-wrap: wrap; }
  .site-refined .site-footer .footer-top > .wordmark { flex-basis: 100%; }
  .site-refined .site-footer .footer-top .line-link { width: 100%; }
}
@media (max-width: 600px) {
  .site-refined.artist-page .artist-portraits { grid-template-columns: minmax(0, 1fr); max-width: 520px; margin-inline: auto; gap: 18px; }
  .site-refined .site-footer .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-refined .enquiry-section .field-pair { grid-template-columns: minmax(0, 1fr); }
}
@media (forced-colors: active), print {
  .site-refined .section-pad, .site-refined > .site-footer { --finish-edge: CanvasText; --finish-edge-strong: CanvasText; --finish-copy: CanvasText; --finish-muted: CanvasText; --finish-paper: CanvasText; }
  .site-refined .section-pad :is(.image-link, .enquiry-form, .service-price, .lighting-switch, .film-button),
  .site-refined .faq-section .faq-list details[open],
  .site-refined .enquiry-section :is(input, select, textarea, .draft-actions a, .draft-actions button, .form-status),
  .site-refined.artist-page :is(.live-artist-context, .live-artist-links > a, .live-artist-grid > a, .artist-lineup-grid > a),
  .site-refined > .site-footer, .site-refined .site-footer .footer-links a { background: Canvas; color: CanvasText; box-shadow: none; }
  .site-refined .section-pad :is(.kicker, label, .service-price), .site-refined.artist-page .artist-notes dt { color: CanvasText; }
  .site-refined.artist-page .live-artist-context .gallery-expand { background: Canvas; color: LinkText; border-color: LinkText; }
  .site-refined .section-pad :is(a, button, summary, input, select, textarea):focus-visible,
  .site-refined .site-footer :is(a, summary):focus-visible { outline-color: Highlight; }
}
@media print {
  .site-refined main > .section-pad, .site-refined > .site-footer { padding: 24px 0; }
  .site-refined .site-footer .footer-links { display: flex; flex-wrap: wrap; }
  .site-refined.artist-page .live-artist-context .gallery-expand { display: none; }
}
