/*
Theme Name: CTRL Consulting Next
Theme URI: https://ctrl-consulting.com
Description: Clean, responsive CTRL Consulting design system built on the official WooCommerce Storefront theme.
Author: CTRL Consulting
Author URI: https://ctrl-consulting.com
Template: storefront
Version: 1.3.2
Text Domain: ctrl-consulting-next
*/

:root {
  --ctrl-ink: #0a1728;
  --ctrl-ink-soft: #33445b;
  --ctrl-paper: #f5f8fc;
  --ctrl-white: #ffffff;
  --ctrl-blue: #2868ca;
  --ctrl-blue-dark: #174995;
  --ctrl-cyan: #4ec8e8;
  --ctrl-line: #d8e2ee;
  --ctrl-radius: 1.25rem;
  --ctrl-shadow: 0 1.5rem 4rem rgba(13, 46, 88, 0.12);
  --ctrl-shell: 74rem;
}

html { scroll-behavior: smooth; }
body {
  color: var(--ctrl-ink);
  background: var(--ctrl-paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
}
body, button, input, textarea, select { font-family: inherit; }
a { color: var(--ctrl-blue-dark); }
a:focus-visible, button:focus-visible {
  outline: 3px solid var(--ctrl-cyan);
  outline-offset: 4px;
}

/* Header */
.site-header {
  position: relative;
  z-index: 20;
  margin: 0;
  padding: 1rem 0;
  border: 0;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 1px 0 rgba(11, 35, 64, 0.1);
}
.site-header .col-full { max-width: var(--ctrl-shell); }
.site-branding { margin-bottom: 0; }
.site-branding img { max-width: 15rem; max-height: 4.2rem; width: auto; }
.site-header .site-search { display: none; }
.storefront-primary-navigation { background: transparent; }
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
  color: var(--ctrl-ink);
  font-weight: 700;
  letter-spacing: 0.015em;
}
.main-navigation ul.menu > li.current-menu-item > a,
.main-navigation ul.nav-menu > li.current-menu-item > a,
.main-navigation ul.menu > li > a:hover,
.main-navigation ul.nav-menu > li > a:hover { color: var(--ctrl-blue); }
.site-header-cart .cart-contents { color: var(--ctrl-ink); }
button.menu-toggle {
  border: 1px solid var(--ctrl-line);
  border-radius: 0.75rem;
  background: var(--ctrl-white);
  color: var(--ctrl-ink);
}

/* Full-width front page canvas */
.home .site-content { padding-top: 0; }
.home .site-content > .col-full {
  max-width: none;
  margin: 0;
  padding: 0;
}
.ctrl-home { overflow: hidden; }
.ctrl-shell {
  width: min(calc(100% - 2rem), var(--ctrl-shell));
  margin-inline: auto;
}
.ctrl-section { padding: clamp(4.5rem, 8vw, 8rem) 0; }
.ctrl-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin: 0 0 1rem;
  color: var(--ctrl-blue);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.ctrl-kicker::before {
  width: 2rem;
  height: 2px;
  background: currentColor;
  content: "";
}
.ctrl-title {
  max-width: 15ch;
  margin: 0;
  color: var(--ctrl-ink);
  font-size: clamp(2.25rem, 5vw, 4.8rem);
  font-weight: 760;
  letter-spacing: -0.045em;
  line-height: 0.98;
}
.ctrl-title--small {
  max-width: 20ch;
  font-size: clamp(2rem, 4vw, 3.7rem);
  line-height: 1.04;
}
.ctrl-lead {
  max-width: 42rem;
  margin: 1.5rem 0 0;
  color: var(--ctrl-ink-soft);
  font-size: clamp(1.08rem, 1.8vw, 1.3rem);
  line-height: 1.65;
}
.ctrl-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 2rem; }
.ctrl-button {
  display: inline-flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 0.85rem 1.25rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.ctrl-button:hover { transform: translateY(-2px); text-decoration: none; }
.ctrl-button--primary {
  background: var(--ctrl-blue);
  color: var(--ctrl-white);
  box-shadow: 0 0.8rem 2rem rgba(40, 104, 202, 0.25);
}
.ctrl-button--primary:hover { background: var(--ctrl-blue-dark); color: var(--ctrl-white); }
.ctrl-button--ghost { border-color: rgba(255,255,255,.35); color: var(--ctrl-white); }
.ctrl-button--ghost:hover { border-color: var(--ctrl-white); background: rgba(255,255,255,.08); color: var(--ctrl-white); }

/* Hero */
.ctrl-hero {
  position: relative;
  isolation: isolate;
  min-height: min(52rem, calc(100svh - 6rem));
  display: grid;
  align-items: center;
  padding: clamp(5rem, 9vw, 9rem) 0;
  color: var(--ctrl-white);
  background: #071525;
}
.ctrl-hero::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(rgba(78,200,232,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(78,200,232,.08) 1px, transparent 1px);
  background-size: 4rem 4rem;
  mask-image: linear-gradient(to bottom right, black, transparent 80%);
  content: "";
}
.ctrl-hero::after {
  position: absolute;
  z-index: -1;
  top: -15rem;
  right: -10rem;
  width: 48rem;
  height: 48rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(40,104,202,.5), rgba(78,200,232,.08) 48%, transparent 70%);
  content: "";
}
.ctrl-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
  gap: clamp(3rem, 8vw, 7rem);
  align-items: center;
}
.ctrl-hero .ctrl-kicker { color: #82ddf4; }
.ctrl-hero .ctrl-title { color: var(--ctrl-white); }
.ctrl-hero .ctrl-lead { color: #c7d6e8; }
.ctrl-hero-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  width: 100%;
  max-width: 34rem;
  margin-inline: auto;
  border: 1px solid rgba(130,221,244,.28);
  border-radius: 2rem;
  background: #0b2138;
  box-shadow: 0 2rem 5rem rgba(0,0,0,.3);
}
.ctrl-hero-media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, transparent 45%, rgba(7,21,37,.55));
  content: "";
}
.ctrl-hero-media__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ctrl-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.3rem;
  margin: 2.3rem 0 0;
  padding: 0;
  color: #aebfd4;
  font-size: 0.9rem;
  list-style: none;
}
.ctrl-proof li { display: flex; align-items: flex-start; gap: .45rem; }
.ctrl-proof li::before { width: .45rem; height: .45rem; flex: 0 0 auto; margin-top: .45em; border-radius: 50%; background: var(--ctrl-cyan); content: ""; }

/* Cards */
.ctrl-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2.5rem, 8vw, 7rem); align-items: start; }
.ctrl-cards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.ctrl-card {
  position: relative;
  min-height: 18rem;
  padding: clamp(1.4rem, 3vw, 2.1rem);
  border: 1px solid var(--ctrl-line);
  border-radius: var(--ctrl-radius);
  background: var(--ctrl-white);
  box-shadow: 0 .65rem 2rem rgba(13,46,88,.06);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.ctrl-card:hover { transform: translateY(-5px); border-color: #a8c2e8; box-shadow: var(--ctrl-shadow); }
.ctrl-card__head { display: flex; min-height: 4.5rem; align-items: flex-start; justify-content: space-between; gap: 1.25rem; }
.ctrl-card__number { color: var(--ctrl-blue); font: 850 .78rem/1 inherit; letter-spacing: .14em; }
.ctrl-card__icon {
  box-sizing: border-box;
  width: 4.25rem;
  height: 4.25rem;
  padding: .8rem;
  border-radius: 1rem;
  background: linear-gradient(145deg, var(--ctrl-blue), var(--ctrl-blue-dark));
  object-fit: contain;
  box-shadow: 0 .75rem 1.5rem rgba(40,104,202,.18);
}
.ctrl-card h3 { margin: 2rem 0 .85rem; color: var(--ctrl-ink); font-size: 1.55rem; letter-spacing: -.025em; }
.ctrl-card p { color: var(--ctrl-ink-soft); }
.ctrl-card a { display: inline-flex; gap: .45rem; align-items: center; font-weight: 800; text-decoration: none; }
.ctrl-card a::after { content: "→"; transition: transform 160ms ease; }
.ctrl-card a:hover::after { transform: translateX(4px); }

/* Process */
.ctrl-process { background: #eaf1f9; }
.ctrl-process__head { display: flex; justify-content: space-between; gap: 2rem; align-items: end; }
.ctrl-process__head .ctrl-lead { max-width: 34rem; }
.ctrl-steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; margin-top: 3.25rem; counter-reset: steps; }
.ctrl-step { position: relative; padding: 2rem 2rem 2.2rem; border-top: 2px solid #9eb9dc; counter-increment: steps; }
.ctrl-step::before { display: block; margin-bottom: 2.4rem; color: var(--ctrl-blue); font: 850 .8rem/1 inherit; letter-spacing: .12em; content: "0" counter(steps); }
.ctrl-step h3 { margin: 0 0 .75rem; font-size: 1.45rem; }
.ctrl-step p { margin: 0; color: var(--ctrl-ink-soft); }

/* Product callout */
.ctrl-product { background: var(--ctrl-white); }
.ctrl-product__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, .7fr);
  gap: clamp(2rem, 7vw, 6rem);
  align-items: center;
  padding: clamp(2rem, 6vw, 5rem);
  border-radius: calc(var(--ctrl-radius) * 1.3);
  background: var(--ctrl-ink);
  color: var(--ctrl-white);
  box-shadow: var(--ctrl-shadow);
}
.ctrl-product .ctrl-kicker { color: #82ddf4; }
.ctrl-product h2 { max-width: 17ch; margin: 0; color: var(--ctrl-white); font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.04; letter-spacing: -.04em; }
.ctrl-product p { max-width: 42rem; color: #c7d6e8; }
.ctrl-product__proof { display: grid; gap: .55rem; margin: 1.5rem 0 0; padding: 0; color: #d9e9ff; list-style: none; }
.ctrl-product__proof li { display: flex; align-items: flex-start; gap: .65rem; }
.ctrl-product__proof li::before { width: .5rem; height: .5rem; flex: 0 0 auto; margin-top: .48em; border-radius: 50%; background: var(--ctrl-cyan); content: ""; }
.ctrl-product__visual { display: grid; gap: 1.25rem; }
.ctrl-product__image {
  box-sizing: border-box;
  display: block;
  width: min(100%, 24rem);
  height: auto;
  margin-inline: auto;
  padding: 1rem 1rem .5rem;
  border: 1px solid rgba(130,221,244,.25);
  border-radius: 1.25rem;
  background: radial-gradient(circle at 50% 42%, #fff, #e5f1fa 72%, #cbddeb);
  filter: drop-shadow(0 1.5rem 2.5rem rgba(0,0,0,.28));
}
.ctrl-product__flow { display: grid; gap: .75rem; }
.ctrl-flow-node { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border: 1px solid rgba(255,255,255,.18); border-radius: .85rem; background: rgba(255,255,255,.06); font-weight: 750; }
.ctrl-flow-node span { color: #82ddf4; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }

/* CTA and footer */
.ctrl-cta { background: linear-gradient(135deg, #2868ca, #174995); color: var(--ctrl-white); }
.ctrl-cta__inner { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.ctrl-cta h2 { max-width: 18ch; margin: 0; color: var(--ctrl-white); font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.04em; line-height: 1.05; }
.ctrl-cta p { max-width: 38rem; margin: 1rem 0 0; color: #d9e9ff; }
.site-footer { padding: 3rem 0; border: 0; background: #07111f; color: #b9c7d8; }
.site-footer a { color: #e9f2ff; }
.site-info { padding: 0; }
.ctrl-footer-credit { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: center; }
.ctrl-footer-credit strong { color: var(--ctrl-white); }
.ctrl-footer-links { display: flex; flex-wrap: wrap; gap: 1rem; }

@media (max-width: 66rem) {
  .ctrl-hero__grid, .ctrl-intro, .ctrl-product__panel { grid-template-columns: 1fr; }
  .ctrl-hero-media { width: min(100%, 38rem); }
  .ctrl-intro { align-items: start; }
}
@media (max-width: 48rem) {
  .site-header { padding: .65rem 0; }
  .site-branding img { max-width: 12rem; max-height: 3.4rem; }
  .ctrl-kicker { font-size: .72rem; letter-spacing: .11em; }
  .ctrl-hero { min-height: auto; padding: 4.5rem 0 5rem; }
  .ctrl-hero__grid { gap: 3.5rem; }
  .ctrl-hero-media { aspect-ratio: 16 / 10; border-radius: 1.35rem; }
  .ctrl-hero .ctrl-actions, .ctrl-cta .ctrl-actions { display: grid; }
  .ctrl-title { font-size: clamp(2.65rem, 13vw, 4.2rem); }
  .ctrl-cards, .ctrl-steps { grid-template-columns: 1fr; }
  .ctrl-card { min-height: 15rem; }
  .ctrl-process__head, .ctrl-cta__inner { display: block; }
  .ctrl-cta .ctrl-actions { margin-top: 1.75rem; }
  .ctrl-step { padding-inline: 0; }
  .ctrl-flow-node { display: grid; justify-items: start; gap: .15rem; }
  .ctrl-footer-credit { display: grid; gap: 1.1rem; }
  .ctrl-footer-links { gap: .4rem 1.25rem; }
}
/* CTRL header */
.ctrl-site-header {
  position: sticky;
  z-index: 30;
  top: 0;
  border-bottom: 1px solid rgba(11, 35, 64, .09);
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(14px);
}
.ctrl-site-header__inner {
  min-height: 5.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.ctrl-brand { display: inline-flex; flex: 0 0 auto; }
.ctrl-brand__image { display: block; width: auto; height: 3rem; object-fit: contain; }
.ctrl-primary-nav { display: flex; align-items: center; gap: clamp(1rem, 2.6vw, 2.25rem); }
.ctrl-primary-nav a { color: var(--ctrl-ink); font-size: .92rem; font-weight: 750; text-decoration: none; }
.ctrl-primary-nav a:hover { color: var(--ctrl-blue); }
.ctrl-primary-nav a:focus:not(:focus-visible) { outline: 0; box-shadow: none; }
.ctrl-primary-nav a:focus-visible { outline: 3px solid var(--ctrl-cyan); outline-offset: 4px; box-shadow: none; }
.ctrl-primary-nav .ctrl-nav-cta { padding: .65rem 1rem; border-radius: 999px; background: var(--ctrl-blue); color: var(--ctrl-white); }
.ctrl-primary-nav .ctrl-nav-cta:hover { background: var(--ctrl-blue-dark); color: var(--ctrl-white); }
.ctrl-menu-toggle { display: none; }
.site-content { padding-top: 0; }
.site-content > .col-full { padding-top: 3rem; padding-bottom: 4rem; }
.home .site-content > .col-full,
.ctrl-service-page.site-main { padding-top: 0; padding-bottom: 0; }
.storefront-handheld-footer-bar { display: none !important; }

/* Native service pages */
.ctrl-service-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 10vw, 9rem) 0;
  background: linear-gradient(135deg, #071525, #112d51);
  color: var(--ctrl-white);
}
.ctrl-service-hero::after {
  position: absolute;
  top: -20rem;
  right: -18rem;
  width: 45rem;
  height: 45rem;
  border: 1px solid rgba(130,221,244,.25);
  border-radius: 50%;
  box-shadow: 0 0 0 7rem rgba(78,200,232,.035), 0 0 0 14rem rgba(78,200,232,.025);
  content: "";
}
.ctrl-service-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.2fr .55fr; align-items: center; gap: clamp(3rem, 8vw, 7rem); }
.ctrl-service-hero .ctrl-kicker { color: #82ddf4; }
.ctrl-service-hero h1 { max-width: 13ch; margin: 0; color: var(--ctrl-white); font-size: clamp(2.7rem, 6vw, 5rem); letter-spacing: -.05em; line-height: .98; }
.ctrl-service-hero .ctrl-lead { color: #c7d6e8; }
.ctrl-service-mark { aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(130,221,244,.28); border-radius: 50%; }
.ctrl-service-mark span { display: grid; width: 7rem; aspect-ratio: 1; place-items: center; border-radius: 1.5rem; background: linear-gradient(135deg, #fff, #c9f4ff); color: var(--ctrl-blue-dark); font-weight: 900; letter-spacing: .08em; box-shadow: 0 1rem 3rem rgba(0,0,0,.25); }
.ctrl-button--light { border-color: rgba(255,255,255,.35); color: var(--ctrl-white); }
.ctrl-button--light:hover { border-color: var(--ctrl-white); color: var(--ctrl-white); }
.ctrl-service-detail { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.ctrl-service-copy { color: var(--ctrl-ink-soft); font-size: clamp(1.08rem, 1.8vw, 1.25rem); }
.ctrl-service-copy p:first-child { margin-top: 0; }
.ctrl-benefits { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; margin-top: clamp(3rem, 7vw, 6rem); }
.ctrl-benefit { padding: 2rem; border-top: 2px solid #9eb9dc; }
.ctrl-benefit > span { color: var(--ctrl-blue); font-size: .8rem; font-weight: 850; letter-spacing: .12em; }
.ctrl-benefit h3 { margin: 2.25rem 0 .7rem; font-size: 1.45rem; }
.ctrl-benefit p { margin: 0; color: var(--ctrl-ink-soft); }
.ctrl-site-footer { padding: 2.7rem 0; background: #07111f; color: #b9c7d8; }
.ctrl-site-footer a { color: #e9f2ff; }

/* Contact page */
.page-template-page-contact .site-content > .col-full { max-width: none; margin: 0; padding: 0; }
.ctrl-contact { width: 100%; overflow: hidden; background: var(--ctrl-white); }
.ctrl-contact-hero {
  position: relative;
  isolation: isolate;
  padding: clamp(5rem, 9vw, 8rem) 0;
  overflow: hidden;
  background: #071525;
  color: var(--ctrl-white);
}
.ctrl-contact-hero::after {
  position: absolute;
  z-index: -1;
  right: -18rem;
  bottom: -30rem;
  width: 62rem;
  height: 62rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(40,104,202,.5), rgba(78,200,232,.08) 48%, transparent 70%);
  content: "";
}
.ctrl-contact-hero__grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(20rem,.85fr); gap: clamp(3rem,8vw,7rem); align-items: center; }
.ctrl-contact-hero .ctrl-kicker { color: #82ddf4; }
.ctrl-contact-hero h1 { max-width: 12ch; margin: 0; color: var(--ctrl-white); font-size: clamp(3rem,6vw,5.7rem); letter-spacing: -.055em; line-height: .95; }
.ctrl-contact-hero__lead { max-width: 44rem; margin: 1.6rem 0 0; color: #c7d6e8; font-size: clamp(1.1rem,1.8vw,1.3rem); }
.ctrl-contact-hero__signal { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .75rem; padding: clamp(1.5rem,4vw,2.5rem); border: 1px solid rgba(130,221,244,.24); border-radius: 1.5rem; background: rgba(9,31,55,.72); box-shadow: 0 2rem 6rem rgba(0,0,0,.24); }
.ctrl-contact-hero__signal span { padding: .7rem .85rem; border: 1px solid rgba(255,255,255,.16); border-radius: .7rem; color: #edf7ff; font-size: .8rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ctrl-contact-hero__signal b { color: #82ddf4; }
.ctrl-contact-main { background: var(--ctrl-paper); }
.ctrl-contact-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(3rem,8vw,7rem); align-items: start; }
.ctrl-contact-context h2,
.ctrl-contact-form-card h2,
.ctrl-contact-resources h2 { margin: 0; color: var(--ctrl-ink); font-size: clamp(2.15rem,4vw,3.6rem); letter-spacing: -.045em; line-height: 1.04; }
.ctrl-contact-context > p:not(.ctrl-kicker):not(.ctrl-contact-note) { margin: 1.5rem 0 0; color: var(--ctrl-ink-soft); font-size: 1.08rem; }
.ctrl-contact-checklist { display: grid; gap: 1rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.ctrl-contact-checklist li { padding: 1.25rem 0 1.25rem 1.15rem; border-left: 2px solid #9eb9dc; }
.ctrl-contact-checklist strong,
.ctrl-contact-checklist span { display: block; }
.ctrl-contact-checklist strong { color: var(--ctrl-ink); }
.ctrl-contact-checklist span { margin-top: .25rem; color: var(--ctrl-ink-soft); }
.ctrl-contact-note { margin: 2rem 0 0; color: #607288; font-size: .88rem; }
.ctrl-contact-form-card { padding: clamp(1.5rem,4vw,3rem); border: 1px solid var(--ctrl-line); border-radius: 1.5rem; background: var(--ctrl-white); box-shadow: var(--ctrl-shadow); }
.ctrl-contact-form-card .ctrl-kicker { margin-bottom: .7rem; }
.ctrl-contact-form-intro { margin: .8rem 0 1.8rem; color: var(--ctrl-ink-soft); }
.ctrl-contact-form-wrap .wpforms-container { margin: 0; }
.ctrl-contact-form-wrap .wpforms-field { padding-block: .55rem; }
.ctrl-contact-form-wrap .wpforms-field-label { margin-bottom: .4rem; color: var(--ctrl-ink); font-size: .95rem; font-weight: 750; }
.ctrl-contact-form-wrap input[type="text"],
.ctrl-contact-form-wrap input[type="email"],
.ctrl-contact-form-wrap input[type="tel"],
.ctrl-contact-form-wrap input[type="number"],
.ctrl-contact-form-wrap select,
.ctrl-contact-form-wrap textarea { box-sizing: border-box; width: 100%; max-width: 100% !important; min-height: 3.25rem; padding: .75rem .85rem; border: 1px solid #b9c9da; border-radius: .7rem; background: #f8fbff; color: var(--ctrl-ink); }
.ctrl-contact-form-wrap textarea { min-height: 9rem; resize: vertical; }
.ctrl-contact-form-wrap input:focus,
.ctrl-contact-form-wrap select:focus,
.ctrl-contact-form-wrap textarea:focus { border-color: var(--ctrl-blue); outline: 3px solid rgba(78,200,232,.25); outline-offset: 1px; box-shadow: none; }
.ctrl-contact-form-wrap button[type="submit"] { min-height: 3.1rem; padding: .75rem 1.25rem; border: 0 !important; border-radius: .75rem; background: var(--ctrl-blue) !important; color: var(--ctrl-white) !important; font-weight: 800; box-shadow: 0 .8rem 1.8rem rgba(40,104,202,.18); }
.ctrl-contact-form-wrap button[type="submit"]:hover { background: var(--ctrl-blue-dark) !important; color: var(--ctrl-white) !important; }
.ctrl-contact-resources { padding: clamp(4.5rem,8vw,7rem) 0; background: var(--ctrl-white); }
.ctrl-contact-resources__inner { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(18rem,.85fr); gap: clamp(3rem,8vw,7rem); align-items: center; }
.ctrl-contact-resources__inner p:not(.ctrl-kicker) { max-width: 48rem; margin: 1.25rem 0 0; color: var(--ctrl-ink-soft); font-size: 1.05rem; }
.ctrl-contact-resources__links { display: grid; gap: .85rem; }
.ctrl-contact-resources__links a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--ctrl-line); color: var(--ctrl-ink); font-weight: 800; text-decoration: none; }
.ctrl-contact-resources__links a:hover { color: var(--ctrl-blue); border-color: #9eb9dc; }

@media (max-width: 48rem) {
  .ctrl-site-header { position: relative; }
  .ctrl-site-header__inner { min-height: 4.5rem; flex-wrap: wrap; gap: 0; padding-block: .6rem; }
  .ctrl-brand__image { height: 2.7rem; max-width: 12rem; }
  .ctrl-menu-toggle { display: inline-flex; min-height: 2.8rem; align-items: center; gap: .45rem; padding: .55rem .75rem; border: 1px solid var(--ctrl-line); border-radius: .75rem; background: var(--ctrl-white); color: var(--ctrl-ink); font-size: .9rem; font-weight: 800; }
  .ctrl-primary-nav { display: none; flex: 1 0 100%; padding: .75rem 0 .3rem; align-items: stretch; flex-direction: column; gap: .15rem; }
  .ctrl-primary-nav.is-open { display: flex; }
  .ctrl-primary-nav a { padding: .7rem .2rem; }
  .ctrl-primary-nav .ctrl-nav-cta { display: inline-flex; justify-content: center; margin-top: .35rem; }
  .ctrl-service-hero__grid, .ctrl-service-detail, .ctrl-benefits { grid-template-columns: 1fr; }
  .ctrl-service-mark { width: min(68vw, 18rem); margin-inline: auto; }
  .ctrl-benefit { padding-inline: 0; }
  .ctrl-card { min-height: 0; }
  .ctrl-card h3 { margin-top: 2rem; }
  .ctrl-section { padding-block: 4.5rem; }
  .ctrl-contact-hero__grid,
  .ctrl-contact-grid,
  .ctrl-contact-resources__inner { grid-template-columns: 1fr; }
  .ctrl-contact-hero__signal { justify-content: flex-start; }
  .ctrl-contact-form-card { padding: 1.25rem; }
}

/* Amicron connector product experience */
.ctrl-connector {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  background: var(--ctrl-white);
}
.ctrl-connector h1,
.ctrl-connector h2,
.ctrl-connector h3 { color: var(--ctrl-ink); overflow-wrap: normal; word-break: normal; hyphens: none; }
.ctrl-connector-hero {
  position: relative;
  isolation: isolate;
  padding: clamp(5rem, 9vw, 8.5rem) 0 clamp(4.5rem, 8vw, 7rem);
  background: #071525;
  color: var(--ctrl-white);
}
.ctrl-connector-hero::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(rgba(78,200,232,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(78,200,232,.065) 1px, transparent 1px);
  background-size: 4rem 4rem;
  mask-image: linear-gradient(120deg, #000, transparent 72%);
  content: "";
}
.ctrl-connector-hero::after {
  position: absolute;
  z-index: -1;
  right: -12rem;
  bottom: -24rem;
  width: 58rem;
  height: 58rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(40,104,202,.45), rgba(78,200,232,.08) 48%, transparent 70%);
  content: "";
}
.ctrl-connector-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr);
  gap: clamp(3rem, 8vw, 7rem);
  align-items: center;
}
.ctrl-connector-hero .ctrl-kicker { color: #82ddf4; }
.ctrl-connector-hero h1 {
  max-width: 12ch;
  margin: 0;
  color: var(--ctrl-white);
  font-size: clamp(3rem, 6.6vw, 6.25rem);
  font-weight: 760;
  letter-spacing: -.06em;
  line-height: .92;
}
.ctrl-connector-hero__lead {
  max-width: 46rem;
  margin: 1.6rem 0 0;
  color: #c7d6e8;
  font-size: clamp(1.12rem, 1.8vw, 1.35rem);
  line-height: 1.65;
}
.ctrl-connector-hero__visual {
  position: relative;
  display: grid;
  gap: 1rem;
  padding: clamp(1rem, 2.5vw, 1.75rem);
  border: 1px solid rgba(130,221,244,.22);
  border-radius: 2rem;
  background: rgba(9,31,55,.68);
  box-shadow: 0 2rem 6rem rgba(0,0,0,.3);
  backdrop-filter: blur(10px);
}
.ctrl-connector-hero__image {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: auto;
  padding: 1rem;
  border-radius: 1.4rem;
  background: radial-gradient(circle at 50% 42%, #fff, #e5f1fa 72%, #cbddeb);
}
.ctrl-connector-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  color: #d9e9ff;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ctrl-connector-flow span { padding: .55rem .7rem; border: 1px solid rgba(255,255,255,.18); border-radius: .65rem; background: rgba(255,255,255,.06); }
.ctrl-connector-flow b { color: #82ddf4; }
.ctrl-connector-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: .75rem;
  margin: 2.4rem 0 0;
  padding: 0;
  list-style: none;
}
.ctrl-connector-proof li { padding-top: 1rem; border-top: 1px solid rgba(130,221,244,.25); }
.ctrl-connector-proof strong,
.ctrl-connector-proof span { display: block; }
.ctrl-connector-proof strong { color: var(--ctrl-white); font-size: .95rem; }
.ctrl-connector-proof span { margin-top: .2rem; color: #9fb4cd; font-size: .78rem; line-height: 1.35; }
.ctrl-source-proof { max-width: 44rem; margin: 1.3rem 0 0; color: #9fb4cd; font-size: .85rem; line-height: 1.6; }
.ctrl-source-proof a { color: #82ddf4; font-weight: 800; text-decoration: underline; text-underline-offset: .2em; }
.ctrl-connector-jump {
  position: sticky;
  z-index: 15;
  top: 0;
  border-bottom: 1px solid var(--ctrl-line);
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(14px);
}
.ctrl-connector-jump .ctrl-shell { display: flex; justify-content: center; gap: clamp(1rem, 4vw, 3.5rem); overflow-x: auto; }
.ctrl-connector-jump a { flex: 0 0 auto; padding: 1rem .15rem; color: var(--ctrl-ink-soft); font-size: .86rem; font-weight: 800; text-decoration: none; }
.ctrl-connector-jump a:hover { color: var(--ctrl-blue); }
.ctrl-connector .ctrl-section { padding-block: clamp(4.5rem, 8vw, 8rem); }
.ctrl-connector-outcome { background: var(--ctrl-paper); }
.ctrl-connector-outcome__grid,
.ctrl-section-heading {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  gap: clamp(2.5rem, 8vw, 7rem);
  align-items: end;
}
.ctrl-connector-outcome h2,
.ctrl-section-heading h2,
.ctrl-media-feature h2,
.ctrl-demo h2,
.ctrl-faq h2 {
  max-width: 15ch;
  margin: 0;
  font-size: clamp(2.35rem, 4.5vw, 4.25rem);
  letter-spacing: -.05em;
  line-height: 1;
}
.ctrl-connector-outcome__copy { color: var(--ctrl-ink-soft); font-size: clamp(1.05rem,1.7vw,1.22rem); }
.ctrl-connector-outcome__copy p:first-child { margin-top: 0; }
.ctrl-connector-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: clamp(3rem,6vw,5rem); }
.ctrl-connector-metrics article { padding: 2rem; border-top: 2px solid #9eb9dc; }
.ctrl-connector-metrics span { color: var(--ctrl-blue); font-size: .8rem; font-weight: 850; letter-spacing: .12em; }
.ctrl-connector-metrics h3 { margin: 2rem 0 .7rem; font-size: 1.45rem; }
.ctrl-connector-metrics p { margin: 0; color: var(--ctrl-ink-soft); }
.ctrl-section-heading > p { max-width: 38rem; margin: 0; color: var(--ctrl-ink-soft); font-size: 1.08rem; }
.ctrl-connector-features { background: var(--ctrl-white); }
.ctrl-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: clamp(3rem,6vw,5rem); }
.ctrl-feature-card { position: relative; min-height: 19rem; padding: 2rem; border: 1px solid var(--ctrl-line); border-radius: 1.35rem; background: var(--ctrl-paper); }
.ctrl-feature-card--accent { background: linear-gradient(145deg,#0a1c31,#14355c); }
.ctrl-feature-card--accent h3 { color: var(--ctrl-white); }
.ctrl-feature-card--accent p { color: #c7d6e8; }
.ctrl-feature-card__icon { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; border-radius: .9rem; background: var(--ctrl-white); color: var(--ctrl-blue); box-shadow: 0 .65rem 1.5rem rgba(13,46,88,.1); font-size: 1.4rem; font-weight: 800; }
.ctrl-feature-card__eyebrow { margin: 2.2rem 0 .7rem; color: var(--ctrl-blue); font-size: .76rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.ctrl-feature-card--accent .ctrl-feature-card__eyebrow { color: #82ddf4; }
.ctrl-feature-card h3 { margin: 0 0 .85rem; font-size: 1.45rem; line-height: 1.15; }
.ctrl-feature-card p:last-child { color: var(--ctrl-ink-soft); }
.ctrl-feature-card--accent p:last-child { color: #c7d6e8; }
.ctrl-media-feature { background: #eaf1f9; }
.ctrl-media-feature__grid { display: grid; grid-template-columns: minmax(20rem,.9fr) minmax(0,1.1fr); gap: clamp(3rem,8vw,7rem); align-items: center; }
.ctrl-media-feature__visual { padding: clamp(1.5rem,4vw,3rem); border-radius: 2rem; background: linear-gradient(145deg,#fff,#dceaf5); box-shadow: var(--ctrl-shadow); }
.ctrl-media-feature__image { display: block; width: 100%; height: auto; }
.ctrl-media-feature > .ctrl-shell p:not(.ctrl-kicker) { color: var(--ctrl-ink-soft); font-size: 1.08rem; }
.ctrl-check-list { display: grid; gap: .85rem; margin: 1.75rem 0; padding: 0; list-style: none; }
.ctrl-check-list li { display: grid; grid-template-columns: 1.35rem 1fr; gap: .7rem; align-items: start; color: var(--ctrl-ink-soft); }
.ctrl-check-list li::before { display: grid; width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 50%; background: #d7f5fb; color: var(--ctrl-blue-dark); font-size: .72rem; font-weight: 900; content: "✓"; }
.ctrl-text-link { display: inline-flex; gap: .5rem; align-items: center; color: var(--ctrl-blue-dark); font-weight: 850; text-decoration: none; }
.ctrl-text-link:hover { color: var(--ctrl-blue); }
.ctrl-connector-setup { background: var(--ctrl-white); }
.ctrl-setup-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin: clamp(3rem,6vw,5rem) 0 0; padding: 0; list-style: none; }
.ctrl-setup-steps li { display: flex; gap: 1.25rem; padding: 2rem; border: 1px solid var(--ctrl-line); border-radius: 1.2rem; background: var(--ctrl-paper); }
.ctrl-setup-steps > li > span { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; place-items: center; border-radius: .8rem; background: var(--ctrl-blue); color: var(--ctrl-white); font-weight: 850; }
.ctrl-setup-steps h3 { margin: .25rem 0 .55rem; font-size: 1.25rem; }
.ctrl-setup-steps p { margin: 0; color: var(--ctrl-ink-soft); }
.ctrl-setup-note { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; margin-top: 1rem; padding: 1.15rem 1.3rem; border-radius: 1rem; background: #eaf1f9; color: var(--ctrl-ink-soft); }
.ctrl-setup-note strong { color: var(--ctrl-ink); }
.ctrl-setup-note a { font-weight: 800; }
.ctrl-pricing { background: var(--ctrl-paper); }
.ctrl-pricing .ctrl-section-heading h2 { max-width: 20ch; font-size: clamp(2.25rem,3.7vw,3.4rem); }
.ctrl-pricing-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: stretch; gap: 1rem; margin-top: clamp(3rem,6vw,5rem); }
.ctrl-price-card { display: flex; min-width: 0; flex-direction: column; padding: 2rem; border: 1px solid var(--ctrl-line); border-radius: 1.35rem; background: var(--ctrl-white); box-shadow: 0 .8rem 2rem rgba(13,46,88,.05); }
.ctrl-price-card--featured { border-color: var(--ctrl-blue); box-shadow: 0 1.5rem 4rem rgba(40,104,202,.16); }
.ctrl-price-card__popular { align-self: flex-start; margin: 0 0 .75rem; padding: .38rem .7rem; border-radius: 999px; background: var(--ctrl-blue); color: var(--ctrl-white); font-size: .7rem; font-weight: 850; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.ctrl-price-card--quiet { background: #eaf1f9; }
.ctrl-price-card__label { align-self: flex-start; margin: 0 0 1.5rem; padding: .35rem .65rem; border-radius: 999px; background: #e6f4ff; color: var(--ctrl-blue-dark); font-size: .75rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ctrl-price-card h3 { margin: 0; font-size: 1.3rem; }
.ctrl-price { display: flex; min-height: 4rem; flex-wrap: wrap; align-items: baseline; gap: .35rem; margin: 1rem 0 0; }
.ctrl-price strong { color: var(--ctrl-ink); font-size: clamp(1.75rem,2.6vw,2.55rem); letter-spacing: -.04em; }
.ctrl-price strong .woocommerce-Price-amount,
.ctrl-price strong .woocommerce-Price-amount bdi { color: inherit; white-space: nowrap; }
.ctrl-price span { color: var(--ctrl-ink-soft); }
.ctrl-tax { margin: 0; color: #66778d; font-size: .82rem; }
.ctrl-price-card ul { display: grid; flex: 1 0 auto; align-content: start; gap: .65rem; margin: 1.7rem 0 2rem; padding: 0; color: var(--ctrl-ink-soft); list-style: none; }
.ctrl-price-card li { padding-left: 1.15rem; text-indent: -1.15rem; }
.ctrl-price-card li::before { margin-right: .5rem; color: var(--ctrl-blue); font-weight: 900; content: "✓"; }
.ctrl-price-card .ctrl-button { width: 100%; margin-top: auto; }
.ctrl-button--outline { border-color: #9eb9dc; background: transparent; color: var(--ctrl-blue-dark); }
.ctrl-button--outline:hover { border-color: var(--ctrl-blue); background: #edf5ff; color: var(--ctrl-blue-dark); }
.ctrl-pricing-footnote { max-width: 60rem; margin: 1.5rem auto 0; color: #66778d; font-size: .85rem; text-align: center; }
.ctrl-demo { position: relative; overflow: hidden; background: linear-gradient(145deg,#071525,#123864); color: var(--ctrl-white); }
.ctrl-demo::after { position: absolute; right: -18rem; bottom: -24rem; width: 48rem; height: 48rem; border-radius: 50%; background: rgba(40,104,202,.24); content: ""; }
.ctrl-demo__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.85fr) minmax(22rem,.75fr); gap: clamp(3rem,8vw,7rem); align-items: center; }
.ctrl-demo .ctrl-kicker { color: #82ddf4; }
.ctrl-demo h2 { max-width: 13ch; color: var(--ctrl-white); }
.ctrl-demo__copy > p:not(.ctrl-kicker) { color: #c7d6e8; font-size: 1.08rem; }
.ctrl-check-list--light li { color: #d9e9ff; }
.ctrl-check-list--light li::before { background: rgba(130,221,244,.14); color: #82ddf4; }
.ctrl-demo__form-card { padding: clamp(1.5rem,4vw,2.5rem); border: 1px solid rgba(255,255,255,.18); border-radius: 1.5rem; background: var(--ctrl-white); color: var(--ctrl-ink); box-shadow: 0 2rem 5rem rgba(0,0,0,.25); }
.ctrl-demo-form { display: grid; gap: 1rem; }
.ctrl-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.ctrl-demo-form label > span { display: block; margin-bottom: .4rem; color: var(--ctrl-ink); font-size: .87rem; font-weight: 800; }
.ctrl-demo-form label small { color: #718196; font-weight: 500; }
.ctrl-demo-form input[type="text"],
.ctrl-demo-form input[type="email"],
.ctrl-demo-form input[type="url"] { box-sizing: border-box; width: 100%; min-height: 3.25rem; padding: .75rem .85rem; border: 1px solid #b9c9da; border-radius: .7rem; background: #f8fbff; color: var(--ctrl-ink); }
.ctrl-demo-form input:focus { border-color: var(--ctrl-blue); outline: 3px solid rgba(78,200,232,.25); outline-offset: 1px; }
.ctrl-form-consent { display: grid; grid-template-columns: 1.25rem 1fr; gap: .7rem; align-items: start; }
.ctrl-form-consent input { width: 1.1rem; height: 1.1rem; margin-top: .2rem; accent-color: var(--ctrl-blue); }
.ctrl-form-consent span { margin: 0 !important; color: var(--ctrl-ink-soft) !important; font-size: .82rem !important; font-weight: 500 !important; }
.ctrl-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.ctrl-form-meta { margin: -.35rem 0 0; color: #718196; font-size: .77rem; text-align: center; }
.ctrl-form-message { margin-bottom: 1rem; padding: .9rem 1rem; border-radius: .75rem; font-size: .9rem; }
.ctrl-form-message--success { background: #e5f8ee; color: #155b34; }
.ctrl-form-message--error { background: #fff0f0; color: #8c2424; }
.ctrl-faq { background: var(--ctrl-white); }
.ctrl-faq__grid { display: grid; grid-template-columns: minmax(16rem,.65fr) minmax(0,1.35fr); gap: clamp(3rem,8vw,7rem); align-items: start; }
.ctrl-faq__intro { position: sticky; top: 6rem; }
.ctrl-faq h2 { max-width: 18ch; font-size: clamp(2.2rem,3.5vw,3.5rem); }
.ctrl-faq__intro > p:not(.ctrl-kicker) { color: var(--ctrl-ink-soft); }
.ctrl-faq__list { border-top: 1px solid var(--ctrl-line); }
.ctrl-faq details { border-bottom: 1px solid var(--ctrl-line); }
.ctrl-faq summary { position: relative; padding: 1.35rem 3rem 1.35rem 0; color: var(--ctrl-ink); font-size: 1.05rem; font-weight: 800; cursor: pointer; list-style: none; }
.ctrl-faq summary::-webkit-details-marker { display: none; }
.ctrl-faq summary::after { position: absolute; right: .5rem; content: "+"; color: var(--ctrl-blue); font-size: 1.4rem; }
.ctrl-faq details[open] summary::after { content: "−"; }
.ctrl-faq details p { margin: -.35rem 3rem 1.4rem 0; color: var(--ctrl-ink-soft); }
.ctrl-connector-final { padding: clamp(4rem,8vw,7rem) 0; background: linear-gradient(135deg,#2868ca,#174995); color: var(--ctrl-white); }
.ctrl-connector-final__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.ctrl-connector-final .ctrl-kicker { color: #c9f4ff; }
.ctrl-connector-final h2 { max-width: 16ch; margin: 0; color: var(--ctrl-white); font-size: clamp(2.2rem,4vw,3.7rem); line-height: 1; letter-spacing: -.05em; }
.ctrl-connector-final p:not(.ctrl-kicker) { max-width: 42rem; color: #d9e9ff; }

@media (max-width: 68rem) {
  .ctrl-connector-hero__grid,
  .ctrl-connector-outcome__grid,
  .ctrl-section-heading,
  .ctrl-media-feature__grid,
  .ctrl-demo__grid,
  .ctrl-faq__grid { grid-template-columns: 1fr; }
  .ctrl-connector-hero__visual { width: min(100%,42rem); margin-inline: auto; }
  .ctrl-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ctrl-pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ctrl-faq__intro { position: static; }
}
@media (max-width: 48rem) {
  .ctrl-connector { margin-top: -3rem; }
  .ctrl-connector-hero { padding-top: 6rem; }
  .ctrl-connector-hero h1 { font-size: clamp(3rem,14vw,4.25rem); }
  .ctrl-connector-hero .ctrl-actions, .ctrl-connector-final .ctrl-actions { display: grid; }
  .ctrl-connector-hero__visual { padding: .85rem; border-radius: 1.35rem; }
  .ctrl-connector-proof { grid-template-columns: 1fr; }
  .ctrl-connector-proof li { display: grid; grid-template-columns: 1fr; gap: .15rem; }
  .ctrl-connector-jump { position: relative; }
  .ctrl-connector-jump .ctrl-shell { justify-content: flex-start; }
  .ctrl-connector-outcome h2,
  .ctrl-section-heading h2,
  .ctrl-media-feature h2,
  .ctrl-demo h2,
  .ctrl-faq h2 { font-size: clamp(2.35rem,11vw,3.35rem); }
  .ctrl-connector-metrics,
  .ctrl-feature-grid,
  .ctrl-setup-steps,
  .ctrl-pricing-grid { grid-template-columns: 1fr; }
  .ctrl-connector-metrics article { padding-inline: 0; }
  .ctrl-feature-card { min-height: 0; }
  .ctrl-setup-steps li { padding: 1.4rem; }
  .ctrl-setup-note { grid-template-columns: 1fr; }
  .ctrl-price-card--featured { margin-top: .75rem; }
  .ctrl-form-grid { grid-template-columns: 1fr; }
  .ctrl-demo__form-card { padding: 1.25rem; }
  .ctrl-connector-final__inner { display: block; }
  .ctrl-connector-final .ctrl-actions { margin-top: 2rem; }
}

/* Legal pages */
.page-id-7 .site-content > .col-full,
.page-id-1802 .site-content > .col-full {
  width: min(calc(100% - 2rem), var(--ctrl-shell));
  max-width: var(--ctrl-shell);
  padding-top: clamp(3.75rem, 8vw, 7rem);
  padding-bottom: clamp(4.5rem, 9vw, 8rem);
}
.page-id-7 .content-area,
.page-id-1802 .content-area {
  float: none;
  width: 100%;
  margin: 0;
}
.page-id-7 .widget-area,
.page-id-1802 .widget-area { display: none; }
.page-id-7 .entry-header,
.page-id-1802 .entry-header { margin: 0 0 clamp(2rem, 5vw, 4rem); }
.page-id-7 .entry-title,
.page-id-1802 .entry-title {
  max-width: 16ch;
  margin: 0;
  color: var(--ctrl-ink);
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 760;
  letter-spacing: -.06em;
  line-height: .94;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.page-id-7 .entry-content,
.page-id-1802 .entry-content { margin: 0; }
.ctrl-legal { color: var(--ctrl-ink); }
.ctrl-legal__intro {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--ctrl-line);
  border-radius: 1.5rem;
  background: linear-gradient(145deg, #fff, #eef5fc);
  box-shadow: 0 1.2rem 3.5rem rgba(13,46,88,.08);
}
.ctrl-legal__intro::after {
  position: absolute;
  right: -7rem;
  bottom: -10rem;
  width: 22rem;
  height: 22rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(78,200,232,.2), rgba(40,104,202,.06) 50%, transparent 70%);
  content: "";
}
.ctrl-legal__intro > * { position: relative; z-index: 1; }
.ctrl-legal__lead {
  max-width: 48rem;
  margin: 0;
  color: var(--ctrl-ink-soft);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  line-height: 1.6;
}
.ctrl-legal__meta { margin: 1.4rem 0 0; color: #66778d; font-size: .85rem; font-weight: 700; }
.ctrl-legal__nav { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.25rem 0 clamp(2.5rem, 6vw, 5rem); }
.ctrl-legal__nav a {
  padding: .55rem .85rem;
  border: 1px solid #bfd0e3;
  border-radius: 999px;
  background: rgba(255,255,255,.7);
  color: var(--ctrl-ink-soft);
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
}
.ctrl-legal__nav a:hover { border-color: var(--ctrl-blue); color: var(--ctrl-blue-dark); }
.ctrl-legal__layout { display: grid; grid-template-columns: minmax(0, 1fr) 18rem; gap: clamp(2.5rem, 7vw, 6rem); align-items: start; }
.ctrl-legal__content { min-width: 0; }
.ctrl-legal__section {
  scroll-margin-top: 2rem;
  padding: clamp(2rem, 4vw, 3.25rem) 0;
  border-top: 1px solid var(--ctrl-line);
}
.ctrl-legal__section:first-child { padding-top: 0; border-top: 0; }
.ctrl-legal__eyebrow {
  margin: 0 0 .75rem;
  color: var(--ctrl-blue);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ctrl-legal h2,
.ctrl-imprint__card h2 {
  margin: 0 0 1.15rem;
  color: var(--ctrl-ink);
  font-size: clamp(1.75rem, 3.3vw, 2.7rem);
  letter-spacing: -.04em;
  line-height: 1.08;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.ctrl-legal h3 { margin: 2rem 0 .65rem; color: var(--ctrl-ink); font-size: 1.22rem; line-height: 1.3; }
.ctrl-legal p { max-width: 49rem; color: var(--ctrl-ink-soft); }
.ctrl-legal a { text-underline-offset: .2em; overflow-wrap: anywhere; }
.ctrl-legal__address { margin: 1.1rem 0; color: var(--ctrl-ink-soft); font-style: normal; }
.ctrl-legal__address strong { color: var(--ctrl-ink); }
.ctrl-legal__aside { position: sticky; top: 2rem; }
.ctrl-legal__aside-card {
  padding: 1.5rem;
  border-radius: 1.25rem;
  background: linear-gradient(145deg, #0a1c31, #14355c);
  color: var(--ctrl-white);
  box-shadow: var(--ctrl-shadow);
}
.ctrl-legal__aside-card > span { color: #82ddf4; font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ctrl-legal__aside-card strong { display: block; margin-top: 1rem; color: var(--ctrl-white); font-size: 1.25rem; line-height: 1.25; }
.ctrl-legal__aside-card p { color: #c7d6e8; font-size: .9rem; }
.ctrl-legal__aside-card a { color: #fff; font-weight: 850; text-decoration: none; }
.ctrl-imprint { margin-top: 0; }
.ctrl-imprint__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; margin-top: clamp(2.5rem, 6vw, 5rem); }
.ctrl-imprint__card {
  min-width: 0;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid var(--ctrl-line);
  border-radius: 1.35rem;
  background: var(--ctrl-white);
  box-shadow: 0 .8rem 2rem rgba(13,46,88,.055);
}
.ctrl-imprint__card--primary { border-color: #9dbce2; background: linear-gradient(145deg, #fff, #edf5ff); }
.ctrl-imprint__card--wide { grid-column: 1 / -1; }
.ctrl-imprint__card p:last-child { margin-bottom: 0; }
.ctrl-imprint__details { margin: 0; }
.ctrl-imprint__details > div { display: grid; grid-template-columns: 5rem minmax(0,1fr); gap: .75rem; padding: .65rem 0; border-top: 1px solid var(--ctrl-line); }
.ctrl-imprint__details > div:first-child { border-top: 0; }
.ctrl-imprint__details dt { color: #66778d; font-size: .83rem; font-weight: 800; }
.ctrl-imprint__details dd { min-width: 0; margin: 0; }
.ctrl-imprint__identifier { color: var(--ctrl-blue-dark) !important; font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 850; letter-spacing: .02em; }
.ctrl-imprint .woocommerce-gzd-complaints-shortcode > h3 { display: none; }
.ctrl-imprint .woocommerce-gzd-complaints-shortcode { color: var(--ctrl-ink-soft); }
.ctrl-imprint__note { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--ctrl-line); color: #66778d !important; font-size: .84rem; }

@media (max-width: 56rem) {
  .ctrl-legal__layout { grid-template-columns: 1fr; }
  .ctrl-legal__aside { position: static; }
  .ctrl-legal__aside-card { max-width: 34rem; }
}
@media (max-width: 40rem) {
  .page-id-7 .site-content > .col-full,
  .page-id-1802 .site-content > .col-full { width: min(calc(100% - 2rem), var(--ctrl-shell)); padding-top: 3.5rem; }
  .page-id-7 .entry-title { font-size: clamp(2.75rem, 14vw, 4rem); }
  .page-id-1802 .entry-title {
    max-width: none;
    font-size: clamp(2rem, 8.8vw, 2.35rem);
    letter-spacing: -.055em;
    line-height: 1;
  }
  .ctrl-legal__intro { padding: 1.35rem; border-radius: 1.15rem; }
  .ctrl-legal__nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ctrl-legal__nav a { text-align: center; }
  .ctrl-imprint__grid { grid-template-columns: 1fr; }
  .ctrl-imprint__card--wide { grid-column: auto; }
  .ctrl-imprint__details > div { grid-template-columns: 1fr; gap: .15rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
