*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: rgba(203,180,134,0.12);
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.7;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

:root {
  --cream: rgba(255,255,255,0.03);
  --warm: rgba(255,255,255,0.05);
  --gold: #CBB486;
  --gold-lt: #D4C08F;
  --ink: #F5E6C8;
  --ink-s: #D8CFC4;
  --ink-m: #A89E94;
  --border: rgba(203,180,134,0.12);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Jost', sans-serif;
  font-size: 17px;
  line-height: 1.7;
  background: linear-gradient(180deg, #3B0A0F 0%, #2D080C 100%);
  background-attachment: fixed;
  color: #D8CFC4;
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ── NAVIGATION ── */

nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  background: rgba(59,10,15,0.95);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(203,180,134,0.12);
}

.nav-logo {
  font-family: 'Cormorant Garamond', serif;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: .06em;
  cursor: pointer;
  flex-shrink: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  color: #F5E6C8;
}

.nav-logo span {
  color: var(--gold);
  font-weight: 700;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 4px;
}

.nav-links a {
  font-size: 14.5px;
  font-weight: 400;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #D8CFC4;
  text-decoration: none;
  cursor: pointer;
  padding: 8px 14px;
  border-radius: 2px;
  transition: color .18s, background .18s;
  white-space: nowrap;
}

.nav-links a:hover {
  color: #CBB486;
  background: rgba(203,180,134,.08);
}

.nav-links a.active {
  color: #CBB486;
  background: rgba(203,180,134,.1);
}

.nav-lock {
  font-size: 10px;
  opacity: 0.5;
  margin-left: 2px;
  vertical-align: middle;
}

.nav-more-wrap {
  position: relative;
}

.nav-more-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 14.5px;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #D8CFC4;
  cursor: pointer;
  padding: 8px 14px;
  border-radius: 2px;
  background: transparent;
  border: none;
  font-family: 'Jost',sans-serif;
  transition: color .18s, background .18s;
}

.nav-more-btn:hover, .nav-more-btn.active {
  color: #CBB486;
  background: rgba(203,180,134,.1);
}

.nav-more-chevron {
  font-size: 8px;
  transition: transform .2s;
  display: inline-block;
}

.nav-more-wrap.open .nav-more-chevron {
  transform: rotate(180deg);
}

.nav-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 480px;
  background: #3B0A0F;
  border: 1px solid rgba(203,180,134,0.15);
  box-shadow: 0 12px 40px rgba(0,0,0,.4);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity .2s, transform .2s;
  z-index: 300;
}

.nav-more-wrap.open .nav-dropdown {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}

.nav-dd-head {
  padding: 14px 20px 10px;
  font-size: 15px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #CBB486;
  border-bottom: 1px solid rgba(203,180,134,0.12);
}

.nav-dd-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

.nav-dd-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 18px;
  cursor: pointer;
  border-bottom: 1px solid rgba(203,180,134,0.08);
  transition: background .15s;
}

.nav-dd-item:nth-last-child(-n+2) {
  border-bottom: none;
}

.nav-dd-item:hover {
  background: rgba(203,180,134,.06);
}

.nav-dd-icon {
  font-size: 16px;
  line-height: 1;
  margin-top: 1px;
  color: var(--gold);
  flex-shrink: 0;
  width: 22px;
  text-align: center;
}

.nav-dd-name {
  font-size: 15px;
  font-weight: 400;
  color: #F5E6C8;
  margin-bottom: 2px;
}

.nav-dd-desc {
  font-size: 14px;
  font-weight: 400;
  color: #A89E94;
  line-height: 1.4;
}

.nav-dd-divider {
  grid-column: 1 / -1;
  height: 1px;
  background: rgba(203,180,134,0.1);
}

a.nav-dd-item {
  text-decoration: none;
  color: inherit;
}

.nav-dd-item:active {
  background: rgba(203,180,134,.12);
}

.nav-dd-active {
  background: rgba(203,180,134,.08);
}

.nav-dd-active .nav-dd-name {
  color: #CBB486;
}

a.nav-mobile-link {
  text-decoration: none;
  color: inherit;
}

.nav-mobile-active {
  background: rgba(203,180,134,.08);
  color: #CBB486;
}

.nav-mobile-active .mob-icon {
  color: #CBB486;
}

.nav-auth {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.nav-login-btn {
  background: transparent;
  border: 1px solid rgba(203,180,134,0.25);
  padding: 6px 16px;
  font-family: 'Jost',sans-serif;
  font-size: 14px;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  color: #D8CFC4;
  transition: all .2s;
  border-radius: 2px;
}

.nav-login-btn:hover {
  border-color: #CBB486;
  color: #CBB486;
}

.nav-user {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 4px 10px 4px 4px;
  border: 1px solid rgba(203,180,134,0.25);
  border-radius: 20px;
  transition: border-color .2s;
}

.nav-user:hover {
  border-color: #CBB486;
}

.nav-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--gold);
  color: #1A1815;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 500;
  flex-shrink: 0;
}

.nav-uname {
  font-size: 14px;
  font-weight: 400;
  color: #D8CFC4;
  max-width: 88px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  padding: 6px;
  background: transparent;
  border: none;
  cursor: pointer;
}

.nav-hamburger span {
  display: block;
  height: 1.5px;
  background: #D8CFC4;
  transition: transform .22s, opacity .22s;
  border-radius: 1px;
}

.nav-mobile-menu {
  display: none;
  position: fixed;
  top: 72px;
  left: 0;
  right: 0;
  background: #3B0A0F;
  border-bottom: 1px solid rgba(203,180,134,0.12);
  z-index: 199;
  max-height: calc(100vh - 60px);
  overflow-y: auto;
  transform: translateY(-12px);
  opacity: 0;
  transition: transform .22s ease, opacity .22s ease;
  pointer-events: none;
}

.nav-mobile-menu.open {
  display: block;
  transform: translateY(0);
  opacity: 1;
  pointer-events: all;
}

.nav-mobile-link {
  padding: 14px 24px;
  font-size: 14px;
  font-weight: 400;
  color: #D8CFC4;
  cursor: pointer;
  border-bottom: 1px solid rgba(203,180,134,0.08);
  transition: background .15s, color .15s;
  display: flex;
  align-items: center;
  gap: 10px;
}

.nav-mobile-link:hover {
  background: rgba(203,180,134,.06);
  color: #CBB486;
}

.nav-mobile-link .mob-icon {
  color: var(--gold);
  font-size: 14px;
  width: 20px;
  text-align: center;
}

.nav-mobile-section {
  padding: 10px 24px 6px;
  font-size: 15px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #CBB486;
  background: rgba(75,13,18,0.6);
  border-bottom: 1px solid rgba(203,180,134,0.08);
}

.nav-mobile-auth {
  padding: 16px 24px;
  display: flex;
  gap: 12px;
}

.nav-mobile-auth .btn {
  flex: 1;
  text-align: center;
}

@media (max-width: 900px) {
  .nav-links {
    display: none;
  }

  .nav-more-wrap {
    display: none;
  }

  .nav-hamburger {
    display: flex;
  }

  nav {
    padding: 0 20px;
  }
}

@media (max-width: 480px) {
  .nav-uname {
    display: none;
  }
}

/* ── PAGE SHARED ── */

.page.active {
  display: block;
}

.pg-wrap {
  padding: 56px 56px 96px;
  max-width: 1280px;
  margin: 0 auto;
}

.pg-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 48px;
  font-weight: 500;
  margin-bottom: 12px;
  color: #F5E6C8;
}

.pg-sub {
  font-size: 17px;
  color: #A89E94;
  margin-bottom: 52px;
  font-weight: 400;
  letter-spacing: .02em;
  line-height: 1.7;
}

.page-content {
  padding-top: 72px;
}

/* ── PAGE HERO (shared across all pg-wrap pages) ── */

.pg-hero {
  background: linear-gradient(135deg, #4B0D12 0%, #5A0F15 40%, #3D0A0F 100%);
  padding: 80px 56px 72px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.pg-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(203,180,134,0.06) 0%, transparent 70%);
  pointer-events: none;
}

.pg-hero-inner {
  max-width: 780px;
  margin: 0 auto;
  position: relative;
}

.pg-hero .eyebrow {
  color: #CBB486;
  margin-bottom: 16px;
}

.pg-hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(36px, 4.5vw, 54px);
  font-weight: 500;
  color: #F5E6C8;
  line-height: 1.15;
  margin-bottom: 20px;
}

.pg-hero-title em {
  font-style: italic;
  color: #CBB486;
}

.pg-hero-desc {
  font-size: 17px;
  line-height: 1.75;
  color: #D8CFC4;
  font-weight: 400;
  max-width: 650px;
  margin: 0 auto;
}

.pg-hero-divider {
  width: 60px;
  height: 1px;
  background: linear-gradient(to right, transparent, #CBB486, transparent);
  margin: 20px auto 0;
}

#page-home {
  background: #3B0A0F;
}

/* Dark nav is now global — homepage-only scoping removed */

/* ── FORMS ── */

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 36px;
}

.fg {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.fg.full {
  grid-column: 1/-1;
}

label {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #CBB486;
}

input, select {
  font-family: 'Jost', sans-serif;
  font-size: 17px;
  font-weight: 400;
  border: 1px solid rgba(203,180,134,0.2);
  background: rgba(45,8,12,0.6);
  color: #F5E6C8;
  padding: 14px 18px;
  outline: none;
  transition: border-color .2s;
  -webkit-appearance: none;
  appearance: none;
}

input:focus, select:focus {
  border-color: #CBB486;
}

input::-moz-placeholder, textarea::-moz-placeholder { color: #7A6E64; }
input::placeholder, textarea::placeholder { color: #7A6E64; }

select option {
  background: #3B0A0F;
  color: #F5E6C8;
}

/* ── BUTTONS ── */

.btn {
  font-family: 'Jost', sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 15px 36px;
  cursor: pointer;
  border: none;
  transition: all .2s;
  text-decoration: none;
  display: inline-block;
}

.btn-sm {
  font-size: 12px;
  padding: 7px 16px;
  letter-spacing: .08em;
}

.btn-dark {
  background: linear-gradient(135deg, #CBB486, #A8935E);
  color: #1A1815;
  font-weight: 500;
}

.btn-dark:hover {
  background: linear-gradient(135deg, #D4C08F, #B8A36E);
  transform: translateY(-1px);
}

.btn-light {
  background: transparent;
  color: #D8CFC4;
  border: 1px solid rgba(203,180,134,0.25);
}

.btn-light:hover {
  border-color: #CBB486;
  color: #CBB486;
  transform: translateY(-1px);
}

/* ── LOADING ── */

.loading {
  display: none;
  align-items: center;
  gap: 10px;
  padding: 14px 0;
}

.loading.vis {
  display: flex;
}

.dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold-lt);
  animation: bounce 1.2s ease infinite;
}

.dot:nth-child(2) {
  animation-delay: .2s;
}

.dot:nth-child(3) {
  animation-delay: .4s;
}

.load-text {
  font-size: 14px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #A89E94;
}

/* ── RESULT PANEL ── */

.result-panel {
  border: 1px solid rgba(203,180,134,0.15);
  background: rgba(255,255,255,0.03);
  padding: 44px;
  margin-top: 44px;
  display: none;
  border-radius: 12px;
}

.result-panel.vis {
  display: block;
}

.rp-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 30px;
  font-weight: 400;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(203,180,134,0.12);
  color: #F5E6C8;
}

/* ── HERO ── */

.hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: calc(100vh - 72px);
  align-items: center;
  background: linear-gradient(135deg, #4B0D12 0%, #5A0F15 40%, #3D0A0F 100%);
  color: #F5E6C8;
}

.hero-left {
  padding: 80px 48px 80px 72px;
}

.eyebrow {
  font-size: 15px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
  margin-bottom: 24px;
}
.hero .eyebrow,
.hp-panchang .eyebrow {
  color: #CBB486;
}

.hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(48px, 5.5vw, 72px);
  font-weight: 400;
  line-height: 1.08;
  margin-bottom: 24px;
  color: #F5E6C8;
}

.hero-title em {
  font-style: italic;
  color: #CBB486;
}

.hero-sub {
  font-size: 19px;
  font-weight: 400;
  line-height: 1.75;
  color: #D8CFC4;
  max-width: 500px;
  margin-bottom: 48px;
}

.hero-btns {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.hero-btns .btn-dark {
  background: #CBB486;
  color: #1a1a1a;
  font-weight: 700;
  border-radius: 6px;
  padding: 16px 36px;
  font-size: 15px;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
  box-shadow: 0 2px 12px rgba(203,180,134,0.2);
}
.hero-btns .btn-dark:hover {
  background: #D4C09A;
  box-shadow: 0 4px 24px rgba(203,180,134,0.35);
  transform: translateY(-2px);
}

.hero-btns .btn-light {
  background: transparent;
  color: #CBB486;
  border: 1.5px solid rgba(203,180,134,0.5);
  border-radius: 6px;
  padding: 16px 36px;
  font-size: 15px;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
}
.hero-btns .btn-light:hover {
  border-color: #CBB486;
  color: #F5E6C8;
  background: rgba(203,180,134,0.08);
  transform: translateY(-2px);
}

.hero-right {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at center, rgba(106,15,22,0.5) 0%, rgba(59,10,15,0.8) 50%, rgba(75,13,18,0.3) 100%);
  overflow: hidden;
}

.spin-wrap {
  position: relative;
  width: 320px;
  height: 320px;
  animation: hero-breathe 20s ease-in-out infinite;
}

@keyframes hero-breathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.04); }
}

/* SVG zodiac outer ring */
.ring-zodiac {
  position: absolute;
  width: 320px;
  height: 320px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: spin 90s linear infinite;
}

.ring {
  position: absolute;
  border-radius: 50%;
  border: 1.5px solid #CBB486;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: spin 60s linear infinite;
  box-shadow: 0 0 20px rgba(203,180,134,0.08);
}

.ring.ring-2 {
  width: 220px;
  height: 220px;
  border-color: rgba(203,180,134,0.4);
  border-style: dashed;
  animation-direction: reverse;
  animation-duration: 45s;
}

.ring.ring-3 {
  width: 120px;
  height: 120px;
  border-color: rgba(203,180,134,0.3);
  animation-duration: 25s;
}

.ring-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 80px;
}

.ring-symbol {
  font-family: 'Cormorant Garamond', serif;
  font-size: 40px;
  color: #CBB486;
  line-height: 1;
  filter: drop-shadow(0 0 8px rgba(203,180,134,0.3));
}

.ring-label {
  font-family: 'Cormorant Garamond', serif;
  font-size: 15px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #CBB486;
  font-weight: 600;
  margin-top: 6px;
  white-space: nowrap;
}

/* ── STAR PARTICLES ── */
.ambient-stars,
.hero-stars {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.hero .hero-left,
.hero .hero-right {
  position: relative;
  z-index: 1;
}
.star {
  position: absolute;
  width: 2px;
  height: 2px;
  background: rgba(203,180,134,0.5);
  border-radius: 50%;
  animation: star-pulse 4s ease-in-out infinite;
}
.star.lg {
  width: 3px;
  height: 3px;
  background: rgba(203,180,134,0.35);
  box-shadow: 0 0 6px rgba(203,180,134,0.2);
}
@keyframes star-pulse {
  0%, 100% { opacity: 0.2; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.5); }
}

/* Ambient layer — slower drift + twinkle, lower base opacity */
.ambient-stars .star {
  background: rgba(203,180,134,0.4);
  animation: star-drift 11s ease-in-out infinite;
}
.ambient-stars .star.lg {
  background: rgba(203,180,134,0.28);
  box-shadow: 0 0 5px rgba(203,180,134,0.15);
  animation: star-drift 16s ease-in-out infinite;
}
@keyframes star-drift {
  0%, 100% { opacity: 0.08; transform: scale(1) translate(0, 0); }
  30%       { opacity: 0.45; transform: scale(1.5) translate(1px, -1px); }
  60%       { opacity: 0.18; transform: scale(1.1) translate(-1px, 1px); }
  80%       { opacity: 0.55; transform: scale(1.6) translate(0.5px, -0.5px); }
}

/* Reduced density on auth/form pages */
body:has(.auth-page) .ambient-stars {
  opacity: 0.45;
}

/* ── GOLD DIVIDER ── */
.hp-gold-divider {
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(203,180,134,0.4), transparent);
  margin: 0;
}

/* ── CTA SHIMMER ── */
.btn-shimmer {
  position: relative;
  overflow: hidden;
}
.btn-shimmer::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
  transition: none;
  animation: none;
}
.btn-shimmer:hover::after {
  animation: shimmer-slide 0.6s ease forwards;
}
@keyframes shimmer-slide {
  0% { left: -100%; }
  100% { left: 150%; }
}

/* ── CTA ARROW ── */
.cta-arrow {
  display: inline-block;
  transition: transform 0.25s ease;
}
.home-primary-card:hover .cta-arrow {
  transform: translateX(4px);
}

/* ── FEATURE CARD TOP ACCENT ── */
.home-primary-card {
  border-top: 2px solid rgba(203,180,134,0.25);
  position: relative;
}
.home-primary-card::before {
  content: '';
  position: absolute;
  top: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: #CBB486;
  transition: width 0.4s ease;
}
.home-primary-card:hover::before {
  width: 100%;
}

/* ── STAGGERED REVEAL ANIMATION ── */
.hp-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.hp-reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.hp-reveal:nth-child(2) { transition-delay: 0.1s; }
.hp-reveal:nth-child(3) { transition-delay: 0.2s; }
.hp-reveal:nth-child(4) { transition-delay: 0.3s; }

/* ── ANGA PRIMARY EMPHASIS ── */
.hp-anga-card.hp-anga-primary {
  background: rgba(203,180,134,0.06);
}
.hp-anga-card.hp-anga-primary .hp-anga-name {
  font-size: 22px;
  font-weight: 700;
}

/* ── ANGA SVG ICONS ── */
.hp-anga-sym svg {
  color: #CBB486;
}

/* ── PLANET LABEL SVG ── */
.hp-planet-label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.hp-planet-label svg {
  color: #CBB486;
  flex-shrink: 0;
}

/* ── DETECT BUTTON SVG ── */
.hp-detect-btn {
  display: flex;
  align-items: center;
  gap: 6px;
}
.hp-detect-btn svg {
  flex-shrink: 0;
}

/* ── CLOSING SECTION ── */
.hp-closing {
  background: linear-gradient(180deg, #3B0A0F 0%, #2D070B 100%);
  text-align: center;
  padding: 80px 48px 64px;
}
.hp-closing-eyebrow {
  font-size: 13px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #CBB486;
  font-weight: 500;
  margin-bottom: 20px;
}
.hp-closing-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  color: #F5E6C8;
  margin-bottom: 16px;
}
.hp-closing-title em {
  color: #CBB486;
  font-style: italic;
}
.hp-closing-desc {
  font-size: 17px;
  line-height: 1.75;
  color: #D8CFC4;
  max-width: 520px;
  margin: 0 auto 36px;
  font-weight: 400;
}
.hp-closing-cta {
  display: inline-block;
  background: #CBB486;
  color: #1a1a1a;
  font-weight: 700;
  border-radius: 6px;
  padding: 16px 44px;
  font-size: 15px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  box-shadow: 0 2px 16px rgba(203,180,134,0.25);
  margin-bottom: 48px;
}
.hp-closing-cta:hover {
  background: #D4C09A;
  box-shadow: 0 4px 28px rgba(203,180,134,0.4);
  transform: translateY(-2px);
}
.hp-closing-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.hp-closing-brand span {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(203,180,134,0.5);
  font-weight: 600;
}

/* ── FEATURES STRIP ── */

/* ── EXPLORE YOUR CHART NAV ── */

.ecn-section {
  display: none;
  text-align: center;
  margin: 44px 0 48px;
  padding: 36px 32px;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(203,180,134,0.14);
  border-radius: 14px;
}
.ecn-section.vis { display: block; }

.ecn-eyebrow {
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}
.ecn-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px;
  font-weight: 400;
  color: #F5E6C8;
  margin-bottom: 6px;
}
.ecn-subtitle {
  font-size: 13px;
  color: var(--ink-s);
  margin-bottom: 30px;
}
.ecn-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.ecn-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 20px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(203,180,134,0.10);
  border-radius: 10px;
  cursor: pointer;
  text-align: left;
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}
.ecn-card:hover {
  transform: translateY(-4px);
  border-color: rgba(203,180,134,0.35);
  background: rgba(203,180,134,0.06);
  box-shadow: 0 8px 28px rgba(0,0,0,0.3), 0 0 16px rgba(203,180,134,0.07);
}
.ecn-card[disabled] {
  opacity: 0.32;
  pointer-events: none;
}
.ecn-card-icon {
  font-size: 22px;
  color: var(--gold);
  line-height: 1;
}
.ecn-card-label {
  font-family: 'Outfit', 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #F5E6C8;
}
.ecn-card-hint {
  font-size: 12px;
  color: var(--ink-s);
  line-height: 1.45;
}

/* ── CHART LAYOUT ── */

.chart-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}

.chart-sec-label {
  font-size: 15px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}

.north-chart {
  width: 100%;
  max-width: 480px;
}

.north-chart svg {
  width: 100%;
  height: auto;
}

/* ── PLANET TABLE ── */

.planet-table {
  width: 100%;
  border-collapse: collapse;
}

.planet-table th {
  font-size: 14px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #CBB486;
  padding: 14px 16px;
  border-bottom: 2px solid rgba(203,180,134,0.2);
  text-align: left;
  font-weight: 600;
  background: rgba(75,13,18,0.25);
}

.planet-table td {
  font-size: 16px;
  font-weight: 400;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(203,180,134,0.08);
  color: #E8DDD0;
  vertical-align: middle;
}

.planet-table tr:nth-child(even) td {
  background: rgba(203,180,134,0.03);
}

.planet-table tr:last-child td {
  border-bottom: none;
}

.planet-table tr:hover td {
  background: rgba(203,180,134,.07);
}

.ayanamsa-note {
  font-size: 15px;
  color: #A89E94;
  font-weight: 400;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(203,180,134,0.1);
  line-height: 1.7;
}

.ayanamsa-note strong {
  color: var(--gold);
  font-weight: 400;
}

.nak-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 24px;
}

.chart-summary-box {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}

.cs-label {
  font-size: 15px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
}

.cs-text {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.9;
  color: var(--ink-s);
}

/* ── HOROSCOPE ── */

/* ── HOROSCOPE PAGE ── */

.hs-hero {
  background: linear-gradient(135deg, #4B0D12 0%, #5A0F15 40%, #3D0A0F 100%);
  padding: 80px 48px; color: #fff; text-align: center;
  position: relative; overflow: hidden;
}
.hs-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(203,180,134,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.hs-hero-inner { max-width: 780px; margin: 0 auto; position: relative; }
.hs-hero-title {
  font-family: 'Cormorant Garamond', serif; font-size: clamp(32px, 5vw, 52px);
  font-weight: 400; margin-bottom: 16px;
}
.hs-hero-title em { color: var(--gold); font-style: italic; }
.hs-hero-desc { font-size: 16px; line-height: 1.8; color: #D8CFC4; font-weight: 400; }

/* Zodiac grid */
.hs-zodiac-section { padding: 48px 48px 0; background: var(--cream); }
.hs-zodiac-inner { max-width: 1280px; margin: 0 auto; }
.hs-zodiac-label {
  text-align: center; font-size: 14px; text-transform: uppercase;
  letter-spacing: 2.5px; color: var(--gold); font-weight: 600; margin-bottom: 24px;
  font-family: 'Jost', sans-serif;
}
.hs-zodiac-grid {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px;
}
.hs-zod-btn {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 20px 10px; text-align: center; gap: 10px;
  background: var(--warm); border: 1.5px solid var(--border); border-radius: 6px;
  cursor: pointer; transition: all 0.25s ease; font-family: 'Jost', sans-serif;
  position: relative;
}
.hs-zod-btn:hover {
  border-color: var(--gold-lt); background: rgba(203,180,134,0.08);
  box-shadow: 0 2px 12px rgba(203,180,134,0.15);
  transform: translateY(-2px);
}
.hs-zod-btn.active {
  background: linear-gradient(135deg, #CBB486, #A8935E); color: #1A1815;
  border-color: #CBB486; box-shadow: 0 4px 16px rgba(203,180,134,0.25);
}
.hs-zod-svg {
  width: 38px; height: 38px; color: var(--gold);
  transition: color 0.25s, transform 0.25s;
}
.hs-zod-btn:hover .hs-zod-svg { transform: scale(1.12); }
.hs-zod-btn.active .hs-zod-svg { color: #1A1815; }
.hs-zod-name {
  display: block; font-size: 13.5px; text-transform: uppercase;
  letter-spacing: 1.5px; font-weight: 600; line-height: 1;
}

/* Controls */
.hs-controls {
  display: flex; align-items: center; justify-content: center; gap: 24px;
  padding: 36px 0 40px; flex-wrap: wrap;
}
.hs-period-tabs {
  display: flex; border: 1.5px solid var(--border); border-radius: 4px; overflow: hidden;
}
.hs-ptab {
  padding: 14px 34px; font-size: 15px; letter-spacing: 0.14em; text-transform: uppercase;
  cursor: pointer; border: none; background: var(--cream); font-family: 'Jost', sans-serif;
  transition: all 0.25s; color: var(--ink-s); font-weight: 600;
  border-right: 1px solid var(--border);
}
.hs-ptab:last-child { border-right: none; }
.hs-ptab:hover { background: var(--warm); color: var(--ink); }
.hs-ptab.active { background: #CBB486; color: #1A1815; }
.hs-read-btn {
  padding: 16px 52px; font-size: 16px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  border-radius: 4px; transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(26,24,21,0.1);
}
.hs-read-btn:hover {
  box-shadow: 0 4px 16px rgba(26,24,21,0.18);
  transform: translateY(-1px);
}

/* Single result */
.hs-result-section { padding: 0 48px; background: var(--cream); }
.hs-result-inner {
  max-width: 1060px; margin: 0 auto; padding: 44px;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(203,180,134,0.15);
  border-radius: 12px;
}
.hs-result-header {
  display: flex; align-items: center; gap: 20px;
  margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--border);
}
.hs-result-sym { width: 56px; height: 56px; color: var(--gold); flex-shrink: 0; }
.hs-result-sym svg { width: 100%; height: 100%; }
.hs-result-name {
  font-family: 'Cormorant Garamond', serif; font-size: 30px; font-weight: 600; margin: 0;
}
.hs-result-date { font-size: 15px; color: var(--ink-s); font-weight: 400; margin-top: 4px; }
.hs-result-text { font-size: 17px; line-height: 1.85; color: #D8CFC4; font-weight: 400; margin-bottom: 28px; }

/* Domain section cards */
.hs-sections-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  margin-bottom: 28px;
}
.hs-section-card {
  padding: 18px 16px 20px;
  border-radius: 10px;
  border: 1px solid rgba(203,180,134,0.15);
  background: rgba(203,180,134,0.04);
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: border-color 0.2s;
}
.hs-section-card:hover {
  border-color: rgba(203,180,134,0.28);
}
.hs-section-card-header {
  display: flex;
  align-items: center;
  gap: 8px;
}
.hs-section-icon {
  font-size: 13px;
  color: var(--gold);
  opacity: 0.85;
  flex-shrink: 0;
}
.hs-section-title {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--gold);
}
.hs-section-body {
  font-size: 13.5px;
  line-height: 1.72;
  color: #C8BFB4;
  margin: 0;
}
@media (max-width: 1100px) {
  .hs-sections-row { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
  .hs-sections-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .hs-sections-row { grid-template-columns: 1fr; }
}

/* Aspect row */
.hs-aspects-row {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px;
}
.hs-aspect {
  text-align: center; padding: 18px 10px; background: rgba(255,255,255,0.03); border: 1px solid rgba(203,180,134,0.12);
  border-radius: 8px;
}
.hs-aspect-label {
  font-size: 12px; text-transform: uppercase; letter-spacing: 1.4px;
  color: var(--gold); font-weight: 600; margin-bottom: 10px;
}
.hs-aspect-stars { font-size: 18px; letter-spacing: 3px; }
.hs-star { color: rgba(203,180,134,0.25); }
.hs-star.filled { color: #CBB486; }
.hs-aspect-value {
  font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 700; color: #F5E6C8;
}

/* ── SYNTHESIS LAYER ── */

/* Energy bar: chip + dominant tag — sits in the header, right-aligned */
.hs-result-header {
  align-items: flex-start;
}
.hs-result-header-text {
  flex: 1;
}
.hs-energy-bar {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  flex-shrink: 0;
  margin-left: 16px;
}
.hs-energy-chip {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--bg, #11100E);
  background: linear-gradient(135deg, #CBB486, #E8D5B5);
  padding: 4px 12px;
  border-radius: 20px;
  white-space: nowrap;
}
.hs-dom-tag {
  font-size: 11px;
  color: rgba(203,180,134,0.55);
  letter-spacing: 0.06em;
  white-space: nowrap;
}

/* Synthesis body */
.hs-synthesis {
  margin-bottom: 28px;
}
.hs-synthesis-summary {
  font-size: 17px;
  line-height: 1.85;
  color: #D8CFC4;
  font-weight: 400;
  margin-bottom: 20px;
}
.hs-synthesis-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.hs-syn-card {
  padding: 18px 20px;
  border-radius: 10px;
  border: 1px solid rgba(203,180,134,0.13);
}
.hs-syn-advice {
  background: rgba(203,180,134,0.05);
}
.hs-syn-caution {
  background: rgba(203,180,134,0.03);
  border-color: rgba(203,180,134,0.10);
}
.hs-syn-card-label {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: rgba(203,180,134,0.55);
  font-weight: 600;
  margin-bottom: 10px;
}
.hs-syn-card-text {
  font-size: 14.5px;
  line-height: 1.75;
  color: #C4B9AC;
  margin: 0;
}

/* ── HOROSCOPE NOTICES ── */
.hs-sade-sati-banner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: rgba(203,180,134,0.07);
  border: 1px solid rgba(203,180,134,0.28);
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 18px;
  font-size: 13.5px;
  line-height: 1.55;
  color: #CBB486;
}
.hs-sade-sati-banner .ss-icon {
  font-size: 15px;
  flex-shrink: 0;
  margin-top: 2px;
  opacity: 0.7;
}
.hs-ashtama-notice {
  border-left: 2px solid rgba(203,180,134,0.35);
  padding: 8px 12px;
  margin-bottom: 14px;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(203,180,134,0.75);
  border-radius: 0 6px 6px 0;
  background: rgba(203,180,134,0.04);
}
.hs-sky-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(203,180,134,0.12);
}
.hs-sky-strip-label {
  width: 100%;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(203,180,134,0.4);
  margin-bottom: 2px;
}
.hs-sky-item {
  font-size: 12.5px;
  color: rgba(203,180,134,0.6);
  white-space: nowrap;
  letter-spacing: 0.01em;
}

/* All signs section */
.hs-all-section { padding: 48px 48px 0; background: var(--cream); }
.hs-all-inner { max-width: 1280px; margin: 0 auto; }
.hs-all-title {
  font-family: 'Cormorant Garamond', serif; font-size: clamp(22px, 3vw, 32px);
  font-weight: 400; text-align: center; margin-bottom: 36px;
}
.hs-all-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }

/* Zodiac card */
.hs-card {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(203,180,134,0.12); padding: 28px 30px;
  cursor: pointer; transition: all 0.3s ease; border-radius: 10px;
}
.hs-card:hover {
  border-color: var(--gold); box-shadow: 0 6px 24px rgba(201,169,110,0.14);
  transform: translateY(-3px); background: rgba(203,180,134,0.05);
}
.hs-card.hs-card-active {
  border-color: var(--gold); background: rgba(201,169,110,0.05);
  box-shadow: 0 4px 16px rgba(201,169,110,0.12);
}
.hs-card-header { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.hs-card-sym { width: 44px; height: 44px; flex-shrink: 0; color: var(--gold); }
.hs-card-sym svg { width: 100%; height: 100%; }
.hs-card-name {
  font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 700;
  color: var(--ink); letter-spacing: 0.02em;
}
.hs-card-vedic {
  font-size: 14px; color: var(--ink-s); font-weight: 500; margin-top: 3px;
  letter-spacing: 0.04em;
}
.hs-card-text {
  font-size: 16px; line-height: 1.8; color: #D8CFC4; font-weight: 400;
  margin-bottom: 20px;
}
.hs-card-footer {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 16px; border-top: 1px solid var(--border);
}
.hs-card-aspects { display: flex; gap: 14px; font-size: 14px; }
.hs-card-aspect-item { display: inline-flex; align-items: center; gap: 4px; color: var(--ink-s); }
.hs-card-lucky {
  font-size: 14px; color: var(--ink-s); font-weight: 400;
  display: flex; align-items: center; gap: 6px;
}
.hs-card-lucky-label {
  font-size: 11px; text-transform: uppercase; letter-spacing: 1.2px;
  color: var(--gold); font-weight: 600;
}

/* Educational section */
.hs-edu-section { padding: 64px 48px; background: var(--warm); margin-top: 48px; }
.hs-edu-inner { max-width: 1060px; margin: 0 auto; }
.hs-edu-block { margin-bottom: 48px; }
.hs-edu-block:last-child { margin-bottom: 0; }
.hs-edu-heading {
  font-family: 'Cormorant Garamond', serif; font-size: clamp(22px, 3vw, 32px);
  font-weight: 400; margin-bottom: 20px; text-align: center;
}
.hs-edu-heading em { color: var(--gold); font-style: italic; }
.hs-edu-block > p {
  font-size: 16px; line-height: 1.85; color: var(--ink-s); font-weight: 400; margin-bottom: 16px;
}
.hs-edu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 24px; }
.hs-edu-card {
  padding: 24px; background: rgba(255,255,255,0.03); border: 1px solid rgba(203,180,134,0.12);
  border-radius: 8px;
}
.hs-edu-icon { font-size: 24px; color: var(--gold); margin-bottom: 12px; }
.hs-edu-card h3 {
  font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 700;
  margin-bottom: 12px;
}
.hs-edu-card p { font-size: 15px; line-height: 1.75; color: var(--ink-s); font-weight: 400; }
.hs-edu-list {
  list-style: none; padding: 0; margin: 16px 0 0;
}
.hs-edu-list li {
  font-size: 16px; line-height: 1.8; color: var(--ink-s); font-weight: 400;
  padding: 10px 0 10px 24px; border-bottom: 1px solid var(--border); position: relative;
}
.hs-edu-list li::before {
  content: '\2726'; position: absolute; left: 0; color: var(--gold);
}

/* Horoscope responsive */
@media (max-width: 900px) {
  .hs-hero { padding: 48px 24px; }
  .hs-zodiac-section, .hs-result-section, .hs-all-section, .hs-edu-section { padding-left: 20px; padding-right: 20px; }
  .hs-zodiac-grid { grid-template-columns: repeat(4, 1fr); gap: 10px; }
  .hs-zod-btn { padding: 16px 8px; }
  .hs-zod-svg { width: 30px; height: 30px; }
  .hs-zod-name { font-size: 11px; letter-spacing: 1px; }
  .hs-aspects-row { grid-template-columns: repeat(3, 1fr); }
  .hs-all-grid { grid-template-columns: 1fr; }
  .hs-edu-grid { grid-template-columns: 1fr; }
  .hs-result-inner { padding: 24px; }
  .hs-synthesis-cards { grid-template-columns: 1fr; }
  .hs-energy-bar { display: none; }
}
@media (max-width: 600px) {
  .hs-zodiac-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .hs-zod-btn { padding: 14px 6px; gap: 8px; }
  .hs-zod-svg { width: 28px; height: 28px; }
  .hs-zod-name { font-size: 10px; }
  .hs-controls { flex-direction: column; }
  .hs-ptab { padding: 11px 20px; font-size: 13px; }
  .hs-aspects-row { grid-template-columns: repeat(2, 1fr); }
}

/* ── GUN MILAN / MARRIAGE COMPATIBILITY ── */

.gm-hero {
  background: linear-gradient(135deg, #4B0D12 0%, #5A0F15 40%, #3D0A0F 100%);
  padding: 80px 48px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.gm-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(203,180,134,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.gm-hero-inner {
  max-width: 1280px; margin: 0 auto;
  display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 60px; align-items: center;
  position: relative;
}
.gm-hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(36px, 5vw, 56px); font-weight: 400; line-height: 1.15; margin-bottom: 20px;
}
.gm-hero-title em { font-style: italic; color: #CBB486; }
.gm-hero-desc { font-size: 17px; line-height: 1.8; opacity: 0.85; margin-bottom: 32px; font-weight: 400; }
.gm-hero-actions { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.btn-ghost {
  background: transparent;
  color: rgba(255,255,255,0.85);
  border: 1px solid rgba(203,180,134,0.4);
  font-size: 14px;
  padding: 14px 28px;
  letter-spacing: 0.12em;
}
.btn-ghost:hover {
  border-color: #CBB486;
  color: #CBB486;
  transform: translateY(-1px);
}
.gm-hero-rings { position: relative; width: 200px; height: 200px; margin: 0 auto; }
.gm-hero-ring {
  position: absolute; border-radius: 50%; border: 1.5px solid rgba(203,180,134,0.3);
  animation: gm-spin 20s linear infinite;
}
.gm-hero-ring:nth-child(1) { width: 200px; height: 200px; top: 0; left: 0; }
.gm-hero-ring:nth-child(2) { width: 160px; height: 160px; top: 20px; left: 20px; animation-direction: reverse; border-color: rgba(203,180,134,0.2); }
.gm-hero-ring:nth-child(3) { width: 120px; height: 120px; top: 40px; left: 40px; border-color: rgba(203,180,134,0.15); }
.gm-ring-center {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center;
}
.gm-ring-score { font-family: 'Cormorant Garamond', serif; font-size: 44px; font-weight: 600; color: #CBB486; }
.gm-ring-label { font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(203,180,134,0.7); }
@keyframes gm-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* Edu sections */
.gm-edu-section { padding: 80px 56px; }
.gm-edu-alt { background: var(--warm); }
.gm-edu-inner { max-width: 1060px; margin: 0 auto; }
.gm-section-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(26px, 3vw, 38px); font-weight: 400; text-align: center; margin-bottom: 32px;
}
.gm-section-heading em { font-style: italic; color: var(--gold); }
.gm-edu-card {
  background: rgba(255,255,255,0.03); border: 1px solid rgba(203,180,134,0.12); padding: 40px 44px;
  font-size: 17px; line-height: 1.85; color: #D8CFC4; font-weight: 400;
  border-radius: 8px;
}
.gm-edu-card p + p { margin-top: 16px; }

/* Importance grid */
.gm-importance-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; max-width: 1100px; margin: 0 auto; }
.gm-imp-card {
  background: rgba(255,255,255,0.03); border: 1px solid rgba(203,180,134,0.12); padding: 28px 24px; text-align: center;
  border-radius: 8px;
}
.gm-imp-icon { font-size: 28px; color: var(--gold); margin-bottom: 12px; }
.gm-imp-card h3 { font-family: 'Cormorant Garamond', serif; font-size: 18px; font-weight: 600; margin-bottom: 10px; }
.gm-imp-card p { font-size: 14px; line-height: 1.7; color: var(--ink-s); font-weight: 400; }

/* Form */
.gm-form-section { padding: 64px 48px; background: var(--cream); }
.gm-form-inner { max-width: 1060px; margin: 0 auto; }
.gm-form-header { text-align: center; margin-bottom: 36px; }
.gm-form-sub { font-size: 15px; color: var(--ink-s); font-weight: 400; margin-top: 8px; }
.gm-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.gm-person-card {
  background: rgba(255,255,255,0.04); border: 1px solid var(--border); padding: 28px 24px;
}
.gm-person-label {
  font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 600;
  color: var(--gold); margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid var(--border);
}
.gm-submit-btn { padding: 14px 48px; font-size: 16px; }

/* Result section */
.gm-result-section { padding: 64px 48px; }
.gm-result-inner { max-width: 1160px; margin: 0 auto; }

/* Score header */
.gm-score-header { display: flex; align-items: center; gap: 36px; margin-bottom: 48px; justify-content: center; }
.gm-score-ring {
  width: 160px; height: 160px; border-radius: 50%;
  border: 3px solid var(--gold); display: flex; flex-direction: column;
  align-items: center; justify-content: center; background: rgba(201,169,110,0.06);
  flex-shrink: 0;
  box-shadow: 0 0 40px rgba(203,180,134,0.1);
}
.gm-score-num { font-family: 'Cormorant Garamond', serif; font-size: 56px; font-weight: 600; color: #CBB486; line-height: 1; }
.gm-score-of { font-size: 16px; color: #A89E94; font-weight: 400; }
.gm-verdict {
  font-family: 'Cormorant Garamond', serif; font-size: 34px; font-weight: 600; margin-bottom: 8px;
  color: #F5E6C8;
}
.gm-verdict-desc { font-size: 16px; color: #D8CFC4; line-height: 1.7; max-width: 400px; font-weight: 400; }

/* Birth info row */
.gm-info-row { display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; margin-bottom: 48px; }
.gm-info-card {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(203,180,134,0.12); padding: 24px;
  border-radius: 8px;
}
.gm-info-title {
  font-family: 'Cormorant Garamond', serif; font-size: 18px; font-weight: 600;
  color: var(--gold); margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--border);
}
.gm-info-detail { display: flex; justify-content: space-between; padding: 5px 0; font-size: 14px; font-weight: 400; color: var(--ink-s); }
.gm-info-detail strong { color: var(--ink); }
.gm-info-vs {
  font-family: 'Cormorant Garamond', serif; font-size: 24px; color: var(--gold);
  font-weight: 600; text-align: center;
}
.gm-info-dosha {
  margin-top: 10px; padding: 6px 12px; background: rgba(192,57,43,0.1); color: #E57373;
  font-size: 13px; font-weight: 600; text-align: center; border: 1px solid rgba(192,57,43,0.2);
}
.gm-info-clear {
  margin-top: 10px; padding: 6px 12px; background: rgba(46,125,50,0.1); color: #81C784;
  font-size: 13px; font-weight: 600; text-align: center; border: 1px solid rgba(46,125,50,0.2);
}

/* Koota grid */
.gm-sub-heading {
  font-family: 'Cormorant Garamond', serif; font-size: 24px; font-weight: 600;
  margin-bottom: 24px; text-align: center;
}
.gm-koota-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 48px; }
.gm-koota-card {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(203,180,134,0.12); padding: 22px 24px;
  border-radius: 8px;
}
.gm-koota-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.gm-koota-name { font-family: 'Cormorant Garamond', serif; font-size: 18px; font-weight: 600; }
.gm-koota-score { font-family: 'Cormorant Garamond', serif; font-size: 18px; font-weight: 600; color: var(--gold); }
.gm-koota-bar { height: 6px; background: rgba(203,180,134,0.1); border-radius: 3px; margin-bottom: 10px; overflow: hidden; }
.gm-koota-fill { height: 100%; border-radius: 3px; transition: width 0.6s ease; }
.gm-bar-good { background: #81C784; }
.gm-bar-avg { background: #CBB486; }
.gm-bar-low { background: #E57373; }
.gm-koota-meaning { font-size: 13px; font-weight: 600; color: var(--gold); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.05em; }
.gm-koota-desc { font-size: 14px; line-height: 1.7; color: #B0A89E; font-weight: 400; }

/* Doshas & Yogas */
.gm-dosha-yoga-row { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-bottom: 48px; }
.gm-dy-col { display: block; }
.gm-dy-list { display: flex; flex-direction: column; gap: 14px; }
.gm-dy-card { padding: 18px 20px; border: 1px solid var(--border); }
.gm-dy-dosha { background: rgba(230,126,34,0.08); border-left: 3px solid #E67E22; }
.gm-dy-yoga { background: rgba(139,168,122,0.1); border-left: 3px solid #8BA87A; }
.gm-dy-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.gm-dy-name { font-family: 'Cormorant Garamond', serif; font-size: 17px; font-weight: 600; }
.gm-dy-sev { font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 3px; text-transform: uppercase; letter-spacing: 0.05em; }
.gm-sev-high { background: rgba(192,57,43,0.15); color: #E57373; }
.gm-sev-medium { background: rgba(230,126,34,0.15); color: #FFB74D; }
.gm-dy-desc { font-size: 14px; line-height: 1.7; color: var(--ink-s); font-weight: 400; }
.gm-dy-cancel { margin-top: 10px; padding: 8px 12px; background: rgba(46,125,50,0.1); color: #81C784; font-size: 13px; font-weight: 400; border: 1px solid rgba(46,125,50,0.2); }
.gm-dy-none { padding: 20px; background: var(--warm); border: 1px solid var(--border); font-size: 14px; color: var(--ink-s); font-weight: 400; text-align: center; }

/* Sub description under section headings */
.gm-sub-desc { font-size: 14px; color: var(--ink-s); font-weight: 400; margin: -8px 0 24px; text-align: center; line-height: 1.6; }

/* Dasha Insights */
.gm-dasha-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 48px; }
.gm-dasha-card {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(203,180,134,0.12); padding: 24px;
  border-radius: 8px;
}
.gm-dasha-person {
  font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 600;
  color: var(--gold); margin-bottom: 16px; text-align: center;
}
.gm-dasha-levels { display: flex; gap: 20px; margin-bottom: 16px; }
.gm-dasha-level { flex: 1; text-align: center; }
.gm-dasha-level-label {
  font-size: 11px; text-transform: uppercase; letter-spacing: 1.5px;
  color: var(--ink-s); font-weight: 500; margin-bottom: 6px;
}
.gm-dasha-lord { font-size: 18px; font-weight: 600; margin-bottom: 4px; }
.gm-dasha-period { font-size: 12px; color: var(--ink-s); font-weight: 400; }
.gm-dasha-interp {
  font-size: 14px; line-height: 1.7; padding: 14px 16px;
  border-left: 3px solid var(--gold); background: rgba(201,169,110,0.06);
  color: var(--ink-s); font-weight: 400;
}
.gm-dasha-interp.gm-dasha-good { border-left-color: #8BA87A; background: rgba(139,168,122,0.06); }
.gm-dasha-interp.gm-dasha-caution { border-left-color: #C0392B; background: rgba(192,57,43,0.04); }
.gm-dasha-empty { text-align: center; color: var(--ink-s); font-size: 14px; padding: 20px 0; }

/* Charts */
.gm-charts-section { margin-bottom: 48px; }
.gm-chart-group { margin-bottom: 36px; }
.gm-chart-group-title {
  font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 600;
  color: var(--gold); margin-bottom: 16px; text-align: center;
}
.gm-chart-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.gm-chart-box { background: rgba(255,255,255,0.03); border: 1px solid rgba(203,180,134,0.12); padding: 16px; text-align: center; border-radius: 8px; }
.gm-chart-label {
  font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px;
  color: var(--gold); font-weight: 500; margin-bottom: 10px;
  font-family: 'Jost', sans-serif;
}
.gm-chart-svg svg { width: 100%; height: auto; }

/* What you get */
.gm-get-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.gm-get-item {
  display: flex; gap: 16px; padding: 24px; background: rgba(255,255,255,0.03); border: 1px solid rgba(203,180,134,0.12);
  border-radius: 8px;
}
.gm-get-num {
  width: 36px; height: 36px; border-radius: 50%; background: var(--gold); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Cormorant Garamond', serif; font-size: 18px; font-weight: 600; flex-shrink: 0;
}
.gm-get-item strong { font-size: 16px; display: block; margin-bottom: 6px; }
.gm-get-item p { font-size: 14px; line-height: 1.7; color: var(--ink-s); font-weight: 400; }

/* FAQ */
.gm-faq-section { padding: 64px 48px; background: var(--warm); }
.gm-faq-inner { max-width: 960px; margin: 0 auto; }
.gm-faq-list { display: flex; flex-direction: column; gap: 0; }
.gm-faq-item { border-bottom: 1px solid var(--border); }
.gm-faq-q {
  display: flex; justify-content: space-between; align-items: center;
  padding: 20px 0; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--ink);
}
.gm-faq-arrow { font-size: 22px; color: var(--gold); transition: transform 0.3s; }
.gm-faq-item.open .gm-faq-arrow { transform: rotate(45deg); }
.gm-faq-a {
  max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.3s ease;
}
.gm-faq-item.open .gm-faq-a { max-height: 400px; padding-bottom: 20px; }
.gm-faq-a p { font-size: 15px; line-height: 1.8; color: var(--ink-s); font-weight: 400; }

/* Responsive */
@media (max-width: 900px) {
  .gm-hero { padding: 48px 24px; }
  .gm-hero-inner { grid-template-columns: 1fr; text-align: center; }
  .gm-hero-visual { display: none; }
  .gm-hero-actions { justify-content: center; }
  .gm-edu-section, .gm-form-section, .gm-result-section, .gm-faq-section { padding: 40px 20px; }
  .gm-form-grid { grid-template-columns: 1fr; }
  .gm-importance-grid { grid-template-columns: 1fr 1fr; }
  .gm-koota-grid { grid-template-columns: 1fr; }
  .gm-dosha-yoga-row { grid-template-columns: 1fr; }
  .gm-chart-row { grid-template-columns: 1fr; }
  .gm-dasha-row { grid-template-columns: 1fr; }
  .gm-info-row { grid-template-columns: 1fr; }
  .gm-info-vs { display: none; }
  .gm-score-header { flex-direction: column; text-align: center; }
  .gm-get-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .gm-importance-grid { grid-template-columns: 1fr; }
  .gm-edu-card { padding: 24px 20px; }
}

/* ── AI READING ── */

.ai-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-bottom: 28px;
}

.chat-box {
  border: 1px solid var(--border);
  min-height: 280px;
  background: var(--warm);
  padding: 28px;
  display: none;
}

.chat-box.vis {
  display: block;
}

/* ── FOOTER ── */

footer {
  border-top: 1px solid rgba(203,180,134,0.12);
  padding: 36px 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(59,10,15,0.5);
}

.f-logo {
  font-family: 'Cormorant Garamond', serif;
  font-size: 17px;
  font-weight: 500;
}

.f-logo span, .f-logo .gold {
  color: var(--gold);
}

.f-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.f-text {
  font-size: 14px;
  color: #A89E94;
  font-weight: 400;
}

.f-text span {
  display: inline;
}

/* ── CHART DASHA (INTEGRATED) ── */

.cd-section {
  margin-top: 40px;
  padding-top: 36px;
  border-top: 2px solid var(--border);
}

.cd-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 28px;
  gap: 20px;
}

.cd-section-label {
  font-size: 15px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
}

.cd-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 6px;
}

.cd-subtitle {
  font-size: 17px;
  color: var(--ink-s);
  font-weight: 400;
}

.cd-header-right {
  text-align: right;
  flex-shrink: 0;
}

.cd-moon-badge {
  display: inline-block;
  border: 1px solid var(--gold-lt);
  padding: 10px 18px;
  text-align: center;
  background: rgba(201,169,110,.06);
}

.cd-moon-badge-sym {
  font-size: 24px;
  line-height: 1;
  margin-bottom: 4px;
}

.cd-moon-badge-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 16px;
  font-weight: 400;
}

.cd-moon-badge-sub {
  font-size: 16px;
  color: var(--ink-s);
  letter-spacing: .08em;
  margin-top: 2px;
}

.cd-timeline-label {
  font-size: 15px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
}

.cd-timeline-wrap {
  position: relative;
  margin-bottom: 6px;
}

.cd-timeline {
  display: flex;
  height: 40px;
  overflow: hidden;
  border: 1px solid rgba(203,180,134,0.2);
  border-radius: 6px;
}

.cd-seg {
  height: 100%;
  position: relative;
  cursor: pointer;
  transition: filter .15s;
  min-width: 1px;
}

.cd-seg:hover {
  filter: brightness(.88);
}

.cd-seg-lbl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,.6);
  white-space: nowrap;
  pointer-events: none;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.cd-now-pin {
  position: absolute;
  top: -4px;
  bottom: -4px;
  width: 2px;
  background: var(--ink);
  display: none;
  z-index: 3;
}

.cd-now-pin::before {
  content: 'NOW';
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 8px;
  letter-spacing: .08em;
  color: var(--ink);
  font-weight: 500;
  white-space: nowrap;
}

.cd-timeline-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-bottom: 28px;
}

.cd-legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  font-weight: 400;
  color: var(--ink-s);
}

.cd-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

.cd-legend-item.active-item {
  font-weight: 500;
  color: var(--ink);
}

.cd-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 32px;
}

.cd-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(203,180,134,0.15);
  border-radius: 8px;
  padding: 22px;
}

.cd-card-level {
  font-size: 15px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
}

.cd-card-planet {
  font-family: 'Cormorant Garamond', serif;
  font-size: 24px;
  font-weight: 400;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.cd-card-planet-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

.cd-card-dates {
  font-size: 16px;
  color: var(--ink-s);
  font-weight: 400;
  line-height: 1.6;
}

.cd-card-remaining {
  font-size: 16px;
  color: var(--gold);
  font-weight: 400;
  margin-top: 6px;
}

.cd-ruling-block {
  border: 1px solid rgba(203,180,134,0.2);
  background: linear-gradient(135deg, rgba(201,169,110,.06) 0%, rgba(75,13,18,0.15) 60%);
  padding: 32px;
  margin-bottom: 32px;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

.cd-ruling-block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--gold);
}

.cd-ruling-header {
  font-family: 'Cormorant Garamond', serif;
  font-size: 26px;
  font-weight: 400;
  margin-bottom: 8px;
  padding-left: 16px;
}

.cd-ruling-header em {
  font-style: italic;
  color: var(--gold);
}

.cd-ruling-period {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding-left: 16px;
  margin-bottom: 20px;
}

.cd-ruling-body {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.85;
  color: #D8CFC4;
  padding-left: 16px;
  margin-bottom: 20px;
}

.cd-ruling-antara {
  padding-left: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}

.cd-table-label {
  font-size: 15px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}

.cd-table-wrap {
  border: 1px solid var(--border);
  overflow: hidden;
  margin-bottom: 28px;
}

.cd-table {
  width: 100%;
  border-collapse: collapse;
}

.cd-table th {
  font-size: 15px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  padding: 14px 16px;
  border-bottom: 2px solid rgba(203,180,134,0.2);
  text-align: left;
  font-weight: 600;
  background: rgba(75,13,18,0.25);
}

.cd-table td {
  font-size: 17px;
  font-weight: 400;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  color: #E8DDD0;
  vertical-align: middle;
}

.cd-table tr:nth-child(even) td {
  background: rgba(203,180,134,0.03);
}

.cd-table tr:last-child td {
  border-bottom: none;
}

.cd-table tr.cd-active td {
  background: rgba(201,169,110,.1);
}

.cd-table tr.cd-active td:first-child {
  border-left: 3px solid var(--gold);
}

.cd-table tr:hover td {
  background: rgba(201,169,110,.07);
  cursor: pointer;
}

.cd-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: middle;
}

.cd-status {
  display: inline-block;
  font-size: 14px;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 4px;
  font-weight: 600;
}

.cd-status.current {
  background: rgba(201,169,110,.2);
  color: #CBB486;
  border: 1px solid rgba(203,180,134,0.3);
}

.cd-status.past {
  color: #7A6E64;
  border: 1px solid rgba(203,180,134,0.08);
  opacity: .6;
}

.cd-status.future {
  color: var(--ink-s);
  border: 1px solid var(--border);
}

.cd-antara-wrap {
  border: 1px solid var(--border);
  background: var(--warm);
  padding: 24px;
  margin-bottom: 20px;
}

.cd-antara-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}

.cd-antara-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.cd-ant-card.active {
  border-color: var(--gold);
  background: rgba(201,169,110,.05);
}

/* Ruling block inner elements */
.cd-ruling-label {
  font-size: 13px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
  padding-left: 16px;
}

.cd-ruling-planet {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding-left: 16px;
  margin-bottom: 16px;
}

.cd-ruling-sym {
  font-size: 28px;
}

.cd-ruling-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 26px;
  font-weight: 400;
}

.cd-ruling-nature {
  font-size: 15px;
  color: var(--gold);
  font-weight: 400;
  letter-spacing: .06em;
}

.cd-ruling-dates {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.cd-ruling-date-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cd-ruling-date-label {
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
}

.cd-ruling-date-val {
  font-size: 16px;
  font-weight: 400;
  color: #D8CFC4;
}

.cd-ruling-progress {
  height: 4px;
  background: rgba(255,255,255,0.08);
  border-radius: 2px;
  margin-bottom: 6px;
  overflow: hidden;
}

.cd-ruling-progress-bar {
  height: 100%;
  border-radius: 2px;
  transition: width 0.6s ease;
}

.cd-ruling-progress-label {
  font-size: 14px;
  color: #A89E94;
  margin-bottom: 16px;
}

.cd-ruling-desc {
  margin: 0;
}

.cd-ruling-antara-label {
  font-size: 13px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}

.cd-ruling-antara-info {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.cd-ruling-antara-sym {
  font-size: 20px;
}

.cd-ruling-antara-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-weight: 400;
}

.cd-ruling-antara-dates {
  font-size: 15px;
  color: #A89E94;
}

.cd-ruling-antara-desc {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  color: #D8CFC4;
  margin: 0;
}

/* Antara grid cards */
.cd-antara-card {
  border: 1px solid var(--border);
  padding: 14px;
  text-align: center;
  border-radius: 4px;
  background: rgba(255,255,255,0.02);
  transition: all 0.2s ease;
}

.cd-antara-active {
  border-color: var(--gold);
  background: rgba(201,169,110,.08);
}

.cd-antara-past {
  opacity: 0.5;
}

.cd-antara-card-planet {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 6px;
}

.cd-antara-card-dates {
  font-size: 14px;
  color: #A89E94;
  margin-bottom: 4px;
  line-height: 1.5;
}

.cd-antara-card-dur {
  font-size: 14px;
  color: #D8CFC4;
}

.cd-antara-card-badge {
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-top: 6px;
  font-weight: 500;
}

/* ── STANDALONE DASHA PAGE ── */

.dasha-result {
  margin-top:36px;
  display:none;
}

.dasha-result.vis {
  display:block;
}

.dasha-badge.current {
  background:rgba(201,169,110,.15);
  color:var(--gold);
  border:1px solid var(--gold-lt);
}

.dasha-badge.future {
  background:transparent;
  color:var(--ink-s);
  border:1px solid var(--border);
}

.dasha-badge.past {
  background:transparent;
  color:var(--ink-s);
  opacity:.5;
  border:1px solid var(--border);
}

.antara-panel.vis {
  display:block;
}

.antara-card.active {
  border-color:var(--gold);
  background:rgba(201,169,110,.06);
}

.pratyantar-panel.vis {
  display:block;
}

.prat-card.active {
  border-color:var(--gold);
  background:rgba(201,169,110,.06);
}

/* ── DASHA EDUCATIONAL SECTION ── */

.ds-edu {
  margin-top: 56px;
  padding-top: 48px;
  border-top: 1px solid rgba(203,180,134,0.12);
}
.ds-edu-eyebrow {
  font-size: 13px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
}
.ds-edu-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 30px;
  font-weight: 400;
  color: #F5E6C8;
  margin-bottom: 20px;
}
.ds-edu-intro {
  max-width: 800px;
  margin-bottom: 36px;
}
.ds-edu-intro p {
  font-size: 17px;
  line-height: 1.75;
  color: #D8CFC4;
  font-weight: 400;
}
.ds-edu-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 36px;
}
.ds-edu-card {
  padding: 28px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(203,180,134,0.10);
  border-radius: 10px;
}
.ds-edu-card-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-weight: 400;
  color: #F5E6C8;
  margin-bottom: 12px;
}
.ds-edu-card p {
  font-size: 16px;
  line-height: 1.7;
  color: #C4BAB0;
  font-weight: 400;
  margin: 0;
}
.ds-edu-levels {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 40px;
}
.ds-edu-level {
  display: flex;
  gap: 24px;
  align-items: baseline;
  padding: 20px 24px;
  background: rgba(255,255,255,0.02);
  border-left: 3px solid rgba(203,180,134,0.3);
  border-radius: 0 8px 8px 0;
}
.ds-edu-level-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-weight: 400;
  color: var(--gold);
  min-width: 140px;
  flex-shrink: 0;
}
.ds-edu-level-desc {
  font-size: 16px;
  line-height: 1.7;
  color: #C4BAB0;
  font-weight: 400;
}
.ds-edu-footer {
  padding: 28px;
  background: rgba(203,180,134,0.04);
  border: 1px solid rgba(203,180,134,0.10);
  border-radius: 10px;
}
.ds-edu-footer-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-weight: 400;
  color: #F5E6C8;
  margin-bottom: 12px;
}
.ds-edu-footer p {
  font-size: 16px;
  line-height: 1.75;
  color: #D8CFC4;
  font-weight: 400;
  margin: 0;
}

@media (max-width: 768px) {
  .ds-edu-grid { grid-template-columns: 1fr; }
  .ds-edu-level {
    flex-direction: column;
    gap: 8px;
  }
  .ds-edu-level-name { min-width: auto; }
}

/* ── PANCHANG REDESIGN ── */

/* Hero */
.panch-hero {
  background: linear-gradient(135deg, #4B0D12 0%, #5A0F15 40%, #3D0A0F 100%);
  padding: 56px 0 48px;
  position: relative;
  overflow: hidden;
}
.panch-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(203,180,134,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.panch-hero-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 56px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  position: relative;
}
.panch-hero-inner.panch-hero-compact {
  grid-template-columns: 1fr auto;
  gap: 40px;
}
.panch-hero-text {
  color: #FAFAF7;
}
.panch-hero-text .eyebrow {
  color: #CBB486;
  margin-bottom: 12px;
}
.panch-hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 500;
  color: #FAFAF7;
  line-height: 1.15;
  margin-bottom: 14px;
}
.panch-hero-title em {
  font-style: italic;
  color: #CBB486;
}
.panch-hero-desc {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.75;
  color: #D8CFC4;
  max-width: 540px;
}

/* Live Clock */
.panch-hero-clock {
  text-align: center;
  padding: 28px 36px;
  border: 1px solid rgba(203,180,134,0.2);
  border-radius: 14px;
  background: rgba(0,0,0,0.2);
  backdrop-filter: blur(8px);
  min-width: 200px;
}
.panch-clock-time {
  font-family: 'Cormorant Garamond', serif;
  font-size: 48px;
  font-weight: 600;
  color: #F5E6C8;
  line-height: 1;
  letter-spacing: 0.04em;
  margin-bottom: 10px;
  font-variant-numeric: tabular-nums;
}
.panch-clock-meta {
  display: flex;
  justify-content: center;
  gap: 12px;
  font-size: 14px;
  color: #A89E94;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.panch-clock-meta span + span::before {
  content: '\00B7';
  margin-right: 12px;
}

/* Educational Sections */
.panch-edu-section {
  padding: 80px 0;
}
.panch-edu-alt {
  background: var(--warm);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.panch-edu-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 56px;
}
.panch-section-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 500;
  color: var(--ink);
  margin-bottom: 28px;
  text-align: center;
}
.panch-section-heading em {
  font-style: italic;
  color: var(--gold);
}
.panch-edu-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(203,180,134,0.12);
  border-radius: 12px;
  padding: 44px 48px;
}
.panch-edu-card p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  color: #D8CFC4;
  margin-bottom: 16px;
}
.panch-edu-card p:last-child { margin-bottom: 0; }
.panch-edu-card strong { color: var(--ink); font-weight: 600; }
.panch-edu-card em { color: var(--gold); }

/* Main Interactive Section */
.panch-main-section {
  padding: 80px 0;
  background: var(--cream);
}
.panch-main-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 56px;
}
.panch-main-header {
  text-align: center;
  margin-bottom: 36px;
}
.panch-main-sub {
  font-size: 16px;
  color: var(--ink-s);
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.7;
}

/* Form */
.panch-form {
  margin-bottom: 32px;
}
.panch-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 16px;
  align-items: end;
}

/* Results */
.panch-result {
  margin-top: 36px;
  display: none;
}
.panch-result.vis { display: block; }

.panch-date-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
  padding: 20px 28px;
  border: 1px solid rgba(203,180,134,0.15);
  border-radius: 10px;
  background: rgba(75,13,18,0.2);
}
.panch-date-display { text-align: center; }
.panch-date-main {
  font-family: 'Cormorant Garamond', serif;
  font-size: 30px;
  font-weight: 500;
  color: #F5E6C8;
}
.panch-date-sub {
  font-size: 15px;
  color: var(--ink-s);
  margin-top: 4px;
}
.panch-nav-btn {
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 10px 20px;
  cursor: pointer;
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: all .2s;
  color: var(--ink-s);
}
.panch-nav-btn:hover { border-color: var(--gold); color: var(--gold); }

/* Summary Banner */
.panch-summary {
  border: 1px solid rgba(203,180,134,0.2);
  border-radius: 10px;
  background: rgba(201, 169, 110, 0.06);
  padding: 30px 34px;
  margin-bottom: 36px;
  display: flex;
  align-items: flex-start;
  gap: 18px;
}
.panch-summary-icon { font-size: 28px; flex-shrink: 0; margin-top: 2px; color: var(--gold); }
.panch-summary-text {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.8;
  color: #D8CFC4;
}
.panch-summary-text strong { color: #F5E6C8; font-weight: 500; }

/* Central Symbol */
.panch-symbol-center {
  text-align: center;
  margin: 24px 0 32px;
}
.panch-om {
  font-size: 56px;
  color: #CBB486;
  opacity: 0.5;
  line-height: 1;
}

/* Pancha Anga Grid */
.panch-anga-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 44px;
}
.panch-anga-full { grid-column: 1 / -1; }
.panch-anga-card {
  border: 1px solid rgba(203,180,134,0.15);
  border-radius: 10px;
  background: rgba(255,255,255,0.04);
  padding: 32px;
}
.panch-anga-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}
.panch-anga-icon {
  font-size: 36px;
  line-height: 1;
  flex-shrink: 0;
}
.panch-anga-icon-sm {
  font-size: 28px;
  color: var(--gold);
  margin-bottom: 10px;
}
.panch-anga-label {
  font-size: 15px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
  margin-bottom: 6px;
}
.panch-anga-value {
  font-family: 'Cormorant Garamond', serif;
  font-size: 30px;
  font-weight: 500;
  color: var(--ink);
  margin-bottom: 6px;
}
.panch-anga-badge {
  display: inline-block;
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gold);
  background: rgba(201, 169, 110, 0.1);
  border: 1px solid var(--gold-lt);
  border-radius: 4px;
  padding: 4px 12px;
  margin-top: 6px;
}
.panch-anga-meta {
  display: flex;
  gap: 24px;
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}
.panch-meta-label {
  font-size: 14px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-s);
  margin-right: 6px;
}
.panch-meta-val {
  font-size: 16px;
  font-weight: 500;
  color: var(--ink);
}
.panch-anga-desc {
  font-size: 16px;
  line-height: 1.8;
  color: var(--ink-s);
}
.panch-anga-suitable {
  font-size: 15px;
  color: var(--gold);
  margin-top: 12px;
  font-weight: 500;
}

/* Celestial Row (Sun & Moon) */
.panch-celestial-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 44px;
}
.panch-sky-card {
  border: 1px solid rgba(203,180,134,0.15);
  border-radius: 10px;
  background: rgba(255,255,255,0.04);
  padding: 28px;
}
.panch-sky-label {
  font-size: 15px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 14px;
  font-weight: 500;
}
.panch-sky-body { display: flex; align-items: center; gap: 16px; }
.panch-sky-sym { font-size: 32px; line-height: 1; }
.panch-sky-info { flex: 1; }
.panch-sky-deg {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-weight: 500;
}
.panch-sky-rashi { font-size: 15px; color: var(--ink-s); margin-top: 2px; }
.panch-arc-wrap { margin-top: 14px; }
.panch-arc-track { height: 4px; background: var(--border); border-radius: 2px; position: relative; overflow: visible; }
.panch-arc-fill { height: 100%; border-radius: 2px; transition: width .8s ease; background: var(--gold-lt); }
.panch-arc-dot {
  position: absolute; top: 50%; width: 10px; height: 10px; border-radius: 50%;
  transform: translate(-50%, -50%); transition: left .8s ease; border: 2px solid var(--cream); background: var(--gold);
}
.panch-arc-times { display: flex; justify-content: space-between; margin-top: 6px; font-size: 14px; color: var(--ink-s); }

/* Timings & Hora */
.panch-timings-section { margin-bottom: 36px; }
.panch-sub-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px;
  font-weight: 500;
  margin-bottom: 24px;
  color: var(--ink);
}
.panch-timings {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
/* Key Timings Cards */
.kt-card {
  border: 1px solid rgba(203,180,134,0.1);
  border-radius: 10px;
  background: rgba(255,255,255,0.03);
  padding: 26px 28px;
  border-left: 4px solid var(--border);
  transition: box-shadow .2s, transform .2s;
}
.kt-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.15); transform: translateY(-2px); }
.kt-auspicious { border-left-color: #81C784; background: rgba(129,199,132,0.04); }
.kt-inauspicious { border-left-color: #E57373; background: rgba(229,115,115,0.04); }
.kt-neutral { border-left-color: var(--gold-lt); }
.kt-title {
  font-size: 16px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 600;
  color: #F5E6C8;
  margin-bottom: 6px;
}
.kt-subtitle {
  font-size: 14px;
  color: #A89E94;
  margin-bottom: 14px;
  font-style: italic;
}
.kt-time {
  font-family: 'Cormorant Garamond', serif;
  font-size: 24px;
  font-weight: 600;
  color: var(--gold);
  margin-bottom: 10px;
  letter-spacing: .02em;
}
.kt-auspicious .kt-time { color: #81C784; }
.kt-inauspicious .kt-time { color: #E57373; }
.kt-desc {
  font-size: 15px;
  line-height: 1.75;
  color: #B0A89E;
}

/* Planetary Hora Grid */
.panch-hora-section { margin-top: 36px; }
.hora-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}
.hora-phase-label {
  grid-column: 1 / -1;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
  padding: 8px 0 4px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 4px;
}
.hora-cell {
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 16px 12px;
  text-align: center;
  transition: box-shadow .2s;
}
.hora-cell:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
.hora-day { background: var(--warm); }
.hora-night { background: rgba(75,13,18,0.15); }
.hora-time {
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-s);
  margin-bottom: 6px;
}
.hora-sym {
  font-size: 24px;
  line-height: 1;
  margin-bottom: 4px;
  color: var(--gold);
}
.hora-planet {
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-s);
  font-weight: 500;
}

/* Understanding Section */
.panch-understand-section {
  padding: 80px 0;
}
.panch-understand-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 56px;
}
.panch-understand-grid {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 48px;
  align-items: start;
}
.panch-understand-text p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--ink-s);
  margin-bottom: 24px;
}
.panch-limb-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.panch-limb-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.panch-limb-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(203, 180, 134, 0.12);
  border: 1px solid var(--gold-lt);
  color: var(--gold);
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}
.panch-limb-item strong {
  font-size: 17px;
  color: var(--ink);
  display: block;
  margin-bottom: 6px;
}
.panch-limb-item p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--ink-s);
  margin: 0;
}
.panch-limb-list-wide {
  max-width: 700px;
  margin: 0 auto;
}

/* Visual Card */
.panch-visual-card {
  background: linear-gradient(135deg, #4A1520 0%, #2D0A12 100%);
  border-radius: 16px;
  padding: 48px 32px;
  text-align: center;
  position: relative;
  overflow: hidden;
  min-height: 400px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.panch-visual-symbol {
  font-size: 80px;
  color: #CBB486;
  line-height: 1;
  margin-bottom: 24px;
  position: relative;
  z-index: 1;
}
.panch-visual-rings {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.panch-v-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(203, 180, 134, 0.15);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.panch-v-ring:nth-child(1) { width: 200px; height: 200px; animation: spin 50s linear infinite; }
.panch-v-ring:nth-child(2) { width: 280px; height: 280px; animation: spin 40s linear infinite reverse; }
.panch-v-ring:nth-child(3) { width: 360px; height: 360px; animation: spin 60s linear infinite; }
.panch-visual-labels {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  position: relative;
  z-index: 1;
}
.panch-visual-labels span {
  font-size: 12px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(203, 180, 134, 0.6);
  background: rgba(203, 180, 134, 0.08);
  border: 1px solid rgba(203, 180, 134, 0.15);
  border-radius: 4px;
  padding: 4px 12px;
}

/* ── PANCHANG RESPONSIVE ── */
@media (max-width: 900px) {
  .panch-hero-inner.panch-hero-compact { grid-template-columns: 1fr; gap: 24px; text-align: center; }
  .panch-hero-desc { margin: 0 auto 0; }
  .panch-hero-clock { margin: 0 auto; }
  .panch-form-grid { grid-template-columns: 1fr 1fr; }
  .panch-anga-grid { grid-template-columns: 1fr; }
  .panch-anga-full { grid-column: auto; }
  .panch-celestial-row { grid-template-columns: 1fr; }
  .panch-timings { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .panch-hero { padding: 40px 0 32px; }
  .panch-hero-inner { padding: 0 20px; }
  .panch-hero-clock { padding: 20px 24px; min-width: unset; }
  .panch-clock-time { font-size: 36px; }
  .panch-edu-inner { padding: 0 20px; }
  .panch-main-inner { padding: 0 20px; }
  .panch-understand-inner { padding: 0 20px; }
  .panch-form-grid { grid-template-columns: 1fr; }
  .panch-edu-card { padding: 24px; }
  .panch-anga-card { padding: 20px; }
  .panch-anga-meta { flex-direction: column; gap: 8px; }
  .panch-date-nav { flex-direction: column; gap: 12px; }
  .panch-timings { grid-template-columns: 1fr; }
}

/* ── CHART YOGAS (birth chart page) ── */

.cy-section {
  margin-top: 40px;
  padding-top: 36px;
  border-top: 2px solid var(--border);
}
.cy-header {
  margin-bottom: 28px;
}
.cy-eyebrow {
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}
.cy-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 6px;
}
.cy-title em {
  font-style: italic;
  color: var(--gold);
}
.cy-subtitle {
  font-size: 14px;
  color: var(--ink-s);
  line-height: 1.5;
}
.cy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
}
.cy-card {
  background: var(--warm);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 24px;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.cy-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.cy-card:hover {
  transform: translateY(-2px);
  border-color: var(--gold-lt);
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
.cy-card:hover::before {
  opacity: 1;
}
.cy-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.cy-card-name {
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--gold);
}
.cy-card-type {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--ink-s);
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 2px 8px;
  font-family: 'Outfit', sans-serif;
}
.cy-card-desc {
  font-size: 14px;
  line-height: 1.65;
  color: var(--ink-s);
  margin: 0;
}
.cy-card-planets {
  display: flex;
  gap: 6px;
  margin-top: 12px;
  flex-wrap: wrap;
}
.cy-card-planet {
  font-size: 12px;
  font-family: 'Outfit', sans-serif;
  font-weight: 500;
  color: var(--gold);
  background: rgba(201,169,110,0.1);
  border: 1px solid var(--gold-lt);
  border-radius: 4px;
  padding: 2px 10px;
}
.cy-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 48px 24px;
  font-size: 15px;
  color: var(--ink-s);
  line-height: 1.6;
  background: var(--warm);
  border: 1px solid var(--border);
  border-radius: 8px;
  font-style: italic;
}

@media (max-width: 640px) {
  .cy-grid {
    grid-template-columns: 1fr;
  }
  .cy-title {
    font-size: 24px;
  }
}

/* ── BIRTH PANCHANG (chart page) ── */

.bp-section {
  margin-top: 40px;
  padding-top: 36px;
  border-top: 2px solid var(--border);
}

.bp-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 28px;
}

.bp-header-left {
  flex: 1;
  min-width: 0;
}

.bp-eyebrow {
  font-size: 13px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
}

.bp-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 30px;
  font-weight: 400;
  margin-bottom: 6px;
  line-height: 1.2;
}

.bp-subtitle {
  font-size: 15px;
  color: var(--ink-s);
  font-weight: 400;
}

/* Vara badge — right side of header */
.bp-header-badge {
  border: 1px solid rgba(201,169,110,.25);
  padding: 16px 22px;
  text-align: center;
  background: rgba(201,169,110,.04);
  flex-shrink: 0;
  min-width: 120px;
  border-radius: 4px;
}

.bp-badge-sym {
  font-size: 24px;
  line-height: 1;
  margin-bottom: 6px;
  color: var(--gold);
}

.bp-badge-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 2px;
}

.bp-badge-ruler {
  font-size: 12px;
  color: var(--ink-s);
  font-weight: 400;
  letter-spacing: .04em;
}

/* Five limbs strip */
.bp-five-label {
  font-size: 13px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}

.bp-five {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  margin-bottom: 28px;
  border-radius: 4px;
  overflow: hidden;
}

.bp-five-item {
  background: var(--warm);
  padding: 16px 14px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.bp-five-item strong {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
  display: block;
}

.bp-five-item span {
  font-family: 'Cormorant Garamond', serif;
  font-size: 17px;
  font-weight: 400;
  color: var(--ink-s);
  display: block;
}

/* Sun & Moon luminaries — compact */
.bp-sky-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}

.bp-sky-card {
  border: 1px solid var(--border);
  background: var(--warm);
  padding: 18px 22px;
  border-radius: 4px;
}

.bp-sky-body {
  display: flex;
  align-items: center;
  gap: 14px;
}

.bp-sky-sym {
  font-size: 26px;
  line-height: 1;
  color: var(--gold);
}

.bp-sky-deg {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 2px;
}

.bp-sky-sub {
  font-size: 13px;
  color: var(--ink-s);
  font-weight: 400;
}

/* Tithi + Nakshatra detail cards */
.bp-detail-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}

.bp-detail-card {
  border: 1px solid var(--border);
  padding: 24px;
  background: var(--warm);
  border-radius: 4px;
}

.bp-detail-eyebrow {
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}

.bp-detail-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 5px;
}

.bp-detail-meta {
  font-size: 13px;
  color: var(--ink-s);
  font-weight: 400;
  margin-bottom: 12px;
}

.bp-detail-desc {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  color: var(--ink-s);
}

/* Yoga / Karana / Vara trio */
.bp-three-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 28px;
}

.bp-three-card {
  border: 1px solid var(--border);
  padding: 22px;
  background: var(--warm);
  border-radius: 4px;
}

.bp-three-label {
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 7px;
}

.bp-three-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 4px;
}

.bp-three-qual {
  font-size: 13px;
  color: var(--ink-s);
  font-weight: 400;
  margin-bottom: 8px;
}

.bp-three-desc {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
  color: var(--ink-s);
}

/* Key Timings — card grid */
.bp-timings-label {
  font-size: 13px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 14px;
}

.bp-timings-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 32px;
}

.bp-timing-card {
  border: 1px solid var(--border);
  padding: 16px 18px;
  background: var(--warm);
  border-radius: 4px;
  border-left: 3px solid var(--border);
}

.bp-tc-auspicious {
  border-left-color: #8BA87A;
}

.bp-tc-caution {
  border-left-color: #E57373;
}

.bp-tc-label {
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
  font-weight: 500;
}

.bp-tc-time {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-weight: 400;
  color: var(--ink-s);
  letter-spacing: .02em;
}

/* Cosmic Climate summary */
.bp-significance {
  border: 1px solid rgba(201,169,110,.2);
  border-left: 4px solid var(--gold);
  padding: 28px 30px;
  background: linear-gradient(135deg, rgba(201,169,110,.04) 0%, rgba(75,13,18,.08) 100%);
  margin-bottom: 8px;
  border-radius: 0 4px 4px 0;
  max-width: 100%;
}

.bp-sig-eyebrow {
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 14px;
}

.bp-sig-text {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.9;
  color: var(--ink-s);
  margin: 0;
}

/* ── ASHTAKAVARGA ── */

.av-form-row {
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr auto;
  gap:16px;
  align-items:end;
  margin-bottom:28px;
}

.av-result {
  margin-top:36px;
  display:none;
}

.av-result.vis {
  display:block;
}

.av-sec-label {
  font-size:15px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:16px;
  font-weight:600;
}

.av-sav-strip {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  margin-bottom:28px;
}

.av-sav-chart {
  border:1px solid var(--border);
  background:var(--warm);
  padding:24px;
  margin-bottom:28px;
}

.av-house-bar-fill.strong {
  background:#8BA87A;
}

.av-house-bar-fill.medium {
  background:var(--gold);
}

.av-bav-grid {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:10px;
  margin-bottom:28px;
}

.av-bav-card {
  border:1px solid var(--border);
  background:var(--warm);
  padding:14px 10px;
}

.av-house-table-wrap {
  border:1px solid var(--border);
  overflow:hidden;
  margin-bottom:28px;
}

.av-house-table {
  width:100%;
  border-collapse:collapse;
}

.av-house-table th {
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
  padding:14px 16px;
  border-bottom:2px solid rgba(203,180,134,0.2);
  text-align:left;
  font-weight:600;
  background:rgba(75,13,18,0.25);
}

.av-house-table td {
  font-size:16px;
  font-weight:400;
  padding:13px 16px;
  border-bottom:1px solid var(--border);
  color:#E8DDD0;
  vertical-align:middle;
}

.av-house-table tr:nth-child(even) td {
  background:rgba(203,180,134,0.03);
}

.av-house-table tr:last-child td {
  border-bottom:none;
}

.av-house-table tr.av-strong-row td {
  background:rgba(139,168,122,.06);
}

.av-house-table tr.av-weak-row td {
  background:rgba(201,112,96,.05);
}

.av-strength-badge.strong {
  background:rgba(139,168,122,.1);
  color:#81C784;
  border:1px solid rgba(139,168,122,.2);
}

.av-planet-strength {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:28px;
}

.av-interp-block {
  border-left:3px solid var(--gold);
  padding:28px 32px;
  background:rgba(201,169,110,0.04);
  margin-bottom:32px;
  border-radius:0 8px 8px 0;
}

.av-interp-title {
  font-family:'Cormorant Garamond',serif;
  font-size:24px;
  font-weight:400;
  margin-bottom:14px;
}

.av-interp-text {
  font-size:16px;
  font-weight:400;
  line-height:1.85;
  color:#D8CFC4;
}

.av-chart-section {
  margin-top:40px;
  padding-top:36px;
  border-top:2px solid var(--border);
}

/* ── TRANSIT PREDICTIONS ── */

.tr-form-row {
  display:grid;
  grid-template-columns:1fr 1fr 1fr auto;
  gap:16px;
  align-items:end;
  margin-bottom:28px;
}

.tr-result {
  margin-top:32px;
  display:none;
}

.tr-result.vis {
  display:block;
}

.tr-sky-now {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  margin-bottom:28px;
}

.tr-sky-card {
  background:var(--cream);
  padding:14px 10px;
  text-align:center;
}

.tr-sky-sym {
  font-size:18px;
  line-height:1;
  margin-bottom:5px;
}

.tr-chip.natal {
  background:rgba(60,58,53,.08);
  color:var(--ink-s);
  border:1px solid var(--border);
}

.tr-planet-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:28px;
}

.tr-planet-card {
  border:1px solid var(--border);
  background:var(--warm);
  padding:22px;
}

.tr-ingress-wrap {
  border:1px solid var(--border);
  overflow:hidden;
  margin-bottom:28px;
}

.tr-ingress-table {
  width:100%;
  border-collapse:collapse;
}

.tr-ingress-table th {
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
  padding:12px 14px;
  border-bottom:2px solid rgba(203,180,134,0.2);
  text-align:left;
  font-weight:600;
  background:rgba(75,13,18,0.25);
}

.tr-ingress-table td {
  font-size:15px;
  font-weight:400;
  padding:11px 14px;
  border-bottom:1px solid var(--border);
  color:#E8DDD0;
  vertical-align:middle;
}

.tr-ingress-table tr:nth-child(even) td {
  background:rgba(203,180,134,0.03);
}

.tr-ingress-table tr:last-child td {
  border-bottom:none;
}

.tr-ingress-table tr:hover td {
  background:rgba(201,169,110,.07);
}

.tr-days-badge.upcoming {
  background:transparent;
  color:var(--ink-s);
  border:1px solid var(--border);
}

.tr-forecast {
  border-left:3px solid var(--gold);
  padding:24px 28px;
  background:rgba(201,169,110,0.04);
  margin-bottom:28px;
  border-radius:0 8px 8px 0;
}

.tr-forecast-title {
  font-family:'Cormorant Garamond',serif;
  font-size:22px;
  font-weight:400;
  margin-bottom:12px;
}

.tr-forecast-text {
  font-size:15px;
  font-weight:400;
  line-height:1.85;
  color:#D8CFC4;
}

.tr-chart-section {
  margin-top:40px;
  padding-top:36px;
  border-top:2px solid var(--border);
}

.tr-dual-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 28px;
}

.tr-kundli-col {
  display: flex;
  flex-direction: column;
}

.tr-kundli-label {
  font-size: 15px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
}

.tr-kundli-box {
  width: 100%;
}

.tr-kundli-box svg {
  width: 100%;
  height: auto;
  display: block;
}

/* ── NAVAMSA D9 ── */

.d9-section {
  margin-top:40px;
  padding-top:36px;
  border-top:2px solid var(--border);
}

.d9-eyebrow {
  font-size:14px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:10px;
}

.d9-header-row {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:28px;
}

.d9-main-title {
  font-family:'Cormorant Garamond',serif;
  font-size:28px;
  font-weight:400;
  margin-bottom:5px;
}

.d9-main-sub {
  font-size:15px;
  color:var(--ink-s);
  font-weight:400;
  line-height:1.6;
}

.d9-vargottama-badge {
  border:1px solid var(--gold-lt);
  background:rgba(201,169,110,.06);
  padding:14px 18px;
  text-align:center;
  flex-shrink:0;
}

.d9-varg-sym {
  font-size:22px;
  color:var(--gold);
  margin-bottom:4px;
}

.d9-varg-lbl {
  font-size:14px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:4px;
}

.d9-varg-sub {
  font-size:14px;
  color:var(--ink-s);
  font-weight:400;
}

.d9-dual-wrap {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-bottom:28px;
}

.d9-kundli-col {
  display:flex;
  flex-direction:column;
}

.d9-kundli-label {
  font-size:14px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:10px;
  padding-bottom:8px;
  border-bottom:1px solid var(--border);
}

.d9-kundli-box svg {
  width:100%;
  height:auto;
  display:block;
}

.d9-sec-label {
  font-size:14px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:12px;
}

.d9-table-wrap {
  border:1px solid var(--border);
  overflow:hidden;
  margin-bottom:28px;
}

.d9-table {
  width:100%;
  border-collapse:collapse;
}

.d9-table th {
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gold);
  padding:12px 14px;
  border-bottom:2px solid rgba(203,180,134,0.2);
  text-align:left;
  font-weight:600;
  background:rgba(75,13,18,0.25);
}

.d9-table td {
  font-size:15px;
  font-weight:400;
  padding:11px 14px;
  border-bottom:1px solid var(--border);
  color:#E8DDD0;
  vertical-align:middle;
}

.d9-table tr:nth-child(even) td {
  background:rgba(203,180,134,0.03);
}

.d9-table tr:last-child td {
  border-bottom:none;
}

.d9-table tr.d9-varg-row td {
  background:rgba(201,169,110,.06);
}

.d9-table tr.d9-exalt-row td {
  background:rgba(139,168,122,.05);
}

.d9-table tr.d9-debil-row td {
  background:rgba(201,112,96,.04);
}

.d9-status.neutral {
  color:var(--ink-s);
  border:1px solid var(--border);
}

.d9-key-row {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  margin-bottom:28px;
}

.d9-interp-block {
  border-left:3px solid var(--gold);
  padding:24px 28px;
  background:rgba(201,169,110,0.04);
  margin-bottom:28px;
  border-radius:0 8px 8px 0;
}

.d9-interp-title {
  font-family:'Cormorant Garamond',serif;
  font-size:22px;
  font-weight:400;
  margin-bottom:12px;
}

.d9-interp-text {
  font-size:15px;
  font-weight:400;
  line-height:1.85;
  color:#D8CFC4;
}

.d9-planet-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:28px;
}

.d9-planet-card {
  border:1px solid var(--border);
  padding:16px;
  border-radius:4px;
  background:rgba(255,255,255,0.02);
}

.d9-varg-card {
  border-color:rgba(139,168,122,.4);
  background:rgba(139,168,122,.04);
}

.d9-planet-card-name {
  font-size:15px;
  font-weight:500;
  margin-bottom:4px;
}

.d9-planet-card-pos {
  font-size:12px;
  color:#A89E94;
  margin-bottom:8px;
}

.d9-planet-card-desc {
  font-size:13px;
  font-weight:400;
  line-height:1.65;
  color:#D8CFC4;
}

/* ── PDF OVERLAY ── */

#pdf-progress-overlay {
  position:fixed;
  inset:0;
  background:rgba(26,24,21,.85);
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  z-index:9999;
  backdrop-filter:blur(4px);
}

#pdf-progress-overlay.vis {
  display:flex;
}

.pdf-progress-box {
  background:var(--cream);
  border:1px solid var(--gold-lt);
  padding:40px 48px;
  text-align:center;
  max-width:380px;
  width:90%;
}

.pdf-progress-icon {
  font-size:32px;
  margin-bottom:16px;
  color:var(--gold);
}

.pdf-progress-title {
  font-family:'Cormorant Garamond',serif;
  font-size:22px;
  font-weight:400;
  margin-bottom:8px;
}

.pdf-progress-msg {
  font-size:15px;
  color:var(--ink-s);
  font-weight:400;
  margin-bottom:24px;
  line-height:1.6;
}

.pdf-progress-track {
  height:3px;
  background:var(--border);
  border-radius:2px;
  margin-bottom:10px;
}

.pdf-progress-fill {
  height:100%;
  background:var(--gold);
  border-radius:2px;
  width:0%;
  transition:width .4s ease;
}

.pdf-progress-pct {
  font-size:14px;
  color:var(--ink-s);
}

/* ── AUTH ── */

/* ── AUTH PAGES ── */

.auth-page {
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:80px 20px 40px;
}

.auth-box {
  width:100%;
  max-width:440px;
}

.auth-box-wide {
  max-width:540px;
}

.auth-logo {
  font-family:'Cormorant Garamond',serif;
  font-size:28px;
  font-weight:400;
  text-align:center;
  margin-bottom:8px;
  letter-spacing:.08em;
}

.auth-logo span {
  color:var(--gold);
}

.auth-tagline {
  text-align:center;
  font-size:14px;
  font-weight:400;
  color:var(--ink-s);
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:36px;
}

.auth-tagline-subtle {
  text-align:center;
  font-size:12px;
  font-weight:400;
  color:var(--ink-s);
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:0.5;
  margin-bottom:40px;
}

.auth-card {
  border:1px solid var(--border);
  background:var(--cream);
  padding:48px 44px;
}

.auth-title {
  font-family:'Cormorant Garamond',serif;
  font-size:28px;
  font-weight:400;
  margin-bottom:8px;
}

.auth-subtitle {
  font-size:16px;
  font-weight:400;
  color:var(--ink-s);
  margin-bottom:32px;
  line-height:1.65;
}

/* ── Step Indicator ── */

.auth-steps {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  margin-bottom:36px;
  padding-bottom:28px;
  border-bottom:1px solid var(--border);
}

.auth-step {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}

.auth-step-num {
  width:36px;
  height:36px;
  border-radius:50%;
  border:2px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Jost',sans-serif;
  font-size:15px;
  font-weight:500;
  color:var(--ink-s);
  transition:all .3s;
}

.auth-step.active .auth-step-num {
  border-color:var(--gold);
  background:var(--gold);
  color:#1A1815;
}

.auth-step.done .auth-step-num {
  border-color:var(--gold);
  background:rgba(201,169,110,.15);
  color:var(--gold);
}

.auth-step-label {
  font-size:13px;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-m, #7A6E64);
  transition:color .3s;
}

.auth-step.active .auth-step-label,
.auth-step.done .auth-step-label {
  color:var(--ink-s);
}

.auth-step-line {
  flex:1;
  height:2px;
  background:var(--border);
  min-width:40px;
  max-width:80px;
  margin:0 12px;
  margin-bottom:24px;
  transition:background .3s;
}

.auth-step-line.done {
  background:var(--gold);
}

/* ── Multi-step Form ── */

.auth-form-step {
  display:none;
}

.auth-form-step.active {
  display:block;
  animation:authFadeIn .3s ease;
}

@keyframes authFadeIn {
  from { opacity:0; transform:translateY(8px); }
  to { opacity:1; transform:translateY(0); }
}

/* ── Form Fields ── */

.auth-field {
  margin-bottom:20px;
}

.auth-field label {
  display:block;
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-s);
  margin-bottom:7px;
  font-weight:500;
}

.auth-field input,
.auth-field select {
  width:100%;
  padding:14px 16px;
  border:1px solid var(--border);
  background:var(--warm);
  font-family:'Jost',sans-serif;
  font-size:16px;
  font-weight:400;
  color:var(--ink);
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}

.auth-field select {
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237A6E64' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  padding-right:40px;
  cursor:pointer;
}

.auth-field select option {
  background:var(--cream);
  color:var(--ink);
}

.auth-field input:focus,
.auth-field select:focus {
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201,169,110,.1);
}

.auth-input-gold:focus {
  border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(201,169,110,.15), 0 0 16px rgba(201,169,110,.08);
}

.auth-field input.error {
  border-color:#E57373;
}

.auth-field .field-error {
  font-size:14px;
  color:#E57373;
  margin-top:5px;
  display:none;
}

.auth-field .field-error.vis {
  display:block;
}

.auth-field .field-hint {
  font-size:13px;
  color:var(--ink-m, #7A6E64);
  margin-top:5px;
  font-weight:400;
  font-style:italic;
}

/* ── Birth Time Choice ── */

.birth-time-choice {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:8px;
}

.birth-time-option {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:18px 14px;
  border:1px solid var(--border);
  background:var(--warm);
  cursor:pointer;
  font-family:'Jost',sans-serif;
  font-size:14px;
  font-weight:400;
  color:var(--ink-s);
  transition:all .25s;
  text-align:center;
  line-height:1.4;
}

.birth-time-option:hover {
  border-color:rgba(201,169,110,.4);
}

.birth-time-option.selected {
  border-color:var(--gold);
  background:rgba(201,169,110,.06);
  color:var(--ink);
}

.birth-time-icon {
  font-size:22px;
  line-height:1;
}

.birth-time-input-wrap {
  overflow:hidden;
  transition:all .3s ease;
}

.birth-time-input-wrap input {
  width:100%;
  padding:14px 16px;
  border:1px solid var(--border);
  background:var(--warm);
  font-family:'Jost',sans-serif;
  font-size:16px;
  font-weight:400;
  color:var(--ink);
  outline:none;
  margin-top:8px;
  transition:border-color .2s, box-shadow .2s;
}

.birth-time-input-wrap input:focus {
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201,169,110,.1);
}

/* ── Trust Signal ── */

.auth-trust-signal {
  text-align:center;
  font-size:13px;
  font-style:italic;
  color:var(--ink-m, #7A6E64);
  margin-top:16px;
  letter-spacing:.03em;
  opacity:0.8;
}

/* ── Two-column row ── */

.auth-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

/* ── Password wrap ── */

.auth-pw-wrap {
  position:relative;
}

.auth-pw-wrap input {
  padding-right:60px;
}

.auth-pw-toggle {
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  cursor:pointer;
  font-size:13px;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ink-s);
  -webkit-user-select:none;
     -moz-user-select:none;
          user-select:none;
  transition:color .2s;
}

.auth-pw-toggle:hover {
  color:var(--gold);
}

/* ── Radio Groups ── */

.auth-radio-group {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.auth-radio {
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  font-size:15px;
  font-weight:400;
  color:var(--ink-s);
  padding:10px 16px;
  border:1px solid var(--border);
  background:var(--warm);
  transition:all .2s;
  text-transform:none;
  letter-spacing:0;
  flex:1;
  min-width:120px;
  justify-content:center;
}

.auth-radio:hover {
  border-color:rgba(201,169,110,.4);
}

.auth-radio input[type="radio"] {
  display:none;
}

.auth-radio-mark {
  width:16px;
  height:16px;
  border-radius:50%;
  border:2px solid var(--border);
  position:relative;
  flex-shrink:0;
  transition:border-color .2s;
}

.auth-radio-mark::after {
  content:'';
  position:absolute;
  top:3px;
  left:3px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--gold);
  opacity:0;
  transition:opacity .2s;
}

.auth-radio input[type="radio"]:checked ~ .auth-radio-mark {
  border-color:var(--gold);
}

.auth-radio input[type="radio"]:checked ~ .auth-radio-mark::after {
  opacity:1;
}

.auth-radio:has(input:checked) {
  border-color:var(--gold);
  background:rgba(201,169,110,.06);
  color:var(--ink);
}

/* ── Buttons ── */

.auth-submit {
  width:100%;
  padding:15px;
  background:linear-gradient(135deg, #CBB486, #A8935E);
  color:#1A1815;
  border:none;
  font-family:'Jost',sans-serif;
  font-size:16px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .25s;
  margin-top:6px;
}

.auth-submit:hover {
  background:linear-gradient(135deg, #D4C08F, #B8A36E);
  transform:translateY(-1px);
  box-shadow:0 4px 16px rgba(201,169,110,.2);
}

.auth-submit:active {
  transform:translateY(0);
}

.auth-submit:disabled {
  opacity:.5;
  cursor:not-allowed;
  transform:none;
}

.auth-submit-flex {
  flex:1;
}

.auth-btn-row {
  display:flex;
  gap:14px;
  margin-top:6px;
}

.auth-btn-back {
  padding:15px 28px;
  background:transparent;
  color:var(--ink-s);
  border:1px solid var(--border);
  font-family:'Jost',sans-serif;
  font-size:15px;
  font-weight:400;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .2s;
}

.auth-btn-back:hover {
  border-color:var(--gold);
  color:var(--gold);
}

/* ── Divider, Switch, Forgot ── */

.auth-divider {
  display:flex;
  align-items:center;
  gap:14px;
  margin:28px 0;
}

.auth-divider::before, .auth-divider::after {
  content:'';
  flex:1;
  height:1px;
  background:var(--border);
}

.auth-divider span {
  font-size:14px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-m, #7A6E64);
  flex-shrink:0;
}

.auth-switch {
  text-align:center;
  font-size:16px;
  font-weight:400;
  color:var(--ink-s);
}

.auth-switch a {
  color:var(--gold);
  cursor:pointer;
  text-decoration:none;
  font-weight:500;
}

.auth-switch a:hover {
  text-decoration:underline;
}

.auth-forgot {
  text-align:right;
  margin-top:-12px;
  margin-bottom:20px;
}

.auth-forgot a {
  font-size:14px;
  color:var(--ink-s);
  cursor:pointer;
  text-decoration:none;
  transition:color .2s;
}

.auth-forgot a:hover {
  color:var(--gold);
}

.auth-reassure {
  text-align:center;
  font-size:13px;
  font-style:italic;
  color:var(--gold);
  opacity:0.7;
  margin-bottom:18px;
  letter-spacing:.04em;
}

.auth-switch-gold {
  color:var(--gold);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid rgba(201,169,110,.3);
  padding-bottom:1px;
  transition:border-color .2s, color .2s;
}

.auth-switch-gold:hover {
  color:#D4C08F;
  border-bottom-color:rgba(201,169,110,.6);
  text-decoration:none;
}

/* ── Alerts ── */

.auth-alert {
  padding:14px 18px;
  margin-bottom:20px;
  font-size:15px;
  font-weight:400;
  line-height:1.6;
  display:none;
  border-radius:4px;
}

.auth-alert.vis {
  display:block;
}

.auth-alert.danger,
.auth-alert.error {
  background:rgba(229,115,115,.08);
  border:1px solid rgba(229,115,115,.25);
  color:#E57373;
}

.auth-alert.success {
  background:rgba(139,168,122,.08);
  border:1px solid rgba(139,168,122,.25);
  color:#81C784;
}

.auth-alert.info {
  background:rgba(201,169,110,.08);
  border:1px solid var(--gold-lt);
  color:var(--gold);
}

/* ── Auth Responsive ── */

@media (max-width:600px) {
  .auth-card { padding:28px 20px; }
  .auth-box-wide { max-width:100%; }
  .auth-row { grid-template-columns:1fr; gap:0; }
  .auth-radio-group { flex-direction:column; }
  .auth-radio { min-width:0; }
  .auth-step-label { font-size:11px; }
  .auth-step-num { width:32px; height:32px; font-size:14px; }
  .auth-step-line { min-width:24px; margin:0 6px; }
  .auth-btn-row { flex-direction:column; }
  .auth-btn-back { width:100%; text-align:center; }
}

.ac-header {
  display:flex;
  align-items:center;
  gap:24px;
  padding:32px;
  border:1px solid var(--border);
  background:var(--warm);
  margin-bottom:28px;
}

.ac-avatar-lg {
  width:68px;
  height:68px;
  border-radius:50%;
  background:var(--gold);
  color:#1A1815;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  font-weight:400;
  flex-shrink:0;
}

.ac-name {
  font-family:'Cormorant Garamond',serif;
  font-size:28px;
  font-weight:400;
  margin-bottom:4px;
}

.ac-email {
  font-size:15px;
  color:var(--ink-s);
  font-weight:400;
}

.ac-joined {
  font-size:14px;
  color:var(--ink-s);
  font-weight:400;
  margin-top:4px;
}

.ac-sections {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:28px;
}

.ac-section {
  border:1px solid var(--border);
  background:var(--warm);
  padding:24px;
}

.ac-section-title {
  font-size:14px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:18px;
}

.ac-stat {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid var(--border);
}

.ac-stat:last-child {
  border-bottom:none;
}

.ac-stat-lbl {
  font-size:15px;
  font-weight:400;
  color:var(--ink-s);
}

.ac-stat-val {
  font-size:15px;
  font-weight:400;
  color:var(--ink);
}

.ac-danger {
  border:1px solid rgba(201,112,96,.2);
  padding:20px 24px;
  background:rgba(201,112,96,.03);
}

.ac-danger-title {
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#E57373;
  margin-bottom:10px;
}

.ac-danger-text {
  font-size:15px;
  font-weight:400;
  color:var(--ink-s);
  margin-bottom:14px;
  line-height:1.6;
}

/* ── PROFILES ── */

.pr-page-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:32px;
}

.pr-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
  margin-bottom:32px;
}

.pr-add-section {
  border:1px solid var(--border);
  padding:28px;
  background:var(--warm);
  margin-bottom:32px;
}

.pr-add-title {
  font-family:'Cormorant Garamond',serif;
  font-size:22px;
  font-weight:400;
  margin-bottom:18px;
}

.pr-form-grid {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:16px;
  margin-bottom:20px;
}

.pr-form-grid .fg.full {
  grid-column:1/-1;
}

.pr-detail {
  border:1px solid var(--gold-lt);
  padding:24px;
  background:rgba(201,169,110,.03);
  margin-bottom:24px;
  display:none;
}

.pr-detail.vis {
  display:block;
}

.pr-detail-header {
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:16px;
}

.pr-detail-avatar {
  width:52px;
  height:52px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  background:var(--gold-lt);
}

.pr-detail-name {
  font-family:'Cormorant Garamond',serif;
  font-size:26px;
  font-weight:400;
  margin-bottom:3px;
}

.pr-detail-meta {
  font-size:15px;
  color:var(--ink-s);
  font-weight:400;
}

.pr-notes-area {
  width:100%;
  font-family:'Jost',sans-serif;
  font-size:14px;
  font-weight:400;
  border:1px solid var(--border);
  background:var(--warm);
  color:var(--ink);
  padding:10px 14px;
  outline:none;
  resize:vertical;
  min-height:80px;
  margin-top:8px;
}

/* ── HOME PAGE ── */

/* Features wrapper — dark maroon theme */
.hp-features-wrap {
  background: linear-gradient(180deg, #4B0D12 0%, #3B0A0F 50%, #4B0D12 100%);
  padding: 0 48px;
  max-width: 100%;
  color: #F5E6C8;
}

.hp-features-wrap .home-primary-grid,
.hp-features-wrap .home-tools-row,
.hp-features-wrap .hp-section-heading {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.hp-section-heading {
  text-align: center;
  padding: 64px 0 44px;
}

.hp-section-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(30px, 3.8vw, 48px);
  font-weight: 400;
  color: #F5E6C8;
}

.hp-section-title em {
  color: #CBB486;
  font-style: italic;
}

.hp-section-desc {
  font-size: 17px;
  color: #D8CFC4;
  font-weight: 400;
  max-width: 540px;
  margin: 0 auto 40px;
  line-height: 1.75;
}

.hp-features-wrap .eyebrow {
  color: #CBB486;
}

.home-primary-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 0;
}

.home-primary-card {
  border: 1px solid rgba(203,180,134,0.18);
  background: rgba(255,255,255,0.04);
  padding: 36px 30px;
  cursor: pointer;
  transition: all .3s ease;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: 6px;
}

.home-primary-card:hover {
  border-color: rgba(203,180,134,0.5);
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(203,180,134,.1);
  background: rgba(203,180,134,0.06);
}

.hpc-icon {
  font-size: 32px;
  margin-bottom: 18px;
  line-height: 1;
  color: #CBB486;
}

.hpc-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 12px;
  color: #F5E6C8;
}

.hpc-desc {
  font-size: 16px;
  font-weight: 400;
  color: #D8CFC4;
  line-height: 1.75;
  flex: 1;
  margin-bottom: 22px;
}

.hpc-cta {
  font-size: 14px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #CBB486;
  font-weight: 600;
  transition: color 0.2s;
}
.home-primary-card:hover .hpc-cta {
  color: #F5E6C8;
}

.home-tools-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  padding-bottom: 80px;
}

.home-tool-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 26px;
  border: 1px solid rgba(203,180,134,0.2);
  background: rgba(255,255,255,0.04);
  cursor: pointer;
  font-size: 15.5px;
  font-weight: 500;
  color: #D8CFC4;
  transition: all .25s ease;
  border-radius: 50px;
}

.home-tool-chip:hover {
  border-color: rgba(203,180,134,0.5);
  background: rgba(203,180,134,.08);
  color: #F5E6C8;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(203,180,134,0.08);
}

.home-tool-chip span {
  font-size: 16px;
  color: #CBB486;
}

/* ── FEATURES PAGE ── */

.feat-page-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 12px;
}

.feat-page-card {
  border: 1px solid var(--border);
  background: var(--cream);
  padding: 26px;
  cursor: pointer;
  transition: all .15s;
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.feat-page-card:hover {
  border-color: var(--gold-lt);
  background: rgba(201,169,110,.03);
}

.fpc-left {
  flex-shrink: 0;
}

.fpc-icon {
  font-size: 26px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--warm);
  border: 1px solid var(--border);
}

.fpc-body {
  flex: 1;
}

.fpc-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 8px;
  color: var(--ink);
}

.fpc-desc {
  font-size: 16px;
  font-weight: 400;
  color: var(--ink-s);
  line-height: 1.75;
  margin-bottom: 12px;
}

.fpc-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.fpc-tags span {
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 2px 7px;
  border: 1px solid var(--border);
  color: var(--ink-s);
  background: var(--warm);
}

.fpc-arrow {
  font-size: 16px;
  color: var(--gold-lt);
  flex-shrink: 0;
  transition: color .15s, transform .15s;
  padding-top: 10px;
}

.feat-page-card:hover .fpc-arrow {
  color: var(--gold);
  transform: translateX(3px);
}

/* ── FLASH MESSAGES ── */

.flash {
  position: fixed;
  top: 68px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 500;
  padding: 12px 22px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
  animation: fadeIn 0.3s ease-out;
}

.flash-success {
  background: rgba(139,168,122,.12);
  color: #81C784;
  border: 1px solid rgba(139,168,122,.3);
}

.flash-error {
  background: rgba(201,112,96,.12);
  color: #E57373;
  border: 1px solid rgba(201,112,96,.3);
}

.flash-info {
  background: rgba(201,169,110,.12);
  color: var(--gold);
  border: 1px solid var(--gold-lt);
}

.flash-close {
  background: transparent;
  border: none;
  cursor: pointer;
  color: currentColor;
  font-size: 16px;
  margin-left: 6px;
}

/* ── CHART MODAL ── */

#chart-modal {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: zoom-out;
  padding: 40px;
  background: rgba(26,24,21,.98);
  backdrop-filter: blur(12px);
}

#chart-modal.vis {
  display: flex;
}

#chart-modal svg {
  width: 90vw;
  height: 90vh;
  max-width: 90vh;
  max-height: 90vh;
}

/* ── HOME PANCHANG SECTION ── */

.hp-panchang {
  background: linear-gradient(180deg, #3B0A0F 0%, #4B0D12 50%, #3B0A0F 100%);
  border-top: 1px solid rgba(203,180,134,0.12);
  border-bottom: 1px solid rgba(203,180,134,0.12);
  padding: 64px 0;
  color: #F5E6C8;
}

.hp-panch-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 56px;
}

.hp-panch-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

.hp-panch-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(26px, 3.2vw, 40px);
  font-weight: 400;
  margin-bottom: 4px;
  color: #F5E6C8;
}

.hp-panch-title em {
  font-style: italic;
  color: #CBB486;
}

.hp-panch-date {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 600;
  color: #F5E6C8;
  margin-top: 6px;
}
.hp-panch-sub {
  font-size: 16px;
  color: #D8CFC4;
  font-weight: 400;
  margin-top: 6px;
}

.hp-loc-controls {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.hp-loc-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.hp-city-input {
  padding: 10px 14px;
  border: 1px solid rgba(203,180,134,0.3);
  background: rgba(255,255,255,0.06);
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #F5E6C8;
  outline: none;
  width: 160px;
  transition: border-color .2s;
  border-radius: 4px;
}

.hp-city-input:focus {
  border-color: #CBB486;
}

.hp-city-input::placeholder {
  color: rgba(216,207,196,0.5);
}

.hp-loc-btn {
  padding: 8px 16px !important;
  font-size: 14px !important;
}

.hp-panchang .btn-dark {
  background: #CBB486;
  color: #1a1a1a;
  border-radius: 4px;
}
.hp-panchang .btn-dark:hover {
  background: #D4C09A;
}

.hp-panchang .btn-light {
  background: transparent;
  color: #CBB486;
  border: 1px solid rgba(203,180,134,0.4);
  border-radius: 4px;
}
.hp-panchang .btn-light:hover {
  border-color: #CBB486;
  color: #F5E6C8;
  background: rgba(203,180,134,0.08);
}

.hp-full-link {
  font-size: 14px;
  letter-spacing: .1em;
  color: #CBB486;
  text-decoration: none;
  transition: color .2s;
}

.hp-full-link:hover {
  color: #F5E6C8;
}

.hp-clock-row {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 28px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(203,180,134,0.15);
}

.hp-clock-time {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(40px, 5.5vw, 60px);
  font-weight: 400;
  letter-spacing: .02em;
  line-height: 1;
  color: #F5E6C8;
}

.hp-clock-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hp-clock-tz {
  font-size: 15px;
  color: #CBB486;
  letter-spacing: .1em;
  font-weight: 500;
}

.hp-clock-loc {
  font-size: 15px;
  color: #D8CFC4;
  font-weight: 400;
}

.hp-anga-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: rgba(203,180,134,0.12);
  border: 1px solid rgba(203,180,134,0.15);
  margin-bottom: 28px;
  border-radius: 4px;
  overflow: hidden;
}

.hp-anga-card {
  background: rgba(255,255,255,0.04);
  padding: 26px 16px;
  text-align: center;
  transition: all 0.25s ease;
}

.hp-anga-card:hover {
  background: rgba(203,180,134,0.08);
  box-shadow: 0 4px 16px rgba(203,180,134,0.08);
  transform: translateY(-2px);
}

.hp-anga-label {
  font-size: 14px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #CBB486;
  margin-bottom: 10px;
  font-weight: 600;
}

.hp-anga-sym {
  font-size: 22px;
  margin-bottom: 6px;
  line-height: 1;
  color: #CBB486;
}

.hp-anga-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 5px;
  color: #F5E6C8;
}

.hp-anga-sub {
  font-size: 14.5px;
  color: #D8CFC4;
  font-weight: 400;
  line-height: 1.5;
}

.hp-planet-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}

.hp-planet-card {
  border: 1px solid rgba(203,180,134,0.15);
  background: rgba(255,255,255,0.04);
  padding: 26px;
  transition: all 0.25s ease;
  border-radius: 4px;
}

.hp-planet-card:hover {
  box-shadow: 0 4px 16px rgba(203,180,134,0.1);
  transform: translateY(-2px);
  background: rgba(203,180,134,0.06);
}

.hp-planet-label {
  font-size: 15px;
  color: #D8CFC4;
  font-weight: 500;
  margin-bottom: 8px;
}

.hp-planet-sign {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 600;
  color: #F5E6C8;
}

.hp-planet-deg {
  font-size: 15px;
  color: #D8CFC4;
  font-weight: 400;
  margin-top: 3px;
}

.hp-planet-nak {
  font-size: 14.5px;
  color: #CBB486;
  font-weight: 500;
  margin-top: 5px;
}

.hp-muhurta-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.hp-muhurta-card {
  border: 1px solid rgba(203,180,134,0.15);
  background: rgba(255,255,255,0.04);
  padding: 26px;
  transition: all 0.25s ease;
  border-radius: 4px;
}
.hp-muhurta-card:hover {
  box-shadow: 0 4px 16px rgba(203,180,134,0.08);
  transform: translateY(-2px);
  background: rgba(203,180,134,0.06);
}

.hp-muhurta-card.auspicious {
  border-left: 3px solid rgba(139,168,122,0.7);
}

.hp-muhurta-card.inauspicious {
  border-left: 3px solid rgba(201,112,96,0.7);
}

.hp-muhurta-card.neutral {
  border-left: 3px solid rgba(203,180,134,0.5);
}

.hp-muhurta-label {
  font-size: 14px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #D8CFC4;
  margin-bottom: 8px;
  font-weight: 600;
}

.hp-muhurta-time {
  font-family: 'Cormorant Garamond', serif;
  font-size: 19px;
  font-weight: 500;
  color: #CBB486;
  margin-bottom: 6px;
}

.hp-muhurta-desc {
  font-size: 14.5px;
  color: rgba(216,207,196,0.75);
  font-weight: 400;
  line-height: 1.65;
}

/* ── RESPONSIVE ── */

@media(max-width:768px) {
  .hero {
    grid-template-columns: 1fr;
  }

  .hero-left {
    padding: 52px 24px;
    text-align: center;
  }

  .hero-left .hero-sub {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-btns {
    justify-content: center;
  }

  .hero-right {
    display: none;
  }

  .hero-stars {
    display: none;
  }

  .ambient-stars {
    opacity: 0.5;
  }

  .hp-closing {
    padding: 60px 24px 48px;
  }

  .feat-strip {
    grid-template-columns: 1fr 1fr;
  }

  .pg-wrap {
    padding: 40px 24px 64px;
  }

  .pg-hero {
    padding: 56px 24px 48px;
  }

  /* old zodiac grid removed — replaced by .hs-zodiac-strip */

  .form-grid {
    grid-template-columns: 1fr;
  }


  .chart-layout {
    grid-template-columns: 1fr;
  }

  .ecn-grid {
    grid-template-columns: 1fr;
  }
  .ecn-section {
    padding: 28px 18px;
    margin: 32px 0 36px;
  }

  .nak-row {
    grid-template-columns: 1fr 1fr;
  }

  footer {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }

  .cd-cards {
    grid-template-columns: 1fr;
  }

  .cd-antara-grid {
    grid-template-columns: 1fr 1fr;
  }

  .cd-ruling-block {
    padding: 20px;
  }

  .cd-header {
    flex-direction: column;
  }

  /* Old panchang responsive rules removed — see panch-redesign responsive block */

  .bp-five {
    grid-template-columns: 1fr 1fr;
  }

  .bp-sky-row {
    grid-template-columns: 1fr;
  }

  .bp-detail-row {
    grid-template-columns: 1fr;
  }

  .bp-three-row {
    grid-template-columns: 1fr;
  }

  .bp-timings-grid {
    grid-template-columns: 1fr 1fr;
  }

  .bp-header {
    flex-direction: column;
  }

  .bp-header-badge {
    align-self: flex-start;
  }

  .bp-significance {
    padding: 22px 20px;
  }

  .av-form-row {
    grid-template-columns:1fr 1fr;
  }

  .av-sav-strip {
    grid-template-columns:1fr 1fr;
  }

  .av-bav-grid {
    grid-template-columns:repeat(3,1fr);
  }

  .av-planet-strength {
    grid-template-columns:1fr 1fr;
  }

  .tr-form-row {
    grid-template-columns:1fr 1fr;
  }

  .tr-sky-now {
    grid-template-columns:repeat(4,1fr);
  }

  .tr-house-grid {
    grid-template-columns:repeat(3,1fr);
  }

  .tr-planet-grid {
    grid-template-columns:1fr;
  }

  .tr-dual-wrap {
    grid-template-columns: 1fr;
  }

  .d9-dual-wrap {
    grid-template-columns:1fr;
  }

  .d9-key-row {
    grid-template-columns:1fr 1fr;
  }

  .d9-planet-grid {
    grid-template-columns:1fr 1fr;
  }

  .d9-header-row {
    flex-direction:column;
  }

  .auth-card {
    padding:24px 18px;
  }

  .ac-sections {
    grid-template-columns:1fr;
  }

  .ac-header {
    flex-direction:column;
    text-align:center;
  }

  .feat-page-grid {
    grid-template-columns: 1fr;
  }

  .dasha-form-row {
    grid-template-columns: 1fr 1fr;
  }

  .hp-anga-strip {
    grid-template-columns: repeat(3, 1fr);
  }

  .hp-muhurta-grid {
    grid-template-columns: 1fr 1fr;
  }

  .hp-panch-header {
    flex-direction: column;
  }
}

@media(max-width:900px) {
  .home-primary-grid {
    grid-template-columns: 1fr 1fr;
  }
  .hp-features-wrap {
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media(max-width:520px) {
  .home-primary-grid {
    grid-template-columns: 1fr;
  }

  .home-tools-row {
    padding: 0 0 48px;
  }
  .hp-features-wrap {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.block {
  display: block;
}

.flex {
  display: flex;
}

.table {
  display: table;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.border {
  border-width: 1px;
}

.uppercase {
  text-transform: uppercase;
}

/* Tailwind .ring utility disabled — conflicts with custom spinning rings */

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

/* ─── Base ─── */

/* ─── All component/page styles ─── */

/* ─── Keyframes ─── */

@keyframes spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes bounce {
  0%, 60%, 100% {
    transform: translateY(0);
    opacity: .5;
  }

  30% {
    transform: translateY(-6px);
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ─── ASHTAKAVARGA ─── */
.av-form-row { display:grid; grid-template-columns:1fr 1fr 1fr 1fr auto; gap:16px; align-items:end; margin-bottom:28px; }
.av-result { margin-top:36px; display:none; }
.av-result.vis { display:block; }
.av-sec-label { font-size:15px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.av-sav-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); margin-bottom:28px; }
.av-sav-card { background:var(--cream); padding:18px 14px; text-align:center; }
.av-sav-lbl { font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.av-sav-num { font-family:'Cormorant Garamond',serif; font-size:32px; font-weight:400; line-height:1; margin-bottom:4px; }
.av-sav-sub { font-size:14px; color:var(--ink-m); font-weight:400; }
.av-sav-chart { border:1px solid var(--border); background:var(--warm); padding:24px; margin-bottom:28px; }
.av-sav-house-row { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.av-sav-house-row:last-child { margin-bottom:0; }
.av-house-lbl { font-size:14px; font-weight:400; color:var(--ink-m); min-width:94px; }
.av-house-bar-wrap { flex:1; position:relative; height:20px; }
.av-house-bar-bg { position:absolute; inset:0; background:var(--border); border-radius:2px; }
.av-house-bar-fill { position:absolute; top:0; left:0; height:100%; border-radius:2px; transition:width .7s ease; }
.av-house-bar-fill.strong { background:#8BA87A; }
.av-house-bar-fill.medium { background:var(--gold); }
.av-house-bar-fill.weak   { background:#c97060; }
.av-house-score { font-size:15px; font-weight:400; color:var(--ink); min-width:28px; text-align:right; }
.av-bench-line { position:absolute; top:0; bottom:0; width:1px; background:var(--ink-m); opacity:.3; z-index:1; }
.av-bav-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:10px; margin-bottom:28px; }
.av-bav-card { border:1px solid var(--border); background:var(--warm); padding:14px 10px; }
.av-bav-planet { font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.av-bav-sym { font-size:16px; display:block; margin-bottom:4px; }
.av-bav-total { font-family:'Cormorant Garamond',serif; font-size:26px; font-weight:400; line-height:1; }
.av-bav-max { font-size:13px; color:var(--ink-m); font-weight:400; margin-bottom:8px; }
.av-bav-mini { display:grid; grid-template-columns:repeat(6,1fr); gap:2px; margin-top:8px; }
.av-mini-cell { text-align:center; padding:2px 1px; border-radius:1px; }
.av-mini-score { font-size:11px; font-weight:400; }
.av-mini-house { font-size:10px; color:var(--ink-m); }
.av-house-table-wrap { border:1px solid var(--border); overflow:hidden; margin-bottom:28px; }
.av-house-table { width:100%; border-collapse:collapse; }
.av-house-table th { font-size:14px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); padding:14px 16px; border-bottom:1px solid var(--border); text-align:left; font-weight:600; background:var(--warm); }
.av-house-table td { font-size:16px; font-weight:400; padding:13px 16px; border-bottom:1px solid var(--border); color:var(--ink-s); vertical-align:middle; }
.av-house-table tr:last-child td { border-bottom:none; }
.av-house-table tr.av-strong-row td { background:rgba(139,168,122,.06); }
.av-house-table tr.av-weak-row td { background:rgba(201,112,96,.05); }
.av-strength-badge { display:inline-block; font-size:13px; letter-spacing:.1em; text-transform:uppercase; padding:3px 10px; border-radius:2px; }
.av-strength-badge.excellent { background:rgba(139,168,122,.15); color:#5A8A4A; border:1px solid rgba(139,168,122,.3); }
.av-strength-badge.strong    { background:rgba(139,168,122,.1);  color:#6A9A5A; border:1px solid rgba(139,168,122,.2); }
.av-strength-badge.average   { background:rgba(201,169,110,.12); color:var(--gold); border:1px solid var(--gold-lt); }
.av-strength-badge.weak      { background:rgba(201,112,96,.1);   color:#b06050; border:1px solid rgba(201,112,96,.2); }
.av-planet-strength { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:28px; }
.av-ps-card { border:1px solid var(--border); padding:16px; background:var(--warm); }
.av-ps-planet { font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:7px; }
.av-ps-score { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:400; margin-bottom:4px; }
.av-ps-bar-wrap { height:3px; background:var(--border); border-radius:2px; margin-bottom:8px; }
.av-ps-bar { height:100%; border-radius:2px; }
.av-ps-rashi { font-size:14px; color:var(--ink-m); font-weight:400; margin-bottom:6px; }
.av-ps-interp { font-size:14px; font-weight:400; line-height:1.75; color:var(--ink-s); }
.av-interp-block { border-left:3px solid var(--gold); padding:28px 32px; background:var(--warm); margin-bottom:32px; }
.av-interp-title { font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:400; margin-bottom:14px; }
.av-interp-text { font-size:16px; font-weight:400; line-height:1.85; color:var(--ink-s); }
.av-chart-section { margin-top:40px; padding-top:36px; border-top:2px solid var(--border); }
@media(max-width:768px){
    .av-form-row { grid-template-columns:1fr 1fr; }
    .av-sav-strip { grid-template-columns:1fr 1fr; }
    .av-bav-grid { grid-template-columns:repeat(3,1fr); }
    .av-planet-strength { grid-template-columns:1fr 1fr; }
}
/* ─── END ASHTAKAVARGA ─── */

/* Yogas specific micro-animations and layout matching the premium aesthetic */
.yogas-layout {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
@media (min-width: 900px) {
    .yogas-layout {
        flex-direction: row;
        align-items: flex-start;
    }
    .yogas-chart-col {
        flex: 0 0 460px;
        position: sticky;
        top: 100px;
    }
    .yogas-list-col {
        flex: 1;
    }
}
@media (max-width: 899px) {
    /* Mobile: Yogas list first, Kundali below */
    .yogas-chart-col { order: 2; margin-top: 30px; }
    .yogas-list-col { order: 1; }
}

.chart-legend {
    margin-top: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 13px;
    color: var(--text-dim);
    flex-wrap: wrap;
}
.legend-dot {
    display: inline-block;
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 8px rgba(203,180,134,0.8);
    margin-right: 6px;
}
.legend-box {
    display: inline-block;
    width: 12px; height: 12px;
    background: rgba(203,180,134,0.15);
    border: 1px solid rgba(203,180,134,0.5);
    margin-right: 6px;
    vertical-align: middle;
}
.legend-line {
    display: inline-block;
    width: 16px; height: 0; 
    border-top: 1.5px dashed var(--gold);
    margin-right: 6px;
    vertical-align: middle;
}
.sticky-chart {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5);
}
.sticky-chart svg {
    max-width: 100%;
    height: auto;
}

.yogas-grid-stack { 
    display: flex;
    flex-direction: column;
    gap: 16px; 
}
.yoga-card { 
    background: var(--bg-card); 
    border: 1px solid var(--border); 
    padding: 28px; 
    border-radius: 12px; 
    transition: all 0.3s ease; 
    position: relative;
    overflow: hidden;
}
.yoga-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.yoga-card:hover { 
    transform: translateY(-2px); 
    border-color: rgba(203,180,134,0.5);
    cursor: pointer;
}
.yoga-card.active {
    transform: translateY(-5px);
    border-color: var(--gold);
    background: rgba(203,180,134,0.06);
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}
.yoga-card.active::before {
    opacity: 1;
}
.yoga-name { 
    font-family: 'Outfit', sans-serif; 
    font-size: 20px; 
    font-weight: 600; 
    color: var(--gold); 
    margin-bottom: 12px; 
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.yoga-desc { 
    font-size: 15px; 
    line-height: 1.6; 
    color: var(--text-dim); 
}

/* SVG Interactions */
.kundli-house.highlight-house {
    fill: rgba(203,180,134,0.18) !important;
    stroke: rgba(203,180,134,0.8) !important;
}
.kundli-planet.highlight-planet {
    fill: var(--gold) !important;
    text-shadow: 0 0 10px rgba(203,180,134,0.9);
    font-size: 15px !important;
    font-weight: 700 !important;
}
.kundli-house.dimmed { stroke: rgba(203,180,134,0.1) !important; }
.kundli-planet.dimmed { opacity: 0.15; }
.dimmed { opacity: 0.15; }

@keyframes fadeInLine {
    to { stroke-opacity: 0.8; opacity: 1; }
}

/* ═══ Narrative Astrology Section ═══ */
.nr-section {
    text-align: center;
    margin-bottom: 28px;
}
.nr-eyebrow {
    font-size: 13px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: #C9A96E;
    margin-bottom: 10px;
}
.nr-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 28px;
    font-weight: 400;
    color: #F5E6C8;
    margin-bottom: 6px;
}
.nr-subtitle {
    font-size: 14px;
    color: #A89E94;
    margin-bottom: 24px;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}
.nr-badges {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}
.nr-badge {
    font-size: 12px;
    letter-spacing: .08em;
    color: #C9A96E;
    border: 1px solid rgba(201,169,110,0.25);
    border-radius: 20px;
    padding: 5px 14px;
    background: rgba(201,169,110,0.06);
}
.nr-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(201,169,110,0.15);
    border-radius: 12px;
    padding: 28px 32px;
    margin-bottom: 20px;
    text-align: left;
    opacity: 0;
    transform: translateY(16px);
    animation: nrFadeIn 0.5s ease forwards;
    position: relative;
    overflow: hidden;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.nr-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, transparent 0%, rgba(201,169,110,0.25) 20%, rgba(201,169,110,0.85) 50%, rgba(201,169,110,0.25) 80%, transparent 100%);
    border-radius: 12px 12px 0 0;
}
.nr-card:hover {
    border-color: rgba(201,169,110,0.3);
    box-shadow: 0 6px 24px rgba(0,0,0,0.25);
}
.nr-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}
.nr-card-icon {
    font-size: 20px;
    line-height: 1;
}
.nr-card-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 20px;
    font-weight: 500;
    color: #F5E6C8;
    letter-spacing: .02em;
}
.nr-signature {
    font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    font-style: italic;
    font-weight: 500;
    color: #E8C97E;
    line-height: 1.5;
    border-left: 3px solid #C9A96E;
    padding-left: 20px;
    margin: 0 0 22px 0;
    letter-spacing: .01em;
}
.nr-card-text {
    font-size: 15px;
    line-height: 1.85;
    color: #C5B8A8;
    font-family: 'Inter', sans-serif;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: none;
}
.nr-card-text.nr-expanded {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
    line-clamp: unset;
}
.nr-read-more {
    display: inline-block;
    margin-top: 12px;
    font-size: 13px;
    font-family: 'Inter', sans-serif;
    color: #C9A96E;
    background: none;
    border: none;
    border-bottom: 1px solid rgba(201,169,110,0.4);
    padding: 0 0 1px 0;
    cursor: pointer;
    letter-spacing: .04em;
    transition: color 0.2s ease, border-color 0.2s ease;
}
.nr-read-more:hover {
    color: #E8D5B5;
    border-color: rgba(232,213,181,0.6);
}

@keyframes nrFadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive: narrative cards */
@media (max-width: 640px) {
    .nr-card { padding: 20px 18px; }
    .nr-title { font-size: 24px; }
    .nr-card-title { font-size: 18px; }
    .nr-card-text { font-size: 14px; }
    .nr-signature { font-size: 19px; }
}

/* ═══ Narrative Loading State ═══ */
.nr-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 56px 32px;
    animation: nrLoaderOut 0.3s ease 1.2s forwards;
}
@keyframes nrLoaderOut {
    to { opacity: 0; height: 0; padding: 0; overflow: hidden; }
}
.nr-content {
    opacity: 0;
    animation: nrContentIn 0.55s ease 1.35s forwards;
}
@keyframes nrContentIn {
    to { opacity: 1; }
}
.nr-loader-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #C9A96E;
    animation: nrDotPulse 1.1s ease-in-out infinite;
}
.nr-loader-dot:nth-child(2) { animation-delay: 0.18s; }
.nr-loader-dot:nth-child(3) { animation-delay: 0.36s; }
@keyframes nrDotPulse {
    0%, 80%, 100% { opacity: 0.2; transform: scale(0.85); }
    40%           { opacity: 1;   transform: scale(1.2);  }
}
.nr-loader-label {
    font-family: 'Cormorant Garamond', serif;
    font-size: 17px;
    font-style: italic;
    color: #A89E94;
    letter-spacing: .04em;
    margin-left: 6px;
}

/* ═══ Narrative Reflection Block ═══ */
.nr-reflect {
    margin-top: 40px;
    padding: 32px 36px;
    border: 1px solid rgba(201,169,110,0.15);
    border-radius: 12px;
    background: rgba(255,255,255,0.02);
    position: relative;
    overflow: hidden;
    animation: nrFadeIn 0.6s ease 0.6s both;
}
.nr-reflect::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, transparent 0%, rgba(201,169,110,0.4) 40%, rgba(201,169,110,0.4) 60%, transparent 100%);
}
.nr-reflect-prompt {
    font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    font-style: italic;
    font-weight: 400;
    color: #E8C97E;
    margin-bottom: 20px;
    letter-spacing: .01em;
}
.nr-reflect-area {
    width: 100%;
    min-height: 96px;
    background: rgba(0,0,0,0.18);
    border: 1px solid rgba(201,169,110,0.18);
    border-radius: 8px;
    padding: 16px 18px;
    font-family: 'Inter', sans-serif;
    font-size: 14.5px;
    line-height: 1.75;
    color: #D8CFC4;
    resize: vertical;
    outline: none;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
}
.nr-reflect-area::placeholder {
    color: rgba(168,158,148,0.55);
    font-style: italic;
}
.nr-reflect-area:focus {
    border-color: rgba(201,169,110,0.4);
    box-shadow: 0 0 0 3px rgba(201,169,110,0.06);
}
.nr-reflect-footer {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 14px;
}
.nr-reflect-btn {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    letter-spacing: .06em;
    color: rgba(201,169,110,0.45);
    background: none;
    border: 1px solid rgba(201,169,110,0.2);
    border-radius: 6px;
    padding: 8px 20px;
    cursor: pointer;
    transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease;
    appearance: none;
    -webkit-appearance: none;
}
.nr-reflect-btn.nr-reflect-active {
    color: #C9A96E;
    border-color: rgba(201,169,110,0.5);
}
.nr-reflect-btn:hover {
    background: rgba(201,169,110,0.07);
    color: #E8D5B5;
    border-color: rgba(201,169,110,0.55);
}
.nr-reflect-status {
    font-size: 13px;
    font-family: 'Inter', sans-serif;
    color: #8BA87A;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.nr-reflect-status.nr-reflect-status-vis {
    opacity: 1;
}
@media (max-width: 640px) {
    .nr-reflect { padding: 24px 18px; }
    .nr-reflect-prompt { font-size: 19px; }
}
