/* Scalable shared header loaded by mobile-nav.js after legacy page-specific styles. */
.site-header.header-nav-ready {
  position: relative;
  z-index: 1000;
  min-height: 0;
  overflow: visible;
  color: #fff8ec;
  background: linear-gradient(135deg, rgba(42, 8, 10, 0.82), rgba(80, 18, 16, 0.68));
  border-bottom: 1px solid rgba(239, 200, 107, 0.28);
  box-shadow: 0 18px 42px rgba(10, 3, 3, 0.26);
}

.site-header.header-nav-ready .header-inner {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(260px, 300px) minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: initial !important;
  gap: 20px !important;
  width: min(1560px, calc(100% - 32px)) !important;
  max-width: 1560px !important;
  min-height: 70px;
  margin: 0 auto !important;
  padding: 9px 0 !important;
  overflow: visible !important;
  box-sizing: border-box;
}

.site-header.header-nav-ready .brand {
  display: inline-flex !important;
  min-width: 260px !important;
  max-width: 300px !important;
  width: auto !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: #fff8ec;
  text-align: left !important;
  text-decoration: none;
  white-space: nowrap;
}

.site-header.header-nav-ready .brand::before,
.site-header.header-nav-ready .brand-subtitle,
.site-header.header-nav-ready .brand p {
  display: none !important;
}

.site-header.header-nav-ready .brand-mark {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(239, 200, 107, 0.72);
  border-radius: 50%;
  box-shadow: 0 0 24px rgba(239, 200, 107, 0.26);
}

.site-header.header-nav-ready .brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-header.header-nav-ready .brand-name,
.site-header.header-nav-ready .brand .site-title,
.site-header.header-nav-ready .brand h1 {
  display: block !important;
  max-width: 245px !important;
  margin: 0 !important;
  overflow: hidden;
  color: #efc86b;
  font-family: Georgia, "Noto Serif Devanagari", "Noto Sans Devanagari", Mangal, serif !important;
  font-size: 22px !important;
  font-weight: 800;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-overflow: ellipsis;
  text-shadow: none !important;
  white-space: nowrap;
}

.site-header.header-nav-ready .mobile-nav-toggle {
  display: none !important;
}

.site-header.header-nav-ready .main-nav {
  position: static !important;
  display: flex !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  max-height: none !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-flow: row nowrap !important;
  gap: clamp(3px, 0.55vw, 9px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  backdrop-filter: none !important;
}

.site-header.header-nav-ready .main-nav > a,
.site-header.header-nav-ready .nav-dropdown-control > a {
  display: inline-flex !important;
  min-height: 38px !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 7px clamp(5px, 0.55vw, 10px) !important;
  border: 1px solid transparent;
  border-radius: 999px;
  color: rgba(255, 248, 236, 0.9);
  font-family: Arial, "Noto Sans Devanagari", sans-serif;
  font-size: clamp(12px, 0.82vw, 14px) !important;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.site-header.header-nav-ready .main-nav a:hover,
.site-header.header-nav-ready .main-nav a.active,
.site-header.header-nav-ready .nav-dropdown.has-active-route > .nav-dropdown-control > a {
  border-color: rgba(239, 200, 107, 0.78);
  color: #5f1411;
  background: linear-gradient(135deg, rgba(255, 248, 236, 0.98), rgba(239, 200, 107, 0.86));
  box-shadow: 0 7px 18px rgba(10, 3, 3, 0.16);
  transform: none;
}

.site-header.header-nav-ready .header-dropdown {
  position: relative;
  flex: 0 0 auto;
  min-width: 0;
}

.site-header.header-nav-ready .nav-dropdown-control {
  display: inline-flex;
  align-items: stretch;
  min-width: 0;
}

.site-header.header-nav-ready .nav-dropdown-control > a {
  border-radius: 999px 0 0 999px !important;
  padding-right: 5px !important;
}

.site-header.header-nav-ready .nav-dropdown-toggle {
  appearance: none;
  display: inline-grid;
  width: 27px;
  min-height: 38px;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(239, 200, 107, 0.3);
  border-left: 0;
  border-radius: 0 999px 999px 0;
  color: #efc86b;
  background: rgba(255, 248, 236, 0.06);
  cursor: pointer;
}

.site-header.header-nav-ready .nav-dropdown-toggle span,
.site-header.header-nav-ready .ai-header-caret {
  transition: transform 180ms ease;
}

.site-header.header-nav-ready .header-dropdown.is-open .nav-dropdown-toggle span,
.site-header.header-nav-ready .header-dropdown.is-open .ai-header-caret {
  transform: rotate(180deg);
}

.site-header.header-nav-ready .nav-dropdown-toggle:hover,
.site-header.header-nav-ready .nav-dropdown-toggle:focus-visible,
.site-header.header-nav-ready .nav-dropdown.is-open .nav-dropdown-toggle {
  border-color: rgba(239, 200, 107, 0.78);
  color: #fff8ec;
  background: rgba(239, 200, 107, 0.16);
}

.site-header.header-nav-ready .header-dropdown-panel[hidden] {
  display: none !important;
}

.site-header.header-nav-ready .nav-dropdown-panel {
  position: absolute;
  top: calc(100% + 9px);
  left: 0;
  z-index: 10020;
  display: grid;
  width: max-content;
  min-width: 190px;
  gap: 4px;
  padding: 8px;
  border: 1px solid rgba(239, 200, 107, 0.38);
  border-radius: 14px;
  background: rgba(35, 8, 7, 0.98);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.36);
}

.site-header.header-nav-ready .nav-dropdown-panel a {
  display: flex !important;
  min-height: 40px;
  align-items: center;
  padding: 9px 12px !important;
  border: 1px solid transparent;
  border-radius: 10px !important;
  color: #fff8ec;
  font-size: 13px !important;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;
}

.site-header.header-nav-ready .language-switcher {
  display: inline-flex !important;
  min-width: 0 !important;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  white-space: nowrap;
}

.site-header.header-nav-ready .language-switcher-label {
  display: none !important;
}

.site-header.header-nav-ready .language-switcher select {
  appearance: auto;
  width: 94px !important;
  max-width: 94px !important;
  min-height: 38px !important;
  margin: 0;
  padding: 6px 23px 6px 9px !important;
  border: 1px solid rgba(239, 200, 107, 0.46) !important;
  border-radius: 999px !important;
  color: #efc86b !important;
  background-color: rgba(255, 248, 236, 0.08) !important;
  font-family: Georgia, "Noto Serif Devanagari", "Noto Sans Devanagari", Mangal, serif !important;
  font-size: 12px !important;
  cursor: pointer;
}

.site-header.header-nav-ready .language-switcher select option {
  color: #2b1a10;
  background: #fff8ec;
}

.site-header.header-nav-ready .ai-header-auth {
  display: inline-flex !important;
  width: auto !important;
  min-width: 42px !important;
  min-height: 38px;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 42px !important;
  grid-column: auto !important;
  overflow: visible !important;
}

.site-header.header-nav-ready .ai-header-auth:has(.ai-header-login) {
  width: auto !important;
  min-width: 0 !important;
  flex-basis: auto !important;
}

.site-header.header-nav-ready .ai-header-user {
  position: relative;
  display: inline-flex !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.site-header.header-nav-ready .ai-header-account-button {
  display: inline-flex !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  min-height: 38px !important;
  justify-content: center !important;
  gap: 3px !important;
  padding: 3px !important;
  overflow: hidden !important;
}

.site-header.header-nav-ready .ai-header-account-button .ai-header-avatar,
.site-header.header-nav-ready .ai-header-account-button .ai-header-photo {
  width: 27px !important;
  height: 27px !important;
  flex-basis: 27px !important;
}

.site-header.header-nav-ready .ai-header-login {
  min-height: 38px !important;
  padding: 7px 11px !important;
  font-size: 12px !important;
}

.site-header.header-nav-ready .ai-account-menu {
  right: 0 !important;
  left: auto !important;
  z-index: 10030 !important;
  width: min(360px, calc(100vw - 24px)) !important;
}

.site-header.header-nav-ready .ai-account-identity-name {
  margin: 5px 0 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: #efc86b;
  font-size: 0.9rem;
  font-weight: 850;
  line-height: 1.3;
  white-space: normal !important;
  word-break: break-word;
}

.site-header.header-nav-ready .ai-account-menu-actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

.site-header.header-nav-ready .ai-account-menu-actions > * {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: normal !important;
}

@media (min-width: 1280px) {
  .site-header.header-nav-ready .main-nav {
    gap: clamp(6px, 0.7vw, 12px) !important;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .site-header.header-nav-ready .header-inner {
    grid-template-columns: minmax(170px, 190px) minmax(0, 1fr) !important;
    gap: clamp(6px, 1vw, 12px) !important;
    width: calc(100% - 16px) !important;
    min-height: 62px;
    padding: 7px 0 !important;
  }

  .site-header.header-nav-ready .brand {
    min-width: 170px !important;
    max-width: 190px !important;
    gap: 7px !important;
  }

  .site-header.header-nav-ready .brand-mark {
    width: clamp(29px, 3vw, 36px);
    height: clamp(29px, 3vw, 36px);
    flex-basis: clamp(29px, 3vw, 36px);
  }

  .site-header.header-nav-ready .brand-name,
  .site-header.header-nav-ready .brand .site-title,
  .site-header.header-nav-ready .brand h1 {
    max-width: 151px !important;
    font-size: 15px !important;
  }

  .site-header.header-nav-ready .main-nav {
    gap: 2px !important;
  }

  .site-header.header-nav-ready .main-nav > a,
  .site-header.header-nav-ready .nav-dropdown-control > a {
    min-height: 34px !important;
    padding: 5px clamp(3px, 0.42vw, 6px) !important;
    font-size: clamp(10px, 1.05vw, 12.5px) !important;
  }

  .site-header.header-nav-ready .nav-dropdown-control > a {
    padding-right: 2px !important;
  }

  .site-header.header-nav-ready .nav-dropdown-toggle {
    width: 20px;
    min-height: 34px;
    font-size: 10px;
  }

  .site-header.header-nav-ready .language-switcher,
  .site-header.header-nav-ready .language-switcher select {
    min-height: 34px !important;
  }

  .site-header.header-nav-ready .language-switcher select {
    width: clamp(68px, 7vw, 82px) !important;
    max-width: clamp(68px, 7vw, 82px) !important;
    padding-right: 18px !important;
    padding-left: 6px !important;
    font-size: 10px !important;
  }

  .site-header.header-nav-ready .ai-header-auth,
  .site-header.header-nav-ready .ai-header-user,
  .site-header.header-nav-ready .ai-header-account-button {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    min-height: 34px !important;
    flex-basis: 36px !important;
  }
}

@media (max-width: 767px) {
  .site-header.header-nav-ready .header-inner {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    width: calc(100% - 24px) !important;
    min-height: 62px;
    padding: 8px 0 !important;
  }

  .site-header.header-nav-ready .brand {
    min-width: 0 !important;
    max-width: calc(100vw - 92px) !important;
  }

  .site-header.header-nav-ready .brand-mark {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }

  .site-header.header-nav-ready .brand-name,
  .site-header.header-nav-ready .brand .site-title,
  .site-header.header-nav-ready .brand h1 {
    max-width: calc(100vw - 136px) !important;
    font-size: 18px !important;
  }

  .site-header.header-nav-ready .mobile-nav-toggle {
    display: inline-flex !important;
    grid-column: 2;
    grid-row: 1;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    margin: 0;
  }

  .site-header.header-nav-ready .main-nav {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 10010 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: none !important;
    max-height: 0 !important;
    gap: 7px !important;
    padding: 0 10px !important;
    overflow: hidden !important;
    border: 1px solid transparent !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, rgba(42, 8, 10, 0.99), rgba(86, 18, 16, 0.98)) !important;
    box-shadow: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none;
    transform: translateY(-8px) !important;
    transition: opacity 180ms ease, transform 180ms ease, max-height 220ms ease, padding 180ms ease;
  }

  .site-header.header-nav-ready.mobile-nav-open .main-nav {
    max-height: min(82vh, 720px) !important;
    padding: 10px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border-color: rgba(239, 200, 107, 0.42) !important;
    box-shadow: 0 22px 48px rgba(10, 3, 3, 0.4) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
    transform: translateY(0) !important;
  }

  .site-header.header-nav-ready .main-nav > a,
  .site-header.header-nav-ready .nav-dropdown-control > a {
    width: 100% !important;
    min-height: 44px !important;
    justify-content: flex-start;
    padding: 10px 13px !important;
    border-radius: 11px !important;
    font-size: 14px !important;
  }

  .site-header.header-nav-ready .nav-dropdown,
  .site-header.header-nav-ready .nav-dropdown-control {
    width: 100%;
  }

  .site-header.header-nav-ready .nav-dropdown-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
  }

  .site-header.header-nav-ready .nav-dropdown-control > a {
    border-radius: 11px 0 0 11px !important;
  }

  .site-header.header-nav-ready .nav-dropdown-toggle {
    width: 44px;
    min-height: 44px;
    border-left: 1px solid rgba(239, 200, 107, 0.24);
    border-radius: 0 11px 11px 0;
  }

  .site-header.header-nav-ready .nav-dropdown-panel {
    position: static;
    width: 100%;
    min-width: 0;
    margin-top: 5px;
    padding: 5px 5px 5px 20px;
    border: 0;
    border-left: 2px solid rgba(239, 200, 107, 0.46);
    border-radius: 0;
    background: rgba(255, 248, 236, 0.04);
    box-shadow: none;
  }

  .site-header.header-nav-ready .nav-dropdown-panel a {
    min-height: 42px;
  }

  .site-header.header-nav-ready .language-switcher {
    display: grid !important;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    width: 100% !important;
    min-height: 46px;
    gap: 10px;
    padding: 7px 10px !important;
    border: 1px solid rgba(239, 200, 107, 0.22) !important;
    border-radius: 12px;
    background: rgba(255, 248, 236, 0.05) !important;
  }

  .site-header.header-nav-ready .language-switcher-label {
    display: block !important;
  }

  .site-header.header-nav-ready .language-switcher select {
    width: 100% !important;
    max-width: none !important;
    min-height: 38px !important;
  }

  .site-header.header-nav-ready .ai-header-auth {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px;
    justify-content: flex-start;
    flex-basis: auto !important;
  }

  .site-header.header-nav-ready .ai-header-user {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .site-header.header-nav-ready .ai-header-account-button {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
  }

  .site-header.header-nav-ready .ai-account-menu {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 7px;
  }

  .site-header.header-nav-ready .ai-header-login {
    width: 100%;
    min-height: 44px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header.header-nav-ready .main-nav,
  .site-header.header-nav-ready .nav-dropdown-toggle span,
  .site-header.header-nav-ready .ai-header-caret {
    transition: none !important;
  }
}

*{box-sizing:border-box}html{scroll-behavior:smooth}body.flat-plan-page{margin:0;background:#fbf3e3;color:#352019;font:17px/1.8 Arial,"Noto Sans Devanagari",Mangal,sans-serif;overflow-wrap:break-word}.flat-plan-page main{width:min(1080px,calc(100% - 32px));margin:34px auto 60px}.flat-guide-intro,.flat-guide-toc,.flat-plan-page main>section{background:#fffdf7;border:1px solid #dcc69e;border-radius:20px;padding:clamp(20px,4vw,38px);margin:24px 0}.flat-plan-page h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1.3;color:#642619;margin:10px 0 20px}.flat-plan-page h2{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.45;color:#642619}.flat-plan-page p,.flat-plan-page li{max-width:82ch}.flat-plan-page main a{color:#82380d;text-decoration:underline;text-underline-offset:3px}.flat-guide-kicker{font-weight:700;color:#9b5a0c}.flat-guide-toc{display:grid;gap:9px}.flat-guide-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.flat-guide-actions p{flex-basis:100%;margin:0}.flat-plan-page .flat-guide-actions a{display:inline-block;padding:10px 18px;border-radius:24px;background:#f3cb70;color:#3b1b0b;font-weight:700;text-decoration:none}.flat-plan-page details{border-top:1px solid #dcc69e;padding:16px 0}.flat-plan-page summary{cursor:pointer;font-weight:700;color:#642619}.flat-guide-figure{margin:24px 0;padding:18px;background:#f8edd4;border:1px solid #d3b680;border-radius:16px}.flat-guide-figure figcaption{font-weight:700;color:#5e3318}.flat-guide-north{text-align:center;font-weight:800}.flat-guide-plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:680px;margin:auto}.flat-guide-plan>div{display:flex;min-height:90px;align-items:center;justify-content:center;background:#fffdf7;border:1px solid #b99a67;border-radius:6px;text-align:center;padding:10px;font-size:clamp(.75rem,2.5vw,1rem);color:#3e2416}.flat-plan-page .mobile-nav-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid #d6aa53;border-radius:12px;background:#6d3525;cursor:pointer}.flat-plan-page .mobile-nav-toggle span{display:block;width:20px;height:2px;border-radius:4px;background:#f4c967}.flat-plan-page .ai-header-auth{flex:0 0 auto}.flat-plan-page .ai-header-auth a{display:inline-flex;align-items:center;white-space:nowrap;padding:6px 10px;border:1px solid #d6aa53;border-radius:22px;color:#fff4d9;text-decoration:none;font-size:13px;font-weight:700}.flat-plan-page footer{padding:28px 18px;background:#3d1712;color:#fff4d9;text-align:center}.flat-plan-page footer ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 22px;margin:0 0 16px;padding:0}.flat-plan-page footer a{color:#ffe0a1}.flat-plan-page footer p{margin:10px auto}.flat-plan-page a:focus-visible,.flat-plan-page summary:focus-visible{outline:3px solid #b87513;outline-offset:4px}@media(max-width:430px){.flat-plan-page main{width:calc(100% - 20px);margin:20px auto}.flat-guide-plan>div{padding:6px;min-height:80px}.flat-plan-page .flat-guide-actions{display:grid}.flat-plan-page .flat-guide-actions a{text-align:center}}