/* ==========================================================================
   Sanatan Divya Sansthan — Design Tokens
   Palette: cream #FBF3E2 · maroon #5C1414 · maroon-deep #3A0D0D
            gold #B8873A · gold-light #E7C878 · saffron #E0651E · charcoal #241A12
   Display (Hindi): 'Yatra One'  |  Body: 'Noto Sans Devanagari' + 'Poppins'
   Accent quotes: 'Cormorant Garamond' italic
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Yatra+One&family=Noto+Sans+Devanagari:wght@400;500;600;700&family=Poppins:wght@300;400;500;600;700&family=Cormorant+Garamond:ital@1&display=swap');

:root{
  --cream:#FBF3E2;
  --cream-2:#F2E4C6;
  --maroon:#5C1414;
  --maroon-2:#7A1F1F;
  --maroon-deep:#320B0B;
  --gold:#B8873A;
  --gold-light:#E7C878;
  --saffron:#E0651E;
  --charcoal:#241A12;
  --ink:#3A2A1C;
  --shadow: 0 14px 34px rgba(58,13,13,.18);
  --radius: 6px;
  --font-display:'Yatra One', cursive;
  --font-body:'Noto Sans Devanagari','Poppins',sans-serif;
  --font-ui:'Poppins',sans-serif;
  --font-accent:'Cormorant Garamond', serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--cream);
  line-height:1.7;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
h1,h2,h3,h4{font-family: var(--font-display); color: var(--maroon-deep); font-weight:400; letter-spacing:.3px;}
.container{width:100%; max-width:1180px; margin:0 auto; padding:0 24px;}
.eyebrow{
  font-family: var(--font-ui); font-size:.78rem; letter-spacing:3px; text-transform:uppercase;
  color: var(--saffron); font-weight:600; display:inline-flex; align-items:center; gap:10px; margin-bottom:14px;
}
.eyebrow::before{content:""; width:22px; height:2px; background:var(--gold);}
.accent-line{font-family: var(--font-accent); font-style:italic; color:var(--maroon-2); font-size:1.15rem;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px; font-family:var(--font-ui); font-weight:600;
  font-size:.95rem; padding:14px 30px; border-radius:3px; border:1.5px solid transparent; cursor:pointer;
  transition:.3s ease; letter-spacing:.3px;
}
.btn-primary{background: linear-gradient(135deg,var(--saffron),#c94f14); color:#fff; box-shadow:var(--shadow);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 18px 30px rgba(224,101,30,.35);}
.btn-outline{border-color:var(--gold); color:var(--maroon-deep); background:transparent;}
.btn-outline:hover{background:var(--gold); color:#fff;}
.btn-ghost{color:var(--gold-light); border-color:var(--gold-light);}
.btn-ghost:hover{background:var(--gold-light); color:var(--maroon-deep);}

/* ---------- Diya bullet ---------- */
.diya-list li{position:relative; padding-left:34px; margin-bottom:14px;}
.diya-list li::before{
  content:"🪔"; position:absolute; left:0; top:0; font-size:1.1rem;
  animation: flicker 2.6s infinite ease-in-out;
}

/* ---------- Mandala ring signature ---------- */
.mandala-ring{position:relative; display:inline-block;}
.mandala-ring::before, .mandala-ring::after{
  content:""; position:absolute; border-radius:50%; border:1.5px dashed var(--gold);
  inset:-16px; z-index:1; animation: spin 40s linear infinite;
}
.mandala-ring::after{ inset:-30px; border-style:solid; border-width:1px; border-color:rgba(184,135,58,.35); animation-duration:60s; animation-direction:reverse;}
@keyframes spin{ to{ transform:rotate(360deg);} }
@keyframes flicker{ 0%,100%{opacity:1; transform:scale(1);} 50%{opacity:.75; transform:scale(.92);} }

.section-divider{
  width:100%; height:46px; background-repeat:repeat-x; background-size:60px 46px;
  background-image: radial-gradient(circle at 30px 0, transparent 26px, var(--cream) 27px);
}

/* ==================== HEADER ==================== */
.top-strip{
  background: var(--maroon-deep); color: var(--gold-light); font-family:var(--font-ui);
  font-size:.78rem; padding:7px 0;
}
.top-strip .container{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px;}
.top-strip a{display:inline-flex; align-items:center; gap:6px; color:var(--gold-light);}
.top-strip a:hover{color:#fff;}
.top-social{display:flex; gap:14px;}

header.site-header{
  position:sticky; top:0; z-index:100; background: var(--cream);
  border-bottom:2px solid var(--gold); box-shadow:0 2px 14px rgba(58,13,13,.08);
}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; padding:12px 24px;}
.nav-wrap > *{min-width:0;}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{width:52px; height:52px; border-radius:50%; object-fit:cover; border:2px solid var(--gold);}
.brand-text .name{font-family:var(--font-display); font-size:1.3rem; color:var(--maroon-deep); line-height:1;}
.brand-text .tag{font-family:var(--font-ui); font-size:.68rem; letter-spacing:1.5px; color:var(--saffron); text-transform:uppercase;}

nav.main-nav ul{display:flex; gap:30px; font-family:var(--font-ui); font-weight:500; font-size:.95rem;}
nav.main-nav a{position:relative; padding:6px 0; color:var(--ink);}
nav.main-nav a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--saffron); transition:.3s;}
nav.main-nav a:hover::after, nav.main-nav a.active::after{width:100%;}
nav.main-nav a.active{color:var(--maroon-2); font-weight:600;}

.header-actions{display:flex; align-items:center; gap:14px;}
.call-btn{display:flex; align-items:center; gap:10px; white-space:nowrap; font-family:var(--font-ui); font-weight:600; font-size:.85rem; color:var(--maroon-deep);}
.call-btn svg{width:22px; height:22px; flex:0 0 22px; fill:var(--saffron);}

.nav-toggle{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.nav-toggle span{width:26px; height:2.5px; background:var(--maroon-deep); border-radius:2px;}

/* ==================== HERO ==================== */
.hero{
  position:relative; background: linear-gradient(120deg, var(--maroon-deep) 42%, var(--maroon) 100%);
  overflow:hidden;
}
.hero .container{display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; padding-top:70px; padding-bottom:70px;}
.hero-copy h1{font-size:2.7rem; color:var(--gold-light); line-height:1.25; margin-bottom:18px;}
.hero-copy h1 span{color:#fff;}
.hero-copy p{color:#EADFC6; font-size:1.05rem; max-width:520px; margin-bottom:28px;}
.hero-cta{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:34px;}
.hero-stats{display:flex; gap:34px; flex-wrap:wrap;}
.hero-stats div{font-family:var(--font-ui);}
.hero-stats strong{display:block; font-family:var(--font-display); font-size:1.8rem; color:var(--gold-light);}
.hero-stats span{font-size:.78rem; color:#D8C7A0; text-transform:uppercase; letter-spacing:1px;}

.hero-img-wrap{position:relative; justify-self:center;}
.hero-img-wrap img{width:320px; height:390px; object-fit:cover; border-radius:180px 180px 8px 8px; box-shadow:0 30px 60px rgba(0,0,0,.4); border:4px solid var(--gold-light);}
.hero-glow{position:absolute; inset:-40px; background: radial-gradient(circle, rgba(231,200,120,.25), transparent 70%); z-index:0;}
.floating-om{position:absolute; font-family:var(--font-display); color:var(--gold-light); opacity:.5; font-size:2.4rem; animation:float 6s ease-in-out infinite;}
.floating-om.om1{top:6%; right:10%;}
.floating-om.om2{bottom:8%; left:2%; animation-delay:2s;}
@keyframes float{0%,100%{transform:translateY(0);} 50%{transform:translateY(-16px);}}

/* ==================== GENERIC SECTIONS ==================== */
section{padding:86px 0;}
.section-head{max-width:640px; margin:0 auto 50px; text-align:center;}
.section-head h2{font-size:2.2rem; margin-bottom:14px;}
.section-head.left{margin:0 0 44px; text-align:left;}

.card-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
.value-card{
  background:#fff; border:1px solid var(--cream-2); border-top:3px solid var(--gold); border-radius:var(--radius);
  padding:34px 26px; text-align:center; transition:.35s;
}
.value-card:hover{transform:translateY(-8px); box-shadow:var(--shadow); border-top-color:var(--saffron);}
.value-card .value-image{width:92px; height:92px; margin:0 auto 18px; border-radius:50%; border:3px solid var(--gold); object-fit:cover;}
.value-card h3{font-size:1.15rem; margin-bottom:10px;}
.value-card p{font-size:.92rem; color:#6b5a45;}

.about-split{display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:center;}
.about-split > *{min-width:0;}
.about-split img{border-radius:220px 220px 10px 10px; border:4px solid var(--gold); box-shadow:var(--shadow);}
.about-split h2{font-size:2.1rem; margin-bottom:16px;}
.about-split p{margin-bottom:16px; color:#5a4632;}

.dark-section{background: var(--maroon-deep); color:#EADFC6;}
.dark-section h2{color:var(--gold-light);}
.dark-section .section-head p{color:#cbb891;}

.cta-strip{
  background: linear-gradient(120deg,var(--saffron),#B84315); color:#fff; text-align:center; padding:56px 24px; border-radius:10px;
  margin:0 24px;
}
.cta-strip h2{color:#fff; margin-bottom:12px;}
.cta-strip .btn-outline{border-color:#fff; color:#fff;}
.cta-strip .btn-outline:hover{background:#fff; color:var(--saffron);}

/* Service cards */
.service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.service-card{
  background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:0 8px 24px rgba(58,13,13,.08);
  display:flex; flex-direction:column; border:1px solid var(--cream-2);
}
.service-card .sc-image{width:100%; height:180px; object-fit:cover;}
.service-card .sc-head{background: var(--maroon-deep); color:var(--gold-light); padding:22px 24px; display:flex; align-items:center; gap:14px;}
.service-card .sc-head .icon{font-size:1.8rem;}
.service-card .sc-head h3{color:var(--gold-light); font-size:1.15rem;}
.service-card .sc-body{padding:22px 24px; flex:1; display:flex; flex-direction:column;}
.service-card .sc-body p{color:#5a4632; font-size:.93rem; margin-bottom:18px; flex:1;}
.service-card .sc-body a{align-self:flex-start; font-family:var(--font-ui); font-weight:600; font-size:.85rem; color:var(--saffron); display:inline-flex; align-items:center; gap:6px;}
.service-card .sc-body a:hover{color:var(--maroon-2);}

.process-steps{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; counter-reset:step;}
.process-steps div{text-align:center; position:relative; padding-top:14px;}
.process-steps div::before{
  counter-increment:step; content: counter(step); font-family:var(--font-display); font-size:1.3rem;
  width:48px; height:48px; border-radius:50%; border:2px solid var(--gold); display:flex; align-items:center; justify-content:center;
  margin:0 auto 16px; color:var(--maroon-deep); background:var(--cream);
}
.process-steps h4{font-size:1rem; margin-bottom:8px;}
.process-steps p{font-size:.88rem; color:#6b5a45;}

/* Service category blocks (full service list page) */
.service-category{margin-bottom:56px;}
.service-category:last-child{margin-bottom:0;}
.cat-head{display:flex; align-items:center; gap:14px; margin-bottom:28px;}
.cat-head .cat-icon{width:52px; height:52px; border-radius:50%; background:var(--cream-2); display:flex; align-items:center; justify-content:center; border:1.5px solid var(--gold); flex-shrink:0; overflow:hidden;}
.cat-head .cat-icon img{width:100%; height:100%; object-fit:cover; display:block;}
.cat-head h2{font-size:1.5rem; margin-bottom:2px;}
.cat-head p{font-family:var(--font-ui); font-size:.82rem; color:var(--saffron); text-transform:uppercase; letter-spacing:1.5px; margin:0;}

.mini-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.mini-card{
  background:#fff; border:1px solid var(--cream-2); border-radius:var(--radius); padding:20px;
  display:flex; flex-direction:column; gap:10px; transition:.3s; border-left:3px solid var(--gold);
}
.mini-card:hover{transform:translateY(-4px); box-shadow:0 12px 26px rgba(58,13,13,.12); border-left-color:var(--saffron);}
.mini-card .mc-top{display:block;}
.mini-card .mc-top .icon{width:100%; height:170px; display:block; overflow:hidden; border-radius:4px; background:var(--cream-2); border:1px solid var(--gold); margin-bottom:14px;}
.mini-card .mc-top .icon img{width:100%; height:100%; object-fit:cover; display:block;}
.mini-card h4{font-family:var(--font-ui); font-weight:600; font-size:.98rem; color:var(--maroon-deep); line-height:1.35;}
.mini-card p{font-size:.85rem; color:#6b5a45; flex:1; margin:0;}
.mini-card .wa-btn{
  align-self:flex-start; display:inline-flex; align-items:center; gap:7px; font-family:var(--font-ui); font-weight:600;
  font-size:.78rem; color:#fff; background:#25D366; padding:9px 16px; border-radius:20px; transition:.25s;
}
.mini-card .wa-btn:hover{background:#1ea952; transform:translateY(-2px);}
.mini-card .wa-btn svg{width:14px; height:14px; fill:#fff;}

/* Gallery */
.gallery-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.gallery-item{position:relative; overflow:hidden; border-radius:var(--radius); cursor:pointer; border:2px solid var(--cream-2);}
.gallery-item img{width:100%; height:280px; object-fit:cover; transition:.5s;}
.gallery-item:hover img{transform:scale(1.08);}
.gallery-item .cap{position:absolute; inset:auto 0 0 0; background:linear-gradient(to top, rgba(50,11,11,.88), transparent); color:#fff; padding:18px 16px 12px; font-family:var(--font-ui); font-size:.85rem;}
.gallery-item.wide{grid-column:span 2;}

.lightbox{position:fixed; inset:0; background:rgba(36,26,18,.92); display:none; align-items:center; justify-content:center; z-index:1000; padding:30px;}
.lightbox.active{display:flex;}
.lightbox img{max-width:90vw; max-height:85vh; border:4px solid var(--gold-light); border-radius:6px;}
.lightbox-close{position:absolute; top:26px; right:34px; color:#fff; font-size:2rem; cursor:pointer; background:none; border:none;}

/* Testimony/quote panel */
.quote-panel{background:var(--cream-2); border-left:4px solid var(--gold); padding:30px 34px; border-radius:4px;}
.quote-panel p{font-family:var(--font-accent); font-style:italic; font-size:1.2rem; color:var(--maroon-2);}

/* Contact page */
.contact-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:50px;}
.info-card{background:#fff; border:1px solid var(--cream-2); border-radius:var(--radius); padding:24px; display:flex; gap:16px; align-items:flex-start; margin-bottom:18px; box-shadow:0 6px 18px rgba(58,13,13,.06);}
.info-card .icon{font-size:1.6rem; color:var(--saffron);}
.info-card h4{font-size:1.02rem; margin-bottom:4px; font-family:var(--font-ui); color:var(--maroon-deep); font-weight:600;}
.info-card p, .info-card a{font-size:.92rem; color:#5a4632;}
.social-row{display:flex; gap:14px; margin-top:20px;}
.social-row a{width:44px; height:44px; border-radius:50%; background:var(--maroon-deep); color:var(--gold-light); display:flex; align-items:center; justify-content:center; font-size:1.1rem; transition:.3s;}
.social-row a:hover{background:var(--saffron); color:#fff; transform:translateY(-3px);}

.contact-form{background:#fff; padding:36px; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid var(--cream-2);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px;}
.form-group{display:flex; flex-direction:column; gap:6px;}
.form-group input, .form-group select, .form-group textarea{width:100%; min-width:0;}
.form-group.full{grid-column:1/-1;}
label{font-family:var(--font-ui); font-size:.82rem; font-weight:600; color:var(--maroon-deep);}
input, select, textarea{
  padding:12px 14px; border:1.5px solid var(--cream-2); border-radius:4px; font-family:var(--font-body); font-size:.94rem; background:var(--cream);
  transition:.25s;
}
input:focus, select:focus, textarea:focus{outline:none; border-color:var(--gold);}
textarea{resize:vertical; min-height:110px;}
.form-note{font-size:.82rem; color:#8a765a; margin-top:10px;}
#formStatus{margin-top:14px; font-family:var(--font-ui); font-size:.9rem; font-weight:600;}

.map-embed{border-radius:var(--radius); overflow:hidden; border:3px solid var(--gold); margin-top:24px;}
.map-embed iframe{width:100%; height:260px; border:0; display:block;}

/* FAQ */
.faq-item{border-bottom:1px solid var(--cream-2); padding:18px 0;}
.faq-q{display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-family:var(--font-ui); font-weight:600; color:var(--maroon-deep);}
.faq-q .plus{font-size:1.3rem; color:var(--saffron); transition:.3s;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:.35s ease; font-size:.92rem; color:#5a4632; padding-top:0;}
.faq-item.open .faq-a{max-height:220px; padding-top:12px;}

/* ==================== FOOTER ==================== */
footer{background:var(--maroon-deep); color:#D8C7A0; padding-top:70px;}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1.1fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(231,200,120,.2);}
.footer-brand{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
.footer-brand img{width:48px; height:48px; border-radius:50%; border:2px solid var(--gold-light);}
.footer-brand .name{font-family:var(--font-display); color:var(--gold-light); font-size:1.2rem;}
footer h4{font-family:var(--font-ui); color:var(--gold-light); font-size:.95rem; margin-bottom:18px; letter-spacing:.5px;}
footer p{font-size:.88rem; margin-bottom:10px;}
footer ul li{margin-bottom:10px; font-size:.88rem;}
footer ul li a:hover{color:var(--gold-light);}
.footer-social{display:flex; gap:12px; margin-top:16px;}
.footer-social a{width:38px; height:38px; border-radius:50%; border:1px solid var(--gold-light); display:flex; align-items:center; justify-content:center;}
.footer-social a:hover{background:var(--gold-light); color:var(--maroon-deep);}
.footer-bottom{text-align:center; padding:22px 0; font-size:.8rem; color:#a89575;}

/* WhatsApp floating button */
.wa-float{
  position:fixed; bottom:26px; right:26px; z-index:200; width:60px; height:60px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(0,0,0,.3);
  animation:pulse 2.4s infinite;
}
.wa-float svg{width:32px; height:32px; fill:#fff;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55);} 70%{box-shadow:0 0 0 16px rgba(37,211,102,0);} 100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}}

/* reveal on scroll */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.reveal.visible{opacity:1; transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

/* ==================== FLUID TYPE (mobile-first base) ==================== */
h1{font-size:clamp(1.7rem, 4.6vw, 2.7rem);}
.section-head h2, .about-split h2{font-size:clamp(1.4rem, 3.6vw, 2.2rem);}
section{padding:clamp(46px,8vw,86px) 0;}

/* ==================== RESPONSIVE ==================== */
@media (max-width:1024px){
  .card-grid, .service-grid, .process-steps, .mini-grid{grid-template-columns:repeat(2,1fr);}
  .hero .container{grid-template-columns:1fr; text-align:center;}
  .hero-cta, .hero-stats{justify-content:center;}
  .hero-copy p{margin-left:auto; margin-right:auto;}
  .about-split, .contact-grid{grid-template-columns:1fr;}
  .about-split img{max-width:340px; margin:0 auto;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:900px){
  nav.main-nav{position:fixed; top:0; left:0; right:0; bottom:0; height:100dvh; background:var(--cream); flex-direction:column; padding:100px 26px 26px; border-bottom:2px solid var(--gold); transform:translateX(100%); transition:.35s ease; z-index:99; overflow-y:auto;}
  nav.main-nav.open{transform:translateX(0);}
  nav.main-nav ul{flex-direction:column; gap:6px; width:100%;}
  nav.main-nav ul li{border-bottom:1px solid var(--cream-2);}
  nav.main-nav a{display:block; padding:16px 4px; font-size:1.05rem;}
  nav.main-nav a::after{display:none;}
  .nav-toggle{display:flex; z-index:101;}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .nav-toggle span{transition:.3s;}
  .nav-wrap{padding:10px 20px;}
  nav.main-nav + .header-actions{gap:8px;}
}
@media (max-width:720px){
  .container{padding:0 18px;}
  .call-btn span{display:none;}
  .header-actions{gap:12px;}
  .header-actions .btn-primary{padding:10px 16px; font-size:.82rem;}
  .nav-wrap{padding:10px 16px;}
  .brand img{width:42px; height:42px;}
  .brand-text .name{font-size:1.05rem;}
  .brand-text .tag{font-size:.6rem;}

  /* reduce header width on mobile */
  header.site-header{padding:0 10px;}
  .nav-wrap{width:calc(100% - 10px); max-width:560px; margin:8px auto; padding:8px 10px; border-radius:14px; background:rgba(255,255,255,.92); box-shadow:0 5px 14px rgba(58,13,13,.07);}
  .brand{gap:8px;}
  .brand img{width:36px; height:36px;}
  .brand-text .name{font-size:.9rem; line-height:1.1;}
  .brand-text .tag{font-size:.48rem; letter-spacing:.8px;}
  .header-actions{gap:10px;}
  .call-btn{font-size:.72rem; gap:8px;}
  .call-btn svg{width:18px; height:18px; flex-basis:18px;}
  .header-actions .btn-primary{padding:8px 12px; font-size:.74rem;}
  .nav-wrap .nav-link{font-size:.8rem;}

  .card-grid, .service-grid, .process-steps, .gallery-grid, .mini-grid{grid-template-columns:1fr;}
  .cat-head{gap:10px;}
  .cat-head .cat-icon{width:42px; height:42px; font-size:1.3rem;}
  .cat-head h2{font-size:1.25rem;}
  .gallery-item.wide{grid-column:span 1;}
  .gallery-item img{height:220px;}
  .form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr; text-align:left;}
  .top-strip .container{flex-direction:column; gap:6px; padding:0 18px;}
  .top-social{flex-wrap:wrap; justify-content:center;}

  .hero .container{padding-top:40px; padding-bottom:40px; gap:28px;}
  .hero-img-wrap img{width:min(78vw,300px); height:min(94vw,360px);}
  .hero-stats{gap:20px;}
  .hero-cta{flex-direction:column; align-items:stretch;}
  .hero-cta .btn{justify-content:center; width:100%;}

  .cta-strip{margin:0 12px; padding:40px 18px;}
  .cta-strip .hero-cta{max-width:340px; margin:0 auto;}

  .contact-form{padding:22px;}
  .info-card{padding:18px;}
  .mini-card .wa-btn{width:100%; justify-content:center;}
  .cat-head h2{line-height:1.3;}
  .about-split{gap:32px;}
  .about-split > div{width:100%;}
  .about-split .quote-panel{padding:24px 20px; text-align:left;}
  .about-split .diya-list{margin-top:0;}
  .about-split .btn{max-width:100%;}
}
@media (max-width:420px){
  .hero-stats{justify-content:space-between; width:100%;}
  .hero-stats div{flex:1 1 30%;}
  .hero-stats strong{font-size:1.4rem;}
  .value-card, .service-card .sc-body{padding-left:18px; padding-right:18px;}
  .btn{padding:13px 22px; font-size:.9rem;}
}
