.discovery-page.hero[data-screen="website"] {
  top:clamp(150px,26svh,280px);
}

.discovery-page.hero[data-screen="website"] .hero__copy {
  min-height:0;
}

.discovery-page.hero h1 {
  font-size:clamp(19px,4.1vw,54px);
  line-height:1.14;
  letter-spacing:-.05em;
  text-wrap:balance;
}

.discovery-simple-form {
  position:relative;
  width:min(860px,100%);
  margin:34px auto 0;
  color:var(--discovery-ink);
  font-family:var(--font-jp,sans-serif);
}

.discovery-site-preview[hidden], .discovery-site-preview [hidden] { display:none !important; }

@media(min-width:701px) {
  .discovery-simple-form { margin-top:clamp(52px,8svh,76px); }
}

.product-teaser:has([data-site-preview]) { position:relative; }

.discovery-site-preview {
  position:absolute;
  top:calc(26svh + 40px);
  right:24px;
  width:clamp(160px,18vw,260px);
  z-index:2;
  background:none;
  box-shadow:none;
  transform:none;
  color:#c2efea;
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
}

.discovery-site-preview:focus { outline:none; }
.discovery-site-preview:focus-visible:not(.is-pointer-interaction) { outline:2px solid #286d71; outline-offset:6px; border-radius:12px; }
.discovery-site-preview.is-dragging { cursor:grabbing; z-index:20; animation:none; }
.discovery-site-preview__drag-hint {
  position:absolute;
  left:50%; bottom:calc(100% + 8px);
  translate:-50% 0;
  padding:5px 10px;
  border-radius:20px;
  background:rgba(245,252,252,.94);
  color:#315b5e;
  font:500 10px/1.5 var(--font-jp,sans-serif);
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  transition:opacity .16s ease;
}
@media(hover:hover) {
  .discovery-site-preview:hover .discovery-site-preview__drag-hint { opacity:1; }
}
.discovery-site-preview:focus-visible:not(.is-pointer-interaction) .discovery-site-preview__drag-hint { opacity:1; }
.discovery-site-preview.is-dragging .discovery-site-preview__drag-hint { opacity:0; }
@media(prefers-reduced-motion:no-preference) {
  .discovery-site-preview__viewport { transition:transform .2s ease,filter .2s ease; }
  .discovery-site-preview.is-dragging .discovery-site-preview__viewport {
    transform:scale(1.025);
    filter:drop-shadow(0 20px 22px rgba(13,64,71,.3));
  }
}

.discovery-site-preview__status {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}

.discovery-site-preview__viewport {
  position:relative;
  aspect-ratio:1.35;
  overflow:visible;
  background:none;
  filter:drop-shadow(0 12px 16px rgba(13,64,71,.2));
}

.discovery-hologram { position:absolute; inset:0; width:100%; height:100%; display:none; }
.has-hologram .discovery-hologram { display:block; }
.has-hologram .discovery-site-preview__image { opacity:0 !important; }
.has-hologram .discovery-site-preview__loading { z-index:1; background:transparent; place-content:end center; padding-bottom:7px; pointer-events:none; }
.has-hologram .discovery-site-preview__loading p { color:#254e53; font-size:10px; }
.has-hologram .discovery-site-preview__scan { display:none; }

.discovery-site-preview__loading,
.discovery-site-preview__unavailable {
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:8px;
  padding:14px;
  background:linear-gradient(135deg,rgba(230,243,243,.98),rgba(205,223,229,.9));
  text-align:center;
  border-radius:12px;
}

.discovery-site-preview__loading p,
.discovery-site-preview__unavailable p { margin:0; color:#315b5e; font:500 11px/1.5 var(--font-jp,sans-serif); }
.discovery-site-preview__scan { width:92px; height:1px; background:rgba(39,112,116,.72); box-shadow:0 0 10px rgba(39,112,116,.48); }
.discovery-site-preview__image { display:block; width:100%; height:100%; object-fit:cover; border-radius:10px; opacity:0; transition:opacity .42s cubic-bezier(.16,1,.3,1); }
.discovery-site-preview.is-ready .discovery-site-preview__image { opacity:1; }
.discovery-site-preview__unavailable button { padding:0; border:0; background:transparent; color:#1f6265; cursor:pointer; font:500 11px/1.4 var(--font-jp,sans-serif); text-decoration:underline; text-underline-offset:3px; }
.discovery-site-preview__unavailable button:focus-visible { outline:2px solid #286d71; outline-offset:3px; }

@media(prefers-reduced-motion:no-preference) {
  .discovery-site-preview:not([hidden]) { animation:discovery-preview-arrive .5s cubic-bezier(.16,1,.3,1) both; }
  @keyframes discovery-preview-arrive { from { opacity:0; translate:0 12px; } to { opacity:1; translate:0 0; } }
  .discovery-site-preview__scan { animation:discovery-preview-scan 1.65s cubic-bezier(.16,1,.3,1) infinite; }
  @keyframes discovery-preview-scan { 0%,100% { transform:translateY(-22px); opacity:.35; } 50% { transform:translateY(22px); opacity:1; } }
}

.discovery-simple-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:28px;
  margin:10px 12px 0;
  gap:12px;
}

.discovery-simple-progress {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  color:#244a4f;
  font:500 11px/1.4 var(--font-jp,sans-serif);
  letter-spacing:.08em;
}

.discovery-simple-meta:has([data-simple-back][hidden]) { display:none; }
.discovery-simple-meta { justify-content:space-between; }
.discovery-simple-meta [hidden] { display:none !important; }
.discovery-simple-meta .discovery-simple-note { margin:0; text-align:right; }

.discovery-simple-step legend.discovery-visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  margin:0;
  padding:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}

.discovery-url-entry { position:relative; min-width:0; }
.discovery-url-hint {
  position:absolute;
  inset:0 4px;
  display:grid;
  align-items:center;
  pointer-events:none;
  color:#476368;
  font:400 17px/1.55 var(--font-jp,sans-serif);
  white-space:nowrap;
}
.discovery-url-hint>span { grid-area:1 / 1; }
.discovery-url-hint__example { opacity:0; }
.discovery-url-entry:not(.is-engaged) input::placeholder { color:transparent; }
.discovery-url-entry.is-engaged .discovery-url-hint,
.discovery-url-entry:has(input:not(:placeholder-shown)) .discovery-url-hint { display:none; }

@media(prefers-reduced-motion:no-preference) {
  .discovery-url-hint__prompt { animation:url-prompt-preview 5s ease-out 1; }
  .discovery-url-hint__example { animation:url-example-preview 5s ease-out 1; }
  @keyframes url-prompt-preview {
    0%,22%,88%,100% { opacity:1; transform:translateY(0); }
    30%,78% { opacity:0; transform:translateY(-5px); }
  }
  @keyframes url-example-preview {
    0%,22%,88%,100% { opacity:0; transform:translateY(5px); }
    30%,78% { opacity:1; transform:translateY(0); }
  }
}
@media(max-width:1200px) {
  .discovery-site-preview {
    top:auto;
    bottom:100px;
    right:24px;
    transform:none;
    width:160px;
  }
  .discovery-site-preview__loading,
  .discovery-site-preview__unavailable { gap:3px; padding:5px; }
  .discovery-site-preview__loading p,
  .discovery-site-preview__unavailable p { font-size:10px; }
  .discovery-site-preview__scan { width:48px; }
  .discovery-site-preview__unavailable button { font-size:11px; min-height:32px; }
  .has-hologram .discovery-site-preview__loading { padding:3px; }
  .has-hologram .discovery-site-preview__loading p { font-size:9px; }
}

@media(max-width:700px) {
  .discovery-site-preview { width:130px; right:16px; }

  .discovery-url-hint { font-size:14px; }
  .discovery-url-entry #simple-website { font-size:16px; }
  .discovery-url-entry #simple-website::placeholder { font-size:14px; }
}

@media(max-width:360px) {
  .discovery-site-preview { width:118px; bottom:86px; }
}

.discovery-simple-back {
  padding:4px 0;
  border:0;
  background:transparent;
  color:#244a4f;
  cursor:pointer;
  font:500 11px/1.4 var(--font-jp,sans-serif);
}

.discovery-simple-back:hover {
  color:#172b2e;
}

.discovery-simple-step {
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}

.discovery-simple-step[hidden],
.discovery-simple-back[hidden] {
  display:none !important;
}

.discovery-simple-step legend {
  width:100%;
  margin:0 0 9px;
  padding:0 12px;
  color:#244a4f;
  font:500 13px/1.6 var(--font-jp,sans-serif);
}

.discovery-simple-step legend small {
  margin-left:5px;
  color:#627477;
  font-size:10px;
  font-weight:400;
}

.discovery-simple-bar {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:78px;
  padding:8px 10px 8px 56px;
  border-radius:18px;
  background:rgba(251,253,253,.94);
  box-shadow:0 0 0 1px rgba(255,255,255,.82),0 14px 42px rgba(15,57,64,.11);
  backdrop-filter:blur(18px) saturate(118%);
  -webkit-backdrop-filter:blur(18px) saturate(118%);
}

.discovery-simple-bar::before {
  content:'';
  position:absolute;
  left:20px;
  top:50%;
  width:22px;
  height:22px;
  border-radius:50%;
  background:radial-gradient(circle at 32% 28%,#f5ffff 0 13%,#72d7d2 42%,#a9bce3 76%,#7d98c8 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 3px 12px rgba(21,90,98,.18);
  transform:translateY(-50%);
}

.discovery-simple-bar :is(input,textarea) {
  box-sizing:border-box;
  width:100%;
  min-width:0;
  padding:10px 4px;
  border:0;
  outline:0 !important;
  background:transparent;
  color:#172b2e;
  font:400 17px/1.55 var(--font-jp,sans-serif);
}

.discovery-simple-bar textarea {
  min-height:64px;
  max-height:126px;
  resize:vertical;
}

.discovery-simple-bar :is(input,textarea)::placeholder {
  color:#64777a;
  opacity:1;
}

.discovery-simple-bar:has([aria-invalid="true"]) {
  background:#fff7f5;
}

.discovery-simple-bar:has(:focus-visible) {
  box-shadow:0 0 0 1px rgba(27,91,96,.78),0 18px 48px rgba(15,57,64,.16);
}

.discovery-simple-next,
.discovery-simple-submit {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:60px;
  padding:0 24px;
  border:0;
  border-radius:13px;
  background:#102528;
  color:#fff;
  cursor:pointer;
  white-space:nowrap;
  font:500 13px/1.5 var(--font-jp,sans-serif);
  transition:background-color .18s ease-out,transform .18s ease-out;
}

.discovery-simple-next svg,
.discovery-simple-submit svg {
  width:16px;
  height:16px;
  flex:0 0 auto;
}

.discovery-simple-next:hover,
.discovery-simple-submit:hover {
  background:#21464a;
  transform:translateY(-1px);
}

.discovery-simple-next:focus-visible,
.discovery-simple-submit:focus-visible,
.discovery-simple-back:focus-visible {
  outline:2px solid #286d71;
  outline-offset:3px;
}

.discovery-simple-submit:disabled {
  cursor:wait;
  opacity:.66;
  transform:none;
}

.discovery-simple-note {
  margin:10px 2px 0;
  color:#294b4f;
  font:400 11px/1.7 var(--font-jp,sans-serif);
}

.discovery-simple-status {
  min-height:20px;
  margin:7px 2px 0;
  color:#24484c;
  font:500 12px/1.6 var(--font-jp,sans-serif);
}

.discovery-simple-status.is-error {
  color:#8f2727;
}

.discovery-simple-success {
  padding:30px 26px;
  border-radius:16px;
  background:#fbfdfd;
  text-align:center;
  box-shadow:0 3px 8px #153e4814;
}

.discovery-simple-success:focus {
  outline:none;
}

.discovery-simple-success p,
.discovery-simple-success h2,
.discovery-simple-success span {
  margin:0;
}

.discovery-simple-success p {
  color:#466267;
  font:500 11px/1.6 var(--font-jp,sans-serif);
}

.discovery-simple-success h2 {
  margin-top:8px;
  font:500 24px/1.5 var(--font-jp,sans-serif);
}

.discovery-simple-success span {
  display:block;
  margin-top:10px;
  color:#3d5a5e;
  font:400 12px/1.8 var(--font-jp,sans-serif);
}

@media(prefers-reduced-motion:no-preference) {
  .discovery-simple-step:not([hidden]) {
    animation:discovery-simple-step-in .24s ease-out both;
  }

  @keyframes discovery-simple-step-in {
    from { opacity:0; transform:translateY(6px); }
    to { opacity:1; transform:translateY(0); }
  }
}

@media(max-width:700px) {
  .discovery-page.hero[data-screen="website"] {
    left:12px;
    top:126px;
    width:calc(100% - 24px);
    transform:none;
  }

  .discovery-page.hero h1 {
    font-size:clamp(19px,5.4vw,28px);
  }

  .discovery-page.hero[data-screen="website"] .hero__copy {
    min-height:0;
  }

  .discovery-page .hero__copy .discovery-hero-description {
    margin-top:15px;
  }

  .discovery-simple-form {
    margin-top:20px;
  }

  .discovery-simple-bar {
    min-height:64px;
    padding:7px 8px 7px 44px;
    border-radius:15px;
  }

  .discovery-simple-bar::before {
    left:14px;
    width:19px;
    height:19px;
  }

  .discovery-simple-bar :is(input,textarea) {
    font-size:15px;
  }

  .discovery-simple-next,
  .discovery-simple-submit {
    min-height:50px;
    padding-inline:17px;
  }

  .discovery-page .product-teaser:has(.discovery-simple-form) {
    height:100svh;
    min-height:100svh;
  }
}

@media(max-width:480px) {
  .discovery-simple-bar--request {
    grid-template-columns:1fr;
    padding:12px;
  }

  .discovery-simple-bar--request::before {
    display:none;
  }

  .discovery-simple-bar--request .discovery-simple-submit {
    width:100%;
  }
}

@media(max-width:360px) {
  .discovery-page.hero[data-screen="website"] {
    top:116px;
  }

  .discovery-page .hero .hero__copy .discovery-hero-description {
    display:none;
  }

  .discovery-simple-form {
    margin-top:14px;
  }

  .discovery-simple-next {
    gap:9px;
    padding-inline:13px;
  }
}

@media(max-width:700px) and (max-height:620px) {
  .discovery-page.hero[data-screen="website"] {
    top:94px;
  }

  .discovery-page .hero .hero__copy .discovery-hero-description {
    display:none;
  }

  .discovery-simple-form {
    margin-top:10px;
  }

  .discovery-simple-meta {
    min-height:22px;
    margin-bottom:5px;
  }

  .discovery-simple-step legend {
    margin-bottom:6px;
  }

  .discovery-simple-bar {
    min-height:56px;
  }

  .discovery-simple-bar textarea {
    min-height:48px;
  }

  .discovery-simple-next,
  .discovery-simple-submit {
    min-height:44px;
  }

  .discovery-simple-note {
    display:none;
  }

  .discovery-simple-status {
    min-height:18px;
    margin-top:4px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .discovery-site-preview__image { transition:none; }
  .discovery-simple-next,
  .discovery-simple-submit {
    transition:none;
  }
}

/* The selection screen gets its own compact composition, with natural scrolling
   on short displays instead of clipping the options or the final action. */
body.discovery-page #content > .product-teaser:has([data-form-step="request"]) {
  display:block;
  height:auto !important;
  min-height:100svh;
  overflow:clip !important;
}
body.discovery-page #content:has([data-form-step="request"]) { height:auto; overflow:visible; }
html:has([data-form-step="request"]) { overflow-x:clip; overflow-y:auto; }
body.discovery-page:has([data-form-step="request"]) { overflow:visible; }
body.discovery-page:has([data-form-step="request"]) .product-nav { position:absolute; }
.system-picker__heading:focus { outline:none; }
.discovery-page.hero[data-screen="website"][data-form-step="request"] {
  position:relative;
  top:auto;
  left:auto;
  transform:none;
  width:min(860px,calc(100% - 48px));
  margin:0 auto;
  padding:120px 0 110px;
}
.discovery-page.hero[data-form-step="request"] h1 {
  font-size:24px;
  line-height:1.4;
}
.discovery-page.hero[data-form-step="request"] .discovery-hero-description { display:none; }
.discovery-page.hero[data-form-step="request"] .discovery-simple-form { margin-top:24px; }
.discovery-quote-input { min-width:0; }
.discovery-simple-bar--request { margin-top:12px; }
.discovery-simple-form[data-step="request"] .discovery-simple-submit { font-size:12px; gap:12px; padding-inline:18px; }
.discovery-simple-form[data-step="email"] [data-company-summary] { margin-top:16px; }
.product-teaser:has([data-form-step="request"]) .discovery-film-link { position:absolute; bottom:16px; }
@media(max-width:1399px) {
  .product-teaser:has([data-form-step="request"]) .discovery-site-preview:not([style*="fixed"]) { top:18px; bottom:auto; right:160px; width:76px; }
}
@media(max-width:700px) {
  .discovery-page.hero[data-screen="website"][data-form-step="request"] { width:calc(100% - 32px); padding-top:100px; padding-bottom:110px; }
  .discovery-page.hero[data-form-step="request"] h1 { font-size:clamp(16px,4.5vw,22px); }
  .discovery-page.hero[data-form-step="request"] .discovery-simple-form { margin-top:18px; }
  .product-teaser:has([data-form-step="request"]) .discovery-site-preview:not([style*="fixed"]) { top:64px; right:16px; width:45px; }
}

/* A small, optional marketing choice; never blocks the form. */
.discovery-meta-prompt{box-sizing:border-box;font-family:"Hiragino Sans","Noto Sans JP",sans-serif;position:fixed;z-index:60;left:20px;bottom:20px;width:min(340px,calc(100vw - 40px));padding:18px 20px;border:1px solid #c6d9da;border-radius:16px;background:#f9fcfc;box-shadow:0 10px 35px #17393f18;color:#17393f;font-size:12px;line-height:1.65}
.discovery-meta-prompt p{margin:0 0 5px;font-size:13px;font-weight:600}.discovery-meta-prompt span{display:block}.discovery-meta-prompt div{display:flex;justify-content:flex-end;gap:16px;margin-top:12px}.discovery-meta-prompt button{border:0;background:transparent;color:inherit;padding:5px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.discovery-meta-prompt button:focus-visible{outline:2px solid #237d70;outline-offset:3px}
@media(max-width:600px){.discovery-meta-prompt{bottom:100px;left:12px;width:calc(100vw - 24px);padding:12px 16px}}
