:root {
  --navy: #08111f;
  --navy-light: #122136;
  --gold: #806127;
  --gold-light: #e7ca79;
  --space-section: clamp(72px, 7.5vw, 112px);
}

h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.025em; text-wrap: balance; }
h3 { letter-spacing: -.015em; line-height: 1.25; }
p { text-wrap: pretty; }
::selection { background: #eadab7; color: var(--navy); }
:focus-visible { outline-color: var(--gold); }
.overline, .eyebrow { font-size: 12px; letter-spacing: .15em; color: var(--gold); }
.button, .underlined { font-size: 14px; }
.button { min-height: 48px; padding: 15px 24px; gap: 22px; border-radius: 0; font-weight: 500; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.button:not(:disabled):hover { border-color: var(--gold); }
.underlined { border-color: #b7a47b; text-underline-offset: .3em; padding-bottom: 7px; }
.underlined:hover { color: var(--gold); border-color: var(--gold); }
.button-dark { background: var(--navy); border-color: var(--navy); }
.button-dark:hover { background: var(--navy-light); }

.header {
  min-height: 0; height: 108px; padding-top: 10px; padding-bottom: 10px;
  background: var(--paper); color: var(--ink); border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; flex-shrink: 0; }
.brand-logo { display: block; width: 160px; height: 84px; max-width: 100%; max-height: none; object-fit: contain; }
.brand-type { color: var(--ink); }
.desktop-nav { font-size: 14px; gap: 36px; }
.desktop-nav a { padding: 12px 0; }
.desktop-nav a[aria-current]:after { height: 1px; width: 100%; left: 0; bottom: 3px; border-radius: 0; background: var(--gold); }
.desktop-nav a:hover { color: var(--gold); }
.header-consult { border-color: #c6cbd2; color: var(--ink); }
.header-consult:hover { background: #eef0f3; }
.mobile-nav { font-size: 14px; }
.mobile-nav nav { background: var(--paper); color: var(--ink); border-color: var(--line); top: 100%; }
.mobile-nav summary { min-height: 44px; align-items: center; }
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav summary span { display: inline-block; transition: transform .2s ease; }
.mobile-nav[open] summary span { transform: rotate(45deg); }
.mobile-nav nav a, .mobile-nav nav button { min-height: 44px; display: flex; align-items: center; }

.home-hero { grid-template-columns: .95fr 1.05fr; margin: 0; min-height: 680px; border-bottom: 1px solid var(--line); }
.hero-copy { padding: 80px 11% 36px 12.8%; }
.hero-copy h1 { font-size: clamp(52px, 5.4vw, 86px); line-height: 1.08; margin: 30px 0; }
.hero-intro { font-size: 16px; max-width: 385px; line-height: 1.85; }
.hero-foot { font-size: 12px; letter-spacing: .1em; gap: 20px; flex-wrap: wrap; }
.hero-photo { min-height: 680px; }
.hero-caption { left: 40px; right: 40px; bottom: 36px; }
.hero-caption span { font-size: 12px; }
.hero-caption strong { font-family: var(--serif); font-size: 32px; letter-spacing: -.02em; }
.section-title h2 { font-size: clamp(36px, 3.4vw, 54px); }
.section-wrap { padding-top: var(--space-section); padding-bottom: var(--space-section); }
.section-title { margin-bottom: 42px; }
.collection-grid { gap: 34px; }
.collection-card { min-width: 0; }
.collection-image { padding: 48px 44px 62px; border: 1px solid #e7e8e9; }
.collection-image img { width: auto; max-width: 100%; filter: drop-shadow(3px 8px 9px #111d2d24); transition: transform .45s ease; }
.collection-image>span { font-size: 13px; right: 22px; bottom: 20px; }
.demo-badge { font-size: 12px; opacity: 1; color: #5d6470; }
.collection-caption { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; margin-top: 23px; }
.collection-caption h3 { font-family: var(--serif); font-size: 28px; letter-spacing: -.025em; }
.collection-caption p, .collection-caption>div:last-child { font-size: 14px; }
.collection-caption>div:last-child { display: flex; justify-content: space-between; text-align: left; gap: 12px; color: var(--muted); }
.caption-arrow { color: var(--gold); }
.demo-disclosure { font-size: 12px; line-height: 1.7; }
.steps li>span { font-size: 30px; }
.steps h3 { font-size: 24px; letter-spacing: -.02em; }
.steps p { font-size: 16px; }
.print-story { padding: 90px 0; }
.print-story>div>p:not(.overline) { max-width: 410px; }
.consult-section { background: var(--navy-light); color: #f8f6ef; padding-top: 80px; padding-bottom: 80px; border-bottom: 1px solid #d9bf791f; }
.consult-section .overline { color: var(--gold-light); }
.consult-section h2 { font-size: clamp(40px, 4.2vw, 64px); }
.consult-section p { color: #c1c8d1; font-size: 16px; }
.consult-section .button-dark { background: var(--gold-light); border-color: var(--gold-light); color: var(--navy); }
.consult-section .button-dark:hover { background: #f0daa1; }

.footer { background: var(--navy); color: #eeeae1; padding-top: 72px; padding-bottom: 90px; }
.footer .brand-logo { width: 190px; height: 102px; }
.footer .brand-type { color: var(--gold-light); }
.footer-top { grid-template-columns: 1fr 1fr .8fr 1.4fr; align-items: start; gap: 32px; }
.footer-top>p { font-family: var(--serif); font-size: 26px; }
.footer-top>div { font-size: 14px; gap: 12px; }
.footer .overline { color: var(--gold-light); }
.footer a:hover, .footer button:hover { color: var(--gold-light); }
.footer-meta, .company-line, .ecosystem { border-color: #d9bf7933; }
.footer-meta { color: #adb8c6; font-size: 12px; line-height: 1.8; flex-wrap: wrap; }
.footer-meta>div { flex-wrap: wrap; }
.ecosystem-title { gap: 32px; }
.gatula-word { color: var(--gold-light); }
.ecosystem-title p, .company-line { color: #adb8c6; font-size: 12px; }
.ecosystem nav { font-size: 14px; row-gap: 18px; padding-top: 32px; padding-bottom: 32px; }
.ecosystem-current { color: var(--gold-light); font-weight: 500; }
.company-line { flex-wrap: wrap; }

.catalog-toolbar { font-size: 12px; gap: 20px; flex-wrap: wrap; }
.values span { font-size: 12px; color: var(--gold); }
.values p { font-size: 16px; }
.company-card { border: 1px solid var(--line); border-top: 1px solid #baa061; background: #f5f6f7; }
.company-card dl { font-size: 14px; }
.contact-methods span { font-size: 14px; }
.contact-form { background: #fff; border-top: 1px solid #baa061; padding: 42px; }
label, .form-status { font-size: 14px; }
label { gap: 9px; }
input, textarea, select { font-size: 16px; border-radius: 0; border-color: #d5d9df; transition: border-color .2s ease; }
input:not([type=checkbox]), select { min-height: 48px; }
input::placeholder, textarea::placeholder { color: #737a83; }
input:focus-visible, textarea:focus-visible, select:focus-visible { border-color: var(--gold); outline-offset: 2px; }
.form-note { font-size: 13px; }
.chat-launcher { font-size: 14px; background: var(--navy); border-color: #c5a9698c; border-radius: 2px; min-height: 52px; box-shadow: 0 5px 18px #08111f18; }
.chat-launcher span { color: var(--gold-light); }
.chat-launcher:hover { background: var(--navy-light); }
.chat-header { border-bottom: 1px solid var(--line); padding-bottom: 20px; }
.chat-header p { font-size: 13px; }
.chat-context, .share-view { font-size: 12px; }
.chat-context { background: #f4f4f1; border-left: 2px solid #baa061; padding: 14px 16px; }
.chat-dialog { width: 430px; padding: 28px; background: #fff; }
dialog { border: 1px solid #d5d9df; box-shadow: 0 22px 70px #08111f29; }
.message { padding: 14px 16px; }
.message.visitor { background: #f8f7f3; border: 1px solid #e9e5da; }
.message p { font-size: 15px; }
.message small { font-size: 12px; }
.checkout-dialog { padding: 34px; }
.checkout-heading { border-bottom: 1px solid var(--line); padding-bottom: 20px; }
#checkout-summary { background: #f4f5f7; padding: 22px; line-height: 1.8; }
#checkout-summary strong { font: 400 26px/1.2 var(--serif); }
#order-total { border-top: 1px solid var(--line); padding-top: 22px; font: 400 30px/1.3 var(--serif); }

.viewer-breadcrumb { font-size: 14px; }
.stage { background: #eef0f3; border: 1px solid #e0e3e7; }
.stage-top { font-size: 12px; }
.stage-bottom p { font-size: 12px; }
.viewer-tools { padding: 5px; border: 1px solid #dbe0e4; box-shadow: 0 3px 12px #111d2d09; }
.viewer-tools button { min-width: 40px; height: 40px; }
.viewer-tools button:last-child { font-size: 12px; min-width: 44px; }
.work-nav button, .icon-button { width: 44px; height: 44px; }
.work-nav button:hover { color: var(--gold); }
.art-info h1 { font-size: 48px; }
.art-description { font-size: 16px; line-height: 1.75; }
.print-options>label, .work-facts { font-size: 14px; }
.print-options select { font-size: 14px; min-height: 48px; }
.variant-price { font-family: var(--serif); font-size: 28px; }
.print-options .form-note { font-size: 12px; }
.scene-picker h2 { font-family: var(--sans); font-size: 18px; }
.scene-option { min-height: 68px; border-radius: 0; padding: 13px; gap: 14px; transition: background .2s ease, border-color .2s ease; }
.scene-option>span:nth-child(2) { font-size: 14px; }
.scene-option small, .scale-note { font-size: 12px; }
.scene-option.active { border-color: #bca36c; background: #f8f5ee; }
.scene-icon { border-color: #c5ad78; }
.selection-indicator { color: var(--gold); }
.is-embedded .stage { border: 0; }

.admin-layout { min-height: calc(100vh - 108px); }
.admin-sidebar { background: #f0f2f5; }
.admin-sidebar nav button { font-size: 14px; border-radius: 0; }
.admin-sidebar nav button[aria-current] { background: var(--navy); color: #f8f6ef; }
.admin-sidebar nav button[aria-current] span { color: var(--gold-light); }
.admin-account, .admin-account strong { font-size: 12px; }
.admin-heading h1 { font-size: 46px; }
.studio-stats span, .admin-toolbar { font-size: 14px; }
.studio-stats strong { font-family: var(--serif); font-size: 38px; }
.studio-art-copy p, .studio-art-actions .button, .studio-art-actions .text-button { font-size: 14px; }
.badge { font-size: 12px; }
.studio-empty p { font-size: 16px; }
.upload-zone small, #upload-status { font-size: 12px; }
.variant-row { grid-template-columns: repeat(4,minmax(0,1fr)); }
.variant-row label, .variant-row input, .variant-row select { font-size: 14px; }
.variant-row>.icon-button { grid-column: 4; }
.variant-row .checkbox-label { grid-column: 1/4; }
.logo-preview { max-width: 250px; padding: 24px; background: var(--navy); }
.logo-preview img { width: 100%; height: auto; max-height: 115px; }
.conversation-item strong { font-size: 15px; }
.conversation-item small, .conversation-item>span, .presence-pill { font-size: 12px; }
.conversation-heading p, .consultant-context, .inbox-heading a, .inbox-bottom, .inbox-bottom .button { font-size: 13px; }
.conversation-heading .button, .inbox-heading .overline { font-size: 12px; }
.inbox-card>p { font-size: 14px; }
.settings-card, .studio-stats>div, .inbox-card { border-color: #dfe2e6; }
.settings-card>h2 { padding-bottom: 20px; border-bottom: 1px solid #e8e9eb; }
.studio-stats>div { padding: 25px; }
.studio-art-copy { padding: 24px; }
.upload-zone { background: #f5f6f7; border-color: #b7bdc7; }
.upload-zone.dragging { background: #f4eddd; border-color: var(--gold); }
.sticky-save { background: #fbfbfaf5; padding-top: 20px; padding-bottom: 20px; }
.studio-art-actions { gap: 12px; }
.admin-sidebar nav button { transition: background .2s ease, color .2s ease; }
.collection-card:hover img, .hero-photo:hover>img { transform: none; }

@media (hover:hover) {
  .collection-card:hover img, .hero-photo:hover>img { transform: scale(1.018); }
}

@media (min-width:1600px) {
  .home-hero { max-width: 1800px; margin: auto; }
}
@media (max-width:1100px) {
  .hero-copy { padding: 62px 9% 32px; }
  .hero-photo { min-height: 620px; }
  .home-hero { min-height: 620px; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .exhibition { grid-template-columns: minmax(0,1fr) 310px; }
  .collection-grid { gap: 24px; }
  .collection-image { padding: 36px 24px 62px; }
}
@media (max-width:780px) {
  .art-info h1 { font-size: 46px; }
  .scene-options { gap: 10px; }
}
@media (max-width:700px) {
  .header { min-height: 0; height: 88px; padding-top: 8px; padding-bottom: 8px; }
  .header .brand-logo { width: 135px; height: 70px; }
  .home-hero { min-height: 0; }
  .hero-copy { padding: 50px 6% 30px; }
  .hero-copy h1 { font-size: clamp(48px,12vw,64px); max-width: 480px; margin: 24px 0; }
  .hero-intro { font-size: 16px; }
  .hero-foot { padding-top: 36px; font-size: 12px; gap: 8px 18px; }
  .hero-photo { min-height: 480px; margin: 0; }
  .hero-caption { left: 24px; right: 24px; bottom: 28px; }
  .hero-caption strong { font-size: 28px; }
  .section-wrap { padding-top: 64px; padding-bottom: 64px; }
  .section-title { margin-bottom: 30px; }
  .collection-grid { gap: 38px; }
  .collection-image { height: clamp(300px,90vw,440px); padding: 40px 32px 64px; }
  .collection-caption { gap: 12px; }
  .collection-caption h3 { font-size: 26px; }
  .collection-caption p, .collection-caption>div:last-child { font-size: 13px; }
  .print-story { padding: 60px 0; }
  .footer .brand-logo { width: 155px; height: 84px; }
  .footer-top { gap: 35px 24px; }
  .footer-top>p { font-size: 24px; }
  .ecosystem-title { flex-wrap: wrap; gap: 20px; }
  .ecosystem-title .overline { font-size: 12px; }
  .page-heading h1, .contact-page h1 { font-size: clamp(44px,11vw,58px); }
  .company-card dl { font-size: 14px; grid-template-columns: 85px minmax(0,1fr); }
  .company-card dd { overflow-wrap: anywhere; }
  .chat-launcher { font-size: 13px; }
  .chat-dialog, .checkout-dialog { padding: 22px; }
  .chat-dialog { width: calc(100% - 20px); }
  .contact-form { padding: 28px 22px; }
  .viewer-breadcrumb { font-size: 13px; }
  .admin-heading h1 { font-size: 38px; }
}
@media (max-width:600px) {
  .variant-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .variant-row>.icon-button { grid-column: 2; }
  .variant-row .checkbox-label { grid-column: 1/-1; }
  .studio-stats span { font-size: 12px; }
  .studio-stats>div { padding: 16px 12px; }
  .studio-art-copy { padding: 22px; }
}
@media (max-width:380px) {
  .footer-top { grid-template-columns: 1fr; }
  .scene-options { grid-template-columns: 1fr; }
  .collection-caption { display: block; }
  .collection-caption>div:last-child { text-align: left; }
}
@media (prefers-reduced-motion:reduce) {
  .collection-card:hover img, .hero-photo:hover>img { transform: none; }
}

/* A consistent reading width and calmer controls throughout the gallery. */
:root{--paper:#faf9f6;--line:#deded8;--muted:#616974}
.header{padding-left:max(4.4%,calc((100vw - 1440px)/2));padding-right:max(4.4%,calc((100vw - 1440px)/2));gap:28px}
.desktop-nav{gap:clamp(22px,2.5vw,36px)}
.section-wrap:not(.consult-section),.viewer-page{max-width:1560px;margin-left:auto;margin-right:auto}
.home-hero{max-width:1680px;margin:auto;min-height:620px;grid-template-columns:1fr 1.05fr}
.hero-copy{padding-top:clamp(48px,6vw,88px);padding-bottom:32px}
.hero-photo{min-height:620px}.hero-copy h1{font-size:clamp(48px,5.2vw,80px)}
.home-collection .section-title,.collection-page .page-heading{max-width:100%}
.collection-image{background:#f0efea;border-color:#e2e1db}.tone-1{background:#ece8df}.tone-2{background:#e8ecee}
.footer{padding-left:max(6.1%,calc((100vw - 1400px)/2));padding-right:max(6.1%,calc((100vw - 1400px)/2))}
.footer-meta{align-items:baseline;gap:16px 30px}.footer-meta>div{gap:12px 22px}.footer-meta a{display:inline-block;padding:4px 0}
.company-line{gap:10px 24px}.ecosystem nav{gap:16px 28px}.ecosystem nav a{padding:3px 0}
.viewer-page{padding-left:clamp(20px,4.5vw,76px);padding-right:clamp(20px,4.5vw,76px)}
.viewer-breadcrumb{font-size:12px;padding:25px 0;color:var(--muted)}.viewer-breadcrumb a{color:var(--ink)}
.exhibition{grid-template-columns:minmax(0,1fr) 350px;gap:32px}
.art-info{min-width:0;padding:26px;background:#fff;border:1px solid #e1e0d9}
.art-info h1{font-size:clamp(32px,3vw,43px);line-height:1.12;margin:20px 0 16px}
.art-description{font-size:14px;line-height:1.8}.art-info .eyebrow{font-size:10px}.work-nav button{width:34px;height:34px}
.print-options>label,.work-facts{font-size:12px}.print-options select{font-size:12px;padding-right:26px}.print-options .button{font-size:12px;line-height:1.5;gap:12px;padding:13px 16px}
.variant-price{font-size:24px}.scene-picker{margin-top:20px;padding-top:22px}.scene-picker h2{font-size:15px;margin-bottom:12px}.scene-option{padding:11px 9px;gap:10px;min-height:62px}.scene-option>span:nth-child(2){font-size:12px}.scene-option small{font-size:10px}.scale-note{font-size:10px;line-height:1.8}
.viewer-tools{padding:4px;gap:2px;box-shadow:0 3px 18px #111d2d0d}.viewer-tools button{height:38px;min-width:38px}.stage-bottom p{font-size:11px}
.checkbox-label{align-items:flex-start;gap:11px;line-height:1.7}.checkbox-label input[type=checkbox]{flex:0 0 17px;width:17px;height:17px;min-height:17px;margin-top:4px}.checkbox-label>span{min-width:0}.checkbox-label a{text-decoration:underline;text-underline-offset:3px}.checkout-dialog .checkbox-label{font-size:12px}
.contact-form,.company-card{background:#fff}.contact-methods a{overflow-wrap:anywhere}
@media(min-width:901px){.header .desktop-nav{margin-left:auto;margin-right:auto}}
@media(max-width:1100px){.exhibition{grid-template-columns:minmax(0,1fr) 300px;gap:22px}.art-info{padding:21px}.art-info h1{font-size:34px}}
@media(max-width:900px){.desktop-nav,.header-consult{display:none}.mobile-nav{display:block;position:relative}.mobile-nav nav{position:absolute;min-width:235px;right:0;top:calc(100% + 18px);z-index:20;padding:20px;background:var(--paper);box-shadow:0 14px 30px #08111f12;border:1px solid var(--line)}.mobile-nav nav a{font-size:14px}.mobile-nav nav button{font-size:13px;border:0;padding:12px 0}.header{height:96px}.header .brand-logo{width:148px;height:78px}}
@media(max-width:780px){.exhibition{display:flex;gap:22px}.art-info{width:100%;padding:25px}.art-info h1{font-size:38px}.scene-options{grid-template-columns:1fr 1fr}.scene-option>span:nth-child(2){font-size:12px}.viewer-breadcrumb{padding:20px 0}.stage{min-height:420px}.is-embedded .stage{min-height:250px}.is-embedded{padding:0}.stage-bottom{gap:9px}.home-hero{grid-template-columns:1fr;min-height:0}.hero-photo{min-height:470px}.hero-copy{padding:45px 6% 30px}.hero-copy h1{font-size:clamp(46px,9vw,65px)}.collection-grid{gap:34px 22px}}
@media(max-width:500px){.header{height:88px}.header .brand-logo{width:135px;height:70px}.art-info{padding:22px}.footer-meta{display:block}.footer-meta>div{margin:13px 0}.footer-top{gap:30px 22px}.footer-top>p{font-size:22px}.hero-photo{min-height:390px}.hero-foot{font-size:10px}.scene-number{width:26px;height:26px;font-size:10px}.scene-option{padding:10px 8px}.scene-option small{font-size:10px}}

.print-story.section-wrap{width:87.8%;max-width:1360px;margin-left:auto;margin-right:auto}
.viewer-page.is-embedded{padding:0;max-width:none;margin:0}
