/* The public entry uses the established Ahner palette and real shop assets.
   Keep these rules scoped: uploaded parts use the separate quote workstation. */
.home-print-draft-return { display: none; }
.quote-page[data-print-request-view="true"] #sales-homepage .home-hero,
.quote-page[data-print-request-view="true"] #sales-homepage .home-content > :not(.home-routes),
.quote-page[data-print-request-view="true"] #returning-customer-route { display: none; }
.quote-page[data-print-request-view="true"] #sales-homepage .home-routes { grid-template-columns: minmax(0, 1fr); max-width: 860px; margin-inline: auto; }
.quote-page[data-print-request-view="true"] .home-print-draft-return { display: block; }
.quote-page[data-print-request-view="true"] #sales-homepage .home-print-draft-return h1 { font: 700 clamp(1.75rem, 5vw, 2.5rem)/1.15 Roboto, Arial, sans-serif; color: #102337; margin: 1.5rem 0 .75rem; letter-spacing: -.03em; }
.quote-page[data-print-request-view="true"] .home-print-draft-return p { color: #526477; }
#sales-homepage.quote-landing {
  --home-ink: #132239;
  --home-muted: #506076;
  --home-line: #dce3ec;
  display: block;
  padding: 0;
  background: #fff;
  color: var(--home-ink);
  font-family: Roboto, Arial, sans-serif;
}
#sales-homepage.quote-landing h1,
#sales-homepage.quote-landing h2,
#sales-homepage.quote-landing h3,
#sales-homepage.quote-landing button,
#sales-homepage.quote-landing input,
#sales-homepage.quote-landing textarea {
  font-family: inherit;
}
#sales-homepage.quote-landing a { text-underline-offset: .2em; }
#sales-homepage.quote-landing a:focus-visible,
#sales-homepage.quote-landing button:focus-visible,
#sales-homepage.quote-landing summary:focus-visible,
#sales-homepage.quote-landing [role="button"]:focus-visible {
  outline: 3px solid #eb710c;
  outline-offset: 5px;
}
/* Selected precision-steel hero: display typography, sculptural art, one upload dock. */
@font-face {
  font-family: "Anton";
  src: url("../fonts/anton-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
body:has(#sales-homepage:not(.d-none)) .apple-nav { background: #030b13; border-bottom-color: transparent; }
body:has(#sales-homepage:not(.d-none)) .apple-nav-cta { background: #0670e5; box-shadow: 0 6px 24px rgba(0, 102, 231, .18); }
body:has(#sales-homepage:not(.d-none)) .apple-nav-cta:hover { background: #0864cc; }
#sales-homepage.quote-landing .home-hero {
  position: relative;
  isolation: isolate;
  padding: calc(clamp(2.5rem, 4.15vw, 4.125rem) + 1rem) 0 2.25rem;
  overflow: hidden;
  background: #030b13;
  color: #fff;
}
#sales-homepage.quote-landing .home-hero-art {
  position: absolute; z-index: -1;
  inset: -.5rem -1rem 4.5rem 1rem;
  pointer-events: none;
  overflow: hidden;
}
#sales-homepage.quote-landing .home-hero-art img {
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center center;
}
#sales-homepage.quote-landing .home-hero-inner { width: min(90%, 1424px); margin: 0 auto; }
#sales-homepage.quote-landing .home-hero-copy { position: relative; width: 58%; }
#sales-homepage.quote-landing .home-hero-copy h1 {
  font-family: "Anton", "Arial Narrow", Impact, sans-serif;
  margin: 0 0 .75rem;
  font-size: clamp(3.5rem, 6.3vw, 6.25rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: .018em;
  text-transform: uppercase;
  color: #fff;
}
#sales-homepage.quote-landing .home-hero-copy h1 span { color: #adbed2; }
#sales-homepage.quote-landing .home-hero-copy p {
  max-width: 40rem;
  margin: 0;
  font-size: clamp(1.1rem, 1.45vw, 1.4375rem);
  line-height: 1.45;
  color: #e5ebf3;
}
#sales-homepage.quote-landing .home-print-link,
#sales-homepage.quote-landing .home-return-link {
  display: block; width: fit-content;
  margin-top: .8rem; padding: .25rem 0;
  color: #fff;
  font-size: clamp(.95rem, 1.17vw, 1.125rem);
  line-height: 1.4; font-weight: 700;
}
#sales-homepage.quote-landing .home-hero-copy .home-review-note { margin-top: .8rem; color: #bdcad9; font-size: 1rem; line-height: 1.4; }
#sales-homepage.quote-landing .home-return-link { color: #c7dbf1; font-size: .9rem; margin-top: .5rem; }
#sales-homepage.quote-landing .home-upload {
  position: relative;
  scroll-margin-top: 7rem;
  margin-top: 2.35rem;
  min-width: 0; padding: 1.15rem 2.35rem;
  border: 1px solid #62707f; border-radius: 16px;
  background: rgba(3, 11, 19, .9);
}
#sales-homepage.quote-landing .home-upload .upload-form-shell {
  display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(0, 1.02fr) minmax(0, .99fr);
  align-items: center; gap: 1.75rem; margin: 0;
}
#sales-homepage.quote-landing .home-drop-zone {
  display: flex; align-items: center; justify-content: flex-start;
  gap: 2.8rem; min-height: 4.75rem;
  padding: 0; border: 0; border-radius: 8px;
  background: transparent; color: #fff; cursor: pointer; text-align: left;
}
#sales-homepage.quote-landing .home-drop-zone:hover,
#sales-homepage.quote-landing .home-drop-zone.dragover { background: #0c1a2b; }
#sales-homepage.quote-landing .home-upload-icon {
  display: grid; place-items: center; flex: 0 0 4.5rem;
  width: 4.5rem; height: 4.75rem; margin-left: 1rem;
  border: 1px dashed #8e9dac; border-radius: 12px;
  color: #1684ff; font-size: 2.25rem; line-height: 1;
}
#sales-homepage.quote-landing .home-drop-copy { display: grid; gap: .5rem; min-width: 0; }
#sales-homepage.quote-landing .home-drop-zone strong { font-size: clamp(1.05rem, 1.4vw, 1.375rem); line-height: 1.25; }
#sales-homepage.quote-landing .home-drop-zone span { color: #cbd7e5; font-size: clamp(.76rem, .95vw, .9375rem); line-height: 1.45; }
#sales-homepage.quote-landing .home-upload-notes { display: grid; gap: .65rem; align-content: center; min-height: 4.5rem; padding-left: 2rem; border-left: 1px solid #62707f; }
#sales-homepage.quote-landing .home-upload-reassurance,
#sales-homepage.quote-landing .home-upload-status-line { display: flex; align-items: flex-start; gap: .65rem; margin: 0; text-align: left; color: #d7e1ef; font-size: clamp(.78rem, 1vw, 1rem); line-height: 1.4; }
#sales-homepage.quote-landing .home-upload-notes i { font-size: 1.15em; flex-shrink: 0; }
#sales-homepage.quote-landing .home-upload .upload-status { margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; color: #d7e1ef; text-align: left; font-size: inherit; line-height: 1.4; }
#sales-homepage.quote-landing .home-upload-button {
  display: flex; width: 100%; align-items: center; justify-content: center; gap: .8rem;
  min-height: 4.5rem; margin: 0; padding: .9rem .8rem;
  border-radius: 12px; border-color: #0071e8; background: #0071e8;
  font-size: clamp(1rem, 1.35vw, 1.375rem); line-height: 1.35; font-weight: 700;
  box-shadow: none;
}
#sales-homepage.quote-landing .home-upload-button:hover { background: #0864cc; border-color: #0864cc; }
#sales-homepage.quote-landing .home-upload [data-upload-retry-failed]:not(.d-none) { margin-top: .75rem; }
#sales-homepage.quote-landing .home-content { width: min(calc(100% - 3rem), 1200px); margin: 0 auto; }
#sales-homepage.quote-landing .home-process { padding: 2rem 0; border-bottom: 1px solid var(--home-line); }
#sales-homepage.quote-landing .home-process ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; list-style: none; padding: 0; margin: 0; }
#sales-homepage.quote-landing .home-process li { display: flex; align-items: flex-start; gap: .8rem; }
#sales-homepage.quote-landing .home-step-number { flex: 0 0 2rem; height: 2rem; display: grid; place-items: center; border: 1px solid #ccd8e6; border-radius: 50%; font-size: .9rem; color: #314b69; }
#sales-homepage.quote-landing .home-process h3 { margin: .18rem 0 .35rem; font-size: 1rem; font-weight: 700; }
#sales-homepage.quote-landing .home-process p { margin: 0; color: var(--home-muted); font-size: .9rem; line-height: 1.5; }
#sales-homepage.quote-landing .home-routes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; padding-top: 1.75rem; align-items: start; }
#sales-homepage.quote-landing .home-route { border: 1px solid var(--home-line); border-radius: 8px; scroll-margin-top: 6rem; }
#sales-homepage.quote-landing .home-route > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem; cursor: pointer; list-style: none; }
#sales-homepage.quote-landing .home-route > summary::-webkit-details-marker { display: none; }
#sales-homepage.quote-landing .home-route > summary strong { display: block; margin-bottom: .25rem; font-size: 1.05rem; }
#sales-homepage.quote-landing .home-route > summary span span { color: var(--home-muted); font-size: .9rem; }
#sales-homepage.quote-landing .home-route[open] > summary { border-bottom: 1px solid var(--home-line); }
#sales-homepage.quote-landing .home-route[open] > summary > i { transform: rotate(45deg); }
#sales-homepage.quote-landing .home-route-content { padding: 1.25rem; }
#sales-homepage.quote-landing .home-route-content p { color: var(--home-muted); line-height: 1.6; }
#sales-homepage.quote-landing .home-route-content .home-route-note { font-size: .86rem; margin: 1rem 0 0; }
#sales-homepage.quote-landing .home-shop { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; padding: 4.5rem 0; }
#sales-homepage.quote-landing .home-shop figure { margin: 0; }
#sales-homepage.quote-landing .home-shop img { display: block; width: 100%; height: 390px; object-fit: cover; border-radius: 8px; }
#sales-homepage.quote-landing .home-shop figcaption { margin-top: .65rem; color: var(--home-muted); font-size: .8rem; }
#sales-homepage.quote-landing h2 { margin: 0 0 1rem; font-size: clamp(1.8rem, 3vw, 2.35rem); font-weight: 700; line-height: 1.15; letter-spacing: -.025em; color: var(--home-ink); }
#sales-homepage.quote-landing .home-shop-copy > p,
#sales-homepage.quote-landing .home-section-heading > p { color: var(--home-muted); line-height: 1.65; }
#sales-homepage.quote-landing .home-capabilities { margin: 1.5rem 0; }
#sales-homepage.quote-landing .home-capabilities > div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .75rem; border-top: 1px solid var(--home-line); padding: .8rem 0; font-size: .9rem; line-height: 1.5; }
#sales-homepage.quote-landing .home-capabilities dd { margin: 0; color: var(--home-muted); }
#sales-homepage.quote-landing .home-shop-copy > a,
#sales-homepage.quote-landing .home-example-grid a,
#sales-homepage.quote-landing .home-section-heading > a { font-size: .9rem; font-weight: 700; }
#sales-homepage.quote-landing .home-examples { border-top: 1px solid var(--home-line); padding: 3.5rem 0; }
#sales-homepage.quote-landing .home-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.8rem; }
#sales-homepage.quote-landing .home-section-heading h2 { margin: 0; }
#sales-homepage.quote-landing .home-section-heading > p { max-width: 34rem; margin: 0; }
#sales-homepage.quote-landing .home-example-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
#sales-homepage.quote-landing .home-example-grid img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 8px; background: #f1f4f7; }
#sales-homepage.quote-landing .home-example-grid h3 { margin: 1.15rem 0 .5rem; font-size: 1.2rem; font-weight: 700; }
#sales-homepage.quote-landing .home-example-grid p { color: var(--home-muted); font-size: .94rem; line-height: 1.6; margin-bottom: .75rem; }
#sales-homepage.quote-landing .home-faq { padding: 3rem 0; border-top: 1px solid var(--home-line); }
#sales-homepage.quote-landing .home-faq-list details { border-top: 1px solid var(--home-line); }
#sales-homepage.quote-landing .home-faq-list summary { padding: 1.15rem 0; cursor: pointer; font-weight: 700; font-size: 1rem; }
#sales-homepage.quote-landing .home-faq-list p { max-width: 75ch; margin: 0 0 1.25rem; color: var(--home-muted); line-height: 1.65; }
#sales-homepage.quote-landing .home-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2.5rem; margin-bottom: 3rem; border-radius: 8px; background: #eef4fb; }
#sales-homepage.quote-landing .home-final-cta h2 { font-size: 1.75rem; margin-bottom: .5rem; }
#sales-homepage.quote-landing .home-final-cta p { margin: 0; color: var(--home-muted); }
#sales-homepage.quote-landing .home-final-cta p a { color: #075fb8; }
#sales-homepage.quote-landing .home-final-cta p a:hover,
#sales-homepage.quote-landing .home-final-cta p a:focus-visible { color: #064c92; }
#sales-homepage.quote-landing .home-final-cta .btn { min-height: 48px; padding: .8rem 1.25rem; white-space: normal; }

/* Print requests stay compact until the customer opens that route. */
#sales-homepage.quote-landing .print-rfq-form { display: grid; gap: 1rem; }
#sales-homepage.quote-landing .print-rfq-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
#sales-homepage.quote-landing .print-rfq-fields > * { min-width: 0; }
#sales-homepage.quote-landing .print-rfq-form label { display: block; margin-bottom: .35rem; color: var(--home-ink); font-weight: 700; font-size: .85rem; }
#sales-homepage.quote-landing .print-rfq-form :is(input, textarea) { font-size: 1rem; }
#sales-homepage.quote-landing .print-rfq-files { padding: 0; margin: 0; list-style: none; }
#sales-homepage.quote-landing .print-rfq-files li { display: flex; gap: .5rem; align-items: center; justify-content: space-between; padding: .65rem 0; border-bottom: 1px solid var(--home-line); overflow-wrap: anywhere; font-size: .86rem; }
#sales-homepage.quote-landing .print-rfq-files button { flex-shrink: 0; min-height: 40px; }
#sales-homepage.quote-landing .print-rfq-form small { color: var(--home-muted); line-height: 1.5; }

@media (max-width: 900px) {
  #sales-homepage.quote-landing .home-shop { gap: 2rem; }
  #sales-homepage.quote-landing .home-shop img { height: 420px; }
  #sales-homepage.quote-landing .home-process ol { gap: 1rem; }
  #sales-homepage.quote-landing .home-process li { gap: .5rem; }
}
@media (max-width: 700px) {
  #sales-homepage.quote-landing .home-content { width: calc(100% - 2rem); }
  #sales-homepage.quote-landing .home-process { padding: 1.5rem 0; }
  #sales-homepage.quote-landing .home-process ol { grid-template-columns: 1fr; gap: 1rem; }
  #sales-homepage.quote-landing .home-process li { gap: .8rem; }
  #sales-homepage.quote-landing .home-process h3 { margin-bottom: .18rem; }
  #sales-homepage.quote-landing .home-routes { grid-template-columns: 1fr; gap: .8rem; padding-top: 1.3rem; }
  #sales-homepage.quote-landing .home-route > summary { padding: 1rem; }
  #sales-homepage.quote-landing .home-route-content { padding: 1rem; }
  #sales-homepage.quote-landing .home-shop { grid-template-columns: 1fr; padding: 2.5rem 0; }
  #sales-homepage.quote-landing .home-shop img { height: auto; aspect-ratio: 4/3; }
  #sales-homepage.quote-landing .home-shop-copy { grid-row: 1; }
  #sales-homepage.quote-landing .home-capabilities { margin: 1.1rem 0; }
  #sales-homepage.quote-landing .home-examples { padding: 2.5rem 0; }
  #sales-homepage.quote-landing .home-section-heading { display: block; margin-bottom: 1.5rem; }
  #sales-homepage.quote-landing .home-section-heading h2 { margin-bottom: .8rem; }
  #sales-homepage.quote-landing .home-example-grid { grid-template-columns: 1fr; gap: 2rem; }
  #sales-homepage.quote-landing .home-example-grid img { aspect-ratio: 16/10; }
  #sales-homepage.quote-landing .home-faq { padding: 2rem 0; }
  #sales-homepage.quote-landing .home-final-cta { flex-direction: column; align-items: stretch; gap: 1.2rem; padding: 1.5rem; margin-bottom: 2rem; }
  #sales-homepage.quote-landing .home-final-cta h2 { font-size: 1.5rem; }
  #sales-homepage.quote-landing .home-final-cta .btn { font-size: .95rem; }
  #sales-homepage.quote-landing .print-rfq-fields { grid-template-columns: 1fr; }
}

@media (min-width: 1200px) {
  body:has(#sales-homepage:not(.d-none)) .apple-nav > .container { width: min(calc(100% - 4rem), 1680px); max-width: none; padding: 0; }
  body:has(#sales-homepage:not(.d-none)) .apple-nav .navbar-brand { margin-right: 2rem; }
  body:has(#sales-homepage:not(.d-none)) .apple-nav .apple-nav-link { font-size: 1rem; padding-inline: 1.1rem; }
  #sales-homepage.quote-landing .home-process { position: relative; left: 50%; transform: translateX(-50%); width: min(calc(100vw - 12rem), 1298px); padding: 3rem 0; }
  #sales-homepage.quote-landing .home-process ol { gap: 2.5rem; }
  #sales-homepage.quote-landing .home-process li { align-items: center; gap: 1.5rem; }
  #sales-homepage.quote-landing .home-step-number { flex-basis: 3.125rem; height: 3.125rem; font-size: 1.2rem; }
  #sales-homepage.quote-landing .home-process h3 { font-size: 1.25rem; }
  #sales-homepage.quote-landing .home-process p { font-size: 1.0625rem; }
}

@media (max-width: 1100px) {
  #sales-homepage.quote-landing .home-hero-inner { width: calc(100% - 3rem); }
  #sales-homepage.quote-landing .home-hero-copy { width: 65%; }
  #sales-homepage.quote-landing .home-desktop-break { display: none; }
  #sales-homepage.quote-landing .home-hero-copy p { max-width: 30rem; font-size: 1.05rem; }
  #sales-homepage.quote-landing .home-upload { padding: 1rem; }
  #sales-homepage.quote-landing .home-drop-zone { gap: 1rem; }
  #sales-homepage.quote-landing .home-upload-icon { margin-left: 0; }
  #sales-homepage.quote-landing .home-upload .upload-form-shell { grid-template-columns: minmax(0, 1fr) minmax(14rem, .8fr); gap: .9rem 1.25rem; }
  #sales-homepage.quote-landing .home-upload-notes { grid-column: 1 / -1; grid-row: 2; min-height: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.5rem; }
  #sales-homepage.quote-landing .home-upload-button { font-size: 1rem; min-height: 3.75rem; }
}
@media (max-width: 700px) {
  #sales-homepage.quote-landing .home-hero { padding: 1.7rem 0 1.25rem; }
  #sales-homepage.quote-landing .home-hero-inner { width: calc(100% - 2rem); }
  #sales-homepage.quote-landing .home-hero-copy { width: 100%; }
  #sales-homepage.quote-landing .home-hero-copy h1 { font-size: clamp(2.25rem, 11.6vw, 4.65rem); line-height: 1.06; letter-spacing: .01em; margin-bottom: .85rem; }
  #sales-homepage.quote-landing .home-hero-copy p { max-width: 34ch; font-size: .94rem; line-height: 1.5; }
  #sales-homepage.quote-landing .home-print-link { margin-top: .8rem; font-size: .84rem; }
  #sales-homepage.quote-landing .home-hero-copy .home-review-note { margin-top: .6rem; font-size: .78rem; max-width: 33ch; }
  #sales-homepage.quote-landing .home-hero-art { inset: auto 0 9.5rem; height: 14rem; }
  #sales-homepage.quote-landing .home-hero-art img { width: 145%; max-width: none; margin-left: -45%; object-fit: cover; object-position: right center; }
  #sales-homepage.quote-landing .home-upload { margin-top: 9.5rem; padding: .8rem; border-radius: 12px; }
  #sales-homepage.quote-landing .home-upload .upload-form-shell { grid-template-columns: minmax(0, 1fr); gap: .8rem; }
  #sales-homepage.quote-landing .home-drop-zone { gap: .8rem; min-height: 3.4rem; }
  #sales-homepage.quote-landing .home-upload-icon { width: 3rem; height: 3.4rem; flex-basis: 3rem; font-size: 1.6rem; border-radius: 8px; }
  #sales-homepage.quote-landing .home-drop-zone strong { font-size: 1rem; }
  #sales-homepage.quote-landing .home-drop-zone span { font-size: .72rem; }
  #sales-homepage.quote-landing .home-drop-copy { gap: .3rem; }
  #sales-homepage.quote-landing .home-upload-button { grid-row: 2; min-height: 3.3rem; font-size: .96rem; border-radius: 8px; }
  #sales-homepage.quote-landing .home-upload-notes { grid-row: 3; display: grid; gap: .4rem; justify-content: center; }
  #sales-homepage.quote-landing .home-upload-reassurance,
  #sales-homepage.quote-landing .home-upload-status-line { justify-content: center; font-size: .7rem; gap: .4rem; }
}
