*{box-sizing:border-box}
:root{
  --bg:#ffffff;--text:#191919;--muted:#5b5b5b;--line:#ececec;
  --gold:#d8a319;--gold-soft:#fff5d8;--purple:#6b2db9;--purple-soft:#f5efff;
  --shadow:0 18px 50px rgba(0,0,0,.08);--radius:24px
}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
img{max-width:100%;display:block}
.container{width:min(1120px,calc(100% - 32px));margin:0 auto}
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.topbar-inner{min-height:74px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.brand-mini{font-weight:800;letter-spacing:.4px}
.phone-link{color:var(--purple);text-decoration:none;font-weight:800}
.hero{padding:56px 0 36px;background:radial-gradient(circle at top left,rgba(216,163,25,.12),transparent 35%),radial-gradient(circle at bottom right,rgba(107,45,185,.10),transparent 35%),#fff}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.eyebrow,.section-tag{display:inline-block;padding:10px 16px;border-radius:999px;background:var(--purple-soft);color:var(--purple);font-weight:700;margin-bottom:18px}
.section-tag.light{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.18)}
h1{margin:0 0 14px;font-size:clamp(2.3rem,5vw,4.6rem);line-height:.95}
.hero-text{margin:0 0 24px;font-size:clamp(1.1rem,2vw,1.4rem);color:var(--muted);font-weight:700}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:24px}
.btn{text-decoration:none;padding:14px 22px;border-radius:14px;font-weight:700;transition:transform .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-primary{background:linear-gradient(135deg,var(--gold),#f0c34c);color:#1f1f1f}
.btn-secondary{background:#fff;color:var(--purple);border:1px solid #ddd}
.hero-card{width:fit-content;padding:18px 20px;border-radius:18px;background:var(--gold-soft);border:1px solid #f1deb0}
.hero-card p{margin:8px 0 0;font-size:1.4rem;font-weight:800}
.hero-visual img,.gallery-image img{border-radius:28px;box-shadow:var(--shadow);width:100%;object-fit:cover}
.services,.gallery{padding:72px 0}
.section-heading{max-width:760px;margin-bottom:28px}
.section-heading h2,.gallery-copy h2,.contact h2{margin:0 0 12px;font-size:clamp(1.9rem,3vw,3rem)}
.section-heading p,.gallery-copy p,.contact p{margin:0;color:var(--muted);line-height:1.7}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 24px;box-shadow:var(--shadow);min-height:180px;display:flex;flex-direction:column;justify-content:center}
.card-icon{font-size:2rem;margin-bottom:18px}
.card h3{margin:0;font-size:1.45rem}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.info-box{margin-top:22px;padding:18px 20px;border-left:5px solid var(--gold);background:#faf7ef;border-radius:16px}
.info-box span{display:block;margin-bottom:8px;color:var(--muted)}
.contact{padding:30px 0 80px}
.contact-box{background:linear-gradient(135deg,#28104e,#5a23a5);color:#fff;border-radius:30px;padding:48px 28px;text-align:center;box-shadow:var(--shadow)}
.contact-number{display:inline-block;margin-top:20px;text-decoration:none;color:#fff;font-size:clamp(2rem,4vw,3.8rem);font-weight:900;letter-spacing:1px}
.footer{border-top:1px solid var(--line);background:#fff}
.footer-inner{padding:24px 0 36px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.footer-inner p{margin:6px 0 0;color:var(--muted)}
.footer-right{display:flex;flex-direction:column;gap:8px;text-align:right}
.footer-right a{color:var(--purple);text-decoration:none;font-weight:800}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@media (max-width:920px){
  .hero-grid,.gallery-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .footer-right{text-align:left}
}
@media (max-width:640px){
  .topbar-inner{min-height:64px}
  .hero{padding-top:32px}
  .container{width:min(1120px,calc(100% - 24px))}
  .contact-number{line-height:1.1}
}
