/* Sculptural gallery theme. Loaded after styles.css and premium.css. */
:root {
  --ink: #151817;
  --ink-2: #c9c0b2;
  --paper: #151817;
  --surface: #1c201e;
  --surface-2: #292e2a;
  --line: #454943;
  --muted: #aaa79d;
  --brand: #bda47e;
  --brand-dark: #d4bd99;
  --acid: #f0e6d5;
  --blue: #b9c1b6;
  --shadow: 0 18px 55px rgba(0,0,0,.26);
  --radius-lg: 3px;
  --radius-md: 3px;
  --radius-sm: 2px;
  --page-gutter: clamp(24px, 2.5vw, 48px);
  --content: calc(100% - var(--page-gutter) * 2);
  color-scheme: dark;
  font-family: Inter, Manrope, "Segoe UI", Arial, sans-serif;
}

body { color: var(--acid); background: var(--paper); }
h1,h2,h3,.brand-copy,.profile-copy h2,.wholesale-copy h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.035em; }
h1,h2,h3 { color: var(--acid); }
p,.lead,.muted,.fineprint { color: var(--muted); }
a { text-decoration-color: color-mix(in srgb, currentColor 50%, transparent); }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }

.demo-strip { color: var(--ink); background: var(--brand); }
.service-bar { color: #b9b2a6; background: #101211; }
.service-links a,.service-links a:last-child { color: #c9c0b2; }
.service-links a:hover,.nav-row a:hover,.nav-row a[aria-current="page"],.quiet-link:hover,.link-arrow:hover { color: var(--brand); }
.site-header { color: var(--acid); background: rgba(21,24,23,.97); border-bottom-color: var(--line); }
.brand-copy { color: var(--acid); }
.brand-copy small { color: var(--brand); }
.header-search { max-width: 430px; }
.search-control { border-color: var(--line); background: #1b1e1c; }
.search-control:focus-within { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(189,164,126,.17); }
.search-control input { color: var(--acid); }
.search-control input::placeholder { color: #89867d; }
.search-control button { color: var(--brand); }
.search-suggest { color: var(--acid); border-color: var(--line); background: #202320; box-shadow: var(--shadow); }
.suggest-item { border-color: var(--line); }
.suggest-item:hover,.suggest-item[aria-selected="true"] { background: #2b2f2b; }
.request-chip { color: var(--acid); }
.request-count { color: var(--ink); background: var(--brand); border: 0; }
.nav-row { border-color: var(--line); }
.nav-row a::after { background: var(--brand); }
.mobile-toggle,.mobile-toggle span,.mobile-toggle::before,.mobile-toggle::after { color: var(--acid); background-color: transparent; border-color: var(--line); }
.mobile-toggle span,.mobile-toggle::before,.mobile-toggle::after { background-color: var(--acid); }

.button { border-radius: 2px; box-shadow: none; }
.button-primary { color: #171917; background: var(--brand); border-color: var(--brand); }
.button-primary:hover { color: #171917; background: #d6c09c; border-color: #d6c09c; }
.button-acid,.button-soft { color: var(--ink); background: var(--acid); }
.button-dark { color: var(--acid); background: #272b28; }
.button-outline,.button-ghost { color: var(--acid); border-color: var(--brand); }
.button-outline:hover,.button-ghost:hover { color: var(--ink); background: var(--brand); }
.eyebrow,.section-heading .eyebrow { color: var(--brand); }
.link-arrow::after { color: var(--brand); }

/* New home: copy first, full-width product stage second. */
.atelier-hero.gallery-hero { display: block; max-width: none; min-height: 0; overflow: hidden; background: #151817; }
.gallery-hero .atelier-copy { width: min(1100px, var(--content)); margin: 0 auto; padding: 40px 0 28px; text-align: center; font-weight: 400; }
.gallery-hero .atelier-copy .eyebrow { margin: 0 0 14px; }
.gallery-hero .atelier-copy h1 { max-width: 1100px; margin: 0 auto; font-size: clamp(38px,4.7vw,64px); font-weight: 400; line-height: 1.08; }
.gallery-hero .atelier-copy h1 span { color: var(--brand); }
.gallery-hero .atelier-lead { max-width: 860px; margin: 18px auto 22px; color: #c9c0b2; font-size: clamp(16px,1.42vw,18px); }
.gallery-hero .hero-actions { margin: 0 0 16px; }
.gallery-hero .hero-actions { justify-content: center; flex-direction: row; align-items: center; }
.gallery-hero .quiet-link { color: #b7b0a5; margin-top: 4px; }
.gallery-stage { position: relative; width: 100%; min-height: clamp(400px,48vw,1080px); margin: 0 auto; overflow: hidden; background: #242622; }
.gallery-stage > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: none; }
.gallery-stage figcaption { z-index: 5; bottom: 64px; background: none; }
.gallery-stage:has(.material-hotspot[open]) { z-index: 7; }
.gallery-stage:has(.material-hotspot[open]) figcaption { visibility: hidden; }
.gallery-stage .material-explore-hint { color: var(--acid); background: rgba(21,24,23,.82); border: 1px solid rgba(240,230,213,.34); }
.gallery-stage .hotspot-dot { color: var(--ink); background: var(--acid); border-color: var(--acid); }
.gallery-stage .material-hotspot summary:hover .hotspot-dot,.gallery-stage .material-hotspot[open] .hotspot-dot { color: var(--ink); background: var(--brand); }
.gallery-stage .hotspot-panel { color: var(--acid); background: #1c201e; border-top-color: var(--brand); box-shadow: var(--shadow); }
.gallery-stage .hotspot-panel h2 { color: var(--acid); }
.gallery-stage .hotspot-panel p { color: #c8c0b4; }
.gallery-stage .hotspot-panel a,.gallery-stage .hotspot-kicker { color: var(--brand); }

.gallery-categories { position: relative; z-index: 6; display: grid; grid-template-columns: repeat(6,1fr); width: var(--content); margin: -48px auto 0; color: var(--ink); background: var(--acid); box-shadow: 0 16px 38px rgba(0,0,0,.28); }
.gallery-categories a { display: grid; gap: 10px; min-width: 0; padding: 14px 13px; color: var(--ink); text-decoration: none; border-right: 1px solid #d4c9b8; font-size: 12px; font-weight: 700; }
.gallery-categories a:last-child { border-right: 0; }
.gallery-categories img { width: 100%; height: 66px; object-fit: contain; mix-blend-mode: multiply; }
.gallery-categories a:hover { color: #5d4427; background: #e2d4be; }

.project-facts { color: var(--acid); border-color: var(--line); background: #171a18; }
.project-facts p { border-color: var(--line); }
.project-facts p > span { color: var(--brand); }
.project-facts small,.chapter-intro > p:not(.eyebrow),.chapter-footnote { color: var(--muted); }
.material-section { background: #151817; }
.material-card h3 { color: var(--acid); }
.material-card p { color: var(--muted); }
.material-photo { background: #292d2a; }
.material-number,.material-arrow { color: var(--ink); background: var(--acid); }
.material-card:hover .material-arrow { color: var(--ink); background: var(--brand); }
.material-card:hover h3,.material-card:focus-visible h3 { color: var(--brand); }
.additional-materials { border-color: var(--line); }
.additional-materials a { color: var(--brand); }

/* The content block added between the catalog and task selector. */
.wholesale-value { display: grid; grid-template-columns: minmax(0,.9fr) minmax(360px,1.1fr); align-items: stretch; padding-block: 0; background: #1c201e; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.wholesale-copy { padding: clamp(42px,5vw,64px) clamp(26px,5vw,64px) clamp(42px,5vw,64px) 0; }
.wholesale-copy h2 { max-width: 540px; margin: 10px 0 14px; font-size: clamp(35px,4.3vw,58px); }
.wholesale-copy p:not(.eyebrow) { max-width: 500px; }
.wholesale-detail-photo { min-height: 400px; margin: 0; overflow: hidden; background: #292d29; display: flex; flex-direction: column; }
.wholesale-detail-photo img { width: 100%; min-height: 300px; height: 0; flex: 1; object-fit: cover; }
.wholesale-detail-photo figcaption { padding: 16px 20px; color: #ccc3b4; background: #111412; font-size: 12px; line-height: 1.6; }

.task-section { color: var(--acid); background: #101211; }
.task-section .eyebrow,.task-choices [open] summary,.choice-links a { color: var(--brand); }
.task-section .section-heading > p,.choice-body p,.task-other,.task-photo figcaption { color: #b4b0a6; }
.task-choices details,.task-choices details:last-of-type { border-color: var(--line); }
.task-photo { background: #292d2a; }
.choice-sign::before,.choice-sign::after { background: var(--brand); }
.process-section,.home-faq { background: #151817; border-color: var(--line); }
.process-list li,.faq details,.faq details:last-child { border-color: var(--line); }
.process-list li > span { color: var(--brand); }
.process-photo figcaption { background: rgba(9,10,10,.82); }
.faq summary { color: var(--acid); }
.faq details div { color: var(--muted); }

.profile-section { background: #1c201e; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.profile-layout { display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: clamp(28px,5vw,72px); align-items: center; }
.profile-copy { padding: clamp(48px,7vw,92px) 0; }
.profile-copy h2 { margin: 12px 0 22px; font-size: clamp(36px,4.3vw,60px); }
.profile-copy p:not(.eyebrow) { max-width: 450px; }
.profile-layout .profile-viewer { width: 100%; max-width: none; }
.profile-layout .profile-viewer canvas { height: clamp(330px,28vw,580px); }

/* Use wide screens for imagery and collections, not extra-long text lines. */
@media (min-width:1440px) {
  .chapter-grid { grid-template-columns: minmax(240px,.55fr) minmax(0,2.45fr); }
  .gallery-categories a { padding: 22px; font-size: 14px; }
  .gallery-categories img { height: clamp(80px,5vw,120px); }
  .material-card h3 { font-size: 24px; }
  .material-card p { max-width: 42ch; font-size: 14px; }
  .task-photo img { aspect-ratio: 1.5; }
  .process-photo { min-height: clamp(560px,34vw,850px); }
  .product-grid { grid-template-columns: repeat(auto-fill,minmax(270px,1fr)); }
}

.contact-band { color: var(--ink); background: var(--acid); }
.contact-band h2,.contact-band .eyebrow { color: var(--ink); }
.contact-band p:not(.eyebrow),.contact-routes small { color: #5a5b54; }
.contact-routes > a:not(.callback-link) { border-color: #cfc1aa; }
.contact-routes .route-num { color: #785f3e; }
.contact-phone,.contact-routes a { color: var(--ink); }
.site-footer { color: var(--acid); background: #101211; }
.site-footer .brand-copy small,.footer-credit { color: var(--brand); }
.footer-col a,.footer-brand p,.footer-bottom { color: #aaa79d; }

/* Catalog, articles, request form and auxiliary pages retain readable dark surfaces. */
.page-hero { border-color: var(--line); }
.page-hero .lead,.answer-box,.catalog-toolbar p,.product-copy,.pack,.stock { color: var(--muted); }
.answer-box,.filter-panel,.product-card,.product-buy,.info-card,.aside-card,.empty-state,.step,.lead-form,.request-list,.delivery-options { color: var(--acid); background: var(--surface); border-color: var(--line); }
.workflow { background: #1c201e; }
.solution-card,.solution-card:nth-child(n) { color: var(--acid); background: #242824; }
.solution-card:nth-child(2n) { color: var(--ink); background: var(--acid); }
.solution-card:nth-child(2n) h3 { color: var(--ink); }
.solution-card:nth-child(2n) p { color: #595b53; }
.category-card { color: var(--ink); border-color: #d8cdbb; background: var(--acid); }
.category-card h3 { color: var(--ink); }
.category-card p { color: #595b53; }
.category-media { background: #d7cbb9; }
.category-count { color: #4d4133; border-color: #bdb09d; background: rgba(240,230,213,.94); }
.product-title,.product-info h1,.filter-panel h2,.info-card h3,.aside-card h2,.step strong { color: var(--acid); }
.product-visual { background: #292d2a; }
.pill,.visual-label { color: var(--ink); background: var(--brand); }
.notice { color: var(--acid); background: #282820; border-color: #716446; }
.field,.select,textarea,.qty,.icon-button { color: var(--acid); border-color: #696c64; background: #111412; }
.field::placeholder,textarea::placeholder { color: #959188; }
.field:focus,.select:focus,textarea:focus { border-color: var(--brand); outline-color: rgba(189,164,126,.24); }
.mode-field select,.file-box,.delivery-options { background: #171a18; border-color: var(--line); }
.file-box input::file-selector-button { color: var(--ink); background: var(--acid); }
.file-box.ready { color: var(--acid); border-color: var(--brand); background: #252b25; }
.file-box.dragover { background: #332f26; outline-color: var(--brand); }
.check input { accent-color: var(--brand); }
.prose,.prose li,.spec-table td { color: #d0c8bb; }
.request-help a { color: var(--brand); }
.spec-table th,.spec-table td { border-color: var(--line); }
.spec-table th { color: var(--acid); background: #242824; }

@media (max-width:820px) {
  :root { --content: calc(100% - 40px); }
  .header-main { grid-template-columns: 220px minmax(0,1fr) auto; gap: 18px; }
  .gallery-hero .atelier-copy { padding-top: 52px; }
  .gallery-stage { width: calc(100% - 40px); min-height: 470px; }
  .gallery-stage figcaption { bottom: 46px; }
  .gallery-categories { grid-template-columns: repeat(3,1fr); width: calc(100% - 64px); margin-top: -28px; }
  .gallery-categories a:nth-child(3n) { border-right: 0; }
  .gallery-categories a:nth-child(-n+3) { border-bottom: 1px solid #d4c9b8; }
  .wholesale-value,.profile-layout { grid-template-columns: 1fr; }
  .wholesale-copy { padding-right: 0; }
  .wholesale-detail-photo { min-height: 330px; }
}

@media (max-width:780px) {
  :root { --content: calc(100% - 36px); }
  .header-main { grid-template-columns: 40px minmax(0,1fr) auto; gap: 10px; }
  .site-header { background: #151817; }
  .nav-row { background: #151817; }
  .nav-row a { color: var(--acid); }
  .gallery-hero .atelier-copy { padding: 54px 0 30px; }
  .gallery-hero .atelier-copy h1 { font-size: clamp(38px,10.2vw,52px); }
  .gallery-hero .atelier-lead { font-size: 15px; }
  .gallery-stage { width: 100%; min-height: 390px; }
  .gallery-stage figcaption { bottom: 0; padding-inline: 18px; }
  .gallery-categories { width: calc(100% - 36px); margin-top: 0; box-shadow: none; }
  .gallery-categories a { padding: 11px 9px; font-size: 10px; }
  .gallery-categories img { height: 46px; }
  .project-facts { margin-top: 30px; }
  .wholesale-copy,.profile-copy { padding: 52px 0; }
  .wholesale-detail-photo { min-height: 260px; }
  .mobile-bar { color: var(--acid); background: #1c201e; border-top-color: var(--line); }
  .mobile-bar a,.mobile-bar button { color: var(--acid); }
  .mobile-bar a:last-child { color: var(--ink); background: var(--brand); }
}

@media (max-width:390px) {
  :root { --content: calc(100% - 28px); }
  .gallery-hero .atelier-copy { padding-top: 42px; }
  .gallery-hero .atelier-copy h1 { font-size: 38px; }
  .gallery-hero .hero-actions { display: grid; }
  .gallery-stage { min-height: 330px; }
  .gallery-categories { width: 100%; }
  .gallery-categories a { font-size: 9px; }
  .gallery-categories img { height: 39px; }
}

@media (max-width:360px) {
  .gallery-hero .atelier-copy h1 { font-size: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-stage > img { transform: none; }
}
