@font-face {
  font-family: "Manrope";
  src: url("manrope-latin-ext-v1.2.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 200 800;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Manrope";
  src: url("manrope-latin-v1.2.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 200 800;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --navy-950: #061d35;
  --navy-900: #082844;
  --blue-700: #0b5eb4;
  --blue-600: #1472cf;
  --blue-100: #e6f1fb;
  --lime: #d5e84d;
  --gold: #f2c94c;
  --cream: #fbfaf4;
  --ink: #10263d;
  --muted: #607286;
  --line: #dce6ef;
  --white: #ffffff;
  --font-manrope: "Manrope";
  --font-sans: var(--font-manrope), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.demo-banner {
  padding: 8px 16px;
  background: #f4ce4e;
  color: #332800;
  text-align: center;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .025em;
}

.demo-success {
  border-color: #b9dbc7;
  background: #eefaf2;
  color: #175b38;
}

* { box-sizing: border-box; }

/* Keep JavaScript-controlled UI closed until the user explicitly opens it. */
[hidden] { display: none !important; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}

button, input, select { font: inherit; }

a { color: inherit; text-decoration: none; }

.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.official-bar { background: var(--navy-950); color: #dbeafd; font-size: .78rem; }

.official-bar-inner {
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.official-bar p { margin: 0; display: flex; align-items: center; gap: 8px; }
.official-bar p svg { color: var(--lime); }
.official-bar span { color: white; font-weight: 800; letter-spacing: .035em; }

.site-header {
  position: sticky;
  z-index: 40;
  top: 0;
  background: rgba(251, 250, 244, .91);
  border-bottom: 1px solid rgba(12, 53, 89, .09);
  backdrop-filter: blur(18px);
}

.nav-wrap { min-height: 82px; display: flex; align-items: center; gap: 34px; }

.brand { display: inline-flex; align-items: center; gap: 12px; margin-right: auto; }

.brand-seal {
  width: 48px;
  height: 48px;
  border: 1px solid #c9ddeb;
  border-radius: 50%;
  overflow: hidden;
  background: white;
  box-shadow: 0 7px 20px rgba(8, 40, 68, .11);
  flex: 0 0 auto;
}

.brand-seal img { width: 100%; height: 100%; object-fit: cover; }
.brand-copy { display: grid; line-height: 1.2; }
.brand-copy strong { font-size: .97rem; letter-spacing: -.02em; color: var(--navy-950); }
.brand-copy small { color: var(--muted); font-size: .7rem; margin-top: 4px; }

.desktop-nav { display: flex; align-items: center; gap: 29px; font-size: .84rem; font-weight: 750; color: #445c72; }
.desktop-nav a { transition: color .2s ease; }
.desktop-nav a:hover, .desktop-nav a:focus-visible { color: var(--blue-700); }

.nav-cta, .primary-button, .secondary-button, .calculate-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 13px;
  font-weight: 800;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.nav-cta { padding: 13px 18px; background: var(--navy-950); color: white; font-size: .82rem; }
.nav-cta:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(6, 29, 53, .22); }
.menu-button { display: none; border: 0; background: transparent; color: var(--navy-950); padding: 8px; }
.mobile-nav { display: none; }

.hero {
  position: relative;
  min-height: calc(100vh - 118px);
  overflow: hidden;
  background:
    linear-gradient(112deg, rgba(251,250,244,.98) 0%, rgba(246,250,248,.96) 52%, rgba(226,240,249,.88) 100%);
}

.hero-pattern {
  position: absolute;
  inset: 0;
  opacity: .24;
  background-image:
    linear-gradient(30deg, #8db5d3 12%, transparent 12.5%, transparent 87%, #8db5d3 87.5%, #8db5d3),
    linear-gradient(150deg, #8db5d3 12%, transparent 12.5%, transparent 87%, #8db5d3 87.5%, #8db5d3),
    linear-gradient(30deg, #8db5d3 12%, transparent 12.5%, transparent 87%, #8db5d3 87.5%, #8db5d3),
    linear-gradient(150deg, #8db5d3 12%, transparent 12.5%, transparent 87%, #8db5d3 87.5%, #8db5d3),
    linear-gradient(60deg, rgba(141,181,211,.6) 25%, transparent 25.5%, transparent 75%, rgba(141,181,211,.6) 75%);
  background-size: 72px 126px;
  background-position: 0 0, 0 0, 36px 63px, 36px 63px, 0 0;
  mask-image: linear-gradient(to right, transparent 0%, transparent 47%, black 100%);
}

.hero-orb { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.hero-orb-one { width: 520px; height: 520px; right: -210px; top: -210px; background: rgba(45, 134, 205, .12); }
.hero-orb-two { width: 260px; height: 260px; left: -120px; bottom: -140px; background: rgba(213, 232, 77, .14); }

.hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1.02fr .82fr;
  align-items: center;
  gap: clamp(60px, 8vw, 112px);
  min-height: calc(100vh - 118px);
  padding-top: 66px;
  padding-bottom: 72px;
}

.hero-copy { max-width: 680px; }
.eyebrow {
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #c9ddec;
  border-radius: 999px;
  padding: 8px 12px;
  color: var(--blue-700);
  background: rgba(255,255,255,.65);
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.eyebrow svg { color: #88a716; }
.hero h1 { margin: 25px 0 20px; color: var(--navy-950); font-size: clamp(3.25rem, 5.45vw, 5.4rem); line-height: .98; letter-spacing: -.06em; font-weight: 850; }
.hero h1 span { display: block; color: var(--blue-700); }
.hero-lead { max-width: 625px; margin: 0; color: #4f6477; font-size: clamp(1rem, 1.4vw, 1.15rem); line-height: 1.75; }

.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; margin-top: 31px; }
.primary-button { padding: 16px 21px; background: var(--blue-700); color: white; box-shadow: 0 13px 28px rgba(11, 94, 180, .22); }
.primary-button:hover { transform: translateY(-2px); background: #084e98; box-shadow: 0 16px 34px rgba(11, 94, 180, .3); }
.secondary-button { padding: 15px 20px; background: rgba(255,255,255,.72); color: var(--navy-950); border: 1px solid #cddce7; }
.secondary-button:hover { transform: translateY(-2px); background: white; }

.trust-row { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; margin-top: 45px; }
.trust-row > div { display: flex; align-items: center; gap: 10px; }
.trust-row > div + div { border-left: 1px solid #d3dfe8; padding-left: 25px; }
.trust-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: white; color: var(--blue-700); box-shadow: 0 6px 20px rgba(8, 40, 68, .08); }
.trust-row p { display: grid; margin: 0; line-height: 1.2; }
.trust-row strong { font-size: .76rem; color: var(--navy-950); }
.trust-row small { margin-top: 4px; color: #718295; font-size: .68rem; }

.calculator-wrap { position: relative; }
.calculator-glow { position: absolute; inset: 10% 4% -6%; border-radius: 38px; background: var(--blue-600); opacity: .16; filter: blur(45px); }
.calculator-card {
  position: relative;
  padding: 31px;
  border: 1px solid rgba(255,255,255,.87);
  border-radius: 27px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 28px 75px rgba(8, 40, 68, .16), inset 0 1px 0 white;
  backdrop-filter: blur(18px);
}

.calculator-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 25px; }
.calculator-heading > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; background: var(--navy-950); color: var(--lime); }
.calculator-heading p { margin: 0 0 3px; color: var(--blue-700); font-size: .69rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.calculator-heading h2 { margin: 0; color: var(--navy-950); font-size: 1.22rem; letter-spacing: -.025em; }

.field-label { display: block; margin-bottom: 8px; color: #2e485f; font-size: .75rem; font-weight: 800; }
.select-wrap { position: relative; }
.select-wrap select { width: 100%; appearance: none; border: 1px solid var(--line); border-radius: 12px; background: #fbfdff; color: var(--navy-950); padding: 13px 42px 13px 14px; outline: none; font-weight: 750; }
.select-wrap svg { position: absolute; top: 50%; right: 14px; transform: translateY(-50%); color: var(--blue-700); pointer-events: none; }
.select-wrap select:focus, .money-input:focus-within { border-color: var(--blue-600); box-shadow: 0 0 0 4px rgba(20,114,207,.11); }
.field-hint { margin: 6px 0 17px; color: #7a8a99; font-size: .68rem; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.field-grid label { min-width: 0; }
.money-input { display: flex; align-items: center; border: 1px solid var(--line); border-radius: 12px; background: #fbfdff; overflow: hidden; transition: border .2s, box-shadow .2s; }
.money-input b { padding-left: 13px; color: var(--blue-700); font-size: .71rem; }
.money-input input { width: 100%; min-width: 0; padding: 13px 12px 13px 7px; border: 0; outline: 0; background: transparent; color: var(--navy-950); font-weight: 800; }

.calculate-button { width: 100%; margin-top: 17px; padding: 14px; border: 0; background: var(--navy-950); color: white; cursor: pointer; }
.calculate-button:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(6,29,53,.2); }
.calculator-result { display: flex; align-items: center; justify-content: space-between; min-height: 86px; max-height: 0; opacity: 0; margin-top: 0; padding: 0 19px; overflow: hidden; border-radius: 15px; background: linear-gradient(125deg, #e8f6ff, #f3f9e7); transition: max-height .3s ease, opacity .3s ease, margin .3s ease; outline: none; }
.calculator-result.is-visible { max-height: 100px; opacity: 1; margin-top: 14px; }
.calculator-result p { margin: 0 0 3px; color: #617486; font-size: .7rem; }
.calculator-result strong { color: var(--navy-950); font-size: 1.45rem; letter-spacing: -.03em; }
.result-check { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: var(--lime); color: var(--navy-950); }
.calculator-note { margin: 14px 1px 0; color: #7a8998; font-size: .63rem; line-height: 1.55; }

@media (max-width: 1050px) {
  .desktop-nav { display: none; }
  .hero-grid { grid-template-columns: 1fr .84fr; gap: 42px; }
  .hero h1 { font-size: clamp(3.1rem, 6vw, 4.4rem); }
  .trust-row { gap: 15px; }
  .trust-row > div + div { padding-left: 15px; }
}

@media (max-width: 820px) {
  .official-bar-inner { justify-content: center; text-align: center; }
  .official-bar-inner > span { display: none; }
  .nav-wrap { min-height: 72px; }
  .desktop-cta { display: none; }
  .menu-button { display: grid; place-items: center; }
  .mobile-nav { display: grid; gap: 2px; padding: 8px 20px 20px; border-top: 1px solid #e2e9ef; background: var(--cream); }
  .mobile-nav a { padding: 13px 12px; border-radius: 10px; font-weight: 750; font-size: .93rem; }
  .mobile-nav-cta { margin-top: 5px; background: var(--blue-700); color: white; text-align: center; }
  .hero-grid { grid-template-columns: 1fr; gap: 48px; padding-top: 60px; }
  .hero-copy { text-align: center; margin-inline: auto; }
  .eyebrow, .hero-actions { margin-left: auto; margin-right: auto; }
  .hero-actions, .trust-row { justify-content: center; }
  .calculator-wrap { width: min(560px, 100%); margin-inline: auto; }
  .hero-pattern { mask-image: linear-gradient(to bottom, transparent 0%, transparent 45%, black 100%); }
}

@media (max-width: 560px) {
  .shell { width: min(100% - 28px, 1180px); }
  .official-bar { font-size: .66rem; }
  .official-bar-inner { min-height: 40px; }
  .brand-seal { width: 42px; height: 42px; }
  .brand-copy strong { font-size: .84rem; }
  .brand-copy small { font-size: .61rem; }
  .hero-grid { padding-top: 46px; padding-bottom: 50px; }
  .hero h1 { margin-top: 21px; font-size: clamp(2.7rem, 13vw, 3.6rem); }
  .hero-lead { font-size: .96rem; line-height: 1.68; }
  .hero-actions { display: grid; }
  .primary-button, .secondary-button { width: 100%; min-height: 52px; }
  .trust-row { display: grid; grid-template-columns: 1fr 1fr; text-align: left; }
  .trust-row > div + div { border-left: 0; padding-left: 0; }
  .trust-row > div:last-child { grid-column: 1 / -1; width: fit-content; margin-inline: auto; }
  .calculator-card { padding: 23px 19px; border-radius: 23px; }
  .field-grid { grid-template-columns: 1fr; }
  .calculator-heading h2 { font-size: 1.13rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Complete experience */
.payment-trigger {
  width: 100%;
  min-height: 47px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
  border: 1px solid #b9d0e3;
  border-radius: 12px;
  background: white;
  color: var(--blue-700);
  font-weight: 850;
  cursor: pointer;
  transition: .2s ease;
}

.payment-trigger:hover { border-color: var(--blue-700); background: #f3f9ff; transform: translateY(-1px); }
.section { padding: 108px 0; }
.section-heading { margin-bottom: 46px; }
.section-kicker { display: inline-block; margin-bottom: 13px; color: var(--blue-700); font-size: .76rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.section-heading h2, .trust-copy h2, .certificate-copy h2, .faq-intro h2 { margin: 0; color: var(--navy-950); font-size: clamp(2.25rem, 4vw, 3.65rem); line-height: 1.08; letter-spacing: -.052em; }
.heading-row { display: grid; grid-template-columns: 1.2fr .68fr; align-items: end; gap: 60px; }
.heading-row > p { max-width: 500px; margin: 0 0 5px; color: var(--muted); line-height: 1.75; }
.types-section { background: #fff; }
.zakat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.zakat-card { position: relative; min-height: 258px; display: flex; flex-direction: column; padding: 23px; border: 1px solid #e0e8ef; border-radius: 20px; background: #fbfcfc; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, border .25s ease; }
.zakat-card::after { content: ""; position: absolute; width: 130px; height: 130px; right: -68px; bottom: -74px; border-radius: 50%; background: rgba(20,114,207,.08); transition: transform .25s ease; }
.zakat-card:hover { transform: translateY(-5px); border-color: #bdd5e8; background: white; box-shadow: 0 18px 42px rgba(7,43,73,.10); }
.zakat-card:hover::after { transform: scale(1.2); }
.zakat-card-top { display: flex; align-items: flex-start; justify-content: space-between; }
.zakat-icon { width: 47px; height: 47px; display: grid; place-items: center; border-radius: 14px; }
.zakat-icon-1 { background: #e0f0ff; color: #0867bf; }
.zakat-icon-2 { background: #eef4cf; color: #6f8209; }
.zakat-icon-3 { background: #fff0cf; color: #9d6500; }
.zakat-icon-4 { background: #e8e4fa; color: #6550a6; }
.card-number { color: #b0bdc8; font-size: .7rem; font-weight: 900; letter-spacing: .08em; }
.zakat-card h3 { margin: 25px 0 9px; color: var(--navy-950); font-size: 1.05rem; letter-spacing: -.025em; }
.zakat-card p { margin: 0; color: var(--muted); font-size: .81rem; line-height: 1.65; }
.zakat-card button { position: relative; z-index: 1; width: fit-content; display: inline-flex; align-items: center; gap: 3px; margin-top: auto; padding: 18px 0 0; border: 0; background: transparent; color: var(--blue-700); font-size: .78rem; font-weight: 850; cursor: pointer; }
.zakat-card button:hover svg { transform: translateX(3px); }
.zakat-card button svg { transition: transform .2s ease; }

.trust-section { background: var(--cream); }
.trust-layout { display: grid; grid-template-columns: .85fr 1fr; align-items: center; gap: clamp(60px, 9vw, 125px); }
.appointment-visual { position: relative; max-width: 480px; padding: 0 36px 37px 0; }
.appointment-visual::before { content: ""; position: absolute; inset: 28px 3px 0 39px; border-radius: 30px; background: #dcecf5; transform: rotate(3deg); }
.appointment-photo { position: relative; aspect-ratio: .73; min-height: 565px; overflow: hidden; border-radius: 28px; background: #e8eef1; box-shadow: 0 26px 60px rgba(6,29,53,.15); }
.appointment-photo img { object-fit: cover; }
.verified-card, .code-card { position: absolute; z-index: 2; display: flex; align-items: center; border: 1px solid rgba(255,255,255,.8); border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: 0 18px 40px rgba(6,29,53,.16); backdrop-filter: blur(16px); }
.verified-card { right: -20px; bottom: 84px; gap: 11px; padding: 14px 17px; }
.verified-card > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: #e9f6d8; color: #6e8907; }
.verified-card div, .code-card { line-height: 1.25; }
.verified-card small, .code-card small { display: block; color: #758495; font-size: .64rem; }
.verified-card strong, .code-card strong { display: block; margin-top: 3px; color: var(--navy-950); font-size: .77rem; }
.code-card { left: -31px; top: 55px; display: block; padding: 14px 17px; }
.section-intro { margin: 22px 0 0; color: var(--muted); line-height: 1.8; font-size: .96rem; }
.benefit-list { display: grid; gap: 18px; margin-top: 31px; }
.benefit-list > div { display: flex; align-items: flex-start; gap: 14px; }
.benefit-list > div > span { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: white; color: var(--blue-700); box-shadow: 0 7px 24px rgba(8,40,68,.08); }
.benefit-list p { display: grid; margin: 1px 0 0; }
.benefit-list strong { color: var(--navy-950); font-size: .88rem; }
.benefit-list small { margin-top: 5px; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.text-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 30px; padding-bottom: 4px; border-bottom: 1px solid #99bad5; color: var(--blue-700); font-size: .8rem; font-weight: 850; }

.process-section { background: #fff; }
.centered-heading { max-width: 690px; margin-left: auto; margin-right: auto; text-align: center; }
.centered-heading p { margin: 18px 0 0; color: var(--muted); line-height: 1.7; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #dfe8ef; border-radius: 23px; background: #f9fbfc; }
.process-card { position: relative; min-height: 270px; padding: 27px; }
.process-card + .process-card { border-left: 1px solid #dfe8ef; }
.process-step { display: block; color: #aab7c2; font-size: .67rem; font-weight: 900; letter-spacing: .13em; }
.process-icon { width: 51px; height: 51px; display: grid; place-items: center; margin-top: 30px; border-radius: 15px; background: var(--navy-950); color: var(--lime); }
.process-card h3 { margin: 22px 0 8px; color: var(--navy-950); font-size: .96rem; }
.process-card p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.65; }
.process-arrow { position: absolute; z-index: 2; top: 50%; right: -15px; width: 29px; height: 29px; padding: 6px; border: 1px solid #dfe8ef; border-radius: 50%; background: white; color: var(--blue-700); transform: translateY(-50%); }

.impact-section { padding: 0 0 108px; background: #fff; }
.impact-panel { position: relative; display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 70px; padding: 73px; border-radius: 32px; overflow: hidden; color: white; background: var(--navy-950); }
.impact-panel::before { content: ""; position: absolute; width: 430px; height: 430px; top: -260px; right: 19%; border: 1px solid rgba(213,232,77,.23); border-radius: 50%; box-shadow: 0 0 0 80px rgba(213,232,77,.03), 0 0 0 160px rgba(20,114,207,.035); }
.impact-heading, .impact-cards { position: relative; }
.impact-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--lime); font-size: .73rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.impact-heading h2 { margin: 20px 0; color: white; font-size: clamp(2.4rem, 4.4vw, 4.4rem); line-height: 1; letter-spacing: -.055em; }
.impact-heading h2 span { color: #98c9ee; }
.impact-heading p { max-width: 590px; margin: 0; color: #a9bed0; font-size: .88rem; line-height: 1.75; }
.impact-cards { display: grid; gap: 11px; }
.impact-cards article { display: flex; align-items: center; gap: 16px; padding: 17px 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.055); }
.impact-cards article > span { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; background: rgba(213,232,77,.13); color: var(--lime); }
.impact-cards strong { font-size: .84rem; }
.impact-cards p { margin: 4px 0 0; color: #9eb4c6; font-size: .69rem; line-height: 1.5; }

.certificate-section { background: #edf5f9; }
.certificate-layout { display: grid; grid-template-columns: .78fr 1fr; align-items: center; gap: clamp(55px, 8vw, 105px); }
.certificate-copy > p { margin: 22px 0 0; color: var(--muted); line-height: 1.8; }
.certificate-facts { display: grid; margin-top: 29px; border-top: 1px solid #cfdee9; }
.certificate-facts div { display: grid; grid-template-columns: .65fr 1fr; gap: 18px; padding: 14px 0; border-bottom: 1px solid #cfdee9; }
.certificate-facts small { color: #708191; font-size: .7rem; }
.certificate-facts strong { color: var(--navy-950); font-size: .76rem; }
.certificate-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.certificate-actions .primary-button, .certificate-actions .secondary-button { font-size: .78rem; }
.certificate-frame { position: relative; aspect-ratio: 1.43; display: block; padding: 16px; border: 1px solid #d3e1ea; border-radius: 21px; background: white; box-shadow: 0 24px 65px rgba(6,29,53,.14); overflow: hidden; }
.certificate-frame img { object-fit: contain; padding: 17px; }
.certificate-zoom { position: absolute; right: 17px; bottom: 17px; display: inline-flex; align-items: center; gap: 6px; padding: 9px 12px; border-radius: 10px; background: rgba(6,29,53,.88); color: white; font-size: .7rem; font-weight: 800; backdrop-filter: blur(10px); }

.faq-section { background: #fff; }
.faq-layout { display: grid; grid-template-columns: .67fr 1fr; gap: 90px; }
.faq-intro { position: sticky; top: 130px; align-self: start; }
.faq-intro > p { margin: 20px 0 0; color: var(--muted); line-height: 1.75; }
.whatsapp-link { width: fit-content; display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; padding: 13px 17px; border: 1px solid #bcd9c8; border-radius: 12px; background: #effaf3; color: #167444; font-size: .78rem; font-weight: 850; }
.faq-list { border-top: 1px solid #dfe7ed; }
.faq-item { border-bottom: 1px solid #dfe7ed; }
.faq-item > button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 23px 0; border: 0; background: transparent; color: var(--navy-950); text-align: left; font-weight: 800; cursor: pointer; }
.faq-item > button svg { flex: 0 0 auto; color: var(--blue-700); transition: transform .25s ease; }
.faq-item.is-open > button svg { transform: rotate(180deg); }
.faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.faq-answer > p { min-height: 0; overflow: hidden; margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.75; }
.faq-item.is-open .faq-answer { grid-template-rows: 1fr; }
.faq-item.is-open .faq-answer > p { padding-bottom: 24px; }

.final-cta-section { padding: 0 0 94px; background: #fff; }
.final-cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 48px 53px; border-radius: 27px; background: linear-gradient(115deg, #0b5eb4, #083d70); color: white; box-shadow: 0 24px 60px rgba(11,94,180,.22); }
.final-cta-panel > div > span { display: inline-flex; align-items: center; gap: 7px; color: #dbe84e; font-size: .7rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.final-cta-panel h2 { margin: 14px 0 6px; color: white; font-size: clamp(1.8rem, 3.6vw, 3rem); line-height: 1.1; letter-spacing: -.045em; }
.final-cta-panel p { margin: 0; color: #c6dcef; font-size: .82rem; }
.final-cta-button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; flex: 0 0 auto; padding: 0 21px; border: 0; border-radius: 13px; background: var(--lime); color: var(--navy-950); font-weight: 900; cursor: pointer; transition: .2s ease; }
.final-cta-button:hover { transform: translateY(-2px); box-shadow: 0 13px 30px rgba(0,0,0,.2); }

.site-footer { padding: 75px 0 27px; background: var(--navy-950); color: #b4c6d4; }
.footer-grid { display: grid; grid-template-columns: 1.1fr .55fr .9fr; gap: 80px; }
.brand-light .brand-copy strong { color: white; }
.brand-light .brand-copy small { color: #9db3c4; }
.footer-brand > p { max-width: 380px; margin: 24px 0 20px; font-size: .79rem; line-height: 1.7; }
.footer-code { width: fit-content; display: flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid rgba(213,232,77,.25); border-radius: 999px; color: var(--lime); font-size: .68rem; font-weight: 800; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.footer-column h3 { margin: 7px 0 9px; color: white; font-size: .83rem; }
.footer-column a { color: #b4c6d4; font-size: .76rem; }
.footer-column a:hover { color: white; }
.footer-contact p, .footer-contact a { display: flex; align-items: flex-start; gap: 10px; margin: 0; line-height: 1.65; }
.footer-contact svg { flex: 0 0 auto; margin-top: 2px; color: #79ace2; }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 62px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); font-size: .64rem; }
.footer-bottom p { margin: 0; }

.floating-whatsapp { position: fixed; z-index: 35; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 9px; padding: 13px 17px; border-radius: 999px; background: #1c9b58; color: white; box-shadow: 0 13px 34px rgba(15,90,50,.28); font-size: .75rem; font-weight: 850; }
.mobile-payment-bar { display: none; }
.payment-notice { position: fixed; z-index: 60; top: 135px; left: 50%; width: min(640px, calc(100% - 28px)); display: flex; align-items: center; gap: 11px; padding: 14px 15px; border: 1px solid #b9dbc7; border-radius: 14px; background: #eefaf2; color: #175b38; box-shadow: 0 14px 35px rgba(6,29,53,.13); transform: translateX(-50%); font-size: .78rem; }
.payment-notice > button { margin-left: auto; padding: 4px; border: 0; background: transparent; color: inherit; cursor: pointer; }

.modal-backdrop { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 22px; overflow-y: auto; background: rgba(2,16,29,.72); backdrop-filter: blur(8px); }
.checkout-modal { width: min(650px, 100%); max-height: calc(100vh - 44px); overflow-y: auto; border-radius: 24px; background: white; box-shadow: 0 30px 90px rgba(0,0,0,.38); }
.modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 25px 27px 18px; border-bottom: 1px solid #e2e9ef; }
.modal-header span { color: var(--blue-700); font-size: .67rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.modal-header h2 { margin: 4px 0 0; color: var(--navy-950); font-size: 1.35rem; letter-spacing: -.035em; }
.modal-header button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #dce5ec; border-radius: 11px; background: white; color: var(--navy-950); cursor: pointer; }
.secure-banner { display: flex; align-items: center; gap: 11px; margin: 20px 27px 0; padding: 12px 14px; border-radius: 13px; background: #eff7fb; color: var(--blue-700); }
.secure-banner > p { display: grid; margin: 0; }
.secure-banner strong { color: var(--navy-950); font-size: .73rem; }
.secure-banner small { margin-top: 3px; color: var(--muted); font-size: .63rem; }
.checkout-modal form { display: grid; gap: 15px; padding: 21px 27px 27px; }
.checkout-modal form > label, .modal-field-grid > label { display: grid; gap: 7px; }
.checkout-modal label > span, .modal-field-grid label > span { color: #38536a; font-size: .72rem; font-weight: 800; }
.checkout-modal input:not([type="checkbox"]), .checkout-modal select { width: 100%; min-height: 47px; border: 1px solid #dbe4eb; border-radius: 11px; background: #fbfcfd; padding: 0 13px; color: var(--navy-950); outline: 0; }
.checkout-modal input:focus, .checkout-modal select:focus { border-color: var(--blue-600); box-shadow: 0 0 0 4px rgba(20,114,207,.1); }
.modal-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.consent-field { display: flex !important; align-items: flex-start; gap: 10px !important; padding: 4px 0; }
.consent-field input { width: 18px; height: 18px; flex: 0 0 auto; margin: 1px 0 0; accent-color: var(--blue-700); }
.consent-field span { color: var(--muted) !important; font-size: .66rem !important; line-height: 1.55; font-weight: 600 !important; }
.payment-summary { display: flex; align-items: center; justify-content: space-between; padding: 15px 16px; border-radius: 13px; background: #f0f6fa; }
.payment-summary span { color: var(--muted); font-size: .72rem; }
.payment-summary strong { color: var(--navy-950); font-size: 1.25rem; }
.checkout-submit { min-height: 51px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 12px; background: var(--blue-700); color: white; font-weight: 850; cursor: pointer; }
.checkout-submit:disabled { background: #9aafc0; cursor: not-allowed; }
.checkout-fineprint { display: flex; align-items: center; justify-content: center; gap: 6px; margin: -4px 0 0; color: #788998; font-size: .61rem; text-align: center; }
.payment-error { padding: 12px 13px; border: 1px solid #efc2c2; border-radius: 11px; background: #fff2f2; color: #8a3131; font-size: .7rem; }
.payment-error p { margin: 0 0 8px; }
.payment-error a { color: #167444; font-weight: 850; }

@media (max-width: 1020px) {
  .zakat-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-layout { gap: 58px; }
  .appointment-photo { min-height: 500px; }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .process-card:nth-child(3) { border-left: 0; border-top: 1px solid #dfe8ef; }
  .process-card:nth-child(4) { border-top: 1px solid #dfe8ef; }
  .process-card:nth-child(2) .process-arrow { display: none; }
  .impact-panel { padding: 55px; gap: 45px; }
  .certificate-layout { gap: 55px; }
  .faq-layout { gap: 60px; }
}

@media (max-width: 820px) {
  .section { padding: 82px 0; }
  .heading-row, .trust-layout, .impact-panel, .certificate-layout, .faq-layout { grid-template-columns: 1fr; }
  .heading-row { gap: 19px; }
  .heading-row > p { margin: 0; }
  .appointment-visual { width: min(500px, 100%); margin-inline: auto; }
  .trust-copy { max-width: 660px; }
  .impact-panel { gap: 40px; }
  .certificate-frame { order: -1; }
  .faq-intro { position: static; }
  .footer-grid { grid-template-columns: 1.2fr .7fr; gap: 50px; }
  .footer-contact { grid-column: 1 / -1; }
  .final-cta-panel { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .section { padding: 68px 0; }
  .section-heading { margin-bottom: 30px; }
  .section-heading h2, .trust-copy h2, .certificate-copy h2, .faq-intro h2 { font-size: 2.25rem; }
  .zakat-grid { grid-template-columns: 1fr; gap: 11px; }
  .zakat-card { min-height: 230px; }
  .appointment-visual { padding: 0 12px 29px 0; }
  .appointment-photo { min-height: 480px; border-radius: 22px; }
  .code-card { left: -4px; top: 35px; }
  .verified-card { right: -2px; bottom: 56px; }
  .process-grid { grid-template-columns: 1fr; }
  .process-card { min-height: 235px; }
  .process-card + .process-card { border-left: 0; border-top: 1px solid #dfe8ef; }
  .process-arrow { display: none; }
  .impact-section { padding-bottom: 68px; }
  .impact-panel { width: 100%; padding: 51px 27px; border-radius: 0; }
  .impact-heading h2 { font-size: 2.8rem; }
  .certificate-facts div { grid-template-columns: 1fr; gap: 5px; }
  .certificate-actions { display: grid; }
  .certificate-actions a { width: 100%; }
  .final-cta-section { padding-bottom: 68px; }
  .final-cta-panel { padding: 39px 27px; border-radius: 21px; }
  .final-cta-button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; gap: 40px; }
  .footer-contact { grid-column: auto; }
  .footer-bottom { flex-direction: column; gap: 8px; }
  .floating-whatsapp { width: 48px; height: 48px; display: grid; place-items: center; right: 14px; bottom: 86px; padding: 0; }
  .floating-whatsapp span { display: none; }
  .mobile-payment-bar { position: fixed; z-index: 34; left: 0; right: 0; bottom: 0; min-height: 71px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 14px; border: 0; border-top: 1px solid #d8e2e9; background: rgba(255,255,255,.96); box-shadow: 0 -8px 28px rgba(6,29,53,.11); backdrop-filter: blur(15px); }
  .mobile-payment-bar > span { display: grid; text-align: left; }
  .mobile-payment-bar small { color: var(--muted); font-size: .58rem; }
  .mobile-payment-bar strong { margin-top: 2px; color: var(--navy-950); font-size: .88rem; }
  .mobile-payment-bar b { display: flex; align-items: center; gap: 5px; padding: 12px 14px; border-radius: 10px; background: var(--blue-700); color: white; font-size: .72rem; }
  .site-footer { padding-bottom: 95px; }
  .modal-backdrop { align-items: end; padding: 0; }
  .checkout-modal { max-height: 92vh; border-radius: 23px 23px 0 0; }
  .modal-header { padding: 21px 19px 16px; }
  .secure-banner { margin: 16px 19px 0; }
  .checkout-modal form { padding: 18px 19px 24px; }
  .modal-field-grid { grid-template-columns: 1fr; }
  .payment-notice { top: 105px; }
}
