:root{
  --app-bg: #eef1fb;
  --app-1: #4f46e5;
  --app-2: #06b6d4;
  --app-3: #22c55e;
  /* Matches premium landing (.hv2-hero) — nav + marketing stay one palette */
  --app-nav-gradient: linear-gradient(135deg, #1e1b4b 0%, #312e81 38%, #4c1d95 72%, #5b21b6 100%);
  --app-nav-glow-cyan: rgba(6, 182, 212, 0.32);
  --app-nav-glow-rose: rgba(244, 114, 182, 0.12);
  --app-surface: rgba(255,255,255,.94);
  --app-border: rgba(148,163,184,.22);
  --app-shadow: 0 16px 44px rgba(15,23,42,.09);
  --app-shadow-soft: 0 10px 28px rgba(15,23,42,.06);
  --bs-primary: #4f46e5;
  --bs-primary-rgb: 79, 70, 229;
  --bs-link-color: #4f46e5;
  --bs-link-hover-color: #4338ca;
}

.bg-app{
  background:
    radial-gradient(1100px circle at 8% -10%, rgba(79,70,229,.14), transparent 52%),
    radial-gradient(900px circle at 92% 0%, rgba(6,182,212,.12), transparent 48%),
    radial-gradient(800px circle at 50% 100%, rgba(124,58,237,.08), transparent 55%),
    var(--app-bg);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.app-navbar{
  position: sticky;
  top: 0;
  z-index: 1030;
  background-color: #1e1b4b;
  background-image:
    radial-gradient(ellipse 80% 120% at 12% -45%, var(--app-nav-glow-cyan), transparent 56%),
    radial-gradient(ellipse 55% 90% at 96% 115%, var(--app-nav-glow-rose), transparent 52%),
    var(--app-nav-gradient);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 40px rgba(49, 46, 129, 0.42);
}
.app-navbar .navbar-brand{
  font-weight: 700;
  letter-spacing: -0.02em;
}
.app-brand-text{
  font-size: clamp(1.8rem, 2.8vw, 2.45rem);
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 2px 14px rgba(165, 243, 252, .35);
}
.app-navbar .app-logo{
  width: 46px;
  height: 46px;
  border-radius: 15px;
}
.app-navbar .app-logo i{
  font-size: 1.35rem;
}
.app-navbar .nav-link{
  border-radius: 10px;
  padding: 0.45rem 0.65rem !important;
  transition: background 0.15s ease, color 0.15s ease;
}
.app-navbar .nav-link:hover,
.app-navbar .nav-link:focus{
  background: rgba(255,255,255,.12);
  color: #fff !important;
}
.app-navbar .nav-link-with-badge{
  display: inline-flex;
  align-items: flex-start;
  gap: 0;
  padding-right: 0.65rem !important;
}
.app-navbar .nav-free-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.08rem;
  padding: 0.05rem 0.18rem;
  border-radius: 0.22rem;
  background: #fff;
  color: #dc2626;
  border: 1px solid #dc2626;
  text-shadow: none;
  -webkit-text-stroke: 0;
  font-size: 0.68rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.03em;
  transform: translateY(-0.32rem);
}
@media (max-width: 991.98px){
  .app-navbar .nav-link-with-badge{
    padding-right: 0.65rem !important;
  }
}
.app-navbar .dropdown-menu{
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 12px 32px rgba(11,31,58,.35);
  min-width: 17rem;
  margin-top: 0.35rem;
}
.app-navbar .dropdown-item{
  padding: 0.55rem 1rem;
  white-space: normal;
}
.app-navbar .dropdown-item:hover,
.app-navbar .dropdown-item:focus{
  background: rgba(255,255,255,.1);
}

/* Acts nav dropdown — compact list (hover on desktop) */
.nav-acts-list-menu{
  min-width: 11.5rem;
  max-width: 14.5rem;
  padding: 0.2rem 0 0.3rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 0.5rem;
  background: linear-gradient(165deg, #1a2744 0%, #0f1a2e 55%, #0b1528 100%);
  box-shadow:
    0 4px 6px rgba(0,0,0,.12),
    0 12px 28px rgba(11,31,58,.45);
  margin-top: 0.35rem !important;
  overflow: hidden;
}
.nav-acts-list-head{
  padding: 0.45rem 0.75rem 0.35rem;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.nav-acts-list-head-title{
  display: block;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(199,210,254,.8);
  line-height: 1.2;
}
.nav-acts-list-menu .dropdown-item.nav-acts-list-item{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.38rem 0.65rem;
  color: #e2e8f0;
  border-radius: 0;
  border-left: 2px solid transparent;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.nav-acts-list-menu .dropdown-item.nav-acts-list-item:hover,
.nav-acts-list-menu .dropdown-item.nav-acts-list-item:focus{
  color: #fff;
  background: rgba(255,255,255,.08);
}
.nav-acts-list-item--bns:hover,
.nav-acts-list-item--bns:focus{ border-left-color: #38bdf8; }
.nav-acts-list-item--bnss:hover,
.nav-acts-list-item--bnss:focus{ border-left-color: #a78bfa; }
.nav-acts-list-item--crpc:hover,
.nav-acts-list-item--crpc:focus{ border-left-color: #34d399; }
.nav-acts-list-item--ipc:hover,
.nav-acts-list-item--ipc:focus{ border-left-color: #fbbf24; }
.nav-acts-list-item--cpc:hover,
.nav-acts-list-item--cpc:focus{ border-left-color: #f472b6; }
.nav-acts-list-item--mva:hover,
.nav-acts-list-item--mva:focus{ border-left-color: #22d3ee; }
.nav-acts-list-icon{
  flex-shrink: 0;
  width: 1.65rem;
  height: 1.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.35rem;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}
.nav-acts-list-icon--all{
  font-size: 0.8rem;
  background: rgba(99,102,241,.35);
  color: #c7d2fe;
}
.nav-acts-list-icon--bns{
  background: rgba(56,189,248,.2);
  color: #7dd3fc;
}
.nav-acts-list-icon--bnss{
  background: rgba(167,139,250,.2);
  color: #c4b5fd;
}
.nav-acts-list-icon--crpc{
  background: rgba(52,211,153,.2);
  color: #6ee7b7;
}
.nav-acts-list-icon--ipc{
  background: rgba(251,191,36,.2);
  color: #fcd34d;
}
.nav-acts-list-icon--cpc{
  background: rgba(244,114,182,.2);
  color: #f9a8d4;
}
.nav-acts-list-icon--mva{
  background: rgba(34,211,238,.2);
  color: #67e8f9;
}
.nav-acts-list-text{
  flex: 1;
  min-width: 0;
}
.nav-acts-list-title{
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nav-acts-list-meta{
  display: block;
  font-size: 0.65rem;
  opacity: 0.65;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nav-acts-list-arrow{
  flex-shrink: 0;
  font-size: 0.7rem;
  opacity: 0.35;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.nav-acts-list-menu .dropdown-divider{
  margin: 0.15rem 0.5rem;
}
.nav-acts-list-item:hover .nav-acts-list-arrow,
.nav-acts-list-item:focus .nav-acts-list-arrow{
  opacity: 0.9;
  transform: translateX(2px);
}
@media (min-width: 992px){
  .nav-acts-mega:hover > .dropdown-menu,
  .nav-acts-mega.show > .dropdown-menu{
    display: block;
  }
}

/* Act section index cards */
.bare-act-section-card{
  transition: box-shadow 0.18s ease, transform 0.18s ease;
  border: 1px solid var(--line, #e2dbc9);
  cursor: pointer;
}
.bare-act-section-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(11,31,58,.08);
}
.bare-act-section-card-title{
  color: var(--ink, #0b1f3a);
  font-weight: 700;
}
.bare-act-section-card .stretched-link::after{
  z-index: 1;
}
.bare-act-section-card-desc{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.bare-act-format-suggest{
  padding-top: 0.65rem;
  border-top: 1px dashed var(--line, #e2dbc9);
  z-index: 2;
}
.bare-act-format-suggest-label{
  color: var(--muted, #5c6b7a);
  font-weight: 600;
}
.bare-act-format-link{
  font-size: 0.72rem;
  line-height: 1.35;
  white-space: normal;
}
.bare-act-format-link-text{
  display: inline;
}

.bare-act-hub-card{
  transition: box-shadow 0.18s ease, transform 0.18s ease;
  border: 1px solid var(--line, #e2dbc9);
  cursor: pointer;
}
.bare-act-hub-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(11,31,58,.1);
}
.bare-act-hub-card--bns{ border-top: 3px solid #38bdf8; }
.bare-act-hub-card--bnss{ border-top: 3px solid #a78bfa; }
.bare-act-hub-card--crpc{ border-top: 3px solid #34d399; }
.bare-act-hub-card--ipc{ border-top: 3px solid #fbbf24; }
.bare-act-hub-card--cpc{ border-top: 3px solid #f472b6; }
.bare-act-hub-card--mva{ border-top: 3px solid #22d3ee; }
.bare-act-chapter-pill{
  transition: box-shadow 0.18s ease, transform 0.18s ease;
  border: 1px solid var(--line, #e2dbc9);
}
.bare-act-chapter-pill:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(11,31,58,.08);
  border-color: rgba(79,70,229,.35);
}
.bare-act-chapter-block h2 a{
  color: var(--ink, #0b1f3a);
}
.bare-act-chapter-block h2 a:hover{
  color: var(--primary, #4f46e5);
}
.bare-act-hub-badge{
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--primary, #4f46e5);
  background: rgba(79,70,229,.1);
  padding: 0.2rem 0.5rem;
  border-radius: 0.35rem;
}
.bare-act-petition-preview{
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.bare-act-petition-preview:hover,
.bare-act-petition-preview:focus{
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(11,31,58,.12);
  border-color: rgba(79,70,229,.45) !important;
}
.bare-act-petition-preview .drafting-template-thumb-wrap{
  --bs-aspect-ratio: 130%;
  max-height: 200px;
}
.bare-act-petition-aside .bare-act-petition-preview:last-child{
  margin-bottom: 0;
}

/* Section page: statute panel + petition panel side by side */
.bare-act-section-layout{
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
}
.bare-act-focus--beside-petition{
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.bare-act-petition-panel{
  height: fit-content;
}
@media (min-width: 992px){
  .bare-act-petition-panel{
    position: sticky;
    top: 5rem;
  }
}
.bare-act-petition-panel .bare-act-petition-preview .drafting-template-thumb-wrap{
  --bs-aspect-ratio: 140%;
  max-height: min(420px, 55vh);
}
.bare-act-petition-panel .bare-act-petition-preview{
  border-color: var(--line, #e2dbc9) !important;
}

.bare-act-focus{
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}
.bare-act-focus .card-body{
  font-size: 0.98rem;
  line-height: 1.7;
}
.bare-act-section-index .list-group-item{
  border-left: 0;
  border-right: 0;
}
.bare-act-section-index .list-group-item:first-child{
  border-top: 0;
}
.bare-act-page .bare-act-body{
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--ink, #0B1F3A);
}
.bare-act-page .bare-act-body p{
  margin-bottom: 0.85rem;
}
.bare-act-page .bare-act-section-block{
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--line, #E2DBC9);
}
.bare-act-page .bare-act-section-list li{
  padding-left: 0.25rem;
}
.bare-act-chapter-table td,
.bare-act-chapter-table th{
  vertical-align: top;
}
.bare-act-classification{
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
}
.bare-act-block h3{
  letter-spacing: 0.02em;
}

.app-main{
  flex: 1 0 auto;
  position: relative;
}
.app-main::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: min(960px, 96vw);
  height: 100px;
  background: radial-gradient(ellipse at 50% 0%, rgba(79,70,229,.1), transparent 72%);
  pointer-events: none;
  z-index: 0;
}
.app-main-container{
  position: relative;
  z-index: 1;
}

.app-logo{
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
}

.card.card-soft.border-0,
.card-soft.border-0{
  border: none !important;
}
.card.card-soft,
.card-soft{
  border-radius: 20px !important;
  border: 1px solid var(--app-border) !important;
  background: var(--app-surface) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: var(--app-shadow-soft) !important;
  overflow: hidden;
}
.card.card-soft.shadow-sm{
  box-shadow: var(--app-shadow-soft) !important;
}
.card.card-soft .card-body{
  padding: clamp(1.15rem, 2.5vw, 1.5rem);
}
.card.card-soft > .card-header{
  background: linear-gradient(180deg, rgba(248,250,252,.95), rgba(255,255,255,.6));
  border-bottom: 1px solid rgba(148,163,184,.15);
  font-weight: 700;
  color: #0f172a;
}
@media (min-width: 992px){
  .search-filters-sticky{
    position: sticky;
    top: 5.75rem;
    max-height: calc(100vh - 7.25rem);
    overflow-y: auto;
    z-index: 1020;
  }
}

.btn-primary{
  background: linear-gradient(135deg, #4f46e5, #6366f1) !important;
  border-color: #4f46e5 !important;
  font-weight: 600;
  box-shadow: 0 6px 18px rgba(79,70,229,.28);
}
.btn-primary:hover,
.btn-primary:focus{
  background: linear-gradient(135deg, #4338ca, #4f46e5) !important;
  border-color: #4338ca !important;
  box-shadow: 0 8px 22px rgba(67,56,202,.35);
}
.btn-outline-primary{
  border-width: 2px;
  font-weight: 600;
  color: #4f46e5;
  border-color: rgba(79,70,229,.45);
}
.btn-outline-primary:hover{
  background: rgba(79,70,229,.08);
  border-color: #4f46e5;
  color: #3730a3;
}

.app-main .form-control:focus,
.app-main .form-select:focus{
  border-color: rgba(79,70,229,.55);
  box-shadow: 0 0 0 0.2rem rgba(79,70,229,.14);
}
.app-main .table thead th{
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #64748b;
  border-bottom-color: rgba(148,163,184,.22);
  background: rgba(248,250,252,.85);
}
.app-main .table:not(.table-borderless){
  --bs-table-border-color: rgba(148,163,184,.14);
}
.app-main .list-group-item{
  border-color: rgba(148,163,184,.14);
}
.app-main .accordion-item{
  border-radius: 14px !important;
  overflow: hidden;
  margin-bottom: 0.5rem;
  border: 1px solid var(--app-border) !important;
}
.app-main .alert{
  border-radius: 14px;
  border-width: 1px;
}
.app-main .badge.bg-light.text-dark{
  border: 1px solid rgba(148,163,184,.25);
}

.otp-box{
  width: 44px;
  height: 52px;
  font-size: 20px;
  border-radius: 14px;
  background: rgba(255,255,255,.65);
}

.landing-hero{
  background: linear-gradient(130deg, rgba(255,255,255,.96), rgba(245,248,255,.92));
  border: 1px solid rgba(79,70,229,.15);
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 20px 50px rgba(16,24,40,.08);
}

.landing-badge{
  color: #1e3a8a;
  background: rgba(37,99,235,.10);
  border: 1px solid rgba(37,99,235,.20);
  font-weight: 600;
}

.landing-title{
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.15;
  font-weight: 700;
  color: #0f172a;
}

.landing-title span{
  color: #3730a3;
}

.landing-subtitle{
  font-size: 1.08rem;
  color: #475569;
  max-width: 56ch;
}

.landing-panel{
  border-radius: 16px;
  padding: 1.25rem;
  border: 1px solid rgba(15,23,42,.08);
  background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.landing-kpi-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.landing-kpi-item{
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 12px;
  padding: .8rem .9rem;
}

.landing-kpi-value{
  font-weight: 700;
  color: #111827;
  font-size: 1.1rem;
}

.landing-kpi-label{
  color: #64748b;
  font-size: .84rem;
}

.landing-drafting{
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
  border: 1px solid rgba(34,197,94,.22);
  background: linear-gradient(90deg, rgba(236,253,245,.9), rgba(239,246,255,.9));
}

.landing-pro{
  position: relative;
  border-radius: 24px;
  padding: 0;
  margin-bottom: 2rem;
  min-height: 420px;
  background:
    linear-gradient(120deg, rgba(2,6,23,.82), rgba(15,23,42,.68) 45%, rgba(30,64,175,.58)),
    radial-gradient(900px circle at 5% 0%, rgba(99,102,241,.18), transparent 45%),
    radial-gradient(600px circle at 95% 20%, rgba(56,189,248,.14), transparent 48%),
    linear-gradient(135deg, #0f172a, #1e293b 45%, #172554);
  background-size: auto, auto, auto, auto;
  background-position: center, center, center, center;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  box-shadow: 0 30px 70px rgba(2,8,23,.28);
  overflow: hidden;
}

.landing-slideshow{
  position: absolute;
  inset: 0;
  z-index: 0;
}

.landing-slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  animation: landingHeroSlide 66s linear infinite;
  will-change: opacity, transform;
}

.landing-slide:nth-child(1){ animation-delay: 0s; }
.landing-slide:nth-child(2){ animation-delay: 6s; }
.landing-slide:nth-child(3){ animation-delay: 12s; }
.landing-slide:nth-child(4){ animation-delay: 18s; }
.landing-slide:nth-child(5){ animation-delay: 24s; }
.landing-slide:nth-child(6){ animation-delay: 30s; }
.landing-slide:nth-child(7){ animation-delay: 36s; }
.landing-slide:nth-child(8){ animation-delay: 42s; }
.landing-slide:nth-child(9){ animation-delay: 48s; }
.landing-slide:nth-child(10){ animation-delay: 54s; }
.landing-slide:nth-child(11){ animation-delay: 60s; }

@keyframes landingHeroSlide{
  0%{
    opacity: 0;
    transform: translateX(8%);
  }
  3%{
    opacity: 1;
    transform: translateX(5%);
  }
  12%{
    opacity: 1;
    transform: translateX(-5%);
  }
  15%{
    opacity: 0;
    transform: translateX(-8%);
  }
  100%{
    opacity: 0;
    transform: translateX(-8%);
  }
}

.landing-pro-copy{
  border-radius: 16px;
  padding: 1.2rem 1rem;
  margin-top: -220px;
  position: relative;
  z-index: 2;
  text-align: left;
}

.landing-simple-text{
  color: #facc15;
  line-height: 1.35;
  max-width: 980px;
}

.landing-pill{
  color: #facc15;
  background: rgba(0,0,0,.58);
  border: 1px solid rgba(250,204,21,.55);
  font-weight: 700;
  font-size: clamp(2rem, 3.3vw, 3.2rem) !important;
  padding: .35rem .65rem;
  line-height: 1.08;
  letter-spacing: -.01em;
}

.landing-headline{
  color: #f8fafc;
  font-size: clamp(2rem, 3.3vw, 3.2rem);
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -.02em;
  max-width: 16ch;
}

.landing-headline span{
  color: #93c5fd;
}

.landing-copy{
  color: #cbd5e1;
  max-width: 58ch;
  font-size: 1.05rem;
}

.landing-text-chip{
  display: inline-block;
  background: rgba(0,0,0,.58);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: .18rem .5rem;
  border-radius: 4px;
  margin-bottom: .2rem;
}

.landing-trust-list{
  display: flex;
  flex-wrap: wrap;
  gap: .9rem 1.2rem;
  color: #cbd5e1;
  font-size: .95rem;
}

.landing-trust-list i{
  color: #34d399;
}

.landing-glass-panel{
  border-radius: 18px;
  padding: 1.1rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(12px);
}

.landing-status-row{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: #dbeafe;
  font-size: .9rem;
}

.landing-dot{
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 5px rgba(34,197,94,.2);
}

.landing-stats{
  display: grid;
  gap: .7rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.landing-stat{
  background: rgba(255,255,255,.94);
  border-radius: 12px;
  border: 1px solid rgba(148,163,184,.2);
  padding: .75rem;
}

.landing-stat-number{
  color: #0f172a;
  font-size: 1.02rem;
  font-weight: 700;
}

.landing-stat-label{
  color: #64748b;
  font-size: .8rem;
}

.landing-mini-card{
  border-radius: 12px;
  border: 1px solid rgba(148,163,184,.25);
  background: rgba(255,255,255,.93);
  padding: .8rem .9rem;
}

.landing-feature-band{
  border-radius: 16px;
  padding: 1.2rem 1.4rem;
  border: 1px solid rgba(14,165,233,.24);
  background: linear-gradient(90deg, rgba(239,246,255,.95), rgba(236,253,245,.95));
}

.landing-action-card{
  border-radius: 16px;
  border: 1px solid rgba(148,163,184,.2);
  background: #fff;
  box-shadow: 0 10px 30px rgba(15,23,42,.06);
  transition: transform .2s ease, box-shadow .2s ease;
}

.landing-action-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(15,23,42,.10);
}

.landing-icon{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(79,70,229,.16), rgba(6,182,212,.12));
  color: #3730a3;
  font-size: 1.1rem;
}

.landing-detail-card{
  border-radius: 16px;
  border: 1px solid rgba(148,163,184,.2);
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,252,.9));
}

@media (max-width: 991.98px){
  .landing-pro{
    min-height: 280px;
    background:
      linear-gradient(135deg, rgba(2,6,23,.86), rgba(15,23,42,.72) 45%, rgba(30,64,175,.62)),
      radial-gradient(900px circle at 5% 0%, rgba(99,102,241,.18), transparent 45%),
      radial-gradient(600px circle at 95% 20%, rgba(56,189,248,.14), transparent 48%),
      linear-gradient(135deg, #0f172a, #1e293b 45%, #172554);
    background-size: auto, auto, auto, auto;
    background-position: center, center, center, center;
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  }
  .landing-grid{
    grid-template-columns: 1fr;
  }
  .landing-pro-copy{
    margin-top: -130px;
  }
}

.landing-logos{
  border: 1px solid rgba(148,163,184,.2);
  border-radius: 14px;
  background: #fff;
  padding: 1rem 1.1rem;
}

.landing-logos-title{
  font-size: .83rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #64748b;
  margin-bottom: .75rem;
}

.landing-logos-row{
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.landing-logos-row span{
  padding: .35rem .7rem;
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,.26);
  background: #f8fafc;
  color: #334155;
  font-size: .82rem;
  font-weight: 600;
}

.landing-module{
  border-radius: 14px;
  padding: 1rem;
  border: 1px solid transparent;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
}

.landing-module h6{
  margin-bottom: .55rem;
  font-weight: 700;
}

.landing-module p{
  color: #334155;
  font-size: .92rem;
}

.module-indigo{
  background: linear-gradient(155deg, #eef2ff, #f8faff);
  border-color: rgba(79,70,229,.2);
}

.module-cyan{
  background: linear-gradient(155deg, #ecfeff, #f0f9ff);
  border-color: rgba(8,145,178,.2);
}

.module-violet{
  background: linear-gradient(155deg, #f5f3ff, #faf5ff);
  border-color: rgba(109,40,217,.22);
}

.module-green{
  background: linear-gradient(155deg, #ecfdf5, #f0fdf4);
  border-color: rgba(22,163,74,.22);
}

.landing-timeline{
  border-radius: 16px;
  border: 1px solid rgba(148,163,184,.2);
  background: #fff;
  padding: 1rem;
}

.timeline-step{
  border: 1px solid rgba(148,163,184,.2);
  border-radius: 12px;
  background: #f8fafc;
  padding: .85rem;
  height: 100%;
}

.timeline-step-no{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #4f46e5, #0ea5e9);
  margin-bottom: .5rem;
}

.timeline-step p{
  margin: 0;
  color: #475569;
  font-size: .88rem;
}

.landing-testimonials .testimonial-card{
  border: 1px solid rgba(148,163,184,.2);
  border-radius: 14px;
  padding: 1rem;
  background: linear-gradient(180deg, #fff, #f8fafc);
  box-shadow: 0 10px 26px rgba(15,23,42,.05);
  height: 100%;
}

.landing-testimonials .testimonial-card p{
  margin-bottom: .75rem;
  color: #0f172a;
}

.landing-final-cta{
  border-radius: 18px;
  border: 1px solid rgba(30,64,175,.2);
  background: linear-gradient(90deg, rgba(219,234,254,.9), rgba(224,231,255,.95));
  padding: 1.25rem 1.4rem;
}

.app-footer{
  flex-shrink: 0;
  border-top: 1px solid rgba(99,102,241,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(238,242,255,.92));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 -12px 40px rgba(79,70,229,.06);
}

.legal-prose h2,
.legal-prose h5{
  color: #1e293b;
}
.legal-prose p,
.legal-prose li{
  line-height: 1.65;
  color: #334155;
}
.legal-prose ul{
  padding-left: 1.25rem;
}
.legal-page-card{
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
}
.legal-prose h3.h6{
  font-size: 0.95rem;
  font-weight: 600;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
  color: #334155;
}
.legal-prose .legal-lead{
  font-size: 1.05rem;
  color: #475569;
}
.legal-contact-sidebar{
  background: rgba(99,102,241,.06);
  border-radius: 0.5rem;
  padding: 1.25rem;
}

.footer-heading{
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
  color: #64748b;
  margin-bottom: .45rem;
}

.footer-link{
  color: #0f172a;
  text-decoration: none;
  margin-bottom: .32rem;
  font-size: .92rem;
}

.footer-link:hover{
  color: #3730a3;
  text-decoration: underline;
}

/* Vaksera design import (zip: Vaksera.html) */
.ac-hero{
  background:#f7f3ec;
  border:1px solid #e2dbc9;
  border-radius:14px;
  padding:2rem;
  margin-bottom:1.5rem;
}
.ac-eyebrow{
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#43547a;
  margin-bottom:1rem;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.ac-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:#b8893a;}
.ac-hero-h{
  font-family: "Instrument Serif", Georgia, serif;
  font-weight:400;
  font-size: clamp(2.2rem, 5.8vw, 4.6rem);
  line-height: .98;
  letter-spacing:-.02em;
  margin:0 0 .9rem;
  color:#0b1f3a;
}
.ac-hero-h em{font-style:italic;color:#b8893a;}
.ac-hero-sub{
  color:#43547a;
  max-width:700px;
  margin:0 0 1.2rem;
  font-size:1.05rem;
}
.ac-services-row{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:.9rem;
}
.ac-svc{
  text-decoration:none;
  color:inherit;
  background:#fffdf8;
  border:1px solid #e2dbc9;
  border-left:3px solid #b8893a;
  border-radius:10px;
  padding:.9rem;
  display:flex;
  gap:.65rem;
}
.ac-svc-num{font-size:.72rem;letter-spacing:.12em;color:#b8893a;font-family:ui-monospace,monospace;}
.ac-svc-body b{display:block;font-size:.95rem;color:#0b1f3a;margin-bottom:.3rem;}
.ac-svc-body span{display:block;font-size:.82rem;color:#43547a;line-height:1.45;}
.ac-svc-go{margin-top:.45rem;font-weight:600;color:#b8893a !important;}
.ac-hero-meta{
  display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2dbc9;color:#43547a;font-size:.85rem;
}
.ac-hero-meta .check i{color:#5c7a5a;margin-right:.35rem;}
.ac-feature{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:1.5rem;
  align-items:start;
  background:#fffdf8;
  border:1px solid #e2dbc9;
  border-radius:14px;
  padding:1.6rem;
  margin-bottom:1.2rem;
}
.ac-kicker{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#43547a;margin-bottom:.5rem;}
.ac-feature h2{font-family:"Instrument Serif", Georgia, serif;font-weight:400;font-size:2.1rem;line-height:1.06;margin:0 0 .8rem;color:#0b1f3a;}
.ac-lede{color:#43547a;font-size:.95rem;margin:0 0 .9rem;}
.ac-feature ul{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.45rem;}
.ac-feature li i{color:#5c7a5a;margin-right:.45rem;}
.ac-doc-mock{
  border:1px solid #e2dbc9;border-radius:12px;background:#fff;padding:1rem;min-height:280px;position:relative;
}
.ac-doc-mock .tab{position:absolute;top:0;left:1rem;background:#0b1f3a;color:#fffdf8;padding:.35rem .6rem;border-radius:0 0 8px 8px;font-size:.66rem;letter-spacing:.12em;}
.ac-doc-mock h4{font-family:"Instrument Serif", Georgia, serif;font-weight:400;margin:1.8rem 0 .2rem;text-align:center;color:#0b1f3a;}
.ac-doc-mock .court{text-align:center;font-size:.72rem;letter-spacing:.12em;color:#43547a;margin-bottom:.8rem;}
.ac-doc-mock .line{height:8px;border-radius:4px;background:#efe9dc;margin-bottom:.45rem;}
.ac-doc-mock .line.med{width:80%;}
.ac-doc-mock .line.short{width:60%;}
.ac-trust-band{
  border:1px solid #e2dbc9;border-radius:12px;background:#efe9dc;padding:.9rem;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem;
}
.ac-trust-band span{background:#fffdf8;border:1px solid #d7cfb9;border-radius:999px;padding:.35rem .7rem;font-size:.82rem;color:#0b1f3a;}
.ac-two-col{
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.2rem;
}
.ac-two-col .panel{
  background:#fffdf8;border:1px solid #e2dbc9;border-radius:12px;padding:1rem;
}
.ac-two-col h3{font-family:"Instrument Serif", Georgia, serif;font-weight:400;font-size:1.55rem;margin:0 0 .8rem;color:#0b1f3a;}
.ac-two-col ol,.ac-two-col ul{margin:0;padding-left:1.1rem;color:#43547a;}
.ac-two-col li{margin-bottom:.4rem;font-size:.9rem;}
.ac-cta{
  background:#0b1f3a;
  color:#fffdf8;
  border-radius:14px;
  padding:1.4rem;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
}
.ac-cta h2{font-family:"Instrument Serif", Georgia, serif;font-weight:400;font-size:2rem;line-height:1.08;margin:0 0 .4rem;}
.ac-cta p{margin:0;color:rgba(255,253,248,.8);}
.ac-cta .actions{display:flex;gap:.6rem;flex-wrap:wrap;}

@media (max-width: 992px){
  .ac-services-row,
  .ac-feature,
  .ac-two-col{grid-template-columns:1fr;}
  .ac-cta{flex-direction:column;align-items:flex-start;}
}

/* Availability service fee rows: label left, fee right */
div[id^="div_id_service_fee_"]{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}
div[id^="div_id_service_fee_"] > label{
  margin:0;
  font-weight:600;
  color:#0f172a;
}
div[id^="div_id_service_fee_"] .service-fee-input{
  max-width:170px;
  text-align:right;
}

.lp-hero{
  position: relative;
  background: linear-gradient(135deg, #ffffff, #f8fbff 45%, #f3f7ff);
  border: 1px solid rgba(79,70,229,.14);
  border-radius: 24px;
  padding: 2.4rem;
  box-shadow: 0 25px 55px rgba(15,23,42,.08);
  overflow: hidden;
}
.lp-hero::before{
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  right: -120px;
  top: -120px;
  background: radial-gradient(circle, rgba(59,130,246,.20), transparent 65%);
}
.lp-chip{
  display:inline-flex;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:.45rem .75rem;
  border-radius:999px;
  color:#1d4ed8;
  background:#eff6ff;
  border:1px solid #bfdbfe;
}
.lp-title{
  font-size: clamp(2rem, 4.6vw, 3.4rem);
  line-height: 1.06;
  letter-spacing:-.02em;
  color:#0f172a;
  margin:0;
  font-weight: 700;
}
.lp-subtitle{
  margin-top: .9rem;
  color:#475569;
  max-width:60ch;
}
.lp-device-wrap{
  position:relative;
  min-height:340px;
}
.lp-laptop{
  width: 100%;
  border-radius: 18px;
  border:1px solid rgba(148,163,184,.26);
  background:#fff;
  padding: .65rem;
}
.lp-screen-head{
  display:flex;
  gap:.35rem;
  margin-bottom:.6rem;
}
.lp-screen-head span{
  width:9px;height:9px;border-radius:50%;background:#cbd5e1;
}
.lp-screen-body{
  border-radius:12px;
  padding:.9rem;
  background:linear-gradient(180deg,#f8fafc,#eef2ff);
}
.lp-chart{
  height:90px;
  border-radius:10px;
  background: linear-gradient(180deg, rgba(79,70,229,.20), rgba(79,70,229,.03));
  margin-bottom:.6rem;
}
.lp-line{height:8px;border-radius:6px;background:#dbeafe;margin-bottom:.45rem;}
.lp-line.short{width:58%;}
.lp-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin-top:.4rem;}
.lp-mini-grid div{height:36px;border-radius:8px;background:#e2e8f0;}
.lp-phone{
  position:absolute;
  right:-14px;
  bottom:-12px;
  width:132px;
  border-radius:20px;
  border:1px solid rgba(148,163,184,.3);
  background:#fff;
  padding: .85rem .7rem;
}
.lp-phone-notch{height:8px;width:46px;border-radius:999px;background:#cbd5e1;margin:0 auto .8rem;}
.lp-phone-card{height:72px;border-radius:10px;background:#dbeafe;margin-bottom:.55rem;}
.lp-phone-line{height:7px;border-radius:4px;background:#cbd5e1;margin-bottom:.35rem;}
.lp-phone-line.short{width:60%;}
.lp-floating-tag{
  position:absolute;
  font-size:.78rem;
  color:#334155;
  background:#fff;
  border:1px solid rgba(148,163,184,.24);
  border-radius:999px;
  padding:.4rem .65rem;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.lp-floating-tag.tag-1{left:24%;bottom:16px;}
.lp-floating-tag.tag-2{left:40%;top:20px;}
.lp-trust-card{
  background:#fff;
  border:1px solid rgba(148,163,184,.2);
  border-radius:14px;
  padding:.9rem .95rem;
  display:flex;
  align-items:center;
  gap:.6rem;
  font-weight:600;
  color:#0f172a;
}
.lp-trust-card i{color:#4f46e5;}
.lp-section-title{
  font-size: clamp(1.35rem, 2vw, 2rem);
  color:#0f172a;
  font-weight:700;
}
.lp-feature-card{
  height:100%;
  background:#fff;
  border:1px solid rgba(148,163,184,.18);
  border-radius:16px;
  padding:1rem;
  transition:transform .2s ease, box-shadow .2s ease;
}
.lp-feature-card:hover{transform:translateY(-4px); box-shadow:0 16px 35px rgba(15,23,42,.10);}
.lp-feature-card i{font-size:1.25rem;color:#4f46e5;}
.lp-feature-card h6{margin:.65rem 0 .45rem;color:#0f172a;}
.lp-feature-card p{margin:0;color:#475569;font-size:.92rem;}
.lp-showcase-card{
  height:100%;
  background:#fff;
  border:1px solid rgba(148,163,184,.2);
  border-radius:16px;
  padding:1rem;
}
.lp-thumb{
  height:120px;
  border-radius:12px;
  background: linear-gradient(135deg, #dbeafe, #e2e8f0);
  margin-bottom:.75rem;
}
.lp-showcase-card h6{margin:0;color:#0f172a;}
.lp-showcase-card p{margin:.2rem 0 .7rem;color:#64748b;font-size:.9rem;}
.lp-step-card{
  height:100%;
  background:#fff;
  border:1px solid rgba(148,163,184,.2);
  border-radius:16px;
  padding:1rem;
}
.lp-step-card span{font-size:.82rem;color:#4f46e5;font-weight:700;}
.lp-step-card h6{margin:.45rem 0;color:#0f172a;}
.lp-step-card p{margin:0;color:#475569;}
.lp-subdomain{
  background:#eef2ff;
  border:1px solid #c7d2fe;
  border-radius:12px;
  padding:.8rem .95rem;
  color:#312e81;
}
.lp-price-card{
  height:100%;
  background:#fff;
  border:1px solid rgba(148,163,184,.2);
  border-radius:18px;
  padding:1.1rem;
  position:relative;
}
.lp-price-card.pro{
  border-color: rgba(79,70,229,.32);
  box-shadow:0 18px 38px rgba(79,70,229,.16);
  background:linear-gradient(180deg,#ffffff,#f5f3ff);
}
.lp-price-card h5{color:#0f172a;}
.lp-price-card ul{padding-left:1.1rem;margin:.65rem 0 0;color:#475569;}
.lp-price-card li{margin-bottom:.35rem;}
.lp-badge{
  position:absolute;
  top:-10px;
  right:16px;
  font-size:.72rem;
  color:#fff;
  background:#4f46e5;
  border-radius:999px;
  padding:.25rem .55rem;
}
.lp-testimonial{
  height:100%;
  background:#fff;
  border:1px solid rgba(148,163,184,.2);
  border-radius:14px;
  padding:1rem;
}
.lp-testimonial p{margin:0 0 .6rem;color:#0f172a;}
.lp-testimonial strong{color:#334155;font-size:.9rem;}
.lp-faq .accordion-item{
  border:1px solid rgba(148,163,184,.22);
  border-radius:12px;
  overflow:hidden;
  margin-bottom:.65rem;
}
.lp-inline-footer{
  border-radius:16px;
  border:1px solid rgba(148,163,184,.2);
  background:#fff;
  padding:1rem;
}
.lp-inline-footer a{
  color:#334155;
  text-decoration:none;
  font-weight:600;
}
.lp-inline-footer a:hover{color:#4f46e5;}
.reveal-up{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .45s ease, transform .45s ease;
}
.reveal-up.is-visible{
  opacity:1;
  transform:translateY(0);
}
html{
  scroll-behavior:smooth;
}
@media (max-width: 991.98px){
  .lp-hero{padding:1.4rem;}
  .lp-device-wrap{min-height:300px;}
  .lp-floating-tag{display:none;}
}

.pw-hero{
  background: linear-gradient(135deg, #ffffff, #f8fbff 45%, #f3f7ff);
  border: 1px solid rgba(79,70,229,.14);
  border-radius: 20px;
  padding: 1.8rem;
  box-shadow: 0 16px 40px rgba(15,23,42,.08);
}
.pw-hero-legal{
  border-color: rgba(184,137,58,.28);
  background: linear-gradient(135deg, #fffdf8, #f9f4e8 46%, #f8fbff);
}
.pw-chip{
  display:inline-flex;
  padding:.35rem .65rem;
  border-radius:999px;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#1d4ed8;
  background:#eff6ff;
  border:1px solid #bfdbfe;
}
.pw-title{
  color:#0f172a;
  font-weight:700;
  letter-spacing:-.02em;
  font-size:clamp(1.7rem,3.3vw,2.6rem);
  margin:0;
}
.pw-subtitle{
  color:#475569;
  max-width:64ch;
}
.pw-profile-photo{
  width:92px;
  height:92px;
  border-radius:999px;
  object-fit:cover;
  border:4px solid #fff;
  box-shadow:0 14px 28px rgba(15,23,42,.16);
  background:#fff;
  flex:0 0 auto;
}
.pw-profile-photo-empty{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#4f46e5;
  background:rgba(79,70,229,.1);
  border-color:rgba(79,70,229,.18);
  font-size:2.35rem;
}
.pw-mini-card{
  border:1px solid rgba(184,137,58,.22);
  border-radius:12px;
  background:#fff;
  padding:.85rem .9rem;
  height:100%;
}
.pw-mini-card h6{
  color:#0f172a;
  margin:0 0 .45rem;
}
.pw-mini-card p{
  color:#475569;
  font-size:.9rem;
  margin:0;
}
.pw-stats{
  display:grid;
  gap:.6rem;
}
.pw-stat{
  border:1px solid rgba(148,163,184,.2);
  border-radius:12px;
  background:#fff;
  padding:.7rem .8rem;
}
.pw-stat .label{
  color:#64748b;
  font-size:.78rem;
}
.pw-stat .value{
  color:#0f172a;
  font-weight:600;
  font-size:.92rem;
}
.pw-contact-row{
  display:flex;
  align-items:center;
  gap:.55rem;
  color:#334155;
  margin-bottom:.65rem;
}
.pw-contact-row i{
  color:#4f46e5;
}
.pw-service-row{
  border:1px solid rgba(148,163,184,.22);
  border-radius:10px;
  padding:.45rem .6rem;
  font-size:.88rem;
  margin-bottom:.45rem;
  display:flex;
  justify-content:space-between;
  gap:.7rem;
  background:#fff;
}
.pw-cta{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:.7rem;
  border-top:1px solid rgba(148,163,184,.2);
  padding-top:.9rem;
}
.pw-practice-pill{
  border:1px solid rgba(148,163,184,.28);
  background:#fff;
  border-radius:10px;
  padding:.7rem .8rem;
  text-align:center;
  font-weight:600;
  color:#334155;
}
.pw-testimonial{
  border:1px solid rgba(148,163,184,.22);
  border-left:4px solid #b8893a;
  border-radius:12px;
  background:#fff;
  padding:1rem;
}

/* —— Home v2 (premium landing) —— */
.hv2-wrap{
  --hv2-indigo:#4f46e5;
  --hv2-violet:#7c3aed;
  --hv2-cyan:#06b6d4;
  --hv2-ink:#0f172a;
  --hv2-muted:#64748b;
  padding-bottom:2rem;
}
.hv2-hero{
  position:relative;
  border-radius:28px;
  padding:clamp(1.75rem,4vw,3.25rem);
  overflow:hidden;
  background:linear-gradient(135deg,#1e1b4b 0%,#312e81 38%,#4c1d95 72%,#5b21b6 100%);
  color:#fff;
  box-shadow:0 28px 80px rgba(49,46,129,.45);
}
.hv2-hero-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 80% 55% at 20% 0%, rgba(6,182,212,.35), transparent 55%),
    radial-gradient(ellipse 60% 50% at 100% 100%, rgba(244,114,182,.22), transparent 50%),
    radial-gradient(circle at 70% 20%, rgba(255,255,255,.08), transparent 35%);
  pointer-events:none;
}
.hv2-eyebrow{
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.hv2-title{
  font-size:clamp(1.75rem,3.8vw,2.75rem);
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.03em;
  margin:0 0 1rem;
  color:#fff;
}
.hv2-hero-mid{
  align-items:flex-start;
}
.hv2-title-accent{
  background:linear-gradient(90deg,#a5f3fc,#e9d5ff,#fef3c7);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hv2-hero-checklist{
  margin:0 0 1.1rem;
  padding:0;
  display:grid;
  gap:.55rem .85rem;
}
@media (min-width: 576px){
  .hv2-hero-checklist{
    grid-template-columns:1fr 1fr;
  }
  .hv2-hero-checklist--with-demo{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-template-rows:repeat(3, auto);
    grid-auto-flow:row;
    gap:.5rem .55rem;
  }
  .hv2-hero-checklist--with-demo li{
    padding:.48rem .55rem;
    border-radius:12px;
    min-height:0;
  }
  .hv2-hero-checklist--with-demo li > i{
    font-size:1rem;
  }
  .hv2-hero-checklist--with-demo strong{
    font-size:.78rem;
  }
  .hv2-hero-checklist--with-demo span{
    font-size:.7rem;
    line-height:1.38;
  }
}
.hv2-hero-checklist li{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  padding:.55rem .65rem;
  border-radius:14px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
}
.hv2-hero-checklist li > i{
  flex-shrink:0;
  font-size:1.1rem;
  color:#a5f3fc;
  margin-top:.1rem;
}
.hv2-hero-checklist strong{
  display:block;
  font-size:.84rem;
  font-weight:800;
  color:#fff;
  letter-spacing:.01em;
  margin-bottom:.12rem;
}
.hv2-hero-checklist span{
  display:block;
  font-size:.74rem;
  line-height:1.4;
  color:rgba(226,232,240,.88);
}
@media (min-width: 992px){
  .hv2-hero-demo-col{
    margin-top:1rem;
  }
}
.hv2-lead{
  margin-top:.85rem;
  font-size:1.02rem;
  line-height:1.55;
  color:rgba(226,232,240,.92);
  max-width:54ch;
}
.hv2-btn-ghost{
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(8px);
}
.hv2-btn-ghost:hover{
  background:rgba(255,255,255,.14);
  color:#fff;
  border-color:rgba(255,255,255,.5);
}
.hv2-hero-meta{
  font-size:.88rem;
  color:rgba(226,232,240,.85);
}
.hv2-hero-meta span{display:inline-flex;align-items:center;gap:.2rem;}
.hv2-hero-panel{
  position:relative;
  padding:.5rem;
  margin-top:0;
}
@media (min-width: 992px){
  .hv2-hero-panel--beside-checklist{
    margin-top:0;
    padding-top:0;
  }
}
.hv2-mock{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(15,23,42,.35);
  backdrop-filter:blur(14px);
  box-shadow:0 24px 50px rgba(0,0,0,.25);
  overflow:hidden;
}
.hv2-mock--hero-lg{
  border-radius:21px;
  box-shadow:0 26px 56px rgba(0,0,0,.28);
}
.hv2-mock--hero-lg .hv2-mock-top{
  padding:.72rem 1rem;
}
.hv2-mock--hero-lg .hv2-mock-title{
  font-size:.82rem;
}
.hv2-mock--hero-lg .hv2-mock-body{
  min-height:270px;
}
@media (min-width: 992px){
  .hv2-mock--hero-lg .hv2-mock-body{
    min-height:328px;
  }
}
.hv2-mock--hero-lg .hv2-mock-sidebar{
  width:56px;
  padding:.8rem .52rem;
  gap:.48rem;
}
.hv2-mock--hero-lg .hv2-mock-nav{
  height:9px;
  border-radius:4px;
}
.hv2-mock--hero-lg .hv2-demo-main{
  min-height:270px;
}
@media (min-width: 992px){
  .hv2-mock--hero-lg .hv2-demo-main{
    min-height:328px;
  }
  .hv2-mock--hero-lg .hv2-demo-stage{
    min-height:268px;
  }
}
.hv2-mock--hero-lg .hv2-demo-scene{
  padding:.88rem 1rem 0;
}
.hv2-mock--hero-lg .hv2-demo-band{
  font-size:.74rem;
  margin-bottom:.52rem;
}
.hv2-mock--hero-lg .hv2-demo-chip{
  font-size:.64rem;
  padding:.18rem .44rem;
}
.hv2-mock--hero-lg .hv2-demo-btn-fake{
  font-size:.76rem;
  padding:.4rem .85rem;
  border-radius:10px;
}
.hv2-mock--hero-lg .hv2-demo-results{
  gap:.42rem;
}
.hv2-mock--hero-lg .hv2-demo-adv{
  padding:.45rem .55rem;
  border-radius:12px;
}
.hv2-mock--hero-lg .hv2-demo-av{
  width:36px;
  height:36px;
  border-radius:10px;
}
.hv2-mock--hero-lg .hv2-demo-name{
  font-size:.8rem;
}
.hv2-mock--hero-lg .hv2-demo-meta{
  font-size:.65rem;
}
.hv2-mock--hero-lg .hv2-demo-search-field{
  height:36px;
  margin-bottom:.58rem;
}
.hv2-mock--hero-lg .hv2-demo-search-placeholder{
  font-size:.7rem;
  left:.65rem;
}
.hv2-mock--hero-lg .hv2-demo-template-grid{
  gap:.42rem;
}
.hv2-mock--hero-lg .hv2-demo-tpl{
  padding:.45rem;
}
.hv2-mock--hero-lg .hv2-demo-tpl span{
  height:34px;
  margin-bottom:.3rem;
}
.hv2-mock--hero-lg .hv2-demo-tpl small{
  font-size:.6rem;
}
.hv2-mock--hero-lg .hv2-demo-foot-hint{
  margin-top:.55rem;
  font-size:.66rem;
}
.hv2-mock--hero-lg .hv2-demo-form{
  gap:.4rem;
  margin-bottom:.5rem;
}
.hv2-mock--hero-lg .hv2-demo-form-row{
  font-size:.68rem;
  padding:.36rem .48rem;
}
.hv2-mock--hero-lg .hv2-demo-toast{
  font-size:.68rem;
  padding:.45rem .55rem;
}
.hv2-mock--hero-lg .hv2-demo-caption{
  font-size:.72rem;
  padding:.55rem 1rem .72rem;
}
.hv2-hero-panel--beside-checklist .hv2-float{
  font-size:.74rem;
  padding:.42rem .7rem;
}
.hv2-hero-panel--beside-checklist .hv2-float-a{
  bottom:12%;
  left:-4px;
}
.hv2-hero-panel--beside-checklist .hv2-float-b{
  top:6%;
  right:2%;
}
.hv2-hero-panel--beside-checklist .hv2-mock--hero-lg .hv2-mock-body{
  min-height:248px;
}
.hv2-hero-panel--beside-checklist .hv2-mock--hero-lg .hv2-demo-main{
  min-height:248px;
}
@media (min-width: 992px){
  .hv2-hero-panel--beside-checklist .hv2-mock--hero-lg .hv2-mock-body{
    min-height:300px;
  }
  .hv2-hero-panel--beside-checklist .hv2-mock--hero-lg .hv2-demo-main{
    min-height:300px;
  }
  .hv2-hero-panel--beside-checklist .hv2-mock--hero-lg .hv2-demo-stage{
    min-height:242px;
  }
}
.hv2-mock-top{
  display:flex;
  align-items:center;
  gap:.4rem;
  padding:.65rem 1rem;
  border-bottom:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.15);
}
.hv2-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.25);}
.hv2-mock-title{margin-left:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;opacity:.85;}
.hv2-mock-body{display:flex;min-height:260px;}
.hv2-mock-sidebar{
  width:52px;
  border-right:1px solid rgba(255,255,255,.08);
  padding:.75rem .5rem;
  display:flex;
  flex-direction:column;
  gap:.45rem;
  background:rgba(0,0,0,.12);
}
.hv2-mock-nav{height:8px;border-radius:4px;background:rgba(255,255,255,.12);}
.hv2-mock-nav.active{background:linear-gradient(90deg,rgba(6,182,212,.8),rgba(167,139,250,.9));}
.hv2-mock-main{flex:1;padding:1rem 1.1rem;}
.hv2-mock-bar{height:10px;border-radius:6px;background:rgba(255,255,255,.14);margin-bottom:.55rem;}
.hv2-mock-bar.short{width:55%;}
.hv2-mock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:1rem;}
.hv2-mock-cards-6{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,auto);}
.hv2-mock-card{
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  padding:.55rem;
  text-align:center;
}
.hv2-mock-card span{display:block;height:36px;border-radius:8px;margin-bottom:.35rem;background:linear-gradient(135deg,rgba(6,182,212,.35),rgba(129,140,248,.4));}
.hv2-mock-card.alt span{background:linear-gradient(135deg,rgba(244,114,182,.3),rgba(251,191,36,.25));}
.hv2-mock-card small{font-size:.65rem;color:rgba(226,232,240,.75);text-transform:uppercase;letter-spacing:.06em;}
.hv2-float{
  position:absolute;
  font-size:.75rem;
  font-weight:600;
  padding:.45rem .75rem;
  border-radius:999px;
  background:#fff;
  color:#312e81;
  box-shadow:0 14px 30px rgba(0,0,0,.2);
}
.hv2-float-a{left:-8px;bottom:18%;}
.hv2-float-b{right:4%;top:10%;}

/* Hero demo animation (premium landing right column) */
.hv2-demo-mock-body{align-items:stretch;}
.hv2-demo-main{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  min-height:260px;
}
.hv2-demo-stage{
  position:relative;
  flex:1;
  min-height:220px;
}
.hv2-demo-scene{
  position:absolute;
  inset:0;
  padding:.85rem 1rem 0;
  opacity:0;
  visibility:hidden;
  transition:opacity .45s ease,visibility 0s linear .45s;
  z-index:0;
}
.hv2-demo-scene.is-active{
  opacity:1;
  visibility:visible;
  transition:opacity .45s ease,visibility 0s;
  z-index:1;
}
.hv2-demo-band{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(226,232,240,.88);
  margin-bottom:.55rem;
}
.hv2-demo-filters{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem;}
.hv2-demo-chip{
  font-size:.62rem;
  padding:.2rem .45rem;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(241,245,249,.9);
}
.hv2-demo-search-row{margin-bottom:.65rem;}
.hv2-demo-btn-fake{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-size:.72rem;
  font-weight:700;
  padding:.38rem .75rem;
  border-radius:10px;
  background:linear-gradient(135deg,#22d3ee,#818cf8);
  color:#0f172a;
  box-shadow:0 4px 14px rgba(6,182,212,.35);
}
.hv2-demo-results{display:flex;flex-direction:column;gap:.45rem;}
.hv2-demo-adv{
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.45rem .55rem;
  border-radius:12px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  opacity:0;
  transform:translateY(10px);
}
.hv2-demo-av{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;
  background:linear-gradient(135deg,rgba(6,182,212,.5),rgba(129,140,248,.55));
}
.hv2-demo-av.alt{background:linear-gradient(135deg,rgba(244,114,182,.45),rgba(251,191,36,.4));}
.hv2-demo-name{display:block;font-size:.78rem;font-weight:700;color:#fff;line-height:1.2;}
.hv2-demo-meta{display:block;font-size:.62rem;color:rgba(226,232,240,.72);margin-top:.1rem;}
.hv2-demo-search-field{
  position:relative;
  height:34px;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  margin-bottom:.65rem;
  overflow:hidden;
}
.hv2-demo-search-placeholder{
  position:absolute;
  left:.65rem;top:50%;
  transform:translateY(-50%);
  font-size:.68rem;
  color:rgba(226,232,240,.55);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:92%;
}
.hv2-demo-search-glow{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
  transform:translateX(-100%);
  pointer-events:none;
}
.hv2-demo-template-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.45rem;
}
.hv2-demo-tpl{
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  padding:.45rem;
  text-align:center;
  transition:box-shadow .3s,border-color .3s,transform .3s;
}
.hv2-demo-tpl span{display:block;height:32px;border-radius:8px;margin-bottom:.3rem;background:linear-gradient(135deg,rgba(6,182,212,.35),rgba(129,140,248,.38));}
.hv2-demo-tpl:nth-child(3) span,.hv2-demo-tpl:nth-child(4) span{background:linear-gradient(135deg,rgba(244,114,182,.28),rgba(251,191,36,.22));}
.hv2-demo-tpl small{font-size:.58rem;color:rgba(226,232,240,.72);text-transform:uppercase;letter-spacing:.05em;}
.hv2-demo-tpl.pick{
  border-color:rgba(129,140,248,.75);
  box-shadow:0 0 0 1px rgba(129,140,248,.35),0 8px 22px rgba(99,102,241,.25);
}
.hv2-demo-foot-hint{
  margin-top:.65rem;
  font-size:.65rem;
  color:rgba(165,243,252,.85);
}
.hv2-demo-form{
  display:flex;
  flex-direction:column;
  gap:.4rem;
  margin-bottom:.55rem;
}
.hv2-demo-form-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:.5rem;
  font-size:.68rem;
  padding:.35rem .45rem;
  border-radius:10px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
.hv2-demo-label{color:rgba(226,232,240,.55);font-weight:600;}
.hv2-demo-value{color:rgba(248,250,252,.92);text-align:right;}
.hv2-demo-toast{
  display:flex;
  align-items:center;
  font-size:.68rem;
  font-weight:600;
  padding:.45rem .55rem;
  border-radius:12px;
  background:rgba(15,23,42,.65);
  border:1px solid rgba(34,197,94,.35);
  color:rgba(220,252,231,.95);
  opacity:0;
  transform:translateY(12px);
}

@keyframes hv2-demo-pop{
  from{opacity:0;transform:translateY(10px);}
  to{opacity:1;transform:translateY(0);}
}
@keyframes hv2-demo-pulse{
  0%,100%{transform:scale(1);box-shadow:0 4px 14px rgba(6,182,212,.35);}
  50%{transform:scale(1.02);box-shadow:0 6px 20px rgba(129,140,248,.45);}
}
@keyframes hv2-demo-sheen{
  from{transform:translateX(-100%);}
  to{transform:translateX(100%);}
}
@keyframes hv2-demo-pick{
  from{box-shadow:0 0 0 0 rgba(129,140,248,0);transform:scale(1);}
  40%{box-shadow:0 0 0 3px rgba(129,140,248,.45);transform:scale(1.03);}
  to{box-shadow:0 0 0 1px rgba(129,140,248,.35),0 8px 22px rgba(99,102,241,.25);transform:scale(1);}
}
@keyframes hv2-demo-toast-in{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:translateY(0);}
}

.hv2-demo-scene.is-active.is-entering[data-scene="0"] .hv2-demo-btn-fake{
  animation:hv2-demo-pulse 1.1s ease-in-out 2;
}
.hv2-demo-scene.is-active.is-entering[data-scene="0"] .hv2-demo-adv:nth-child(1){animation:hv2-demo-pop .42s ease .15s forwards;}
.hv2-demo-scene.is-active.is-entering[data-scene="0"] .hv2-demo-adv:nth-child(2){animation:hv2-demo-pop .42s ease .38s forwards;}
.hv2-demo-scene.is-active.is-entering[data-scene="0"] .hv2-demo-adv:nth-child(3){animation:hv2-demo-pop .42s ease .6s forwards;}

.hv2-demo-scene.is-active.is-entering[data-scene="1"] .hv2-demo-search-glow{
  animation:hv2-demo-sheen 1.1s ease-out .1s 1;
}
.hv2-demo-scene.is-active.is-entering[data-scene="1"] .hv2-demo-tpl.pick{
  animation:hv2-demo-pick .85s ease-out .45s both;
}

.hv2-demo-scene.is-active.is-entering[data-scene="2"] .hv2-demo-toast{
  animation:hv2-demo-toast-in .5s ease .35s forwards;
}

.hv2-demo-static .hv2-demo-scene{
  position:relative;
  opacity:1;
  visibility:visible;
}
.hv2-demo-static .hv2-demo-scene:not([data-scene="0"]){display:none;}
.hv2-demo-static .hv2-demo-scene[data-scene="0"] .hv2-demo-adv{
  opacity:1;
  transform:none;
}
.hv2-demo-caption{
  margin-top:auto;
  padding:.55rem 1rem .75rem;
  border-top:1px solid rgba(255,255,255,.1);
  font-size:.72rem;
  line-height:1.45;
  color:rgba(226,232,240,.82);
}

@media (max-width: 991.98px){
  .hv2-demo-main{min-height:240px;}
  .hv2-demo-stage{min-height:200px;}
  .hv2-mock--hero-lg .hv2-demo-main{min-height:248px;}
  .hv2-mock--hero-lg .hv2-demo-stage{min-height:208px;}
  .hv2-hero-panel--beside-checklist .hv2-mock--hero-lg .hv2-mock-body,
  .hv2-hero-panel--beside-checklist .hv2-mock--hero-lg .hv2-demo-main{
    min-height:236px;
  }
  .hv2-hero-panel--beside-checklist .hv2-mock--hero-lg .hv2-demo-stage{
    min-height:196px;
  }
}

.hv2-strip{
  margin-top:1.25rem;
  border-radius:20px;
  padding:1rem 1.25rem;
  background:linear-gradient(90deg,#0f172a,#1e293b);
  color:#fff;
  box-shadow:0 16px 40px rgba(15,23,42,.18);
}
.hv2-strip-item{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  padding:.35rem 0;
}
.hv2-strip-item i{font-size:1.35rem;color:#67e8f9;}
.hv2-section{margin-top:clamp(2.5rem,5vw,3.75rem);}
.hv2-section-title{
  font-size:clamp(1.45rem,2.4vw,2.1rem);
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--hv2-ink);
}
.hv2-bento{
  display:grid;
  gap:1rem;
  grid-template-columns:1fr;
}
@media (min-width: 992px){
  .hv2-bento{
    grid-template-columns:repeat(12,1fr);
  }
  .hv2-card-span-4{grid-column:span 4;}
  .hv2-card-span-5{grid-column:span 5;}
  .hv2-card-span-7{grid-column:span 7;}
  .hv2-card-span-12{grid-column:span 12;}
}
.hv2-card{
  position:relative;
  display:block;
  height:100%;
  text-decoration:none;
  color:inherit;
  border-radius:22px;
  padding:1.35rem 1.4rem;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(148,163,184,.22);
  box-shadow:0 14px 40px rgba(15,23,42,.06);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  overflow:hidden;
}
.hv2-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg,rgba(79,70,229,.35),rgba(6,182,212,.25),transparent 55%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:0;
  transition:opacity .22s ease;
  pointer-events:none;
}
.hv2-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 55px rgba(79,70,229,.14);
  border-color:rgba(79,70,229,.28);
  color:inherit;
}
.hv2-card:hover::before{opacity:1;}
.hv2-card-accent{
  background:linear-gradient(155deg,#eef2ff 0%,#ffffff 55%);
  border-color:rgba(99,102,241,.28);
}
.hv2-card-wide{padding:1.5rem 1.6rem;}
.hv2-card-icon{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(79,70,229,.12),rgba(6,182,212,.12));
  color:var(--hv2-indigo);
  font-size:1.35rem;
  margin-bottom:.85rem;
}
.hv2-card-title{font-size:1.15rem;font-weight:800;margin:0 0 .5rem;color:var(--hv2-ink);letter-spacing:-.02em;}
.hv2-card-text{font-size:.92rem;color:var(--hv2-muted);margin:0 0 1rem;line-height:1.5;}
.hv2-card-link{
  font-size:.86rem;
  font-weight:700;
  color:var(--hv2-indigo);
}
.hv2-card-tilt:hover .hv2-card-link{color:#4338ca;}
.hv2-step{
  height:100%;
  border-radius:18px;
  padding:1.2rem 1.25rem;
  border:1px solid rgba(148,163,184,.2);
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.hv2-step-num{
  display:inline-block;
  font-size:.75rem;font-weight:800;
  letter-spacing:.06em;
  color:#6366f1;
  background:#eef2ff;
  border-radius:999px;
  padding:.2rem .55rem;
  margin-bottom:.65rem;
}
.hv2-step-title{font-size:1rem;font-weight:800;margin:0 0 .45rem;color:var(--hv2-ink);}
.hv2-dual{margin-top:clamp(2rem,4vw,3rem);}
.hv2-dual-card{
  border-radius:22px;
  padding:1.5rem 1.6rem;
  border:1px solid rgba(148,163,184,.2);
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  box-shadow:0 14px 36px rgba(15,23,42,.06);
}
.hv2-dual-dark{
  background:linear-gradient(145deg,#1e293b,#0f172a);
  border-color:rgba(255,255,255,.08);
  color:#fff;
  box-shadow:0 20px 50px rgba(15,23,42,.35);
}
.hv2-dual-title{font-size:1.2rem;font-weight:800;margin:0 0 .6rem;}
.hv2-trust{
  height:100%;
  border-radius:18px;
  padding:1.25rem 1.3rem;
  border:1px solid rgba(148,163,184,.2);
  background:#fff;
}
.hv2-trust i{
  font-size:1.5rem;
  color:var(--hv2-indigo);
  margin-bottom:.6rem;
  display:block;
}
.hv2-trust h4{font-size:1rem;font-weight:800;margin:0 0 .4rem;color:var(--hv2-ink);}
.hv2-faq .accordion-item{
  border:1px solid rgba(148,163,184,.22);
  border-radius:14px;
  overflow:hidden;
  margin-bottom:.65rem;
  background:#fff;
}
.hv2-cta{
  margin-top:clamp(2.5rem,5vw,3.5rem);
  border-radius:24px;
  padding:clamp(1.75rem,4vw,2.75rem);
  background:linear-gradient(115deg,#4f46e5,#6366f1 40%,#0ea5e9);
  color:#fff;
  box-shadow:0 24px 60px rgba(79,70,229,.35);
}
.hv2-cta-title{font-size:clamp(1.35rem,2.5vw,1.85rem);font-weight:800;margin:0;letter-spacing:-.02em;}
.hv2-cta-text{color:rgba(255,255,255,.88);font-size:.98rem;}
.hv2-footlinks{
  margin-top:1.5rem;
  padding:1rem 1.1rem;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.2);
  background:rgba(255,255,255,.75);
}
.hv2-footlinks a{
  color:#334155;
  font-weight:600;
  text-decoration:none;
}
.hv2-footlinks a:hover{color:#4f46e5;}
@media (max-width: 991.98px){
  .hv2-float{display:none;}
  .hv2-mock-body{min-height:200px;}
}

/* —— Dashboard (aligned with home v2) —— */
.db-wrap{
  padding-bottom:2.5rem;
}
.db-hero{
  position:relative;
  border-radius:24px;
  padding:clamp(1.5rem,3.5vw,2.5rem);
  margin-bottom:1.25rem;
  overflow:hidden;
  background:linear-gradient(135deg,#1e1b4b 0%,#312e81 42%,#4c1d95 100%);
  color:#fff;
  box-shadow:0 22px 55px rgba(49,46,129,.38);
}
.db-hero-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 70% 50% at 10% 0%, rgba(6,182,212,.32), transparent 55%),
    radial-gradient(ellipse 50% 45% at 100% 80%, rgba(244,114,182,.18), transparent 50%);
  pointer-events:none;
}
.db-eyebrow{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.db-title{
  font-size:clamp(1.45rem,3vw,2.15rem);
  font-weight:800;
  letter-spacing:-.02em;
  color:#fff;
  margin:0;
}
.db-lead{
  color:rgba(226,232,240,.9);
  font-size:.98rem;
  line-height:1.55;
  max-width:62ch;
}
.db-quick-tile{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:.45rem;
  padding:1rem .75rem;
  min-height:104px;
  border-radius:18px;
  text-decoration:none;
  color:#0f172a;
  font-weight:700;
  font-size:.82rem;
  line-height:1.25;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(148,163,184,.22);
  box-shadow:0 10px 28px rgba(15,23,42,.06);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.db-quick-tile i{
  font-size:1.35rem;
  color:#4f46e5;
}
.db-quick-tile:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(79,70,229,.15);
  border-color:rgba(79,70,229,.28);
  color:#0f172a;
}
.db-stat{
  height:100%;
  border-radius:18px;
  padding:1rem 1.1rem;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(148,163,184,.2);
  box-shadow:0 10px 26px rgba(15,23,42,.05);
}
.db-stat-accent{
  background:linear-gradient(165deg,#eef2ff,#ffffff);
  border-color:rgba(99,102,241,.25);
}
.db-stat-icon{
  width:40px;height:40px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(79,70,229,.1),rgba(6,182,212,.1));
  color:#4f46e5;
  font-size:1.1rem;
  margin-bottom:.5rem;
}
.db-stat-value{
  font-size:1.75rem;
  font-weight:800;
  letter-spacing:-.02em;
  color:#0f172a;
  line-height:1.1;
}
.db-stat-label{
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#64748b;
  margin-top:.15rem;
}
.db-stat-link{
  display:inline-block;
  margin-top:.45rem;
  font-size:.82rem;
  font-weight:700;
  color:#4f46e5;
  text-decoration:none;
}
.db-stat-link:hover{text-decoration:underline;color:#4338ca;}
.db-stat-muted{color:#94a3b8;font-size:.72rem;display:block;}
.db-panel{
  border-radius:20px;
  border:1px solid rgba(148,163,184,.2);
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 36px rgba(15,23,42,.06);
  overflow:hidden;
}
.db-panel-tight .db-feed{max-height:280px;overflow-y:auto;}
.db-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
  padding:1rem 1.15rem;
  border-bottom:1px solid rgba(148,163,184,.15);
  background:linear-gradient(180deg,rgba(248,250,252,.9),rgba(255,255,255,.5));
}
.db-panel-title{
  font-size:1.05rem;
  font-weight:800;
  margin:0;
  color:#0f172a;
}
.db-table thead th{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#64748b;
  border-bottom-width:1px;
}
.db-table tbody td{
  vertical-align:middle;
  font-size:.9rem;
}
.db-feed{
  padding:.5rem 1rem 1rem;
}
.db-feed-item{
  padding:.65rem 0;
  border-bottom:1px solid rgba(148,163,184,.12);
}
.db-feed-item:last-child{border-bottom:none;}
.db-feed-time{
  font-size:.72rem;
  color:#94a3b8;
}
.db-feed-msg{font-size:.88rem;color:#334155;margin-top:.2rem;}
.db-cta-mini{
  border-radius:18px;
  padding:1.1rem 1.2rem;
  border:1px solid rgba(79,70,229,.22);
  background:linear-gradient(145deg,#f5f3ff,#ffffff);
  box-shadow:0 12px 30px rgba(79,70,229,.1);
}

/* Court Petition Formats — template picker cards */
.drafting-template-card-link:focus-visible .drafting-template-card{
  outline:2px solid rgba(79,70,229,.55);
  outline-offset:2px;
}
.drafting-template-card{
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.drafting-template-card-link:hover .drafting-template-card,
.drafting-template-card-link:focus-visible .drafting-template-card{
  box-shadow:0 .5rem 1.25rem rgba(15,23,42,.16);
  border-color:rgba(79,70,229,.75) !important;
  transform:translateY(-4px) scale(1.015);
}
.drafting-template-thumb-wrap{
  /* Preview box ~10% shorter than prior 160% */
  --bs-aspect-ratio: 144%;
  max-height:min(670px,52vh);
  overflow:hidden;
}
.drafting-template-thumb{
  width:100%;
  height:100%;
  object-fit:contain;
  /* ~30% larger on-screen petition preview (cropped by overflow) */
  transform:scale(1.3);
  transform-origin:center center;
}

/* Per-template SEO / GEO article (below fill form on template pages) */
.template-seo-article{
  padding:1.5rem 0 0.5rem;
  border-top:1px solid var(--app-border);
}
.template-seo-article__section{
  margin-bottom:1.75rem;
}
.template-seo-article__section h3,
.template-seo-article__section h4{
  scroll-margin-top:5.5rem;
}
.template-seo-article__section p,
.template-seo-article__section li{
  line-height:1.65;
  color:#334155;
}
.template-seo-article__section ul,
.template-seo-article__section ol{
  padding-left:1.25rem;
}
.template-seo-article__toc a{
  color:var(--bs-link-color);
  text-decoration:none;
}
.template-seo-article__toc a:hover{
  text-decoration:underline;
}
.template-seo-article__disclaimer{
  padding-top:0.5rem;
  border-top:1px dashed var(--app-border);
}
.template-seo-geo-summary p:last-child{
  margin-bottom:0;
}
.template-seo-article--longform .template-seo-article__title{
  font-weight:700;
  line-height:1.25;
}
.template-seo-toc a{
  color:var(--bs-link-color);
  text-decoration:none;
}
.template-seo-toc a:hover{
  text-decoration:underline;
}
.template-seo-article--longform .template-seo-article__section{
  margin-bottom:2rem;
}
.template-seo-article--longform .template-seo-subsection{
  border-left:3px solid rgba(79,70,229,.2);
  padding-left:1rem;
}

/* Drafting fill: fields + preview share height; both panels scroll inside */
.drafting-fill-layout{
  --drafting-panel-scroll-max:min(70vh,42rem);
}
.drafting-fill-layout .drafting-fields-form{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.drafting-fields-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:.25rem;
}
.drafting-fields-scroll .mb-3{
  margin-bottom:.75rem !important;
}
.drafting-fields-scroll .mb-4{
  margin-bottom:1rem !important;
}
.drafting-fields-actions{
  flex:0 0 auto;
  margin-top:auto;
  padding-top:.75rem;
  border-top:1px solid var(--bs-border-color);
}
.drafting-preview-area{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.drafting-preview-body{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.drafting-preview-placeholder{
  flex:1 1 auto;
  min-height:12rem;
  max-height:var(--drafting-panel-scroll-max);
  align-items:center;
  justify-content:center;
  border:1px dashed var(--bs-border-color);
  border-radius:.375rem;
  background:var(--bs-body-bg);
}
.drafting-preview-scroll{
  flex:1 1 auto;
  min-height:12rem;
  max-height:var(--drafting-panel-scroll-max);
  overflow-y:auto;
  overflow-x:hidden;
  background:#fff;
  border:1px solid var(--bs-border-color);
  border-radius:.375rem;
  padding:.5rem;
}
.drafting-preview-page{
  margin-bottom:.75rem;
  padding-bottom:.75rem;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.drafting-preview-page:last-child{
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:none;
}
.drafting-preview-page-label{
  text-align:center;
  margin-top:.35rem;
}
.drafting-preview-image{
  display:block;
  width:100%;
  height:auto;
  user-select:none;
  -webkit-user-drag:none;
}
.drafting-preview-shield{
  position:absolute;
  inset:0;
  background:transparent;
  user-select:none;
}
.drafting-download-bar{
  margin-bottom:0;
}
@media (min-width: 992px) {
  .drafting-fill-row{
    align-items:stretch;
  }
  .drafting-fill-row > .col-lg-6{
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  .drafting-fill-row #drafting-fields-panel,
  .drafting-fill-row #drafting-preview-panel{
    flex:1 1 auto;
    width:100%;
    min-height:0;
  }
  .drafting-fill-row #drafting-fields-panel .card-body,
  .drafting-fill-row #drafting-preview-panel .card-body{
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    min-height:0;
  }
  .drafting-fill-row .drafting-preview-scroll,
  .drafting-fill-row .drafting-preview-placeholder{
    max-height:var(--drafting-panel-scroll-max);
  }
}
@media (max-width: 991.98px) {
  .drafting-fields-scroll{
    max-height:min(55vh,32rem);
  }
  .drafting-fill-row .drafting-preview-scroll{
    max-height:min(70vh,42rem);
  }
  .drafting-preview-placeholder{
    min-height:10rem;
  }
}

