:root{--container-x:22px}
html,body{margin:0;padding:0}
*{box-sizing:border-box}
:root{
  --page-bg:#F8F5F1;--ink:#1A3B4E;--brand-primary:#1A1D29;--brand-accent:#D9C38B;--brand-cream:#F8F5F1;--soft-ivory:#F8F5F1;--brand-mist:#E8ECEB;
  --primary-gold:#C9A35C;--light-gold:#E8D9B5;--deep-navy:#1A1D29;--charcoal:#2C2C2C;--aakrati-peach:#D9A082;
  --header-h-desktop:80px;--header-h-mobile:64px;--logo-max-desktop:96px;--logo-max-mobile:60px;
  --card-gradient: linear-gradient(135deg, rgba(255,255,255,0.95), rgba(248,245,241,0.98));
  --card-bg-fallback: #ffffff;
  --section-bg:#F8F5F1;
}
/* Local font: Brother Home */
@font-face{
  font-family:'Brother-Home';
  src:url('../fonts/Brother-Home.otf') format('opentype');
  font-weight:400; font-style:normal; font-display:block;
}
body{background:#F8F5F1;color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;color:var(--deep-navy)}
a{color:var(--brand-primary);text-decoration:none}
a:not(.hover-underline):not(.nav-link):hover{text-decoration:underline}
/* Nav underline (global) */
.nav-link{position:relative;color:var(--ink);font-weight:500;font-size:15px;padding:.5rem .75rem;display:inline-block;white-space:nowrap;text-decoration:none}
.nav-link::after{content:'';position:absolute;width:0;height:2px;bottom:0;left:50%;background:linear-gradient(90deg,#D9A082 0%, #9C6B34 100%);transition:width .3s ease,left .3s ease;transform:translateX(-50%)}
.nav-link:hover::after,.nav-link:focus::after,.nav-link.active::after{width:100%;left:0;transform:none}

/* Portfolio header simple links */
.nav a{position:relative}
.nav a::after{content:'';position:absolute;width:0;height:2px;left:50%;bottom:0;background:linear-gradient(90deg,#D9A082 0%, #9C6B34 100%);transition:width .3s ease,left .3s ease;transform:translateX(-50%)}
.nav a:hover::after,.nav a:focus::after{width:100%;left:0;transform:none}
/* Reusable gold hover underline for inline emphasis */
.italic{position:relative;display:inline-block}
.italic::after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--primary-gold),transparent);transform:scaleX(0);transform-origin:right;transition:transform .5s ease}
.italic:hover::after{transform:scaleX(1);transform-origin:left}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.card-surface{background:var(--card-gradient);background-color:var(--card-bg-fallback);background-clip:padding-box}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:.2s ease}
.btn-primary{background:#98715d;color:#fff}
.btn-outline{border-color:#98715d;color:#98715d;background:transparent}
.btn:hover{transform:translateY(-1px)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#F8F5F1;border-bottom:1px solid rgba(0,0,0,.06);backdrop-filter:saturate(1.2) blur(8px)}
.header-inner{display:flex;align-items:center;justify-content:flex-start;height:var(--header-h-desktop);position:relative}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:48px;width:auto;max-height:var(--logo-max-desktop)}
.site-header-inner{padding:0 var(--container-x) !important;max-width:1200px;margin:0 auto}
.site-header-brand img{max-height:70px !important}
@media(max-width:767px){
  .site-header-inner{height:var(--header-h-mobile);padding:0 16px !important}
  .site-header-brand img{max-height:64px !important}
}
.nav{display:flex;gap:22px;align-items:center;position:absolute;left:50%;transform:translateX(-50%)}
.nav a{color:#222;padding:8px 6px;border-radius:8px}
.nav a:hover{background:rgba(0,0,0,.04)}
.enquire{margin-left:8px;position:absolute;right:20px;top:50%;transform:translateY(-50%)}
.hamburger{display:none}

/* Mobile menu */
.mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:.2s}
.mobile-sheet{position:fixed;top:0;right:0;height:100vh;width:82vw;max-width:360px;background:#fff;box-shadow:-8px 0 24px rgba(0,0,0,.12);transform:translateX(100%);transition:.25s;padding:20px}
.mobile-open .mobile-overlay{opacity:1;pointer-events:auto}
.mobile-open .mobile-sheet{transform:translateX(0)}
.mobile-nav a{display:block;padding:14px 10px;color:#222;border-radius:10px}
.mobile-nav a:hover{background:rgba(0,0,0,.05)}

/* Footer */
.site-footer{margin-top:64px;border-top:1px solid rgba(0,0,0,.08);background:#F8F5F1}
.footer-inner{padding:32px 32px;max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:12px}
.ribbon{background:#8B5A2B;color:#fff;text-align:center;padding:10px 0}
.footer-brand{display:inline-flex;align-items:center;line-height:0}
.footer-brand img{display:block;height:auto;width:auto;max-height:80px;object-fit:contain;opacity:.96;filter:drop-shadow(0 1px 2px rgba(0,0,0,.06))}
@media (max-width:767px){
  .footer-brand img{max-height:56px}
}

/* Sections */
.section{padding:64px 0}
.section-hero{padding:80px 0}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero-title{font-size:44px;line-height:1.1;margin:0 0 16px}
.gold-grad{background:linear-gradient(90deg,#D9A082,#9C6B34);-webkit-background-clip:text;background-clip:text;color:transparent}
.card{background:var(--card-gradient)!important;background-color:var(--card-bg-fallback)!important;border:1px solid rgba(0,0,0,.06);border-radius:18px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.grid{display:grid;gap:22px}

/* Base rule: any “section-like” block under <main> */
main section.section,
main .section,
main [class*="section"]:not([class*="hero"]){
  background: var(--section-bg);
}

/* Opt-out utility for rare exceptions */
.no-section-bg{background:transparent!important}

/* Card surfaces unification */
.service-card,
.stat-card,
.feature-card,
.value-card,
.principle-card,
.process-card,
.step-card,
.project-card,
.portfolio-card,
.testimonial-card,
.team-card,
.faq-card,
.blog-card,
.pricing-card,
.contact-card,
.metric-card,
.benefit-card,
.tile,
.location-card,
.album-card,
.ts-card { background: var(--card-gradient) !important; background-color: var(--card-bg-fallback) !important; background-clip: padding-box; }

/* Split-card bodies only */
.process-card .card-body,
.process-card .content,
.step-card .card-body,
.feature-card .content,
.testimonial-card .card-body { background: var(--card-gradient) !important; background-color: var(--card-bg-fallback) !important; background-clip: padding-box; }

/* Reveal */
.animate-on-scroll{opacity:0;transform:translateY(14px);transition:.5s}
.animate-on-scroll.revealed{opacity:1;transform:none}

/* Simple masonry columns (portfolio) */
.columns-3{column-count:3;column-gap:16px}
.columns-2{column-count:2;column-gap:14px}
.columns-1{column-count:1}

/* Lightbox basics */
.lightbox{position:fixed;inset:0;background:#1A1D29;display:none;align-items:center;justify-content:center}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:86vh;border-radius:10px}
.lb-btn{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.85);border:1px solid rgba(0,0,0,.15);border-radius:999px;padding:10px}

@media (max-width:960px){
  .header-inner{height:var(--header-h-mobile)}
  .brand img{max-height:var(--logo-max-mobile)}
  .nav{display:none}
  .hamburger{display:inline-flex}
  .hero-grid{grid-template-columns:1fr}
  .columns-3{column-count:2}
}
@media (max-width:640px){
  .columns-3,.columns-2{column-count:1}
}

/* Quote Card (About page) */
.q-card{
  max-width:920px;margin:0 auto;text-align:center;
  padding:clamp(1.25rem,3.5vw,2.25rem);
  background:var(--card-gradient);background-color:var(--card-bg-fallback);
  border:1px solid rgba(0,0,0,.06);border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.07);
  position:relative;overflow:hidden;
}
.q-card::before{
  content:none;
}
.q-badge{
  width:56px;height:56px;margin:0 auto 12px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--primary-gold),var(--aakrati-peach));color:#fff;
  box-shadow:0 6px 20px rgba(201,169,110,.22);
}
.q-text{
  font-family:"Playfair Display",serif;color:var(--deep-navy);
  font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.5;margin:8px auto 32px;
  letter-spacing:0.01em;
}
.q-emph{color:#98715d;position:relative;z-index:1}
.q-meta{display:grid;gap:6px;margin:36px 0 0;letter-spacing:0.02em;position:relative;z-index:2}
.q-name{
  font-family: inherit;
  font-weight: 400;
  color:#000;
  font-size:1.1rem;
}
.q-title{color:#000;font-family:Inter,sans-serif;font-size:.95rem}
