/* CA Thakkar and Sons — responsive corporate website */
:root{--navy:#102746;--navy2:#0a1b31;--gold:#c59a43;--gold2:#e4c77f;--ink:#243247;--muted:#647287;--paper:#fff;--wash:#f5f7fa;--line:#e5eaf0;--shadow:0 18px 48px rgba(16,39,70,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.7 Inter,Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 40px));margin:auto}.topline{height:5px;background:linear-gradient(90deg,var(--navy),var(--gold),var(--navy))}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand img{width:60px;height:48px;object-fit:cover;object-position:center;border-radius:5px;background:var(--navy)}.brand-text{line-height:1.2}.brand-text strong{display:block;color:var(--navy);font:700 17px Georgia,serif;letter-spacing:.025em}.brand-text small{color:#9a762f;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:700;color:#435168}.nav-links a:hover,.nav-links a.active{color:#a77a28}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--navy);color:white;padding:12px 19px;border-radius:3px;font-weight:700;font-size:13px;letter-spacing:.02em;transition:.2s}.nav-cta:hover,.btn:hover{background:#1c3b62;transform:translateY(-1px)}.menu-toggle{display:none;border:1px solid var(--line);background:white;border-radius:4px;padding:9px 12px;color:var(--navy);font-size:20px}.hero{background:radial-gradient(circle at 83% 15%,rgba(197,154,67,.18),transparent 25%),linear-gradient(120deg,#0a1b31,#17385d);color:#fff;padding:100px 0 105px;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(228,199,127,.18);border-radius:50%;right:-110px;bottom:-250px;box-shadow:0 0 0 45px rgba(228,199,127,.035),0 0 0 95px rgba(228,199,127,.025)}.hero-content{max-width:760px;position:relative;z-index:1}.eyebrow{color:var(--gold2);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.hero h1{font:500 clamp(42px,6vw,68px)/1.1 Georgia,serif;max-width:760px;margin:17px 0 20px;letter-spacing:-.025em}.hero h1 span{color:var(--gold2)}.hero p{max-width:620px;color:#d4deea;font-size:17px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:32px}.btn-gold{background:var(--gold);color:#172a43}.btn-gold:hover{background:#d8b66b}.btn-outline{border:1px solid rgba(255,255,255,.45);background:transparent}.btn-outline:hover{background:rgba(255,255,255,.1)}.trust-strip{border-bottom:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:25px 0}.trust-item{display:flex;gap:13px;align-items:center}.trust-icon{width:38px;height:38px;border:1px solid #e8d8b6;color:#a77a28;display:grid;place-items:center;border-radius:50%;font-size:17px}.trust-item strong{display:block;color:var(--navy);font-size:13px}.trust-item small{color:var(--muted);font-size:12px}.section{padding:82px 0}.section-soft{background:var(--wash)}.section-head{max-width:700px;margin-bottom:38px}.section-head h2,.split h2{font:500 clamp(31px,4vw,43px)/1.2 Georgia,serif;color:var(--navy);margin:9px 0 14px}.section-head p,.split p{color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.service-card{border:1px solid var(--line);padding:27px 25px;background:#fff;min-height:220px;transition:.25s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#dfc68f}.service-icon{width:44px;height:44px;background:#f8f2e6;color:#9a7027;display:grid;place-items:center;font-size:20px;border-radius:50%;margin-bottom:20px}.service-card h3{font:600 20px Georgia,serif;color:var(--navy);margin:0 0 9px}.service-card p{font-size:14px;color:var(--muted);margin:0}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center}.feature-panel{background:linear-gradient(145deg,var(--navy),#1b416b);color:white;padding:38px;position:relative;overflow:hidden}.feature-panel:after{content:"CA";position:absolute;right:10px;bottom:-52px;font:200px Georgia,serif;color:rgba(255,255,255,.055)}.feature-panel h3{font:500 29px Georgia,serif;margin:0 0 14px;position:relative;z-index:1}.feature-panel p{color:#d2dce8;position:relative;z-index:1}.feature-panel .gold-line{width:55px;height:3px;background:var(--gold);margin:0 0 22px}.check-list{padding:0;list-style:none;margin:23px 0}.check-list li{padding:7px 0 7px 27px;position:relative;color:#48576c}.check-list li:before{content:"✓";position:absolute;left:0;color:#a77a28;font-weight:bold}.contact-band{background:#f7f3ea;border-top:1px solid #eee2ca;border-bottom:1px solid #eee2ca;padding:48px 0}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:25px}.contact-row h2{font:500 30px Georgia,serif;color:var(--navy);margin:0 0 5px}.contact-row p{margin:0;color:var(--muted)}.site-footer{background:var(--navy2);color:#d6deea;padding:54px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px}.footer-brand{font:500 23px Georgia,serif;color:white}.footer-brand span{color:var(--gold2)}.site-footer p,.site-footer li{font-size:13px;color:#b9c6d6}.site-footer h4{color:var(--gold2);font-size:11px;text-transform:uppercase;letter-spacing:.16em;margin:5px 0 17px}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:8px 0}.site-footer a:hover{color:var(--gold2)}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#9eacbd;font-size:12px}.page-hero{background:linear-gradient(120deg,#0a1b31,#17385d);color:white;padding:64px 0}.page-hero h1{font:500 clamp(38px,5vw,54px) Georgia,serif;margin:8px 0}.page-hero p{color:#d1dce8;margin:0;max-width:680px}.policy{max-width:900px;margin:50px auto 75px;padding:clamp(25px,5vw,55px);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.policy .updated{font-size:13px;color:var(--muted);margin-bottom:28px}.policy h2{font:600 22px Georgia,serif;color:var(--navy);margin:30px 0 9px}.policy p,.policy li{color:#536176;font-size:15px}.policy ul{padding-left:22px}.policy-note{background:#fbf7ed;border-left:3px solid var(--gold);padding:15px 18px;font-size:13px;color:#6c5b3b;margin-bottom:25px}.address-card{border:1px solid var(--line);padding:22px;background:white}.address-card strong{color:var(--navy)}.mobile-only{display:none}
@media(max-width:850px){.nav-links{gap:15px}.nav-cta{display:none}.split{gap:35px}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.container{width:calc(100% - 32px)}.nav{height:72px}.brand img{width:50px;height:42px}.brand-text strong{font-size:15px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;padding:18px 22px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:17px}.nav-links.open{display:flex}.hero{padding:75px 0 78px}.hero p{font-size:15px}.trust-grid{grid-template-columns:1fr;gap:16px;padding:20px 0}.section{padding:62px 0}.cards{grid-template-columns:1fr}.split{grid-template-columns:1fr}.feature-panel{padding:29px}.contact-row{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-bottom{flex-direction:column}.page-hero{padding:48px 0}.policy{margin:25px auto 45px;padding:23px 19px}}


/* --- UX refinement layer --- */
:root { scroll-padding-top: 92px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: #ead7ad; color: var(--navy2); }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}
.site-header { transition: box-shadow .25s ease, background .25s ease; }
.site-header.is-scrolled { box-shadow: 0 8px 28px rgba(10,27,49,.09); }
.nav-links a { position: relative; padding: 8px 0; }
.nav-links a::after {
  content: ""; position: absolute; left: 0; bottom: 1px; width: 100%; height: 2px;
  background: var(--gold); transform: scaleX(0); transform-origin: right;
  transition: transform .25s ease;
}
.nav-links a:hover::after, .nav-links a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.hero { isolation: isolate; }
.hero-content > * { animation: rise-in .7s both; }
.hero-content .eyebrow { animation-delay: .05s; }
.hero-content h1 { animation-delay: .13s; }
.hero-content p { animation-delay: .22s; }
.hero-content .hero-actions { animation-delay: .3s; }
@keyframes rise-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
.btn, .nav-cta { box-shadow: 0 5px 15px rgba(10,27,49,.10); }
.btn:active, .nav-cta:active { transform: translateY(0) scale(.98); }
.service-card { border-radius: 7px; }
.service-card .service-icon { transition: transform .25s ease, background .25s ease; }
.service-card:hover .service-icon { transform: rotate(-6deg) scale(1.08); background: #f1e5ca; }
.trust-icon { flex: 0 0 38px; }
.feature-panel { border-radius: 8px; box-shadow: var(--shadow); }
.contact-band { scroll-margin-top: 90px; }
.site-footer a, .policy a { transition: color .2s ease; }
.policy { border-radius: 10px; }
.policy h2 { scroll-margin-top: 100px; }
@media (min-width: 1100px) {
  .hero { padding-top: 118px; padding-bottom: 122px; }
  .section { padding-top: 96px; padding-bottom: 96px; }
}
@media (max-width: 850px) {
  .nav-links { gap: 13px; font-size: 12px; }
  .nav { gap: 15px; }
}
@media (max-width: 680px) {
  .nav-links { box-shadow: 0 16px 24px rgba(10,27,49,.08); }
  .nav-links a { width: 100%; padding: 7px 0; }
  .hero h1 { letter-spacing: -.035em; }
  .hero-actions { width: 100%; }
  .hero-actions .btn { flex: 1 1 auto; }
  .service-card { min-height: auto; padding: 24px 22px; }
  .contact-row .hero-actions { width: 100%; }
  .contact-row .hero-actions .btn { flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important;
  }
}
