/* ==========================================================================
   Design House by KNATRA — shared.css
   Design tokens + base + components shared across all pages.
   ========================================================================== */

:root{
  --ink:#1F2621;
  --ink-light:#2A332C;
  --ink-lighter:#334036;
  --pine:#465943;
  --stone:#A6A69F;
  --gold:#BF9F63;
  --gold-dim:rgba(191,159,99,0.16);
  --cream:#D9D4D2;
  --cream-dim:rgba(217,212,210,0.62);
  --display:'Space Grotesk', sans-serif;
  --body:'Inter', sans-serif;
  --mono:'Space Mono', monospace;
  --radius:8px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
}
body{
  background:var(--ink);
  color:var(--cream);
  font-family:var(--body);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;}
button{font-family:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-0.01em;color:var(--cream);}
.eyebrow{
  font-family:var(--mono);font-size:12px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--gold);display:inline-flex;align-items:center;gap:8px;
}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block;}

/* ---------- NAV ---------- */
header.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(31,38,33,0.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(166,166,159,0.18);
}
nav.site-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;max-width:1180px;margin:0 auto;}
.logo{font-family:var(--display);font-weight:700;font-size:16px;letter-spacing:0.04em;color:var(--gold);text-transform:uppercase;}
.logo span{color:var(--cream);font-weight:500;}
.nav-links{display:none;gap:30px;align-items:center;}
.nav-links a{font-size:14px;color:var(--cream-dim);transition:color .2s;white-space:nowrap;}
.nav-links a:hover, .nav-links a[aria-current="page"]{color:var(--gold);}
@media(min-width:900px){.nav-links{display:flex;}}
.nav-cta{display:none;}
@media(min-width:900px){.nav-cta{display:inline-block;}}
.menu-toggle{
  display:inline-flex;background:none;border:1px solid var(--stone);border-radius:3px;color:var(--cream);
  padding:8px 12px;font-family:var(--mono);font-size:12px;cursor:pointer;align-items:center;gap:8px;
}
@media(min-width:900px){.menu-toggle{display:none;}}
.mobile-panel{display:none;flex-direction:column;gap:2px;padding:8px 28px 20px;border-top:1px solid rgba(166,166,159,0.15);}
.mobile-panel.open{display:flex;}
.mobile-panel a{padding:12px 4px;font-size:14.5px;color:var(--cream-dim);border-bottom:1px solid rgba(166,166,159,0.08);}
.mobile-panel a[aria-current="page"]{color:var(--gold);}
@media(min-width:900px){.mobile-panel{display:none !important;}}

/* ---------- NAV DROPDOWN (Service Areas) ---------- */
.nav-dropdown{position:relative;}
.nav-dropdown-toggle{
  background:none;border:none;font-family:var(--body);font-size:14px;color:var(--cream-dim);
  cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:4px;transition:color .2s;
}
.nav-dropdown-toggle:hover, .nav-dropdown.open .nav-dropdown-toggle{color:var(--gold);}
.nav-dropdown-menu{
  display:none;position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%);
  background:var(--ink-light);border:1px solid rgba(166,166,159,0.25);border-radius:6px;
  padding:8px;min-width:180px;box-shadow:0 12px 30px rgba(0,0,0,0.35);z-index:60;
}
.nav-dropdown.open .nav-dropdown-menu{display:block;}
.nav-dropdown-menu a{display:block;padding:9px 12px;font-size:13.5px;color:var(--cream-dim);border-radius:4px;white-space:nowrap;}
.nav-dropdown-menu a:hover{color:var(--gold);background:rgba(191,159,99,0.08);}
.mobile-sub{padding-left:22px !important;font-size:13.5px !important;color:var(--stone) !important;}

/* ---------- BREADCRUMB ---------- */
.breadcrumb{
  font-family:var(--mono);font-size:12px;color:var(--stone);
  padding:18px 0 0;
}
.breadcrumb a{color:var(--stone);}
.breadcrumb a:hover{color:var(--gold);}
.breadcrumb .sep{margin:0 8px;color:rgba(166,166,159,0.5);}
.breadcrumb .current{color:var(--gold);}

/* ---------- BUTTONS ---------- */
.btn{
  font-family:var(--body);font-weight:600;font-size:14px;padding:12px 24px;border-radius:3px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;
  border:1px solid transparent;transition:transform .15s ease, background .2s ease, border-color .2s ease;
}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.btn-gold{background:var(--gold);color:var(--ink);}
.btn-gold:hover{transform:translateY(-1px);background:#cbab74;}
.btn-ghost{border-color:var(--stone);color:var(--cream);background:transparent;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
.btn-block{width:100%;}
.btn[disabled]{opacity:0.5;cursor:not-allowed;}
.btn-sm{padding:9px 16px;font-size:13px;}

/* ---------- SECTION SHELL ---------- */
main{display:block;}
section{padding:88px 0;}
section.tight{padding:56px 0;}
.section-head{max-width:640px;margin-bottom:48px;}
.section-head h1, .section-head h2{font-size:clamp(26px,3.4vw,36px);margin-top:14px;}
.section-head p{color:var(--cream-dim);margin-top:12px;font-size:16px;}
.divider{border:none;border-top:1px solid rgba(166,166,159,0.16);}

/* ---------- HERO (home) ---------- */
.hero{position:relative;padding:88px 0 100px;overflow:hidden;border-bottom:1px solid rgba(166,166,159,0.14);}
.hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 700px 420px at 82% -10%, rgba(191,159,99,0.16), transparent 60%),
             radial-gradient(ellipse 600px 400px at -10% 110%, rgba(70,89,67,0.55), transparent 60%);
  pointer-events:none;
}
.hero-inner{position:relative;display:grid;gap:26px;max-width:760px;}
.hero h1{font-size:clamp(34px,5.4vw,58px);line-height:1.06;}
.hero h1 em{font-style:normal;color:var(--gold);}
.hero p.lede{font-size:18px;color:var(--cream-dim);max-width:560px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;}
.founder-line{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--stone);margin-top:8px;}
.founder-line strong{color:var(--cream);font-weight:600;}
.timer-badge{position:absolute;right:28px;top:96px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;opacity:0.95;}
@media(max-width:900px){.timer-badge{display:none;}}
.timer-face{
  font-family:var(--mono);font-size:44px;font-weight:700;color:var(--gold);
  background:var(--ink-light);border:1px solid rgba(191,159,99,0.35);
  padding:14px 22px;border-radius:4px;letter-spacing:0.02em;min-width:220px;text-align:right;
}
.timer-label{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--stone);}

/* ---------- PAGE HERO (sub-pages) ---------- */
.page-hero{padding:38px 0 60px;border-bottom:1px solid rgba(166,166,159,0.14);}
.page-hero h1{font-size:clamp(30px,4.4vw,46px);margin-top:14px;}
.page-hero p{color:var(--cream-dim);margin-top:14px;max-width:620px;font-size:16.5px;}

/* ---------- TRUST STRIP ---------- */
.trust{background:var(--pine);padding:20px 0;border-bottom:1px solid rgba(217,212,210,0.12);}
.trust .wrap{display:flex;flex-wrap:wrap;gap:10px 40px;align-items:center;justify-content:center;text-align:center;}
.trust p{font-size:14px;color:var(--cream);}
.trust strong{color:var(--gold);}

/* ---------- HOW IT WORKS ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(166,166,159,0.16);border:1px solid rgba(166,166,159,0.16);border-radius:6px;overflow:hidden;}
@media(max-width:760px){.steps{grid-template-columns:1fr;}}
.step{background:var(--ink-light);padding:34px 30px;}
.step .stepnum{font-family:var(--mono);color:var(--gold);font-size:13px;letter-spacing:0.1em;}
.step h3{font-size:19px;margin:14px 0 10px;}
.step p{color:var(--cream-dim);font-size:14.5px;}

/* ---------- SLOT BOARD ---------- */
.board{background:var(--ink-lighter);border:1px solid rgba(191,159,99,0.25);border-radius:10px;padding:38px 34px;}
.board-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.board-head h3{font-family:var(--mono);font-size:14px;letter-spacing:0.12em;text-transform:uppercase;color:var(--stone);}
.board-head .count{font-family:var(--mono);font-size:13px;color:var(--gold);}
.tickets{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
@media(max-width:960px){.tickets{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.tickets{grid-template-columns:1fr;}}
.ticket{position:relative;background:var(--ink);border:1px dashed rgba(166,166,159,0.4);border-radius:6px;padding:18px 16px 20px;text-align:left;cursor:pointer;transition:border-color .2s, background .2s;}
.ticket:hover{border-color:var(--gold);}
.ticket.selected{border-style:solid;border-color:var(--gold);background:rgba(191,159,99,0.07);}
.ticket::before,.ticket::after{content:"";position:absolute;width:14px;height:14px;background:var(--ink-lighter);border-radius:50%;top:50%;transform:translateY(-50%);}
.ticket::before{left:-8px;}
.ticket::after{right:-8px;}
.ticket .slot-time{font-family:var(--mono);font-size:15px;color:var(--cream);font-weight:700;}
.ticket .slot-status{font-family:var(--mono);font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;margin-top:10px;display:inline-block;padding:3px 8px;border-radius:2px;}
.status-open{background:var(--gold-dim);color:var(--gold);}
.status-booked{background:rgba(166,166,159,0.15);color:var(--stone);}
.board-foot{margin-top:24px;font-size:13.5px;color:var(--cream-dim);}
.board-foot strong{color:var(--gold);}

/* ---------- PRICING CARDS ---------- */
.price-badge{
  display:inline-block;background:var(--gold-dim);color:var(--gold);
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;
  padding:5px 10px;border-radius:3px;margin-bottom:24px;
}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:900px){.price-grid{grid-template-columns:1fr;}}
.price-card{background:var(--ink-light);border:1px solid rgba(166,166,159,0.18);border-radius:var(--radius);padding:30px 26px;display:flex;flex-direction:column;gap:14px;}
.price-card.featured{border-color:var(--gold);background:linear-gradient(180deg,var(--ink-lighter),var(--ink-light));}
.price-card h3{font-size:16px;font-weight:600;color:var(--cream-dim);text-transform:uppercase;letter-spacing:0.04em;font-family:var(--body);}
.price-value{font-family:var(--mono);font-size:38px;color:var(--gold);font-weight:700;}
.price-value sub{font-family:var(--body);font-size:14px;color:var(--stone);font-weight:400;}
.price-value.price-hidden{display:none;}
.price-quote-note{font-family:var(--mono);font-size:13px;color:var(--stone);}
.price-card ul{display:flex;flex-direction:column;gap:8px;margin-top:6px;}
.price-card li{font-size:14px;color:var(--cream-dim);padding-left:18px;position:relative;}
.price-card li::before{content:"—";position:absolute;left:0;color:var(--gold);}

/* ---------- SERVICES ---------- */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr;}}
.service-card{
  background:transparent;border:1px solid rgba(166,166,159,0.18);border-radius:var(--radius);padding:26px;
  transition:border-color .2s, background .2s, transform .25s ease;
  transform-style:preserve-3d;will-change:transform;
}
.service-card:hover{border-color:var(--gold);background:rgba(191,159,99,0.05);}
.service-card .num{font-family:var(--mono);color:var(--stone);font-size:12px;}
.service-card h3{font-size:17px;margin:12px 0 8px;}
.service-card p{font-size:14px;color:var(--cream-dim);}

/* ---------- COVERAGE ---------- */
.coverage-band{background:var(--pine);border-radius:var(--radius);padding:36px 34px;}
.coverage-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}
.pill{font-family:var(--mono);font-size:13px;border:1px solid rgba(217,212,210,0.35);color:var(--cream);padding:8px 14px;border-radius:20px;}
.pill.hub{border-color:var(--gold);color:var(--gold);}

/* ---------- TESTIMONIALS ---------- */
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:900px){.quote-grid{grid-template-columns:1fr;}}
.quote-card{background:var(--ink-light);border-radius:var(--radius);padding:26px;border:1px solid rgba(166,166,159,0.16);}
.quote-card .mark{font-family:var(--display);font-size:30px;color:var(--gold);line-height:1;}
.quote-card p.quote{font-size:14.5px;color:var(--cream-dim);margin:12px 0 16px;}
.quote-card .who{font-size:12.5px;color:var(--stone);font-family:var(--mono);}

/* ---------- CTA BANNER ---------- */
.cta-banner{
  background:linear-gradient(120deg,var(--ink-lighter),var(--pine));border-radius:10px;padding:52px 40px;
  text-align:center;border:1px solid rgba(191,159,99,0.3);
}
.cta-banner h2{font-size:clamp(24px,3.6vw,34px);}
.cta-banner p{color:var(--cream-dim);margin:14px 0 26px;max-width:480px;margin-left:auto;margin-right:auto;}

/* ---------- FORMS ---------- */
.form-card{background:var(--ink-light);border:1px solid rgba(166,166,159,0.18);border-radius:var(--radius);padding:34px;}
.field{margin-bottom:20px;}
.field label{display:block;font-size:13px;color:var(--cream-dim);margin-bottom:8px;font-family:var(--mono);letter-spacing:0.02em;}
.field .req{color:var(--gold);}
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field input[type="date"],
.field textarea,
.field select{
  width:100%;background:var(--ink);border:1px solid rgba(166,166,159,0.3);border-radius:4px;
  padding:12px 14px;color:var(--cream);font-family:var(--body);font-size:14.5px;
}
.field input:focus, .field textarea:focus, .field select:focus{outline:none;border-color:var(--gold);}
.field textarea{min-height:100px;resize:vertical;}
.field-hint{font-size:12px;color:var(--stone);margin-top:6px;}
.field-error{font-size:12px;color:#e08a8a;margin-top:6px;display:none;}
.field.invalid input, .field.invalid textarea{border-color:#e08a8a;}
.field.invalid .field-error{display:block;}

.radio-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media(max-width:760px){.radio-cards{grid-template-columns:1fr;}}
.radio-card{position:relative;}
.radio-card input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.radio-card label{
  display:block;border:1px solid rgba(166,166,159,0.3);border-radius:6px;padding:16px;cursor:pointer;
  transition:border-color .2s, background .2s;
}
.radio-card input:checked + label{border-color:var(--gold);background:rgba(191,159,99,0.08);}
.radio-card .rc-title{font-weight:600;font-size:14.5px;color:var(--cream);}
.radio-card .rc-sub{font-size:12.5px;color:var(--stone);margin-top:4px;font-family:var(--mono);}

.form-success{display:none;background:var(--gold-dim);border:1px solid var(--gold);border-radius:6px;padding:16px 18px;font-size:14px;color:var(--gold);margin-top:18px;}
.form-success.show{display:block;}

/* ---------- CHECKOUT ---------- */
.checkout-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:30px;align-items:start;}
@media(max-width:860px){.checkout-grid{grid-template-columns:1fr;}}
.summary-card, .payment-card{background:var(--ink-light);border:1px solid rgba(166,166,159,0.18);border-radius:var(--radius);padding:30px;}
.summary-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(166,166,159,0.12);font-size:14.5px;}
.summary-row:last-of-type{border-bottom:none;}
.summary-row .label{color:var(--cream-dim);}
.summary-row .value{color:var(--cream);font-family:var(--mono);}
.summary-total{display:flex;justify-content:space-between;padding-top:18px;margin-top:6px;border-top:1px solid rgba(191,159,99,0.35);font-size:17px;}
.summary-total .value{color:var(--gold);font-family:var(--mono);font-weight:700;}
.razorpay-btn{
  width:100%;background:#0f1f3d;color:#fff;border:1px solid rgba(255,255,255,0.15);padding:14px;border-radius:5px;
  font-weight:600;font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:not-allowed;opacity:0.7;
}
.payment-note{font-size:12.5px;color:var(--stone);margin-top:12px;text-align:center;}

/* ---------- TRACKING ---------- */
.track-form{display:flex;gap:12px;max-width:520px;flex-wrap:wrap;}
.track-form input{flex:1;min-width:220px;}
.status-card{margin-top:36px;background:var(--ink-light);border:1px solid rgba(166,166,159,0.18);border-radius:var(--radius);padding:30px;display:none;}
.status-card.show{display:block;}
.status-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:26px;font-family:var(--mono);font-size:12.5px;color:var(--stone);}
.status-meta strong{color:var(--gold);}
.timeline{display:flex;justify-content:space-between;position:relative;}
@media(max-width:640px){.timeline{flex-direction:column;gap:22px;}}
.timeline::before{
  content:"";position:absolute;top:11px;left:0;right:0;height:2px;background:rgba(166,166,159,0.2);
}
@media(max-width:640px){.timeline::before{top:0;bottom:0;left:11px;right:auto;width:2px;height:auto;}}
.tl-step{position:relative;flex:1;text-align:center;z-index:1;}
@media(max-width:640px){.tl-step{text-align:left;padding-left:34px;}}
.tl-dot{width:24px;height:24px;border-radius:50%;background:var(--ink);border:2px solid var(--stone);margin:0 auto 10px;display:flex;align-items:center;justify-content:center;}
@media(max-width:640px){.tl-dot{position:absolute;left:0;top:0;margin:0;}}
.tl-step.done .tl-dot, .tl-step.current .tl-dot{border-color:var(--gold);background:var(--gold-dim);}
.tl-step.current .tl-dot::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);}
.tl-label{font-size:12.5px;color:var(--cream-dim);}
.tl-step.current .tl-label{color:var(--gold);font-weight:600;}

/* ---------- FOOTER ---------- */
footer.site-footer{border-top:1px solid rgba(166,166,159,0.16);padding:56px 0 30px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-grid h4{font-family:var(--mono);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);margin-bottom:14px;}
.footer-grid ul{display:flex;flex-direction:column;gap:8px;}
.footer-grid a{font-size:14px;color:var(--cream-dim);}
.footer-grid a:hover{color:var(--gold);}
.footer-bottom{
  margin-top:50px;padding-top:22px;border-top:1px solid rgba(166,166,159,0.14);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:var(--mono);font-size:12px;color:var(--stone);
}
.footer-bottom strong{color:var(--gold);}

/* ---------- FAQ ACCORDION ---------- */
.faq-list{display:flex;flex-direction:column;gap:2px;background:rgba(166,166,159,0.16);border:1px solid rgba(166,166,159,0.16);border-radius:6px;overflow:hidden;}
.faq-item{background:var(--ink-light);}
.faq-question{
  width:100%;text-align:left;background:none;border:none;color:var(--cream);font-family:var(--body);
  font-size:15px;font-weight:600;padding:20px 22px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;
}
.faq-question:hover{color:var(--gold);}
.faq-question .icon{font-family:var(--mono);color:var(--gold);flex-shrink:0;transition:transform .2s;}
.faq-item.open .faq-question .icon{transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-answer p{padding:0 22px 20px;color:var(--cream-dim);font-size:14.5px;}
.faq-item.open .faq-answer{max-height:220px;}

/* ---------- LOCATIONS / CITY PAGES ---------- */
.locations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:760px){.locations-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.locations-grid{grid-template-columns:1fr;}}
.location-card{border:1px solid rgba(166,166,159,0.18);border-radius:var(--radius);padding:22px;transition:border-color .2s;}
.location-card:hover{border-color:var(--gold);}
.location-card .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);}
.location-card h3{font-size:16.5px;margin:10px 0 6px;}
.location-card p{font-size:13.5px;color:var(--cream-dim);}
.coverage-map-placeholder{
  border:1px dashed rgba(166,166,159,0.4);border-radius:var(--radius);
  min-height:220px;display:flex;align-items:center;justify-content:center;
  color:var(--stone);font-family:var(--mono);font-size:13px;text-align:center;padding:20px;
  background:radial-gradient(ellipse at 30% 30%, rgba(191,159,99,0.08), transparent 60%);
}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
