/* Extracted from aapanel.php style block 1 */
/* ================================================================
   THEME: aaPanel (orange - identical token pattern to theme-uptimerobot)
   Applied to body, picked up automatically by main.css components
   ================================================================ */
:root {
  --color-primary:          #F97316;
  --color-primary-light:    #FFA155;
  --color-primary-dark:     #E05E00;
  --color-primary-darker:   #7C2D00;
  --color-secondary:        #FDBA74;
  --color-secondary-light:  #FED7AA;
  --color-secondary-dark:   #C2550A;
  --color-accent:           #FFD966;
  --color-accent-light:     #FEF9C3;
  --color-accent-dark:      #F59E0B;

  --color-primary-rgb:          249, 115,  22;
  --color-primary-light-rgb:    255, 161,  85;
  --color-primary-dark-rgb:     224,  94,   0;
  --color-primary-darker-rgb:   124,  45,   0;
  --color-secondary-rgb:        253, 186, 116;
  --color-secondary-light-rgb:  254, 215, 170;
  --color-secondary-dark-rgb:   194,  85,  10;
  --color-accent-rgb:           255, 217, 102;

  --border-primary:   rgba(249, 115,  22, 0.18);
  --border-secondary: rgba(249, 115,  22, 0.09);

  --gradient-horizontal:  linear-gradient(90deg,  #C2550A, #F97316, #FFA155);
  --gradient-primary:     linear-gradient(135deg, #1A0A00, #F97316, #FDBA74);
  --gradient-card-header: linear-gradient(145deg, #1A0A00, #7C2D00, #F97316);

  --shadow-md:   0 10px 20px rgba(249, 115,  22, 0.22);
  --shadow-lg:   0 15px 30px rgba(249, 115,  22, 0.30);
  --shadow-xl:   0 20px 40px rgba(249, 115,  22, 0.14);
  --shadow-glow: 0 0  30px  rgba(249, 115,  22, 0.45);
  --shadow-card: 0 30px 50px -15px rgba(249, 115, 22, 0.18);

  /* v2 dark-bg stops */
  --dark-1: #0B0B0B;
  --dark-2: #1A0A00;
  --dark-3: #7C2D00;
}

/* ================================================================
   RESET / BASE
   ================================================================ */
*, *::before, *::after { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; height: auto; display: block; }

/* ================================================================
   KEYFRAMES
   ================================================================ */
@keyframes slideUp   { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes blink     { 0%,100%{opacity:1} 50%{opacity:.35} }
@keyframes float     { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }

/* ================================================================
   HERO - full-viewport, dark, orange blooms
   ================================================================ */
.v2-hero {
  position: relative;
  min-height: 80svh;
  display: flex; align-items: center;
  background: linear-gradient(135deg, #0B0B0B 0%, #1A0A00 60%, #2D1000 100%);
  overflow: hidden;
  padding: 72px 0 60px;
}

/* Background photo layer */
.v2-hero__photo {
  position: absolute; inset: 0;
  background: url('https://underhost.com/blog/wp-content/uploads/2025/01/servers-in-an-aisle-of-racks-in-a-computer-server-2023-11-27-05-35-38-utc-scaled.jpg')
    center 40% / cover no-repeat;
  opacity: .10;
}

/* Colour bloom radials */
.v2-hero__blooms {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 55% 50% at 18% 52%, rgba(249,115,22,.18) 0%, transparent 65%),
    radial-gradient(ellipse 40% 38% at 78% 22%, rgba(255,217,102,.10) 0%, transparent 60%);
}

/* Faint grid */
.v2-hero__grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(249,115,22,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(249,115,22,.055) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 90% 80% at 50% 50%, black 20%, transparent 100%);
}

.v2-hero .container { position: relative; z-index: 2; }

/* Live badge - reuses main.css .speed-badge shape */
.v2-badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 16px;
  background: rgba(249,115,22,.13);
  border: 1px solid rgba(249,115,22,.38);
  border-radius: var(--radius-full);
  color: var(--color-primary-light);
  font-size: 11px; font-weight: 700;
  letter-spacing: 1.3px; text-transform: uppercase;
  margin-bottom: 24px;
  animation: slideUp .5s ease both;
}
.v2-badge .dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--color-success);
  box-shadow: 0 0 8px var(--color-success);
  animation: blink 2s ease-in-out infinite;
}

/* Hero title */
.v2-hero__title {
  font-size: clamp(32px, 7.5vw, 68px);
  font-weight: 900; line-height: 1.06; letter-spacing: -2.5px;
  color: #fff; margin: 0 0 18px;
  animation: slideUp .55s .1s ease both;
}
.v2-hero__title .grad {
  background: linear-gradient(90deg, #FFA155, #FFD966);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

.v2-hero__sub {
  font-size: 16px; color: rgba(255,255,255,.70); line-height: 1.75;
  max-width: 580px; margin-bottom: 30px;
  animation: slideUp .6s .18s ease both;
}
.v2-hero__sub strong { color: #fff; font-weight: 700; }

/* CTA row */
.v2-hero__actions {
  display: flex; flex-direction: column; gap: 12px; margin-bottom: 36px;
  animation: slideUp .65s .24s ease both;
}
@media(min-width:480px){ .v2-hero__actions{ flex-direction: row; } }

/* Trust strip */
.v2-trust {
  display: flex; flex-wrap: wrap; gap: 10px 20px; align-items: center;
  animation: slideUp .7s .3s ease both;
}
.v2-trust-item {
  display: flex; align-items: center; gap: 7px;
  font-size: 13px; font-weight: 600; color: rgba(255,255,255,.60);
}
.v2-trust-item i { color: var(--color-primary); font-size: 12px; }
.v2-trust-sep { width: 4px; height: 4px; border-radius: 50%; background: rgba(255,255,255,.18); }

/* ================================================================
   BUTTONS - extend main.css .btn-speed
   ================================================================ */
.v2-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px 28px; border-radius: var(--radius-full);
  font-weight: 700; font-size: 15px; font-family: inherit;
  text-decoration: none !important; border: none; cursor: pointer;
  transition: var(--transition-base);
  -webkit-appearance: none;
}
.v2-btn--fill {
  background: var(--gradient-horizontal);
  color: #fff !important;
  box-shadow: var(--shadow-md);
  width: 100%;
}
@media(min-width:480px){ .v2-btn--fill{ width: auto; } }
.v2-btn--fill:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); color: #fff !important; }

.v2-btn--ghost {
  background: transparent; color: rgba(255,255,255,.82) !important;
  border: 1.5px solid rgba(255,255,255,.25);
  width: 100%;
}
@media(min-width:480px){ .v2-btn--ghost{ width: auto; } }
.v2-btn--ghost:hover { border-color: rgba(249,115,22,.65); color: var(--color-primary) !important; background: rgba(249,115,22,.07); }

.v2-btn--outline-orange {
  background: transparent; color: var(--color-primary) !important;
  border: 1.5px solid rgba(249,115,22,.40);
}
.v2-btn--outline-orange:hover { background: rgba(249,115,22,.07); border-color: var(--color-primary); }

.v2-btn--wide { padding: 14px 36px; font-size: 16px; }

/* ================================================================
   PARTNERS - white bar
   ================================================================ */
.v2-partners {
  background: var(--surface-primary);
  border-bottom: 1px solid var(--border-secondary);
  padding: 22px 0;
}
.v2-partners-row {
  display: flex; align-items: center; justify-content: center;
  gap: 20px 32px; flex-wrap: wrap;
}
/* Uniform-size logo boxes - each logo sits inside a fixed container */
.v2-partners-row .logo-wrap {
  width: 120px; height: 60px;
  display: flex; align-items: center; justify-content: center;
  transition: var(--transition-base);
  opacity: .50; filter: grayscale(1);
}
.v2-partners-row .logo-wrap:hover { opacity: 1; filter: none; }
.v2-partners-row .logo-wrap img {
  max-width: 100%; max-height: 100%;
  width: auto; height: auto;
  object-fit: contain;
  display: block;
}

/* ================================================================
   SECTION HEADER - shared utility
   ================================================================ */
.v2-lbl {
  display: inline-block;
  padding: 4px 14px;
  background: rgba(249,115,22,.10);
  border-radius: var(--radius-full);
  color: var(--color-primary);
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px;
  margin-bottom: 12px;
}
.v2-lbl--light { background: rgba(249,115,22,.20); color: var(--color-primary-light); }

.v2-h2 {
  font-size: clamp(24px, 3.2vw, 42px);
  font-weight: 900; letter-spacing: -1.2px; line-height: 1.12;
  margin-bottom: 13px; color: var(--text-primary);
}
.v2-h2 em   { font-style: normal; color: var(--color-primary); }
.v2-h2--inv { color: #fff; }

.v2-sub {
  font-size: 15px; color: var(--text-secondary);
  line-height: 1.70; max-width: 580px; margin: 0 auto 50px;
}
.v2-sub--inv { color: rgba(255,255,255,.60); }

/* ================================================================
   STATS - white cards with orange numbers
   ================================================================ */
.v2-stats { background: var(--surface-primary); padding: 52px 0; }
.v2-stats-grid {
  display: grid; grid-template-columns: repeat(2,1fr); gap: 14px;
}
@media(min-width:1024px){ .v2-stats-grid{ grid-template-columns: repeat(4,1fr); } }

.v2-stat {
  text-align: center; padding: 28px 16px;
  background: var(--surface-secondary);
  border-radius: var(--radius-xl);
  border: 1px solid var(--border-secondary);
  transition: var(--transition-base);
}
.v2-stat:hover { border-color: var(--border-primary); box-shadow: var(--shadow-xl); transform: translateY(-4px); }
.v2-stat__n {
  font-size: clamp(30px, 4vw, 44px); font-weight: 900;
  color: var(--color-primary); line-height: 1; letter-spacing: -1.5px;
  margin-bottom: 8px;
}
.v2-stat__l { font-size: 13px; color: var(--text-secondary); font-weight: 600; }

/* ================================================================
   FEATURES GRID - 2×2, full-width screenshots, main.css card shape
   ================================================================ */
.v2-features { background: var(--surface-secondary); padding: 80px 0; }
.v2-feat-grid {
  display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 48px;
}
@media(min-width:768px){ .v2-feat-grid{ grid-template-columns: repeat(2,1fr); } }

/* Card - inherits .dedicated-feature-card shape */
.v2-feat-card {
  background: var(--surface-primary);
  border-radius: var(--radius-3xl); overflow: hidden;
  border: 1px solid var(--border-secondary);
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
  transition: var(--transition-base);
}
.v2-feat-card:hover {
  border-color: var(--border-primary);
  box-shadow: var(--shadow-xl);
  transform: translateY(-4px);
}

/* Screenshot bay - dark bg, aspect-ratio 16/9, no crop */
.v2-feat-shot {
  position: relative; background: #0E0500;
  aspect-ratio: 16/9; overflow: hidden;
}
.v2-feat-shot img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.v2-feat-card:hover .v2-feat-shot img { transform: scale(1.03); }

/* Overlay tag on screenshot */
.v2-feat-shot__tag {
  position: absolute; top: 10px; right: 10px; z-index: 2;
  padding: 4px 11px;
  background: rgba(0,0,0,.52); backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--radius-full);
  color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .5px;
}

/* Card body */
.v2-feat-body { padding: 20px 22px 26px; }
.v2-feat-body h3 { font-size: 18px; font-weight: 800; color: var(--text-primary); margin-bottom: 7px; }
.v2-feat-body > p { font-size: 13px; color: var(--text-secondary); line-height: 1.65; margin-bottom: 13px; }

/* Check list */
.v2-cklist { list-style: none; padding: 0; margin: 0; }
.v2-cklist li {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--text-primary);
  padding: 5px 0; border-bottom: 1px solid var(--border-secondary);
}
.v2-cklist li:last-child { border-bottom: none; }
.v2-cklist i { color: var(--color-primary); font-size: 12px; flex-shrink: 0; }

/* ================================================================
   GLASS SECTION - "Why aaPanel" dark cards
   Uses main.css .why-choose-us + .benefit-item token names
   ================================================================ */
.v2-glass {
  background: linear-gradient(160deg, var(--dark-1) 0%, var(--dark-2) 50%, var(--dark-3) 100%);
  padding: 80px 0; position: relative; overflow: hidden;
}
.v2-glass::before {
  content: ''; position: absolute; inset: 0;
  background-image: repeating-linear-gradient(
    -55deg, transparent, transparent 28px,
    rgba(249,115,22,.04) 28px, rgba(249,115,22,.04) 29px);
}
.v2-glass .container { position: relative; z-index: 1; }

.v2-glass-grid {
  display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 44px;
}
@media(min-width:640px)  { .v2-glass-grid{ grid-template-columns: repeat(2,1fr); } }
@media(min-width:1024px) { .v2-glass-grid{ grid-template-columns: repeat(3,1fr); } }

/* Glass card - extends .benefit-item */
.v2-glass-card {
  background: rgba(255,255,255,.055);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(249,115,22,.18);
  border-radius: var(--radius-xl); padding: 24px 20px;
  transition: var(--transition-base);
}
.v2-glass-card:hover {
  background: rgba(255,255,255,.09);
  border-color: rgba(249,115,22,.42);
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(249,115,22,.18);
}
.v2-glass-icon {
  width: 46px; height: 46px;
  background: var(--gradient-horizontal);
  border-radius: var(--radius-lg);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 15px; box-shadow: var(--shadow-md);
  font-size: 18px; color: #fff;
}
.v2-glass-card h3 { font-size: 16px; font-weight: 800; color: #fff; margin-bottom: 7px; }
.v2-glass-card p  { font-size: 13px; color: rgba(255,255,255,.58); line-height: 1.65; margin: 0; }

/* ================================================================
   WINDOWS SUPPORT BANNER - below features grid
   ================================================================ */
.v2-win-banner {
  background: var(--surface-primary);
  border-top: 1px solid var(--border-secondary);
  padding: 40px 0;
}
.v2-win-inner {
  display: flex; flex-direction: column;
  align-items: center; gap: 20px;
  text-align: center;
}
@media(min-width:768px){
  .v2-win-inner {
    flex-direction: row; justify-content: center;
    text-align: left; gap: 36px;
  }
}
.v2-win-logo {
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.v2-win-logo img {
  width: 64px; height: 64px; object-fit: contain;
}
.v2-win-text h3 {
  font-size: 20px; font-weight: 800; color: var(--text-primary);
  margin-bottom: 6px;
}
.v2-win-text p {
  font-size: 14px; color: var(--text-secondary);
  line-height: 1.65; margin: 0; max-width: 560px;
}
.v2-win-pills {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-top: 12px;
  justify-content: center;
}
@media(min-width:768px){ .v2-win-pills{ justify-content: flex-start; } }
.v2-win-pill {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 12px; font-weight: 700; color: var(--text-secondary);
  background: var(--surface-secondary);
  border: 1px solid var(--border-secondary);
  padding: 4px 12px; border-radius: var(--radius-full);
}
.v2-win-pill i { color: var(--color-primary); font-size: 11px; }
.v2-win-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 16px;
  background: rgba(0,120,212,.10);
  border: 1px solid rgba(0,120,212,.28);
  border-radius: var(--radius-full);
  color: #0078D4;
  font-size: 11px; font-weight: 700;
  letter-spacing: .8px; text-transform: uppercase;
  margin-bottom: 10px;
  white-space: nowrap;
}

.v2-mig { background: var(--surface-primary); padding: 80px 0; }
.v2-mig-layout {
  display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center;
}
@media(min-width:768px){ .v2-mig-layout{ grid-template-columns: 1fr 1.2fr; gap: 56px; } }

/* Animated image */
.v2-mig-imgwrap { position: relative; }
.v2-mig-imgwrap img {
  width: 100%;
  animation: float 6s ease-in-out infinite;
  filter: drop-shadow(0 18px 36px rgba(249,115,22,.18));
}
.v2-mig-badge {
  position: absolute; top: 16px; right: -8px;
  background: var(--gradient-horizontal); color: #fff;
  font-size: 13px; font-weight: 800;
  padding: 8px 20px; border-radius: var(--radius-full);
  box-shadow: var(--shadow-md);
}

/* 2-col tile grid - mobile: 1 col */
.v2-mig-tiles {
  display: grid; grid-template-columns: 1fr; gap: 10px; margin: 24px 0 30px;
}
@media(min-width:480px){ .v2-mig-tiles{ grid-template-columns: repeat(2,1fr); } }

.v2-mig-tile {
  display: flex; align-items: center; gap: 11px;
  padding: 12px 14px;
  background: var(--surface-secondary);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-secondary);
  font-size: 13px; font-weight: 700; color: var(--text-primary);
  transition: var(--transition-base);
}
.v2-mig-tile:hover { background: var(--surface-primary); border-color: var(--border-primary); box-shadow: var(--shadow-md); }
.v2-mig-tile__icon {
  width: 32px; height: 32px; flex-shrink: 0;
  background: rgba(249,115,22,.10); border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--border-primary); transition: var(--transition-base);
}
.v2-mig-tile:hover .v2-mig-tile__icon { background: var(--gradient-horizontal); border-color: transparent; }
.v2-mig-tile__icon i { color: var(--color-primary); font-size: 13px; }
.v2-mig-tile:hover .v2-mig-tile__icon i { color: #fff; }

/* ================================================================
   DEPLOY - centred, screenshot hero + feature row + CTA
   ================================================================ */
.v2-deploy {
  background: var(--surface-secondary);
  padding: 80px 0;
  border-top: 1px solid var(--border-secondary);
}

/* Full-width screenshot with glow frame */
.v2-deploy-shot {
  border-radius: var(--radius-2xl); overflow: hidden;
  box-shadow: var(--shadow-card);
  border: 2px solid var(--border-primary);
  max-width: 900px; margin: 0 auto 48px;
  transition: var(--transition-base);
}
.v2-deploy-shot:hover {
  box-shadow: var(--shadow-lg);
  border-color: rgba(249,115,22,.42);
}
.v2-deploy-shot img { width: 100%; display: block; }

/* 4-col highlights row */
.v2-deploy-feats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  max-width: 900px; margin: 0 auto 36px;
}
@media(min-width:640px) { .v2-deploy-feats { grid-template-columns: repeat(4, 1fr); } }

.v2-deploy-feat {
  display: flex; flex-direction: column; align-items: center;
  text-align: center; gap: 10px;
  padding: 20px 14px;
  background: var(--surface-primary);
  border-radius: var(--radius-xl);
  border: 1px solid var(--border-secondary);
  transition: var(--transition-base);
}
.v2-deploy-feat:hover {
  border-color: var(--border-primary);
  box-shadow: var(--shadow-xl);
  transform: translateY(-3px);
}
.v2-deploy-feat__icon {
  width: 44px; height: 44px;
  background: var(--gradient-horizontal);
  border-radius: var(--radius-lg);
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--shadow-md); flex-shrink: 0;
}
.v2-deploy-feat__icon i { color: #fff; font-size: 17px; }
.v2-deploy-feat h4 { font-size: 14px; font-weight: 800; color: var(--text-primary); margin: 0; }
.v2-deploy-feat p  { font-size: 12px; color: var(--text-secondary); margin: 0; line-height: 1.5; }

/* CTA block */
.v2-deploy-cta-wrap {
  display: flex; flex-direction: column; align-items: center; gap: 12px;
}
.v2-deploy-cta {
  display: inline-flex; align-items: center; gap: 9px;
  background: var(--gradient-horizontal); color: #fff !important;
  padding: 15px 40px; border-radius: var(--radius-full);
  font-weight: 800; font-size: 16px; text-decoration: none !important;
  box-shadow: var(--shadow-md); transition: var(--transition-base);
}
.v2-deploy-cta:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); color: #fff !important; }
.v2-deploy-note {
  font-size: 12px; color: var(--text-secondary); display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: center;
}
.v2-deploy-note span { display: flex; align-items: center; gap: 5px; }
.v2-deploy-note i { color: var(--color-primary); font-size: 11px; }

/* ================================================================
   FAQ - mobile grid (1 col), desktop (2 col)
   Extends main.css .faq-item / .faq-grid
   ================================================================ */
.v2-faq { background: var(--surface-primary); padding: 80px 0; }
.v2-faq-grid {
  display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 48px;
}
@media(min-width:768px){ .v2-faq-grid{ grid-template-columns: repeat(2,1fr); gap: 12px; } }

.v2-faq-card {
  background: var(--surface-secondary);
  border-radius: var(--radius-xl); padding: 20px;
  cursor: pointer; border: 1px solid transparent;
  transition: var(--transition-base);
}
.v2-faq-card:hover { background: var(--surface-primary); border-color: var(--border-primary); }
.v2-faq-card.open { background: var(--surface-primary); border-color: var(--border-primary); }

.v2-faq-q {
  display: flex; align-items: flex-start;
  justify-content: space-between; gap: 12px;
  font-weight: 700; font-size: 15px; color: var(--text-primary);
}
.v2-faq-q i {
  color: var(--color-primary); font-size: 13px;
  transition: transform .3s ease; flex-shrink: 0; margin-top: 2px;
}
.v2-faq-card.open .v2-faq-q i { transform: rotate(180deg); }

.v2-faq-a {
  font-size: 13px; color: var(--text-secondary); line-height: 1.65;
  margin-top: 13px; display: none;
}
.v2-faq-card.open .v2-faq-a { display: block; }

/* ================================================================
   CTA DARK - .uh-cta-dark from main.css
   ================================================================ */
.v2-cta {
  background: linear-gradient(135deg, var(--dark-1) 0%, var(--dark-2) 55%, var(--dark-3) 100%);
  padding: 80px 0; position: relative; overflow: hidden; text-align: center;
}
.v2-cta::before {
  content: ''; position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(249,115,22,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(249,115,22,.055) 1px, transparent 1px);
  background-size: 56px 56px;
}
.v2-cta .container { position: relative; z-index: 1; }
.v2-cta h2 {
  font-size: clamp(26px, 3.5vw, 48px); font-weight: 900;
  color: #fff; letter-spacing: -1.5px; margin-bottom: 16px;
}
.v2-cta h2 em { font-style: normal; color: var(--color-accent); }
.v2-cta p { font-size: 16px; color: rgba(255,255,255,.68); max-width: 560px; margin: 0 auto 32px; line-height: 1.7; }
.v2-cta-actions {
  display: flex; flex-direction: column; gap: 12px; align-items: center;
}
@media(min-width:480px){ .v2-cta-actions{ flex-direction: row; justify-content: center; } }

/* ================================================================
   DIVIDER - native main.css, just override line colour
   ================================================================ */
.uh-divider-line {
  background: linear-gradient(90deg, transparent, rgba(249,115,22,.32), transparent) !important;
}

/* ================================================================
   SECTION SPACING
   ================================================================ */
.v2-sec { padding: 80px 0; }
.v2-sec--light { background: var(--surface-primary); }
.v2-sec--alt   { background: var(--surface-secondary); }

@media(min-width:768px){
  .v2-sec,.v2-features,.v2-glass,.v2-mig,.v2-deploy,.v2-faq,.v2-cta { padding: 88px 0; }
}

/* Contrast pass for dark/orange aaPanel surfaces */
.v2-hero__photo {
  opacity: .16;
}

.v2-hero__sub,
.v2-trust-item,
.v2-sub--inv,
.v2-glass-card p,
.v2-cta p {
  color: rgba(248, 250, 252, .84) !important;
}

.v2-badge,
.v2-lbl--light {
  background: rgba(38, 13, 2, .72) !important;
  border: 1px solid rgba(255, 161, 85, .44) !important;
  color: #ffd7c4 !important;
}

.v2-glass-card {
  background: rgba(42, 16, 7, .78) !important;
  border-color: rgba(255, 161, 85, .26) !important;
}

.v2-glass-card h3 {
  color: #fff !important;
}

@media(max-width:768px){
  .v2-hero {
    padding: 64px 0 58px;
  }

  .v2-hero__photo {
    opacity: .2;
  }

  .v2-hero__blooms {
    background:
      radial-gradient(ellipse 70% 46% at 18% 42%, rgba(249,115,22,.26) 0%, transparent 65%),
      radial-gradient(ellipse 54% 38% at 80% 18%, rgba(255,217,102,.14) 0%, transparent 62%);
  }

  .v2-hero__sub,
  .v2-trust-item,
  .v2-sub--inv,
  .v2-glass-card p {
    color: rgba(255, 255, 255, .9) !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, .44);
  }

  .v2-glass-card {
    background: rgba(45, 17, 7, .9) !important;
  }
}

/* Extracted from aapanel.php style block 2 */
/* aaPanel-specific button style with orange */
.v2-btn--fill-orange {
    background: #F97316;
    color: white;
    border: none;
    box-shadow: 0 8px 16px rgba(249,115,22,0.2);
}

.v2-btn--fill-orange:hover {
    background: #E05E00;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(249,115,22,0.3);
    color: white;
}

/* Ensure compatibility with existing styles */
.greybg2 {
    background-color: #f8fafc;
}
.topbottompadding70 {
    padding-top: 70px;
    padding-bottom: 70px;
}
.topbottompadding50 {
    padding-top: 50px;
    padding-bottom: 50px;
}
.text42 {
    font-size: 42px;
    line-height: 1.2;
}
.text24 {
    font-size: 24px;
    line-height: 1.4;
}
.text20 {
    font-size: 20px;
    line-height: 1.5;
}
.text50 {
    font-size: 50px;
    line-height: 1.1;
}
.w700 {
    font-weight: 700;
}
.w400 {
    font-weight: 400;
}
:root {
    --uh-text: #1e293b;
    --uh-muted: #64748b;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    [style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
    .text42 {
        font-size: 32px;
    }
    .text50 {
        font-size: 36px;
    }
    .text24 {
        font-size: 20px;
    }
}

