.hire-hero { display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); align-items: center; gap: clamp(1.75rem,4.4vw,4.5rem); padding: clamp(1.7rem,3.7vw,3.8rem) 0; }
.hire-intro h1 { max-width: 11ch; font-size: clamp(3rem,5.45vw,5.65rem); line-height: 1; letter-spacing: -.06em; }
.hire-intro p { max-width: 39ch; font-size: clamp(1rem,1.35vw,1.18rem); color: var(--muted); margin: 1.1rem 0 1.65rem; }
.hire-actions { display: flex; gap: .85rem 1.35rem; flex-wrap: wrap; align-items: center; }
.hire-actions > a:not(.button) { color: var(--ink); font-size: .94rem; font-weight: 620; }
.hire-showroom { min-width: 0; }
.hire-scene { position: relative; height: clamp(240px,22vw,350px); overflow: hidden; isolation: isolate; background: linear-gradient(150deg,#f7f9fa 12%,#e6edf2 70%,#dce6ec); border-radius: 5px; }
.hire-scene::before { content: ""; position: absolute; inset: 65% 0 0; background: linear-gradient(#e7edf0,#edf2f4); border-top: 1px solid rgba(128,151,166,.13); }
.hire-piece { position: absolute; display: flex; align-items: end; justify-content: center; }
.hire-piece img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 6px 4px rgba(55,74,86,.15)); transition: transform .2s ease; }
.hire-piece:hover img { transform: translateY(-3px); }
.piece-3 { left: 3%; bottom: 12%; width: 54%; height: 81%; }
.piece-48 { right: 4%; bottom: 8%; width: 50%; height: 48%; z-index: 2; }
.piece-64 { left: 32%; bottom: 5%; width: 17%; height: 38%; z-index: 3; }
.hire-scene-label { display: flex; justify-content: space-between; gap: .5rem; margin-top: .55rem; line-height: 1.4; font-size: .8rem; color: var(--muted); }
.hire-scene-label span:first-child { color: var(--ink); font-weight: 650; }
.hire-catalog { padding-top: clamp(1.4rem,2vw,2.25rem); border-top: 1px solid var(--line); }
.hire-catalog-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .85rem; margin-bottom: clamp(1.25rem,2.5vw,2.5rem); }
.hire-catalog-head h2 { font-size: clamp(1.8rem,3.3vw,3rem); }
.hire-catalog-head .search { width: min(100%,24rem); border: 0; background: var(--mist); padding: .65rem .95rem; border-radius: 5px; }
.hire-layout { display: grid; grid-template-columns: minmax(170px,.76fr) minmax(0,3.3fr); gap: clamp(1.3rem,3vw,3rem); }
.hire-sidebar { min-width: 0; align-self: start; position: sticky; top: 1rem; }
.hire-categories { display: grid; border-top: 1px solid var(--line); }
.hire-categories a { display: flex; align-items: baseline; justify-content: space-between; gap: .7rem; padding: .85rem .45rem .85rem 0; border-bottom: 1px solid var(--line); text-decoration: none; line-height: 1.35; color: var(--muted); font-size: .94rem; }
.hire-categories a[aria-current],.hire-categories a:hover { color: var(--blue); }
.hire-categories a[aria-current] { font-weight: 720; }
.hire-categories small { font-size: .8rem; font-variant-numeric: tabular-nums; }
.hire-categories a:last-child { margin-top: .3rem; }
.hire-category-picker { display: grid; gap: .28rem; color: var(--muted); font-size: .82rem; }
.hire-category-picker select { min-height: 44px; width: 100%; border: 1px solid #a3b4c1; border-radius: 4px; color: var(--ink); padding: .5rem .65rem; background: white; font: 600 .99rem/1.35 Manrope,Arial,sans-serif; }
.hire-results { min-width: 0; }
.hire-status { min-height: 1.25rem; color: var(--muted); font-size: .88rem; margin-bottom: .45rem; }
.hire-group { padding: 0 0 2.1rem; }
.hire-group h2 { font-size: clamp(1.4rem,2.2vw,2rem); margin-bottom: 1rem; }
.hire-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1.3rem,2.3vw,2.2rem) clamp(.7rem,1.4vw,1.35rem); }
.hire-product { min-width: 0; display: flex; flex-direction: column; align-items: stretch; }
.hire-product-link { display: block; color: var(--ink); text-decoration: none; }
.hire-plate,.hire-dialog-plate { background: #eef2f4; display: grid; place-items: center; overflow: hidden; }
.hire-plate { width: 100%; aspect-ratio: 1.35; padding: clamp(.75rem,1.5vw,1.5rem); border-radius: 4px; }
.hire-plate img,.hire-dialog-plate img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.hire-plate img { filter: drop-shadow(0 3px 2px rgba(41,63,77,.10)); transition: transform .2s ease; }
.hire-product-link:hover img { transform: scale(1.035); }
.hire-product h3 { font-size: clamp(.98rem,1.25vw,1.24rem); font-weight: 660; line-height: 1.27; margin: .72rem 0 .38rem; }
.hire-measures { color: var(--muted); font-size: .83rem; line-height: 1.5; min-height: 1.25em; flex-grow: 1; }
.hire-measures span { display: inline; }
.hire-measures span + span::before { content: ""; display: inline-block; width: 2px; height: 2px; margin: 0 .35em .23em; border-radius: 50%; background: currentColor; }
.hire-no-photo { color: #607384; font-size: .9rem; }
.hire-plate { position: relative; }
.hire-image-label { position: absolute; bottom: .45rem; left: .55rem; background: #fff; color: #405769; padding: .12rem .42rem; font-size: .71rem; border-radius: 2px; }
.hire-more { display: none; font-size: .83rem; font-weight: 620; margin-top: .55rem; text-decoration: none; border-bottom: 1px solid #adbdcb; }
.hire-enhanced .hire-more { display: inline-block; align-self: start; }
.hire-fallback { margin-top: .5rem; }
.hire-fallback summary { cursor: pointer; color: var(--blue); }
.hire-dialog-ready .hire-fallback { display: none; }
.hire-specs { margin: .9rem 0 1.35rem; }
.hire-specs > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.25fr); gap: .7rem; align-items: start; padding: .55rem 0; border-bottom: 1px solid var(--line); }
.hire-specs dt { color: var(--muted); }
.hire-specs dd { margin: 0; overflow-wrap: anywhere; }
.hire-specs .hire-note { display: block; }
.hire-detail-copy > a { display: inline-block; margin: .25rem .65rem .25rem 0; }
.hire-archive { display: block; color: var(--muted); font-size: .84rem; margin-top: .8rem; }
.hire-image-note { color: var(--muted); font-size: .85rem; margin-top: .8rem; }
.hire-dialog { border: 0; padding: clamp(1rem,2.5vw,2.25rem); width: min(900px,92vw); max-height: 89vh; overflow-y: auto; margin: auto; color: var(--ink); background: white; border-radius: 8px; }
.hire-dialog::backdrop { background: rgba(7,21,39,.67); }
.hire-close { display: block; margin: 0 0 .9rem auto; border: 1px solid var(--line); background: white; border-radius: 100px; padding: .35rem .8rem; color: var(--ink); cursor: pointer; font-size: .9rem; }
.hire-dialog-layout { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(1.2rem,2.8vw,2.5rem); align-items: start; }
.hire-dialog-plate { height: clamp(280px,34vw,405px); padding: 1.25rem; border-radius: 4px; }
.hire-dialog-body { min-width: 0; }
.hire-dialog-body h2 { font-size: clamp(1.5rem,2.6vw,2.2rem); }
.hire-dialog-body a + a { margin-left: .7rem; }
.hire-dialog-body .hire-archive { margin: 1rem 0 0; }
.hire-order { margin-top: clamp(1rem,2.5vw,2.6rem); }
[data-hire-clear] { color: var(--blue); border: 0; background: transparent; text-decoration: underline; cursor: pointer; padding: .25rem; }
@media (max-width: 1100px) { .hire-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 780px) {
  .hire-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.2rem; }
  .hire-intro h1 { font-size: clamp(2.6rem,5.8vw,3.8rem); }
  .hire-scene { height: clamp(215px,31vw,285px); }
  .hire-scene-label { display: block; }
  .hire-scene-label span + span { display: block; }
  .hire-layout { grid-template-columns: minmax(0,1fr); gap: .8rem; }
  .hire-sidebar { position: static; }
  .hire-enhanced .hire-categories { display: none; }
  .hire-enhanced .hire-category-picker { display: grid; }
  .hire-catalog-head { margin-bottom: 1rem; }
  .hire-status { margin: .4rem 0; }
}
@media (min-width: 781px) { .hire-category-picker { display: none !important; } }
@media (max-width: 565px) {
  .hire-hero { grid-template-columns: minmax(0,1fr); gap: 1.05rem; padding: 1.7rem 0 1.4rem; }
  .hire-intro h1 { font-size: clamp(2.6rem,9.5vw,3.65rem); }
  .hire-intro p { margin: .7rem 0 1rem; }
  .hire-actions { gap: .75rem 1rem; }
  .hire-scene { height: clamp(175px,50vw,248px); }
  .hire-scene-label { display: flex; gap: .5rem; font-size: .72rem; align-items: baseline; }
  .hire-catalog-head { align-items: stretch; flex-direction: column; }
  .hire-catalog-head .search { width: 100%; }
  .hire-grid { gap: 1.3rem .75rem; }
  .hire-plate { aspect-ratio: 1.13; padding: .6rem; }
  .hire-product h3 { font-size: .94rem; }
  .hire-measures { font-size: .78rem; }
  .hire-measures span { display: block; }
  .hire-measures span + span::before { display: none; }
  .hire-dialog { max-height: 91dvh; }
  .hire-dialog-layout { grid-template-columns: minmax(0,1fr); }
  .hire-dialog-plate { height: clamp(170px,42vw,240px); }
}
@media (max-width: 355px) { .hire-scene-label { display: block; } .hire-grid { column-gap: .55rem; } }
@media (prefers-reduced-motion: reduce) { .hire-piece img,.hire-plate img { transition: none; } }
@media print { .hire-sidebar,.hire-more,.hire-close,.hire-order { display: none; } .hire-layout { display: block; } }

.hire-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .95rem; margin-top: .55rem; }
.hire-card-actions .hire-more { margin: 0; align-self: center; }
.hire-select { display: none; align-items: center; gap: .4rem; min-height: 38px; border: 1px solid #bdcbd5; border-radius: 4px; background: white; color: var(--blue); padding: .25rem .7rem; font-weight: 650; font-size: .83rem; cursor: pointer; }
.hire-request-ready .hire-select { display: inline-flex; }
.hire-select::before { content: "+"; font-size: 1.1rem; line-height: 1; }
.hire-select[aria-pressed="true"] { border-color: #164b70; background: #164b70; color: white; }
.hire-select[aria-pressed="true"]::before { content: "✓"; font-size: .9rem; }
.hire-request-ready .hire-single { display: none; }
.hire-detail-copy > .request-from-product { display: none; }
.has-hire-items .hire-detail-copy > .request-from-product { display: inline-block; }
.hire-detail-copy > .hire-select { margin: .25rem .65rem .25rem 0; }
.request-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.request-jump { position: fixed; right: max(var(--gutter),env(safe-area-inset-right)); bottom: max(1rem,env(safe-area-inset-bottom)); z-index: 6; display: inline-flex; gap: .65rem; align-items: center; min-height: 46px; padding: .55rem 1rem; border-radius: 40px; background: var(--night); color: white; box-shadow: 0 4px 18px #14233130; text-decoration: none; font-size: .9rem; font-weight: 650; }
.request-jump [data-request-count] { display: grid; place-items: center; min-width: 1.6em; height: 1.6em; padding: 0 .3em; border-radius: 22px; background: #364b5f; font-variant-numeric: tabular-nums; }
.hire-order { margin-block: clamp(2rem,5vw,5rem); padding-block: clamp(1.5rem,3vw,3rem) 0; border-top: 1px solid var(--line); }
.request-intro { max-width: 58ch; margin: .6rem 0 1.5rem; color: var(--muted); }
.request-empty { padding: 1.1rem 1.3rem; background: var(--mist); }
.request-form { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); align-items: start; gap: clamp(1.5rem,4.5vw,5rem); }
.request-form h3 { font-size: clamp(1.25rem,2vw,1.65rem); }
.request-items ul { list-style: none; padding: 0; margin: .9rem 0 .8rem; }
.request-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding-block: .9rem; border-top: 1px solid var(--line); }
.request-row:last-child { border-bottom: 1px solid var(--line); }
.request-product, .request-edit { display: flex; align-items: center; gap: .7rem; min-width: 0; }
.request-product a { color: var(--ink); text-decoration: none; font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; }
.request-product a:hover { text-decoration: underline; }
.request-product small { display: block; margin-top: .15rem; color: var(--muted); line-height: 1.4; font-size: .77rem; }
.request-thumb { width: 3.4rem; aspect-ratio: 1; flex: none; display: grid; place-items: center; background: #eff2f3; }
.request-thumb img { width: 92%; height: 92%; object-fit: contain; }
.request-edit { flex-direction: column; gap: .05rem; }
.request-stepper { display: flex; align-items: stretch; border: 1px solid #aab8c3; border-radius: 4px; color: var(--ink); }
.request-stepper button, .request-stepper input { min-width: 0; width: 2.05rem; height: 34px; border: 0; background: transparent; color: var(--ink); text-align: center; }
.request-stepper button { cursor: pointer; font-size: 1.1rem; }
.request-stepper input { width: 3.2rem; padding: 0; font-variant-numeric: tabular-nums; appearance: textfield; -moz-appearance: textfield; }
.request-stepper input::-webkit-inner-spin-button, .request-stepper input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.request-remove, .request-copy { padding: .3rem .15rem; border: 0; background: none; color: var(--blue); text-decoration: underline; text-underline-offset: .22em; cursor: pointer; }
.request-remove { font-size: .78rem; color: var(--muted); }
.request-fields { min-width: 0; display: grid; gap: .85rem; padding: clamp(1.1rem,2.3vw,2rem); background: #eff3f5; border-radius: 4px; }
.request-fields label, .request-dates legend { display: block; font-weight: 650; font-size: .9rem; color: var(--ink); }
.request-fields input, .request-fields select, .request-message textarea { display: block; min-width: 0; width: 100%; min-height: 44px; margin-top: .25rem; padding: .48rem .6rem; border: 1px solid #a7b6c0; border-radius: 3px; background: white; color: var(--ink); font: inherit; font-size: 1rem; }
.request-fields label span, .request-dates label { font-weight: 500; color: var(--muted); }
.request-dates { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; border: 0; padding: 0; margin: 0; }
.request-dates legend { margin-bottom: .25rem; padding: 0; }
.request-email, .request-help { font-size: .83rem; color: var(--muted); }
.request-email { margin-top: -.65rem; overflow-wrap: anywhere; }
.request-send { display: flex; align-items: center; gap: .35rem 1rem; flex-wrap: wrap; }
.request-send .button { min-height: 44px; border: 0; cursor: pointer; }
.request-copy { min-height: 44px; font-size: .9rem; font-weight: 650; }
.request-message { border-top: 1px solid #c7d2d9; padding-top: .6rem; }
.request-message summary { cursor: pointer; color: var(--blue); font-size: .9rem; }
.request-message textarea { font-weight: 450; resize: vertical; }
.request-feedback { font-size: .9rem; }
.request-feedback[data-state="sent"] { border-inline-start: 3px solid #307450; padding: .55rem .8rem; color: #17492d; background: #e5f0e9; }
.request-feedback:is([data-state="retry"],[data-state="uncertain"]) { border-inline-start: 3px solid #b96b32; padding-inline-start: .8rem; }
.request-send .button:disabled { opacity: .72; cursor: default; }
.request-feedback:empty { display: none; }
.request-fields select:focus-visible, .request-message textarea:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
.request-contact { display: flex; gap: .65rem 1.4rem; flex-wrap: wrap; align-items: baseline; margin-top: 1.45rem; padding-top: 1.15rem; border-top: 1px solid var(--line); }
@media (max-width: 780px) {
  .request-form { grid-template-columns: minmax(0,1fr); }
  .request-stepper button, .request-stepper input { min-height: 44px; }
  .request-stepper button { width: 2.7rem; }
  .request-remove, .hire-select { min-height: 44px; }
  .request-thumb { width: 2.8rem; }
}
@media (max-width: 420px) {
  .request-thumb { display: none; }
  .request-jump { right: 1rem; }
  .request-fields { padding: 1rem; }
}
@media (max-width: 360px) { .request-dates { grid-template-columns: 1fr; } }
@media print { .request-jump, .hire-card-actions { display: none; } }
