/* Containerized generator page. Shared WordPress header, banner and footer stay outside this scope. */
.gw-containerized-page {
  --red:#cf262c;
  --red-dark:#af1820;
  --ink:#202328;
  --muted:#60656c;
  --line:#e0e2e3;
  --paper:#f5f5f2;
  --section-nav-height:64px;
}

.gw-containerized-page, .gw-containerized-page * {
  box-sizing:border-box;
}

.gw-containerized-page {
  margin:0;
  color:var(--ink);
  font-family:var(--gw-main-font, "MiSansLatin", Arial, sans-serif);
  font-size:16px;
  line-height:1.65;
  background:#fff;
}

.gw-containerized-page button,
.gw-containerized-page a {
  -webkit-tap-highlight-color:transparent;
}

.gw-containerized-page button {
  font:inherit;
}

.gw-containerized-page a {
  color:inherit;
  text-decoration:none;
}

.gw-containerized-page button,
.gw-containerized-page a,
.gw-containerized-page summary {
  touch-action:manipulation;
}

.gw-containerized-page a:focus-visible,
.gw-containerized-page button:focus-visible,
.gw-containerized-page summary:focus-visible,
.gw-containerized-page [tabindex]:focus-visible {
  outline:3px solid var(--red);
  outline-offset:5px;
}

.gw-containerized-page img {
  display:block;
  max-width:100%;
  height:auto;
}

.gw-containerized-page figure,
.gw-containerized-page p,
.gw-containerized-page h1,
.gw-containerized-page h2,
.gw-containerized-page h3 {
  margin:0;
}

.gw-containerized-page p+p {
  margin-top:18px;
}

.gw-containerized-page h1,
.gw-containerized-page h2,
.gw-containerized-page h3 {
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.04em;
}

.gw-containerized-page h1 {
  font-size:clamp(40px,4.1vw,62px);
}

.gw-containerized-page h2 {
  font-size:clamp(32px,3.3vw,46px);
}

.gw-containerized-page h3 {
  font-size:24px;
}

.gw-containerized-page p {
  color:var(--muted);
}

/* Match the shared Canopy page content width at every breakpoint. */
.gw-containerized-page .wrap {
  width:80%;
  max-width:1500px;
  margin-inline:auto;
}

@media(max-width:1280px) {
  .gw-containerized-page .wrap {
    width:88%;
  }
}

@media(max-width:640px) {
  .gw-containerized-page .wrap {
    width:92%;
  }
}

.gw-containerized-page .icon {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0;
}

.gw-containerized-page .icon-definitions {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
}

.gw-containerized-page .eyebrow {
  font-size:11px;
  line-height:1.5;
  letter-spacing:.14em;
  color:var(--red);
  font-weight:700;
  margin-bottom:20px;
}

.gw-containerized-page .eyebrow span {
  display:inline-block;
  width:22px;
  height:2px;
  margin-right:10px;
  vertical-align:middle;
  background:var(--red);
}

.gw-containerized-page .text-link {
  display:inline-flex;
  align-items:center;
  gap:15px;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
}

.gw-containerized-page .text-link:hover {
  color:var(--red);
}

.gw-containerized-page .text-link .icon {
  transition:transform .2s;
}

.gw-containerized-page .text-link:hover .icon {
  transform:translateX(4px);
}

.gw-containerized-page .button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:20px;
  min-height:54px;
  padding:14px 22px;
  font-size:14px;
  line-height:1.5;
  font-weight:700;
  transition:background .2s,color .2s;
}

.gw-containerized-page .button-primary {
  background:var(--red);
  color:white;
}

.gw-containerized-page .button-primary:hover {
  background:var(--red-dark);
}

.gw-containerized-page .button-white {
  color:var(--red-dark);
  background:#fff;
}

.gw-containerized-page .button-white:hover {
  background:#f1efeb;
}

.gw-containerized-page .hero-layout {
  display:grid;
  grid-template-columns:.91fr 1.45fr;
  align-items:center;
  gap:24px;
  padding:56px 0 60px;
}

.gw-containerized-page .hero-copy {
  max-width:560px;
}

.gw-containerized-page .hero-subtitle {
  color:var(--ink);
  font-size:22px;
  line-height:1.4;
  letter-spacing:-.025em;
  margin:23px 0 17px;
}

.gw-containerized-page .hero-description {
  max-width:500px;
  font-size:14px;
  line-height:1.85;
  margin-bottom:26px;
}

.gw-containerized-page .hero-secondary {
  display:flex;
  width:max-content;
  margin-top:20px;
  font-size:12px;
}

.gw-containerized-page .hero-secondary .icon {
  width:16px;
}

.gw-containerized-page .hero-visual {
  margin-right:0;
}

.gw-containerized-page .hero-highlights {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding:26px 0 33px;
  border-top:1px solid var(--line);
  gap:28px;
}

.gw-containerized-page .hero-highlights>div {
  display:flex;
  align-items:flex-start;
  gap:16px;
}

.gw-containerized-page .highlight-number {
  color:var(--red);
  font-size:11px;
  font-weight:700;
  padding-top:4px;
}

.gw-containerized-page .hero-highlights strong {
  font-size:14px;
}

.gw-containerized-page .hero-highlights p {
  font-size:12px;
  margin-top:4px;
}

.gw-containerized-page .section-nav {
  position:sticky;
  top:var(--gwcs-header-offset);
  z-index:30;
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.gw-containerized-page .section-nav-inner {
  min-height:var(--section-nav-height);
  display:flex;
  align-items:stretch;
  gap:35px;
}

.gw-containerized-page .section-nav a {
  display:flex;
  align-items:center;
  font-size:12px;
  white-space:nowrap;
  position:relative;
  color:#62666b;
}

.gw-containerized-page .section-nav a:hover,
.gw-containerized-page .section-nav a.is-active {
  color:var(--red);
}

.gw-containerized-page .section-nav a.is-active:after {
  content:'';
  position:absolute;
  bottom:0;
  height:2px;
  left:0;
  right:0;
  background:var(--red);
}

.gw-containerized-page .section-nav .section-nav-cta {
  margin-left:auto;
  color:var(--red);
  font-weight:700;
  gap:15px;
}

.gw-containerized-page .section-nav-cta .icon {
  width:18px;
}

.gw-containerized-page .section {
  padding:104px 0;
}

.gw-containerized-page .configuration-section {
  background:var(--paper);
}

.gw-containerized-page .section-heading {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:90px;
  align-items:end;
  margin-bottom:46px;
}

.gw-containerized-page .section-heading>p {
  font-size:14px;
  line-height:1.9;
  max-width:440px;
  padding-bottom:5px;
}

.gw-containerized-page .configuration-layout {
  display:grid;
  grid-template-columns:.85fr 1.55fr;
  gap:64px;
}

.gw-containerized-page .configuration-tabs {
  border-top:1px solid #d6d8d6;
  align-self:start;
}

.gw-containerized-page .configuration-tabs button {
  background:none;
  border:0;
  border-bottom:1px solid #d6d8d6;
  display:flex;
  gap:18px;
  align-items:center;
  width:100%;
  text-align:left;
  min-height:66px;
  padding:16px 18px 16px 0;
  cursor:pointer;
  font-size:14px;
  color:#53585e;
  transition:color .2s;
}

.gw-containerized-page .configuration-tabs button span {
  font-size:10px;
  letter-spacing:.1em;
  opacity:.7;
}

.gw-containerized-page .configuration-tabs button .icon {
  margin-left:auto;
  width:18px;
  opacity:0;
}

.gw-containerized-page .configuration-tabs button[aria-selected=true] {
  color:var(--red);
  font-weight:700;
  border-bottom-color:var(--red);
}

.gw-containerized-page .configuration-tabs button[aria-selected=true] .icon,
.gw-containerized-page .configuration-tabs button:hover .icon {
  opacity:1;
}

.gw-containerized-page .configuration-tabs button:hover {
  color:var(--red);
}

.gw-containerized-page .configuration-panel {
  background:#fff;
  padding:44px 45px;
  min-height:440px;
  position:relative;
  overflow:hidden;
  border-top:3px solid var(--red);
}

.gw-containerized-page .configuration-panel[hidden] {
  display:none;
}

.gw-containerized-page .configuration-panel+.configuration-panel {
  margin-top:25px;
}

.gw-containerized-page.is-enhanced .configuration-panel+.configuration-panel {
  margin-top:0;
}

.gw-containerized-page .panel-index {
  position:absolute;
  top:21px;
  right:29px;
  font-weight:700;
  font-size:90px;
  line-height:1;
  color:#f3f3f0;
  letter-spacing:-.06em;
  pointer-events:none;
}

.gw-containerized-page .configuration-panel>.eyebrow,
.gw-containerized-page .configuration-panel>h3,
.gw-containerized-page .configuration-panel>p,
.gw-containerized-page .configuration-panel>ul {
  position:relative;
}

.gw-containerized-page .configuration-panel h3 {
  font-size:34px;
  max-width:520px;
  margin-bottom:22px;
}

.gw-containerized-page .configuration-panel>p:not(.eyebrow) {
  font-size:14px;
  line-height:1.85;
  max-width:550px;
}

.gw-containerized-page .panel-topics {
  list-style:none;
  margin:23px 0 0;
  padding:17px 0 0;
  border-top:1px solid var(--line);
  display:grid;
  gap:6px;
}

.gw-containerized-page .panel-topics li {
  font-size:12px;
  position:relative;
  padding-left:15px;
}

.gw-containerized-page .panel-topics li:before {
  content:'';
  width:4px;
  height:4px;
  background:var(--red);
  position:absolute;
  left:0;
  top:8px;
}

.gw-containerized-page .configuration-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:28px;
}

.gw-containerized-page .configuration-bottom p,
.gw-containerized-page .configuration-bottom .text-link {
  font-size:12px;
}

.gw-containerized-page .applications-section .section-heading {
  grid-template-columns:1.4fr 1fr;
}

.gw-containerized-page .applications-visual {
  margin:0 0 42px;
  background:#f3f4f5;
}

.gw-containerized-page .applications-visual img {
  width:100%;
  height:auto;
}

.gw-containerized-page .application-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  column-gap:38px;
  row-gap:36px;
}

.gw-containerized-page .application-grid article {
  border-top:1px solid var(--line);
  padding-top:20px;
}

.gw-containerized-page .application-number {
  font-size:9px;
  letter-spacing:.1em;
  color:var(--red);
  font-weight:700;
}

.gw-containerized-page .application-grid h3 {
  font-size:20px;
  letter-spacing:-.025em;
  margin:12px 0 13px;
  line-height:1.35;
}

.gw-containerized-page .application-grid p {
  font-size:13px;
  line-height:1.8;
}

.gw-containerized-page .faq-layout {
  display:grid;
  grid-template-columns:.95fr 1.5fr;
  gap:100px;
}

.gw-containerized-page .faq-intro {
  font-size:14px;
  max-width:290px;
  margin-top:22px;
}

.gw-containerized-page .faq-section .text-link {
  font-size:12px;
  margin-top:24px;
}

.gw-containerized-page .faq-list {
  border-top:1px solid var(--line);
}

.gw-containerized-page .faq-list details {
  border-bottom:1px solid var(--line);
}

.gw-containerized-page .faq-list summary {
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  padding:25px 0;
  font-weight:700;
  font-size:14px;
  line-height:1.6;
}

.gw-containerized-page .faq-list summary::-webkit-details-marker {
  display:none;
}

.gw-containerized-page .faq-list summary .icon {
  width:18px;
  transition:transform .2s;
}

.gw-containerized-page .faq-list details[open] summary {
  color:var(--red);
}

.gw-containerized-page .faq-list details[open] summary .icon {
  transform:rotate(45deg);
}

.gw-containerized-page .faq-list details>div {
  padding:0 32px 25px 0;
}

.gw-containerized-page .faq-list p {
  font-size:13px;
  line-height:1.85;
}

.gw-containerized-page .enquiry-section {
  background:var(--red);
  color:white;
  padding:75px 0;
}

.gw-containerized-page .enquiry-layout {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:80px;
  align-items:center;
}

.gw-containerized-page .enquiry-section .eyebrow {
  color:#fff;
  opacity:.85;
}

.gw-containerized-page .enquiry-section h2 {
  font-size:46px;
}

.gw-containerized-page .enquiry-section p:not(.eyebrow) {
  color:#fff;
}

.gw-containerized-page .enquiry-layout>div>p:not(.eyebrow) {
  font-size:14px;
  line-height:1.85;
  max-width:470px;
  margin-top:22px;
}

.gw-containerized-page .enquiry-action {
  border-left:1px solid #ffffff4d;
  padding-left:60px;
}

.gw-containerized-page .enquiry-action .enquiry-checklist {
  font-size:12px!important;
  line-height:2!important;
  margin:0 0 25px!important;
  opacity:.9;
}

.gw-containerized-page .email-link {
  display:block;
  font-size:12px;
  margin-top:17px;
  width:max-content;
}

.gw-containerized-page .email-link:hover {
  text-decoration:underline;
}

@media(min-width:1600px) {
  .gw-containerized-page .hero-layout {
    padding-block:72px;
  }

  .gw-containerized-page .hero-visual {
    margin-right:0;
  }
}

@media(max-width:1180px) {
  .gw-containerized-page .hero-layout {
    grid-template-columns:.95fr 1.2fr;
    gap:16px;
  }

  .gw-containerized-page .hero h1 {
    font-size:46px;
  }

  .gw-containerized-page .hero-subtitle {
    font-size:20px;
  }

  .gw-containerized-page .hero-visual {
    margin-right:0;
  }

  .gw-containerized-page .section-heading {
    gap:45px;
  }

  .gw-containerized-page .configuration-layout {
    gap:35px;
  }

  .gw-containerized-page .configuration-panel {
    padding:35px;
    min-height:460px;
  }

  .gw-containerized-page .configuration-panel h3 {
    font-size:30px;
  }

  .gw-containerized-page .faq-layout {
    gap:55px;
  }

  .gw-containerized-page .enquiry-action {
    padding-left:35px;
  }

  .gw-containerized-page .section-nav-inner {
    gap:25px;
  }
}

@media(max-width:960px) {
  .gw-containerized-page {
    --section-nav-height:58px;
  }

  .gw-containerized-page .hero-layout {
    padding-top:40px;
    grid-template-columns:1fr 1.2fr;
  }

  .gw-containerized-page .hero h1 {
    font-size:37px;
  }

  .gw-containerized-page .hero-subtitle {
    font-size:18px;
  }

  .gw-containerized-page .hero-description {
    font-size:13px;
  }

  .gw-containerized-page .hero .button {
    font-size:12px;
    padding:12px 16px;
    gap:12px;
  }

  .gw-containerized-page .hero-highlights {
    gap:20px;
  }

  .gw-containerized-page .hero-highlights strong {
    font-size:12px;
  }

  .gw-containerized-page .hero-highlights p {
    font-size:10px;
  }

  .gw-containerized-page .section-nav-inner {
    gap:30px;
    overflow-x:auto;
    scrollbar-width:none;
    padding-inline:0;
  }

  .gw-containerized-page .section-nav-inner::-webkit-scrollbar {
    display:none;
  }

  .gw-containerized-page .section-nav .section-nav-cta {
    display:none;
  }

  .gw-containerized-page .section {
    padding:75px 0;
  }

  .gw-containerized-page .section-heading {
    grid-template-columns:1.3fr 1fr;
    gap:35px;
  }

  .gw-containerized-page .configuration-layout {
    grid-template-columns:.95fr 1.35fr;
    gap:25px;
  }

  .gw-containerized-page .configuration-panel {
    padding:30px 25px;
    min-height:500px;
  }

  .gw-containerized-page .configuration-panel h3 {
    font-size:27px;
  }

  .gw-containerized-page .configuration-panel>p:not(.eyebrow) {
    font-size:13px;
  }

  .gw-containerized-page .configuration-tabs button {
    font-size:12px;
    gap:12px;
    min-height:68px;
  }

  .gw-containerized-page .configuration-tabs button .icon {
    width:15px;
  }

  .gw-containerized-page .application-grid {
    grid-template-columns:repeat(2,1fr);
  }

  .gw-containerized-page .faq-layout {
    grid-template-columns:1fr 1.5fr;
    gap:35px;
  }

  .gw-containerized-page .enquiry-layout {
    gap:35px;
  }

  .gw-containerized-page .enquiry-section h2 {
    font-size:39px;
  }
}

@media(max-width:680px) {
  .gw-containerized-page {
    --section-nav-height:52px;
  }

  .gw-containerized-page .hero-layout {
    display:flex;
    flex-direction:column;
    gap:28px;
    padding:32px 0 30px;
    align-items:stretch;
  }

  .gw-containerized-page .hero-copy {
    max-width:none;
  }

  .gw-containerized-page .hero h1 {
    font-size:clamp(35px,9.2vw,50px);
    line-height:1.12;
    letter-spacing:-.045em;
  }

  .gw-containerized-page .eyebrow {
    font-size:9px;
    letter-spacing:.12em;
    margin-bottom:17px;
  }

  .gw-containerized-page .hero-subtitle {
    font-size:20px;
    margin:20px 0 14px;
  }

  .gw-containerized-page .hero-subtitle br {
    display:none;
  }

  .gw-containerized-page .hero-description {
    max-width:100%;
    font-size:13px;
    line-height:1.8;
    margin-bottom:22px;
  }

  .gw-containerized-page .hero .button {
    font-size:12px;
    min-height:49px;
    padding:13px 18px;
  }

  .gw-containerized-page .hero-secondary {
    font-size:11px;
    display:inline-flex;
    margin:14px 0 0 18px;
    gap:8px;
  }

  .gw-containerized-page .hero-visual {
    margin:0;
  }

  .gw-containerized-page .hero-highlights {
    grid-template-columns:1fr;
    gap:14px;
    padding:21px 0 25px;
  }

  .gw-containerized-page .hero-highlights>div {
    gap:14px;
  }

  .gw-containerized-page .hero-highlights>div>div {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    width:100%;
    gap:10px;
  }

  .gw-containerized-page .highlight-number {
    font-size:9px;
    padding-top:2px;
  }

  .gw-containerized-page .hero-highlights strong {
    font-size:11px;
    white-space:nowrap;
  }

  .gw-containerized-page .hero-highlights p {
    font-size:9px;
    max-width:155px;
    text-align:right;
    margin-top:0;
    line-height:1.5;
  }

  .gw-containerized-page .section-nav-inner {
    gap:18px;
    padding-inline:0;
  }

  .gw-containerized-page .section-nav a {
    font-size:10px;
  }

  .gw-containerized-page .section {
    padding:58px 0;
  }

  .gw-containerized-page h2 {
    font-size:33px;
  }

  .gw-containerized-page .section-heading,
  .gw-containerized-page .applications-section .section-heading {
    grid-template-columns:1fr;
    gap:20px;
    margin-bottom:28px;
  }

  .gw-containerized-page .section-heading>p {
    font-size:13px;
    line-height:1.8;
    max-width:100%;
  }

  .gw-containerized-page .configuration-layout {
    display:block;
  }

  .gw-containerized-page .configuration-tabs {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:20px;
    border-top:0;
    margin-bottom:24px;
  }

  .gw-containerized-page .configuration-tabs button {
    font-size:11px;
    min-height:61px;
    padding:12px 2px;
    gap:8px;
    align-items:center;
    line-height:1.5;
  }

  .gw-containerized-page .configuration-tabs button span {
    font-size:8px;
  }

  .gw-containerized-page .configuration-tabs button .icon {
    width:13px;
  }

  .gw-containerized-page .configuration-panel {
    padding:30px 24px;
    min-height:400px;
  }

  .gw-containerized-page .configuration-panel h3 {
    font-size:30px;
  }

  .gw-containerized-page .configuration-panel .eyebrow {
    font-size:9px;
    max-width:220px;
  }

  .gw-containerized-page .panel-index {
    font-size:72px;
    top:18px;
    right:20px;
  }

  .gw-containerized-page .panel-topics li {
    font-size:11px;
  }

  .gw-containerized-page .configuration-bottom {
    display:block;
    margin-top:22px;
  }

  .gw-containerized-page .configuration-bottom p {
    font-size:11px;
    margin-bottom:8px;
  }

  .gw-containerized-page .configuration-bottom .text-link {
    font-size:11px;
  }

  .gw-containerized-page .applications-visual {
    margin-inline:0;
    margin-bottom:26px;
  }

  .gw-containerized-page .application-grid {
    gap:25px 23px;
  }

  .gw-containerized-page .application-number {
    font-size:8px;
    letter-spacing:.04em;
  }

  .gw-containerized-page .application-grid article {
    padding-top:15px;
  }

  .gw-containerized-page .application-grid h3 {
    font-size:17px;
    line-height:1.35;
    margin:10px 0;
  }

  .gw-containerized-page .application-grid p {
    font-size:11px;
    line-height:1.8;
  }

  .gw-containerized-page .faq-layout {
    grid-template-columns:1fr;
    gap:30px;
  }

  .gw-containerized-page .faq-intro {
    font-size:13px;
    max-width:100%;
    margin-top:16px;
  }

  .gw-containerized-page .faq-section .text-link {
    margin-top:15px;
    font-size:11px;
  }

  .gw-containerized-page .faq-list summary {
    font-size:13px;
    padding:21px 0;
    gap:20px;
  }

  .gw-containerized-page .faq-list p {
    font-size:12px;
  }

  .gw-containerized-page .faq-list details>div {
    padding:0 20px 22px 0;
  }

  .gw-containerized-page .enquiry-section {
    padding:52px 0;
  }

  .gw-containerized-page .enquiry-layout {
    grid-template-columns:1fr;
    gap:28px;
  }

  .gw-containerized-page .enquiry-section h2 {
    font-size:38px;
  }

  .gw-containerized-page .enquiry-layout>div>p:not(.eyebrow) {
    font-size:13px;
    margin-top:20px;
  }

  .gw-containerized-page .enquiry-action {
    border-left:0;
    border-top:1px solid #ffffff4d;
    padding:24px 0 0;
  }

  .gw-containerized-page .enquiry-action .enquiry-checklist {
    font-size:11px!important;
    margin-bottom:21px!important;
  }

  .gw-containerized-page .enquiry-section .button {
    font-size:12px;
    min-height:50px;
  }

  .gw-containerized-page .email-link {
    font-size:11px;
  }
}

@media(max-width:370px) {
  .gw-containerized-page .hero-secondary {
    display:flex;
    margin-left:0;
  }

  .gw-containerized-page .hero-highlights>div>div {
    align-items:flex-start;
  }

  .gw-containerized-page .hero-highlights p {
    max-width:125px;
  }

  .gw-containerized-page .configuration-tabs {
    column-gap:14px;
  }

  .gw-containerized-page .configuration-tabs button {
    font-size:10px;
    gap:5px;
  }

  .gw-containerized-page .application-grid {
    column-gap:18px;
  }

  .gw-containerized-page .application-grid h3 {
    font-size:16px;
  }

  .gw-containerized-page .enquiry-section .button {
    gap:12px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .gw-containerized-page, .gw-containerized-page *,
  .gw-containerized-page::before, .gw-containerized-page *::before,
  .gw-containerized-page::after, .gw-containerized-page *::after {
    transition:none!important;
    animation:none!important;
  }
}

.gw-containerized-page .applications-section {
  padding-top: 48px;
}

.gw-containerized-page .applications-section .section-heading {
  margin-bottom: 24px;
}

.gw-containerized-page .applications-section .section-heading .eyebrow {
  margin-bottom: 10px;
}

.gw-containerized-page .applications-section + .system-section {
  padding-top: 0;
}

@media (max-width: 680px) {
  .gw-containerized-page .applications-section {
    padding-top: 32px;
  }

  .gw-containerized-page .applications-section .section-heading {
    gap: 12px;
    margin-bottom: 18px;
  }
}

@media (max-width: 680px) {
  .gw-containerized-page .hero-description,
  .gw-containerized-page .section-heading>p,
  .gw-containerized-page .configuration-panel>p:not(.eyebrow),
  .gw-containerized-page .application-grid p,
  .gw-containerized-page .faq-list p,
  .gw-containerized-page .enquiry-layout>div>p:not(.eyebrow) {
    font-size: 14px;
  }

  .gw-containerized-page .application-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .gw-containerized-page .application-grid h3 {
    font-size: 20px;
  }

  .gw-containerized-page .application-number {
    font-size: 10px;
  }

  .gw-containerized-page .hero-highlights strong {
    font-size: 12px;
  }

  .gw-containerized-page .hero-highlights p {
    font-size: 11px;
  }

  .gw-containerized-page .section-nav a {
    font-size: 12px;
  }

  .gw-containerized-page .configuration-tabs button {
    font-size: 12px;
  }

  .gw-containerized-page .faq-list summary {
    font-size: 14px;
  }
}

.gw-containerized-page:not(.is-enhanced) .configuration-tabs {
  display: none;
}

.gw-containerized-page .factory-layout {
  max-width: 1500px;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, .91fr);
  grid-template-areas: "photo copy";
  align-items: center;
  gap: 24px;
}

.gw-containerized-page .system-intro {
  grid-area: copy;
}

.gw-containerized-page .system-intro h2 {
  font-size: clamp(36px, 3.7vw, 56px);
  text-wrap: balance;
}

.gw-containerized-page .system-photo {
  grid-area: photo;
  width: 100%;
  max-width: none;
  margin-left: 0;
  justify-self: start;
}

.gw-containerized-page .system-photo img {
  width: 100%;
  height: auto;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 8px;
}

@media (min-width: 1600px) {
  .gw-containerized-page .system-photo {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 1180px) {
  .gw-containerized-page .system-intro h2 {
    font-size: 42px;
  }

  .gw-containerized-page .factory-layout {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .95fr);
    gap: 16px;
  }

  .gw-containerized-page .system-photo {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 960px) {
  .gw-containerized-page .system-intro h2 {
    font-size: 34px;
  }

  .gw-containerized-page .system-intro .button {
    font-size: 12px;
    padding: 12px 16px;
    gap: 12px;
  }

  .gw-containerized-page .factory-layout {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .gw-containerized-page .hero-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .gw-containerized-page .hero-copy,
  .gw-containerized-page .hero-visual {
    width: 100%;
    max-width: none;
    justify-self: center;
  }

  .gw-containerized-page .hero-visual {
    margin: 0;
  }

  .gw-containerized-page .factory-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "copy" "photo";
    gap: 26px;
  }

  .gw-containerized-page .system-intro {
    width: 100%;
    max-width: none;
    justify-self: center;
  }

  .gw-containerized-page .system-photo {
    max-width: none;
    justify-self: center;
  }
}

@media (max-width: 680px) {
  .gw-containerized-page .hero-secondary {
    display: flex;
    margin: 18px 0 0;
  }

  .gw-containerized-page .system-intro h2 {
    font-size: clamp(32px, 8.4vw, 44px);
    line-height: 1.12;
    letter-spacing: -.045em;
  }

  .gw-containerized-page .system-intro .button {
    min-height: 49px;
    padding: 13px 18px;
  }

}

/* Fixed-header geometry is measured by the page script; no shared rem or document styles change. */
.gw-containerized-page {
  --gwcs-header-offset: var(--header_height, 80px);
  --gwcs-nav-height: var(--section-nav-height);
  scroll-margin-top: calc(var(--gwcs-header-offset) + 20px);
}

.gw-containerized-page [id] {
  scroll-margin-top: calc(var(--gwcs-header-offset) + var(--gwcs-nav-height) + 20px);
}
