
/* ==================================================================
   FazilatPro — style.final.css  (Preset: Polished, Namespaced)
   Usage: <body class="fp home-page"> and link this file in <head>
   Namespace: ALL selectors are under `.fp` to prevent leaks.
   ================================================================== */

/* ------------------------------
   1) Design Tokens (edit here)
   ------------------------------ */
.fp{
  /* brand palette */
  --brand:#AD3A71;         /* primary (magenta) */
  --brand-ink:#0E1B2A;     /* deep navy for headings */
  --accent:#FFD166;        /* warm yellow (pills/badges) */
  --teal:#0C8D8F;          /* optional secondary */
  --ink-900:#0E1B2A;
  --ink-700:#415066;
  --ink-500:#6B7280;

  --paper:#FFFFFF;
  --paper-2:#F7FAFC;
  --line:#E5E7EB;

  /* layout */
  --maxw: 1100px;
  --pad: 16px;
  --pad-lg: 28px;
  --radius: 18px;          /* softer rounded corners */

  /* type scale */
  --h1:clamp(32px, 4.8vw, 52px);
  --h2:clamp(22px, 3.2vw, 32px);
  --h3:clamp(18px, 2.4vw, 22px);

  /* polished effects */
  --shadow-sm: 0 6px 18px rgba(0,0,0,.08);
  --shadow-md: 0 18px 50px rgba(0,0,0,.10);
  --hero-bg: radial-gradient(1200px 500px at 60% -200px, rgba(12,141,143,.08), rgba(173,58,113,.06), transparent);

  /* button sizing */
  --btn-pad-y: 12px;
  --btn-pad-x: 18px;
  --btn-radius: 18px;
}

/* ------------------------------
   2) Base & Elements
   ------------------------------ */
.fp, .fp *{ box-sizing:border-box; }
.fp{
  margin:0; padding:0;
  background:var(--paper);
  color:var(--ink-900);
  line-height:1.6;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

/* Page shells (boxed) */
.fp main,
.fp footer{
  max-width: var(--maxw);
  margin: 0 auto;
  padding: var(--pad-lg);
}

/* Header — full-width background, aligned gutters, slimmer height */
.fp header{
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 2px 14px rgba(17,24,39,.06);

  /* gutters align to container; reduce bar height via smaller vertical padding */
  padding: 8px max(calc((100vw - var(--maxw)) / 2), var(--pad));
  /* if you still want the subtle effect, uncomment the next line */
  /* backdrop-filter: saturate(1.03); */
}

.fp header nav a{
  padding: 6px 12px;
  border-radius: 12px;
}


/* Footer */
.fp footer{
  border-top:1px solid var(--line);
  background:var(--paper);
  color:var(--ink-700);
}

/* Typography */
.fp h1, .fp h2, .fp h3, .fp h4{ line-height:1.2; margin-top:0; color:var(--brand-ink); }
.fp h1{ font-size:var(--h1); margin-bottom:12px; }
.fp h2{ font-size:var(--h2); margin:18px 0 8px; }
.fp h3{ font-size:var(--h3); margin:16px 0 6px; }
.fp p{ margin:10px 0; color:var(--ink-700); }
.fp ul, .fp ol{ margin:10px 0 10px 20px; }
.fp li{ margin:6px 0; }
.fp a{ color:var(--teal); text-decoration:none; }
.fp a:hover, .fp a:focus{ text-decoration:underline; }

/* Sections */
.fp section{ padding:var(--pad-lg) 0; }
.fp section + section{ border-top:1px solid var(--line); }

/* ------------------------------
   3) Layout Helpers
   ------------------------------ */
.fp .container{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad); }
.fp .nav{ display:flex; align-items:center; justify-content:space-between; gap:18px; }
.fp .brand{ display:flex; align-items:center; gap:12px; }
.fp .logo-img{ width:68px; height:auto; border-radius:16px; box-shadow:var(--shadow-sm); }

.fp .grid{ display:grid; gap:24px; }
@media (min-width: 980px){
  .fp .grid.grid-2{ grid-template-columns:1.15fr .85fr; align-items:center; }
  .fp .grid.grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* ------------------------------
   4) Components
   ------------------------------ */

/* Nav links */
.fp nav[aria-label="Primary"] a{
  display:inline-block; padding:8px 12px; border-radius:12px;
  color:var(--brand-ink); border:1px solid transparent;
}
.fp nav[aria-label="Primary"] a[aria-current="page"]{
  background:var(--paper-2); border-color:var(--line);
}

/* Hero */
.fp section.hero{ background:var(--hero-bg); }
.fp .badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:999px; background:#fff; border:1px solid var(--line);
  box-shadow:var(--shadow-sm); color:var(--brand-ink); font-weight:700;
}
.fp .badge::before{ content:"✔"; display:inline-block; }

.fp .hero-figure{
  width:100%; min-height:200px; border-radius:22px;
  border:1px solid var(--line); box-shadow:var(--shadow-md);
  display:flex; align-items:center; justify-content:center; color:var(--ink-500); background:#fff;
}

/* Pills (section labels) */
.fp .pill{
  display:inline-block; padding:8px 14px; border-radius:999px;
  background:#fff; border:1px solid var(--line); color:var(--brand-ink); font-weight:700;
  box-shadow:var(--shadow-sm);
}

/* Cards */
.fp .card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:18px; box-shadow:var(--shadow-sm);
}
.fp .cards{ display:grid; gap:18px; }
@media (min-width: 980px){
  .fp .cards.grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .fp .cards.grid-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}

/* Buttons */
.fp .btn{
  display:inline-block; padding:var(--btn-pad-y) var(--btn-pad-x);
  border-radius:var(--btn-radius); border:none; background:var(--brand);
  color:#fff; text-decoration:none; font-weight:700;
  box-shadow:var(--shadow-sm);
}
.fp .btn:hover{ filter:brightness(0.95); }
.fp .btn-alt{ background:var(--teal); color:#fff; }

/* Forms */
.fp label{ display:block; margin:10px 0; color:var(--brand-ink); }
.fp input[type=text], .fp input[type=tel], .fp input[type=email], .fp select, .fp textarea{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius);
  background:#fff; color:var(--ink-900);
}
.fp textarea{ resize:vertical; }
.fp button, .fp input[type=submit]{ display:inline-block; padding:var(--btn-pad-y) var(--btn-pad-x); border-radius:var(--btn-radius); border:none; background:var(--brand); color:#fff; cursor:pointer; }
.fp button:hover, .fp input[type=submit]:hover{ filter:brightness(0.95); }

/* Footer links */
.fp footer a{ color:var(--teal); }

/* === HEADER: horizontal nav, no bullets === */
.fp .nav{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
}
.fp .brand{ display:flex; align-items:center; gap:12px; }
.fp .logo-img{ width:68px; height:auto; border-radius:16px; box-shadow:var(--shadow-sm); }

/* your menu is <nav><ul><li><a>… -> lay it out in a row and remove bullets */
.fp nav[aria-label="Primary"] ul{
  list-style:none; margin:0; padding:0;
  display:flex; align-items:center; gap:32px;
}
.fp nav[aria-label="Primary"] li{ list-style:none; }

/* link styling + active "chip" */
.fp nav[aria-label="Primary"] a{
  display:inline-block; padding:8px 12px; border-radius:12px;
  color:var(--brand-ink); border:1px solid transparent; text-decoration:none;
}
.fp nav[aria-label="Primary"] a[aria-current="page"]{
  background:var(--paper-2); border-color:var(--line); box-shadow:var(--shadow-sm);
}

/* === HOME HERO IMAGE SIZE (desktop/tablet/mobile) === */
.fp #home .grid.grid-2{
  grid-template-columns: 1.15fr .85fr;  /* text heavier than image */
  align-items: center; gap: 28px;
}

/* The image acts like a card */
.fp #home .hero-img{
  display:block;
  width:100%;
  aspect-ratio: 4 / 3;      /* keeps the nice proportion */
  object-fit: cover;        /* crop edges instead of stretching */
  max-height: 420px;        /* cap on large screens */
  border-radius: 22px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-md);
}

/* Tablet */
@media (max-width: 1100px){
  .fp #home .hero-img{ max-height: 360px; }
}

/* Mobile: stack and shrink */
@media (max-width: 820px){
  .fp #home .grid.grid-2{ grid-template-columns: 1fr; }
  .fp #home .hero-img{ max-height: 240px; }
}

/* =============================
   WHY (home) — cumulative block
   Update: pill-text → #ffffff
   ============================= */

/* heading gap */
.fp #why h2 { margin-bottom: 20px; }

/* box + hover */
.fp #why .why-card {
  background:#ffffff;
  border-radius:12px;
  border:1px solid transparent;
  box-shadow:0 4px 18px rgba(0,0,0,.08);
  padding:28px 30px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  will-change:transform, box-shadow;
}
.fp #why .why-card:hover {
  transform:scale(1.015);
  border-color:#44a4aa;
  box-shadow:0 14px 36px rgba(0,0,0,.16), 0 0 0 3px rgba(68,164,170,.28);
}
@media (max-width:768px){ .fp #why .why-card:hover{ transform:none; } }
@media (prefers-reduced-motion:reduce){
  .fp #why .why-card{ transition:box-shadow .18s ease, border-color .18s ease; }
}

/* list layout */
.fp #why .why-card .why-list{
  display:grid; grid-template-columns:1fr;
  row-gap:12px; column-gap:28px; list-style:none; margin:0; padding:0;
}
@media (min-width:980px){
  .fp #why .why-card .why-list{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* tick bullets */
.fp #why .why-card .why-item{ display:flex; align-items:flex-start; gap:10px; }
.fp #why .why-card .why-icon{
  width:18px; height:18px; flex:0 0 18px; border-radius:999px;
  background:#ffffff;
  position:relative; top:2px;
  box-shadow:0 1px 2px rgba(0,0,0,.10);
  border:1px solid #e5e7eb;
}
.fp #why .why-card .why-icon::before{
  content:"✓"; position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:900; line-height:1; color:#0b1220;
}

/* labels */
.fp #why .why-card .why-item strong{
  position:relative; display:inline-block;
  color:var(--brand-ink); font-weight:600; text-decoration:none;
}
.fp #why .why-card .why-item strong::after{
  content:""; position:absolute; left:0; bottom:-2px; height:2px; width:100%;
  background:#26536c; transform:scaleX(0); transform-origin:left;
  transition:transform .20s ease; pointer-events:none;
}
.fp #why .why-card .why-item strong:hover,
.fp #why .why-card .why-item strong:focus-visible{ color:var(--brand-ink); }
.fp #why .why-card .why-item strong:hover::after,
.fp #why .why-card .why-item strong:focus-visible::after{ transform:scaleX(1); }



/* =============================
   PILL — GLOBAL (replacement)
   Applies to: .fp .pill  and .fp .why-pill
   Style: Gradient capsule (interactive, non-static)
   ============================= */

/* Base + defaults (gold/amber). Change the 4 vars below if you want a different default site-wide. */
.fp .pill,
.fp .why-pill{
  --pill-bg1: #f8b733;            /* top-left */
  --pill-bg2: #f19a00;            /* bottom-right */
  --pill-ink: #ffffff;            /* text */
  --pill-ring: rgba(255,200,80,.55);
  --pill-shadow: 0 6px 16px rgba(0,0,0,.12);
  --pill-shadow-hover: 0 10px 28px rgba(0,0,0,.18);
  --pill-sheen-alpha: .35;

  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1;
  color: var(--pill-ink);
  background: linear-gradient(180deg, var(--pill-bg1), var(--pill-bg2));
  border: 0;
  text-decoration: none;
  box-shadow: var(--pill-shadow);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
  -webkit-tap-highlight-color: transparent;
}

/* glossy top highlight */
.fp .pill::before,
.fp .why-pill::before{
  content:"";
  position:absolute; left:8px; right:8px; top:5px; height:42%;
  border-radius:999px;
  background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.10));
  pointer-events:none;
  filter: blur(.2px);
  opacity:.85;
}

/* animated diagonal sheen */
.fp .pill::after,
.fp .why-pill::after{
  content:"";
  position:absolute;
  top:-120%; left:-40%;
  width:60%; height:300%;
  transform: rotate(28deg) translateX(-160%);
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,var(--pill-sheen-alpha)) 48%,
    rgba(255,255,255,.85) 52%,
    rgba(255,255,255,0) 100%);
  opacity:0; pointer-events:none;
}

/* hover/active lift + sheen */
.fp .pill:hover,
.fp .pill:active,
.fp .why-pill:hover,
.fp .why-pill:active{
  transform: translateY(-2px);
  box-shadow: var(--pill-shadow-hover);
  filter: saturate(1.02);
}
.fp .pill:hover::after,
.fp .pill:focus-visible::after,
.fp .why-pill:hover::after,
.fp .why-pill:focus-visible::after{
  animation: pill-sheen .75s ease forwards;
  opacity:1;
}
@keyframes pill-sheen{
  0%   { transform: rotate(28deg) translateX(-160%); opacity:0; }
  15%  { opacity:1; }
  100% { transform: rotate(28deg) translateX(260%); opacity:0; }
}

/* keyboard focus ring */
.fp .pill:focus-visible,
.fp .why-pill:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px var(--pill-ring), var(--pill-shadow-hover);
}

/* motion preferences */
@media (prefers-reduced-motion: reduce){
  .fp .pill,
  .fp .why-pill{ transition: none; }
  .fp .pill::after,
  .fp .why-pill::after{ display: none; }
}

/* size variants (keep your old class names) */
.fp .pill.pill--sm,
.fp .why-pill.pill--sm{ padding: 8px 14px; font-weight:700; }
.fp .pill.pill--lg,
.fp .why-pill.pill--lg{ padding: 12px 22px; font-size:1.05rem; }

/* OPTIONAL palette helpers: wrap any section in one of these to swap the gradient without editing HTML */
.fp.teal-pills  .pill, .fp.teal-pills  .why-pill{ --pill-bg1:#3cc6c2; --pill-bg2:#159c9a; --pill-ink:#0b1220; --pill-ring:rgba(21,156,154,.45); }
.fp.magenta-pills .pill, .fp.magenta-pills .why-pill{ --pill-bg1:#e46aa0; --pill-bg2:#ad3a71; --pill-ink:#fff;    --pill-ring:rgba(231,101,159,.45); }
.fp.violet-pills  .pill, .fp.violet-pills  .why-pill{ --pill-bg1:#a78bfa; --pill-bg2:#6d5bd6; --pill-ink:#fff;    --pill-ring:rgba(167,139,250,.45); }

/* =============================
   OUR SERVICES — Full Replacement
   Grid + Unique Colors + Lift/Ring + Sheen/Shimmer (hover)
   ============================= */

/* Head: pill left, button right (wrap on mobile) */
.fp #services .section-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:16px; flex-wrap:wrap; margin-bottom:14px;
}
.fp #services .section-head h2{ margin:6px 0 4px; }
.fp #services .section-head p{ margin:0; }

/* Grid layout */
.fp #services .cards{
  display:grid; gap:24px;
  grid-template-columns:1fr;                 /* mobile */
}
@media (min-width:700px){
  .fp #services .cards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:980px){
  .fp #services .cards{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Base card */
.fp #services .card{
  position:relative;                         /* needed for shimmer overlay */
  overflow:hidden;                           /* clip shimmer */
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:22px 22px 20px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

/* Title + copy */
.fp #services .card h3{
  margin:0 0 10px;
  font-size:clamp(18px,2.1vw,22px);
  line-height:1.25;
  font-weight:800;
}
.fp #services .card p{
  margin:0; color:var(--ink-700);
}

/* Hover: lift + tinted ring (color via per-card vars) */
.fp #services .card:hover{
  transform:translateY(-4px);
  border-color:var(--svc-accent, #0E1B2A);
  box-shadow:
    0 14px 32px rgba(0,0,0,.12),
    0 0 0 3px var(--svc-ring, rgba(14,27,42,.08));
}

/* =============================
   Sheen / Shimmer effect (hover)
   - Soft, quick shimmer along a diagonal strip
   - No constant looping; only triggers on hover/focus-visible
   ============================= */
.fp #services .card::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(
    115deg,
    rgba(255,255,255,0) 35%,
    rgba(255,255,255,.28) 45%,
    rgba(255,255,255,.65) 50%,
    rgba(255,255,255,.28) 55%,
    rgba(255,255,255,0) 65%
  );
  transform: translateX(-120%) skewX(-12deg);
  opacity:0; pointer-events:none;
}
.fp #services .card:hover::after,
.fp #services .card:focus-visible::after{
  animation: fp-sheen 0.85s ease-out forwards;
  opacity:1;
}
@keyframes fp-sheen{
  0%   { transform: translateX(-120%) skewX(-12deg); opacity: 0; }
  12%  { opacity: .9; }
  100% { transform: translateX(120%)  skewX(-12deg); opacity: 0; }
}

/* Reduced motion: disable animation */
@media (prefers-reduced-motion: reduce){
  .fp #services .card:hover::after,
  .fp #services .card:focus-visible::after{
    animation: none; opacity: 0;
  }
}

/* -----------------------------
   Unique color accents per card
   (title color + hover ring)
   ----------------------------- */
.fp #services .card:nth-child(1){ --svc-accent:#2563eb; --svc-ring:rgba(37,99,235,.18); }
.fp #services .card:nth-child(1) h3{ color:#2563eb; }

.fp #services .card:nth-child(2){ --svc-accent:#10b981; --svc-ring:rgba(16,185,129,.18); }
.fp #services .card:nth-child(2) h3{ color:#10b981; }

.fp #services .card:nth-child(3){ --svc-accent:#4f46e5; --svc-ring:rgba(79,70,229,.18); }
.fp #services .card:nth-child(3) h3{ color:#4f46e5; }

.fp #services .card:nth-child(4){ --svc-accent:#06b6d4; --svc-ring:rgba(6,182,212,.18); }
.fp #services .card:nth-child(4) h3{ color:#06b6d4; }

.fp #services .card:nth-child(5){ --svc-accent:#7c3aed; --svc-ring:rgba(124,58,237,.18); }
.fp #services .card:nth-child(5) h3{ color:#7c3aed; }

.fp #services .card:nth-child(6){ --svc-accent:#f59e0b; --svc-ring:rgba(245,158,11,.22); }
.fp #services .card:nth-child(6) h3{ color:#f59e0b; }

.fp #services .card:nth-child(7){ --svc-accent:#65a30d; --svc-ring:rgba(101,163,13,.20); }
.fp #services .card:nth-child(7) h3{ color:#65a30d; }

.fp #services .card:nth-child(8){ --svc-accent:#db2777; --svc-ring:rgba(219,39,119,.20); }
.fp #services .card:nth-child(8) h3{ color:#db2777; }

/* =============================
   PROCESS — 2×2 Grid
   Dark/Bright Pastels + Hover (Lift + Glow) + Title Underline Sweep
   ============================= */

/* Keep pill gap; add one clean line below “How We Work” */
.fp .home-how .section-head { margin-bottom: 8px; }
.fp .home-how h2 { margin: 12px 0 16px; }

/* Grid: 1 col mobile → 2 cols tablet/desktop */
.fp .home-how .cards{
  display:grid; gap:24px;
  grid-template-columns: 1fr;
}
@media (min-width: 820px){
  .fp .home-how .cards{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* Base card */
.fp .home-how .card{
  position: relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:22px 22px 20px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

/* Hover: Lift + deeper shadow + pastel ring glow (per-card color) */
.fp .home-how .card:hover,
.fp .home-how .card:focus-within{
  transform: translateY(-4px);
  border-color: var(--proc-accent, #9ca3af);
  box-shadow:
    0 16px 38px rgba(0,0,0,.14),
    0 0 0 3px var(--proc-ring, rgba(0,0,0,.06));
}

/* Title + body */
.fp .home-how .card h3{
  margin:0 0 10px;
  font-size:clamp(18px,2.1vw,22px);
  line-height:1.25;
  font-weight:800;
  position:relative;
  display:inline-block;           /* needed for underline */
  text-decoration:none;
  transition: color .18s ease;
}
.fp .home-how .card p{ margin:0; color:var(--ink-700); }

/* Title underline sweep (left → right) using the title color */
.fp .home-how .card h3::after{
  content:""; position:absolute; left:0; bottom:-2px;
  height:2px; width:100%;
  background: currentColor;
  transform: scaleX(0); transform-origin: left;
  transition: transform .22s ease;
}
.fp .home-how .card h3:hover::after,
.fp .home-how .card h3:focus-visible::after{
  transform: scaleX(1);
}

/* =============================
   Dark/Bright Pastel Title & Glow Colors (unique)
   — title color = h3 color
   — card ring/glow = --proc-accent / --proc-ring
   ============================= */

/* 1) Understand — Bright Pastel Blue */
.fp .home-how .card:nth-child(1){
  --proc-accent: #4f9cfb;                     /* ring border */
  --proc-ring:   rgba(79,156,251,.20);        /* outer glow */
}
.fp .home-how .card:nth-child(1) h3{ color:#4f9cfb; }

/* 2) Plan — Bright Pastel Teal */
.fp .home-how .card:nth-child(2){
  --proc-accent: #22d3c5;
  --proc-ring:   rgba(34,211,197,.22);
}
.fp .home-how .card:nth-child(2) h3{ color:#22d3c5; }

/* 3) Execute — Bright Pastel Purple */
.fp .home-how .card:nth-child(3){
  --proc-accent: #a78bfa;
  --proc-ring:   rgba(167,139,250,.22);
}
.fp .home-how .card:nth-child(3) h3{ color:#a78bfa; }

/* 4) Handover — Bright Pastel Green */
.fp .home-how .card:nth-child(4){
  --proc-accent: #34d399;
  --proc-ring:   rgba(52,211,153,.22);
}
.fp .home-how .card:nth-child(4) h3{ color:#34d399; }

/* Reduced motion: keep hover static (no lift) */
@media (prefers-reduced-motion: reduce){
  .fp .home-how .card{ transition: box-shadow .18s ease, border-color .18s ease; }
  .fp .home-how .card:hover,
  .fp .home-how .card:focus-within{ transform:none; }
}

/* =============================
   FINAL CTA — text left, buttons right (desktop)
   Stacks nicely on mobile. Pill spacing kept clean.
   Targets: <section id="contact-cta"> … <div class="section-head"> … </div>
   ============================= */

.fp #contact-cta .section-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:20px; flex-wrap:wrap;
  margin-bottom: 0; /* keep it tight like the reference */
}

/* left block (pill + h2 + paragraph) */
.fp #contact-cta .section-head > div:first-child{
  flex: 1 1 540px; min-width: 280px;
}
.fp #contact-cta h2{ margin: 6px 0 8px; }
.fp #contact-cta p{ margin: 0; color: var(--ink-700); }

/* right block: button row aligned right on desktop */
.fp #contact-cta .section-head > div:last-child{
  display:flex; gap:16px; align-items:center; justify-content:flex-end;
  flex: 0 0 auto;
}

/* Buttons match your existing style; slight rounding & shadow like pic */
.fp #contact-cta .btn{
  border-radius: 14px;
  padding: 12px 18px;
  box-shadow: 0 6px 16px rgba(0,0,0,.10);
}

/* Responsive: stack buttons under text and left-align on small screens */
@media (max-width: 860px){
  .fp #contact-cta .section-head{
    align-items: flex-start;
  }
  .fp #contact-cta .section-head > div:last-child{
    width: 100%;
    justify-content: flex-start;   /* buttons move below, left-aligned */
    margin-top: 12px;
  }
}

/* Optional: tiny polish to match screenshot spacing */
.fp #contact-cta { padding-top: 8px; }

/* =============================
   FAQ — Warm Section + Card Grid
   Make first pic look like second pic
   Targets: <section id="faq" class="home-faq"> … <div class="cards"><article class="card">…
   ============================= */

/* Warm backdrop for the whole FAQ section */
.fp #faq.home-faq{
  background: #FFF7EC;                 /* soft cream */
  padding: 36px 0 44px;                /* a bit taller like ref */
}

/* Keep pill spacing and add a clean gap under H2 */
.fp #faq .section-head{ margin-bottom: 6px; }
.fp #faq h2{ margin: 10px 0 16px; }

/* Grid: 1 col mobile → 2 col tablet → 3 col desktop */
.fp #faq .cards{
  display: grid; gap: 28px;
  grid-template-columns: 1fr;          /* mobile */
}
@media (min-width: 760px){
  .fp #faq .cards{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (min-width: 1100px){
  .fp #faq .cards{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}

/* Card look */
.fp #faq .card{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 22px 22px 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
}

/* Title and body rhythm */
.fp #faq .card h3{
  margin: 0 0 10px;
  font-size: clamp(18px, 2.1vw, 22px);
  line-height: 1.25;
  font-weight: 800;
  color: var(--brand-ink);
}
.fp #faq .card p{
  margin: 0;
  color: var(--ink-700);
}

/* Optional: very subtle hover polish (no lift) */
.fp #faq .card:hover{
  box-shadow: 0 12px 32px rgba(0,0,0,.10);
}

/* =============================
   FAQ — Zoom + Inner Fill + Darker Outer Glow (v3)
   Scope: #faq only
   ============================= */

.fp #faq.home-faq{ background:#FFF7EC; padding:36px 0 44px; }
.fp #faq .section-head{ margin-bottom:6px; }
.fp #faq h2{ margin:10px 0 16px; }

/* Grid layout */
.fp #faq .cards{
  display:grid; gap:28px;
  grid-template-columns:1fr;
}
@media (min-width:760px){
  .fp #faq .cards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:1100px){
  .fp #faq .cards{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Base card */
.fp #faq .card{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:22px;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
  overflow:visible; /* shows outer box */
  transition: transform .18s ease, box-shadow .18s ease;
}
.fp #faq .card h3{
  margin:0 0 10px;
  font-size:clamp(18px,2.1vw,22px);
  line-height:1.25;
  font-weight:800;
}
.fp #faq .card p{ margin:0; color:var(--ink-700); }

/* --- Effect defaults (applies to all FAQ cards) --- */
.fp #faq .card{
  --fill:   rgba(68,164,170,.18);  /* inner fill (rich) */
  --spread: rgba(68,164,170,.22);  /* darker outer glow (global default) */
  --scale:  1.010;
  --offset: 8%;
  --radius: 20px;
  --blinkd: .38s;
}

/* Inner tinted fill */
.fp #faq .card::before{
  content:"";
  position:absolute; inset:6px;
  background: var(--fill);
  border-radius:14px;
  opacity:0; transition: opacity .16s ease;
  pointer-events:none; z-index:0;
}

/* Outer glow (darker but tight) */
.fp #faq .card::after{
  content:"";
  position:absolute;
  left:calc(-1 * var(--offset)); right:calc(-1 * var(--offset));
  top:calc(-1 * var(--offset));  bottom:calc(-1 * var(--offset));
  border-radius: var(--radius);
  background: var(--spread);
  filter: blur(7px);                /* keep compact so neighbors are safe */
  opacity:0; pointer-events:none;
  z-index:-1;
}

/* Hover behavior */
.fp #faq .card:hover,
.fp #faq .card:focus-within{
  transform: scale(var(--scale));
  box-shadow: 0 14px 36px rgba(0,0,0,.14);
}
.fp #faq .card:hover::before,
.fp #faq .card:focus-within::before{ opacity:1; }
.fp #faq .card:hover::after,
.fp #faq .card:focus-within::after{
  animation: faq-outbox-blink var(--blinkd) ease-out 1;
}

/* Blink animation */
@keyframes faq-outbox-blink{
  0%   { opacity:0;  transform:scale(.99); }
  40%  { opacity:.95; transform:scale(1.00); }  /* peak darker */
  100% { opacity:.22; transform:scale(1.01); }  /* darker settle */
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .fp #faq .card:hover,
  .fp #faq .card:focus-within{ transform:none; }
  .fp #faq .card:hover::after,
  .fp #faq .card:focus-within::after{ animation:none; opacity:.18; }
}

/* =============================
   Per-card colors (darker fill + darker glow)
   ============================= */

/* 1 — Teal */
.fp #faq .card:nth-child(1){
  --fill:   rgba(68,164,170,.18);
  --spread: rgba(68,164,170,.24);
}

/* 2 — Violet */
.fp #faq .card:nth-child(2){
  --fill:   rgba(167,139,250,.18);
  --spread: rgba(167,139,250,.24);
}

/* 3 — Amber */
.fp #faq .card:nth-child(3){
  --fill:   rgba(245,158,11,.18);
  --spread: rgba(245,158,11,.24);
}

/* 4 — Rose */
.fp #faq .card:nth-child(4){
  --fill:   rgba(244,114,182,.18);
  --spread: rgba(244,114,182,.24);
}

/* 5 — Sky */
.fp #faq .card:nth-child(5){
  --fill:   rgba(56,189,248,.18);
  --spread: rgba(56,189,248,.24);
}

/* 6 — Emerald */
.fp #faq .card:nth-child(6){
  --fill:   rgba(16,185,129,.18);
  --spread: rgba(16,185,129,.24);
}

/* ==================================================================About Page======================================================= */

/* ABOUT — HERO split like Home */
.fp.about-page .hero{
  /*background: var(--hero-bg);*/
  padding-top: var(--pad-lg);
  padding-bottom: var(--pad-lg);
}
.fp.about-page .hero .grid.grid-2{
  display: grid;
  grid-template-columns: 1.15fr .85fr;  /* text left, image right */
  align-items: center;
  gap: 28px;
}
.fp.about-page .hero h1{
  font-size: var(--h1);
  line-height: 1.05;
  color: var(--brand);
  margin: 8px 0 14px;
}
.fp.about-page .hero .hero-img{
  display:block;
  width:100%;
  max-width:540px;                     /* smaller image */
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius:22px;
  border:1px solid var(--line);
  box-shadow:var(--shadow-md);
  margin-left:auto;                    /* hug right edge */
}
@media (max-width:820px){
  /* stack like Home/About: text first, image below */
  .fp.why-page .hero .grid.grid-2{
    grid-template-columns: 1fr;
    gap: 20px;
  }

  /* ensure image comes after text */
  .fp.why-page .hero .hero-card{
    order: 2;
    max-height: none;
  }
}


/* =============================
   ABOUT — Overview cleanup
   ============================= */
.fp.about-page #about-overview{
  padding-top: var(--pad-lg);
  padding-bottom: calc(var(--pad-lg) + 6px);
  background: linear-gradient(180deg, rgba(12,141,143,.04), rgba(173,58,113,.02) 60%, transparent);
}

.fp.about-page #about-overview .section-head{
  margin-bottom: 12px; /* tighter than default */
}

.fp.about-page #about-overview h2{
  font-size: var(--h2);
  line-height: 1.2;
  margin: 8px 0 6px;
  color: var(--brand-ink);
}

.fp.about-page #about-overview .lead{
  max-width: 72ch;          /* readable line length */
  color: var(--ink-800);
  font-size: 1.05rem;       /* slightly larger for comfort */
  margin: 0;                /* remove extra gaps */
}


/* About – Overview paragraph */
.fp #about-overview .lead{
  text-align: justify;
  text-justify: inter-word; /* browsers that support it will space words nicely */
}


/* ============================================
   ABOUT — VMV #77  (Effect 3: Soft Tint + Glow Ring)
   FULL REPLACEMENT — idle tint + colored border,
   hover adds glow ring; no lift/underline/rails
   ============================================ */

/* layout */
.fp.about-page #vmv77 .cards{
  display:grid;
  gap:18px;
}
@media (min-width:980px){
  .fp.about-page #vmv77 .cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* per-card accent tokens (adjust if you want Set A/B/C/D) */
.fp.about-page #vmv77 .card:nth-child(1){ --a:#2563EB; } /* Vision   — royal blue  */
.fp.about-page #vmv77 .card:nth-child(2){ --a:#06B6D4; } /* Mission  — cyan        */
.fp.about-page #vmv77 .card:nth-child(3){ --a:#7C3AED; } /* Values   — violet      */

/* base card — has tint + colored border even before hover */
.fp.about-page #vmv77 .card{
  background: color-mix(in srgb, var(--a) 9%, #fff);     /* idle tint */
  border: 2px solid color-mix(in srgb, var(--a) 35%, #dbe2ea);
  border-radius: 18px;
  padding: 22px 24px;
  box-shadow: 0 6px 14px rgba(0,0,0,.06);               /* soft base shadow */
  transition: box-shadow .2s ease, border-color .2s ease, background .2s ease;
}

/* titles use the same accent; body text stays legible */
.fp.about-page #vmv77 .card h3{
  color: var(--a);
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1.25;
  margin: 0 0 8px;
}
.fp.about-page #vmv77 .card p{
  margin:0;
  color: var(--ink-700);
}

/* hover/focus — stronger tint + glow ring; NO lift */
.fp.about-page #vmv77 .card:hover{
  background: color-mix(in srgb, var(--a) 14%, #fff);  /* slightly deeper */
  border-color: color-mix(in srgb, var(--a) 50%, #cfd6de);
  box-shadow:
    0 12px 28px rgba(0,0,0,.14),
    0 0 0 6px color-mix(in srgb, var(--a) 22%, transparent);  /* glow ring */
}

/* Touch (mobile + tablet) – same effect on tap */
@media (max-width: 1024px){
  .fp.about-page #vmv77 .card:active{
    background: color-mix(in srgb, var(--a) 14%, #fff);
    border-color: color-mix(in srgb, var(--a) 50%, #cfd6de);
    box-shadow:
      0 12px 28px rgba(0,0,0,.14),
      0 0 0 6px color-mix(in srgb, var(--a) 22%, transparent);
  }
}

.fp.about-page #vmv77 .card:focus-within{
  outline: none;
  background: color-mix(in srgb, var(--a) 14%, #fff);
  border-color: color-mix(in srgb, var(--a) 50%, #cfd6de);
  box-shadow:
    0 12px 28px rgba(0,0,0,.14),
    0 0 0 6px color-mix(in srgb, var(--a) 22%, transparent);
}

/* reduced motion — keep color changes, no extra transitions */
@media (prefers-reduced-motion: reduce){
  .fp.about-page #vmv77 .card{ transition: none; }
}

/* ============================================
   ABOUT — HOW WE WORK (FULL REPLACEMENT)
   2×2 cards, thin left strip (6px) + lift+glow hover
   ============================================ */

.fp.about-page .how .cards{
  display:grid;
  gap:18px;
}
@media (min-width:980px){
  .fp.about-page .how .cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.fp.about-page .how .card{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow-sm);
  padding:22px 24px;
  overflow:hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  will-change: transform, box-shadow;
}

/* thinner left color strip */
.fp.about-page .how .card::before{
  content:"";
  position:absolute; left:0; top:0; bottom:0;
  width:6px;                         /* was 12px */
  border-radius:18px 0 0 18px;
  background:var(--a);
}

/* Bright accents (not used elsewhere on About) */
.fp.about-page .how .card:nth-child(1){ --a:#F97316; } /* Discover — orange */
.fp.about-page .how .card:nth-child(2){ --a:#84CC16; } /* Scope    — lime   */
.fp.about-page .how .card:nth-child(3){ --a:#4F46E5; } /* Deliver  — indigo */
.fp.about-page .how .card:nth-child(4){ --a:#EF4444; } /* Verify   — red    */

.fp.about-page .how .card h3{
  color: var(--a);
  font-size: clamp(18px, 2.2vw, 22px);
  line-height:1.25;
  margin:0 0 8px;
}
.fp.about-page .how .card p{
  margin:0;
  color: var(--ink-700);
}

/* Hover / Focus: lift + glow ring */
.fp.about-page .how .card:hover{
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--a) 28%, var(--line));
  box-shadow:
    0 16px 36px rgba(0,0,0,.14),
    0 0 0 6px color-mix(in srgb, var(--a) 20%, transparent);
  background: color-mix(in srgb, var(--a) 6%, #fff);
}


/* Touch (mobile + tablet) – lift + glow on tap */
@media (max-width: 1024px){
  .fp.about-page .how .card:active{
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--a) 28%, var(--line));
    box-shadow:
      0 16px 36px rgba(0,0,0,.14),
      0 0 0 6px color-mix(in srgb, var(--a) 20%, transparent);
    background: color-mix(in srgb, var(--a) 6%, #fff);
  }
}

.fp.about-page .how .card:focus-within{
  outline:none;
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--a) 28%, var(--line));
  box-shadow:
    0 16px 36px rgba(0,0,0,.14),
    0 0 0 6px color-mix(in srgb, var(--a) 20%, transparent);
  background: color-mix(in srgb, var(--a) 6%, #fff);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .fp.about-page .how .card{ transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
  .fp.about-page .how .card:hover,
  .fp.about-page .how .card:focus-within{ transform:none; }
}

/* ============================================
   ABOUT — WHO WE SERVE (FULL REPLACEMENT)
   Effects: #77 (title spacing) + #142 (neon glow)
   ============================================ */

.fp.about-page #serve63 .cards{
  display:grid;
  gap:18px;
}
@media (min-width:980px){
  .fp.about-page #serve63 .cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.fp.about-page #serve63 .card{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow-sm);
  padding:22px 24px;
  transition:
    filter .25s ease,
    border-color .25s ease,
    background .25s ease;
  will-change:filter;
}

/* Pastel heading colors (static seeds per card) */
.fp.about-page #serve63 .card:nth-child(1){ --a:#3B82F6; } /* Blue      */
.fp.about-page #serve63 .card:nth-child(2){ --a:#06B6D4; } /* Cyan      */
.fp.about-page #serve63 .card:nth-child(3){ --a:#F59E0B; } /* Amber     */
.fp.about-page #serve63 .card:nth-child(4){ --a:#A855F7; } /* Violet    */

.fp.about-page #serve63 .card h3{
  color:var(--a);
  font-size:clamp(18px,2.2vw,22px);
  line-height:1.25;
  margin:0 0 8px;
  transition:letter-spacing .25s ease, color .25s ease; /* #77 */
}

.fp.about-page #serve63 .card p{
  margin:0; color:var(--ink-700);
}

/* ---------- Hover / Focus: apply both effects ---------- */
/* #142 — neon glow ring + gentle tint  */
/* #77 — headline spacing + slight brighten               */
.fp.about-page #serve63 .card:hover{
  filter: drop-shadow(0 0 12px color-mix(in srgb, var(--a) 42%, transparent));
  border-color: color-mix(in srgb, var(--a) 28%, var(--line));
  background: color-mix(in srgb, var(--a) 6%, #fff);
}
.fp.about-page #serve63 .card:hover h3{
  letter-spacing:.04em;
  color: color-mix(in srgb, var(--a) 78%, #ffffff);
}


/* Touch (mobile + tablet) – neon glow + heading shift on tap */
@media (max-width: 1024px){
  .fp.about-page #serve63 .card:active{
    filter: drop-shadow(0 0 12px color-mix(in srgb, var(--a) 42%, transparent));
    border-color: color-mix(in srgb, var(--a) 28%, var(--line));
    background: color-mix(in srgb, var(--a) 6%, #fff);
  }
  .fp.about-page #serve63 .card:active h3{
    letter-spacing:.04em;
    color: color-mix(in srgb, var(--a) 78%, #ffffff);
  }
}


/* Keyboard/touch parity */
.fp.about-page #serve63 .card:focus-within{
  outline:none;
  filter: drop-shadow(0 0 12px color-mix(in srgb, var(--a) 42%, transparent));
  border-color: color-mix(in srgb, var(--a) 28%, var(--line));
  background: color-mix(in srgb, var(--a) 6%, #fff);
}
.fp.about-page #serve63 .card:focus-within h3{
  letter-spacing:.04em;
  color: color-mix(in srgb, var(--a) 78%, #ffffff);
}

/* Reduced motion: keep color/glow, no extra transitions */
@media (prefers-reduced-motion:reduce){
  .fp.about-page #serve63 .card{ transition:none; }
}

/*=============================== Header adjustments ===================================== */

/* =========================================================
   FAZILATPRO — HEADER + NAV (FULL REPLACEMENT)
   - Logo left, nav right
   - Compact bar height (logo visually larger via scale)
   - Nav effects: #6 Soft Pill Fill + #9 Lift & Shadow
   - Active/hover underline in brand color
   ========================================================= */

/* Header bar */
.site-header{
  position: sticky; top: 0; z-index: 1000;
  background: #fff;
  border-bottom: 1px solid #e8edf3;
  box-shadow: 0 2px 14px rgba(17,24,39,.06);
  overflow: visible; /* ensure shadows aren't clipped */
}

/* Inner shell: compact height */
.site-header .nav-shell{
  display: flex;
  align-items: center;
  justify-content: space-between;   /* logo left, nav right */
  gap: 24px;
  padding: 14px 24px;               /* compact vertical height */
  overflow: visible;
}

/* Logo: larger look without increasing header height */
.logo{
  flex: 0 0 auto; display:flex; align-items:center;
}
.logo img{
  height: 66px;                     /* layout height stays modest */
  width: auto;
  transform: scale(1.16);           /* visual boost only */
  transform-origin: left center;    /* grows to the right, not downward */
  will-change: transform;
  pointer-events: none;
}

/* Nav on the right */
.main-nav{
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 48px;
}

/* Brand token fallback */
:root{ --nav-accent: #D8B24A; } /* soft golden tone */


/* Base nav link (no layout shift) */
.main-nav a{
  position: relative;
  display: inline-block;
  padding: 8px 14px;              /* small pill padding (visual) */
  border-radius: 999px;           /* pill shape */
  text-decoration: none;
  color: var(--ink-900, #0E1B2A);
  line-height: 1;
  background-clip: padding-box;   /* helps shadow read cleanly */
  z-index: 0;
  transition:
    background-color .18s ease,
    transform .18s ease,
    box-shadow .18s ease,
    color .18s ease;
}

/* Underline bar (hidden by default) */
.main-nav a::after{
  content: "";
  position: absolute;
  left: 10px; right: 10px; bottom: -14px;
  height: 4px; border-radius: 3px;
  background: var(--nav-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease, background-color .25s ease;
  pointer-events: none;
}

/* HOVER — Effect #6 (soft pill fill) + Effect #9 (lift & shadow) + underline */
.main-nav a:hover{
  background-color: color-mix(in srgb, var(--nav-accent) 14%, transparent);
  transform: translateY(-3px);
  box-shadow: 0 14px 28px -10px rgba(0,0,0,.28), 0 6px 14px -6px rgba(0,0,0,.18);
  filter: drop-shadow(0 10px 14px rgba(0,0,0,.16)); /* survives any overflow clipping */
  color: var(--nav-accent);
}
.main-nav a:hover::after{ transform: scaleX(1); }

/* ACTIVE (current page) — same look as hover, persistent */
.main-nav a.active,
.main-nav a[aria-current="page"]{
  background-color: color-mix(in srgb, var(--nav-accent) 18%, transparent);
  transform: translateY(-3px);
  box-shadow: 0 16px 30px -10px rgba(0,0,0,.30), 0 7px 16px -6px rgba(0,0,0,.20);
  filter: drop-shadow(0 12px 16px rgba(0,0,0,.18));
  color: var(--nav-accent);
  font-weight: 700;
}
.main-nav a.active::after,
.main-nav a[aria-current="page"]::after{ transform: scaleX(1); }

/* Safety: keep nav clean */
.site-header nav ul{ list-style: none; }

/* Small screens */
@media (max-width: 640px){
  .site-header .nav-shell{ padding: 12px 16px; }
  .logo img{ height: 48px; transform: scale(1.10); }
  .main-nav{ gap: 14px; }
  .main-nav a{ padding: 7px 12px; }
  .main-nav a::after{ bottom: -10px; height: 3px; }
}

.main-nav a::after{
  height:0 !important;
  background:transparent !important;
  transform:none !important;
}

/*====================================================WHY PAGE=======================================*/

/* ==========================================================
   Why Us — page-scoped styles (keeps global styles intact)
   Namespace: .fp.why-page
   ========================================================== */

/* HERO: soft gradient bg + roomy spacing */
.fp.why-page .hero{
  position: relative;
  padding: clamp(48px, 6vw, 96px) 0;
  background: linear-gradient(135deg, rgba(12,141,143,.08) 0%, rgba(173,58,113,.08) 100%);
  border-top: 1px solid transparent; /* aligns baseline */
}

/* container uses your global vars */
.fp.why-page .hero .container{
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--pad);
}

/* two-column layout, text heavier than image */
.fp.why-page .grid.grid-2{
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  align-items: center;
  gap: clamp(20px, 3.5vw, 48px);
}

/* left copy */
.fp.why-page .hero .badge{ margin-bottom: 14px; }
.fp.why-page .hero h1{
  font-size: var(--h1);
  line-height: 1.05;
  color: var(--brand);
  margin: 8px 0 14px;
}
.fp.why-page .hero .lede{
  font-size: var(--lede);
  color: var(--ink-700);
  max-width: 60ch;
}

/* === WHY — HERO (no bars, no distortion) ================== 
.fp.why-page .hero .hero-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:0 24px 50px -18px rgba(0,0,0,.25), 0 10px 22px -10px rgba(0,0,0,.18);
  overflow:hidden;

  /* lock the frame to 16:10 so the image can cover it */ 
 /* aspect-ratio:16 / 10;
  max-height:460px;            /* desktop cap */
/*} 

/* Image fills the card; slight crop is okay (no white bands) */
 /*.fp.why-page .hero .hero-img{
  display:block;
  width:100%;
  height:100%;                 /* fill the aspect-ratio frame */
  /*object-fit:cover;            /* no letterboxing, no stretch */
  /*image-rendering:auto;
  backface-visibility:hidden;
  transform:translateZ(0);
} */

/* === WHY — HERO (full image, no cropping) ================== */
.fp.why-page .hero .hero-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:0 24px 50px -18px rgba(0,0,0,.25), 0 10px 22px -10px rgba(0,0,0,.18);
  overflow:hidden;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0;
}

.fp.why-page .hero .hero-img{
  display:block;
  width:100%;
  height:auto;
  max-width:780px;           /* optional cap; tweak if needed */
  object-fit:contain;        /* show whole image */
  margin:0;
}


/* Tablet / mobile caps */
@media (max-width:1100px){
  .fp.why-page .hero .hero-card{ max-height:380px; }
}
@media (max-width:820px){
  .fp.why-page .hero .hero-card{ order:-1; max-height:260px; }
}



/* =============================
   WHY — Our Pillars (FULL REPLACEMENT)
   Clean lift + Gradient Fog (#46) + Colored Border
   ONLY COLOR PALETTE CHANGED (no yellow, one blue)
   ============================= */

.fp.why-page #pillars{ padding-top:12px; }
.fp.why-page #pillars .section-head{ margin:0 0 12px; }
.fp.why-page #pillars h2{ margin:8px 0 6px; }
.fp.why-page #pillars .lead{ margin:0 0 10px; color:var(--ink-700); }

/* 2-col grid on desktop */
.fp.why-page .pillars-grid{
  display:grid; gap:20px;
  grid-template-columns:1fr;
}
@media (min-width:980px){
  .fp.why-page .pillars-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Base card + effects (unchanged) */
.fp.why-page .pillar{
  --bd: color-mix(in srgb, var(--title, #2563eb) 22%, var(--line));
  position:relative;
  background:#fff;
  border:2px solid var(--bd);
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transition:transform .20s ease, box-shadow .20s ease, border-color .20s ease, filter .20s ease, outline-color .20s ease;
  overflow:hidden;
}
.fp.why-page .pillar h3{
  margin:0 0 8px;
  font-size:clamp(18px,2.1vw,22px);
  line-height:1.25;
  font-weight:800;
  color:var(--title, var(--brand-ink));
}
.fp.why-page .pillar p{ margin:0; color:var(--ink-700); }

.fp.why-page .pillar:hover{
  transform:translateY(-4px);
  border-color: color-mix(in srgb, var(--title, #2563eb) 48%, var(--line));
  box-shadow:0 16px 36px rgba(2,6,23,.12);
}


/* Gradient Fog overlay (unchanged) */
.fp.why-page .pillar::after{
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:0; transition:opacity .25s ease;
  background: radial-gradient(700px 340px at 62% -12%,
              color-mix(in srgb, var(--title, #06b6d4) 18%, transparent),
              transparent 72%);
}
.fp.why-page .pillar:hover::after{ opacity:.9; }

.fp.why-page .pillar:focus-within{
  transform:translateY(-3px);
  border-color: color-mix(in srgb, var(--title, #2563eb) 48%, var(--line));
  box-shadow:0 16px 36px rgba(2,6,23,.12);
}
.fp.why-page .pillar:focus-within::after{ opacity:.85; }

/* =============================
   NEW Distinct Pastel/Neon Title Colors (no yellow, one blue)
   Order 1–10 (F, A, Z, I, A[audit], P[proactive], T, P[coord], R, O)
   ============================= */
.fp.why-page .pillars-grid .pillar:nth-child(1)  { --title:#4FC3F7; } /* Sky Blue (only blue) */
.fp.why-page .pillars-grid .pillar:nth-child(2)  { --title:#2EE6A6; } /* Neon Mint */
.fp.why-page .pillars-grid .pillar:nth-child(3)  { --title:#FF8A4B; } /* Tangerine */
.fp.why-page .pillars-grid .pillar:nth-child(4)  { --title:#18E0D6; } /* Aqua Teal */
.fp.why-page .pillars-grid .pillar:nth-child(5)  { --title:#C084FC; } /* Orchid Violet */
.fp.why-page .pillars-grid .pillar:nth-child(6)  { --title:#FF4D8D; } /* Hot Pink */
.fp.why-page .pillars-grid .pillar:nth-child(7)  { --title:#58D26F; } /* Fresh Green */
.fp.why-page .pillars-grid .pillar:nth-child(8)  { --title:#FF6F61; } /* Coral Red */
.fp.why-page .pillars-grid .pillar:nth-child(9)  { --title:#FFA3E0; } /* Lavender Pink */
.fp.why-page .pillars-grid .pillar:nth-child(10) { --title:#F59F9F; } /* Soft Salmon */

/* ==========================================================
   WHAT YOU RECEIVE — STATIC HALO, NO INNER FILL
   Full replacement for this section only
   ========================================================== */

/* Ensure the section background itself doesn't add a wash */
.fp .receive{
  background: none !important;
  padding: 24px 0 8px;
}
.fp .receive .section-head{ margin-bottom: 10px; }
.fp .receive h2{ margin: 8px 0 0; }

/* Grid stays the same */
.fp .receive-cards{
  display:grid; gap:20px; grid-template-columns:1fr;
}
@media (min-width:980px){
  .fp .receive-cards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ---------- CARD (no inside tint) ---------- */
.fp .receive-card{
  position: relative;
  background: #ffffff !important;           /* force white interior */
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px 20px;

  /* Base elevation + OUTER neon halo only (no pseudo-element) */
  box-shadow:
    0 6px 18px rgba(0,0,0,.06),             /* soft elevation */
    0 0 25px 8px var(--halo, rgba(0,0,0,0));/* static halo OUTSIDE */
}

/* Kill any older effects that added fills/bars/overlays */
.fp .receive-card::before,
.fp .receive-card::after{ display:none !important; }

/* Typography aligned with “Our Pillars” */
.fp .receive-card h3{
  margin: 0 0 8px;
  font-size: clamp(18px, 2.1vw, 22px);
  line-height: 1.25;
  font-weight: 800;
  color: var(--rc, var(--brand-ink));
}
.fp .receive-card p{
  margin: 0;
  color: var(--ink-700);
  font-size: clamp(14px, 1.35vw, 18px);
}

/* ---------- Distinct pastel/neo halo palette (no reuse) ---------- */
/* 1) Periwinkle title + lilac halo */
.fp .receive-cards .receive-card:nth-child(1){
  --rc: #5B6CFF;                    /* Periwinkle */
  --halo: rgba(167,139,250,.36);    /* Lilac halo */
}
/* 2) Teal-green title + mint halo (greenish, not blue) */
.fp .receive-cards .receive-card:nth-child(2){
  --rc: #0EA5A4;                    /* Teal-green */
  --halo: rgba(45,212,191,.34);     /* Mint/seafoam halo */
}
/* 3) Orchid/Magenta title + rose halo */
.fp .receive-cards .receive-card:nth-child(3){
  --rc: #A855F7;                    /* Orchid */
  --halo: rgba(236,72,153,.34);     /* Rose/Magenta halo */
}
/* 4) Deep cyan title + sky/cornflower halo (clearly blue) */
.fp .receive-cards .receive-card:nth-child(4){
  --rc: #0369A1;                    /* Deep cyan */
  --halo: rgba(147,197,253,.36);    /* Sky/Cornflower halo */
}

/* =====================================
   CTA — Ready block (Why page)
   ===================================== */
.fp .cta-ready{
  padding: clamp(40px, 7vw, 72px) 0;
  background:
    radial-gradient(900px 300px at 75% 30%, rgba(173,58,113,.06), transparent 60%),
    radial-gradient(900px 320px at 20% 10%, rgba(12,141,143,.05), transparent 60%);
}

/* Layout */
.fp .cta-ready .container{
  display:grid;
  grid-template-columns: 1.2fr auto;
  align-items:end;
  gap: clamp(18px, 5vw, 40px);
}
@media (max-width: 900px){
  .fp .cta-ready .container{
    grid-template-columns: 1fr;
    align-items:flex-start;
  }
}

/* Left block */
.fp .cta-ready .head .pill{
  margin-bottom: 10px;           /* uses global pill/why-pill style */
}
.fp .cta-ready h2{
  margin: 8px 0 10px;
  font-size: clamp(28px, 4.6vw, 44px);
  line-height: 1.15;
  color: var(--brand-ink);
}
.fp .cta-ready .lede{
  margin:0;
  color: var(--ink-700);
  font-size: clamp(16px, 1.5vw, 18px);
}

/* Buttons block (right) */
.fp .cta-ready .actions{
  display:flex; gap:16px; flex-wrap:wrap;
  justify-content:flex-end;
}
@media (max-width: 900px){
  .fp .cta-ready .actions{ justify-content:flex-start; }
}

/* Buttons */
.fp .cta-ready .btn{
  display:inline-block;
  padding: 14px 20px;
  border-radius: 16px;
  font-weight: 800;
  text-decoration: none;
  line-height: 1;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
}
.fp .cta-ready .btn:hover{
  transform: translateY(-2px);
  filter: saturate(1.02);
  box-shadow: 0 14px 30px rgba(0,0,0,.14);
}

/* Primary = brand magenta */
.fp .cta-ready .btn-primary{
  background: var(--brand, #AD3A71);
  color:#fff;
}

/* Outline = WhatsApp/teal family (filled, but lighter) */
.fp .cta-ready .btn-outline{
  background: color-mix(in srgb, var(--teal, #0C8D8F) 85%, #ffffff 15%);
  color:#fff;
}

/* Small screens tighten spacing */
@media (max-width: 480px){
  .fp .cta-ready .btn{ padding: 12px 16px; }
}

/* =====================================
   Global Footer
   ===================================== */
.fp .site-footer{
  border-top: 1px solid var(--line);
  background: var(--paper);
  padding: 18px 0;
}

.fp .site-footer .container{
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.fp .site-footer .copy{
  margin: 0;
  color: var(--ink-700);
  font-size: 15px;
}

.fp .site-footer .footer-links{
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 600;
}

.fp .site-footer .footer-links a{
  color: var(--teal);
  text-decoration: none;
}
.fp .site-footer .footer-links a:hover{
  text-decoration: underline;
}

.fp .site-footer .footer-links .dot{
  color: var(--ink-500);
  user-select: none;
}

/* Small screens: stack nicely */
@media (max-width: 560px){
  .fp .site-footer .container{
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/*====================================================services=======================================*/

/* SERVICES PAGE — small, page-scoped tweaks only */
.fp.services-page .hero{
  /* same family as other pages */
  background: linear-gradient(135deg, rgba(12,141,143,.08) 0%, rgba(173,58,113,.08) 100%);
  padding: clamp(48px, 6vw, 96px) 0;
}

/* slightly smaller hero image than Why */
.fp.services-page .hero .hero-img{
  max-height: 420px;
}

/* keep the card grid breathing a bit more on services */
.fp.services-page #services{ padding: 10px 0 22px; }

/* =============================
   SERVICES — HERO (page-scoped)
   ============================= */
/* ================================
   SERVICES — HERO (FULL REPLACEMENT)
   ================================ */

/* Hero wrapper: same soft gradient and spacing */
.fp.services-page .svc-hero{
  background: linear-gradient(135deg, rgba(12,141,143,.08) 0%, rgba(173,58,113,.08) 100%);
  padding: clamp(48px, 6vw, 96px) 0;
}

/* 2-col layout (give image equal room) */
.fp.services-page .svc-hero .grid.grid-2{
  grid-template-columns: 1fr 1fr;           /* was 1.15fr .85fr */
  align-items: center;
  gap: clamp(20px, 3.5vw, 48px);
}

/* Headline + lede */
.fp.services-page .svc-hero h1{
  margin: 10px 0 12px;
  color: var(--brand, #AD3A71);
  font-size: var(--h1);
  line-height: 1.05;
}
.fp.services-page .svc-hero .lede{
  color: var(--ink-700);
  max-width: 62ch;
}

/* Pill spacing under badge */
.fp.services-page .svc-hero .badge{ margin-bottom: 12px; }

/* -----------------------------
   Tick Pill (EXACT like Why page)
   ----------------------------- */
.fp .badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:999px;
  background:#fff; border:1px solid var(--line);
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  color:var(--brand-ink); font-weight:700;
  position:relative; isolation:isolate;
}
.fp .badge::before{
  content:"✔"; display:inline-block;
  width:18px; height:18px; line-height:18px; text-align:center;
  font-weight:800; font-size:13px;
  color: var(--tick, #7C6CF5);          /* same purple tick as Why page */
  background:#fff;
  border:1px solid #E5E7EB;
  border-radius:999px;
  box-shadow:0 1px 2px rgba(0,0,0,.10);
}
.fp .badge::after{
  content:""; position:absolute; inset:-10px; border-radius:999px;
  background: radial-gradient(30% 50% at 14% 50%, rgba(124,108,245,.20), transparent 60%);
  z-index:-1; pointer-events:none;
}

/* Right-side image card */
.fp.services-page .svc-media{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow: 0 24px 50px -18px rgba(0,0,0,.25), 0 10px 22px -10px rgba(0,0,0,.18);
  overflow:hidden;
}

/* Make the image a little bigger (inside the card) */
.fp.services-page .svc-img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 16/10;
  object-fit: cover;
  max-height: 520px;                  /* larger cap for big screens */
  transform: scale(1.06);             /* subtle up-scale */
  transform-origin: center center;
}

.fp.services-page .svc-fallback{
  min-height:260px;
  display:flex; align-items:center; justify-content:center;
  color:var(--ink-500);
}

/* Responsive adjustments */
@media (max-width: 1100px){
  .fp.services-page .svc-img{
    max-height: 440px;
    transform: scale(1.03);
  }
}
@media (max-width: 820px){
  .fp.services-page .svc-hero .grid.grid-2{ grid-template-columns:1fr; }
  .fp.services-page .svc-media{ order:-1; }          /* image first on mobile */
  .fp.services-page .svc-img{
    max-height: 300px;
    transform: scale(1.0);
  }
}

/* ================================
   SERVICES — CATALOG (MATCHES YOUR HTML)
   Targets: #svc-catalog .cards .card
   Pastel/neo accents + lift hover, no inner fill
   ================================ */

.fp.services-page #svc-catalog{ padding:18px 0; }

.fp.services-page #svc-catalog .section-head{
  margin:0 0 12px;
}
.fp.services-page #svc-catalog h2{ margin:6px 0 2px; }
.fp.services-page #svc-catalog .lede{ color:var(--ink-700); margin:0 0 6px; }

/* Grid */
.fp.services-page #svc-catalog .cards{
  display:grid; gap:18px;
  grid-template-columns:1fr;
}
@media (min-width:980px){
  .fp.services-page #svc-catalog .cards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Card base */
.fp.services-page #svc-catalog .card{
  /* accent and title fallbacks; each card overrides via nth-child below */
  --accent:#7c3aed;
  --title:#0e1b2a;

  position:relative;
  background:#fff;
  border:2px solid color-mix(in srgb, var(--accent) 28%, var(--line));
  border-radius:16px;
  padding:14px 16px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
  overflow:hidden;
  isolation:isolate;   /* for the fog halo */
}

.fp.services-page #svc-catalog .card h3{
  margin:0 0 10px;
  font-weight:800;
  font-size:16px;
  color:var(--title);
}

.fp.services-page #svc-catalog .card ul{
  margin:0 12px 12px 0;
  padding-left:16px;
  color:var(--ink-700);
  font-size:13px;
}

.fp.services-page #svc-catalog .card .btn-quote{
  display:inline-block;
  font-weight:800;
  font-size:12px;
  padding:8px 10px;
  border-radius:10px;
  text-decoration:none;
  color:#fff;
  background:var(--accent);
  box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 28%, transparent);
}

/* Subtle neo fog on hover; no interior fill */
.fp.services-page #svc-catalog .card::after{
  content:"";
  position:absolute; inset:-12px;
  border-radius:18px;
  pointer-events:none;
  z-index:-1;
  background: radial-gradient(600px 260px at 80% -20%,
              color-mix(in srgb, var(--accent) 22%, transparent), transparent 60%);
  opacity:0;
  transition:opacity .18s ease;
}

/* Lift hover */
.fp.services-page #svc-catalog .card:hover{
  transform:translateY(-6px);
  border-color:color-mix(in srgb, var(--accent) 55%, var(--line));
  box-shadow:
    0 18px 40px rgba(2,6,23,.12),
    0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);
  filter:saturate(1.02);
}
.fp.services-page #svc-catalog .card:hover::after{
  opacity:.9;
}


/* Keyboard focus */
.fp.services-page #svc-catalog .card:focus-within{
  transform:translateY(-4px);
  border-color:color-mix(in srgb, var(--accent) 55%, var(--line));
  box-shadow:
    0 16px 36px rgba(2,6,23,.12),
    0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);
}
.fp.services-page #svc-catalog .card:focus-within::after{ opacity:.85; }

/* Pastel/neo accents per card (1–8) — readable, not dark */
.fp.services-page #svc-catalog .cards .card:nth-child(1){ --accent:#60A5FA; --title:#1E40AF; } /* soft blue */
.fp.services-page #svc-catalog .cards .card:nth-child(2){ --accent:#34D399; --title:#065F46; } /* mint green */
.fp.services-page #svc-catalog .cards .card:nth-child(3){ --accent:#A78BFA; --title:#4C1D95; } /* orchid */
.fp.services-page #svc-catalog .cards .card:nth-child(4){ --accent:#F472B6; --title:#9D174D; } /* rose pink */
.fp.services-page #svc-catalog .cards .card:nth-child(5){ --accent:#22D3EE; --title:#0C4A6E; } /* aqua cyan */
.fp.services-page #svc-catalog .cards .card:nth-child(6){ --accent:#FB923C; --title:#7C2D12; } /* tangerine */
.fp.services-page #svc-catalog .cards .card:nth-child(7){ --accent:#4ADE80; --title:#166534; } /* fresh green */
.fp.services-page #svc-catalog .cards .card:nth-child(8){ --accent:#38BDF8; --title:#0B3C69; } /* sky cyan */

/* Unify "Get a Quote" buttons across all service cards */
.fp.services-page #svc-catalog .card .btn-quote{
  --quote: #AD3A71;                 /* FazilatPro brand magenta */
  background: var(--quote) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--quote) 28%, transparent);
  border: 0;
}

.fp.services-page #svc-catalog .card .btn-quote:hover{
  filter: saturate(1.05);
  transform: translateY(-1px);
  box-shadow: 0 12px 24px color-mix(in srgb, var(--quote) 34%, transparent);
}

.fp.services-page #svc-catalog .card .btn-quote:focus-visible{
  outline: 2px solid color-mix(in srgb, var(--quote) 60%, white);
  outline-offset: 2px;
}

/*====================================================contact page==========================================*/
/* ==========================================================
   CONTACT — page-scoped stylesheet (FULL REPLACEMENT)
   Uses global tokens from style.final.css (Inter/Montserrat,
   --brand, --teal, --ink-*, --line, --maxw, --pad, etc.)
   ========================================================== */

/* --------------------
   Hero
   -------------------- */
.fp.contact-page .contact-hero{
  background: linear-gradient(135deg, rgba(12,141,143,.08) 0%, rgba(173,58,113,.08) 100%);
  padding: clamp(48px, 6vw, 96px) 0;
}

.fp.contact-page .contact-hero .grid.grid-2{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
  gap: clamp(20px, 3.5vw, 48px);
}

.fp.contact-page .contact-hero h1{
  margin: 10px 0 12px;
  color: var(--brand);
  font-size: var(--h1);
  line-height: 1.05;
}

.fp.contact-page .contact-hero .lede{
  color: var(--ink-700);
  max-width: 62ch;
}

.fp.contact-page .contact-hero .hero-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow: 0 24px 50px -18px rgba(0,0,0,.25), 0 10px 22px -10px rgba(0,0,0,.18);
  overflow:hidden;
}
.fp.contact-page .contact-hero .hero-img{
  display:block; width:100%;
  aspect-ratio: 16/10; object-fit: cover;
  max-height: 500px;
}
.fp.contact-page .contact-hero .hero-figure{
  min-height: 260px; display:flex; align-items:center; justify-content:center;
  color: var(--ink-500);
}

/* --------------------
   Form + Right panel
   -------------------- */
.fp.contact-page .contact-wrap{
  padding: clamp(36px, 6vw, 72px) 0;
}

.fp.contact-page .contact-wrap .grid.grid-2{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: start;
  gap: clamp(18px, 4vw, 36px);
}

/* Card shell */
.fp.contact-page .card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding: clamp(16px, 2vw, 22px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

/* Form */
.fp.contact-page form.form h2{
  margin: 0 0 10px;
  font-size: clamp(22px, 2.8vw, 28px);
  color: var(--brand-ink);
}

.fp.contact-page form.form .row{ margin-bottom: 12px; }
.fp.contact-page form.form .row.two{
  display:grid; grid-template-columns: 1fr 1fr; gap: 12px;
}

.fp.contact-page label{
  display:block; font-weight:600; margin-bottom:6px; color: var(--ink-900);
}

.fp.contact-page input[type="text"],
.fp.contact-page input[type="email"],
.fp.contact-page input[type="tel"],
.fp.contact-page select,
.fp.contact-page textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px;
  font:inherit;
  color:var(--ink-900);
  background:#fff;
}

.fp.contact-page textarea{ resize: vertical; min-height: 140px; }

.fp.contact-page .actions{
  display:flex; gap:12px; margin-top: 6px; flex-wrap:wrap;
}

.fp.contact-page .btn{
  display:inline-block; padding: 12px 18px; border-radius: 14px;
  font-weight:800; text-decoration:none; line-height:1;
  box-shadow:0 10px 24px rgba(0,0,0,.10);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
}
.fp.contact-page .btn:hover{
  transform: translateY(-2px);
  filter:saturate(1.02);
  box-shadow:0 14px 30px rgba(0,0,0,.14);
}
.fp.contact-page .btn-primary{ background: var(--brand); color:#fff; border:0; }
.fp.contact-page .btn-outline{ background: color-mix(in srgb, var(--teal) 85%, #fff 15%); color:#fff; border:0; }
.fp.contact-page .tiny{ margin-top:8px; color:var(--ink-500); font-size: 12.5px; }

/* ============================================
   TALK CARD (replaces old .info/map panel)
   ============================================ */
.fp.contact-page .talk-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding: clamp(16px, 2vw, 22px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

.fp.contact-page .talk-card h3{
  margin: 0 0 12px;
  font-size: clamp(22px, 2.8vw, 28px);
  color: var(--brand-ink);
}

.fp.contact-page .talk-item{
  display:flex; align-items:center; gap:12px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  text-decoration:none;
  color:var(--ink-900);
  box-shadow: 0 4px 10px rgba(0,0,0,.04);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  margin-bottom:10px;
}
.fp.contact-page .talk-item:hover{
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--teal) 35%, var(--line));
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
}
.fp.contact-page .talk-item .txt strong{ font-weight:800; }

/* --- ICONS: text-only (no circular background) --- */
.fp.contact-page .talk-item .ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:auto; height:auto; margin-right:2px;
  background:none; border-radius:0; box-shadow:none;
  font-size:18px; font-weight:900; line-height:1;
  color:inherit;      /* specific colors set below */
}

/* Color hints per channel */
.fp.contact-page .talk-item .ico.call{ color:#0EA5A4; }   /* teal */
.fp.contact-page .talk-item .ico.wa  { color:#25D366; }   /* WhatsApp green */
.fp.contact-page .talk-item .ico.mail{ color:#7C6CF5; }   /* violet */

/* Symbols (can be replaced with SVG later) */
.fp.contact-page .talk-item .ico.call::before{ content:"📞"; }
.fp.contact-page .talk-item .ico.wa::before  { content:"💬"; }
.fp.contact-page .talk-item .ico.mail::before{ content:"✉"; }

.fp.contact-page .tip{
  margin-top:12px;
  padding:12px 14px;
  border:1px dashed var(--line);
  border-radius:12px;
  background: #fafcff;
  color: var(--ink-700);
  font-size: 14px;
}

/* --------------------
   Responsive
   -------------------- */
@media (max-width: 900px){
  .fp.contact-page .contact-hero .grid.grid-2,
  .fp.contact-page .contact-wrap .grid.grid-2{
    grid-template-columns:1fr;
  }
  .fp.contact-page .contact-hero .hero-card{ order:-1; }
  .fp.contact-page form.form .row.two{ grid-template-columns: 1fr; }
}

/*============================================================Overriding=====================================*/

/* HOME — hero title uses brand magenta */
.fp.home-page .hero h1{ color: var(--brand); }

.fp.about-page .hero h1 { color: var(--brand); }

.fp.about-page .hero h1 { color: var(--brand) !important; }

/* ABOUT — make WhatsApp CTAs teal (match Why page) */
.fp.about-page a.btn[href*="wa.me"]{
  background: color-mix(in srgb, var(--teal) 85%, #fff 15%) !important;
  color:#fff !important;
  border:0;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
}
.fp.about-page a.btn[href*="wa.me"]:hover{
  filter:saturate(1.02);
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,0,0,.14);
}

/* =========================================================
   HERO BACKGROUND — bg-yellow-1 (softened version)
   ========================================================= */
.fp section.hero,
.fp.why-page .hero,
.fp.services-page .svc-hero,
.fp.contact-page .contact-hero{
  background:
    radial-gradient(1100px 480px at 72% -12%, rgba(250,204,21,.22), transparent 70%),
    radial-gradient(800px 320px at 10% 100%, rgba(245,158,11,.12), transparent 66%),
    #fff !important;
}

/* =========================
   CTAs — unified pink background
   Targets: #contact-cta (Home/About/Services/Contact) and .cta-ready (Why)
   ========================= */
.fp #contact-cta,
.fp .cta-ready{
  /* soft brand-pink wash */
  --cta-p1: rgba(173,58,113,0.12);  /* brand */
  --cta-p2: rgba(173,58,113,0.06);
  --cta-p3: rgba(255,255,255,0.90);

  background:
    radial-gradient(60% 120% at 15% 10%, var(--cta-p1), transparent 60%),
    radial-gradient(70% 120% at 85% 0%,  var(--cta-p2), transparent 60%),
    linear-gradient(180deg, var(--cta-p3), #fff);
  padding: clamp(28px, 5vw, 56px) 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

/* Keep typography readable on the pink wash */
.fp #contact-cta h2,
.fp .cta-ready h2{ color: var(--brand-ink); }

.fp #contact-cta p,
.fp .cta-ready p{ color: var(--ink-700); }

/* Layout harmony inside CTA heads */
.fp #contact-cta .section-head,
.fp .cta-ready .head{
  display:flex; align-items:center; justify-content:space-between;
  gap: 24px; flex-wrap: wrap;
}

/* Ensure action buttons sit nicely */
.fp #contact-cta .section-head > div:last-child,
.fp .cta-ready .actions{
  display:flex; gap:12px; flex-wrap:wrap;
}

/* Optional: give WhatsApp alt button a teal treatment if present */
.fp .btn.btn-alt{ background: var(--teal); color:#fff; }

/* ===== Normalize spacing before footer (CTA as last section) ===== */
.fp main { padding-bottom: 0; }                 /* no extra padding from the page shell */
.fp main > section:last-of-type {
  margin-bottom: 0;                             /* kill stray section gap */
  padding-bottom: clamp(16px, 2.5vw, 28px);     /* modest breathing room only */
  border-bottom: 0;
}

/* CTA blocks: ensure they don't push a gap */
.fp #contact-cta,
.fp .cta-ready {
  margin-bottom: 0 !important;
  padding-bottom: clamp(16px, 2.5vw, 28px);
  box-shadow: none;                             /* in case a soft shadow was adding depth */
}

/* Footer should sit flush with previous section */
.fp footer { margin-top: 0; }

/* =========================================
   FazilatPro — Contact Form (scoped)
   ========================================= */
.fp .contact-form-block .wrap { max-width: var(--maxw, 1100px); margin: 0 auto; }
.fp .contact-form-block .h2 { color: var(--brand-ink, #0E1B2A); margin-bottom: clamp(8px, 1.5vw, 12px); }
.fp .contact-form-block .lede { color: var(--ink-700, #415066); margin-bottom: clamp(16px, 2vw, 20px); }

.fp .fp-form .grid { display:grid; gap: clamp(12px, 2vw, 20px); grid-template-columns: repeat(2,minmax(0,1fr)); }
@media (max-width:800px){ .fp .fp-form .grid{ grid-template-columns:1fr; } }

.fp .fp-form .field { display:flex; flex-direction:column; gap:6px; }
.fp .fp-form label { font-weight:600; color:var(--brand-ink, #0E1B2A); }
.fp .fp-form input,
.fp .fp-form select,
.fp .fp-form textarea {
  width:100%;
  padding:12px 14px;
  border:1px solid var(--line, #E5E7EB);
  border-radius:8px;
  background:var(--paper, #fff);
  color:var(--ink-900, #0E1B2A);
  line-height:1.5;
  outline:none;
}
.fp .fp-form input:focus,
.fp .fp-form select:focus,
.fp .fp-form textarea:focus {
  border-color:var(--teal, #0C8D8F);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--teal, #0C8D8F) 25%, transparent);
}

.fp .fp-form .microcopy { color:var(--ink-500,#6B7280); font-size:.9rem; margin-top:8px; }
.fp .fp-form .actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:clamp(12px,2vw,16px); }
.fp .fp-form .btn { padding:12px 18px; border-radius:999px; border:1px solid transparent; background:var(--brand,#AD3A71); color:#fff; cursor:pointer; text-decoration:none; }
.fp .fp-form .btn:hover { filter:brightness(1.05); }
.fp .fp-form .btn:disabled { opacity:.6; cursor:not-allowed; }
.fp .fp-form .btn-quiet { background:transparent; border-color:var(--ink-500,#6B7280); color:var(--brand-ink,#0E1B2A); }

.fp .contact-form-block .status { margin-bottom:clamp(12px,2vw,16px); padding:10px 12px; border-radius:10px; background:var(--paper-2,#F7FAFC); border:1px solid var(--line,#E5E7EB);}
.fp .contact-form-block .status.ok { border-color:#16a34a; }
.fp .contact-form-block .status.bad { border-color:#b00020; }

.fp .fp-form .hp { position:absolute !important; left:-9999px !important; opacity:0 !important; width:1px; height:1px; }

.fp.contact-page .form-status{
  margin-top: 10px;
  font-size: 0.9rem;
}

.fp.contact-page .form-status.success{
  color: var(--teal);
}

.fp.contact-page .form-status.error{
  color: #B91C1C; /* soft red error */
}

.fp.contact-page .form-status.pending{
  color: var(--ink-700);
}

/* ============================
   Center popup status overlay
   ============================ */
.fp.contact-page #form-status{
  position: fixed;
  inset: 0;
  z-index: 9999;
  
  width: 100vw;
  height: 100vh;


  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(15, 23, 42, 0.25); /* light dim */
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.25s ease-out,
    visibility 0s linear 0.25s;
}

.fp.contact-page #form-status.is-visible{
  opacity: 1;
  visibility: visible;
  transition:
    opacity 0.25s ease-out,
    visibility 0s linear 0s;
}

/* Base popup pill (neutral / "Sending your request…") */
.fp.contact-page .form-status__box{
  background: #ffffff;
  color: var(--ink-900, #0E1B2A);
  padding: 16px 32px;
  border-radius: 999px; /* pill */
  max-width: 420px;
  width: min(92vw, 420px);
  text-align: center;
  font-family: var(--body, "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;

  border: 1px solid rgba(148,163,184,0.4);
  box-shadow:
    0 18px 55px rgba(15, 23, 42, 0.28),
    0 0 0 1px rgba(255,255,255,0.7);

  transform: translateY(14px);
  transition:
    transform 0.25s ease-out,
    background 0.2s ease-out,
    color 0.2s ease-out,
    border-color 0.2s ease-out;
}

/* slide-up when visible */
.fp.contact-page #form-status.is-visible .form-status__box{
  transform: translateY(0);
}

/* SUCCESS: soft green pill */
.fp.contact-page .form-status__box[data-state="success"]{
  background: #ecfdf5;   /* very light green */
  color: #166534;        /* deep green text */
  border-color: #bbf7d0; /* soft green border */
}

/* ERROR: soft red pill */
.fp.contact-page .form-status__box[data-state="error"]{
  background: #fef2f2;        /* very light red */
  color: #b91c1c;             /* deep red text */
  border-color: #fecaca;      /* soft red border */
}


/* Small screens tweak */
@media (max-width: 480px){
  .fp.contact-page .form-status__box{
    font-size: 0.95rem;
    padding: 14px 20px;
  }
}

