/* Local public-site revision. Existing assets and Admin Login are preserved. */
.public-review { --text-color: #193247; --ink: #193247; color: #193247; }
.public-review h1 { font-size: clamp(2.35rem, 4.3vw, 4rem); line-height: 1.08; max-width: 800px; }
.public-review h2 { font-size: clamp(1.8rem, 3vw, 2.65rem); line-height: 1.15; }
.public-review h3 { font-size: 1.15rem; line-height: 1.35; }
.public-review p { line-height: 1.75; }
.public-review .brand, .public-review.home-page .brand, .public-review .footer .brand { width: 96px; height: 64px; flex-shrink: 0; }
.public-review .brand-logo { width: 96px; height: 64px; object-fit: contain; }
.public-review .site-header { background: rgba(255,255,255,.97); color: #0a2540; border-color: #c8d0d8; }
.public-review .nav-toggle { color: #0a2540; background: #fff; min-width: 44px; min-height: 44px; }
.public-review .button { min-height: 48px; white-space: normal; text-align: center; }
.public-review .button-primary { background: #16c4b7; color: #072c41; border-color: #16c4b7; }
.public-review .button-primary:hover { background: #65e0d7; color: #072c41; }
.public-review .button-secondary { color: #0a2540; border-color: #718391; background: #fff; }
.public-review :focus-visible { outline: 3px solid #096f74; outline-offset: 4px; }
.public-review .buyer-navy :focus-visible, .public-review .buyer-hero :focus-visible, .public-review .legal-hero :focus-visible { outline-color: #86f2e8; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; background: #fff; color: #0a2540; padding: 12px 20px; }
.skip-link:focus { top: 8px; }
.buyer-wrap { width: min(100% - 48px, 1180px); margin-inline: auto; }
.buyer-wrap.narrow { max-width: 900px; }
.buyer-section { padding: 76px 0; }
.buyer-hero { background: #0a2540; color: #fff; padding: 130px 0 56px; }
.hero-layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: 58px; align-items: center; }
.buyer-hero h1, .buyer-navy h2, .buyer-navy h3 { color: #fff; }
.buyer-hero .eyebrow, .buyer-navy .eyebrow { color: #7ddfd3; }
.hero-intro { font-size: 1.12rem; max-width: 620px; }
.buyer-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; align-items: center; }
.buyer-hero .button-secondary, .buyer-navy .button-secondary { background: transparent; color: #fff; border-color: #9fb7ca; }
.hero-availability { color: #c5dae7; font-size: .88rem; margin: 20px 0 0; }
.hero-real-photo { margin: 0; overflow: hidden; border-radius: 16px; background: #173b51; }
.hero-real-photo img { width: 100%; height: 430px; object-fit: cover; object-position: center 28%; }
.hero-real-photo figcaption { padding: 12px 16px; font-size: .85rem; color: #e0edf3; }
.demo-layout { display: grid; grid-template-columns: 1fr 380px; gap: 80px; align-items: center; }
.demo-layout > div:first-child { max-width: 590px; }
.demo-frame { max-width: 360px; width: 100%; margin: auto; }
.demo-frame video { width: 100%; aspect-ratio: 9 / 16; height: auto; object-fit: contain; background: #fff; border-radius: 12px; border: 1px solid #d3dee5; display: block; }
.demo-frame p, .small-copy { font-size: .88rem; color: #465e70; }
.text-link { text-decoration: underline; text-underline-offset: 4px; font-weight: 700; color: #076b70; }
.buyer-tint { background: #f1f6f7; }
.use-sequence { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; margin: 32px 0; }
.use-sequence li { position: relative; border-top: 2px solid #159e9a; padding-top: 20px; }
.use-sequence li:not(:last-child)::after { content: '→'; position: absolute; right: 0; top: 40px; color: #076b70; font-size: 1.6rem; }
.use-sequence span, .pilot-four span { color: #08777b; font-size: .85rem; font-weight: 800; }
.use-sequence h3 { font-size: 1.65rem; margin-top: 10px; }
.use-guidance { background: #fff; padding: 18px 22px; border-left: 4px solid #08777b; font-weight: 600; }
.benefit-trio { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 32px; }
.benefit-trio article { padding: 26px; border: 1px solid #d3dee5; border-radius: 12px; }
.benefit-trio p { margin-bottom: 0; }
.spec-layout { margin-top: 30px; max-width: 950px; }
.product-spec-table { margin: 0; }
.product-spec-table > div { display: grid; grid-template-columns: 1fr 1.2fr; gap: 20px; padding: 16px 0; border-bottom: 1px solid #c6d4de; }
.product-spec-table dt { font-weight: 700; }
.product-spec-table dd { margin: 0; }
.wipe-proof { margin: 0; }
.wipe-proof img { height: 390px; width: 100%; object-fit: cover; border-radius: 12px; }
.wipe-proof figcaption { font-size: .85rem; margin-top: 10px; }
.material-note { padding-top: 28px; max-width: 950px; }
.venue-list { display: grid; grid-template-columns: repeat(3,1fr); list-style: none; padding: 0; gap: 12px; }
.venue-list li { padding: 18px; background: #f1f6f7; border-radius: 8px; font-weight: 600; }
.buyer-navy { background: #0a2540; color: #fff; }
.buyer-navy > div > p { max-width: 820px; }
.buyer-navy h3 { margin-top: 30px; }
.inclusion-list { columns: 2; padding-left: 24px; line-height: 1.8; }
.inclusion-list li { padding: 5px 12px 5px 0; break-inside: avoid; }
.scope-note { font-size: .92rem; border-top: 1px solid #7993a4; padding-top: 18px; }
.buyer-faq details { border-bottom: 1px solid #ccd7df; padding: 18px 0; }
.buyer-faq summary { font-weight: 700; cursor: pointer; padding: 8px 0; font-size: 1.05rem; }
.buyer-faq p { margin: 10px 0; max-width: 820px; }
.buyer-faq a, .privacy-note a { text-decoration: underline; text-underline-offset: 3px; }
.final-pilot { text-align: center; }
.final-pilot h2 { margin-inline: auto; }
.public-review .legal-hero { padding-top: 145px; padding-bottom: 54px; }
.public-review .legal-hero h1 { color: #fff; }
.public-review .legal-hero .button-secondary { color: #fff; background: transparent; }
.pilot-four { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; }
.pilot-four li { border-top: 2px solid #149b99; padding-top: 18px; }
.pilot-four h3 { margin-top: 10px; }
.pilot-inclusions { padding: 32px; background: #e7f1f2; border-radius: 12px; }
.pilot-form-section { padding: 36px; margin-bottom: 76px; background: #fff; border: 1px solid #c8d4dd; border-radius: 12px; }
.pilot-request-form { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 24px; }
.form-field { min-width: 0; }
.form-field label { display: block; font-weight: 600; font-size: .95rem; margin-bottom: 7px; }
.form-field input, .form-field select, .form-field textarea { display: block; width: 100%; max-width: 100%; border: 1px solid #718391; border-radius: 6px; color: #193247; background: #fff; padding: 12px; font-size: 16px; min-height: 48px; }
.form-field textarea { resize: vertical; }
.full-width { grid-column: 1 / -1; }
.field-error { color: #a51b1b; display: block; font-size: .88rem; margin-top: 5px; }
[aria-invalid="true"] { border-color: #a51b1b !important; }
.form-summary { border: 2px solid #a51b1b; padding: 16px; color: #861515; }
.form-summary a { text-decoration: underline; }
.public-review .privacy-note { color: #465e70; margin: 0; font-size: .88rem; }
.public-review [hidden] { display: none !important; }
.public-review .contact-page-grid { grid-template-columns: 1fr 1fr; }
.public-review .policy-date { font-size: .9rem; color: #d4e4ee; }
@media (max-width: 1020px) {
 .hero-layout { gap: 28px; }
 .demo-layout { gap: 38px; grid-template-columns: 1fr 320px; }
 .pilot-four { grid-template-columns: 1fr 1fr; }
 .benefit-trio { gap: 12px; }
 .benefit-trio article { padding: 20px; }
}
@media (max-width: 720px) {
 .buyer-wrap { width: calc(100% - 40px); }
 .buyer-section { padding: 48px 0; }
 .buyer-hero { padding: 122px 0 36px; }
 .hero-layout, .demo-layout, .spec-layout { grid-template-columns: 1fr; gap: 30px; }
 .hero-real-photo img { height: 300px; object-position: center 28%; }
 .hero-intro { font-size: 1rem; }
 .buyer-actions { flex-direction: column; align-items: stretch; }
 .public-review .brand, .public-review.home-page .brand, .public-review .footer .brand { width: 84px; height: 56px; }
 .public-review .brand-logo { width: 84px; height: 56px; }
 .benefit-trio, .pilot-request-form, .public-review .contact-page-grid { grid-template-columns: 1fr; }
 .use-sequence { gap: 16px; }
 .use-sequence h3 { font-size: 1.25rem; }
 .use-sequence p { font-size: .88rem; }
 .use-sequence li:not(:last-child)::after { right: -10px; top: 42px; font-size: 1.1rem; }
 .venue-list { grid-template-columns: 1fr 1fr; }
 .inclusion-list { columns: 1; }
 .pilot-inclusions, .pilot-form-section { padding: 22px; }
 .pilot-four { gap: 20px; }
 .public-review .legal-hero { padding-top: 125px; }
 .public-review .legal-content { padding: 32px 20px 48px; }
 .public-review .policy-section { padding: 22px; }
 .public-review .policy-details div { grid-template-columns: 1fr; gap: 5px; }
 .public-review .footer-copy { min-width: 0; }
 .product-spec-table > div { grid-template-columns: 1fr 1fr; gap: 12px; font-size: .94rem; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Use desktop space without stretching paragraphs or mobile layouts. */
@media (min-width: 1021px) {
 .public-review .buyer-wrap,
 .public-review .legal-hero > div,
 .public-review .contact-page-section,
 .public-review .legal-content { width: min(calc(100% - 96px), 1600px); }
 .public-review .site-header { width: min(calc(100% - 64px), 1632px); }
 .public-review .buyer-wrap.narrow { max-width: 1600px; }
 .public-review .legal-content { padding-inline: 0; }
 .public-review .contact-page-section { padding-inline: 0; }
 .hero-layout { grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 4vw, 64px); }
 .hero-real-photo img { height: 460px; }
 .demo-layout { grid-template-columns: 1fr 1fr; gap: clamp(32px, 4vw, 64px); }
 .demo-frame { max-width: 400px; }
 .spec-layout { max-width: none; }
 .product-spec-table { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; }
 .buyer-faq { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; align-items: start; }
 .pilot-body .buyer-faq { grid-template-columns: 1fr; }
 .material-note p, .policy-section > p { max-width: 78ch; }
}
@media (min-width: 721px) and (max-width: 1020px) {
 .buyer-wrap { width: calc(100% - 64px); }
 .hero-layout { grid-template-columns: 1fr 1fr; }
 .hero-real-photo img { height: 390px; }
 .demo-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 720px) {
 .buyer-wrap.narrow { width: calc(100% - 40px); }
 .spec-layout, .material-note { max-width: 100%; }
 .product-spec-table, .buyer-faq { display: block; }
 .demo-frame { max-width: 360px; }
 .hero-layout > *, .demo-layout > *, .benefit-trio > * { min-width: 0; }
}

/* Installed product photography sits behind the hero copy at every size. */
.buyer-hero { position: relative; isolation: isolate; overflow: hidden; padding: 180px 0 84px; min-height: 690px; display: flex; align-items: center; }
.hero-background { position: absolute; inset: 0; margin: 0; z-index: -2; }
.hero-background img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 28%; }
.buyer-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6,30,51,.97) 0%, rgba(6,30,51,.92) 30%, rgba(6,30,51,.64) 58%, rgba(6,30,51,.16) 100%); }
.buyer-hero .hero-layout { display: block; }
.hero-layout > div { max-width: 680px; }
.buyer-hero .hero-intro { max-width: 570px; color: #e6eef3; }
.buyer-hero .button-secondary { background: rgba(7,32,52,.55); }
@media (min-width: 721px) and (max-width: 1020px) {
 .buyer-hero { min-height: 650px; padding: 160px 0 64px; }
 .hero-layout > div { max-width: 560px; }
 .buyer-hero::before { background: linear-gradient(90deg, rgba(6,30,51,.95), rgba(6,30,51,.78) 60%, rgba(6,30,51,.35)); }
}
@media (max-width: 720px) {
 .buyer-hero { min-height: 690px; padding: 150px 0 48px; align-items: flex-end; }
 .hero-background img { object-position: 68% 35%; }
 .buyer-hero::before { background: linear-gradient(180deg, rgba(6,30,51,.35), rgba(6,30,51,.86) 29%, rgba(6,30,51,.96) 78%); }
 .buyer-hero h1 { font-size: clamp(2.35rem, 9.6vw, 3.4rem); }
}

/* Accessible messages on the navy pilot form panel. */
#request-pilot .privacy-note { color: #e1eaf0; }
#request-pilot .field-error { color: #ffbaba; }
#request-pilot .form-summary { color: #ffdddd; border-color: #ffbaba; }
#request-pilot .form-summary a, #request-pilot .form-summary p { color: inherit; }
