.coming-soon { background: var(--paper); }
.holding-page { width: min(100%, 1600px); min-height: 620px; height: 100svh; margin-inline: auto; padding: clamp(12px, 2.5vh, 24px) var(--pad) 14px; display: grid; grid-template-rows: auto minmax(min-content, 1fr) auto auto; gap: 12px; }
.holding-header { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.holding-header .brand-logo { width: clamp(200px, 21vw, 252px); }
.holding-location { font-size: .67rem; font-weight: 650; text-transform: uppercase; letter-spacing: .15em; color: #68645d; }
.holding-main { min-width: 0; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 5vw, 80px); padding-block: 12px; }
.holding-copy { position: relative; z-index: 1; }
.holding-status { display: flex; align-items: center; gap: .7rem; margin: 0 0 18px; text-transform: uppercase; font-size: .67rem; font-weight: 700; letter-spacing: .19em; }
.holding-status > span { width: .5rem; height: .5rem; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(240,75,35,.09); }
.holding-copy h1 { margin: 0; font-size: clamp(38px, min(5.2vw, 8vh), 72px); line-height: 1.04; font-weight: 600; letter-spacing: -.065em; }
.holding-copy h1 em { color: var(--orange); font-weight: 400; letter-spacing: -.06em; }
.holding-description { max-width: 27rem; margin: 18px 0 20px; color: #68645d; font-size: .9rem; line-height: 1.6; }
.holding-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.1rem 1.75rem; }
.holding-email { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; padding: .75rem 1.1rem; background: var(--ink); color: var(--white); font-size: .82rem; transition: background .2s; }
.holding-email:hover { background: #b63818; }
.holding-email span { font-size: 1.15rem; }
.holding-phone { font-size: .84rem; border-bottom: 1px solid #aaa397; padding-block: .25rem; }
.holding-email-address { display: inline-block; margin-top: 12px; font-size: .78rem; color: #68645d; }
.holding-email-address:hover, .holding-phone:hover { color: #b63818; }
.holding-page a:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; }
.holding-drawing { position: relative; align-self: center; width: min(100%, 40vh, 400px); justify-self: center; margin-bottom: 20px; }
.holding-drawing svg { display: block; width: 100%; height: auto; }
.drawing-caption, .drawing-note { position: absolute; font-size: .57rem; letter-spacing: .17em; text-transform: uppercase; color: #68645d; }
.drawing-caption { top: 0; left: 4%; }
.drawing-note { bottom: -1.25rem; right: 4%; }
.holding-footer { display: flex; justify-content: space-between; gap: .5rem 2rem; padding-top: 0; }
.holding-footer p { margin: 0; color: #68645d; font-size: .63rem; line-height: 1.8; }
.holding-footer p:first-child { letter-spacing: .09em; text-transform: uppercase; }
.holding-footer span { padding-inline: .4rem; color: var(--orange); }

.holding-clients { min-width: 0; margin: 0; }
.holding-clients-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 6px; }
.holding-clients-heading h2 { margin: 0; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .17em; }
.holding-clients .marquee-toggle { width: 2.75rem; height: 2.75rem; padding: .65rem; border-radius: 50%; }
.holding-clients .marquee-toggle svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.holding-clients .marquee-toggle .marquee-play-icon,
.holding-clients .marquee-toggle[aria-pressed="true"] .marquee-pause-icon { display: none; }
.holding-clients .marquee-toggle[aria-pressed="true"] .marquee-play-icon { display: block; }
.holding-clients .client-marquee { margin-inline: 0; padding-block: 0; background: var(--paper); }
.holding-clients .client-marquee-window { background: var(--paper); }
.holding-clients .client-marquee-track { mix-blend-mode: multiply; }
.holding-clients .client-logo-group { gap: 1.5rem; padding: 12px 1.5rem 12px 0; }
.holding-clients .client-logo { flex-basis: 10rem; height: clamp(60px, 10vh, 88px); padding-inline: .5rem; }
.holding-clients .client-logo--wide { flex-basis: 14rem; }
.holding-clients .client-marquee[data-ready] .client-marquee-track { animation-duration: 150s; }

@media (max-width: 900px) {
  .holding-main { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 18px; }
  .holding-copy h1 { font-size: clamp(34px, 5.5vw, 48px); }
  .holding-drawing { opacity: .8; }
}

@media (max-width: 600px) {
  .holding-page { min-height: 600px; padding-top: 12px; gap: 10px; }
  .holding-header { align-items: flex-start; }
  .holding-location { display: none; }
  .holding-main { grid-template-columns: minmax(0, 1fr); padding-block: 10px; gap: 0; }
  .holding-copy h1 { font-size: clamp(32px, 9.8vw, 48px); }
  .holding-status { font-size: .59rem; margin-bottom: 18px; }
  .holding-description { font-size: .86rem; margin-block: 16px 18px; }
  .holding-actions { gap: 1rem 1.25rem; }
  .holding-drawing { display: none; }
  .holding-footer { flex-direction: column; gap: 2px; }
  .holding-footer p:first-child { font-size: .56rem; letter-spacing: .05em; }
  .holding-footer span { padding-inline: .15rem; }
}
