
/* ============================================================
   R.K. PAWLE & ASSOCIATES — FINAL PRODUCTION POLISH
   Site-wide consistency, accessibility, responsive behaviour
   and performance-safe UI layer. Loaded last intentionally.
   ============================================================ */

:root{
  --rk-bg:#071428;
  --rk-bg-2:#0b1d34;
  --rk-surface:#0d223d;
  --rk-surface-2:#112a49;
  --rk-text:#f7fbff;
  --rk-muted:#9fb2c7;
  --rk-accent:#0EA5E9;
  --rk-accent-2:#38BDF8;
  --rk-gold:#d7b45a;
  --rk-green:#25d366;
  --rk-border:rgba(14,165,233,.18);
  --rk-shadow:0 18px 50px rgba(0,0,0,.20);
  --rk-radius:18px;
}

html{scroll-behavior:smooth;scroll-padding-top:96px}
body{min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.light-theme{
  --rk-bg:#f4f7fb;
  --rk-bg-2:#eef4f8;
  --rk-surface:#ffffff;
  --rk-surface-2:#f8fbfd;
  --rk-text:#0a2342;
  --rk-muted:#61748b;
  --rk-border:rgba(10,35,66,.10);
  --rk-shadow:0 16px 42px rgba(10,35,66,.08);
}

/* Accessible keyboard navigation */
.rk-skip-link{
  position:fixed;left:14px;top:10px;z-index:110000;
  transform:translateY(-160%);transition:transform .2s ease;
  padding:10px 14px;border-radius:10px;background:#fff;color:#071428;
  font-weight:800;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.22)
}
.rk-skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid rgba(14,165,233,.55)!important;outline-offset:3px}

/* Consistent page canvas */
main{isolation:isolate}
section{scroll-margin-top:92px}
body:not(.light-theme) .section,
body:not(.light-theme) main > section{background:var(--rk-bg)}
body.light-theme .section,
body.light-theme main > section{background:var(--rk-bg);color:var(--rk-text)}
body.light-theme main > section:nth-of-type(even){background:var(--rk-bg-2)}
body.light-theme .why,
body.light-theme .about,
body.light-theme .reviews,
body.light-theme .documents,
body.light-theme .faq-section,
body.light-theme .contact-section{background:#f4f7fb}

/* Do not let generic background rules flatten deliberate hero/CTA components */
body.light-theme .hero,
body.light-theme .hero-overlay,
body.light-theme .cta-section,
body.light-theme .map,
body.light-theme .footer{background-color:inherit}

/* Shared card rhythm */
.service-card,.doc-card,.review-card,.testimonial-card,.feature-card,
.article-card,.guide-card,.gallery-card,.why-card,.stat-card,.rk-update-card{
  border-radius:var(--rk-radius);
}
.service-grid,.documents-grid,.reviews-grid,.testimonial-grid,.features-grid,
.gallery-grid,.articles-grid{
  align-items:stretch;
}
.service-card,.doc-card,.review-card,.testimonial-card,.feature-card,
.article-card,.guide-card,.gallery-card,.why-card,.stat-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
.service-card .service-content,
.doc-card .doc-content,
.review-card .review-content,
.article-card .article-content{flex:1;display:flex;flex-direction:column}
.service-card .service-link,
.service-card .view-details,
.doc-card .doc-button,
.doc-card .view-guide,
.article-card a:last-child{margin-top:auto}

/* Documents: exact equal-height cards on desktop */
.documents-grid,.doc-grid,.document-grid{
  align-items:stretch!important;
}
.documents-grid .doc-card,.doc-grid .doc-card,.document-grid .doc-card{
  height:100%!important;min-height:0!important;
}
.documents-grid .doc-card > *,
.doc-grid .doc-card > *{box-sizing:border-box}
.documents-grid .doc-card .doc-footer,
.doc-grid .doc-card .doc-footer{
  margin-top:auto!important
}

/* Latest Updates and utility tabs stay compact */
#dueStrip,.google-profile-strip{
  contain:layout paint;
  -webkit-tap-highlight-color:transparent;
}
#dueStrip{min-height:72px!important}
.google-profile-strip{
  min-height:72px!important;
  height:72px!important;
  width:34px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:7px 5px!important;
  overflow:hidden!important;
  border-radius:0 12px 12px 0!important;
}
.google-profile-strip .google-profile-label{
  display:none!important;
}
.google-profile-strip .google-profile-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.google-profile-strip .google-profile-icon i{font-size:15px!important}
.google-profile-strip::after{
  content:"5.0";
  display:block;
  font-size:10px;
  line-height:1;
  font-weight:850;
  letter-spacing:.1px;
}
.google-profile-strip::before{
  content:"★★★★★";
  display:block;
  order:3;
  font-size:8px;
  line-height:1;
  letter-spacing:0;
}
#dueStrip{
  min-height:72px!important;
  height:72px!important;
}

/* Home sections: visually related, not alternating random backgrounds */
#home + section,
#services,#about,#why,#articles,#reviews,#documents,#faq{
  background:var(--rk-bg);
}
body.light-theme #home + section,
body.light-theme #services,
body.light-theme #about,
body.light-theme #why,
body.light-theme #articles,
body.light-theme #reviews,
body.light-theme #documents,
body.light-theme #faq{
  background:#f4f7fb!important;
}

/* Header polish */
#site-header{z-index:10000}
#site-header .navbar{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#site-header .brand img{object-fit:contain}
#site-header .nav-links a[aria-current="page"]{
  color:var(--rk-accent)!important;
  font-weight:750!important;
}

/* Buttons: consistent interaction without changing dimensions */
button,a,.btn-primary,.btn-secondary,.btn-outline,.submit{
  -webkit-tap-highlight-color:transparent;
}
button:disabled,.btn-primary:disabled{opacity:.55;cursor:not-allowed}

/* Images: prevent layout shift */
img[width][height]{height:auto}
img{content-visibility:auto}
.hero img,.brand img,.logo,img[fetchpriority="high"]{content-visibility:visible}

/* Floating controls */
.contact-float a,.contact-float button,#rkBackToTop{
  touch-action:manipulation;
}
#rkBackToTop{transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease}

/* Forms */
input,select,textarea{max-width:100%}
input:invalid:not(:placeholder-shown),select:invalid:not(:placeholder-shown),textarea:invalid:not(:placeholder-shown){
  border-color:#d84a55;
}
.form-status{min-height:20px}

/* Print */
@media print{
  #site-header,.contact-float,#rkBackToTop,#dueStrip,.google-profile-strip,
  .menu-toggle,.nav-right,.theme-toggle,.calc-btn,.no-print{display:none!important}
  body,main,section{background:#fff!important;color:#111!important}
  a{color:#111!important;text-decoration:none!important}
  .hero{min-height:auto!important;padding:20px!important}
}

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

/* Desktop */
@media(min-width:769px){
  .service-grid,.documents-grid,.doc-grid,.document-grid{
    grid-auto-rows:1fr;
  }
}

/* Tablet */
@media(max-width:1024px){
  .hero-container{gap:34px!important}
  .nav-links{gap:18px!important}
}

/* Mobile */
@media(max-width:768px){
  html{scroll-padding-top:82px}
  .hero{min-height:auto!important}
  .hero-container{grid-template-columns:1fr!important}
  .hero-title,.hero-subtitle{font-size:clamp(2rem,9vw,3.1rem)!important}
  .hero-buttons{display:grid!important;grid-template-columns:1fr!important}
  .hero-buttons>a,.hero-buttons>button{width:100%!important;justify-content:center!important}
  .hero-stats{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
  .service-grid,.documents-grid,.doc-grid,.document-grid{
    grid-template-columns:1fr!important;
  }
  .service-card,.doc-card{height:auto!important;min-height:0!important}
  .google-profile-strip{
    width:32px!important;height:68px!important;min-height:68px!important;
    border-radius:0 11px 11px 0!important;
  }
  .google-profile-strip::after{font-size:9px}
  .google-profile-strip::before{font-size:7px}
}

/* Small phones */
@media(max-width:420px){
  .nav-container{padding-left:12px!important;padding-right:12px!important}
  .brand-name{font-size:.92rem!important}
  .hero{padding-left:14px!important;padding-right:14px!important}
  .hero-stats{grid-template-columns:1fr 1fr!important}
  #dueStrip,.google-profile-strip{width:31px!important}
}

.rk-scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:120000;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,var(--rk-accent,#0EA5E9),var(--rk-accent-2,#38BDF8));pointer-events:none}


/* =========================================================
   RK PAWLE — PROFESSIONAL SUPPORT CARD / FINAL POLISH
   Scoped only to .trust-card. Content unchanged.
   ========================================================= */
.trust-card{
  position:relative!important;
  width:100%!important;
  max-width:470px!important;
  margin:0 0 0 auto!important;
  padding:28px!important;
  border:1px solid rgba(56,189,248,.24)!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 92% 4%,rgba(14,165,233,.14),transparent 32%),
    linear-gradient(145deg,rgba(15,42,70,.96),rgba(7,24,44,.97))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.07)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  overflow:hidden!important;
  isolation:isolate;
}
.trust-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,#0EA5E9,#38BDF8,rgba(56,189,248,0));
  opacity:.95;
}
.trust-card::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-105px;
  bottom:-105px;
  border-radius:50%;
  background:rgba(14,165,233,.08);
  pointer-events:none;
}
.trust-card .trust-header{
  display:flex!important;
  align-items:center!important;
  gap:15px!important;
  margin:0 0 18px!important;
  padding:0!important;
}
.trust-card .trust-icon{
  flex:0 0 50px!important;
  width:50px!important;
  height:50px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:15px!important;
  color:#38BDF8!important;
  background:linear-gradient(145deg,rgba(14,165,233,.19),rgba(56,189,248,.07))!important;
  border:1px solid rgba(56,189,248,.28)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
}
.trust-card .trust-icon i{
  font-size:20px!important;
}
.trust-card .trust-text{
  min-width:0!important;
  flex:1!important;
}
.trust-card .trust-kicker{
  display:inline-block!important;
  margin:0 0 5px!important;
  color:#38BDF8!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:1.7px!important;
  text-transform:uppercase!important;
}
.trust-card .trust-text h3{
  margin:0!important;
  color:#fff!important;
  font-family:"Manrope",sans-serif!important;
  font-size:clamp(20px,2vw,25px)!important;
  font-weight:800!important;
  line-height:1.22!important;
  letter-spacing:-.35px!important;
}
.trust-card .trust-desc{
  margin:0 0 20px!important;
  color:#b7c5d5!important;
  font-size:14px!important;
  line-height:1.7!important;
  max-width:42ch!important;
}
.trust-card .trust-points{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0 0 22px!important;
  padding:0!important;
}
.trust-card .trust-points > div{
  min-width:0!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  padding:10px 11px!important;
  border:1px solid rgba(255,255,255,.075)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.035)!important;
  color:#dce6ef!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.35!important;
}
.trust-card .trust-points .rk-inline-icon{
  flex:0 0 auto!important;
  margin-top:1px!important;
  color:#38BDF8!important;
  font-size:12px!important;
}
.trust-card .consultant{
  position:relative!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  margin:0!important;
  padding:15px!important;
  border:1px solid rgba(56,189,248,.16)!important;
  border-radius:15px!important;
  background:rgba(3,16,31,.34)!important;
}
.trust-card .consultant-avatar-wrap{
  width:64px!important;
  height:64px!important;
  flex:0 0 64px!important;
}
.trust-card .consultant-avatar-wrap img,
.trust-card .consultant img{
  display:block!important;
  width:64px!important;
  height:64px!important;
  margin:0!important;
  padding:3px!important;
  border:2px solid #0EA5E9!important;
  border-radius:50%!important;
  object-fit:cover!important;
  background:#102b49!important;
  box-shadow:0 8px 22px rgba(0,0,0,.28)!important;
}
.trust-card .consultant-info{
  min-width:0!important;
}
.trust-card .consultant-name{
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.trust-card .consultant-role{
  display:block!important;
  margin:3px 0 8px!important;
  color:#38BDF8!important;
  font-size:11.5px!important;
  font-weight:600!important;
  line-height:1.4!important;
}
.trust-card .consultant-ids{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px 12px!important;
  margin:0!important;
  color:#9fb0c5!important;
  font-size:10.5px!important;
  line-height:1.4!important;
}
.trust-card .consultant-ids p{
  min-width:0!important;
  margin:0!important;
}
.trust-card .consultant-ids p:last-child{
  grid-column:1 / -1!important;
}
.trust-card .consultant-ids i{
  color:#38BDF8!important;
  margin-right:3px!important;
}
.trust-card .consultant-ids .id-no{
  color:#8195aa!important;
  overflow-wrap:anywhere!important;
}
.trust-card .consultant-phone{
  color:#fff!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
.trust-card .consultant-phone:hover{
  color:#38BDF8!important;
}

/* Tablet */
@media (min-width:769px) and (max-width:1100px){
  .trust-card{
    max-width:440px!important;
    padding:24px!important;
  }
  .trust-card .trust-points{
    gap:8px!important;
  }
  .trust-card .trust-points > div{
    padding:9px!important;
    font-size:11.5px!important;
  }
}

/* Mobile */
@media (max-width:768px){
  .trust-card{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:20px!important;
    border-radius:19px!important;
  }
  .trust-card .trust-header{
    gap:12px!important;
    margin-bottom:15px!important;
  }
  .trust-card .trust-icon{
    flex-basis:44px!important;
    width:44px!important;
    height:44px!important;
    border-radius:13px!important;
  }
  .trust-card .trust-icon i{
    font-size:18px!important;
  }
  .trust-card .trust-kicker{
    font-size:9px!important;
    letter-spacing:1.35px!important;
  }
  .trust-card .trust-text h3{
    font-size:19px!important;
    line-height:1.25!important;
  }
  .trust-card .trust-desc{
    margin-bottom:16px!important;
    font-size:13px!important;
    line-height:1.65!important;
  }
  .trust-card .trust-points{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin-bottom:16px!important;
  }
  .trust-card .trust-points > div{
    padding:9px!important;
    font-size:11px!important;
    line-height:1.3!important;
    border-radius:10px!important;
  }
  .trust-card .consultant{
    grid-template-columns:56px minmax(0,1fr)!important;
    gap:11px!important;
    padding:12px!important;
    border-radius:13px!important;
  }
  .trust-card .consultant-avatar-wrap,
  .trust-card .consultant-avatar-wrap img,
  .trust-card .consultant img{
    width:56px!important;
    height:56px!important;
  }
  .trust-card .consultant-name{
    font-size:14px!important;
  }
  .trust-card .consultant-role{
    font-size:10.5px!important;
    margin-bottom:6px!important;
  }
  .trust-card .consultant-ids{
    grid-template-columns:1fr!important;
    gap:3px!important;
    font-size:9.5px!important;
  }
  .trust-card .consultant-ids p:last-child{
    grid-column:auto!important;
  }
}

/* Small phones — prevent cramped two-column content */
@media (max-width:420px){
  .trust-card{
    padding:17px!important;
    border-radius:17px!important;
  }
  .trust-card .trust-text h3{
    font-size:17px!important;
  }
  .trust-card .trust-desc{
    font-size:12.5px!important;
  }
  .trust-card .trust-points{
    grid-template-columns:1fr!important;
  }
  .trust-card .trust-points > div{
    min-height:38px!important;
    align-items:center!important;
  }
  .trust-card .consultant{
    grid-template-columns:52px minmax(0,1fr)!important;
  }
  .trust-card .consultant-avatar-wrap,
  .trust-card .consultant-avatar-wrap img,
  .trust-card .consultant img{
    width:52px!important;
    height:52px!important;
  }
}


/* Smooth Day/Dark theme transition */
html.theme-transition, html.theme-transition body, html.theme-transition * {
  transition-property: background-color, color, border-color, box-shadow, fill, stroke, opacity;
  transition-duration: 420ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
html.theme-transition img, html.theme-transition video, html.theme-transition canvas, html.theme-transition iframe {
  transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
  html.theme-transition, html.theme-transition body, html.theme-transition * { transition-duration: 0ms !important; }
}
