/* ===================================================================
   Arpit Agrawal & Co. — Practicing Company Secretary
   Design tokens
   =================================================================== */
:root{
  --ink: #11141d;   /* near-black, warm dark green cast */
  --ink-soft:   #3B4A44;
  --pine: #1f2437;   /* primary — deep pine green */
  --pine-dark: #0a1127;
  --pine-light: #efebdc;   /* tint for surfaces on pine */
  --brass:      #A9793C;   /* accent — muted brass/seal color */
  --brass-dark: #8C6430;
  --paper: #ffffff;   /* warm off-white background */
  --paper-alt:  #F1EFE8;
  --line:       #E1E1D8;
  --white:      #FFFFFF;
  --shadow:     0 20px 50px -25px rgba(22,36,31,.35);
  --radius:     2px;
}

*{ box-sizing:border-box; }

body{
  font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-size:16px;
  line-height:1.7;
}

h1,h2,h3,h4,h5,.display-font{
  font-family:'Fraunces', Georgia, serif;
  font-weight:600;
  letter-spacing:-0.01em;
  color:var(--ink);
}

a{ color:var(--pine); text-decoration:none; transition:color .2s ease; }
a:hover{ color:var(--brass); }

.text-brass{ color:var(--brass) !important; }
.text-pine{ color:var(--pine) !important; }
.bg-pine{ background:var(--pine) !important; }
.bg-pine-dark{ background:var(--pine-dark) !important; }
.bg-paper-alt{ background:var(--paper-alt) !important; }

.eyebrow{
  font-family:'Inter', sans-serif;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brass);
  display:inline-flex;
  align-items:center;
  gap:.6rem;
}
.eyebrow::before{
  content:"";
  width:28px; height:1px;
  background:var(--brass);
  display:inline-block;
}

/* ---------- Buttons ---------- */
.btn{
  border-radius:var(--radius);
  font-weight:600;
  font-size:.92rem;
  padding:.75rem 1.6rem;
  letter-spacing:.01em;
  transition:all .2s ease;
}
.btn-pine{
  background:var(--pine);
  border:1px solid var(--pine);
  color:var(--white);
}
.btn-pine:hover{ background:var(--pine-dark); border-color:var(--pine-dark); color:var(--white); }

.btn-brass{
  background:var(--brass);
  border:1px solid var(--brass);
  color:var(--white);
}
.btn-brass:hover{ background:var(--brass-dark); border-color:var(--brass-dark); color:var(--white); }

.btn-outline-light-custom{
  background:transparent;
  border:1px solid rgba(255,255,255,.45);
  color:var(--white);
}
.btn-outline-light-custom:hover{ background:rgba(255,255,255,.12); color:var(--white); border-color:var(--white); }

.btn-outline-pine{
  background:transparent;
  border:1px solid var(--pine);
  color:var(--pine);
}
.btn-outline-pine:hover{ background:var(--pine); color:var(--white); }

/* ---------- Navbar ---------- */
.site-header{
  background:var(--paper);
  border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:1030;
}
.topbar{
  background: #f1efe8;
  color: rgb(15 21 40);
  font-size:.82rem;
  border-bottom: 1px solid #dcdcdc;
}
.topbar a{color: rgb(16 21 40);}
.topbar a:hover{ color:var(--brass); }

.navbar-brand-custom{
  display:flex; align-items:center; gap:.7rem;
}
.brand-mark{
  width:44px; height:44px;
  border:1.5px solid var(--pine);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces', serif;
  font-weight:600;
  color:var(--pine);
  font-size:1.05rem;
  flex-shrink:0;
}
.brand-text-title{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:1.05rem;
  color:var(--ink);
  line-height:1.2;
}
.brand-text-sub{
  font-size:.72rem;
  color:var(--ink-soft);
  letter-spacing:.06em;
  text-transform:uppercase;
}

.navbar-nav .nav-link{
  font-weight:500;
  font-size:.94rem;
  color:var(--ink) !important;
  padding:.5rem 1rem !important;
}
.navbar-nav .nav-link.active,
.navbar-nav .nav-link:hover{ color:var(--pine) !important; }

/* ---------- Hero ---------- */
.hero{
  background:var(--pine-dark);
  position:relative;
  overflow:hidden;
  color:var(--white);
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 88% 12%, rgba(169,121,60,.18), transparent 45%),
    radial-gradient(circle at 10% 90%, rgba(255,255,255,.05), transparent 40%);
  pointer-events:none;
}
.hero-credentials{
  display:flex; flex-wrap:wrap; gap:1rem 1.8rem;
  margin-top:2rem;
}
.hero-credential{
  display:flex; align-items:center; gap:.55rem;
  font-size:.86rem;
  color:rgba(255,255,255,.82);
}
.hero-credential i{ color:var(--brass); font-size:1.05rem; }

/* Seal / stamp motif — signature element */
.seal{
  width:132px; height:132px;
  border:1.5px solid var(--brass);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  position:relative;
  flex-shrink:0;
}
.seal::before{
  content:"";
  position:absolute; inset:8px;
  border:1px dashed rgba(169,121,60,.55);
  border-radius:50%;
}
.seal-inner{
  text-align:center;
  font-family:'Fraunces', serif;
  color:var(--brass);
}
.seal-inner .seal-year{ font-size:1.5rem; font-weight:600; line-height:1; }
.seal-inner .seal-label{ font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; margin-top:.25rem; }

/* Hero form card */
.hero-form-card{
  background:var(--white);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:2.1rem;
}
.hero-form-card h3{ font-size:1.35rem; }
.form-label{
  font-size:.82rem;
  font-weight:600;
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.form-control, .form-select{
  border-radius:var(--radius);
  border:1px solid var(--line);
  padding:.68rem .9rem;
  font-size:.94rem;
}
.form-control:focus, .form-select:focus{
  border-color:var(--pine);
  box-shadow:0 0 0 3px rgba(36,70,58,.15);
}

/* ---------- Stats ---------- */
.stat-strip{ background:var(--paper-alt); border-bottom:1px solid var(--line); }
.stat-block{ text-align:center; padding:2.2rem 1rem; }
.stat-num{
  font-family:'Fraunces', serif;
  font-size:2.4rem;
  font-weight:600;
  color:var(--pine);
  line-height:1;
}
.stat-label{
  font-size:.82rem;
  color:var(--ink-soft);
  margin-top:.4rem;
}

/* ---------- Section basics ---------- */
.section{ padding:5.5rem 0; }
.section-sm{ padding:3.5rem 0; }
.section-title{ font-size:2rem; margin-top:.6rem; }
.section-lede{ color:var(--ink-soft); font-size:1.05rem; max-width:640px; }

/* ---------- Cards ---------- */
.card-custom{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:2rem 1.8rem;
  height:100%;
  transition:border-color .2s ease, transform .2s ease;
}
.card-custom:hover{ border-color:var(--pine); transform:translateY(-4px); }
.card-icon{
  width:52px; height:52px;
  border-radius:50%;
  background:var(--pine-light);
  color:var(--pine);
  display:flex; align-items:center; justify-content:center;
  font-size:1.35rem;
  margin-bottom:1.2rem;
}
.card-custom h4{ font-size:1.12rem; }
.card-custom p{ color:var(--ink-soft); font-size:.94rem; margin-bottom:0; }

.service-list li{
  font-size:.88rem;
  color:var(--ink-soft);
  padding:.3rem 0;
}
.service-list li i{ color:var(--brass); margin-right:.5rem; font-size:.7rem; }

/* ---------- Process ---------- */
.process-step{ position:relative; padding-left:0; }
.process-num{
  font-family:'Fraunces', serif;
  font-size:2.6rem;
  font-weight:600;
  color:var(--pine-light);
  -webkit-text-stroke: 1px var(--pine);
  line-height:1;
}

/* ---------- Testimonials ---------- */
.testi-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.9rem;
  height:100%;
}
.testi-stars{ color:var(--brass); font-size:.85rem; letter-spacing:.1em; }
.testi-quote{ font-size:.94rem; color:var(--ink-soft); margin:1rem 0 1.3rem; }
.testi-name{ font-weight:600; font-size:.94rem; }
.testi-meta{ font-size:.78rem; color:var(--ink-soft); }
.google-badge{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.82rem; color:var(--ink-soft);
}

/* ---------- Accordion (services) ---------- */
.accordion-custom .accordion-item{
  border:1px solid var(--line);
  border-radius:var(--radius) !important;
  margin-bottom:.9rem;
  overflow:hidden;
}
.accordion-custom .accordion-button{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:1.08rem;
  color:var(--ink);
  background:var(--white);
  padding:1.3rem 1.6rem;
}
.accordion-custom .accordion-button:not(.collapsed){
  background:var(--pine-light);
  color:var(--pine-dark);
  box-shadow:none;
}
.accordion-custom .accordion-button:focus{ box-shadow:none; }
.accordion-custom .accordion-button::after{ flex-shrink:0; }
.accordion-body{ padding:0 1.6rem 1.5rem; }
.accordion-body ul{ columns:2; column-gap:2rem; }
.accordion-body li{ break-inside:avoid; font-size:.92rem; color:var(--ink-soft); padding:.35rem 0; }
.accordion-body li i{ color:var(--brass); margin-right:.5rem; font-size:.7rem; }
@media (max-width:767px){ .accordion-body ul{ columns:1; } }

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--pine);
  color:var(--white);
  border-radius:var(--radius);
  padding:3.2rem;
}

/* ---------- Category sub-nav (services page tabs) ---------- */
.subnav{
  position:sticky;
  top:0;
  z-index:1020;
  background:var(--white);
  border-bottom:1px solid var(--line);
}
.subnav-scroll{
  display:flex;
  gap:.5rem;
  overflow-x:auto;
  padding:.9rem 0;
  scrollbar-width:none;
}
.subnav-scroll::-webkit-scrollbar{ display:none; }
.subnav-pill{
  flex:0 0 auto;
  font-size:.84rem;
  font-weight:600;
  color:var(--ink-soft);
  background:var(--paper-alt);
  border:1px solid var(--line);
  border-radius:30px;
  padding:.45rem 1.05rem;
  white-space:nowrap;
  transition:all .2s ease;
}
.subnav-pill:hover{ color:var(--pine); border-color:var(--pine); }
.subnav-pill.is-active{
  background:var(--pine);
  border-color:var(--pine);
  color:var(--white);
}
.service-count-badge{
  font-size:.72rem;
  font-weight:600;
  color:var(--brass);
  background:var(--pine-light);
  border-radius:20px;
  padding:.2rem .7rem;
  margin-left:.6rem;
}

/* ---------- Page title (inner pages) ---------- */
.page-title{
  background:var(--pine-dark);
  color:var(--white);
  padding:4.2rem 0 3.2rem;
  position:relative;
  overflow:hidden;
}
.page-title::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(circle at 85% 20%, rgba(169,121,60,.16), transparent 45%);
}
.breadcrumb-custom{ font-size:.85rem; color:rgba(255,255,255,.7); }
.breadcrumb-custom a{ color:rgba(255,255,255,.7); }
.breadcrumb-custom a:hover{ color:var(--brass); }

/* ---------- Footer ---------- */
.site-footer{ background:var(--pine-dark); color:rgba(255,255,255,.72); }
.site-footer h6{ color:var(--white); font-family:'Inter',sans-serif; font-weight:600; font-size:.86rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1.2rem; }
.site-footer a{ color:rgba(255,255,255,.65); }
.site-footer a:hover{ color:var(--brass); }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); font-size:.82rem; color:rgba(255,255,255,.5); }

/* ---------- Floating action buttons ---------- */
.fab-stack{
  position:fixed; right:1.3rem; bottom:1.3rem; z-index:1040;
  display:flex; flex-direction:column; gap:.75rem;
}
.fab{
  width:56px; height:56px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem;
  color:var(--white);
  box-shadow:0 10px 25px -8px rgba(0,0,0,.4);
  transition:transform .2s ease;
}
.fab:hover{ transform:scale(1.08); color:var(--white); }
.fab-whatsapp{ background:#25D366; }
.fab-call{ background:var(--pine); }

/* ---------- Utilities ---------- */
.divider-brass{ width:60px; height:2px; background:var(--brass); }

@media (max-width:991px){
  .section{ padding:3.6rem 0; }
  .hero{ padding-top:2.5rem; padding-bottom:2.5rem; }
}
