/* =========================================================
   Purva Budigere Road — full stylesheet (async-loaded)
   Design tokens: Canopy (deep forest) + Gold (metallic) + Parchment
   ========================================================= */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/inter-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/inter-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/inter-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/inter-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/assets/fonts/playfair-display-900.woff2') format('woff2');
}

:root{
  --canopy:#132018;
  --canopy-2:#1B2B21;
  --canopy-3:#223A2B;
  --parchment:#F7F3EA;
  --parchment-2:#EFE7D3;
  --gold-1:#F6E5B0;
  --gold-2:#D4AF37;
  --gold-3:#9C7A1E;
  --gold-ink:#755C17;
  --sage:#7C9473;
  --sage-dark:#4F6B49;
  --ink:#0B0B0C;
  --text-dark:#1B241E;
  --text-mute:#4B564E;
  --text-light:#F3EFE4;
  --text-light-mute:#C9CFC4;
  --white:#FFFFFF;
  --radius:14px;
  --radius-sm:8px;
  --gold-grad: linear-gradient(180deg, var(--gold-1) 0%, var(--gold-2) 55%, var(--gold-3) 100%);
  --shadow-1: 0 8px 24px rgba(11,11,12,0.14);
  --shadow-2: 0 16px 40px rgba(11,11,12,0.22);
  --maxw: 1180px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--text-dark);
  background:var(--parchment);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;line-height:1.15;margin:0 0 .5em;color:var(--canopy);}
h1{font-weight:900;}
h2{font-weight:700;}
h3{font-weight:700;}
p{margin:0 0 1em;}
a{color:var(--gold-ink);}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
section{padding:72px 0;}
.section-dark{background:var(--canopy);color:var(--text-light);}
.section-dark h2,.section-dark h3{color:var(--text-light);}
.section-alt{background:var(--parchment-2);}

/* prose links underlined per WCAG 1.4.1 — nav/buttons/chips excluded */
main a:not(.btn):not(.chip):not(.tab):not(.nav-link):not(.card-link){
  text-decoration:underline;
  text-underline-offset:3px;
}
.section-dark a:not(.btn){color:var(--gold-1);}

.eyebrow{
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--gold-ink);
  display:inline-block;
  margin-bottom:.6em;
}
.section-dark .eyebrow{color:var(--gold-1);}
.section-dark p{color:var(--text-light-mute);}

/* Skip link */
.skip-link{
  position:absolute;left:-999px;top:0;background:var(--ink);color:var(--gold-1);
  padding:10px 16px;z-index:200;border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}

:focus-visible{outline:3px solid var(--gold-2);outline-offset:2px;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(11,11,12,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(212,175,55,0.25);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;max-width:var(--maxw);margin:0 auto;}
.brand{display:flex;align-items:center;gap:10px;color:var(--text-light);font-family:'Playfair Display',serif;font-weight:700;font-size:1.05rem;text-decoration:none !important;}
.brand-mark{
  width:34px;height:34px;border-radius:8px;background:var(--ink);
  display:flex;align-items:center;justify-content:center;
  font-family:'Playfair Display',serif;font-weight:900;font-size:1.1rem;
  background-image:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  border:1px solid rgba(212,175,55,0.5);
}
nav.primary-nav{display:none;}
@media(min-width:900px){
  nav.primary-nav{display:flex;gap:22px;}
}
.nav-link{color:var(--text-light-mute);font-size:.92rem;font-weight:500;text-decoration:none;}
.nav-link:hover{color:var(--gold-1);}
.header-cta{display:flex;align-items:center;gap:10px;}
.burger{
  display:inline-flex;background:none;border:1px solid rgba(212,175,55,0.4);border-radius:8px;
  padding:8px 10px;color:var(--gold-1);cursor:pointer;
}
@media(min-width:900px){.burger{display:none;}}
.mobile-menu{display:none;flex-direction:column;gap:2px;background:var(--ink);padding:10px 20px 16px;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:var(--text-light-mute);padding:10px 4px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.06);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:'Inter',sans-serif;font-weight:700;font-size:.95rem;
  padding:14px 24px;border-radius:999px;border:1px solid transparent;cursor:pointer;
  text-decoration:none !important;line-height:1;min-height:48px;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-gold{background:var(--gold-grad);color:var(--ink);box-shadow:var(--shadow-1);}
.btn-outline{background:transparent;border-color:var(--gold-2);color:var(--gold-1);}
.btn-block{width:100%;}
.btn-sm{padding:10px 16px;font-size:.85rem;min-height:40px;}

/* ---------- Hero ---------- */
.hero{
  position:relative;color:var(--text-light);
  background:var(--canopy);
  overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;z-index:0;
}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(11,16,12,0.55) 0%, rgba(11,16,12,0.78) 55%, rgba(11,16,12,0.95) 100%);
}
.hero-inner{
  position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:64px 20px 56px;
  display:grid;grid-template-columns:1fr;gap:36px;
}
@media(min-width:960px){
  .hero-inner{grid-template-columns:1.15fr 0.85fr;align-items:end;padding-top:88px;}
}
.hero-copy h1{color:var(--white);font-size:clamp(2rem,4.4vw,3.1rem);max-width:16ch;}
.hero-copy .lede{color:var(--text-light-mute);font-size:1.08rem;max-width:46ch;}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 22px;}
.chip{
  font-size:.8rem;font-weight:600;color:var(--gold-1);
  border:1px solid rgba(212,175,55,0.5);border-radius:999px;padding:6px 14px;
  background:rgba(212,175,55,0.08);
}
.hero-cta-row{display:flex;flex-wrap:wrap;gap:14px;}
.disclosure-note{font-size:.78rem;color:var(--text-light-mute);margin-top:16px;max-width:46ch;}

/* Lead form card */
.lead-card{
  background:var(--parchment);color:var(--text-dark);
  border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-2);
  border-top:4px solid transparent;border-image:var(--gold-grad);border-image-slice:1;
}
.lead-card-title{margin:0 0 4px;font-size:1.25rem;font-family:'Playfair Display',serif;font-weight:700;color:var(--canopy);}
.lead-card .lead-sub{font-size:.86rem;color:var(--text-mute);margin-bottom:16px;}
.form-row{margin-bottom:12px;}
.form-row label{display:block;font-size:.82rem;font-weight:600;margin-bottom:5px;color:var(--text-dark);}
.form-row input{
  width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid #D9D2BE;
  font-family:'Inter',sans-serif;font-size:.95rem;background:var(--white);min-height:44px;
}
.form-row input:focus-visible{outline:3px solid var(--gold-2);outline-offset:1px;}
.hp-field{position:absolute;left:-9999px;top:-9999px;}
.form-note{font-size:.72rem;color:var(--text-mute);margin-top:10px;}
.form-status{font-size:.85rem;margin-top:10px;min-height:1.2em;}
.form-status.ok{color:var(--sage-dark);}
.form-status.err{color:#8A3A2B;}

/* ---------- USP strip ---------- */
.usp-strip{background:var(--parchment-2);padding:36px 0;}
.usp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;text-align:center;}
@media(min-width:760px){.usp-grid{grid-template-columns:repeat(4,1fr);}}
.usp-item .usp-num{font-family:'Playfair Display',serif;font-weight:700;font-size:1.7rem;color:var(--canopy);display:block;}
.usp-item .usp-label{font-size:.82rem;color:var(--text-mute);font-weight:600;}

/* ---------- AEO summary box ---------- */
.aeo-box{
  background:var(--white);border-left:5px solid var(--gold-2);
  border-radius:var(--radius-sm);padding:22px 26px;box-shadow:var(--shadow-1);
  max-width:820px;margin:0 auto;
}
.aeo-box p{margin:0;font-size:1.02rem;color:var(--text-dark);}

/* ---------- Quick facts ---------- */
.qf-grid{display:grid;grid-template-columns:1fr;gap:14px;}
@media(min-width:700px){.qf-grid{grid-template-columns:repeat(3,1fr);}}
.qf-card{background:var(--white);border-radius:var(--radius-sm);padding:18px 20px;box-shadow:var(--shadow-1);}
.qf-card .qf-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-ink);font-weight:700;}
.qf-card .qf-value{font-size:1.05rem;font-weight:700;color:var(--canopy);margin-top:4px;}

/* ---------- Tables ---------- */
table.data-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-1);}
table.data-table caption{text-align:left;font-weight:700;padding:12px 16px;background:var(--canopy);color:var(--gold-1);font-family:'Playfair Display',serif;}
table.data-table th,table.data-table td{padding:12px 14px;border-bottom:1px solid #EAE3CF;text-align:left;font-size:.92rem;}
table.data-table th{background:var(--parchment-2);font-weight:700;color:var(--canopy);}
table.data-table tr:last-child td{border-bottom:none;}
.table-wrap{overflow-x:auto;}

/* ---------- Floor plan tabs ---------- */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.tab{
  border:1px solid #D9D2BE;background:var(--white);border-radius:999px;padding:10px 18px;
  font-weight:700;font-size:.88rem;cursor:pointer;color:var(--text-dark);min-height:40px;
}
.tab[aria-selected="true"]{background:var(--gold-grad);color:var(--ink);border-color:transparent;}
.fp-panel{display:none;}
.fp-panel.active{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:800px){.fp-panel.active{grid-template-columns:1.1fr 0.9fr;align-items:start;}}
.fp-image img{border-radius:var(--radius);box-shadow:var(--shadow-1);}
.fp-specs{background:var(--white);border-radius:var(--radius-sm);padding:20px;box-shadow:var(--shadow-1);}
.fp-specs dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:0;}
.fp-specs dt{font-size:.78rem;color:var(--text-mute);}
.fp-specs dd{margin:0;font-weight:700;color:var(--canopy);}
.request-panel{
  border:1.5px dashed var(--gold-3);border-radius:var(--radius);padding:26px;text-align:center;
  background:var(--parchment-2);color:var(--text-mute);
}

/* ---------- Amenities ---------- */
.amenity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media(min-width:700px){.amenity-grid{grid-template-columns:repeat(4,1fr);}}
.amenity-card{background:var(--white);border-radius:var(--radius-sm);padding:18px 14px;text-align:center;box-shadow:var(--shadow-1);}
.amenity-icon{font-size:1.6rem;margin-bottom:6px;}
.amenity-card .a-label{font-size:.85rem;font-weight:600;color:var(--text-dark);}

/* ---------- Gallery / lightbox ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
@media(min-width:700px){.gallery-grid{grid-template-columns:repeat(4,1fr);}}
.gallery-item{position:relative;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;border:none;padding:0;background:none;aspect-ratio:4/3;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.gallery-item:hover img{transform:scale(1.05);}
.gallery-item .g-cap{
  position:absolute;left:0;right:0;bottom:0;padding:8px 10px;font-size:.72rem;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.75));color:#fff;text-align:left;
}
.lightbox{
  position:fixed;inset:0;background:rgba(8,10,8,0.94);display:none;
  align-items:center;justify-content:center;z-index:300;padding:24px;
}
.lightbox.open{display:flex;}
.lightbox img{max-width:min(92vw,1100px);max-height:82vh;border-radius:8px;}
.lightbox figcaption{color:var(--text-light-mute);text-align:center;margin-top:10px;font-size:.9rem;}
.lightbox-close,.lightbox-nav{
  position:absolute;background:rgba(255,255,255,0.08);border:1px solid rgba(212,175,55,0.4);
  color:var(--gold-1);border-radius:999px;width:44px;height:44px;cursor:pointer;font-size:1.1rem;
}
.lightbox-close{top:18px;right:18px;}
.lightbox-nav.prev{left:18px;top:50%;transform:translateY(-50%);}
.lightbox-nav.next{right:18px;top:50%;transform:translateY(-50%);}

/* ---------- Location ---------- */
.landmark-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:10px;}
@media(min-width:700px){.landmark-list{grid-template-columns:1fr 1fr;}}
.landmark-list li{
  display:flex;justify-content:space-between;gap:12px;background:var(--white);
  border-radius:var(--radius-sm);padding:12px 16px;box-shadow:var(--shadow-1);font-size:.92rem;
}
.landmark-list .lm-name{font-weight:600;color:var(--text-dark);}
.landmark-list .lm-dist{color:var(--gold-ink);font-weight:700;white-space:nowrap;}
.map-embed{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-1);border:0;width:100%;height:340px;}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid #E3DCC6;}
.faq-item summary{
  list-style:none;cursor:pointer;padding:18px 4px;font-weight:700;color:var(--canopy);
  display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:1rem;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--gold-3);}
.faq-item[open] summary .plus{transform:rotate(45deg);}
.faq-item summary .plus{display:inline-block;transition:transform .15s ease;}
.faq-item .faq-a{padding:0 4px 20px;color:var(--text-mute);}

/* ---------- Reviews ---------- */
.review-card{background:var(--white);border-radius:var(--radius-sm);padding:20px;box-shadow:var(--shadow-1);}
.badge-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.badge{font-size:.78rem;font-weight:700;color:var(--sage-dark);background:#EAF1E7;border-radius:999px;padding:6px 12px;}

/* ---------- Sticky mobile CTA ---------- */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:150;background:var(--ink);
  padding:10px 14px;display:flex;gap:10px;box-shadow:0 -6px 20px rgba(0,0,0,0.25);
}
@media(min-width:900px){.sticky-cta{display:none;}}
.sticky-cta .btn{flex:1;}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--ink);color:var(--text-light-mute);padding:56px 0 100px;}
@media(min-width:900px){footer.site-footer{padding-bottom:56px;}}
footer.site-footer .footer-heading{color:var(--gold-1);font-size:.95rem;margin-bottom:14px;font-weight:700;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:800px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr;}}
.footer-grid a{color:var(--text-light-mute);text-decoration:none;display:block;margin-bottom:8px;font-size:.9rem;padding:4px 0;}
.footer-grid a:hover{color:var(--gold-1);}
.footer-legal{font-size:.76rem;color:#8A9186;margin-top:36px;border-top:1px solid rgba(255,255,255,0.08);padding-top:24px;}
.footer-legal p{margin-bottom:.8em;}
.footer-legal a{color:var(--gold-1);text-decoration:underline;text-underline-offset:2px;}

/* Divider motif — canopy arcs (signature element) */
.canopy-divider{height:34px;width:100%;overflow:hidden;line-height:0;}
.canopy-divider svg{width:100%;height:100%;display:block;}

.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}

.section-head{max-width:640px;margin:0 auto 40px;text-align:center;}
.section-head.left{margin:0 0 40px;text-align:left;}

/* Perf: skip rendering off-screen sections until they scroll into view */
#master-plan, #specifications, #location, #investment, #pre-launch-advantage,
#reviews, #faq, #blogs, #builder, #rera, #contact, footer.site-footer{
  content-visibility:auto;
  contain-intrinsic-size:0 900px;
}

/* ---------- Blogs ---------- */
.blog-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:700px){.blog-grid{grid-template-columns:1fr 1fr;}}
.blog-card{background:var(--white);border-radius:var(--radius-sm);padding:24px;box-shadow:var(--shadow-1);border-top:3px solid var(--gold-2);}
.blog-card .blog-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-ink);font-weight:700;margin:0 0 8px;}
.blog-card h3{font-size:1.2rem;margin-bottom:10px;}
.blog-card p:last-child{margin-bottom:0;color:var(--text-mute);font-size:.94rem;}
.blog-note{margin-top:22px;font-size:.88rem;color:var(--text-mute);}

/* ---------- Builder ---------- */
.builder-layout{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:860px){.builder-layout{grid-template-columns:1.5fr 1fr;align-items:start;}}
.builder-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.bstat{background:var(--white);border-radius:var(--radius-sm);padding:18px;text-align:center;box-shadow:var(--shadow-1);}
.bstat-num{display:block;font-family:'Playfair Display',serif;font-weight:700;font-size:1.6rem;color:var(--canopy);}
.bstat-label{font-size:.78rem;color:var(--text-mute);font-weight:600;}

/* ---------- RERA ---------- */
.rera-card{background:var(--white);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-1);border-left:5px solid var(--gold-2);}
.rera-status-line{font-size:1.05rem;color:var(--canopy);}
.rera-card p:last-child{margin-bottom:0;}
