/* =====================================================
   SR LAKSHMI DECORATION
   Replace sample image URLs in index.html with your own.
===================================================== */
:root{
  --ink:#1f1b19;
  --muted:#756b65;
  --cream:#f8f4ef;
  --paper:#fffdf9;
  --gold:#bd8b52;
  --gold-light:#d7b17c;
  --line:#e5ddd5;
  --dark:#26201d;
  --serif:"Playfair Display", Georgia, serif;
  --sans:"DM Sans", Arial, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{text-decoration:none;color:inherit}
button{font:inherit}
.preloader{position:fixed;inset:0;background:var(--dark);z-index:9999;display:grid;place-items:center;align-content:center;color:#fff;transition:opacity .7s,visibility .7s}
.preloader.hide{opacity:0;visibility:hidden}
.loader-logo{font:700 42px var(--serif);letter-spacing:4px}
.loader-logo span{color:var(--gold-light);font-size:22px}
.loader-line{width:180px;height:2px;background:#514741;margin:20px 0 14px;overflow:hidden}
.loader-line i{display:block;width:50%;height:100%;background:var(--gold-light);animation:load 1.2s ease-in-out infinite}
.preloader p{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#aaa09a}
@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(300%)}}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:#fff;transition:.35s}
.site-header.scrolled{background:rgba(38,32,29,.95);height:72px;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:42px;height:42px;border:1px solid var(--gold-light);border-radius:50%;display:grid;place-items:center;font:700 14px var(--serif);color:var(--gold-light);letter-spacing:-1px}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-copy strong{font:600 19px var(--serif);letter-spacing:.2px}
.brand-copy small{font-size:8px;letter-spacing:3px;margin-top:6px;color:#cfc3ba}
.desktop-nav{display:flex;gap:34px;font-size:12px;letter-spacing:.3px}
.desktop-nav a{position:relative;opacity:.85;transition:.3s}
.desktop-nav a:hover{opacity:1;color:var(--gold-light)}
.desktop-nav a:after{content:"";position:absolute;bottom:-9px;left:0;width:0;height:1px;background:var(--gold-light);transition:.3s}
.desktop-nav a:hover:after{width:100%}
.header-cta{border:1px solid rgba(255,255,255,.5);padding:12px 17px;font-size:11px;transition:.3s}
.header-cta:hover{background:#fff;color:var(--ink)}
.header-cta span,.btn span{margin-left:12px}
.menu-toggle{display:none;background:none;border:0;color:#fff;width:32px}
.menu-toggle span{display:block;height:1px;background:#fff;margin:6px 0}
.mobile-menu{position:fixed;z-index:40;top:0;right:-100%;width:min(340px,85%);height:100vh;background:var(--dark);padding:130px 40px;display:flex;flex-direction:column;gap:28px;color:#fff;transition:.45s}
.mobile-menu.open{right:0}
.mobile-menu a{font:500 28px var(--serif);border-bottom:1px solid #49403b;padding-bottom:18px}
.hero{height:100vh;min-height:680px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,18,15,.86) 0%,rgba(25,18,15,.52) 50%,rgba(25,18,15,.18)),url("https://images.unsplash.com/photo-1519225421980-715cb0215aed?auto=format&fit=crop&w=2200&q=90") center/cover;animation:heroZoom 12s ease-out both}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-content{position:relative;z-index:2;margin-left:10vw;max-width:700px;padding-top:60px}
.eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:3px;color:#d6c7ba;font-weight:600;margin-bottom:25px}
.eyebrow span{display:block;width:28px;height:1px;background:var(--gold-light)}
.eyebrow.dark{color:var(--gold);justify-content:flex-start}
.hero h1{font:500 clamp(46px,6vw,86px)/1.04 var(--serif);letter-spacing:-2px}
.hero h1 em,.section-heading h2 em,.about-content h2 em{color:var(--gold-light);font-style:italic}
.hero h1 strong{font-weight:700}
.hero-content>p{max-width:500px;color:#ded5ce;font-size:15px;line-height:1.8;margin:28px 0 35px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;padding:16px 23px;font-size:11px;letter-spacing:.5px;transition:.3s}
.btn-primary{background:var(--gold);color:#fff}
.btn-primary:hover{background:#a67641;transform:translateY(-3px)}
.btn-ghost{border:1px solid rgba(255,255,255,.5);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.hero-side-note{position:absolute;right:5vw;bottom:80px;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px;color:#c7bdb6;z-index:2}
.hero-side-note span{display:block;margin-top:12px;color:var(--gold-light)}
.hero-stats{position:absolute;bottom:0;left:0;right:0;display:flex;gap:55px;padding:22px 10vw;background:rgba(20,14,12,.35);border-top:1px solid rgba(255,255,255,.15);z-index:2}
.hero-stats div{display:flex;align-items:center;gap:12px}
.hero-stats strong{font:600 23px var(--serif);color:var(--gold-light)}
.hero-stats span{font-size:10px;letter-spacing:1px;color:#c9beb7}
.marquee-strip{overflow:hidden;background:var(--gold);color:#fff;padding:17px 0}
.marquee-track{display:flex;align-items:center;gap:28px;width:max-content;animation:marquee 28s linear infinite;font:600 12px var(--sans);letter-spacing:3px}
.marquee-track i{font-style:normal;font-size:14px}
@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:120px 8vw}
.services-section{background:var(--cream)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}
.section-heading h2{font:500 clamp(40px,5vw,68px)/1.05 var(--serif);letter-spacing:-1.5px}
.section-heading>p{max-width:330px;color:var(--muted);font-size:14px;line-height:1.8}
.service-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-auto-rows:300px;gap:16px}
.service-card{position:relative;overflow:hidden;min-height:280px}
.service-card.tall{grid-row:span 2}
.service-card img{transition:transform .8s}
.service-card:hover img{transform:scale(1.08)}
.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,10,8,.82),transparent 60%)}
.service-overlay{position:absolute;z-index:2;inset:auto 24px 22px;color:#fff}
.service-overlay>span{font-size:10px;letter-spacing:2px;color:var(--gold-light)}
.service-overlay h3{font:500 27px/1.05 var(--serif);margin:8px 0 14px}
.service-overlay a{font-size:10px;letter-spacing:1px;border-bottom:1px solid var(--gold-light);padding-bottom:5px}
.service-overlay b{margin-left:10px;color:var(--gold-light)}
.gallery-section{background:var(--paper)}
.centered{display:block;text-align:center}
.centered .eyebrow{justify-content:center}
.centered>p{margin:22px auto 0}
.filter-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:35px 0 45px}
.filter-tabs button{border:1px solid var(--line);background:transparent;padding:10px 17px;color:var(--muted);font-size:10px;letter-spacing:.6px;cursor:pointer;transition:.3s}
.filter-tabs button:hover,.filter-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:13px}
.gallery-item{position:relative;overflow:hidden;margin:0}
.gallery-item.large{grid-column:span 2;grid-row:span 2}
.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,14,12,.8),transparent 55%);opacity:0;transition:.4s}
.gallery-item:hover:after{opacity:1}
.gallery-item img{transition:.7s}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-item figcaption{position:absolute;z-index:2;bottom:18px;left:20px;color:#fff;font:500 19px var(--serif);opacity:0;transform:translateY(10px);transition:.4s}
.gallery-item:hover figcaption{opacity:1;transform:translateY(0)}
.gallery-item figcaption small{display:block;font:9px var(--sans);letter-spacing:2px;color:var(--gold-light);text-transform:uppercase;margin-top:5px}
.gallery-item.hidden{display:none}
.about-section{background:var(--dark);color:#fff;padding:130px 10vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}
.about-image{height:600px;position:relative}
.about-image img{filter:saturate(.75)}
.experience-badge{position:absolute;bottom:-30px;right:-30px;background:var(--gold);width:145px;height:145px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.experience-badge strong{font:600 35px var(--serif)}
.experience-badge span{font-size:8px;letter-spacing:1.5px;line-height:1.5}
.about-content h2{font:500 clamp(38px,4vw,62px)/1.08 var(--serif);letter-spacing:-1px}
.about-content p{color:#b9aea7;font-size:14px;line-height:1.9;margin:24px 0}
.process-section{background:var(--cream)}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}
.process-step{border-top:1px solid var(--line);padding-top:20px;position:relative}
.process-step>span{font-size:10px;color:var(--gold);letter-spacing:2px}
.step-icon{font-size:34px;color:var(--gold);margin:25px 0 12px}
.process-step h3{font:500 25px var(--serif)}
.process-step p{color:var(--muted);font-size:13px;line-height:1.8;margin-top:10px;max-width:290px}
.contact-section{position:relative;overflow:hidden;background:var(--gold);color:#fff;padding:120px 10vw}
.contact-inner{position:relative;z-index:2}
.contact-section .eyebrow{color:#f2e3d2}
.contact-section h2{font:500 clamp(45px,6vw,80px)/1.03 var(--serif)}
.contact-section p{max-width:420px;color:#f5e8dc;line-height:1.8;margin:25px 0}
.contact-actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}
.contact-link{border:1px solid rgba(255,255,255,.5);padding:14px 18px;font-size:12px;transition:.3s}
.contact-link:hover{background:#fff;color:var(--gold)}
.contact-link span{margin-right:10px}
.email-link{font-size:12px;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:5px}
.contact-decoration{position:absolute;right:7vw;top:50%;transform:translateY(-50%);font:800 220px/.7 var(--serif);color:rgba(255,255,255,.1);text-align:center}
.contact-decoration span{font-size:70px}
footer{background:#1b1715;color:#a69c95;padding:30px 6vw;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:10px}
.footer-brand{display:flex;align-items:center;gap:12px;color:#fff}
.footer-brand .brand-mark{width:35px;height:35px;font-size:12px}
.footer-brand strong{font:500 17px var(--serif)}
.footer-social{display:flex;gap:20px}
.footer-social a:hover{color:var(--gold-light)}
.back-top{position:fixed;right:25px;bottom:25px;width:42px;height:42px;border:1px solid var(--gold);background:var(--paper);color:var(--gold);z-index:20;cursor:pointer;opacity:0;pointer-events:none;transition:.3s}
.back-top.show{opacity:1;pointer-events:auto}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:900px){
  .desktop-nav,.header-cta{display:none}
  .menu-toggle{display:block}
  .hero-content{margin-left:7vw;margin-right:7vw}
  .hero-stats{gap:20px;padding-left:7vw;padding-right:7vw}
  .hero-stats div{display:block}
  .hero-stats strong{display:block;margin-bottom:4px}
  .hero-stats span{font-size:8px}
  .section{padding:85px 6vw}
  .section-heading{display:block}
  .section-heading>p{margin-top:22px}
  .service-grid{grid-template-columns:1fr 1fr;grid-auto-rows:260px}
  .service-card.tall{grid-row:span 1}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-item.large{grid-column:span 2}
  .about-section{padding:90px 7vw;grid-template-columns:1fr;gap:70px}
  .about-image{height:500px}
  .process-grid{gap:30px}
}
@media(max-width:600px){
  .site-header{height:72px;padding:0 6vw}
  .brand-copy strong{font-size:17px}
  .hero{min-height:700px}
  .hero-bg{background-position:62% center}
  .hero h1{font-size:47px;letter-spacing:-1px}
  .hero-content>p{font-size:13px}
  .hero-side-note{display:none}
  .hero-stats{gap:10px;justify-content:space-between;padding:16px 6vw}
  .hero-stats strong{font-size:18px}
  .hero-stats span{font-size:7px;letter-spacing:.4px}
  .section-heading h2{font-size:42px}
  .service-grid{grid-template-columns:1fr;grid-auto-rows:270px}
  .service-card.tall{grid-row:span 1}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:8px}
  .gallery-item.large{grid-column:span 2}
  .filter-tabs{justify-content:flex-start}
  .filter-tabs button{padding:9px 11px;font-size:9px}
  .about-image{height:390px}
  .experience-badge{right:-10px;bottom:-20px;width:120px;height:120px}
  .experience-badge strong{font-size:28px}
  .process-grid{grid-template-columns:1fr;gap:35px}
  .contact-section{padding:90px 7vw}
  .contact-decoration{font-size:150px;right:-10px;opacity:.6}
  footer{padding:25px 6vw}
  footer>p{order:3;width:100%;line-height:1.6}
}
