/* ==========================================================
   KlawTax LLP — Design System v3
   Restrained, premium, corporate-legal aesthetic.
   80% white space · 15% navy · 5% gold accent.
   No gradients as backgrounds, no glass blur, no loud motion.
   Fonts: Plus Jakarta Sans (headings), Manrope (buttons/labels), Inter (body).
   ========================================================== */
:root{
  --navy:#0f172a;          /* dark section background (matches Text color) */
  --navy-mid:#1e293b;      /* lighter dark tint */
  --navy-card:#1e293b;     /* Why-Choose-Us card fill */
  --navy-hover:#1d4ed8;    /* Primary button hover */
  --accent:#2563eb;          /* Primary */
  --accent-soft:#eff6ff;
  --secondary:#38bdf8;     /* Secondary accent */
  --white:#ffffff;         /* Cards */
  --off-white:#f8f9fa;     /* Page Background */
  --icon-bg:#f1f3f4;
  --border:#dadce0;        /* Border */
  --border-strong:#c4c7c9;
  --heading:#202124;       /* Heading */
  --body-text:#5f6368;     /* Body Text */
  --footer-dark:#101d3f;

  --font-display:'Plus Jakarta Sans', 'Manrope', -apple-system, Segoe UI, sans-serif;
  --font-heading2:'Manrope', -apple-system, Segoe UI, sans-serif;
  --font-body:'Inter', -apple-system, Segoe UI, sans-serif;

  --container:1320px;
  --radius:20px;
  --radius-sm:14px;
  --shadow-card:0 10px 30px rgba(10,35,66,.05);
  --shadow-card-hover:0 30px 60px rgba(10,35,66,.12);
  --section-pad:110px;
}

*{box-sizing:border-box;}
html{ scroll-behavior:smooth; overflow-x:hidden; max-width:100%; }
img{ max-width:100%; height:auto; }
body{
  font-family:var(--font-body);
  color:var(--body-text);
  background:var(--white);
  line-height:1.7;
  font-size:1rem;
  overflow-x:hidden;
  max-width:100%;
}
.container{ max-width:var(--container); }
.klaw-page-wrap{
  overflow-x:hidden;
  width:100%;
  position:relative;
}

h1,h2,h3,h4,.display{
  font-family:var(--font-display);
  color:var(--heading);
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.2;
}
h2.display{ font-size:clamp(1.8rem, 2.6vw, 2.4rem); }
.eyebrow{
  font-family:var(--font-heading2);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}
.eyebrow::before{
  content:"";
  display:inline-block;
  width:18px;
  height:3px;
  border-radius:2px;
  background:linear-gradient(90deg, var(--secondary), var(--accent));
  flex-shrink:0;
}
/* Light variant for eyebrow labels sitting on the blue hero/CTA sections */
.eyebrow-light{ color:#fff; }
.eyebrow-light::before{ background:#fff; opacity:.7; }
.text-muted-soft{ color:var(--body-text); }
a{ color:var(--navy); text-decoration:none; }
a:hover{ color:var(--navy-hover); }
:focus-visible{ outline:3px solid var(--accent); outline-offset:2px; }

.py-section{ padding-top:var(--section-pad); padding-bottom:var(--section-pad); }
@media (max-width:767px){
  :root{ --section-pad:64px; }
}

/* ---------- Logo ---------- */
.klaw-logo-img{
  height:36px !important;
  width:auto !important;
  max-width:150px !important;
  object-fit:contain;
  display:block;
  flex-shrink:0;
}

/* ---------- Buttons ---------- */
.btn-klaw-primary{
  background:linear-gradient(135deg, var(--navy), #1e293b);
  color:#fff;
  border:none;
  font-weight:600;
  font-family:var(--font-heading2);
  border-radius:14px;
  padding:0 1.7rem;
  height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease, transform .15s ease, box-shadow .2s ease;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.btn-klaw-primary::before,
.btn-klaw-accent::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(100deg, transparent 30%, rgba(255,255,255,.22) 45%, rgba(255,255,255,.22) 55%, transparent 70%);
  transform:translateX(-120%);
  transition:transform .55s ease;
  z-index:1;
  pointer-events:none;
}
.btn-klaw-primary:hover::before,
.btn-klaw-accent:hover::before{ transform:translateX(120%); }
.btn-klaw-primary:hover{
  background:var(--navy-hover);
  color:#fff;
  transform:translateY(-1px);
}
.btn-klaw-outline{
  background:#fff;
  color:var(--navy);
  border:1.5px solid var(--border-strong);
  font-weight:600;
  font-family:var(--font-heading2);
  border-radius:14px;
  padding:0 1.6rem;
  height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:all .2s ease;
}
.btn-klaw-outline:hover{
  border-color:var(--navy);
  color:var(--navy);
  background:var(--off-white);
}
/* Outline button variant for use on dark (navy) backgrounds — transparent bg + white text/border, always paired correctly (fixes a real invisible-button bug where background:#fff + color:#fff overlapped) */
/* WhatsApp CTA button — always WhatsApp's brand green, used for every WhatsApp link sitewide */
.btn-klaw-whatsapp{
  background:#25D366;
  color:#fff;
  border:none;
  font-weight:600;
  font-family:var(--font-heading2);
  border-radius:14px;
  padding:0 1.6rem;
  height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease, transform .15s ease;
}
.btn-klaw-whatsapp:hover{
  background:#1ebe5a;
  color:#fff;
  transform:translateY(-1px);
}

/* Solid white button — for primary CTAs on the blue hero/CTA sections, where the blue accent button would blend into its own background */
.btn-klaw-white{
  background:#fff;
  color:var(--accent);
  border:none;
  font-weight:600;
  font-family:var(--font-heading2);
  border-radius:14px;
  padding:0 1.7rem;
  height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform .15s ease, box-shadow .2s ease;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}
.btn-klaw-white:hover{
  color:var(--accent);
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}

.btn-klaw-outline-dark{
  background:transparent;
  color:#fff;
  border:1.5px solid rgba(255,255,255,.4);
  font-weight:600;
  font-family:var(--font-heading2);
  border-radius:14px;
  padding:0 1.6rem;
  height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:all .2s ease;
}
.btn-klaw-outline-dark:hover{
  background:rgba(255,255,255,.1);
  border-color:#fff;
  color:#fff;
}
.btn-klaw-accent{
  background:linear-gradient(120deg, var(--accent), var(--secondary));
  color:#fff;
  border:none;
  font-weight:600;
  font-family:var(--font-heading2);
  border-radius:14px;
  padding:0 1.7rem;
  height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:box-shadow .25s ease, transform .15s ease;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  box-shadow:0 8px 20px rgba(37,99,235,.28);
}
.btn-klaw-accent:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(37,99,235,.38);
}
.btn-klaw-ghost{
  background:transparent;
  border:none;
  color:var(--navy);
  font-weight:600;
  font-family:var(--font-heading2);
  position:relative;
  padding-bottom:2px;
}
.btn-klaw-ghost::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:0; height:1.5px;
  background:var(--accent);
  transition:width .25s ease;
}
.btn-klaw-ghost:hover::after{ width:100%; }
.btn-klaw-advance{
  background:#fff;
  color:var(--navy);
  border:1.5px dashed var(--border-strong);
  font-family:var(--font-heading2);
  font-size:.85rem;
  font-weight:600;
  border-radius:12px;
  padding:.7rem 1rem;
}
.btn-klaw-advance:hover{ border-color:var(--accent); background:var(--accent-soft); }
.klaw-badge-orange, .klaw-badge-pill{
  background:var(--accent-soft);
  color:var(--navy-hover);
  font-family:var(--font-heading2);
  font-size:.7rem;
  font-weight:700;
  padding:.3rem .75rem;
  border-radius:999px;
  display:inline-block;
}

/* ---------- Icon circles ---------- */
.klaw-icon-circle{
  width:56px; height:56px;
  border-radius:50%;
  background:var(--icon-bg);
  color:var(--navy);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem;
  transition:all .25s ease;
  flex-shrink:0;
}
a:hover > .klaw-icon-circle,
.klaw-premium-card:hover .klaw-icon-circle{
  background:var(--accent);
  color:#fff;
}

/* ---------- Header ---------- */
.klaw-topbar{
  background:var(--footer-dark);
  color:rgba(255,255,255,.72);
  font-size:.78rem;
  font-family:var(--font-heading2);
  padding:.5rem 0;
}
.klaw-topbar a{ color:rgba(255,255,255,.82); display:inline-flex; align-items:center; gap:.35rem; }
.klaw-topbar a:hover{ color:#fff; }

.klaw-scroll-progress{
  position:fixed;
  top:0; left:0;
  height:3px;
  width:0%;
  background:linear-gradient(90deg, var(--accent), var(--secondary));
  z-index:1080;
  transition:width .1s linear;
}

.klaw-header{
  background:#fff;
  border-bottom:1px solid var(--border);
  transition:box-shadow .2s ease;
}
.klaw-header.is-scrolled{ box-shadow:0 4px 20px rgba(10,35,66,.08); }
.klaw-header .navbar-brand{ display:flex; align-items:center; gap:.6rem; }
.klaw-header .navbar-brand small{
  display:block;
  font-family:var(--font-heading2);
  font-size:.58rem;
  letter-spacing:.08em;
  color:var(--body-text);
  font-weight:600;
  text-transform:uppercase;
}
.klaw-header .nav-link{
  color:var(--heading);
  font-weight:500;
  font-family:var(--font-heading2);
  position:relative;
  padding-bottom:4px !important;
}
.klaw-header .nav-link::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:0; height:2px;
  background:var(--accent);
  transition:width .25s ease;
}
.klaw-header .nav-link:hover::after, .klaw-header .nav-link.active::after{ width:100%; }
.klaw-header .nav-link:hover, .klaw-header .nav-link.active{ color:var(--navy); }
.klaw-header .btn-header-cta{
  background:var(--accent);
  color:#fff;
  border-radius:12px;
  font-weight:600;
  font-family:var(--font-heading2);
  padding:.6rem 1.3rem;
  transition:background .2s ease;
  font-size:.88rem;
}
.klaw-header .btn-header-cta:hover{ background:var(--navy-hover); color:#fff; }
.klaw-header .btn-header-call{
  color:var(--navy);
  font-size:1rem;
  width:38px; height:38px;
  border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--border);
  transition:all .2s ease;
}
.klaw-header .btn-header-call:hover{ background:var(--off-white); border-color:var(--navy); }

/* Services dropdown */
.klaw-services-dropdown{ position:relative; }
.klaw-services-dropdown .dropdown-panel{
  display:none;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:1.2rem;
  z-index:1050;
}
.klaw-services-dropdown .dropdown-panel a{
  display:flex; align-items:center; gap:.5rem;
  padding:.55rem .6rem;
  border-radius:8px;
  color:var(--heading);
  font-size:.85rem;
  font-weight:500;
}
.klaw-services-dropdown .dropdown-panel a:hover{ background:var(--off-white); color:var(--navy); }
.klaw-services-dropdown .dropdown-panel i{ color:var(--accent); }

/* Desktop: floating 3-column panel, opens on hover */
@media (min-width:992px){
  .klaw-services-dropdown .dropdown-panel{
    position:absolute; top:100%; left:50%;
    transform:translateX(-50%);
    min-width:600px;
    box-shadow:var(--shadow-card-hover);
    margin-top:1rem;
  }
  .klaw-services-dropdown:hover .dropdown-panel,
  .klaw-services-dropdown .dropdown-panel.show{
    display:grid; grid-template-columns:1fr 1fr 1fr; gap:.3rem;
  }
}

/* Mobile/tablet: single column, inline within the collapsed nav, toggled by JS */
@media (max-width:991px){
  .klaw-services-dropdown .dropdown-panel{
    position:static;
    min-width:0;
    width:100%;
    box-shadow:none;
    border:none;
    background:var(--off-white);
    margin-top:.5rem;
  }
  .klaw-services-dropdown .dropdown-panel.show{
    display:grid;
    grid-template-columns:1fr;
    gap:.2rem;
  }
}

/* ---------- Hero (brand blue, never black) ---------- */
.klaw-hero{
  background:linear-gradient(135deg, var(--accent), #1d4ed8);
  position:relative;
  overflow:hidden;
}
.klaw-hero::before{
  /* soft glowing blue orb, top-right, and light rays from top-right */
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(650px 420px at 88% -10%, rgba(63,81,232,.22), transparent 60%),
    radial-gradient(420px 420px at -5% 90%, rgba(63,81,232,.12), transparent 60%),
    linear-gradient(115deg, transparent 40%, rgba(255,255,255,.03) 50%, transparent 60%);
  pointer-events:none;
}
.klaw-hero::after{
  /* thin geometric line pattern, very low opacity */
  content:"";
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0, rgba(255,255,255,.025) 1px, transparent 1px, transparent 64px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0, rgba(255,255,255,.025) 1px, transparent 1px, transparent 64px);
  pointer-events:none;
}
.klaw-hero .container{ position:relative; z-index:1; }

/* Reusable subtle section glow — soft glass circles + wave mesh, for light (off-white/white) sections */
.klaw-section-glow{ position:relative; overflow:hidden; }
.klaw-section-glow::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(480px 320px at 92% 8%, rgba(63,81,232,.06), transparent 65%),
    radial-gradient(360px 300px at 4% 95%, rgba(63,81,232,.05), transparent 65%);
  pointer-events:none;
}
.klaw-section-glow > .container{ position:relative; z-index:1; }

.klaw-hero-headline{
  font-family:var(--font-display);
  color:#fff;
  font-weight:700;
  font-size:clamp(2.1rem, 3.6vw, 3.1rem);
  line-height:1.18;
  letter-spacing:-0.02em;
}
.klaw-hero-headline .accent{
  background:linear-gradient(100deg, var(--secondary), var(--accent) 70%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.klaw-hero-sub{ color:rgba(255,255,255,.72); max-width:600px; font-size:1.05rem; }
.klaw-hero-rule{
  width:56px; height:3px;
  background:linear-gradient(90deg, var(--secondary), var(--accent));
  border-radius:2px;
  animation:klawRuleGrow .8s ease .3s both;
  transform-origin:left;
}
@keyframes klawRuleGrow{
  from{ width:0; opacity:0; }
  to{ width:56px; opacity:1; }
}
@media (prefers-reduced-motion: reduce){
  .klaw-hero-rule{ animation:none; width:56px; }
  .btn-klaw-primary::before, .btn-klaw-accent::before{ display:none; }
  .klaw-premium-card:hover .klaw-icon-circle{ transform:none; }
}

/* Signature widget: compliance checklist card */
/* Subtle glass panel, for summary cards over dark navy backgrounds */
.klaw-glass{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.klaw-checklist-card{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius);
  padding:2rem;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.klaw-checklist-header{
  display:flex; align-items:center; gap:.6rem;
  color:#fff;
  font-family:var(--font-heading2);
  font-weight:700;
  font-size:1rem;
  margin-bottom:1.3rem;
  padding-bottom:1.1rem;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.klaw-checklist-header i{ color:var(--accent); font-size:1.15rem; }
.klaw-checklist{ list-style:none; margin:0 0 1.3rem; padding:0; display:flex; flex-direction:column; gap:1rem; }
.klaw-checklist li{ display:flex; align-items:center; gap:.75rem; color:rgba(255,255,255,.82); font-size:.92rem; }
.klaw-check-mark{
  width:20px; height:20px;
  border-radius:50%;
  border:1.5px solid rgba(255,255,255,.28);
  flex-shrink:0;
  position:relative;
  background:var(--accent);
  border-color:var(--accent);
}
.klaw-check-mark::after{
  content:"";
  position:absolute; left:6px; top:2px;
  width:5px; height:10px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(45deg);
}
.klaw-checklist-footer{ font-size:.78rem; color:rgba(255,255,255,.55); padding-top:1.1rem; border-top:1px solid rgba(255,255,255,.1); }
.klaw-checklist-footer i{ color:var(--accent); }

/* ---------- Trust bar ---------- */
.klaw-trust-bar{ background:#fff; border-bottom:1px solid var(--border); }
.klaw-trust-item{
  text-align:center;
  padding:0 1rem;
}
@media (min-width:768px){
  .klaw-trust-item{ border-left:1px solid var(--border); }
  .klaw-trust-item:first-child{ border-left:none; }
}
@media (max-width:767px){
  .klaw-trust-item{ border-top:1px solid var(--border); padding-top:1rem; }
  .klaw-trust-item:nth-child(-n+2){ border-top:none; padding-top:0; }
}
.klaw-trust-item .num{
  font-family:var(--font-display);
  font-weight:700;
  font-size:2rem;
  color:var(--navy);
  line-height:1;
}
.klaw-trust-item .label{ font-size:.8rem; color:var(--body-text); margin-top:.4rem; }
.klaw-trust-stars{ color:#f4b400; font-size:1.1rem; letter-spacing:2px; }

/* ---------- Premium service cards ---------- */
.klaw-premium-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:2.2rem;
  height:100%;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  box-shadow:var(--shadow-card);
  display:block;
  color:inherit;
}
@media (max-width:575px){
  .klaw-premium-card{ padding:1.4rem; }
}
.klaw-premium-card:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 48px -12px rgba(37,99,235,.22), 0 8px 20px rgba(15,23,42,.08);
  border-color:var(--accent);
  color:inherit;
}
.klaw-premium-card:hover .klaw-icon-circle{
  transform:rotate(-6deg) scale(1.06);
}
/* Info cubes: compact fee/turnaround tiles shown right on the card */
.klaw-info-cubes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.5rem;
  margin:1rem 0;
}
.klaw-info-cube{
  background:var(--off-white);
  border:1px solid var(--border);
  border-radius:10px;
  padding:.6rem .7rem;
}
.klaw-info-cube .cube-label{
  font-family:var(--font-heading2);
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--body-text);
  display:block;
  margin-bottom:.15rem;
}
.klaw-info-cube .cube-value{
  font-family:var(--font-display);
  font-weight:700;
  font-size:.85rem;
  color:var(--navy);
}
.klaw-premium-card .service-code{
  font-family:var(--font-heading2);
  font-size:.68rem;
  color:var(--accent);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:700;
}
.klaw-premium-card h3{
  font-size:1.2rem;
  margin:.9rem 0 .6rem;
}
.klaw-premium-card p{ color:var(--body-text); font-size:.92rem; }
.klaw-premium-card .klaw-divider{ border-top:1px solid var(--border); margin:1.1rem 0; }
.klaw-premium-card .klaw-price{
  font-family:var(--font-display);
  font-weight:700;
  color:var(--navy);
  font-size:1.4rem;
}

/* Legacy service card alias (services.php grid reuses this) */
.klaw-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.klaw-card:hover{ transform:translateY(-8px); box-shadow:0 24px 48px -12px rgba(37,99,235,.22), 0 8px 20px rgba(15,23,42,.08); border-color:var(--accent); }
.klaw-card .card-body{ padding:2rem; }
@media (max-width:575px){
  .klaw-card .card-body{ padding:1.3rem; }
}
.klaw-card .service-code{
  font-family:var(--font-heading2);
  font-size:.68rem;
  color:var(--accent);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:700;
}
.klaw-card .service-name{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.15rem;
  color:var(--heading);
  margin:.5rem 0 .5rem;
}
.klaw-card .service-short{ color:var(--body-text); font-size:.9rem; min-height:3.2em; }
.klaw-card .service-time{ font-size:.78rem; color:var(--body-text); }
.klaw-card .badge-featured{
  background:var(--accent);
  color:#fff;
  font-family:var(--font-heading2);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.05em;
  border-radius:999px;
  padding:.25rem .65rem;
}
.klaw-stamp{
  --stamp-size:64px;
  width:var(--stamp-size); height:var(--stamp-size);
  border-radius:50%;
  border:1.5px solid var(--accent);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  flex-shrink:0;
  background:var(--accent-soft);
}
.klaw-stamp .amt{ font-family:var(--font-display); font-weight:700; font-size:.82rem; color:var(--navy); line-height:1; }
.klaw-stamp .cur{ font-family:var(--font-heading2); font-size:.5rem; color:var(--navy-hover); letter-spacing:.06em; }

/* ---------- Category header (services page) ---------- */
.klaw-cat-header{ border-bottom:2px solid var(--navy); padding-bottom:.7rem; margin-bottom:1.8rem; }
.klaw-tabs-wrap{
  background:#fff; position:sticky; top:0; z-index:1030;
  border-bottom:1px solid var(--border); padding-top:.7rem;
}
.klaw-tabs{ display:flex; gap:.4rem; overflow-x:auto; scrollbar-width:none; padding-bottom:.7rem; }
.klaw-tabs::-webkit-scrollbar{ display:none; }
.klaw-tab{
  font-family:var(--font-heading2); font-size:.8rem; font-weight:600; white-space:nowrap;
  color:var(--body-text); background:#fff; border:1px solid var(--border); border-bottom:none;
  border-radius:10px 10px 0 0; padding:.6rem 1.1rem; cursor:pointer; transition:all .2s ease;
}
.klaw-tab:hover{ color:var(--navy); }
.klaw-tab.active{ color:#fff; background:var(--navy); border-color:var(--navy); }
[data-category-section]{ display:none; }
[data-category-section].is-active{ display:block; animation:klawFadeIn .35s ease; }
@keyframes klawFadeIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }

/* ---------- Why Choose Us (brand blue, numbered) ---------- */
/* ---------- Comparison table (KlawTax vs traditional consultant) ---------- */
.klaw-compare-table{
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  background:#fff;
}
.klaw-compare-row{
  display:grid;
  grid-template-columns:1.1fr 1.4fr 1.4fr;
  border-bottom:1px solid var(--border);
}
.klaw-compare-row:last-child{ border-bottom:none; }
.klaw-compare-header{
  background:var(--off-white);
  font-family:var(--font-heading2);
  font-weight:700;
  font-size:.85rem;
}
.klaw-compare-cell{
  padding:1rem 1.2rem;
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.9rem;
}
.klaw-compare-label{
  font-family:var(--font-heading2);
  font-weight:600;
  color:var(--heading);
  background:var(--off-white);
}
.klaw-compare-us{
  color:var(--heading);
  font-weight:500;
  background:var(--accent-soft);
}
.klaw-compare-us i{ color:#16a34a; flex-shrink:0; }
.klaw-compare-cell:not(.klaw-compare-us):not(.klaw-compare-label) i{ color:var(--border-strong); flex-shrink:0; }
.klaw-compare-cell:not(.klaw-compare-us):not(.klaw-compare-label){ color:var(--body-text); }
@media (max-width:767px){
  .klaw-compare-row{ grid-template-columns:1fr; }
  .klaw-compare-row:not(.klaw-compare-header) .klaw-compare-label{ background:var(--heading); color:#fff; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; padding:.6rem 1.2rem; }
}

.klaw-why-section{
  background:linear-gradient(135deg, var(--accent), #1d4ed8);
  position:relative;
  overflow:hidden;
}
.klaw-why-section::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(560px 360px at 85% 0%, rgba(255,255,255,.14), transparent 60%);
  pointer-events:none;
}
.klaw-why-section .container{ position:relative; z-index:1; }
.klaw-why-card{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius);
  padding:2.2rem;
  height:100%;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.klaw-why-num{
  font-family:var(--font-display);
  font-weight:700;
  font-size:2rem;
  color:#fff;
  opacity:.85;
  line-height:1;
  margin-bottom:1rem;
}
.klaw-why-card h3{ color:#fff; font-size:1.1rem; margin-bottom:.6rem; }
.klaw-why-card p{ color:rgba(255,255,255,.65); font-size:.9rem; margin:0; }

/* ---------- Registration process ---------- */
.klaw-step{ position:relative; padding-left:3.4rem; }
.klaw-step .step-num{
  position:absolute; left:0; top:0;
  font-family:var(--font-display); font-weight:700; font-size:1.5rem; color:var(--accent); line-height:1;
}
.klaw-step h4{ font-size:1.02rem; }

/* ---------- Testimonials / reviews ---------- */
.klaw-testimonial{
  background:#fff; border:1px solid var(--border); border-radius:var(--radius);
  padding:2rem;
}
.klaw-testimonial .stars{ color:#f4b400; font-size:.95rem; margin-bottom:.8rem; letter-spacing:1px; }
.klaw-testimonial .name{ font-weight:700; color:var(--heading); font-family:var(--font-heading2); }
.klaw-testimonial .role{ font-size:.8rem; color:var(--body-text); }

.klaw-review-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:1.6rem; height:100%; }
.klaw-review-stars{ color:#f4b400; font-size:.9rem; }
.klaw-review-avatar{
  width:38px; height:38px; border-radius:50%;
  background:var(--icon-bg); color:var(--navy);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:.85rem; flex-shrink:0;
}

/* Lightweight scroll-snap slider */
.klaw-slider{ display:flex; gap:1.5rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:.5rem; }
.klaw-slider::-webkit-scrollbar{ display:none; }
.klaw-slide{ flex:0 0 100%; scroll-snap-align:start; }
@media (min-width:768px){ .klaw-slide{ flex:0 0 calc(50% - .75rem); } }
@media (min-width:1200px){ .klaw-slide{ flex:0 0 calc(33.333% - 1rem); } }
.klaw-slider-nav{
  width:42px; height:42px; border-radius:50%;
  border:1px solid var(--border); background:#fff; color:var(--navy);
  display:flex; align-items:center; justify-content:center; transition:all .2s ease;
}
.klaw-slider-nav:hover{ background:var(--navy); color:#fff; border-color:var(--navy); }

/* ---------- FAQ ---------- */
.accordion-item{ border:1px solid var(--border) !important; border-radius:var(--radius-sm) !important; margin-bottom:.8rem; overflow:hidden; }
.accordion-button{ font-family:var(--font-heading2); font-weight:600; color:var(--heading); }
.accordion-button:not(.collapsed){ background:var(--off-white); color:var(--navy); box-shadow:none; }
.accordion-button:focus{ box-shadow:0 0 0 3px var(--accent-soft); }

/* ---------- CTA (brand blue) ---------- */
.klaw-cta-dark{
  background:linear-gradient(135deg, var(--accent), #1d4ed8);
  position:relative;
  overflow:hidden;
}
.klaw-cta-dark::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(500px 320px at 50% 0%, rgba(255,255,255,.15), transparent 65%);
  pointer-events:none;
}
.klaw-cta-dark .container{ position:relative; z-index:1; }

/* ---------- Footer ---------- */
.klaw-footer{ background:var(--footer-dark); color:rgba(255,255,255,.65); }
.klaw-footer a{ color:rgba(255,255,255,.65); }
.klaw-footer a:hover{ color:#fff; }
.klaw-footer h6{
  font-family:var(--font-heading2); font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; color:rgba(255,255,255,.4); font-weight:700;
}
.klaw-policy-banner{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);
  padding:1.6rem;
}
.klaw-policy-banner .policy-icon{
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,.08); color:var(--accent);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0;
}

/* ---------- WhatsApp float ---------- */
.klaw-whatsapp-float{
  position:fixed; right:1.1rem; bottom:1.1rem; z-index:1040;
  background:#25D366; color:#fff; width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:1.4rem;
  box-shadow:0 8px 20px rgba(0,0,0,.2); transition:transform .2s ease;
}
.klaw-whatsapp-float:hover{ color:#fff; transform:scale(1.05); }
@media (max-width:991px){
  .klaw-whatsapp-float{ display:none; }
}

/* ---------- Sticky mobile CTA bar — compact icon buttons ---------- */
.klaw-sticky-cta{
  position:fixed; right:1.1rem; bottom:1.1rem; left:auto; z-index:1045;
  display:flex; flex-direction:column; gap:.6rem;
  background:transparent; border:none; box-shadow:none; padding:0;
}
.klaw-sticky-cta a{
  width:46px; height:46px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none;
  font-size:1.1rem;
  box-shadow:0 6px 16px rgba(10,35,66,.22);
}
.klaw-sticky-cta a .label{ display:none; }
.klaw-sticky-cta .call{ background:var(--navy); color:#fff; }
.klaw-sticky-cta .whatsapp{ background:#25D366; color:#fff; }
.klaw-sticky-cta .pay{ background:var(--accent); color:#fff; }
@media (min-width:992px){ .klaw-sticky-cta{ display:none; } }

/* ---------- AI chat placeholder (minimal, no gradient bubble) ---------- */
.klaw-chat-widget{ position:fixed; left:1.1rem; bottom:1.1rem; z-index:1040; }
.klaw-chat-toggle{
  width:54px; height:54px; border-radius:50%;
  background:var(--navy); color:#fff; border:none; font-size:1.25rem;
  box-shadow:0 8px 20px rgba(10,35,66,.28);
  display:flex; align-items:center; justify-content:center; transition:transform .2s ease;
}
.klaw-chat-toggle:hover{ transform:scale(1.05); }
.klaw-chat-panel{ display:none; position:absolute; bottom:64px; left:0; width:300px; background:#fff; border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-card-hover); overflow:hidden; }
.klaw-chat-panel.show{ display:block; }
.klaw-chat-header{ background:var(--navy); color:#fff; padding:.9rem 1rem; font-weight:600; font-family:var(--font-heading2); display:flex; align-items:center; gap:.5rem; }
.klaw-chat-header .btn-close{ margin-left:auto; font-size:.65rem; }
.klaw-chat-body{ padding:1.1rem; }

/* ---------- Modal, breadcrumb, policy, misc reused components ---------- */
.modal-content{ border-radius:var(--radius); border:none; }
.modal-header{ border-bottom:1px solid var(--border); }
.modal-footer{ border-top:1px solid var(--border); }
.klaw-breadcrumb{ font-size:.82rem; }
.klaw-breadcrumb a{ color:var(--body-text); }
.klaw-breadcrumb a:hover{ color:var(--navy); }
.klaw-breadcrumb .sep{ color:var(--border-strong); margin:0 .4rem; }
.klaw-svc-hero{
  background:linear-gradient(135deg, var(--accent), #1d4ed8);
  position:relative;
  overflow:hidden;
}
.klaw-svc-hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(600px 380px at 90% -10%, rgba(255,255,255,.18), transparent 60%),
    radial-gradient(380px 380px at -5% 100%, rgba(255,255,255,.1), transparent 60%);
  pointer-events:none;
}
.klaw-svc-hero::after{
  content:"";
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0, rgba(255,255,255,.025) 1px, transparent 1px, transparent 64px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0, rgba(255,255,255,.025) 1px, transparent 1px, transparent 64px);
  pointer-events:none;
}
.klaw-svc-hero .container{ position:relative; z-index:1; }
.klaw-fee-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:1.6rem; }
@media (min-width:992px){
  .klaw-sticky-desktop-only{ position:sticky; top:90px; }
}
.klaw-fee-card .row-line{ display:flex; justify-content:space-between; align-items:center; padding:.65rem 0; border-bottom:1px dashed var(--border); }
.klaw-fee-card .row-line:last-child{ border-bottom:none; }
.klaw-check-list li{ display:flex; gap:.6rem; align-items:flex-start; margin-bottom:.6rem; }
.klaw-check-list i{ color:var(--accent); margin-top:.2rem; }
.klaw-timeline{ position:relative; padding-left:2.2rem; }
.klaw-timeline::before{ content:""; position:absolute; left:.55rem; top:.3rem; bottom:.3rem; width:2px; background:var(--border); }
.klaw-timeline-step{ position:relative; padding-bottom:1.6rem; }
.klaw-timeline-step:last-child{ padding-bottom:0; }
.klaw-timeline-step::before{ content:""; position:absolute; left:-2.2rem; top:.2rem; width:12px; height:12px; border-radius:50%; background:var(--accent); border:3px solid var(--accent-soft); }
.klaw-blog-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; height:100%; transition:transform .25s ease, box-shadow .25s ease; }
.klaw-blog-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-card-hover); }
.klaw-blog-card .blog-thumb{ height:150px; background:linear-gradient(135deg, var(--accent), #1d4ed8); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.85); font-family:var(--font-display); font-weight:700; font-size:1.5rem; padding:1rem; text-align:center; }
.klaw-blog-meta{ font-size:.75rem; color:var(--body-text); }
.klaw-blog-content{ line-height:1.85; font-size:1.05rem; }

/* ---------- Scroll-reveal (subtle, brief-compliant: fade-up 300-500ms) ---------- */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .4s ease, transform .4s ease; }
.reveal.is-visible{ opacity:1; transform:none; }
.reveal-1{ transition-delay:.06s; }
.reveal-2{ transition-delay:.12s; }
.reveal-3{ transition-delay:.18s; }
.reveal-4{ transition-delay:.24s; }
.reveal-5{ transition-delay:.3s; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  [data-category-section].is-active{ animation:none !important; }
}

/* ==========================================================
   ADMIN DASHBOARD
   ========================================================== */
.klaw-admin-body{ background:var(--off-white); min-height:100vh; font-family:var(--font-body); }
.klaw-admin-shell{ display:flex; min-height:100vh; }
.klaw-admin-sidebar{ width:240px; flex-shrink:0; background:var(--navy); color:#fff; padding:1.5rem 1.1rem; }
.klaw-admin-sidebar .brand{ display:flex; align-items:center; gap:.6rem; margin-bottom:2rem; }
.klaw-admin-nav a{ display:flex; align-items:center; gap:.6rem; color:rgba(255,255,255,.72); text-decoration:none; padding:.65rem .8rem; border-radius:10px; font-size:.9rem; font-weight:500; margin-bottom:.2rem; font-family:var(--font-heading2); }
.klaw-admin-nav a:hover, .klaw-admin-nav a.active{ background:rgba(255,255,255,.08); color:#fff; }
.klaw-admin-main{ flex:1; padding:2rem; max-width:100%; overflow-x:hidden; }
.klaw-admin-topbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1.8rem; flex-wrap:wrap; gap:1rem; }
.klaw-admin-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-sm); box-shadow:var(--shadow-card); }
.klaw-admin-stat{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-sm); padding:1.2rem; }
.klaw-admin-stat .num{ font-family:var(--font-display); font-size:1.6rem; font-weight:700; color:var(--navy); }
.klaw-admin-stat .label{ font-size:.8rem; color:var(--body-text); }
.klaw-admin-table{ width:100%; border-collapse:collapse; }
.klaw-admin-table th{ font-family:var(--font-heading2); font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--body-text); text-align:left; padding:.7rem .9rem; border-bottom:1px solid var(--border); background:var(--off-white); }
.klaw-admin-table td{ padding:.7rem .9rem; border-bottom:1px solid var(--border); font-size:.9rem; vertical-align:middle; }
.klaw-admin-table tr:last-child td{ border-bottom:none; }
.klaw-admin-table tr:hover td{ background:var(--off-white); }
.klaw-login-card{ max-width:400px; margin:8vh auto; background:#fff; border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-card-hover); padding:2.2rem; }

@media (max-width:991px){
  .klaw-admin-sidebar{ position:fixed; left:-260px; top:0; bottom:0; z-index:1050; transition:left .2s ease; }
  .klaw-admin-sidebar.open{ left:0; }
  .klaw-admin-main{ padding:1.2rem; }
}
@media (max-width:767px){
  .klaw-hero-headline{ font-size:2.1rem; }
  .klaw-header .navbar-brand small{ display:none; }
}
