/* Notebook-scale refinement: active up to 1600px wide, desktop/tablet only. */
@media (min-width: 768px) and (max-width: 1600px) {
  /* Header */
  body.ew-site .ew-location-header .ew-element-2589680 {
    grid-template-columns: 1fr minmax(150px, 250px) 1fr !important;
    --padding-top: 15px !important;
    --padding-bottom: 15px !important;
  }
  body.ew-site .ew-location-header .intro-logo img {
    width: 280px !important;
  }
  body.ew-site .ew-location-header .ew-icon svg {
    width: 22px !important;
    height: 22px !important;
  }
  body.ew-site .ew-location-header .ew-nav-menu--main .ew-item {
    font-size: 14px !important;
  }

  /* Page frame */
  body.ew-site {
    --ew-gutter: 32px;
  }
  body.ew-site main > .page-content > .ew > .ew-con-boxed {
    --content-width: 1120px !important;
  }
  body.ew-site main .ew-row {
    --padding-top: clamp(52px, 4.5vw, 72px) !important;
    --padding-bottom: clamp(52px, 4.5vw, 72px) !important;
  }

  /* HOME HERO */
  body.ew-site.ew-home main .ew-hero-copy-group {
    width: 1160px !important;
  }
  body.ew-site.ew-home main .ew-element-20be186 .ew-heading-title {
    font-size: 46px !important;
    line-height: 1.25 !important;
  }
  body.ew-site.ew-home main .ew-element-d06e693,
  body.ew-site.ew-home main .ew-element-d06e693 p {
    font-size: 21px !important;
    line-height: 1.7 !important;
  }
  body.ew-site.ew-home main .ew-element-acf6744 .ew-heading-title,
  body.ew-site.ew-home main .ew-element-35ebc58 .ew-heading-title {
    font-size: 46px !important;
  }
  body.ew-site.ew-home main .ew-element-a24eda1 .ew-heading-title {
    font-size: 43px !important;
  }
  body.ew-site.ew-home main .ew-element-7b93e93 .ew-heading-title,
  body.ew-site.ew-home main .ew-element-5892957 .ew-heading-title {
    font-size: 38px !important;
  }
  body.ew-site.ew-home main .ew-element-8cb16a3 .ew-heading-title {
    font-size: 32px !important;
  }
}


/* Subtle, one-time scroll reveal across the standalone site. */
.ew-scroll-reveal {
  transition: opacity 1350ms cubic-bezier(.22, 1, .36, 1),
              transform 1550ms cubic-bezier(.16, 1, .3, 1),
              filter 1400ms cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--ew-reveal-delay, 0ms);
}
.ew-scroll-reveal.ew-reveal-pending {
  opacity: 0;
  transform: translate3d(0, 36px, 0);
  filter: blur(4px);
}
.ew-scroll-reveal.ew-reveal-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}
@media (max-width: 767px) {
  .ew-scroll-reveal.ew-reveal-pending { transform: translate3d(0, 24px, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .ew-scroll-reveal,
  .ew-scroll-reveal.ew-reveal-pending,
  .ew-scroll-reveal.ew-reveal-visible {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}


/* Local review only: desktop notebook proportion, 1024–1600px. */
@media (min-width: 1024px) and (max-width: 1600px) {
  body.ew-site .ew-location-header .ew-element-2589680 {
    --padding-top: 9px !important;
    --padding-bottom: 9px !important;
  }
  body.ew-site .ew-location-header .intro-logo img {
    width: 250px !important;
  }
  body.ew-site .ew-location-header .ew-icon svg {
    width: 20px !important;
    height: 20px !important;
  }

  body.ew-site main > .page-content > .ew > .ew-con-boxed {
    --content-width: 1060px !important;
  }
  body.ew-site main .ew-row {
    --padding-top: clamp(46px, 4vw, 64px) !important;
    --padding-bottom: clamp(46px, 4vw, 64px) !important;
  }

  body.ew-site.ew-home main .ew-hero-copy-group {
    width: 920px !important;
  }
  body.ew-site.ew-home main .ew-hero-copy-group > .ew-element[data-id="f3ac42c"] img {
    width: 84% !important;
    max-width: 780px !important;
  }
  body.ew-site.ew-home main .ew-hero-copy-group > .ew-element[data-id="20be186"] {
    margin-top: 10px !important;
  }
  body.ew-site.ew-home main .ew-hero-copy-group > .ew-element[data-id="20be186"] .ew-heading-title {
    font-size: 38px !important;
    line-height: 1.35 !important;
  }
  body.ew-site.ew-home main .ew-hero-copy-group > .ew-element[data-id="e882720"] .ew-spacer-inner {
    height: 28px !important;
  }
  body.ew-site.ew-home main .ew-hero-copy-group > .ew-element[data-id="d06e693"],
  body.ew-site.ew-home main .ew-hero-copy-group > .ew-element[data-id="d06e693"] p {
    font-size: 18px !important;
    line-height: 1.75 !important;
    letter-spacing: .04em !important;
  }

  body.ew-site.ew-home main .ew-element-acf6744 .ew-heading-title,
  body.ew-site.ew-home main .ew-element-35ebc58 .ew-heading-title {
    font-size: 38px !important;
    line-height: 1.2 !important;
  }
  body.ew-site.ew-home main .ew-element-a24eda1 .ew-heading-title {
    font-size: 36px !important;
  }
  body.ew-site.ew-home main .ew-element-7b93e93 .ew-heading-title,
  body.ew-site.ew-home main .ew-element-5892957 .ew-heading-title {
    font-size: 30px !important;
  }
  body.ew-site.ew-home main .ew-element-8cb16a3 .ew-heading-title {
    font-size: 28px !important;
  }
  body.ew-site.ew-home main .ew-element-2b0c795 .ew-heading-title,
  body.ew-site.ew-home main .ew-element-30765cb .ew-heading-title {
    font-size: 20px !important;
    line-height: 1.5 !important;
  }
  body.ew-site.ew-home main .ew-element-2cc3a15 .ew-heading-title,
  body.ew-site.ew-home main .ew-element-572a58a .ew-heading-title {
    font-size: 18px !important;
    line-height: 1.6 !important;
  }
  body.ew-site.ew-home main .ew-element-f06ab03 .ew-heading-title,
  body.ew-site.ew-home main .ew-element-9ebb618 .ew-heading-title {
    font-size: 24px !important;
    line-height: 1.5 !important;
  }
  body.ew-site.ew-home main .ew-element-78fe041 .ew-heading-title,
  body.ew-site.ew-home main .ew-element-f4201bb .ew-heading-title {
    font-size: 22px !important;
    line-height: 1.6 !important;
  }
  body.ew-site.ew-home main .cta-outer-wrap,
  body.ew-site.ew-home main .cta-white-outer-wrap {
    transform: scale(.8) !important;
  }
  body.ew-site.ew-home main .ew-form-button {
    width: 440px !important;
    min-height: 60px !important;
    font-size: 17px !important;
  }
}


/* Local review only: keep the visual weight balanced on notebooks and phones. */
.intro-slide .ew-widget-image img {
  display: block !important;
  width: min(54vw, 30vh, 300px) !important;
  height: auto !important;
  margin-inline: auto !important;
}

body.ew-site main [data-id="cc1375c"] > .ew-con-inner,
body.ew-site main [data-id="61c6dd0"] > .ew-con-inner {
  padding-top: 56px !important;
}
body.ew-site main [data-id="cc1375c"] .ew-heading-title,
body.ew-site main [data-id="61c6dd0"] .ew-heading-title {
  font-size: 18px !important;
  line-height: 1.6 !important;
}
body.ew-site main [data-id="ab3a3d6"] > .ew-con-inner,
body.ew-site main [data-id="fb24d1d"] > .ew-con-inner {
  padding-top: 20px !important;
  padding-bottom: 56px !important;
}
body.ew-site main [data-id="ab3a3d6"] > .ew-con-inner > .ew-con,
body.ew-site main [data-id="fb24d1d"] > .ew-con-inner > .ew-con {
  min-height: 164px !important;
  gap: 10px !important;
  padding: 14px !important;
}
body.ew-site main [data-id="ab3a3d6"] > .ew-con-inner > .ew-con > .ew-widget-heading:first-child .ew-heading-title,
body.ew-site main [data-id="fb24d1d"] > .ew-con-inner > .ew-con > .ew-widget-heading:first-child .ew-heading-title {
  font-size: 16px !important;
}
body.ew-site main [data-id="ab3a3d6"] > .ew-con-inner > .ew-con:first-child > .ew-widget-heading:nth-child(2) .ew-heading-title,
body.ew-site main [data-id="fb24d1d"] > .ew-con-inner > .ew-con:first-child > .ew-widget-heading:nth-child(2) .ew-heading-title {
  font-size: 40px !important;
  line-height: 1.2 !important;
}
body.ew-site main [data-id="ab3a3d6"] > .ew-con-inner > .ew-con > .ew-widget-heading:last-child .ew-heading-title,
body.ew-site main [data-id="fb24d1d"] > .ew-con-inner > .ew-con > .ew-widget-heading:last-child .ew-heading-title {
  font-size: 14px !important;
  line-height: 1.5 !important;
}
body.ew-site main [data-id="ab3a3d6"] .ew-form-button,
body.ew-site main [data-id="fb24d1d"] .ew-form-button {
  width: min(100%, 420px) !important;
  min-height: 54px !important;
  padding: 12px 38px !important;
  font-size: 16px !important;
}

@media (min-width: 768px) and (max-width: 1600px) {
  body.ew-site.ew-inner main .ew-element[data-id="d8583fc"] img {
    width: min(100%, 1000px) !important;
    height: auto !important;
    margin-inline: auto !important;
    display: block !important;
  }

  /* Portrait project photos should not exceed a notebook screen in one step. */
  body.ew-site.single-post main .ew-widget-image img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: min(76svh, 760px) !important;
    height: auto !important;
    margin-inline: auto !important;
    object-fit: contain !important;
  }
}

@media (max-width: 767px) {
  body.ew-site main [data-id="cc1375c"] > .ew-con-inner,
  body.ew-site main [data-id="61c6dd0"] > .ew-con-inner {
    padding-top: 32px !important;
  }
  body.ew-site main .ew-element[data-id="cc1375c"] .ew-heading-title,
  body.ew-site main .ew-element[data-id="61c6dd0"] .ew-heading-title {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
  body.ew-site main [data-id="ab3a3d6"] > .ew-con-inner,
  body.ew-site main [data-id="fb24d1d"] > .ew-con-inner {
    padding-top: 16px !important;
    padding-bottom: 36px !important;
    gap: 16px !important;
  }
  body.ew-site main [data-id="ab3a3d6"] > .ew-con-inner > .ew-con,
  body.ew-site main [data-id="fb24d1d"] > .ew-con-inner > .ew-con {
    min-height: 154px !important;
    gap: 8px !important;
    padding: 12px !important;
  }
  body.ew-site main [data-id="ab3a3d6"] > .ew-con-inner > .ew-con:first-child > .ew-widget-heading:nth-child(2) .ew-heading-title,
  body.ew-site main [data-id="fb24d1d"] > .ew-con-inner > .ew-con:first-child > .ew-widget-heading:nth-child(2) .ew-heading-title {
    font-size: 28px !important;
  }
  body.ew-site main [data-id="ab3a3d6"] .ew-form-button,
  body.ew-site main [data-id="fb24d1d"] .ew-form-button {
    min-height: 52px !important;
  }
  body.ew-site .ew-location-footer .ew-con-inner {
    padding: 36px 20px !important;
    gap: 14px !important;
  }
  body.ew-site .ew-location-footer [data-id="42fd536e"] img {
    display: block !important;
    width: min(210px, 62vw) !important;
    height: auto !important;
    margin-inline: auto !important;
  }
  body.ew-site .ew-location-footer [data-id="f729b97"],
  body.ew-site .ew-location-footer [data-id="f729b97"] .ew-spacer-inner {
    height: 12px !important;
    min-height: 12px !important;
  }

  /* The desktop's 1260px composition shrank Japanese text to unreadable sizes. */
  body.ew-site.ew-home main .ew-hero-copy-group {
    width: calc(100% - 36px) !important;
    max-width: 430px !important;
    transform: translate(-50%, -50%) !important;
  }
  body.ew-site.ew-home main .ew-hero-copy-group > .ew-element[data-id="f3ac42c"] img {
    display: block !important;
    width: 100% !important;
    max-width: 370px !important;
    margin-inline: auto !important;
  }
  body.ew-site.ew-home main .ew-hero-copy-group > .ew-element[data-id="20be186"] {
    margin-top: 20px !important;
  }
  body.ew-site.ew-home main .ew-hero-copy-group > .ew-element[data-id="20be186"] .ew-heading-title {
    font-size: clamp(21px, 5.55vw, 27px) !important;
    line-height: 1.45 !important;
    white-space: nowrap !important;
  }
  body.ew-site.ew-home main .ew-hero-copy-group > .ew-element[data-id="e882720"] .ew-spacer-inner {
    height: 22px !important;
  }
  body.ew-site.ew-home main .ew-hero-copy-group > .ew-element[data-id="d06e693"],
  body.ew-site.ew-home main .ew-hero-copy-group > .ew-element[data-id="d06e693"] p {
    font-size: clamp(13px, 3.5vw, 15px) !important;
    line-height: 1.75 !important;
    letter-spacing: .02em !important;
  }
  body.ew-site.ew-home main .ew-hero-copy-group > .ew-element[data-id="d06e693"] br {
    display: none !important;
  }

  /* Two compact, readable workflow cards per row at normal phone widths. */
  body.ew-site.ew-inner main .ew-workflow {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --e-con-grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px 16px !important;
  }
  body.ew-site.ew-inner main .ew-workflow > .ew-con {
    padding: 0 !important;
    gap: 8px !important;
    min-height: 0 !important;
  }
  body.ew-site.ew-inner main .ew-workflow .ew-widget-image img {
    width: 100% !important;
    height: auto !important;
    max-height: 170px !important;
    object-fit: contain !important;
    transform: scale(1.1);
  }

  /* COMPANY and CONTACT: finish the introduction and illustration within a phone screen. */
  body.ew-site.page-id-2109 main .ew-element[data-id="588bf7e"] img,
  body.ew-site.page-id-1100 main .ew-element[data-id="843268e"] img {
    display: block !important;
    width: min(100%, 270px) !important;
    height: auto !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 350px) {
  body.ew-site.ew-inner main .ew-workflow {
    grid-template-columns: minmax(0, 1fr) !important;
    --e-con-grid-template-columns: minmax(0, 1fr) !important;
  }
}

