/* ControlD premium rebrand layer — keeps CMS and operational modules intact. */
/* HostGator's current web family is Galano Grotesque Alt. Keep a local-safe
   fallback chain so the layout remains stable if the remote asset is blocked. */
@font-face { font-family: 'Galano'; font-style: normal; font-weight: 400; font-display: swap; src: url('https://www.hostgator.com.br/assets/fonts/GalanoGrotesqueAlt-Regular.woff2') format('woff2'); }
@font-face { font-family: 'Galano'; font-style: normal; font-weight: 500; font-display: swap; src: url('https://www.hostgator.com.br/assets/fonts/GalanoGrotesqueAlt-Medium.woff2') format('woff2'); }
@font-face { font-family: 'Galano'; font-style: normal; font-weight: 700 900; font-display: swap; src: url('https://www.hostgator.com.br/assets/fonts/GalanoGrotesqueAlt-Bold.woff2') format('woff2'); }
.ct-site { --font-display: 'Galano', 'Helvetica Neue', Arial, sans-serif; --font-body: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-site, .ct-site button, .ct-site input, .ct-site select, .ct-site textarea { font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-site {
  --rp-ink: #132b24;
  --rp-deep: #063d2e;
  --rp-green: #0b8c64;
  --rp-mint: #b8f1d7;
  --rp-paper: #f5f8f6;
  --rp-line: #d8e5de;
  --rp-muted: #587066;
}
.ct-site .nav { height: 80px; background: rgba(255,255,255,.94); border-bottom-color: var(--rp-line); backdrop-filter: blur(18px); }
.ct-site .nav-inner { height: 80px; }
.ct-site .nav-logo-img { width: 184px; }
.ct-site .nav-link { font-size: .9rem; letter-spacing: -.01em; }
.ct-site .nav-actions > .btn { border-radius: 999px; padding-inline: 20px; }
.ct-site .ct-hero { padding-top: 80px; color: #f4fff9; background: radial-gradient(circle at 86% 8%, rgba(70, 210, 154, .32), transparent 24%), radial-gradient(circle at 16% 34%, rgba(28, 149, 104, .28), transparent 31%), linear-gradient(132deg, #032b22 0%, #075943 46%, #0a7f5c 100%); position: relative; overflow: hidden; }
.ct-site .ct-hero:before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(184,241,215,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(184,241,215,.055) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 78%); pointer-events: none; }
.ct-site .ct-hero > * { position: relative; z-index: 1; }
.ct-site .ct-hero-grid { min-height: 610px; padding-block: 96px 72px !important; }
.ct-site .ct-eyebrow { font-size: .68rem; letter-spacing: .16em; }
.ct-site .ct-eyebrow > span { width: 7px; height: 7px; border-radius: 50%; box-shadow: 0 0 0 5px rgba(11,140,100,.12); }
.ct-site .ct-hero .ct-eyebrow { color: var(--rp-mint); }
.ct-site .ct-hero h1 { font-size: clamp(3.25rem, 6.6vw, 6.4rem); line-height: .96; color: #f5fff9; max-width: 760px; }
.ct-site .ct-hero h1 em { color: var(--rp-mint); }
.ct-site .ct-hero-description { font-size: 1.12rem; max-width: 590px; color: #d5eee2; }
.ct-site .ct-hero-note { color: #b8dacb; }
.ct-site .ct-hero .ct-text-link { color: #e4fff1; }
.ct-site .ct-btn { border-radius: 999px; background: var(--rp-mint); color: var(--rp-ink); padding: 14px 21px; box-shadow: 0 12px 28px rgba(0,0,0,.18); }
.ct-site .ct-btn:hover { background: #e2fff0; color: var(--rp-ink); transform: translateY(-2px); }
.ct-site .ct-architecture { border-radius: 18px 92px 18px 18px; background: rgba(2, 46, 35, .54); border: 1px solid rgba(184,241,215,.27); box-shadow: 0 24px 70px rgba(0,0,0,.18); backdrop-filter: blur(12px); }
.ct-site .ct-architecture:after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 82% 15%, rgba(184,241,215,.22), transparent 28%), linear-gradient(120deg, transparent 0 65%, rgba(255,255,255,.04)); pointer-events: none; }
.ct-site .ct-map-label { background: var(--rp-deep); box-shadow: 0 0 0 6px var(--rp-deep); }
.ct-site .ct-capabilities { border-top-color: rgba(184,241,215,.3); }
.ct-site .ct-hero .ct-capabilities > span, .ct-site .ct-hero .ct-capabilities ul { color: #d5eee2; }
.ct-site .ct-hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 10px; border-top: 1px solid var(--rp-line); }
.ct-site .ct-hero-proof > div { display: grid; gap: 4px; padding: 23px 28px 28px 0; border-right: 1px solid var(--rp-line); margin-right: 28px; }
.ct-site .ct-hero-proof > div:last-child { border-right: 0; margin-right: 0; }
.ct-site .ct-hero-proof { border-top-color: rgba(184,241,215,.3); }
.ct-site .ct-hero-proof > div { border-right-color: rgba(184,241,215,.3); }
.ct-site .ct-hero-proof strong { font: 600 1.06rem/1.1 var(--font-display); color: #f5fff9; }
.ct-site .ct-hero-proof span { color: #b8dacb; font-size: .82rem; line-height: 1.35; }
.ct-site .lp-products-section { background: var(--rp-paper); }
.ct-site .ev-filter-btn { border-radius: 999px; }
.ct-site .ev-pcard { border-radius: 16px; padding: 27px; background: rgba(255,255,255,.86); border-color: var(--rp-line); min-height: 300px; }
.ct-site .ev-pcard:hover { transform: translateY(-6px); box-shadow: 0 20px 42px rgba(19,43,36,.11); }
.ct-site .ev-pcard__icon { border-radius: 12px; background: #e4f6ed; }
.ct-site .ct-white-label { background: #fff; }
.ct-site .ct-label-system { border-radius: 18px; box-shadow: 0 20px 54px rgba(19,43,36,.08); }
.ct-site .ct-foundation { background: var(--rp-ink); }
.ct-site .ct-stack > div { border-radius: 12px; background: #204438; }
.ct-site .ct-stack > div:nth-child(4) { background: var(--rp-green); border-color: var(--rp-mint); }
.ct-site .ct-scope-grid article { border-radius: 16px; box-shadow: 0 10px 30px rgba(19,43,36,.045); }
.ct-site .ct-site .cta-section, .ct-site .cta-section { background: var(--rp-deep); }
.ct-site .cta-section .btn-cta { background: var(--rp-mint); color: var(--rp-ink); border-radius: 999px; }
@media (max-width: 900px) {
  .ct-site .ct-hero-grid { min-height: 0; padding-block: 72px 52px !important; }
  .ct-site .ct-hero-proof { grid-template-columns: 1fr; }
  .ct-site .ct-hero-proof > div { border-right: 0; border-bottom: 1px solid var(--rp-line); margin-right: 0; padding-right: 0; }
  .ct-site .ct-hero-proof > div:last-child { border-bottom: 0; }
}
@media (max-width: 560px) {
  .ct-site .ct-hero h1 { font-size: clamp(2.8rem, 14vw, 4rem); }
  .ct-site .ct-hero-proof { margin-top: 18px; }
  .ct-site .ct-hero-proof > div { padding-block: 17px; }
  .ct-site .ct-architecture { border-radius: 14px 54px 14px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .ct-site .ct-btn, .ct-site .ev-pcard { transition: none; }
}

/* Dark emerald hero finish */
.ct-site .ct-hero {
  background:
    radial-gradient(circle at 88% 12%, rgba(30, 181, 124, .24), transparent 23%),
    radial-gradient(circle at 54% 72%, rgba(8, 104, 73, .24), transparent 35%),
    linear-gradient(118deg, #020907 0%, #061812 42%, #073e2d 77%, #0b6548 100%);
}
.ct-site .ct-hero:before {
  opacity: .62;
  background-image: linear-gradient(rgba(155, 230, 198, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(155, 230, 198, .045) 1px, transparent 1px);
}
.ct-site .ct-architecture {
  background: linear-gradient(145deg, rgba(2, 17, 13, .88), rgba(7, 66, 47, .62));
  border-color: rgba(184, 241, 215, .2);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .06);
}
.ct-site .ct-hero .ct-map-label { background: rgba(2, 22, 16, .88); box-shadow: 0 0 0 6px rgba(2, 22, 16, .88); }
.ct-site .ct-hero-proof { border-top-color: rgba(184, 241, 215, .22); }

/* Product ecosystem cards — Galano-led hierarchy */
.ct-site #produtos .ev-section-head h2,
.ct-site #produtos .ev-pcard,
.ct-site #produtos .ev-pcard__name,
.ct-site #produtos .ev-pcard__desc,
.ct-site #produtos .ev-pcard__cta,
.ct-site #produtos .ev-filter-btn { font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-site #produtos .ev-pcard { position: relative; min-height: 304px; border-radius: 20px; padding: 30px; background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,248,244,.94)); }
.ct-site #produtos .ev-pcard:after { content: '↗'; position: absolute; top: 28px; right: 28px; color: var(--rp-green); font-size: 1.25rem; opacity: .62; transition: transform .2s ease, opacity .2s ease; }
.ct-site #produtos .ev-pcard:hover:after { transform: translate(3px, -3px); opacity: 1; }
.ct-site #produtos .ev-pcard__top { padding-bottom: 34px; }
.ct-site #produtos .ev-pcard__icon { width: 50px; height: 50px; border-radius: 14px; }
.ct-site #produtos .ev-pcard__cat { font-size: .65rem; letter-spacing: .13em; font-weight: 700; color: var(--rp-green); padding-right: 28px; }
.ct-site #produtos .ev-pcard__name { font-size: 1.42rem; line-height: 1.12; letter-spacing: -.035em; font-weight: 700; }
.ct-site #produtos .ev-pcard__desc { max-width: 31ch; font-size: .95rem; line-height: 1.55; color: var(--rp-muted); }
.ct-site #produtos .ev-pcard__cta { padding-top: 18px; font-size: .82rem; letter-spacing: .01em; color: var(--rp-deep); }
.ct-site #produtos .ev-filter-btn { font-weight: 600; }
@media (max-width: 640px) {
  .ct-site #produtos .ev-pcard { min-height: 270px; padding: 24px; }
  .ct-site #produtos .ev-pcard__top { padding-bottom: 26px; }
}

/* Admin login — secure console with the same premium brand language */
.ct-admin-login {
  --login-ink: #102c23;
  --login-deep: #020907;
  --login-green: #0b8c64;
  --login-mint: #b8f1d7;
  position: relative;
  min-height: 100svh;
  margin: 0;
  overflow: hidden;
  padding: 28px;
  background: radial-gradient(circle at 12% 10%, rgba(11,140,100,.2), transparent 24%), linear-gradient(135deg, #020907 0%, #061912 48%, #0a4a35 100%);
  color: #f5fff9;
  font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif;
}
.ct-admin-login::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .45; background-image: linear-gradient(rgba(184,241,215,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(184,241,215,.045) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(135deg, #000, transparent 75%); }
.ct-admin-login::after { content: ''; position: absolute; right: -14vw; bottom: -28vw; width: 58vw; height: 58vw; border: 1px solid rgba(184,241,215,.12); border-radius: 50%; box-shadow: 0 0 0 80px rgba(184,241,215,.025), 0 0 0 160px rgba(184,241,215,.018); pointer-events: none; }
.ct-admin-login .login-shell { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(340px, .92fr) minmax(390px, 460px); min-height: calc(100svh - 56px); max-width: 1180px; margin: 0 auto; overflow: hidden; border: 1px solid rgba(184,241,215,.19); border-radius: 28px; background: rgba(3,18,13,.46); box-shadow: 0 34px 90px rgba(0,0,0,.3); backdrop-filter: blur(16px); }
.ct-admin-login .login-brand-panel { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 600px; overflow: hidden; padding: clamp(32px, 5vw, 68px); background: radial-gradient(circle at 78% 30%, rgba(37,190,130,.18), transparent 30%), linear-gradient(145deg, rgba(3,37,27,.92), rgba(4,20,14,.7)); }
.ct-admin-login .login-brand-panel::before { content: ''; position: absolute; inset: 0; background: linear-gradient(125deg, transparent 0 54%, rgba(184,241,215,.04) 54.2% 54.5%, transparent 54.7%); pointer-events: none; }
.ct-admin-login .login-brand-lockup { position: relative; display: flex; align-items: center; gap: 12px; color: #f5fff9; font-size: .78rem; font-weight: 800; letter-spacing: .08em; }
.ct-admin-login .login-brand-lockup b { display: block; margin-top: 3px; color: #85b8a0; font-size: .52rem; font-weight: 600; letter-spacing: .2em; }
.ct-admin-login .login-brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(184,241,215,.42); border-radius: 12px; background: linear-gradient(145deg, #18a876, #07563e); color: #fff; font-size: 1.1rem; box-shadow: 0 8px 25px rgba(11,140,100,.25); }
.ct-admin-login .login-brand-copy { position: relative; max-width: 460px; margin: auto 0; }
.ct-admin-login .login-kicker, .ct-admin-login .login-heading-kicker { display: inline-flex; align-items: center; gap: 8px; color: var(--login-mint); font-size: .64rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.ct-admin-login .login-kicker i { width: 6px; height: 6px; border-radius: 50%; background: var(--login-mint); box-shadow: 0 0 0 5px rgba(184,241,215,.12); }
.ct-admin-login .login-brand-copy h1 { margin: 22px 0 20px; color: #f5fff9; font-size: clamp(2.8rem, 5vw, 5rem); line-height: .96; letter-spacing: -.065em; }
.ct-admin-login .login-brand-copy h1 em { color: var(--login-mint); font-style: normal; }
.ct-admin-login .login-brand-copy p { max-width: 400px; margin: 0; color: #a9cdbb; font-size: .95rem; line-height: 1.7; }
.ct-admin-login .login-brand-footer { position: relative; display: flex; justify-content: space-between; color: #6e9b85; font-size: .58rem; font-weight: 700; letter-spacing: .14em; }
.ct-admin-login .login-brand-orbit { position: absolute; border: 1px solid rgba(184,241,215,.17); border-radius: 50%; pointer-events: none; }
.ct-admin-login .login-brand-orbit--one { width: 360px; height: 360px; right: -180px; top: 24%; }
.ct-admin-login .login-brand-orbit--two { width: 210px; height: 210px; right: -105px; top: 34%; border-color: rgba(184,241,215,.28); }
.ct-admin-login .login-box { align-self: center; width: 100%; max-width: none; min-height: 100%; margin: 0; padding: clamp(34px, 6vw, 78px); border: 0; border-left: 1px solid rgba(184,241,215,.15); border-radius: 0; background: rgba(248,255,251,.97); color: var(--login-ink); box-shadow: none; }
.ct-admin-login .login-heading { margin-bottom: 34px; }
.ct-admin-login .login-heading-kicker { color: var(--login-green); }
.ct-admin-login .login-heading h2 { margin: 12px 0 9px; color: var(--login-ink); font-size: clamp(2rem, 4vw, 3rem); line-height: 1; letter-spacing: -.055em; }
.ct-admin-login .login-heading p { margin: 0; color: #6a8176; font-size: .88rem; line-height: 1.55; }
.ct-admin-login .login-form { display: flex; flex-direction: column; gap: 20px; margin-top: 0; }
.ct-admin-login .login-field { gap: 8px; }
.ct-admin-login .login-label { color: #36594a; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ct-admin-login .login-input { border-color: #cfdfd5; border-radius: 12px; background: #fff; color: var(--login-ink); padding: 14px 15px; font: .9rem 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-admin-login .login-input::placeholder { color: #9cafa4; }
.ct-admin-login .login-input:focus { border-color: var(--login-green); box-shadow: 0 0 0 4px rgba(11,140,100,.11); }
.ct-admin-login .login-submit { width: 100%; justify-content: center; margin-top: 7px; padding: 15px; border: 0; border-radius: 12px; background: linear-gradient(120deg, #0b8c64, #07563e); color: #f5fff9; font: 700 .86rem 'Galano', 'Helvetica Neue', Arial, sans-serif; box-shadow: 0 13px 25px rgba(11,140,100,.22); }
.ct-admin-login .login-submit:hover { background: linear-gradient(120deg, #10a977, #0b6e4e); transform: translateY(-2px); }
.ct-admin-login .login-error { margin-bottom: 22px; border-radius: 12px; color: #b42318; background: #fff1ef; border-color: #fecaca; }
.ct-admin-login .login-back { margin-top: 34px; text-align: center; }
.ct-admin-login .login-back a { color: #668176; font-size: .78rem; text-decoration: none; }
.ct-admin-login .login-back a:hover { color: var(--login-green); }
@media (max-width: 820px) { .ct-admin-login { padding: 16px; } .ct-admin-login .login-shell { grid-template-columns: 1fr; min-height: calc(100svh - 32px); } .ct-admin-login .login-brand-panel { min-height: 310px; padding: 32px; } .ct-admin-login .login-brand-copy { margin: 58px 0 0; } .ct-admin-login .login-brand-copy h1 { margin: 14px 0 12px; font-size: clamp(2.4rem, 10vw, 4rem); } .ct-admin-login .login-brand-copy p { max-width: 520px; font-size: .86rem; } .ct-admin-login .login-brand-footer { margin-top: 34px; } .ct-admin-login .login-box { min-height: auto; padding: 38px 32px 42px; border-top: 1px solid rgba(184,241,215,.15); border-left: 0; } }
@media (max-width: 480px) { .ct-admin-login { padding: 0; } .ct-admin-login .login-shell { min-height: 100svh; border: 0; border-radius: 0; } .ct-admin-login .login-brand-panel { min-height: 290px; padding: 26px 22px; } .ct-admin-login .login-box { padding: 34px 22px 38px; } }

/* Admin workspace — premium operating system */
.ct-admin {
  --admin-ink: #102c23;
  --admin-deep: #061912;
  --admin-green: #0b8c64;
  --admin-mint: #b8f1d7;
  --admin-paper: #f0f6f3;
  --admin-line: #d8e5de;
  margin: 0;
  background: var(--admin-paper);
  color: var(--admin-ink);
  font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif;
}
.ct-admin .admin-layout { grid-template-columns: 278px minmax(0, 1fr); background: var(--admin-paper); }
.ct-admin .admin-sidebar { width: 278px; background: radial-gradient(circle at 90% 5%, rgba(26,153,105,.2), transparent 27%), linear-gradient(160deg, #061b13 0%, #03100c 100%); border-right: 1px solid rgba(184,241,215,.12); }
.ct-admin .admin-sb-header { padding: 24px 22px 18px; border-bottom-color: rgba(184,241,215,.12); }
.ct-admin .admin-sb-logo img { width: 184px; filter: brightness(1.08); }
.ct-admin .admin-sb-badge { margin-left: 42px; color: var(--admin-mint); background: rgba(184,241,215,.1); border: 1px solid rgba(184,241,215,.18); }
.ct-admin .admin-sb-search { padding: 16px 14px 10px; }
.ct-admin .admin-sb-search-btn { min-height: 40px; border-color: rgba(184,241,215,.14); border-radius: 11px; background: rgba(255,255,255,.055); color: rgba(232,255,243,.58); }
.ct-admin .admin-sb-search-btn:hover { border-color: rgba(184,241,215,.32); background: rgba(184,241,215,.1); color: #f5fff9; }
.ct-admin .admin-sb-search-btn kbd { border-color: rgba(184,241,215,.16); background: rgba(184,241,215,.08); color: rgba(232,255,243,.55); }
.ct-admin .admin-sb-nav { padding: 10px 12px; }
.ct-admin .admin-nav-group { margin-bottom: 5px; }
.ct-admin .admin-nav-group summary { padding: 12px 11px 6px; color: rgba(210,242,225,.38); }
.ct-admin .admin-nav-group summary:hover { color: rgba(232,255,243,.8); }
.ct-admin .admin-nav-link { margin: 2px 0; min-height: 39px; padding: 9px 11px; border: 1px solid transparent; border-radius: 11px; color: rgba(226,249,237,.58); font-size: .79rem; }
.ct-admin .admin-nav-link:hover { border-color: rgba(184,241,215,.12); background: rgba(184,241,215,.075); color: #f5fff9; transform: translateX(2px); }
.ct-admin .admin-nav-link.active { border-color: rgba(184,241,215,.2); background: linear-gradient(90deg, rgba(11,140,100,.32), rgba(11,140,100,.1)); color: var(--admin-mint); box-shadow: inset 3px 0 0 var(--admin-green); }
.ct-admin .admin-nav-link svg { width: 16px; height: 16px; }
.ct-admin .admin-sb-footer { padding: 14px; border-top-color: rgba(184,241,215,.12); }
.ct-admin .admin-content { min-width: 0; padding: 28px 34px 46px; background: linear-gradient(135deg, #f0f6f3 0%, #f7faf8 52%, #eaf4ef 100%); }
.ct-admin .admin-topbar { height: 64px; margin: -28px -34px 30px; padding: 0 34px; border-bottom: 1px solid var(--admin-line); background: rgba(255,255,255,.78); box-shadow: 0 8px 24px rgba(19,43,36,.035); backdrop-filter: blur(16px); }
.ct-admin .admin-topbar-left { color: #769083; font-size: .78rem; }
.ct-admin .admin-topbar-page { color: var(--admin-ink); font-weight: 800; }
.ct-admin .admin-topbar-right { gap: 10px; }
.ct-admin .admin-card, .ct-admin .admin-stat-card { border-color: var(--admin-line); border-radius: 18px; background: rgba(255,255,255,.88); box-shadow: 0 10px 28px rgba(19,43,36,.045); }
.ct-admin .admin-card { padding: 22px; }
.ct-admin .admin-card:hover { border-color: #bfdccd; }
.ct-admin .admin-section-title { color: var(--admin-ink); font-size: .94rem; letter-spacing: -.015em; }
.ct-admin .admin-stat-card { min-height: 142px; padding: 19px; overflow: hidden; }
.ct-admin .admin-stat-card::after { content: ''; position: absolute; right: -22px; bottom: -28px; width: 96px; height: 96px; border: 1px solid rgba(11,140,100,.12); border-radius: 50%; pointer-events: none; }
.ct-admin .admin-stat-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 15px; border-radius: 12px !important; font-size: 1rem !important; }
.ct-admin .admin-stat-num { font: 800 1.75rem/1 'Galano', 'Helvetica Neue', Arial, sans-serif; letter-spacing: -.05em; }
.ct-admin .admin-stat-lbl { color: #6e857a; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ct-admin .admin-quick-grid { gap: 9px; }
.ct-admin .admin-quick-link { min-height: 74px; padding: 12px; border: 1px solid #dfeae4; border-radius: 13px; background: #f9fcfa; color: #315b49; font-size: .75rem; font-weight: 700; transition: border-color .18s, background .18s, transform .18s, box-shadow .18s; }
.ct-admin .admin-quick-link:hover { border-color: #8ac9ac; background: #effaf3; box-shadow: 0 10px 22px rgba(11,140,100,.08); transform: translateY(-3px); }
.ct-admin .admin-quick-icon { width: 31px; height: 31px; border-radius: 10px; background: #e1f5ea; font-size: .9rem; }
.ct-admin .admin-badge { border-radius: 99px; font-size: .64rem; font-weight: 800; }
.ct-admin table { border-color: var(--admin-line); }
.ct-admin th { background: #f0f7f3; color: #5e796b; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.ct-admin td { color: #345548; border-color: #e4eee8; font-size: .78rem; }
.ct-admin input, .ct-admin select, .ct-admin textarea { border-color: #cfdfd5; border-radius: 11px; background: #fff; color: var(--admin-ink); font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-admin input:focus, .ct-admin select:focus, .ct-admin textarea:focus { border-color: var(--admin-green); box-shadow: 0 0 0 4px rgba(11,140,100,.1); outline: none; }
.ct-admin .btn-primary { border: 0; border-radius: 11px; background: linear-gradient(120deg, #0b8c64, #07563e); box-shadow: 0 10px 22px rgba(11,140,100,.18); }
.ct-admin .btn-primary:hover { background: linear-gradient(120deg, #10a977, #0b6e4e); transform: translateY(-2px); }
.ct-admin .btn, .ct-admin button { font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-admin .admin-cmd-panel { border: 1px solid var(--admin-line); border-radius: 20px; box-shadow: 0 30px 80px rgba(19,43,36,.22); }
@media (max-width: 900px) { .ct-admin .admin-layout { grid-template-columns: 1fr; } .ct-admin .admin-sidebar { position: relative; width: 100%; height: auto; max-height: none; } .ct-admin .admin-sb-nav { max-height: 420px; overflow-y: auto; } .ct-admin .admin-content { padding: 22px 18px 36px; } .ct-admin .admin-topbar { margin: -22px -18px 24px; padding: 0 18px; } }
@media (max-width: 560px) { .ct-admin .admin-topbar { height: auto; min-height: 64px; gap: 10px; } .ct-admin .admin-topbar-left span:not(.admin-topbar-page) { display: none; } .ct-admin .admin-topbar-right .btn { padding-inline: 11px; font-size: .68rem; } .ct-admin .admin-grid { grid-template-columns: 1fr 1fr; gap: 9px; } .ct-admin .admin-stat-card { min-height: 125px; padding: 14px; } }

/* Central SEO keeps its own layout but inherits the same visual system. */
.ct-admin-seo { margin: 0; background: var(--admin-paper, #f0f6f3); color: var(--admin-ink, #102c23); font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-admin-seo .seo-layout { grid-template-columns: 258px minmax(0, 1fr); background: #f0f6f3; }
.ct-admin-seo .seo-sb { width: 258px; background: radial-gradient(circle at 90% 5%, rgba(26,153,105,.2), transparent 27%), linear-gradient(160deg, #061b13 0%, #03100c 100%); border-right: 1px solid rgba(184,241,215,.12); }
.ct-admin-seo .seo-content { padding: 28px 34px 46px; background: linear-gradient(135deg, #f0f6f3 0%, #f7faf8 52%, #eaf4ef 100%); }
.ct-admin-seo .seo-topbar { margin: -28px -34px 30px; border-color: #d8e5de; background: rgba(255,255,255,.78); box-shadow: 0 8px 24px rgba(19,43,36,.035); backdrop-filter: blur(16px); }
.ct-admin-seo .seo-card, .ct-admin-seo .seo-stat { border-color: #d8e5de; border-radius: 18px; box-shadow: 0 10px 28px rgba(19,43,36,.045); }
.ct-admin-seo .seo-page-h1, .ct-admin-seo .seo-card-title { color: #102c23; }
@media (max-width: 900px) { .ct-admin-seo .seo-layout { grid-template-columns: 1fr; } .ct-admin-seo .seo-sb { width: 100%; height: auto; position: relative; } .ct-admin-seo .seo-content { padding: 22px 18px 36px; } .ct-admin-seo .seo-topbar { margin: -22px -18px 24px; } }

/* Alternating premium rhythm across the homepage narrative */
.ct-site .ct-white-label { background: linear-gradient(180deg, #fbfdfc 0%, #f1f7f4 100%); }
.ct-site #processo { background: #ffffff; }
.ct-site #processo .ct-process li { border-top-color: #cfe0d7; }
.ct-site #processo .ct-process li:last-child { border-top-color: var(--rp-green); }
.ct-site .ct-scope { background: linear-gradient(135deg, #04130e 0%, #092d21 62%, #0b4b35 100%); color: #effcf5; }
.ct-site .ct-scope .ct-eyebrow { color: var(--rp-mint); }
.ct-site .ct-scope h2, .ct-site .ct-scope .ct-section-heading > p:last-child { color: #f5fff9; }
.ct-site .ct-scope-grid article { background: rgba(255,255,255,.075); border-color: rgba(184,241,215,.22); box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.ct-site .ct-scope-grid h3 { color: #f5fff9; }
.ct-site .ct-scope-grid ul { color: #c5dfd2; }
.ct-site .ct-scope-grid .ct-badge { background: rgba(184,241,215,.14); color: var(--rp-mint); }
.ct-site .ct-scope > .container > .ct-text-link { color: var(--rp-mint); }
.ct-site section:has(.ct-tech-row) { background: #fbfdfc; }
.ct-site section:has(.ct-tech-row) .ct-tech-list li { background: #fff; }
.ct-site .ct-faq { background: #f1f7f4; }
.ct-site .ct-faq .ct-accordion { border-color: #cfe0d7; }

/* Uber Clone landing — same premium ControlD rhythm */
.ct-site .uc-page {
  --uc-font-display: 'Galano', 'Helvetica Neue', Arial, sans-serif;
  --uc-font-body: 'Galano', 'Helvetica Neue', Arial, sans-serif;
  background: #f5f8f6;
}
.ct-site .uc-page, .ct-site .uc-page button, .ct-site .uc-page input, .ct-site .uc-page textarea, .ct-site .uc-page select { font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-site .uc-page .uc-hero {
  background: radial-gradient(circle at 82% 10%, rgba(37,190,130,.2), transparent 25%), radial-gradient(circle at 18% 78%, rgba(8,94,65,.2), transparent 35%), linear-gradient(120deg, #020907 0%, #061912 44%, #073e2d 78%, #0a6548 100%);
  padding-top: 128px;
}
.ct-site .uc-page .uc-hero:before { opacity: .55; background-image: linear-gradient(rgba(184,241,215,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(184,241,215,.045) 1px, transparent 1px); background-size: 54px 54px; }
.ct-site .uc-page .uc-hero-h1 { color: #f5fff9; letter-spacing: -.055em; }
.ct-site .uc-page .uc-hero-h1 em { color: var(--rp-mint); }
.ct-site .uc-page .uc-hero-sub { color: #cbe7d9; }
.ct-site .uc-page .uc-hero-eyebrow, .ct-site .uc-page .uc-hero-trust { color: #b8dacb; }
.ct-site .uc-page .uc-hero-eyebrow-dot { background: var(--rp-mint); box-shadow: 0 0 0 6px rgba(184,241,215,.12); }
.ct-site .uc-page .uc-btn-primary { background: var(--rp-mint); color: #09251b; border-radius: 999px; box-shadow: 0 14px 30px rgba(0,0,0,.22); }
.ct-site .uc-page .uc-btn-primary:hover { background: #e5fff1; color: #09251b; }
.ct-site .uc-page .uc-btn-outline { border-color: rgba(184,241,215,.38); color: #effff6; border-radius: 999px; }
.ct-site .uc-page .uc-city-panel { border: 1px solid rgba(184,241,215,.22); background: linear-gradient(145deg, rgba(2,17,13,.88), rgba(7,66,47,.62)); box-shadow: 0 28px 80px rgba(0,0,0,.36); backdrop-filter: blur(12px); }
.ct-site .uc-page .uc-stats-bar { background: #04130e; border-top: 1px solid rgba(184,241,215,.15); border-bottom: 1px solid rgba(184,241,215,.15); }
.ct-site .uc-page .uc-section { background: #fbfdfc; }
.ct-site .uc-page .uc-section-alt { background: #f0f6f3; }
.ct-site .uc-page #problema, .ct-site .uc-page #solucao, .ct-site .uc-page #incluso, .ct-site .uc-page #personalizacao, .ct-site .uc-page #video, .ct-site .uc-page #faq {
  --uc-card: rgba(255,255,255,.075); --uc-surface: rgba(255,255,255,.055); --uc-text-hi: #f5fff9; --uc-text-mid: #c7e0d3; --uc-text-lo: #91b8a5; --uc-border: rgba(184,241,215,.18); --uc-green-sub: rgba(184,241,215,.12); --uc-green-ring: rgba(184,241,215,.28);
  background: linear-gradient(135deg, #04130e 0%, #082b20 62%, #0a4a35 100%); color: #effcf5;
}
.ct-site .uc-page #problema .uc-section-title em, .ct-site .uc-page #solucao .uc-section-title em, .ct-site .uc-page #incluso .uc-section-title em, .ct-site .uc-page #personalizacao .uc-section-title em, .ct-site .uc-page #video .uc-section-title em, .ct-site .uc-page #faq .uc-section-title em { color: var(--rp-mint); }
.ct-site .uc-page #problema .uc-eyebrow, .ct-site .uc-page #solucao .uc-eyebrow, .ct-site .uc-page #incluso .uc-eyebrow, .ct-site .uc-page #personalizacao .uc-eyebrow, .ct-site .uc-page #video .uc-eyebrow, .ct-site .uc-page #faq .uc-eyebrow { color: var(--rp-mint); }
.ct-site .uc-page .uc-pain-card, .ct-site .uc-page .uc-solution-card, .ct-site .uc-page .uc-feature-card, .ct-site .uc-page .uc-include-card, .ct-site .uc-page .uc-wl-card, .ct-site .uc-page .uc-faq-item { border-radius: 18px; box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.ct-site .uc-page #problema .uc-pain-card, .ct-site .uc-page #solucao .uc-solution-card, .ct-site .uc-page #incluso .uc-include-card, .ct-site .uc-page #personalizacao .uc-wl-card, .ct-site .uc-page #faq .uc-faq-item { background: rgba(255,255,255,.075); border-color: rgba(184,241,215,.18); }
.ct-site .uc-page #funcionalidades .uc-feature-card, .ct-site .uc-page #depoimentos .uc-testi-card, .ct-site .uc-page #precos .uc-price-card { border-radius: 18px; box-shadow: 0 16px 40px rgba(19,43,36,.07); }
.ct-site .uc-page #contato { background: linear-gradient(180deg, #f0f6f3, #fbfdfc); }
.ct-site .uc-page .uc-cta-section { background: radial-gradient(circle at 78% 10%, rgba(42,197,137,.24), transparent 26%), linear-gradient(120deg, #020907 0%, #061912 44%, #073e2d 100%); }
@media (max-width: 640px) { .ct-site .uc-page .uc-hero { padding-top: 112px; } }

/* White-label product pages — Uber Clone premium treatment */
.ct-site .pl { --pl-green: #0b8c64; --pl-green-dark: #063d2e; --pl-ink: #132b24; --pl-muted: #587066; --pl-line: #d8e5de; --pl-soft: #f0f6f3; font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-site .pl h1, .ct-site .pl h2, .ct-site .pl h3, .ct-site .pl button, .ct-site .pl input, .ct-site .pl textarea { font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-site .pl-hero { padding-top: 150px; background: radial-gradient(circle at 82% 10%, rgba(37,190,130,.2), transparent 25%), radial-gradient(circle at 15% 75%, rgba(8,94,65,.2), transparent 35%), linear-gradient(120deg, #020907 0%, #061912 44%, #073e2d 78%, #0a6548 100%); color: #f5fff9; position: relative; overflow: hidden; }
.ct-site .pl-hero:before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(184,241,215,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(184,241,215,.045) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 82%); pointer-events: none; }
.ct-site .pl-hero > .pl-wrap { position: relative; z-index: 1; }
.ct-site .pl-hero h1 { color: #f5fff9; font-size: clamp(3rem, 6vw, 5.7rem); }
.ct-site .pl-hero .pl-kicker { color: var(--rp-mint); }
.ct-site .pl-hero .pl-lead { color: #cbe7d9; }
.ct-site .pl-hero .pl-note { color: #b8dacb; }
.ct-site .pl-hero .pl-btn--primary { background: var(--rp-mint); color: #09251b; border-radius: 999px; box-shadow: 0 14px 30px rgba(0,0,0,.22); }
.ct-site .pl-hero .pl-btn--quiet { background: transparent; border-color: rgba(184,241,215,.38); color: #effff6; border-radius: 999px; }
.ct-site .pl-console { background: linear-gradient(145deg, rgba(2,17,13,.9), rgba(7,66,47,.62)); border: 1px solid rgba(184,241,215,.22); box-shadow: 0 28px 80px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.06); backdrop-filter: blur(12px); }
.ct-site .pl-trust { background: #04130e; color: #d5eee2; border-color: rgba(184,241,215,.18); }
.ct-site .pl-section { padding-block: 104px; }
.ct-site .pl-section--soft { background: #f0f6f3; }
.ct-site .pl-section--ink, .ct-site .pl-final { background: linear-gradient(135deg, #04130e 0%, #082b20 62%, #0a4a35 100%); }
.ct-site .pl-section--ink .pl-kicker, .ct-site .pl-final .pl-kicker { color: var(--rp-mint); }
.ct-site .pl-section--ink h2, .ct-site .pl-final h2 { color: #f5fff9; }
.ct-site .pl-section--ink .pl-heading>p:last-child, .ct-site .pl-final>div>p { color: #c7e0d3; }
.ct-site .pl-section--ink .pl-list li strong, .ct-site .pl-final .pl-btn--quiet { color: #f5fff9; }
.ct-site .pl-section:nth-of-type(5), .ct-site .pl-section:nth-of-type(8), .ct-site .pl-section:nth-of-type(11) { background: linear-gradient(135deg, #04130e 0%, #082b20 62%, #0a4a35 100%); color: #effcf5; }
.ct-site .pl-section:nth-of-type(5) h2, .ct-site .pl-section:nth-of-type(8) h2, .ct-site .pl-section:nth-of-type(11) h2 { color: #f5fff9; }
.ct-site .pl-section:nth-of-type(5) .pl-heading>p:last-child, .ct-site .pl-section:nth-of-type(8) .pl-heading>p:last-child, .ct-site .pl-section:nth-of-type(11) .pl-heading>p:last-child { color: #c7e0d3; }
.ct-site .pl-section:nth-of-type(5) .pl-kicker, .ct-site .pl-section:nth-of-type(8) .pl-kicker, .ct-site .pl-section:nth-of-type(11) .pl-kicker { color: var(--rp-mint); }
.ct-site .pl-ecosystem { gap: 12px; background: transparent; border: 0; }
.ct-site .pl-ecosystem article, .ct-site .pl-columns article { border: 1px solid var(--pl-line); border-radius: 18px; box-shadow: 0 16px 40px rgba(19,43,36,.06); }
.ct-site .pl-ecosystem article { min-height: 210px; }
.ct-site .pl-section:nth-of-type(5) .pl-ecosystem article, .ct-site .pl-section:nth-of-type(8) .pl-columns article, .ct-site .pl-section:nth-of-type(11) .pl-columns article { background: rgba(255,255,255,.075); border-color: rgba(184,241,215,.18); box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.ct-site .pl-section:nth-of-type(5) .pl-ecosystem article h3, .ct-site .pl-section:nth-of-type(8) .pl-columns article h3, .ct-site .pl-section:nth-of-type(11) .pl-columns article h3 { color: #f5fff9; }
.ct-site .pl-section:nth-of-type(5) .pl-ecosystem article p, .ct-site .pl-section:nth-of-type(8) .pl-columns article .pl-list, .ct-site .pl-section:nth-of-type(11) .pl-columns article .pl-list { color: #c7e0d3; }
.ct-site .pl-price { border-radius: 20px; background: #fff; box-shadow: 0 18px 44px rgba(19,43,36,.08); }
.ct-site .pl-form { border-radius: 20px; box-shadow: 0 20px 54px rgba(19,43,36,.14); }
.ct-site .pl-final .pl-btn--primary { background: var(--rp-mint); color: var(--rp-ink); border-radius: 999px; }
@media (max-width: 800px) { .ct-site .pl-hero { padding-top: 118px; } .ct-site .pl-section { padding-block: 76px; } }

/* Institutional and legal pages — same contrast system */
.ct-site .institutional-hero { background: radial-gradient(circle at 86% 8%, rgba(37,190,130,.2), transparent 25%), linear-gradient(120deg, #020907 0%, #061912 44%, #073e2d 100%); color: #f5fff9; position: relative; overflow: hidden; }
.ct-site .institutional-hero:before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(184,241,215,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(184,241,215,.045) 1px, transparent 1px); background-size: 54px 54px; opacity: .56; pointer-events: none; }
.ct-site .institutional-hero > .container { position: relative; z-index: 1; }
.ct-site .institutional-hero h1 { color: #f5fff9; font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-site .institutional-hero p { color: #cbe7d9; }
.ct-site .ip-code, .ct-site .ip-thesis small { color: var(--rp-mint); }
.ct-site .ip-thesis { border-top-color: var(--rp-mint); }
.ct-site .ip-thesis strong { color: #f5fff9; font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-site .ip-thesis span { color: #b8dacb; }
.ct-site .institutional-actions .btn-primary { background: var(--rp-mint); color: var(--rp-ink); border-radius: 999px; }
.ct-site .institutional-actions .btn-outline { border-color: rgba(184,241,215,.38); color: #effff6; border-radius: 999px; }
.ct-site .institutional-body { background: #f0f6f3; }
.ct-site .institutional-grid, .ct-site .institutional-steps { border-color: #d8e5de; gap: 12px; border: 0; }
.ct-site .institutional-grid article, .ct-site .institutional-steps li { border: 1px solid #d8e5de; border-radius: 18px; box-shadow: 0 14px 34px rgba(19,43,36,.06); }
.ct-site .institutional-grid article { min-height: 230px; }
.ct-site .institutional-grid h2, .ct-site .institutional-steps strong { font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-site .contact-register { border-radius: 18px; background: linear-gradient(120deg, #04130e, #0a4a35); }
.ct-site .ip-next a { border-color: #d8e5de; }
.ct-site .legal-hero { background: linear-gradient(120deg, #020907, #073e2d); border-bottom: 0; }
.ct-site .legal-hero h1, .ct-site .legal-hero span { color: #f5fff9 !important; font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
.ct-site .legal-hero p { color: #b8dacb !important; }
.ct-site .legal-body { background: #f6faf8; }
.ct-site .legal-content h2 { font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; color: var(--rp-ink); }
.ct-site .legal-content p, .ct-site .legal-content li { font-family: 'Galano', 'Helvetica Neue', Arial, sans-serif; }
@media (max-width: 600px) { .ct-site .institutional-hero { padding-top: 118px; } }

/* Mega menu: keep the focus state anchored to the trigger */
.ct-site .nav-item:focus-within > .mega-menu,
.ct-site .nav-item:hover > .mega-menu,
.ct-site .mega-menu.mega-open {
  left: 50%;
  max-width: calc(100vw - 32px);
  box-sizing: border-box;
  transform: translateX(-50%) translateY(0);
}
.ct-site .mega-menu { overflow-x: hidden; }

/* Mega menu: one viewport anchor for hover, focus and click states.
   This intentionally outranks the legacy responsive positioning rules. */
.ct-site .nav .mega-menu,
.ct-site .nav .mega-menu.mega-open,
.ct-site .nav .nav-item:hover > .mega-menu,
.ct-site .nav .nav-item:focus-within > .mega-menu {
  position: fixed !important;
  top: calc(var(--nav-h) + 8px) !important;
  left: 50% !important;
  right: auto !important;
  width: min(880px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  max-width: calc(100vw - 32px) !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  transform: translate3d(-50%, 0, 0) !important;
}

/* Products catalogue — premium ecosystem direction */
.ct-site .products-hero {
  position: relative;
  overflow: hidden;
  padding: 18px 0 0;
  color: #f5fff9;
  background:
    radial-gradient(circle at 80% 18%, rgba(43, 201, 139, .22), transparent 23%),
    radial-gradient(circle at 15% 90%, rgba(16, 111, 77, .2), transparent 32%),
    linear-gradient(125deg, #020907 0%, #061912 48%, #073e2d 100%);
}
.ct-site .products-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .55;
  background-image: linear-gradient(rgba(184,241,215,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(184,241,215,.045) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
}
.ct-site .products-hero .ev-breadcrumb { position: relative; z-index: 2; background: transparent; border-bottom-color: rgba(184,241,215,.14); }
.ct-site .products-hero .ev-breadcrumb a,
.ct-site .products-hero .ev-breadcrumb li { color: rgba(233,255,244,.62); }
.ct-site .products-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  align-items: center;
  gap: clamp(2rem, 7vw, 7rem);
  min-height: 590px;
  padding: 54px 0 76px;
}
.ct-site .products-hero-kicker,
.ct-site .products-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--rp-mint);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.ct-site .products-hero-kicker i { width: 7px; height: 7px; border-radius: 50%; background: var(--rp-mint); box-shadow: 0 0 0 5px rgba(184,241,215,.12); }
.ct-site .products-hero h1 { max-width: 730px; margin: 20px 0 24px; color: #f5fff9; font-size: clamp(3rem, 6.4vw, 6rem); line-height: .96; letter-spacing: -.065em; }
.ct-site .products-hero h1 em { color: var(--rp-mint); font-style: normal; }
.ct-site .products-hero-copy > p { max-width: 560px; margin: 0; color: #cbe7d9; font-size: 1.08rem; line-height: 1.7; }
.ct-site .products-hero-proof { display: flex; flex-wrap: wrap; gap: 0; margin-top: 44px; border-top: 1px solid rgba(184,241,215,.22); }
.ct-site .products-hero-proof span { display: grid; gap: 5px; min-width: 180px; margin-top: 17px; padding-right: 28px; color: #9fc6b2; font-size: .77rem; line-height: 1.35; }
.ct-site .products-hero-proof span + span { padding-left: 28px; border-left: 1px solid rgba(184,241,215,.22); }
.ct-site .products-hero-proof strong { color: #f5fff9; font: 600 1.2rem/1 var(--font-display); }
.ct-site .products-hero-stage { position: relative; min-height: 430px; }
.ct-site .products-stage-orbit { position: absolute; border: 1px solid rgba(184,241,215,.2); border-radius: 50%; transform: rotate(-18deg); }
.ct-site .products-stage-orbit--one { inset: 8% 5%; }
.ct-site .products-stage-orbit--two { inset: 22% 17%; border-color: rgba(184,241,215,.32); transform: rotate(42deg); }
.ct-site .products-stage-core { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 190px; height: 190px; padding: 24px; border: 1px solid rgba(184,241,215,.42); border-radius: 50%; background: radial-gradient(circle at 35% 25%, rgba(44,211,145,.25), rgba(3,22,16,.94) 66%); box-shadow: 0 0 0 12px rgba(184,241,215,.035), 0 25px 80px rgba(0,0,0,.4); text-align: center; transform: translate(-50%, -50%); }
.ct-site .products-stage-core span { color: var(--rp-mint); font-size: .57rem; font-weight: 800; letter-spacing: .16em; }
.ct-site .products-stage-core strong { color: #f5fff9; font-size: 1.3rem; line-height: .94; letter-spacing: -.04em; }
.ct-site .products-stage-core small { color: #94bbaa; font-size: .6rem; }
.ct-site .products-stage-node { position: absolute; padding: 8px 11px; border: 1px solid rgba(184,241,215,.25); border-radius: 99px; background: rgba(2,18,13,.78); color: #cbe7d9; font-size: .57rem; font-weight: 800; letter-spacing: .1em; box-shadow: 0 10px 25px rgba(0,0,0,.2); }
.ct-site .products-stage-node--top { top: 3%; left: 50%; transform: translateX(-50%); }
.ct-site .products-stage-node--right { top: 47%; right: 0; }
.ct-site .products-stage-node--bottom { bottom: 3%; left: 50%; transform: translateX(-50%); }
.ct-site .products-stage-node--left { top: 47%; left: 0; }
.ct-site .products-catalog-section { padding: 104px 0 128px; background: #f0f6f3; }
.ct-site .products-catalog-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 34px; }
.ct-site .products-catalog-heading h2 { margin: 10px 0 0; color: var(--rp-ink); font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; letter-spacing: -.055em; }
.ct-site .products-catalog-heading p { max-width: 260px; margin: 0 0 5px; color: var(--rp-muted); font-size: .86rem; line-height: 1.55; }
.ct-site .products-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 28px; padding: 10px; border: 1px solid #d8e5de; border-radius: 16px; background: rgba(255,255,255,.72); box-shadow: 0 12px 30px rgba(19,43,36,.04); }
.ct-site .products-toolbar .ev-filter-bar { flex: 1; min-width: 0; }
.ct-site .products-toolbar .ev-filter-btn { border-color: transparent; background: transparent; color: #587066; }
.ct-site .products-toolbar .ev-filter-btn:hover { border-color: #b8dfcb; background: #e7f6ee; color: #176b4b; }
.ct-site .products-toolbar .ev-filter-btn.active { background: var(--rp-ink); color: #eafff3; box-shadow: 0 7px 18px rgba(19,43,36,.16); }
.ct-site .products-search-box { position: relative; flex: 0 0 280px; }
.ct-site .products-search-box input { width: 100%; padding: .78rem 1rem .78rem 2.75rem; border: 1px solid #d8e5de; border-radius: 99px; background: #fff; color: var(--rp-ink); font: .86rem 'Galano', 'Helvetica Neue', Arial, sans-serif; outline: none; }
.ct-site .products-search-box input:focus { border-color: var(--rp-green); box-shadow: 0 0 0 4px rgba(11,140,100,.12); }
.ct-site .ev-product-grid { gap: 14px; }
.ct-site .ev-pcard { position: relative; min-height: 330px; padding: 28px; border: 1px solid #d8e5de; border-radius: 20px; background: rgba(255,255,255,.88); box-shadow: 0 10px 25px rgba(19,43,36,.035); overflow: hidden; }
.ct-site .ev-pcard::after { content: ''; position: absolute; right: -48px; bottom: -55px; width: 150px; height: 150px; border: 1px solid rgba(11,140,100,.16); border-radius: 50%; pointer-events: none; }
.ct-site .ev-pcard:nth-child(3n+2) { background: linear-gradient(145deg, #fff, #edf8f2); }
.ct-site .ev-pcard:nth-child(3n) { background: linear-gradient(145deg, #f5f8f6, #e4f1ea); }
.ct-site .ev-pcard:hover { border-color: #8ac9ac; box-shadow: 0 24px 48px rgba(19,43,36,.12); transform: translateY(-7px); }
.ct-site .ev-pcard__icon { width: 48px; height: 48px; border: 1px solid #b8dfcb; border-radius: 14px; background: #e2f6eb; color: #0b8c64; }
.ct-site .ev-pcard__cat { color: #287454; font-size: .63rem; letter-spacing: .1em; }
.ct-site .ev-pcard__name { margin-top: 22px; color: var(--rp-ink); font-size: 1.18rem; letter-spacing: -.035em; }
.ct-site .ev-pcard__desc { max-width: 285px; color: #587066; line-height: 1.65; }
.ct-site .ev-pcard__cta { margin-top: auto; color: #176b4b; font-size: .76rem; font-weight: 800; letter-spacing: .02em; }
.ct-site .ev-pcard__cta svg { width: 15px; height: 15px; }
@media (max-width: 900px) {
  .ct-site .products-hero-grid { grid-template-columns: 1fr; min-height: 0; padding-top: 46px; }
  .ct-site .products-hero-stage { min-height: 360px; max-width: 520px; width: 100%; margin: 0 auto; }
  .ct-site .products-catalog-heading { display: block; }
  .ct-site .products-catalog-heading p { margin-top: 14px; }
}
@media (max-width: 640px) {
  .ct-site .products-hero { padding-top: 8px; }
  .ct-site .products-hero h1 { font-size: clamp(2.7rem, 13vw, 4.2rem); }
  .ct-site .products-hero-proof span { min-width: 0; flex: 1; }
  .ct-site .products-hero-stage { min-height: 300px; transform: scale(.86); transform-origin: center top; margin-bottom: -42px; }
  .ct-site .products-catalog-section { padding: 72px 0 88px; }
  .ct-site .products-toolbar { align-items: stretch; flex-direction: column; padding: 12px; }
  .ct-site .products-toolbar .ev-filter-bar { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
  .ct-site .products-search-box { flex-basis: auto; }
}
