/* ============================================================
   ZODIAC — the astrologer and Vastu consultant
   Scoped to body.d-zodiac. 1rem = 10px.
   ============================================================ */
body.d-zodiac{
  --zd-night:#0b1030;--zd-night2:#111842;--zd-deep:#070a20;--zd-gold:#d4a64a;--zd-gold2:#f0cf86;--zd-ivory:#f6f0e4;--zd-paper:#fbf8f2;
  --zd-ink:#1a1b33;--zd-soft:#4a4b66;--zd-mute:#7c7d95;--zd-line:#e6dcc8;
  --bg-primary:var(--zd-paper);--bg-secondary:var(--zd-ivory);--bg-card:#fff;--bg-inset:#f3ecdf;
  --fg-primary:var(--zd-ink);--fg-soft:var(--zd-soft);--fg-muted:var(--zd-mute);--border-color:var(--zd-line);--border-strong:#d8c7a3;
  background:var(--zd-paper);color:var(--zd-ink);font-family:'Manrope',system-ui,sans-serif
}
body.d-zodiac :where(h1,h2,h3){font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;letter-spacing:-.005em;line-height:1.05;color:var(--zd-ink)}
body.d-zodiac :where(em){font-style:italic;color:#9a7426}
.zd-kick{font-size:1.2rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#9a7426;margin-bottom:1.4rem}

body.d-zodiac .bx-nav{background:#0b1030;border-bottom:1px solid rgba(212,166,74,.18)}
body.d-zodiac .bx-brand-mark{border-radius:50%;border:1.5px solid var(--zd-gold);overflow:hidden}
body.d-zodiac .bx-brand-mark img{object-fit:cover}
body.d-zodiac .bx-brand-txt b{font-family:'Cormorant Garamond',serif;font-size:2.2rem;color:#fff}
body.d-zodiac .bx-brand-txt small{color:var(--zd-gold2)}
body.d-zodiac .bx-nav-links a{font-size:1.4rem;color:rgba(255,255,255,.75)}
body.d-zodiac .bx-nav-links a:hover,body.d-zodiac .bx-nav-links a.active{color:#fff}
body.d-zodiac .bx-nav-links a::after{background:var(--zd-gold)}
body.d-zodiac .bx-nav-cta{background:var(--zd-gold);color:var(--zd-deep);border-radius:999px}
body.d-zodiac .burger span{background:#fff}

/* hero — the portrait inside the turning wheel */
.zd-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 80% at 75% 45%,#1d2563 0,var(--zd-night) 55%,var(--zd-deep) 100%);color:#fff;padding-top:var(--nav-h)}
.zd-stars{position:absolute;inset:0;pointer-events:none;opacity:.7;background-image:radial-gradient(1px 1px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 28% 72%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 44% 34%,#f0cf86 50%,transparent 51%),radial-gradient(1px 1px at 62% 12%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 82% 82%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 91% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 6% 88%,#f0cf86 50%,transparent 51%),radial-gradient(1px 1px at 52% 92%,#fff 50%,transparent 51%);background-size:420px 420px}
.zd-hero-in{position:relative;max-width:var(--max-w);margin:0 auto;padding:7rem 3rem 9rem;display:grid;grid-template-columns:1.1fr .9fr;gap:5rem;align-items:center}
.zd-hero-in>*{min-width:0}
.zd-hero .zd-kick{color:var(--zd-gold2)}
.zd-hero h1{font-size:clamp(4.6rem,6.4vw,8rem);color:#fff;font-weight:500}
.zd-hero h1 em{color:var(--zd-gold2)}
.zd-hero h1 span{display:block;font-size:.5em;font-style:italic;color:rgba(255,255,255,.7);margin-top:1.4rem}
.zd-lede{font-size:1.75rem;line-height:1.7;color:rgba(255,255,255,.78);margin-top:2.6rem;max-width:54ch}
.zd-actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:3.2rem}
.zd-btn{display:inline-flex;align-items:center;gap:.9rem;padding:1.5rem 2.6rem;border-radius:999px;font-size:1.5rem;font-weight:700;letter-spacing:.02em;transition:transform .25s var(--ease),background .25s,color .25s,box-shadow .25s}
.zd-btn-gold{background:linear-gradient(135deg,var(--zd-gold2),var(--zd-gold));color:var(--zd-deep);box-shadow:0 10px 30px rgba(212,166,74,.3)}
.zd-btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(212,166,74,.45)}
.zd-btn-line{border:1px solid rgba(240,207,134,.5);color:#fff}
.zd-btn-line:hover{background:rgba(255,255,255,.08)}
.zd-where{margin-top:2.4rem;font-size:1.35rem;color:rgba(255,255,255,.6);letter-spacing:.04em}
.zd-where i{color:var(--zd-gold)}

.zd-orbit{position:relative;aspect-ratio:1;width:100%;max-width:520px;justify-self:center}
.zd-wheel{position:absolute;inset:2%;border-radius:50%;overflow:hidden;opacity:.5;animation:zd-turn 160s linear infinite;will-change:transform}
.zd-wheel img{width:100%;height:100%;object-fit:cover}
.zd-ring-a,.zd-ring-b{position:absolute;border-radius:50%;border:1px solid rgba(240,207,134,.55)}
.zd-ring-a{inset:17%}
.zd-ring-b{inset:13%;border-style:dashed;border-color:rgba(240,207,134,.3)}
.zd-face{position:absolute;inset:20%;border-radius:50%;overflow:hidden;border:3px solid var(--zd-gold);box-shadow:0 0 0 10px rgba(11,16,48,.6),0 30px 80px rgba(0,0,0,.5)}
.zd-face img{width:100%;height:100%;object-fit:cover}
@keyframes zd-turn{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.zd-wheel{animation:none}}

/* figures band */
.zd-figs{position:relative;z-index:2;max-width:var(--max-w);margin:-5rem auto 0;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--zd-line);border-radius:6px;box-shadow:0 30px 60px rgba(11,16,48,.12)}
.zd-figs>div{padding:3rem 2.4rem;text-align:center}
.zd-figs>div+div{border-left:1px solid var(--zd-line)}
.zd-figs b{display:block;font-family:'Cormorant Garamond',serif;font-size:5.4rem;font-weight:600;line-height:1;color:#9a7426}
.zd-figs span{display:block;font-weight:700;font-size:1.45rem;margin-top:.8rem}
.zd-figs small{display:block;font-size:1.3rem;color:var(--zd-mute);margin-top:.4rem;line-height:1.45}

/* sections */
.zd-sec{padding:9rem 3rem 0}
.zd-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.zd-head{text-align:center;margin-bottom:4.4rem}
.zd-head>p:last-child:not(.zd-kick){font-size:1.6rem;color:var(--zd-soft);margin-top:1.4rem}
.zd-sec h2{font-size:clamp(3.4rem,4.6vw,5.4rem);font-weight:500}
.zd-txt{font-size:1.65rem;line-height:1.75;color:var(--zd-soft);margin-top:1.8rem}

.zd-vals{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--zd-line);border-bottom:1px solid var(--zd-line)}
.zd-val{padding:3.6rem 3rem}
.zd-val+.zd-val{border-left:1px solid var(--zd-line)}
.zd-val span{font-family:'Cormorant Garamond',serif;font-size:4.4rem;color:var(--zd-gold);font-style:italic}
.zd-val h3{font-size:2.8rem;margin:1rem 0 1.2rem}
.zd-val p{font-size:1.55rem;line-height:1.7;color:var(--zd-soft)}

.zd-svc{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}
.zd-card{position:relative;display:flex;flex-direction:column;gap:1rem;padding:3.2rem 2.8rem 2.8rem;border-radius:4px;background:#fff;border:1px solid var(--zd-line);color:inherit;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.zd-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--zd-gold2),var(--zd-gold));transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.zd-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(11,16,48,.1);border-color:#d8c7a3}
.zd-card:hover::before{transform:scaleX(1)}
.zd-card-n{position:absolute;right:2.2rem;top:1.6rem;font-family:'Cormorant Garamond',serif;font-size:3.6rem;color:#efe5d0}
.zd-card>i{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--zd-night);color:var(--zd-gold2);font-size:2rem}
.zd-card h3{font-size:2.6rem}
.zd-card p{font-size:1.5rem;line-height:1.65;color:var(--zd-soft);flex:1}
.zd-card-go{font-size:1.35rem;font-weight:700;color:#9a7426;display:inline-flex;gap:.8rem;align-items:center}
.zd-card-go i{transition:transform .25s var(--ease)}
.zd-card:hover .zd-card-go i{transform:translateX(4px)}

.zd-vastu{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;padding:6rem;border-radius:6px;background:var(--zd-night);background-image:radial-gradient(ellipse 60% 70% at 25% 50%,#1d2563 0,transparent 70%);color:#fff}
.zd-vastu>*{min-width:0}
.zd-vastu h2{color:#fff}
.zd-vastu h2 em{color:var(--zd-gold2)}
.zd-vastu .zd-kick{color:var(--zd-gold2)}
.zd-vastu .zd-txt{color:rgba(255,255,255,.75)}
.zd-vastu .zd-btn{margin-top:3rem}
.zd-compass{max-width:440px;justify-self:center;width:100%}
.zd-compass-svg{width:100%;height:auto;display:block;animation:zd-turn 240s linear infinite;will-change:transform}
.zd-ring{fill:none;stroke:rgba(240,207,134,.4);stroke-width:1}
.zd-w{fill:rgba(255,255,255,.04);stroke:rgba(240,207,134,.35);stroke-width:1}
.zd-w-alt{fill:rgba(255,255,255,.08)}
.zd-w-card{fill:rgba(212,166,74,.22)}
.zd-z{fill:rgba(255,255,255,.75);font:600 11px 'Manrope',sans-serif;letter-spacing:.06em;pointer-events:none}
.zd-z-card{fill:var(--zd-gold2);font-size:16px;font-family:'Cormorant Garamond',serif}
.zd-hub{fill:var(--zd-deep);stroke:var(--zd-gold);stroke-width:1.5}
.zd-needle{fill:var(--zd-gold)}
.zd-pin{fill:var(--zd-deep);stroke:var(--zd-gold2);stroke-width:2}
@media (prefers-reduced-motion:reduce){.zd-compass-svg{animation:none}}

.zd-nots{display:grid;grid-template-columns:.7fr 1.3fr;gap:5rem;align-items:start}
.zd-nots>*{min-width:0}
.zd-nots ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.zd-nots li{display:flex;gap:1.4rem;padding:2.4rem;border-radius:4px;background:var(--zd-ivory)}
.zd-nots li>i{flex:none;width:34px;height:34px;border-radius:50%;background:var(--zd-night);color:var(--zd-gold2);display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.zd-nots b{display:block;font-family:'Cormorant Garamond',serif;font-size:2.2rem;margin-bottom:.4rem}
.zd-nots span{font-size:1.45rem;line-height:1.6;color:var(--zd-soft)}

.zd-about{display:grid;grid-template-columns:.8fr 1.2fr;gap:6rem;align-items:center}
.zd-about>*{min-width:0}
.zd-about-img{position:relative;margin:0;max-width:400px;justify-self:center;text-align:center}
.zd-about-img img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:3px solid var(--zd-gold);box-shadow:0 0 0 12px var(--zd-ivory),0 0 0 13px var(--zd-line),0 30px 60px rgba(11,16,48,.15)}
.zd-about-img figcaption{margin-top:3rem;font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:600}
.zd-about-img small{display:block;font-family:'Manrope',sans-serif;font-size:1.3rem;color:var(--zd-mute);font-weight:600;letter-spacing:.06em;margin-top:.4rem}
.zd-prose{margin-top:2.4rem}
.zd-prose p{font-size:1.7rem;line-height:1.8;color:var(--zd-soft)}
.zd-prose p+p{margin-top:1.6rem}

.zd-rev{columns:3 300px;column-gap:2rem}
.zd-rev figure{break-inside:avoid;margin:0 0 2rem;padding:3rem 2.8rem;background:#fff;border:1px solid var(--zd-line);border-radius:4px}
.zd-rev figure>i{color:var(--zd-gold);font-size:2.2rem}
.zd-rev blockquote{font-family:'Cormorant Garamond',serif;font-size:2.1rem;line-height:1.45;margin:1.4rem 0 2rem;color:var(--zd-ink)}
.zd-rev b{display:block;font-size:1.5rem}
.zd-rev small{display:block;font-size:1.3rem;color:var(--zd-mute);margin-top:.3rem}
.zd-note{max-width:80ch!important;text-align:center;font-size:1.3rem;line-height:1.6;color:var(--zd-mute);margin-top:2.4rem}

.zd-contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:5rem;border-radius:6px;background:var(--zd-ivory);border:1px solid var(--zd-line)}
.zd-contact>*{min-width:0}
.zd-contact .contact-info{margin-top:2.8rem}
.zd-hours{margin-top:2.4rem}
body.d-zodiac .ci{border-radius:4px;background:#fff}
body.d-zodiac .ci-ico{background:var(--zd-night);color:var(--zd-gold2)}
body.d-zodiac .ci-ico.wa{background:#25d366;color:#fff}
body.d-zodiac .contact-form{border-radius:4px}
body.d-zodiac .contact-form h3{font-size:2.8rem;margin-bottom:1.6rem}
body.d-zodiac .cf-field input,body.d-zodiac .cf-field textarea{border-radius:4px}
body.d-zodiac .btn-onbiz{background:var(--zd-night);border-radius:999px}
body.d-zodiac .hours-card{border-radius:4px}
.zd-map{margin-top:3rem}
.zd-share{max-width:var(--max-w);margin:4rem auto 0;padding:0 3rem}
body.d-zodiac .bx-foot{background:var(--zd-deep);color:rgba(255,255,255,.75);margin-top:8rem}
body.d-zodiac .bx-foot p,body.d-zodiac .bx-foot li,body.d-zodiac .bx-foot a{color:rgba(255,255,255,.7)}
body.d-zodiac .bx-foot h2{color:var(--zd-gold2)}
body.d-zodiac .bx-foot .bx-brand-txt b{color:#fff}
body.d-zodiac .bx-foot .btn-onbiz{background:var(--zd-gold);color:var(--zd-deep)}
body.d-zodiac .bx-foot .btn-outline{border-color:rgba(255,255,255,.3);color:#fff}
body.d-zodiac .bx-foot-bottom{border-top-color:rgba(255,255,255,.1)}

@media (max-width:980px){
  .zd-hero-in{grid-template-columns:1fr;padding:5rem 2rem 9rem;gap:3rem}
  .zd-orbit{max-width:380px;order:-1}
  .zd-figs{grid-template-columns:1fr 1fr;margin:-5rem 2rem 0}
  .zd-figs>div:nth-child(3){border-left:0}
  .zd-figs>div:nth-child(n+3){border-top:1px solid var(--zd-line)}
  .zd-vals{grid-template-columns:1fr}
  .zd-val+.zd-val{border-left:0;border-top:1px solid var(--zd-line)}
  .zd-vastu,.zd-nots,.zd-about,.zd-contact{grid-template-columns:1fr;gap:3.6rem}
  .zd-vastu{padding:4rem 2.4rem}
  .zd-about-img{max-width:300px}
}
@media (max-width:640px){
  .zd-hero h1{font-size:4.6rem}
  .zd-lede{font-size:1.6rem}
  .zd-sec{padding:6.4rem 1.6rem 0}
  .zd-figs b{font-size:4.2rem}
  .zd-figs>div{padding:2.2rem 1.4rem}
  .zd-nots ul{grid-template-columns:1fr}
  .zd-contact{padding:2.8rem 1.8rem}
  .zd-share{padding:0 1.6rem}
}
