/* ============================================================
   Tahwal — LIVE premium overrides (Modern SaaS). Edited on server.
   ============================================================ */

/* ---------- HEADER : glassmorphism + depth ---------- */
.site-header{
  background: rgba(255,255,255,.82);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  border-block-end: 1px solid rgba(18,46,85,.08);
  transition: background .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.site-header.is-stuck{
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 34px rgba(7,19,42,.10);
  border-block-end-color: transparent;
}
.site-header__inner{ min-block-size: 76px; }
.topbar{ background: var(--navy-950); }

/* ---------- NAV : pill hover + elegant active ---------- */
.primary-nav__list{ gap: var(--space-1); }
.primary-nav__list > li > a{
  padding-inline: var(--space-3);
  padding-block: var(--space-2);
  border-radius: var(--radius-full);
  transition: color .2s var(--ease), background-color .2s var(--ease);
}
.primary-nav__list > li > a::after{ display:none; }
.primary-nav__list > li > a:hover{ background: var(--green-50); color: var(--color-accent-text); }
.primary-nav__list > li.current-menu-item > a,
.primary-nav__list > li.current-menu-ancestor > a{ background: var(--navy-800); color:#fff; }
.primary-nav__list > li.current-menu-item > a::before,
.primary-nav__list > li.current-menu-ancestor > a::before{ opacity:.85; }

/* ---------- DROPDOWN : premium floating panel ---------- */
.primary-nav .sub-menu{
  min-inline-size: 240px;
  padding: var(--space-2);
  border: 1px solid rgba(18,46,85,.08);
  border-radius: var(--radius-lg);
  box-shadow: 0 20px 52px rgba(7,19,42,.16);
  margin-block-start: var(--space-2);
}
.primary-nav .sub-menu a{ border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); transition: background-color .18s var(--ease), color .18s var(--ease); }
.primary-nav .sub-menu a:hover{ background: var(--green-50); color: var(--color-accent-text); }

/* Mega panel (2 columns) for parents flagged by live.js */
.primary-nav .is-mega > .sub-menu{
  display:grid; grid-template-columns: 1fr 1fr; gap: 2px; min-inline-size: 460px;
}

/* ---------- CTA glow ---------- */
.header-actions__cta{ box-shadow: 0 6px 18px rgba(77,255,0,.30); }
.header-actions__cta:hover{ box-shadow: 0 10px 24px rgba(77,255,0,.38); }

/* ---------- FOOTER : refined spacing ---------- */
.footer-cta__inner{ padding-block: clamp(2rem, 4vw, 3.5rem); }
.site-footer__grid{ gap: var(--space-7) var(--space-6); }
.site-footer__col h3{ letter-spacing:.01em; }
.site-footer__bottom{ gap: var(--space-4); }

/* ---------- Reduced motion respect ---------- */
@media (prefers-reduced-motion: reduce){
  .site-header, .primary-nav__list > li > a, .primary-nav .sub-menu a{ transition:none; }
}

/* ===== Home rich sections ===== */
.process{ display:grid; gap:var(--space-5); grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.process__step{ position:relative; padding:var(--space-6) var(--space-5); background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-lg); transition:transform .25s var(--ease), box-shadow .25s var(--ease); }
.process__step:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.process__num{ display:inline-flex; align-items:center; justify-content:center; inline-size:48px; block-size:48px; border-radius:var(--radius-full); background:var(--color-primary); color:#fff; font-weight:700; font-size:var(--fs-h5); margin-block-end:var(--space-3); }
.process__title{ font-size:var(--fs-h5); color:var(--color-primary); margin-block-end:var(--space-2); }
.process__step p{ color:var(--color-text-muted); font-size:var(--fs-sm); }

.whyus{ display:grid; gap:var(--space-5); grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.whyus__item{ padding:var(--space-5); border-radius:var(--radius-lg); background:var(--color-surface); border:1px solid var(--color-border); border-inline-start:4px solid var(--color-accent); transition:transform .25s var(--ease), box-shadow .25s var(--ease); }
.whyus__item:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.whyus__t{ font-size:var(--fs-h5); color:var(--color-primary); margin-block-end:var(--space-2); }
.whyus__item p{ color:var(--color-text-muted); font-size:var(--fs-sm); }

.usecases{ display:grid; gap:var(--space-4); grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.usecase{ padding:var(--space-5); border-radius:var(--radius-lg); background:var(--color-surface); border:1px solid var(--color-border); transition:border-color .25s var(--ease); }
.usecase:hover{ border-color:var(--color-accent); }
.usecase h3{ font-size:var(--fs-h5); color:var(--color-primary); margin-block-end:var(--space-2); }
.usecase p{ color:var(--color-text-muted); font-size:var(--fs-sm); }

.longform{ max-inline-size:820px; }
.longform h2{ font-size:var(--fs-h2); color:var(--color-primary); margin-block-end:var(--space-4); }
.longform h3{ font-size:var(--fs-h4); color:var(--color-primary); margin-block:var(--space-6) var(--space-3); }
.longform p{ color:var(--color-text); line-height:1.95; margin-block-end:var(--space-4); }
.longform strong{ color:var(--color-primary); }

.faq{ max-inline-size:840px; margin-inline:auto; display:flex; flex-direction:column; gap:var(--space-3); }
.faq__item{ background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-md); overflow:hidden; transition:box-shadow .2s var(--ease); }
.faq__item[open]{ box-shadow:var(--shadow-md); }
.faq__item summary{ cursor:pointer; list-style:none; padding:var(--space-4) var(--space-5); font-weight:700; color:var(--color-primary); display:flex; justify-content:space-between; align-items:center; gap:var(--space-3); }
.faq__item summary::-webkit-details-marker{ display:none; }
.faq__item summary::after{ content:''; inline-size:10px; block-size:10px; border-inline-end:2px solid var(--color-accent-text); border-block-end:2px solid var(--color-accent-text); transform:rotate(45deg); transition:transform .2s var(--ease); flex-shrink:0; }
.faq__item[open] summary::after{ transform:rotate(-135deg); }
.faq__a{ padding:0 var(--space-5) var(--space-4); color:var(--color-text-muted); line-height:1.85; }

/* =================================================================
   PREMIUM REFRESH — airier, softer, modern SaaS feel
   ================================================================= */
:root{
  --radius-lg: 22px;
  --radius-md: 14px;
  --radius-sm: 8px;
  --shadow-sm: 0 1px 3px rgba(7,19,42,.04);
  --shadow-md: 0 12px 32px rgba(7,19,42,.07);
  --shadow-lg: 0 28px 64px rgba(7,19,42,.12);
}

/* Airier rhythm + stronger hierarchy */
.section{ padding-block: clamp(3.5rem, 6vw, 7rem); }
.section-heading{ margin-block-end: clamp(2rem, 4vw, 3.5rem); }
.section-heading__title{ font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3rem); font-weight:700; line-height:1.25; }
.section-heading__lead{ font-size: clamp(1.02rem,.96rem+.4vw,1.2rem); color: var(--gray-500); }
.eyebrow{ letter-spacing:.05em; font-size: var(--fs-sm); }

/* Softer, lighter surfaces */
.section--alt{ background:#F7F9FC; }
.card, .whyus__item, .usecase, .process__step, .testimonial-card, .price-card, .team-card, .faq__item, .service-card{
  border-color: rgba(18,46,85,.07);
  box-shadow: var(--shadow-sm);
}
.card:hover, .whyus__item:hover, .usecase:hover, .process__step:hover, .service-card:hover{ box-shadow: var(--shadow-lg); }

/* HERO premium */
.hero__inner{ padding-block: clamp(3rem, 6vw, 6.5rem); }
.hero__title{ font-size: clamp(2.1rem, 1.3rem + 3.4vw, 3.9rem); line-height:1.16; font-weight:700; }
.hero__text{ font-size: clamp(1.04rem,1rem+.4vw,1.28rem); line-height:1.85; }
.hero::before{ inline-size:60%; background: radial-gradient(closest-side, rgba(77,255,0,.16), transparent 72%); }

/* Buttons refined */
.btn{ font-weight:700; letter-spacing:.01em; }
.btn--lg{ padding-block:1rem; padding-inline:2rem; font-size:1.05rem; }

/* Service icon tiles a touch larger/premium */
.service-card__icon{ inline-size:60px; block-size:60px; }

/* =================================================================
   MOBILE HARDENING
   ================================================================= */
html, body{ overflow-x: hidden; max-inline-size: 100%; }
*{ min-inline-size: 0; }

@media (max-width: 700px){
  .section{ padding-block: 2.75rem; }
  .section-heading{ margin-block-end: 1.75rem; }
  .section-heading__title{ font-size: clamp(1.5rem, 6.5vw, 2rem); }
  .hero__title{ font-size: clamp(1.85rem, 8vw, 2.5rem); }
  .hero__text{ font-size: 1.02rem; }
  .hero__actions{ flex-direction: column; align-items: stretch; }
  .hero__actions .btn{ inline-size:100%; justify-content:center; }
  .footer-cta__inner{ flex-direction: column; align-items: flex-start; gap: var(--space-4); }
  .footer-cta__title{ font-size: 1.5rem; }
  .cta-banner__inner{ flex-direction: column; align-items: flex-start; }
  .container, .container-fluid{ padding-inline: 1.1rem; }
  .longform h2{ font-size: 1.55rem; }
  .stats__grid{ grid-template-columns: repeat(2,1fr); gap: var(--space-5); }
}

@media (max-width: 700px){
  .site-branding img, .custom-logo{ max-block-size: 40px; max-inline-size: 180px; }
  .site-header__inner{ min-block-size: 62px; }
  .header-actions{ gap: var(--space-2); }
}

/* =================================================================
   CREATIVE MOTION LAYER
   ================================================================= */

/* --- HERO: animated gradient mesh + entrance --- */
.hero{ position:relative; overflow:hidden; }
.hero__inner{ position:relative; z-index:2; }
.hero::after{
  content:''; position:absolute; inset:-10%; z-index:0; pointer-events:none;
  background:
    radial-gradient(40% 50% at 80% 16%, rgba(77,255,0,.14), transparent 70%),
    radial-gradient(44% 54% at 16% 84%, rgba(90,120,181,.55), transparent 72%);
  animation: tahMesh 16s ease-in-out infinite alternate;
}
@keyframes tahMesh{ from{ transform: translate3d(0,0,0) scale(1);} to{ transform: translate3d(2%,-3%,0) scale(1.12);} }

@media (prefers-reduced-motion: no-preference){
  .hero__content > *{ opacity:0; animation: tahUp .85s var(--ease) forwards; }
  .hero__content > *:nth-child(1){ animation-delay:.10s; }
  .hero__content > *:nth-child(2){ animation-delay:.22s; }
  .hero__content > *:nth-child(3){ animation-delay:.34s; }
  .hero__content > *:nth-child(4){ animation-delay:.46s; }
  .hero__media, .hero__visual{ opacity:0; animation: tahFade 1s var(--ease) .35s forwards; }
}
@keyframes tahUp{ from{ opacity:0; transform: translateY(22px);} to{ opacity:1; transform:none;} }
@keyframes tahFade{ from{ opacity:0; transform: scale(.97);} to{ opacity:1; transform:none;} }

/* --- Keyword marquee --- */
.marquee{ overflow:hidden; background: var(--navy-900); border-block:1px solid var(--navy-700); padding-block: 1.05rem; }
.marquee__track{ display:inline-flex; align-items:center; gap:2.5rem; white-space:nowrap; animation: tahMarquee 34s linear infinite; }
.marquee:hover .marquee__track{ animation-play-state: paused; }
.marquee__w{ font-size: clamp(1.05rem,2.2vw,1.5rem); font-weight:800; color: var(--navy-100); }
.marquee__dot{ inline-size:8px; block-size:8px; border-radius:50%; background: var(--color-accent); display:inline-block; }
@keyframes tahMarquee{ from{ transform: translateX(0);} to{ transform: translateX(-50%);} }

/* --- Scroll reveal (JS-gated) --- */
.js .rv{ opacity:0; transform: translateY(26px); transition: opacity .7s var(--ease), transform .7s var(--ease); will-change: opacity, transform; }
.js .rv.rv-in{ opacity:1; transform:none; }

/* --- Button shine sweep --- */
.btn--primary{ position:relative; overflow:hidden; }
.btn--primary::after{ content:''; position:absolute; inset:0; pointer-events:none; background: linear-gradient(120deg, transparent 35%, rgba(255,255,255,.5) 50%, transparent 65%); transform: translateX(-160%); }
.btn--primary:hover::after{ transform: translateX(160%); transition: transform .8s var(--ease); }

/* --- Card accent glow on hover --- */
.service-card:hover, .whyus__item:hover, .usecase:hover, .process__step:hover, .card:hover{ border-color: rgba(77,255,0,.38); }

/* --- Eyebrow line subtle pulse --- */
.eyebrow::before{ animation: tahPulse 2.4s var(--ease) infinite; }
@keyframes tahPulse{ 0%,100%{ opacity:1; inline-size:28px;} 50%{ opacity:.6; inline-size:20px;} }

@media (prefers-reduced-motion: reduce){
  .hero::after, .marquee__track, .eyebrow::before{ animation:none; }
  .hero__content > *, .hero__media, .hero__visual{ opacity:1; animation:none; }
}

/* =================================================================
   PERPETUAL MOTION — always-on, never-ending (respects reduced-motion)
   ================================================================= */
@media (prefers-reduced-motion: no-preference){

  /* Key CTAs: breathing glow */
  .hero__actions .btn--primary, .footer-cta .btn--primary, .cta-banner .btn--primary{
    animation: tahBreathe 3.4s ease-in-out infinite;
  }
  @keyframes tahBreathe{ 0%,100%{ box-shadow:0 6px 18px rgba(77,255,0,.30);} 50%{ box-shadow:0 12px 34px rgba(77,255,0,.58);} }

  /* Service icons: gentle perpetual float */
  .service-card__icon{ animation: tahFloatY 4.6s ease-in-out infinite; }
  @keyframes tahFloatY{ 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-7px);} }

  /* CTA bands: slow perpetual gradient drift */
  .cta-banner, .footer-cta{ background-size: 220% 220%; animation: tahGradDrift 14s ease infinite; }
  @keyframes tahGradDrift{ 0%{ background-position:0% 50%;} 50%{ background-position:100% 50%;} 100%{ background-position:0% 50%;} }

  /* Stats band: perpetual light sheen sweep */
  .stats{ position:relative; overflow:hidden; }
  .stats > .container{ position:relative; z-index:1; }
  .stats::after{
    content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
    background: linear-gradient(115deg, transparent 42%, rgba(77,255,0,.07) 50%, transparent 58%);
    transform: translateX(-110%); animation: tahSheen 7.5s linear infinite;
  }
  @keyframes tahSheen{ 0%{ transform: translateX(-110%);} 100%{ transform: translateX(110%);} }

  /* Hero image: perpetual soft bob (in addition to fade-in) */
  .hero__media img{ animation: tahFloatY 6s ease-in-out 1.3s infinite; }

  /* WhatsApp float: gentle attention pulse ring */
  .wa-float{ position:relative; }
  .wa-float::after{
    content:''; position:absolute; inset:0; border-radius:50%; z-index:-1;
    box-shadow:0 0 0 0 rgba(37,211,102,.55); animation: tahRing 2.6s ease-out infinite;
  }
  @keyframes tahRing{ 0%{ box-shadow:0 0 0 0 rgba(37,211,102,.5);} 70%{ box-shadow:0 0 0 18px rgba(37,211,102,0);} 100%{ box-shadow:0 0 0 0 rgba(37,211,102,0);} }

  /* Decorative perpetual orb in light alt sections */
  .section--alt{ position:relative; overflow:hidden; }
  .section--alt::before{
    content:''; position:absolute; z-index:0; inline-size:420px; block-size:420px; border-radius:50%;
    inset-block-start:-160px; inset-inline-start:-120px;
    background: radial-gradient(closest-side, rgba(77,255,0,.07), transparent 70%);
    animation: tahOrb 18s ease-in-out infinite alternate; pointer-events:none;
  }
  .section--alt > .container, .section--alt > .container-fluid{ position:relative; z-index:1; }
  @keyframes tahOrb{ from{ transform: translate(0,0);} to{ transform: translate(60px,40px) scale(1.15);} }
}

/* Services: clean 4-up row on desktop (4 real services) */
@media (min-width: 1080px){ .services__grid{ grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 640px) and (max-width: 1079px){ .services__grid{ grid-template-columns: repeat(2, 1fr); } }

/* =================================================================
   PERFORMANCE: keep perpetual motion GPU-friendly (transform/opacity)
   ================================================================= */
/* Eyebrow pulse: was animating inline-size (layout thrash) -> use transform */
.eyebrow::before{ animation: tahPulse2 2.6s ease-in-out infinite; transform-origin: 100% 50%; }
@keyframes tahPulse2{ 0%,100%{ opacity:1; transform: scaleX(1);} 50%{ opacity:.5; transform: scaleX(.66);} }

/* Hint the compositor for the always-on transforms */
.marquee__track, .hero::after, .hero__media img, .service-card__icon, .stats::after{ will-change: transform; }
.cta-banner, .footer-cta{ will-change: background-position; }

/* =================================================================
   INNER PAGES & ARTICLES — premium design
   ================================================================= */

/* Page/article header band */
.single .entry-header, .page .entry-header, .archive .section-heading, .search .section-heading, .error404 .section-heading{
  position: relative;
}
.single main > article > .entry-header,
.page main > article > .entry-header{
  max-inline-size: 820px; margin-inline:auto;
}
.entry-header .entry-title{ font-size: clamp(2rem, 1.4rem + 2.6vw, 3.1rem); line-height:1.2; color: var(--color-primary); }
.entry-header__meta{ font-size: var(--fs-sm); color: var(--color-text-muted); }
.entry-header .badge{ margin-block-end: var(--space-3); }

/* Breadcrumbs refined */
.breadcrumbs{ margin-block: var(--space-2) var(--space-5); font-size: var(--fs-sm); }
.breadcrumbs a{ color: var(--color-text-muted); }
.breadcrumbs a:hover{ color: var(--color-accent-text); }

/* Featured image */
.entry-featured{ border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-md); max-inline-size: 980px; margin-inline:auto; margin-block-end: var(--space-7); }

/* Article body typography (premium reading) */
.entry-content{ max-inline-size: 760px; margin-inline:auto; font-size: 1.12rem; line-height: 2; color: var(--navy-900); }
.entry-content > * + *{ margin-block-start: 1.35em; }
.entry-content h2{ font-size: clamp(1.5rem,1.2rem+1.4vw,2.1rem); color: var(--color-primary); margin-block-start: 2em; line-height:1.3; }
.entry-content h3{ font-size: clamp(1.25rem,1.1rem+.8vw,1.6rem); color: var(--color-primary); margin-block-start: 1.6em; }
.entry-content h2::before{ content:''; display:block; inline-size:48px; block-size:4px; border-radius:var(--radius-full); background:var(--color-accent); margin-block-end:.5em; }
.entry-content a{ color: var(--color-accent-text); text-decoration: underline; text-underline-offset: 3px; }
.entry-content img{ border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.entry-content blockquote{ margin-inline:0; padding: var(--space-4) var(--space-5); border-inline-start: 4px solid var(--color-accent); background: var(--color-bg-alt); border-radius: var(--radius-md); color: var(--color-text); font-size: 1.15rem; }
.entry-content ul, .entry-content ol{ padding-inline-start: 1.4em; display:flex; flex-direction:column; gap:.6em; }
.entry-content li::marker{ color: var(--color-accent-text); }
.entry-content figure{ margin-inline:0; }

/* Archive / blog grid spacing */
.archive .blog__grid, .search .blog__grid{ margin-block-start: var(--space-6); }
.archive .section-heading__title, .search .section-heading__title{ font-size: clamp(1.7rem,1.3rem+1.8vw,2.6rem); }

/* Pagination */
.pagination, .nav-links{ display:flex; gap:var(--space-2); justify-content:center; margin-block-start: var(--space-8); flex-wrap:wrap; }
.pagination .page-numbers, .nav-links .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-inline-size:44px; block-size:44px; padding-inline:var(--space-3); border-radius: var(--radius-md); border:1px solid var(--color-border); background:var(--color-surface); color:var(--color-text); font-weight:var(--fw-medium); }
.pagination .page-numbers.current{ background:var(--color-primary); color:#fff; border-color:var(--color-primary); }
.pagination a.page-numbers:hover{ border-color:var(--color-primary); }

/* Single project: results + gallery */
.single-project .stats__grid{ background:var(--color-bg-alt); border-radius:var(--radius-lg); padding:var(--space-6); }
.single-project .stats__value{ color: var(--color-accent-text) !important; }
.single-project .stats__label{ color: var(--color-text-muted) !important; }

/* Pricing */
.price-card{ position:relative; transition: transform .25s var(--ease), box-shadow .25s var(--ease); }
.price-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.price-card.is-featured{ border-color: var(--color-accent); }
.price-card.is-featured::after{ content:''; position:absolute; inset:0; border-radius:inherit; box-shadow:0 0 0 1px var(--color-accent), 0 24px 50px rgba(77,255,0,.12); pointer-events:none; }

/* Contact */
.template-contact .about__inner{ align-items:start; }
.template-contact aside.card{ position:sticky; inset-block-start: 100px; }

/* Comments */
.comments-area{ max-inline-size: 760px; margin-inline:auto; }
.comment-list{ list-style:none; padding:0; display:flex; flex-direction:column; gap:var(--space-4); }
.comment-body{ padding: var(--space-4); border:1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.comment-form input, .comment-form textarea{ inline-size:100%; }

/* Scope the narrow premium reading column safely: articles + about page only.
   Elementor landing pages must stay full-width (do NOT cramp the SEO pages). */
.entry-content{ max-inline-size: none; margin-inline: 0; }
.single .entry-content,
.page-template-template-about .entry-content{ max-inline-size: 760px; margin-inline: auto; }
body.elementor-page .entry-content,
body.elementor-page .entry-featured,
body.elementor-page .entry-header{ max-inline-size: none; margin-inline: 0; }
/* h2 accent only inside real article/about prose, not Elementor widgets */
body.elementor-page .entry-content h2::before{ display:none; }

/* Contact Form 7 — premium styling */
.wpcf7 .cf7-grid{ display:grid; grid-template-columns:1fr 1fr; gap: var(--space-4); }
.wpcf7 p{ margin-block: var(--space-3); }
.wpcf7-form-control-wrap{ display:block; }
.wpcf7 input, .wpcf7 textarea{ inline-size:100%; }
.wpcf7 textarea{ min-block-size: 9rem; }
.wpcf7 .wpcf7-submit{
  inline-size:100%; background: var(--color-accent); color: var(--color-on-accent); border:0;
  padding-block: var(--space-4); border-radius: var(--radius-full); font-weight:700; font-size:1.05rem;
  cursor:pointer; transition: background .25s var(--ease), transform .15s var(--ease), box-shadow .25s var(--ease);
  box-shadow: 0 6px 18px rgba(77,255,0,.28);
}
.wpcf7 .wpcf7-submit:hover{ background: var(--green-400); transform: translateY(-2px); box-shadow: 0 10px 26px rgba(77,255,0,.4); }
.wpcf7-not-valid-tip{ color:#d33; font-size: var(--fs-sm); margin-block-start: 4px; }
.wpcf7-response-output{ border-radius: var(--radius-md); padding: var(--space-3) var(--space-4) !important; margin: var(--space-4) 0 0 !important; }
@media (max-width:600px){ .wpcf7 .cf7-grid{ grid-template-columns:1fr; } }

/* =================================================================
   LANDING PAGES (template-landing)
   ================================================================= */
.lp-check li{ position:relative; padding-inline-start:1.7em; list-style:none; }
.lp-check li::before{ content:''; position:absolute; inset-inline-start:0; inset-block-start:.5em; inline-size:9px; block-size:5px; border-inline-start:2.5px solid var(--color-accent-text); border-block-end:2.5px solid var(--color-accent-text); transform: rotate(-45deg); }
.price-card__list.lp-check{ padding-inline-start:0; }
.price-card__list.lp-check li svg{ display:none; }

.lp-tags{ display:flex; flex-wrap:wrap; gap: var(--space-3); justify-content:center; max-inline-size: 980px; margin-inline:auto; }
.lp-tags a{ display:inline-flex; align-items:center; padding: var(--space-2) var(--space-4); background: var(--color-surface); border:1px solid var(--color-border); border-radius: var(--radius-full); color: var(--color-text); font-weight: var(--fw-medium); font-size: var(--fs-sm); transition: background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease), border-color .2s var(--ease); }
.lp-tags a:hover{ background: var(--color-primary); color:#fff; border-color: var(--color-primary); transform: translateY(-2px); }

/* Landing hero image: framed (these page images often have light bg) */
.lp .hero__media{ background: transparent; }
.lp .hero__media img{ filter: drop-shadow(0 24px 48px rgba(7,19,42,.5)); }

/* =====================================================================
   HERO v2 — premium upgrade (2026-06)
   ===================================================================== */
.hero--v2{
  position: relative;
  isolation: isolate;
  background: linear-gradient(142deg, #0a1c3b 0%, var(--color-primary, #122E55) 50%, #173f74 100%);
}
.hero--v2 .hero__inner{ position: relative; z-index: 2; }

/* layered ambient background */
.hero__bg{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.hero__bg::before{
  content:''; position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1.4px);
  background-size: 24px 24px;
  -webkit-mask-image: radial-gradient(125% 92% at 72% 6%, #000 26%, transparent 74%);
          mask-image: radial-gradient(125% 92% at 72% 6%, #000 26%, transparent 74%);
}
.hero__orb{ position:absolute; border-radius:50%; filter: blur(48px); }
.hero__orb--1{
  inline-size: 420px; block-size: 420px;
  inset-block-start: -130px; inset-inline-end: -90px;
  background: radial-gradient(closest-side, rgba(77,255,0,.26), transparent 70%);
  animation: tahOrbFloat 18s ease-in-out infinite alternate;
}
@keyframes tahOrbFloat{ from{ transform: translate3d(0,0,0);} to{ transform: translate3d(-34px,32px,0) scale(1.08);} }

/* availability badge */
.hero__badge{
  display:flex; inline-size:-webkit-fit-content; inline-size:fit-content; align-items:center; gap:.55rem;
  padding:.42rem .95rem; margin-block-end:1.1rem;
  font-size:.85rem; font-weight:700; color:#eaf1ff;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.hero__badge i{
  inline-size:8px; block-size:8px; border-radius:50%;
  background: var(--color-accent, #4DFF00);
  box-shadow:0 0 0 0 rgba(77,255,0,.6);
  animation: tahPing 2s ease-out infinite;
}
@keyframes tahPing{ 0%{box-shadow:0 0 0 0 rgba(77,255,0,.5);} 70%{box-shadow:0 0 0 10px rgba(77,255,0,0);} 100%{box-shadow:0 0 0 0 rgba(77,255,0,0);} }

/* gradient accent word inside the title */
.hero--v2 .hero__title{ letter-spacing:-.01em; }
.hero--v2 .hero__title .accent{
  background: linear-gradient(96deg, #4DFF00 0%, #9dff66 100%);
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}

/* trust strip */
.hero__trust{
  display:flex; flex-wrap:wrap; gap:1.3rem 2.3rem;
  margin-block-start:2.1rem; padding-block-start:1.5rem; padding-inline-start:0;
  border-block-start:1px solid rgba(255,255,255,.12);
  list-style:none;
}
.hero__trust li{ display:flex; flex-direction:column; gap:.2rem; }
.hero__trust b{ font-size:1.7rem; font-weight:800; color:#fff; line-height:1; font-variant-numeric: tabular-nums; }
.hero__trust b em{ color: var(--color-accent, #4DFF00); font-style:normal; margin-inline-start:1px; }
.hero__trust span{ font-size:.84rem; color: var(--navy-100, #c7d2e6); }

/* media glow + chip layering over the image */
.hero--v2 .hero__media{ position:relative; z-index:1; }
.hero__media-glow{
  position:absolute; inset:8%; z-index:0;
  background: radial-gradient(closest-side, rgba(77,255,0,.20), rgba(56,120,210,.12) 55%, transparent 76%);
  filter: blur(10px); border-radius:50%;
}
.hero--v2 .hero__media img{ position:relative; z-index:1; }
.hero--v2 .hero__chip{ z-index:3; border:1px solid rgba(255,255,255,.55); }

@media (max-width: 700px){
  .hero__trust{ gap:1rem 1.6rem; margin-block-start:1.7rem; padding-block-start:1.2rem; }
  .hero__trust b{ font-size:1.4rem; }
  .hero__trust span{ font-size:.78rem; }
  .hero--v2 .hero__chip{ transform: scale(.82); }
  .hero__orb--1{ inline-size:260px; block-size:260px; inset-block-start:-70px; }
  .hero__badge{ font-size:.8rem; }
}

@media (prefers-reduced-motion: reduce){
  .hero__orb--1, .hero__badge i{ animation:none; }
}