:root {
  --ps-cyan: #48bdd3;
  --ps-cyan-2: #199bb8;
  --ps-cyan-soft: #e8f8fb;
  --ps-graphite: #30383d;
  --ps-graphite-2: #1b2227;
  --ps-ink: #1f2930;
  --ps-muted: #6a7982;
  --ps-line: rgba(72, 189, 211, .2);
  --ps-white: #ffffff;
  --ps-bg: #f5fbfc;
  --ps-shadow: 0 24px 70px rgba(17, 24, 29, .14);
  --ps-shadow-cyan: 0 20px 58px rgba(72, 189, 211, .25);
  --ps-radius: 32px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 112px; }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--ps-ink);
  font-family: Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 12% 7%, rgba(72, 189, 211, .18), transparent 28rem),
    radial-gradient(circle at 95% 12%, rgba(48, 56, 61, .13), transparent 28rem),
    linear-gradient(180deg, #ffffff 0%, #f5fbfc 48%, #ffffff 100%);
  overflow-x: hidden;
}
body.products-page {
  background:
    radial-gradient(circle at 85% 12%, rgba(72, 189, 211, .22), transparent 30rem),
    radial-gradient(circle at 15% 25%, rgba(48, 56, 61, .12), transparent 26rem),
    linear-gradient(180deg, #ffffff 0%, #f4fbfc 52%, #ffffff 100%);
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -5;
  background-image:
    linear-gradient(rgba(72, 189, 211, .085) 1px, transparent 1px),
    linear-gradient(90deg, rgba(72, 189, 211, .085) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.72), rgba(0,0,0,.06) 78%, transparent);
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.section-space { padding: 112px 0; }
.section-space-sm { padding: 82px 0; }
.site-noise {
  position: fixed;
  inset: 0;
  z-index: -4;
  pointer-events: none;
  opacity: .055;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.cursor-glow {
  position: fixed;
  width: 420px;
  height: 420px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(72, 189, 211, .15), transparent 62%);
  left: var(--glow-x, 70%);
  top: var(--glow-y, 20%);
  transform: translate(-50%, -50%);
  z-index: -3;
  pointer-events: none;
  transition: left .25s ease, top .25s ease;
}

.ps-navbar {
  padding: 14px 0;
  background: rgba(255, 255, 255, .82);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(72, 189, 211, .16);
  transition: all .25s ease;
}
.ps-navbar.navbar-scrolled {
  padding: 8px 0;
  box-shadow: 0 18px 60px rgba(16, 23, 27, .09);
  background: rgba(255, 255, 255, .94);
}
.brand, .footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.brand img {
  width: 60px;
  height: 60px;
  object-fit: contain;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(72, 189, 211, .18);
}
.brand span, .footer-brand span { display: flex; flex-direction: column; line-height: 1.04; }
.brand strong, .footer-brand strong {
  color: var(--ps-graphite);
  font-family: "Space Grotesk", Manrope, sans-serif;
  font-size: 1.02rem;
  letter-spacing: -.035em;
}
.brand small, .footer-brand small { color: var(--ps-muted); font-size: .76rem; font-weight: 800; }
.navbar-toggler {
  border: 1px solid rgba(72, 189, 211, .32);
  border-radius: 17px;
  padding: 10px 12px;
}
.navbar-toggler:focus { box-shadow: 0 0 0 .22rem rgba(72, 189, 211, .16); }
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2848,56,61,0.92%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.nav-pill {
  gap: 5px;
  padding: 6px;
  border: 1px solid rgba(72, 189, 211, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.nav-link {
  color: var(--ps-graphite);
  font-weight: 800;
  border-radius: 999px;
  padding: 10px 16px !important;
  transition: all .2s ease;
}
.nav-link:hover, .nav-link.active { color: var(--ps-ink); background: rgba(72, 189, 211, .14); }
.nav-actions { margin-left: 34px; }
.btn { border: 0; border-radius: 999px; font-weight: 900; transition: all .22s ease; }
.btn-nav-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 19px;
  color: #fff;
  background: linear-gradient(135deg, var(--ps-cyan), var(--ps-cyan-2));
  box-shadow: 0 14px 32px rgba(72, 189, 211, .28);
}
.btn-nav-primary:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 20px 42px rgba(72, 189, 211, .34); }

.hero-lab {
  position: relative;
  min-height: 100vh;
  padding: 160px 0 86px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero-grid-lines {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 78% 25%, rgba(72,189,211,.22), transparent 24rem),
    linear-gradient(135deg, rgba(255,255,255,.6), rgba(255,255,255,0));
}
.hero-grid-lines::after {
  content: "";
  position: absolute;
  width: 42vw;
  height: 42vw;
  max-width: 680px;
  max-height: 680px;
  right: -11vw;
  top: 120px;
  border-radius: 999px;
  border: 1px solid rgba(72, 189, 211, .22);
  background: repeating-conic-gradient(from 90deg, rgba(72,189,211,.10) 0 10deg, transparent 10deg 20deg);
  animation: orbitSpin 38s linear infinite;
}
@keyframes orbitSpin { to { transform: rotate(360deg); } }
.micro-badge, .section-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--ps-cyan-2);
  background: rgba(72,189,211,.11);
  border: 1px solid rgba(72,189,211,.22);
  border-radius: 999px;
  font-weight: 900;
  font-size: .78rem;
  letter-spacing: .02em;
  padding: 9px 13px;
  margin-bottom: 20px;
}
.section-label { background: transparent; border: 0; padding: 0; margin-bottom: 13px; text-transform: uppercase; letter-spacing: .12em; }
.hero-copy h1, .products-hero h1, .solution-hero h1 {
  font-family: "Space Grotesk", Manrope, sans-serif;
  color: var(--ps-graphite-2);
  font-size: clamp(2.6rem, 6vw, 5.55rem);
  line-height: .93;
  letter-spacing: -.07em;
  margin-bottom: 22px;
}
.hero-copy p, .products-hero p, .solution-hero p {
  color: var(--ps-muted);
  font-size: 1.15rem;
  line-height: 1.74;
  max-width: 610px;
  margin-bottom: 28px;
}
.hero-buttons { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.btn-magnetic, .btn-form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 14px 23px;
  min-height: 54px;
  color: #fff;
  background: linear-gradient(135deg, var(--ps-graphite), #12181c);
  box-shadow: 0 20px 46px rgba(17,24,29,.22);
}
.btn-magnetic:hover, .btn-form-submit:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 28px 60px rgba(17,24,29,.28); }
.btn-outline-glass, .btn-linkline {
  display: inline-flex;
  align-items: center;
  min-height: 54px;
  padding: 13px 20px;
  color: var(--ps-graphite);
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(72,189,211,.24);
  box-shadow: 0 15px 45px rgba(17,24,29,.06);
}
.btn-outline-glass:hover, .btn-linkline:hover { color: var(--ps-ink); background: rgba(72,189,211,.12); transform: translateY(-2px); }
.signal-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 36px;
  max-width: 620px;
}
.signal-row div {
  min-height: 104px;
  padding: 17px;
  border-radius: 23px;
  border: 1px solid rgba(72,189,211,.18);
  background: rgba(255,255,255,.72);
  box-shadow: 0 16px 50px rgba(17,24,29,.06);
}
.signal-row strong { display: block; color: var(--ps-cyan-2); font-family: "Space Grotesk", Manrope, sans-serif; font-size: 1.45rem; }
.signal-row span { display: block; color: var(--ps-graphite); font-weight: 850; font-size: .88rem; margin-top: 7px; }

.hero-console { position: relative; min-height: 650px; }
.heroSwiper { height: 600px; border-radius: 44px; overflow: hidden; box-shadow: var(--ps-shadow); }
.banner-card {
  position: relative;
  height: 600px;
  border-radius: 44px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}
.banner-support { background-image: url("https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1400&q=80"); }
.banner-infra { background-image: url("https://images.unsplash.com/photo-1587202372634-32705e3bf49c?auto=format&fit=crop&w=1400&q=80"); }
.banner-cloud { background-image: url("https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&w=1400&q=80"); }
.banner-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(17,24,29,.83) 0%, rgba(17,24,29,.58) 44%, rgba(17,24,29,.05) 100%),
    radial-gradient(circle at 82% 17%, rgba(72,189,211,.42), transparent 23rem);
}
.banner-content {
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(650px, 100%);
  padding: 50px;
  color: #fff;
}
.banner-content span { display: inline-flex; color: #bdf3fb; font-weight: 900; margin-bottom: 12px; text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; }
.banner-content h2 { font-family: "Space Grotesk", Manrope, sans-serif; font-size: clamp(2rem, 4vw, 3.45rem); line-height: .98; letter-spacing: -.05em; margin-bottom: 16px; }
.banner-content p { color: rgba(255,255,255,.78); line-height: 1.7; max-width: 530px; margin-bottom: 22px; }
.btn-banner { color: var(--ps-graphite); background: #fff; padding: 13px 19px; box-shadow: 0 15px 36px rgba(0,0,0,.12); }
.btn-banner:hover { color: var(--ps-graphite); background: #dff8fc; transform: translateY(-2px); }
.hero-swiper-controls {
  position: absolute;
  left: 32px;
  right: 32px;
  bottom: 24px;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}
.hero-swiper-controls .swiper-pagination { position: static; width: auto; pointer-events: auto; }
.swiper-pagination-bullet { background: #fff; opacity: .55; }
.swiper-pagination-bullet-active { background: var(--ps-cyan); opacity: 1; }
.swiper-nav-buttons { display: flex; gap: 10px; pointer-events: auto; }
.hero-prev, .hero-next {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
}
.hero-prev:hover, .hero-next:hover { background: var(--ps-cyan); }
.floating-ticket, .console-panel {
  position: absolute;
  z-index: 5;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(20px);
  border-radius: 24px;
  box-shadow: 0 22px 55px rgba(17,24,29,.14);
}
.floating-ticket {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 17px;
}
.floating-ticket i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(135deg, var(--ps-cyan), var(--ps-cyan-2));
}
.floating-ticket strong, .floating-ticket span { display: block; }
.floating-ticket strong { color: var(--ps-graphite); font-size: .92rem; }
.floating-ticket span { color: var(--ps-muted); font-size: .78rem; font-weight: 750; }
.ticket-one { top: 44px; left: -25px; animation: floatY 5s ease-in-out infinite; }
.ticket-two { right: -10px; bottom: 118px; animation: floatY 5.8s ease-in-out infinite reverse; }
@keyframes floatY { 50% { transform: translateY(-12px); } }
.console-panel { left: 34px; bottom: -28px; padding: 18px; width: 300px; background: rgba(27,34,39,.9); color: #d9f9ff; border-color: rgba(72,189,211,.25); }
.console-top { display: flex; gap: 7px; margin-bottom: 14px; }
.console-top span { width: 10px; height: 10px; border-radius: 50%; background: var(--ps-cyan); opacity: .8; }
.console-line { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .85rem; margin: 8px 0; color: rgba(255,255,255,.76); }
.console-line b { color: var(--ps-cyan); }
.console-line.ok { color: #b9f8d0; }

.display-title { font-family: "Space Grotesk", Manrope, sans-serif; color: var(--ps-graphite-2); font-size: clamp(2.1rem, 4.4vw, 4rem); line-height: 1; letter-spacing: -.055em; margin-bottom: 20px; }
.lead-text { color: var(--ps-muted); font-size: 1.05rem; line-height: 1.78; }
.body-text { color: var(--ps-muted); line-height: 1.75; }

.help-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.help-card {
  position: relative;
  min-height: 320px;
  padding: 26px;
  border-radius: 32px;
  border: 1px solid rgba(72,189,211,.2);
  background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.62));
  box-shadow: 0 20px 60px rgba(17,24,29,.07);
  overflow: hidden;
}
.help-card::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  right: -75px;
  bottom: -80px;
  background: radial-gradient(circle, rgba(72,189,211,.26), transparent 64%);
}
.help-card:hover { transform: translateY(-8px); box-shadow: var(--ps-shadow-cyan); border-color: rgba(72,189,211,.38); }
.help-icon { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 22px; color: #fff; background: linear-gradient(135deg, var(--ps-cyan), var(--ps-cyan-2)); font-size: 1.55rem; margin-bottom: 22px; }
.help-card strong { display: block; color: var(--ps-graphite); font-size: 1.15rem; line-height: 1.2; margin-bottom: 12px; }
.help-card p { color: var(--ps-muted); line-height: 1.65; margin-bottom: 24px; }
.help-card em { position: absolute; left: 26px; bottom: 24px; color: var(--ps-cyan-2); font-style: normal; font-weight: 900; }

.trust-strip { padding: 22px 0; }
.trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  padding: 14px;
  border-radius: 28px;
  background: var(--ps-graphite-2);
  box-shadow: var(--ps-shadow);
}
.trust-grid div {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  padding: 18px;
  border-radius: 20px;
  background: rgba(255,255,255,.055);
}
.trust-grid i { color: var(--ps-cyan); font-size: 1.35rem; }
.trust-grid span { font-weight: 800; font-size: .94rem; line-height: 1.35; }

.studio-frame { position: relative; border-radius: 42px; overflow: hidden; box-shadow: var(--ps-shadow); min-height: 560px; }
.studio-frame > img { width: 100%; height: 560px; object-fit: cover; display: block; }
.studio-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent, rgba(27,34,39,.7)); }
.studio-badge, .studio-card {
  position: absolute;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.36);
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(18px);
  box-shadow: 0 20px 55px rgba(17,24,29,.16);
}
.studio-badge { top: 22px; left: 22px; display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 999px; font-weight: 900; }
.studio-badge img { width: 38px; height: 38px; object-fit: contain; border-radius: 12px; background: #fff; }
.studio-card { right: 22px; bottom: 22px; padding: 18px; border-radius: 24px; }
.studio-card strong, .studio-card span { display: block; }
.studio-card strong { color: var(--ps-graphite); }
.studio-card span { color: var(--ps-muted); font-size: .88rem; font-weight: 750; }
.about-list { display: grid; gap: 14px; margin-top: 28px; }
.about-list div { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border-radius: 20px; background: #fff; border: 1px solid rgba(72,189,211,.18); box-shadow: 0 15px 40px rgba(17,24,29,.05); }
.about-list i { color: var(--ps-cyan-2); font-size: 1.2rem; }
.about-list span { color: var(--ps-graphite); font-weight: 800; }

.preview-shell {
  display: grid;
  grid-template-columns: .9fr 1.4fr;
  gap: 24px;
  padding: 28px;
  border-radius: 42px;
  background: linear-gradient(135deg, var(--ps-graphite-2), #26333a);
  color: #fff;
  box-shadow: var(--ps-shadow);
  overflow: hidden;
  position: relative;
}
.preview-shell::before { content: ""; position: absolute; width: 520px; height: 520px; right: -190px; top: -190px; border-radius: 50%; background: radial-gradient(circle, rgba(72,189,211,.36), transparent 66%); }
.preview-title { position: relative; padding: 28px; }
.preview-title h2 { font-family: "Space Grotesk", Manrope, sans-serif; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; letter-spacing: -.05em; margin-bottom: 16px; }
.preview-title p { color: rgba(255,255,255,.7); line-height: 1.75; margin-bottom: 22px; }
.preview-cards { position: relative; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.mini-solution { min-height: 210px; padding: 24px; border-radius: 28px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(10px); }
.mini-solution i { color: var(--ps-cyan); font-size: 2rem; }
.mini-solution h3 { margin: 18px 0 10px; font-weight: 900; }
.mini-solution p { color: rgba(255,255,255,.7); line-height: 1.6; margin: 0; }

.compare-board { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; }
.compare-card { min-height: 330px; padding: 30px; border-radius: 34px; background: #fff; border: 1px solid rgba(72,189,211,.18); box-shadow: 0 20px 60px rgba(17,24,29,.07); }
.compare-card span { display: inline-flex; color: var(--ps-cyan-2); font-weight: 900; margin-bottom: 14px; text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; }
.compare-card h3 { font-family: "Space Grotesk", Manrope, sans-serif; color: var(--ps-graphite); font-size: 2rem; letter-spacing: -.045em; margin-bottom: 18px; }
.compare-card ul { display: grid; gap: 12px; margin: 0; padding-left: 18px; color: var(--ps-muted); font-weight: 700; }
.compare-card.after { background: linear-gradient(180deg, #ffffff, var(--ps-cyan-soft)); border-color: rgba(72,189,211,.28); }
.compare-arrow { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--ps-cyan), var(--ps-cyan-2)); box-shadow: var(--ps-shadow-cyan); }

.business-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 46px;
  overflow: hidden;
  background: var(--ps-graphite-2);
  box-shadow: var(--ps-shadow);
}
.business-media img { width: 100%; height: 100%; min-height: 650px; object-fit: cover; display: block; opacity: .85; }
.business-content { padding: clamp(34px, 5vw, 72px); color: #fff; }
.business-content h2 { font-family: "Space Grotesk", Manrope, sans-serif; font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: .98; letter-spacing: -.06em; margin-bottom: 20px; }
.business-content p { color: rgba(255,255,255,.7); line-height: 1.78; margin-bottom: 26px; }
.business-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 30px; }
.business-list span { display: flex; align-items: center; gap: 9px; padding: 13px; border-radius: 16px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.86); font-weight: 800; }
.business-list i { color: var(--ps-cyan); }

.ps-accordion .accordion-item { border: 1px solid rgba(72,189,211,.18); border-radius: 22px; overflow: hidden; margin-bottom: 12px; box-shadow: 0 15px 45px rgba(17,24,29,.045); }
.ps-accordion .accordion-button { padding: 20px 22px; font-weight: 900; color: var(--ps-graphite); background: #fff; box-shadow: none; }
.ps-accordion .accordion-button:not(.collapsed) { background: var(--ps-cyan-soft); color: var(--ps-graphite-2); }
.ps-accordion .accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(72,189,211,.14); }
.ps-accordion .accordion-body { color: var(--ps-muted); line-height: 1.75; padding: 0 22px 22px; }

.contact-card, .ps-form {
  border: 1px solid rgba(72,189,211,.18);
  border-radius: 36px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 24px 72px rgba(17,24,29,.08);
}
.contact-card { padding: 36px; overflow: hidden; position: relative; }
.contact-card::after { content: ""; position: absolute; width: 310px; height: 310px; right: -160px; bottom: -160px; border-radius: 50%; background: radial-gradient(circle, rgba(72,189,211,.25), transparent 65%); }
.contact-logo { width: 78px; height: 78px; object-fit: contain; border-radius: 24px; box-shadow: 0 16px 36px rgba(72,189,211,.18); margin-bottom: 24px; }
.contact-card h2 { font-family: "Space Grotesk", Manrope, sans-serif; color: var(--ps-graphite); font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1; letter-spacing: -.05em; margin-bottom: 18px; }
.contact-card p { color: var(--ps-muted); line-height: 1.78; }
.contact-actions { display: grid; gap: 12px; margin-top: 24px; position: relative; z-index: 1; }
.contact-action { display: flex; align-items: center; gap: 12px; padding: 16px; border-radius: 19px; background: #fff; border: 1px solid rgba(72,189,211,.18); color: var(--ps-graphite); font-weight: 900; }
.contact-action i { color: var(--ps-cyan-2); font-size: 1.3rem; }
.contact-action:hover { background: var(--ps-cyan-soft); }
.ps-form { padding: 36px; }
.ps-form label { display: block; color: var(--ps-graphite); font-weight: 900; margin-bottom: 8px; }
.ps-form label small { color: var(--ps-muted); }
.ps-form input, .ps-form select, .ps-form textarea {
  width: 100%;
  border: 1px solid rgba(72,189,211,.22);
  border-radius: 18px;
  background: #fff;
  color: var(--ps-graphite);
  outline: none;
  padding: 14px 15px;
  transition: all .2s ease;
}
.ps-form input:focus, .ps-form select:focus, .ps-form textarea:focus { border-color: var(--ps-cyan); box-shadow: 0 0 0 .22rem rgba(72,189,211,.12); }
.ps-form textarea { resize: vertical; }
.btn-form-submit { width: 100%; margin-top: 4px; background: linear-gradient(135deg, var(--ps-cyan), var(--ps-cyan-2)); box-shadow: var(--ps-shadow-cyan); }
.form-alert { display: none; margin-top: 14px; border-radius: 16px; padding: 13px 15px; font-weight: 800; }
.form-alert.show { display: block; }
.form-alert.success { color: #0d6b3a; background: #e5f8ee; }
.form-alert.error { color: #9a1c1c; background: #ffe8e8; }

.final-cta { padding: 30px 0 96px; }
.final-cta-card, .product-contact-card, .related-card {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: clamp(30px, 5vw, 58px);
  border-radius: 42px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 12%, rgba(72,189,211,.44), transparent 26rem),
    linear-gradient(135deg, var(--ps-graphite-2), #11171b);
  box-shadow: var(--ps-shadow);
}
.final-cta-card span, .product-contact-card span, .related-card span { color: #bdf3fb; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; }
.final-cta-card h2, .product-contact-card h2, .related-card h2 { font-family: "Space Grotesk", Manrope, sans-serif; font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1; letter-spacing: -.055em; margin: 12px 0; }
.final-cta-card p, .product-contact-card p { color: rgba(255,255,255,.72); max-width: 720px; line-height: 1.72; margin: 0; }
.final-actions { display: flex; gap: 12px; flex-wrap: wrap; flex-shrink: 0; }
.btn-white-pill, .btn-dark-pill { padding: 14px 21px; min-height: 52px; display: inline-flex; align-items: center; justify-content: center; }
.btn-white-pill { color: var(--ps-graphite); background: #fff; }
.btn-white-pill:hover { color: var(--ps-graphite); transform: translateY(-2px); background: #dff8fc; }
.btn-dark-pill { color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); }
.btn-dark-pill:hover { color: #fff; transform: translateY(-2px); background: rgba(255,255,255,.18); }

.site-footer { padding: 48px 0 30px; background: #fff; border-top: 1px solid rgba(72,189,211,.16); }
.footer-brand img { width: 60px; height: 60px; object-fit: contain; border-radius: 20px; box-shadow: 0 14px 34px rgba(72,189,211,.17); }
.site-footer p { color: var(--ps-muted); margin: 18px 0 0; line-height: 1.7; max-width: 560px; }
.footer-links { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 12px; }
.footer-links a { color: var(--ps-graphite); font-weight: 900; padding: 10px 14px; border-radius: 999px; background: rgba(72,189,211,.08); }
.footer-links a:hover { background: rgba(72,189,211,.16); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(72,189,211,.14); color: var(--ps-muted); font-size: .9rem; font-weight: 750; }

.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1025;
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #25d366;
  font-size: 1.9rem;
  box-shadow: 0 18px 44px rgba(37,211,102,.38);
}
.whatsapp-float:hover { color: #fff; transform: translateY(-4px) scale(1.04); }
.whatsapp-widget {
  position: fixed;
  right: 24px;
  bottom: 96px;
  z-index: 1024;
  width: min(350px, calc(100vw - 32px));
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 18px 20px 18px 18px;
  border-radius: 26px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(72,189,211,.22);
  box-shadow: 0 22px 66px rgba(17,24,29,.18);
  backdrop-filter: blur(18px);
  transform: translateY(20px);
  opacity: 0;
  pointer-events: none;
  transition: all .35s ease;
}
.whatsapp-widget.show { opacity: 1; transform: translateY(0); pointer-events: auto; }
.widget-pulse { width: 46px; height: 46px; display: grid; place-items: center; flex-shrink: 0; border-radius: 18px; color: #fff; background: #25d366; font-size: 1.45rem; }
.whatsapp-widget strong, .whatsapp-widget span, .whatsapp-widget a { display: block; }
.whatsapp-widget strong { color: var(--ps-graphite); line-height: 1.25; }
.whatsapp-widget span { color: var(--ps-muted); font-size: .9rem; margin: 4px 0 9px; }
.whatsapp-widget a { color: #159b48; font-weight: 900; }
.widget-close { position: absolute; right: 10px; top: 9px; width: 28px; height: 28px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(48,56,61,.08); color: var(--ps-graphite); }
.widget-close:hover { background: rgba(48,56,61,.14); }

/* Produtos */
.products-hero, .solution-hero { position: relative; padding: 165px 0 96px; overflow: hidden; }
.products-orbit { position: absolute; width: 560px; height: 560px; right: -170px; top: 80px; border-radius: 50%; border: 1px solid rgba(72,189,211,.2); background: repeating-conic-gradient(rgba(72,189,211,.12) 0 8deg, transparent 8deg 18deg); animation: orbitSpin 42s linear infinite; }
.products-visual, .solution-image-shell { position: relative; border-radius: 42px; overflow: hidden; box-shadow: var(--ps-shadow); }
.products-visual img, .solution-image-shell img { width: 100%; height: 560px; object-fit: cover; display: block; }
.products-visual::after, .solution-image-shell::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent, rgba(27,34,39,.52)); pointer-events: none; }
.products-visual-card, .solution-floating { position: absolute; z-index: 2; display: flex; align-items: center; gap: 10px; padding: 14px 17px; border-radius: 22px; background: rgba(255,255,255,.82); backdrop-filter: blur(18px); color: var(--ps-graphite); font-weight: 900; box-shadow: 0 22px 50px rgba(17,24,29,.14); }
.products-visual-card i, .solution-floating i { color: var(--ps-cyan-2); font-size: 1.3rem; }
.products-visual-card.top-card { left: 24px; top: 24px; }
.products-visual-card.bottom-card { right: 24px; bottom: 24px; }
.catalog-grid { display: grid; gap: 24px; }
.catalog-card {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  min-height: 430px;
  border-radius: 38px;
  overflow: hidden;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(72,189,211,.18);
  box-shadow: 0 22px 68px rgba(17,24,29,.075);
}
.catalog-card:nth-child(even) { grid-template-columns: 1.15fr .85fr; }
.catalog-card:nth-child(even) .catalog-image { order: 2; }
.catalog-card.featured { border-color: rgba(72,189,211,.34); box-shadow: var(--ps-shadow-cyan); }
.catalog-image img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; display: block; }
.catalog-content { padding: clamp(28px, 4vw, 52px); }
.catalog-content > span { color: var(--ps-cyan-2); font-weight: 900; text-transform: uppercase; letter-spacing: .1em; font-size: .76rem; }
.catalog-content h3 { font-family: "Space Grotesk", Manrope, sans-serif; color: var(--ps-graphite-2); font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1; letter-spacing: -.05em; margin: 14px 0 16px; }
.catalog-content p { color: var(--ps-muted); line-height: 1.75; }
.catalog-content ul { display: grid; gap: 10px; margin: 22px 0; padding: 0; list-style: none; }
.catalog-content li { display: flex; align-items: center; gap: 10px; color: var(--ps-graphite); font-weight: 800; }
.catalog-content li i { color: var(--ps-cyan-2); }
.catalog-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.btn-card-more, .btn-card-whatsapp { padding: 12px 18px; min-height: 48px; display: inline-flex; align-items: center; gap: 9px; }
.btn-card-more { color: #fff; background: var(--ps-graphite-2); }
.btn-card-more:hover { color: #fff; transform: translateY(-2px); background: var(--ps-graphite); }
.btn-card-whatsapp { color: #fff; background: #25d366; box-shadow: 0 16px 35px rgba(37,211,102,.24); }
.btn-card-whatsapp:hover { color: #fff; transform: translateY(-2px); background: #1eb95a; }
.method-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.method-card { min-height: 240px; padding: 26px; border-radius: 30px; background: #fff; border: 1px solid rgba(72,189,211,.18); box-shadow: 0 18px 54px rgba(17,24,29,.055); }
.method-card span { color: var(--ps-cyan-2); font-family: "Space Grotesk", Manrope, sans-serif; font-size: 2rem; font-weight: 800; }
.method-card h3 { color: var(--ps-graphite); font-weight: 950; margin: 20px 0 10px; }
.method-card p { color: var(--ps-muted); line-height: 1.65; margin: 0; }

/* Página de detalhes */
.back-link { display: inline-flex; align-items: center; gap: 8px; color: var(--ps-muted); font-weight: 900; margin-bottom: 18px; }
.back-link:hover { color: var(--ps-cyan-2); }
.solution-image-shell img { height: 590px; }
.solution-floating { left: 24px; bottom: 24px; }
.detail-benefits { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 28px; }
.benefit-pill { display: flex; gap: 11px; align-items: flex-start; padding: 18px; border-radius: 22px; background: #fff; border: 1px solid rgba(72,189,211,.18); box-shadow: 0 16px 45px rgba(17,24,29,.05); }
.benefit-pill i { color: var(--ps-cyan-2); font-size: 1.25rem; }
.benefit-pill span { color: var(--ps-graphite); font-weight: 850; }
.detail-card { position: sticky; top: 115px; padding: 30px; border-radius: 32px; background: var(--ps-graphite-2); color: #fff; box-shadow: var(--ps-shadow); }
.detail-card h3 { font-family: "Space Grotesk", Manrope, sans-serif; font-size: 1.8rem; letter-spacing: -.04em; margin-bottom: 20px; }
.detail-card ul { display: grid; gap: 13px; padding: 0; margin: 0 0 24px; list-style: none; }
.detail-card li { display: flex; gap: 10px; color: rgba(255,255,255,.8); line-height: 1.55; }
.detail-card li::before { content: "✓"; color: var(--ps-cyan); font-weight: 900; }
.related-links { display: flex; flex-wrap: wrap; gap: 10px; }
.related-links a { color: #fff; font-weight: 900; padding: 12px 15px; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); }
.related-links a:hover { background: rgba(255,255,255,.2); }

@media (max-width: 1199px) {
  .help-grid, .trust-grid, .method-grid { grid-template-columns: repeat(2, 1fr); }
  .business-card, .preview-shell { grid-template-columns: 1fr; }
  .business-media img { min-height: 420px; }
}
@media (max-width: 991px) {
  .ps-navbar { padding: 10px 0; }
  .brand img { width: 52px; height: 52px; border-radius: 17px; }
  .navbar-collapse { margin-top: 13px; padding: 14px; border-radius: 26px; background: rgba(255,255,255,.95); border: 1px solid rgba(72,189,211,.18); box-shadow: 0 20px 50px rgba(17,24,29,.09); }
  .nav-pill { border-radius: 22px; display: grid; gap: 5px; background: transparent; border: 0; padding: 0; }
  .nav-link { padding: 12px 14px !important; }
  .nav-actions { margin-left: 0; margin-top: 12px; }
  .btn-nav-primary { width: 100%; }
  .hero-lab { padding: 135px 0 70px; }
  .hero-console { min-height: 560px; }
  .heroSwiper, .banner-card { height: 520px; }
  .banner-content { padding: 34px; }
  .ticket-one { left: 10px; top: 20px; }
  .ticket-two { right: 10px; bottom: 112px; }
  .console-panel { left: 16px; bottom: -18px; width: min(300px, calc(100% - 32px)); }
  .studio-frame, .studio-frame > img { min-height: 470px; height: 470px; }
  .compare-board { grid-template-columns: 1fr; }
  .compare-arrow { transform: rotate(90deg); margin: auto; }
  .business-list, .detail-benefits { grid-template-columns: 1fr; }
  .catalog-card, .catalog-card:nth-child(even) { grid-template-columns: 1fr; }
  .catalog-card:nth-child(even) .catalog-image { order: 0; }
  .catalog-image img { min-height: 310px; }
  .final-cta-card, .product-contact-card, .related-card { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 767px) {
  .section-space { padding: 78px 0; }
  .section-space-sm { padding: 62px 0; }
  .hero-copy h1, .products-hero h1, .solution-hero h1 { font-size: clamp(2.35rem, 15vw, 4rem); }
  .hero-copy p, .products-hero p, .solution-hero p { font-size: 1rem; }
  .signal-row { grid-template-columns: 1fr; }
  .help-grid, .trust-grid, .preview-cards, .method-grid { grid-template-columns: 1fr; }
  .hero-console { min-height: 520px; }
  .heroSwiper, .banner-card { height: 500px; border-radius: 34px; }
  .banner-content { padding: 28px; }
  .banner-content h2 { font-size: 2.25rem; }
  .floating-ticket { display: none; }
  .console-panel { display: none; }
  .products-hero, .solution-hero { padding: 135px 0 70px; }
  .products-visual img, .solution-image-shell img { height: 420px; }
  .contact-card, .ps-form { padding: 24px; border-radius: 28px; }
  .footer-links { justify-content: flex-start; }
  .footer-bottom { flex-direction: column; gap: 8px; }
  .whatsapp-widget { right: 16px; bottom: 88px; }
  .whatsapp-float { right: 16px; bottom: 18px; width: 58px; height: 58px; }
}
@media (max-width: 420px) {
  .brand span { display: none; }
  .hero-buttons .btn { width: 100%; }
  .final-actions, .catalog-actions { width: 100%; }
  .final-actions .btn, .catalog-actions .btn { width: 100%; }
}

/* Banner inicial v6 - experiência guiada */
.hero-command {
  position: relative;
  min-height: 100vh;
  padding: 142px 0 78px;
  overflow: hidden;
}
.hero-command-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 14% 18%, rgba(72, 189, 211, .32), transparent 26rem),
    radial-gradient(circle at 88% 8%, rgba(48, 56, 61, .20), transparent 28rem),
    linear-gradient(180deg, #ffffff 0%, #ecf9fb 100%);
}
.hero-command-bg::before,
.hero-command-bg::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.hero-command-bg::before {
  width: 760px;
  height: 760px;
  right: -210px;
  top: 90px;
  border-radius: 999px;
  border: 1px solid rgba(72, 189, 211, .22);
  background: repeating-conic-gradient(from 30deg, rgba(72,189,211,.12) 0 9deg, transparent 9deg 18deg);
  animation: orbitSpin 42s linear infinite;
  opacity: .68;
}
.hero-command-bg::after {
  inset: 0;
  background-image:
    linear-gradient(rgba(72, 189, 211, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(72, 189, 211, .08) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.78), rgba(0,0,0,.18), transparent 90%);
}
.hero-command-shell {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 4vw, 58px);
  border-radius: 46px;
  background:
    radial-gradient(circle at 74% 18%, rgba(72, 189, 211, .30), transparent 28rem),
    radial-gradient(circle at 4% 95%, rgba(72, 189, 211, .18), transparent 24rem),
    linear-gradient(135deg, #141b20 0%, #263137 58%, #344247 100%);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 34px 100px rgba(17,24,29,.25);
}
.hero-command-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg, rgba(255,255,255,.10), transparent 36%),
    radial-gradient(circle at 82% 78%, rgba(255,255,255,.10), transparent 20rem);
}
.hero-command-copy {
  position: relative;
  z-index: 2;
  color: #fff;
}
.hero-badge {
  color: #dffbff;
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.18);
}
.hero-command-copy h1 {
  max-width: 760px;
  margin: 0 0 22px;
  color: #fff;
  font-family: "Space Grotesk", Manrope, sans-serif;
  font-size: clamp(2.55rem, 5.6vw, 5.1rem);
  line-height: .94;
  letter-spacing: -.07em;
}
.hero-command-copy p {
  max-width: 690px;
  margin: 0 0 26px;
  color: rgba(255,255,255,.76);
  font-size: 1.12rem;
  line-height: 1.72;
}
.hero-service-finder {
  width: min(680px, 100%);
  padding: 18px;
  margin: 28px 0 22px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 28px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}
.finder-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.finder-title strong {
  color: #fff;
  font-family: "Space Grotesk", Manrope, sans-serif;
  font-size: 1.05rem;
  letter-spacing: -.02em;
}
.finder-title span {
  color: rgba(255,255,255,.58);
  font-weight: 750;
  font-size: .84rem;
}
.finder-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.finder-card {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 58px;
  padding: 12px 14px;
  color: rgba(255,255,255,.90);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 19px;
  background: rgba(255,255,255,.07);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.finder-card i {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: #123238;
  border-radius: 14px;
  background: linear-gradient(135deg, #dffbff, var(--ps-cyan));
}
.finder-card span { font-weight: 900; font-size: .92rem; line-height: 1.2; }
.finder-card:hover {
  color: #fff;
  transform: translateY(-3px);
  background: rgba(72,189,211,.16);
  border-color: rgba(72,189,211,.45);
}
.hero-command-actions { margin-top: 12px; }
.btn-hero-primary,
.btn-hero-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 56px;
  padding: 14px 23px;
  border-radius: 999px;
}
.btn-hero-primary {
  color: #123238;
  background: linear-gradient(135deg, #dffbff, var(--ps-cyan));
  box-shadow: 0 22px 50px rgba(72,189,211,.28);
}
.btn-hero-primary:hover { color: #123238; transform: translateY(-3px); box-shadow: 0 28px 65px rgba(72,189,211,.34); }
.btn-hero-secondary {
  color: #fff;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
}
.btn-hero-secondary:hover { color: #fff; background: rgba(255,255,255,.16); transform: translateY(-3px); }
.hero-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: min(680px, 100%);
  margin-top: 28px;
}
.hero-steps div {
  min-height: 94px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 22px;
  background: rgba(255,255,255,.065);
}
.hero-steps span {
  display: block;
  color: var(--ps-cyan);
  font-family: "Space Grotesk", Manrope, sans-serif;
  font-weight: 900;
  font-size: 1.3rem;
  margin-bottom: 6px;
}
.hero-steps strong {
  display: block;
  color: rgba(255,255,255,.86);
  font-size: .88rem;
  line-height: 1.35;
}
.hero-visual-stack {
  position: relative;
  z-index: 2;
  min-height: 650px;
}
.hero-photo-card {
  position: absolute;
  inset: 20px 0 52px 58px;
  overflow: hidden;
  border-radius: 38px;
  border: 1px solid rgba(255,255,255,.25);
  box-shadow: 0 34px 90px rgba(0,0,0,.30);
  transform: rotate(1.2deg);
}
.hero-photo-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.02);
}
.hero-photo-gradient {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 28%, rgba(17,24,29,.88) 100%),
    radial-gradient(circle at 78% 18%, rgba(72,189,211,.45), transparent 18rem);
}
.hero-photo-caption {
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 28px;
  color: #fff;
}
.hero-photo-caption span {
  display: inline-flex;
  color: #c8f8ff;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 950;
  font-size: .76rem;
  margin-bottom: 9px;
}
.hero-photo-caption strong {
  display: block;
  max-width: 440px;
  font-family: "Space Grotesk", Manrope, sans-serif;
  font-size: clamp(1.7rem, 3vw, 2.65rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.hero-status-panel,
.hero-quick-card,
.hero-solution-dock {
  position: absolute;
  z-index: 4;
  border: 1px solid rgba(255,255,255,.52);
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(22px);
  box-shadow: 0 24px 70px rgba(17,24,29,.20);
}
.hero-status-panel {
  top: 62px;
  left: 0;
  width: min(330px, 60%);
  padding: 18px;
  border-radius: 28px;
}
.status-header {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 14px;
  color: var(--ps-graphite-2);
  font-weight: 950;
}
.status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--ps-cyan);
  box-shadow: 0 0 0 7px rgba(72,189,211,.16);
}
.status-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 18px;
  color: var(--ps-muted);
}
.status-row + .status-row { margin-top: 6px; }
.status-row.active { background: var(--ps-cyan-soft); color: var(--ps-graphite); }
.status-row i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(135deg, var(--ps-cyan), var(--ps-cyan-2));
}
.status-row strong { display: block; color: var(--ps-graphite-2); font-size: .9rem; line-height: 1.2; }
.status-row span { display: block; font-size: .78rem; font-weight: 750; }
.hero-quick-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 24px;
}
.hero-quick-card i {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: #123238;
  border-radius: 16px;
  background: linear-gradient(135deg, #dffbff, var(--ps-cyan));
}
.hero-quick-card strong { display: block; color: var(--ps-graphite-2); font-size: .94rem; line-height: 1.1; }
.hero-quick-card span { display: block; color: var(--ps-muted); font-size: .78rem; font-weight: 800; margin-top: 3px; }
.quick-card-top { right: 0; top: 15px; }
.quick-card-bottom { left: 10px; bottom: 42px; }
.hero-solution-dock {
  right: 22px;
  bottom: 0;
  width: min(430px, 78%);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 10px;
  border-radius: 26px;
}
.hero-solution-dock a {
  position: relative;
  overflow: hidden;
  min-height: 105px;
  border-radius: 19px;
  color: #fff;
  isolation: isolate;
}
.hero-solution-dock img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  z-index: -2;
  transition: transform .25s ease;
}
.hero-solution-dock a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, transparent, rgba(17,24,29,.78));
}
.hero-solution-dock span {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 10px;
  font-weight: 950;
  font-size: .82rem;
}
.hero-solution-dock a:hover img { transform: scale(1.08); }

@media (max-width: 1199px) {
  .hero-command-shell { padding: 34px; }
  .hero-visual-stack { min-height: 580px; }
  .hero-photo-card { inset: 46px 0 54px 40px; }
  .hero-status-panel { width: min(315px, 64%); }
}
@media (max-width: 991px) {
  .hero-command { padding: 128px 0 66px; }
  .hero-command-shell { border-radius: 36px; }
  .hero-command-copy h1 { font-size: clamp(2.4rem, 9vw, 4.3rem); }
  .hero-visual-stack { min-height: 620px; margin-top: 16px; }
  .hero-photo-card { inset: 40px 0 80px 0; transform: none; }
  .hero-status-panel { left: 18px; top: 0; width: min(330px, calc(100% - 36px)); }
  .quick-card-top { right: 18px; top: 236px; }
  .quick-card-bottom { left: 18px; bottom: 20px; }
  .hero-solution-dock { right: 18px; bottom: 118px; width: min(430px, calc(100% - 36px)); }
}
@media (max-width: 767px) {
  .hero-command { padding: 118px 0 58px; }
  .hero-command-shell { padding: 24px; border-radius: 30px; }
  .hero-command-copy h1 { font-size: clamp(2.25rem, 13vw, 3.65rem); }
  .hero-command-copy p { font-size: 1rem; }
  .finder-title { display: block; }
  .finder-title span { display: block; margin-top: 5px; }
  .finder-grid, .hero-steps { grid-template-columns: 1fr; }
  .hero-buttons .btn-hero-primary,
  .hero-buttons .btn-hero-secondary { width: 100%; }
  .hero-visual-stack { min-height: auto; display: grid; gap: 14px; }
  .hero-photo-card,
  .hero-status-panel,
  .hero-quick-card,
  .hero-solution-dock {
    position: relative;
    inset: auto;
    width: 100%;
    transform: none;
  }
  .hero-photo-card { height: 420px; order: 1; }
  .hero-status-panel { order: 2; }
  .hero-solution-dock { order: 3; }
  .hero-quick-card { order: 4; }
  .hero-solution-dock { grid-template-columns: 1fr; }
  .hero-solution-dock a { min-height: 120px; }
}

/* Ajustes v7 - banner com vida própria, sem depender de CDN externa */
.hero-command-shell {
  isolation: isolate;
}
.hero-command-shell::after {
  content: "";
  position: absolute;
  inset: -120px;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0 34%, rgba(255,255,255,.12) 42%, transparent 52% 100%);
  transform: translateX(-55%);
  animation: psHeroLightSweep 8s ease-in-out infinite;
}
.hero-command-copy,
.hero-visual-stack {
  position: relative;
  z-index: 2;
}
.hero-command-bg::after {
  animation: psGridDrift 18s linear infinite;
}
.hero-photo-card {
  animation: psHeroFloat 7s ease-in-out infinite;
  will-change: transform;
}
.hero-photo-card img {
  transform: scale(1.025);
  transition: opacity .28s ease, transform 5.2s ease, filter .28s ease;
  animation: psHeroImageBreath 10s ease-in-out infinite;
}
.hero-photo-card img.is-changing {
  opacity: .2;
  filter: blur(5px) saturate(1.08) contrast(1.04);
}
.hero-status-panel {
  animation: psPanelFloat 6.3s ease-in-out infinite;
}
.quick-card-top {
  animation: psChipFloatA 5.8s ease-in-out infinite;
}
.quick-card-bottom {
  animation: psChipFloatB 6.8s ease-in-out infinite;
}
.hero-solution-dock {
  animation: psDockFloat 7.2s ease-in-out infinite;
}
.status-dot {
  animation: psPulseDot 1.7s ease-in-out infinite;
}
.status-row {
  transition: background .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.status-row.active {
  transform: translateX(4px);
  box-shadow: inset 0 0 0 1px rgba(72,189,211,.22), 0 12px 30px rgba(72,189,211,.12);
}
.finder-card.is-active {
  color: #fff;
  background: rgba(72,189,211,.20);
  border-color: rgba(72,189,211,.55);
  box-shadow: 0 18px 42px rgba(72,189,211,.16);
  transform: translateY(-3px);
}
.finder-card.is-active i {
  animation: psIconPop 1.1s ease-in-out infinite;
}
.hero-solution-dock a.is-active img {
  transform: scale(1.10);
}
.hero-solution-dock a.is-active::after {
  background:
    linear-gradient(180deg, rgba(72,189,211,.08), rgba(17,24,29,.82)),
    radial-gradient(circle at 50% 30%, rgba(72,189,211,.26), transparent 55%);
}
.lite-reveal [data-aos] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
}
.lite-reveal [data-aos].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes psHeroLightSweep {
  0%, 46% { transform: translateX(-60%) rotate(0.001deg); opacity: 0; }
  55% { opacity: .9; }
  78%, 100% { transform: translateX(62%) rotate(0.001deg); opacity: 0; }
}
@keyframes psGridDrift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 54px 54px, 54px 54px; }
}
@keyframes psHeroFloat {
  0%, 100% { transform: rotate(1.2deg) translate3d(0,0,0); }
  50% { transform: rotate(.35deg) translate3d(0,-12px,0); }
}
@keyframes psHeroImageBreath {
  0%, 100% { transform: scale(1.025); }
  50% { transform: scale(1.075); }
}
@keyframes psPanelFloat {
  0%, 100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(0,-9px,0); }
}
@keyframes psChipFloatA {
  0%, 100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(-8px,10px,0); }
}
@keyframes psChipFloatB {
  0%, 100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(10px,-8px,0); }
}
@keyframes psDockFloat {
  0%, 100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(0,-10px,0); }
}
@keyframes psPulseDot {
  0%, 100% { box-shadow: 0 0 0 7px rgba(72,189,211,.16); }
  50% { box-shadow: 0 0 0 13px rgba(72,189,211,.07); }
}
@keyframes psIconPop {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}

@media (max-width: 991px) {
  .hero-photo-card,
  .hero-status-panel,
  .quick-card-top,
  .quick-card-bottom,
  .hero-solution-dock {
    animation: none;
  }
}
@media (max-width: 767px) {
  .hero-command-shell::after { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-command-shell::after,
  .hero-command-bg::before,
  .hero-command-bg::after,
  .hero-photo-card,
  .hero-photo-card img,
  .hero-status-panel,
  .quick-card-top,
  .quick-card-bottom,
  .hero-solution-dock,
  .status-dot,
  .finder-card.is-active i {
    animation: none !important;
  }
  .hero-photo-card img { transition: opacity .2s ease; }
}


/* Ajustes v8 - banner com área segura para leitura
   Objetivo: impedir que cards flutuantes cubram os textos da imagem principal. */
.hero-visual-stack {
  min-height: 735px;
  padding-bottom: 0;
}

.hero-photo-card {
  inset: 18px 0 192px 58px;
}

.hero-photo-gradient {
  background:
    linear-gradient(180deg, rgba(17,24,29,.04) 0%, rgba(17,24,29,.14) 42%, rgba(17,24,29,.92) 100%),
    linear-gradient(90deg, rgba(17,24,29,.68) 0%, rgba(17,24,29,.34) 42%, rgba(17,24,29,.05) 100%),
    radial-gradient(circle at 78% 18%, rgba(72,189,211,.42), transparent 18rem);
}

.hero-photo-caption {
  left: 34px;
  right: 34px;
  bottom: 34px;
  max-width: 430px;
  padding-right: 18px;
  text-shadow: 0 16px 34px rgba(0,0,0,.42);
}

.hero-photo-caption strong {
  max-width: 390px;
  font-size: clamp(1.55rem, 2.35vw, 2.28rem);
}

.hero-status-panel {
  top: 54px;
  left: 0;
}

.quick-card-top {
  top: 20px;
  right: 0;
}

.quick-card-bottom {
  left: 12px;
  bottom: 78px;
}

.hero-solution-dock {
  right: 22px;
  bottom: 18px;
}

.hero-quick-card,
.hero-solution-dock {
  box-shadow: 0 22px 64px rgba(17,24,29,.26);
}

@media (max-width: 1399px) {
  .hero-visual-stack { min-height: 710px; }
  .hero-photo-card { inset: 22px 0 182px 52px; }
  .quick-card-bottom { bottom: 74px; }
}

@media (max-width: 1199px) {
  .hero-visual-stack { min-height: 675px; }
  .hero-photo-card { inset: 42px 0 176px 36px; }
  .hero-photo-caption strong { max-width: 350px; font-size: clamp(1.42rem, 2.6vw, 2.05rem); }
  .quick-card-bottom { left: 0; bottom: 72px; }
  .hero-solution-dock { right: 10px; bottom: 16px; width: min(400px, 76%); }
}

@media (max-width: 991px) {
  .hero-visual-stack { min-height: 735px; }
  .hero-photo-card { inset: 42px 0 212px 0; }
  .hero-photo-caption { left: 26px; right: 26px; bottom: 28px; max-width: 390px; }
  .hero-status-panel { left: 18px; top: 0; width: min(330px, calc(100% - 36px)); }
  .quick-card-top { right: 18px; top: 226px; }
  .quick-card-bottom { left: 18px; bottom: 104px; }
  .hero-solution-dock { right: 18px; bottom: 0; width: min(430px, calc(100% - 36px)); }
}

@media (max-width: 767px) {
  .hero-visual-stack {
    min-height: auto;
    padding-bottom: 0;
  }
  .hero-photo-card {
    height: 430px;
    inset: auto;
  }
  .hero-photo-caption {
    left: 22px;
    right: 22px;
    bottom: 24px;
    max-width: 100%;
  }
  .hero-photo-caption strong {
    max-width: 100%;
    font-size: clamp(1.55rem, 8vw, 2.15rem);
  }
  .quick-card-top,
  .quick-card-bottom,
  .hero-solution-dock {
    bottom: auto;
    top: auto;
    left: auto;
    right: auto;
  }
}

@media (max-width: 420px) {
  .hero-photo-card { height: 390px; }
  .hero-photo-caption span { font-size: .68rem; }
  .hero-photo-caption strong { font-size: clamp(1.35rem, 9vw, 1.9rem); }
}


/* Footer minimalista - v9 */
.site-footer-minimal {
  padding: 26px 0;
  text-align: center;
}
.site-footer-minimal .footer-copy {
  margin: 0 auto;
  max-width: none;
  color: var(--ps-muted);
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.6;
}


/* v10 - Rodapé simplificado de forma definitiva */
.site-footer.site-footer-minimal {
  padding: 24px 16px !important;
  background: #ffffff !important;
  border-top: 1px solid rgba(72,189,211,.16) !important;
  text-align: center !important;
}
.site-footer.site-footer-minimal .footer-copy {
  margin: 0 auto !important;
  max-width: none !important;
  color: var(--ps-muted) !important;
  font-size: .94rem !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
}
.site-footer.site-footer-minimal .footer-brand,
.site-footer.site-footer-minimal .footer-links,
.site-footer.site-footer-minimal .footer-bottom,
.site-footer.site-footer-minimal a,
.site-footer.site-footer-minimal nav,
.site-footer.site-footer-minimal ul,
.site-footer.site-footer-minimal li {
  display: none !important;
}


/* v12 - Produto: locação de equipamentos */
.help-card-featured {
  color: #fff;
  background:
    radial-gradient(circle at 88% 12%, rgba(72,189,211,.54), transparent 18rem),
    linear-gradient(145deg, var(--ps-graphite-2), #24343b 62%, #1a2429);
  border-color: rgba(72,189,211,.44);
  box-shadow: var(--ps-shadow-cyan);
}
.help-card-featured strong,
.help-card-featured p,
.help-card-featured em { color: #fff; }
.help-card-featured p { color: rgba(255,255,255,.74); }
.help-card-featured .help-icon { color: #123238; background: linear-gradient(135deg, #e7fbff, var(--ps-cyan)); }

.mini-solution-highlight {
  position: relative;
  grid-column: span 2;
  min-height: 190px;
  background:
    radial-gradient(circle at 92% 5%, rgba(72,189,211,.42), transparent 18rem),
    linear-gradient(145deg, rgba(72,189,211,.18), rgba(255,255,255,.08));
  border-color: rgba(72,189,211,.36);
  overflow: hidden;
}
.mini-solution-highlight::after {
  content: "Locação sob demanda";
  position: absolute;
  right: 20px;
  top: 18px;
  padding: 8px 12px;
  border-radius: 999px;
  color: #dffbff;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.16);
  font-size: .74rem;
  font-weight: 950;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.rental-spotlight-card {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 28px;
  align-items: center;
  min-height: 520px;
  padding: clamp(30px, 5vw, 66px);
  border-radius: 46px;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 78% 16%, rgba(72,189,211,.50), transparent 23rem),
    radial-gradient(circle at 10% 90%, rgba(72,189,211,.22), transparent 19rem),
    linear-gradient(135deg, #10181d, var(--ps-graphite-2) 62%, #203139);
  box-shadow: var(--ps-shadow);
}
.rental-spotlight-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(90deg, transparent, #000 16%, #000 80%, transparent);
}
.rental-copy,
.rental-visual { position: relative; z-index: 1; }
.rental-copy h2 {
  max-width: 760px;
  font-family: "Space Grotesk", Manrope, sans-serif;
  font-size: clamp(2.25rem, 4.8vw, 4.55rem);
  line-height: .96;
  letter-spacing: -.065em;
  margin: 12px 0 18px;
}
.rental-copy p {
  max-width: 720px;
  color: rgba(255,255,255,.74);
  font-size: 1.05rem;
  line-height: 1.78;
  margin: 0;
}
.rental-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 26px 0 30px;
}
.rental-tags span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 13px;
  border-radius: 999px;
  color: #e6fbff;
  background: rgba(255,255,255,.095);
  border: 1px solid rgba(255,255,255,.15);
  font-weight: 850;
}
.rental-tags i { color: var(--ps-cyan); }
.rental-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.rental-visual {
  display: grid;
  gap: 16px;
  align-content: center;
  min-height: 370px;
}
.rental-device {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 14px;
  align-items: center;
  padding: 20px 22px;
  border-radius: 28px;
  color: var(--ps-graphite-2);
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(255,255,255,.40);
  box-shadow: 0 24px 70px rgba(0,0,0,.18);
  backdrop-filter: blur(20px);
  animation: rentalFloat 6.6s ease-in-out infinite;
}
.rental-device i {
  grid-row: span 2;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 21px;
  color: #102d34;
  background: linear-gradient(135deg, #e7fbff, var(--ps-cyan));
  font-size: 1.65rem;
}
.rental-device strong { font-weight: 950; font-size: 1.08rem; }
.rental-device span { color: var(--ps-muted); font-weight: 800; font-size: .9rem; }
.rental-device.desktop { margin-left: 54px; animation-delay: .4s; }
.rental-device.monitor { margin-left: 108px; animation-delay: .8s; }
@keyframes rentalFloat { 50% { transform: translateY(-10px); } }

.catalog-card.rental-feature {
  color: #fff;
  background:
    radial-gradient(circle at 90% 8%, rgba(72,189,211,.42), transparent 22rem),
    linear-gradient(135deg, #11191e, #25363d);
  border-color: rgba(72,189,211,.40);
  box-shadow: var(--ps-shadow-cyan);
}
.catalog-card.rental-feature .catalog-content h3,
.catalog-card.rental-feature .catalog-content li { color: #fff; }
.catalog-card.rental-feature .catalog-content p { color: rgba(255,255,255,.74); }
.catalog-card.rental-feature .catalog-content > span { color: #bdf3fb; }
.catalog-card.rental-feature .catalog-content li i { color: var(--ps-cyan); }
.catalog-card.rental-feature .catalog-image img { filter: saturate(1.05) contrast(1.03); }
.rental-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -4px 0 22px;
}
.rental-badges span {
  padding: 7px 10px;
  border-radius: 999px;
  color: #dffbff;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  font-size: .74rem;
  font-weight: 950;
  letter-spacing: .05em;
  text-transform: uppercase;
}

@media (max-width: 1399px) {
  .help-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1199px) {
  .rental-spotlight-card { grid-template-columns: 1fr; }
  .rental-visual { min-height: auto; }
}
@media (max-width: 991px) {
  .help-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-solution-dock { grid-template-columns: repeat(2, 1fr); }
  .hero-solution-dock a { min-height: 92px; }
}
@media (max-width: 767px) {
  .help-grid { grid-template-columns: 1fr; }
  .mini-solution-highlight { grid-column: span 1; }
  .mini-solution-highlight::after { position: static; display: inline-flex; margin-top: 16px; }
  .rental-spotlight-card { min-height: auto; border-radius: 32px; padding: 28px; }
  .rental-device.desktop,
  .rental-device.monitor { margin-left: 0; }
  .hero-solution-dock { grid-template-columns: 1fr; }
}
