/* Original editorial companion section and task-specific form compositions. */
html:has(.discovery-about) { overflow-x:clip; overflow-y:auto; }
body.discovery-page:has(.discovery-about) { overflow:visible; }
body.discovery-page:has(.discovery-about) #content { height:auto; overflow:visible; }
body.discovery-page:has(.discovery-about) .product-nav { position:absolute; }
body.discovery-page:has(.discovery-about) .discovery-film-link { position:absolute; }
.discovery-about-link { position:absolute; bottom:42px; left:48px; z-index:3; display:flex; gap:20px; color:#284f53; font:500 12px/1.5 var(--font-jp,sans-serif); text-decoration:none; }
.product-teaser:has(.hero[data-form-step="request"]) .discovery-about-link,
.product-teaser:has(.hero[data-form-step="email"]) .discovery-about-link { display:none; }
.discovery-page #content > .discovery-about { max-width:none; padding:120px max(48px,calc((100vw - 1320px)/2)); display:grid; grid-template-columns:1fr 1.2fr; align-items:start; gap:8vw; color:#182b2e; background:#f3f4f2; }
.discovery-about__eyebrow { margin:0 0 24px; font:500 11px/1.6 var(--font-jp,sans-serif); letter-spacing:.1em; color:#61716f; }
.discovery-about h2 { margin:0; font:500 clamp(32px,3.6vw,58px)/1.4 var(--font-jp,sans-serif); letter-spacing:-.055em; }
.discovery-about__intro > p:not(.discovery-about__eyebrow) { margin:26px 0; font:400 16px/1.9 var(--font-jp,sans-serif); }
.discovery-about__intro a { display:inline-flex; align-items:center; gap:22px; padding:8px 0; color:inherit; font:500 13px/1.6 var(--font-jp,sans-serif); text-decoration:none; border-bottom:1px solid #9aa7a3; }
.discovery-about__intro a span { transition:transform .2s; }
.discovery-about__intro a:hover span { transform:translate(2px,-2px); }
.discovery-about__rows { margin:0; }
.discovery-about__rows > div { display:grid; grid-template-columns:155px 1fr; gap:16px; padding:25px 0 27px; border-top:1px solid #99a4a0; }
.discovery-about__rows > div:last-child { border-bottom:1px solid #99a4a0; }
.discovery-about dt { font:500 14px/1.8 var(--font-jp,sans-serif); }
.discovery-about dt span { margin-right:12px; color:#72837e; font:400 10px/1.8 sans-serif; }
.discovery-about dd { margin:0; font:400 14px/1.9 var(--font-jp,sans-serif); }
.discovery-about dd strong { font-weight:500; }
.discovery-about a:focus-visible,.discovery-about-link:focus-visible { outline:2px solid #286d71; outline-offset:6px; }

/* Both working screens retain one clear task and a quiet, compact header. */
body.discovery-page #content > .product-teaser:has(.hero[data-form-step="email"]) { display:block; height:auto!important; min-height:100svh; overflow:clip!important; }
.discovery-page.hero[data-screen="website"][data-form-step="email"] { position:relative; top:auto; left:auto; transform:none; width:min(820px,calc(100% - 48px)); margin:auto; padding:140px 0 120px; }
.discovery-page.hero:is([data-form-step="request"],[data-form-step="email"]) h1 { font-size:clamp(25px,3vw,38px); line-height:1.45; letter-spacing:-.04em; }
.discovery-page.hero:is([data-form-step="request"],[data-form-step="email"]) .hero__copy-line { white-space:normal; }
.discovery-page.hero:is([data-form-step="request"],[data-form-step="email"]) .discovery-hero-description { display:block; margin-top:16px; color:#37585c; font-size:14px; }
.discovery-page.hero:is([data-form-step="request"],[data-form-step="email"]) .discovery-simple-form { margin-top:30px; }
.discovery-simple-bar--request { display:block; padding:14px 18px; }
.discovery-simple-bar--request::before { display:none; }
.discovery-simple-bar--request textarea { min-height:54px; font-size:15px; }
.discovery-quote-action { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:20px; }
.discovery-quote-action [data-system-estimate] { margin:0; }
.discovery-quote-action .system-estimate__total,.discovery-quote-review .system-estimate__total { font-size:28px; line-height:1.4; letter-spacing:-.025em; }
.discovery-quote-action .system-estimate__note,.discovery-quote-review .system-estimate__note { font-size:11px; }
.discovery-quote-action > button { flex-shrink:0; }
.discovery-quote-review { padding:24px 26px; margin-bottom:26px; border:1px solid #ffffff8c; border-radius:16px; background:#f7fcf9ab; }
.discovery-quote-review__label { margin:0 0 9px; font:500 11px/1.5 var(--font-jp,sans-serif); color:#536b6b; }
.discovery-quote-review__idea { margin:15px 0; white-space:pre-wrap; overflow-wrap:anywhere; color:#3d5f61; font:400 13px/1.7 var(--font-jp,sans-serif); max-height:140px; overflow:auto; }
.discovery-quote-review [data-system-estimate] { border-top:1px solid #8da7a543; margin-top:18px; padding-top:16px; }
.discovery-email-label { display:block; margin:0 4px 10px; font:500 12px/1.5 var(--font-jp,sans-serif); }
.discovery-simple-form[data-step="email"] .discovery-simple-submit { font-size:12px; padding-inline:16px; gap:12px; }
/* Dock a completed scan outside the choices; explicit user drag positions win. */
.product-teaser:has(.hero:is([data-form-step="request"],[data-form-step="email"])) .discovery-site-preview:not([style*="fixed"]) { top:18px; bottom:auto; right:180px; width:110px; }
@media(max-width:1000px) {
  .discovery-page #content > .discovery-about { padding:84px 36px; grid-template-columns:1fr; gap:44px; }
  .discovery-about__rows > div { grid-template-columns:180px 1fr; }
}
@media(max-width:700px) {
  .discovery-about-link { left:20px; bottom:110px; font-size:11px; }
  .discovery-page #content > .discovery-about { padding:64px 24px; gap:38px; }
  .discovery-about h2 { font-size:36px; }
  .discovery-about__intro > p:not(.discovery-about__eyebrow) { font-size:14px; margin:18px 0; }
  .discovery-about__rows > div { grid-template-columns:1fr; gap:10px; padding:20px 0; }
  .discovery-about dd { font-size:14px; }
  .discovery-page.hero[data-screen="website"]:is([data-form-step="request"],[data-form-step="email"]) { width:calc(100% - 32px); padding:124px 0 115px; }
  .discovery-page.hero:is([data-form-step="request"],[data-form-step="email"]) h1 { font-size:clamp(23px,5.7vw,32px); }
  .discovery-page.hero:is([data-form-step="request"],[data-form-step="email"]) .discovery-hero-description { display:block!important; font-size:13px; margin-top:12px; }
  .discovery-quote-action { flex-direction:column; align-items:stretch; gap:16px; }
  .discovery-quote-review { padding:20px; }
  .discovery-simple-form[data-step="email"] .discovery-simple-bar { display:block; padding:12px; }
  .discovery-simple-form[data-step="email"] .discovery-simple-bar::before { display:none; }
  .discovery-simple-form[data-step="email"] .discovery-simple-bar input { min-height:50px; padding:8px; font-size:16px; }
  .discovery-simple-form[data-step="email"] .discovery-simple-submit { width:100%; margin-top:8px; }
  .product-teaser:has(.hero:is([data-form-step="request"],[data-form-step="email"])) .discovery-site-preview:not([style*="fixed"]) { top:67px; right:20px; width:60px; }
}
@media(prefers-reduced-motion:reduce) {
  .discovery-about__intro a span { transition:none; }
}

.discovery-footer { padding:0 max(48px,calc((100vw - 1320px)/2)) 34px; background:#f3f4f2; color:#263b3d; }
.discovery-footer__inner { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:24px; min-height:112px; border-top:1px solid #99a4a0; }
.discovery-footer a { display:inline-flex; align-items:center; gap:20px; min-height:44px; width:fit-content; color:inherit; text-decoration:none; font:400 13px/1.6 var(--font-jp,sans-serif); }
.discovery-footer .discovery-footer__brand { font:600 19px/1.4 sans-serif; letter-spacing:-.045em; }
.discovery-footer small { font:400 12px/1.6 var(--font-jp,sans-serif); color:#596967; }
.discovery-footer a:hover { text-decoration:underline; text-underline-offset:5px; }
.discovery-footer a:focus-visible { outline:2px solid #286d71; outline-offset:5px; }
@media(max-width:700px) {
  .discovery-footer { padding:0 24px 28px; }
  .discovery-footer__inner { grid-template-columns:1fr; gap:4px; padding-top:20px; }
  .discovery-footer small { grid-row:3; margin-top:12px; }
  .discovery-footer__home { max-width:100%; }
}

.discovery-analytics-notice { max-width:680px; font:400 11px/1.8 var(--font-jp,sans-serif); color:#435f5f; }
.discovery-analytics-notice summary { cursor:pointer; padding:8px 0; width:fit-content; }
.discovery-analytics-notice button { font:inherit; color:inherit; background:transparent; border:0; border-bottom:1px solid #809b95; padding:6px 0; cursor:pointer; }
.discovery-analytics-notice button:focus-visible,.discovery-analytics-notice summary:focus-visible { outline:2px solid #286d71; outline-offset:4px; }
