html { height: auto; overflow-x: hidden; overflow-y: auto; scroll-padding-top: 24px; }
body { height: auto; overflow: visible; background: #f7f5ef; }
.experience { height: 100svh; min-height: 540px; }
.public-intro { position: absolute; z-index: 10; left: max(28px, env(safe-area-inset-left)); bottom: max(6%, calc(env(safe-area-inset-bottom) + 22px)); max-width: min(420px, 48%); display: grid; gap: 7px; padding: 14px 18px; border: 1px solid #ffffff85; border-radius: 16px; background: #fffdf3ed; color: #22251e; box-shadow: 0 5px 18px #352a1a12; }
.public-intro > span { font-size: 13px; line-height: 1.45; }
.public-intro a { display: inline-flex; align-items: center; gap: 28px; min-height: 44px; color: inherit; font-size: 15px; font-weight: 650; text-underline-offset: 4px; }
.company-site { max-width: 1280px; margin: auto; padding: 0 56px; color: #252b25; line-height: 1.65; }
.company-site a { color: inherit; text-underline-offset: 4px; }
.company-site a:focus-visible, .public-intro a:focus-visible { outline: 3px solid #9d6913; outline-offset: 5px; }
.company-nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 0; border-bottom: 1px solid #dcded3; }
.company-nav > div, .company-footer > div { display: flex; flex-wrap: wrap; gap: 8px 25px; }
.company-nav a, .company-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.company-wordmark { font-weight: 750; text-decoration: none; font-size: 19px; }
.company-lead { padding: 100px 0 82px; max-width: 930px; }
.company-eyebrow { color: #626d56; text-transform: uppercase; letter-spacing: .13em; font-size: 12px; font-weight: 700; margin: 0 0 22px; }
.company-lead h2 { font-weight: 520; font-size: clamp(40px, 5.4vw, 74px); line-height: 1.08; letter-spacing: -.045em; margin: 0 0 28px; }
.company-summary { font-size: 20px; max-width: 620px; margin-bottom: 30px; }
.company-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 25px; }
.company-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; border-radius: 100px; background: #29382e; color: #fff !important; padding: 11px 25px; border: 1px solid #29382e; font-weight: 650; text-decoration: none; }
.company-button-secondary { background: transparent; color: #29382e !important; }
.company-note { font-size: 14px; color: #586151; max-width: 600px; margin-top: 24px; }
.company-section { padding: 70px 0; border-top: 1px solid #dcded3; }
.company-section h2 { margin: 0 0 30px; font-weight: 550; font-size: clamp(29px, 3vw, 43px); letter-spacing: -.035em; line-height: 1.2; }
.company-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.company-cards article { padding: 28px; background: #efeee6; border-radius: 20px; }
.company-number { color: #717b63; font-size: 12px; }
.company-cards h3 { font-size: 22px; font-weight: 600; line-height: 1.3; margin: 24px 0 12px; }
.company-cards p { margin: 0; color: #50594a; }
.company-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; }
.company-contact p { max-width: 460px; }
.company-contact address { display: flex; flex-direction: column; align-items: flex-start; font-style: normal; justify-content: center; gap: 8px; overflow-wrap: anywhere; }
.company-contact address a { display: flex; align-items: center; min-height: 44px; }
.company-texts { max-width: 900px; }
.company-texts p { color: #50594a; }
.company-footer { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; border-top: 1px solid #dcded3; padding: 28px 0 40px; font-size: 13px; color: #515b4c; align-items: center; }
.legal-page { max-width: 900px; padding-top: 30px; }
.legal-page main { padding: 65px 0; }
.legal-page h1 { font-size: clamp(34px, 5vw, 54px); line-height: 1.15; font-weight: 550; letter-spacing: -.04em; }
.legal-page h2 { margin: 38px 0 12px; font-size: 23px; line-height: 1.3; font-weight: 600; }
.legal-page p, .legal-page ul { max-width: 740px; }
.legal-page li { margin: 9px 0; }
.legal-meta { font-size: 14px; color: #626d56; }
@media (max-width: 700px) {
  .public-intro { left: 16px; right: 16px; bottom: max(92px, calc(env(safe-area-inset-bottom) + 84px)); max-width: none; padding: 10px 16px; gap: 0; }
  .public-intro > span { font-size: 12px; }
  .public-intro a { justify-content: space-between; }
  .experience .wake-control { bottom: max(22px, calc(env(safe-area-inset-bottom) + 18px)); }
  .company-site { padding: 0 22px; }
  .company-nav { align-items: flex-start; flex-direction: column; gap: 4px; padding: 18px 0; }
  .company-nav > div { gap: 22px; }
  .company-lead { padding: 60px 0; }
  .company-summary { font-size: 18px; }
  .company-cards, .company-contact { grid-template-columns: 1fr; gap: 18px; }
  .company-contact { gap: 24px; }
  .company-section { padding: 48px 0; }
  .company-actions { flex-direction: column; align-items: stretch; }
  .company-footer { gap: 10px; padding-bottom: 30px; }
  .legal-page { padding-top: 15px; }
  .legal-page main { padding: 32px 0; }
}
@media (max-height: 550px) and (orientation: landscape) { .experience { min-height: 400px; } .public-intro { bottom: 16px; right: auto; max-width: 45%; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* First paint must not combine the initial fallback image with a different scene. */
.experience:not([data-public-artwork-ready="true"]) .wall-scene,
.experience:not([data-public-artwork-ready="true"]) .brand-lockup,
.experience:not([data-public-artwork-ready="true"]) .wake-control { visibility: hidden; }
.public-artwork-status { margin: 0; font-size: 12px; line-height: 1.45; }
.experience[data-public-artwork-ready="true"] .public-artwork-status { display: none; }
