/* v80: readable content, complete artwork images and accessible controls. */
:root { --action: #245b68; --action-hover: #194651; --focus: #237a94; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
html { scroll-padding-top: 90px; }
main, section, article, .contact-intro, .about-copy, .hero-conversion-copy { min-width: 0; }
.skip-link { z-index: 2000; }
.hero.hero-minimal.hero-palette { min-height: 0 !important; }
#home .hero-palette-frame { height: auto !important; min-height: 0 !important; padding: 20px 16px 0 !important; }
#home .hero-language-image { position: relative !important; width: min(620px, 90vw) !important; height: auto !important; max-height: 350px !important; object-fit: contain !important; }
#home .hero-conversion-copy { max-width: 900px !important; margin-inline: auto !important; padding: 12px 20px 22px !important; text-align: center !important; }
#home .hero-primary-title { margin: 0 auto 14px !important; max-width: 800px !important; color: #202b2e !important; font-family: inherit !important; font-size: clamp(1.65rem, 3.4vw, 2.8rem) !important; font-weight: 500 !important; line-height: 1.25 !important; letter-spacing: 0 !important; text-wrap: balance; }
#home .hero-conversion-copy p { max-width: 680px; margin: 0 auto !important; font-size: 1.05rem !important; line-height: 1.7 !important; }
#home .hero-actions { display: flex !important; flex-direction: row !important; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 12px; margin-top: 22px; }
.button.button-primary { color: #fff !important; background: var(--action) !important; border-color: var(--action) !important; }
.button.button-primary:hover { background: var(--action-hover) !important; }
.hero-actions .button-secondary { color: #245b68 !important; background: transparent !important; border: 1px solid #245b68 !important; }
.button, .filter-button, .lang-toggle, .card-inquiry { min-height: 44px; font-size: .95rem !important; letter-spacing: .015em !important; }
.button { text-transform: none; }
.hero-facts { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 26px; padding: 0; margin: 18px 0 0; list-style: none; color: #505957; font-size: .92rem; }
.hero-facts li::before { content: '✓'; margin-inline-end: 7px; color: var(--action); }
.home-art-slider { margin-bottom: 10px !important; }
.slider-controls { order: 4; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 0 12px 24px; color: #263c42; }
.slider-controls button { min-height: 44px; min-width: 44px; padding: 8px 14px; border: 1px solid #a9b6b8; background: transparent; border-radius: 4px; cursor: pointer; }
.slider-controls button:hover { background: #e4eaE8; }
.slider-count { min-width: 48px; text-align: center; direction: ltr; font-variant-numeric: tabular-nums; }
.collection-status { margin: 0 0 20px; color: #d8d8d0; }
.filter-bar { gap: 8px; }
.card-inquiry { display: flex !important; align-items: center; justify-content: center; padding: 12px !important; }
.about-copy p, .contact-intro p, .artwork-description { line-height: 1.8; }
.artist-background { border-inline-start: 3px solid var(--action); padding-inline-start: 20px; margin-block: 28px; }
.artist-background h3 { font-size: 1.05rem; margin-bottom: 8px; }
.artist-background p { margin: 0; }
.contact-form label > span { font-size: .95rem !important; letter-spacing: 0 !important; text-transform: none !important; }
.contact-form input, .contact-form textarea { font-size: 16px !important; padding: 12px; border: 1px solid #9a9f99; border-radius: 4px; background: rgba(255,255,255,.5); }
.contact-form input:focus, .contact-form textarea:focus { outline: 2px solid var(--focus); outline-offset: 2px; border-color: var(--focus); }
.contact-form input[type='email'] { direction: ltr; text-align: start; }
.contact-form .button { width: 100%; }
.contact-form [disabled] { opacity: .65; cursor: wait; }
.form-help, .form-context-note, .form-email-fallback { font-size: .93rem; line-height: 1.6; color: #505853; }
.form-help, .form-status, .form-email-fallback { margin: 0; }
.form-status:not(:empty) { padding: 12px 16px; border-inline-start: 3px solid var(--action); background: #e8efed; }
.form-status.is-error { border-color: #a22d27; background: #fff0ec; color: #74211b; }
.form-email-fallback a { text-underline-offset: 3px; }
.email-link, .site-footer a, .artwork-footer a { overflow-wrap: anywhere; }
.floating-contact { bottom: max(18px, env(safe-area-inset-bottom)); background: var(--action) !important; }
.artwork-actions { flex-wrap: wrap; }
.artwork-actions .button { max-width: 100%; white-space: normal; line-height: 1.5; }
.site-nav a, .artwork-header nav a { min-height: 44px; display: inline-flex; align-items: center; }
.site-nav a { font-size: .9rem; letter-spacing: 0; }
.contact-section { scroll-margin-top: 85px; }
.artwork-image-wrap img { height: auto; }
.lightbox-stage { direction: ltr; align-items: flex-start; justify-content: flex-start; }
.lightbox-image { flex: 0 0 auto; margin: auto; }
.lightbox-control:focus-visible { outline-color: #fff; }
.stone-visual { min-height: 0; display: grid; place-items: center; padding: clamp(16px, 3vw, 40px); background: #ded9d0; }
.stone-visual img { width: 100%; height: auto; max-height: 720px; object-fit: contain; }
.artwork-nav a { min-width: 0; overflow-wrap: anywhere; }
.thank-you-card .button { margin: 8px; }
html:not(.js-enabled) .menu-button { display: none !important; }
@media (max-width: 1000px) and (min-width: 761px) {
  body .site-header, body .site-header.scrolled, body .site-header:not(.scrolled) { padding-inline: 16px !important; }
  body .site-header .site-nav, body .site-header.scrolled .site-nav { gap: 0 !important; }
  body .site-header .site-nav a, body .site-header.scrolled .site-nav a,
  body .site-header:not(.scrolled) .site-nav a, body .site-header .site-nav .lang-toggle {
    font-size: .82rem !important; padding-inline: 10px !important; letter-spacing: 0 !important;
  }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 76px; }
  #home .hero-language-image { width: min(520px, 96vw) !important; max-height: 280px !important; }
  #home .hero-palette-frame { padding-top: 8px !important; }
  #home .hero-conversion-copy { padding: 10px 20px 16px !important; }
  #home .hero-conversion-copy p { font-size: 1rem !important; }
  .hero-actions .button { flex: 1 1 180px; padding-inline: 16px; }
  .hero-facts { gap: 6px 16px; }
  .site-header .site-nav { top: 62px !important; padding-bottom: max(28px, env(safe-area-inset-bottom)) !important; }
  /* A filtered header would make the fixed menu use the header as its viewport. */
  body .site-header, body .site-header.scrolled, body .site-header:not(.scrolled) {
    backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
    filter: none !important; transform: none !important;
  }
  body .site-header .site-nav { height: calc(100vh - 62px) !important; height: calc(100dvh - 62px) !important; overscroll-behavior: contain; }
  html:not(.js-enabled) body .site-header { position: static !important; height: auto !important; }
  html:not(.js-enabled) body .site-header .site-nav {
    position: static !important; height: auto !important; visibility: visible !important;
    opacity: 1 !important; transform: none !important; pointer-events: auto !important;
    flex-direction: row !important; flex-wrap: wrap !important; padding: 12px !important;
  }
  html:not(.js-enabled) body .site-header .site-nav a { width: auto !important; }
  .artwork-header { flex-wrap: wrap; gap: 12px; }
  .artwork-header nav { flex-wrap: wrap; justify-content: center; }
  .contact-section { gap: 30px; }
  .site-footer { padding-bottom: 96px; }
}
@media (max-width: 620px) {
  .artwork-header nav { width: 100%; gap: 8px 16px; }
  .artwork-header nav a:not(:first-child) { display: inline-flex; }
}
@media (max-width: 420px) {
  .collection-grid { columns: 1; }
  .collection-caption h3 { font-size: 1.1rem; }
  .collection-caption p { font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.lang-toggle { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
