/* Bold Hindu palette with layered surfaces and restrained three-dimensional motion. */
:root {
  --crimson: #8e0925;
  --crimson-deep: #43071d;
  --saffron: #ff8a0a;
  --metal: linear-gradient(125deg, #fff0ab 0%, #ffc238 30%, #f49a08 57%, #ffdf7a 79%, #fff1b6 100%);
}
body { background: #fffcf5; }
h1, h2, h3 { font-weight: 600; }
.section-heading h2, .copy h2 { color: var(--crimson-deep); }
.eyebrow { font-weight: 600; }
.topbar { color: #340519; background: linear-gradient(100deg, #ff9b17, #ffbf39 58%, #f5840f); border-bottom: 1px solid #ffd26c; font-weight: 500; }
.navbar { background: linear-gradient(105deg, #3e081c, #6b0924); border-bottom: 2px solid #f3ad38; box-shadow: 0 7px 26px #42001930; }
.brand img { filter: drop-shadow(0 3px 4px #2d031b5c); }
.brand-words { color: #fff0d6; }
.brand-words strong { color: #ffd168; text-shadow: 0 2px 0 #420019; }
.nav-links > a:not(.btn) { color: #fff0d6; font-weight: 500; }
.nav-links > a:not(.btn):after { background: #ffd168; }
.nav-links > a[aria-current='page'], .nav-links > a:hover { color: #ffdc78; }
.navbar a:focus-visible, .hero a:focus-visible, .footer a:focus-visible { outline-color: #ffdf8a; }
.navbar .btn-primary { background: var(--metal); color: #4c1021; border-color: #ffe29d; box-shadow: 0 4px 0 #aa5a12, 0 8px 20px #20001930; }
.navbar .btn-primary:hover { color: #4c1021; box-shadow: 0 6px 0 #aa5a12, 0 12px 22px #20001945; }
.menu-toggle { background: #ffbe37; border-color: #ffe48e; color: #570b21; box-shadow: 0 3px 0 #a85b16; }
.btn { font-weight: 600; border-radius: 15px; transition: transform .22s ease, box-shadow .22s ease, background .22s ease; }
.btn-primary { background: linear-gradient(135deg, #a52b08, #941029); border-color: #e6491b; box-shadow: 0 4px 0 #861523, 0 9px 19px #8e092524, inset 0 1px 0 #ffffff36; }
.btn-primary:hover { background: linear-gradient(135deg, #8c2004, #770a20); box-shadow: 0 6px 0 #7c1220, 0 13px 24px #8e09252e, inset 0 1px 0 #ffffff36; }
.btn-light, .btn-white { background: var(--metal); color: #4e0b20; border: 1px solid #ffdc85; box-shadow: 0 5px 0 #a85b16, 0 12px 30px #25051545, inset 0 2px 1px #fff1be; }
.btn-light:hover, .btn-white:hover { background: var(--metal); box-shadow: 0 7px 0 #a85b16, 0 16px 34px #25051550, inset 0 2px 1px #fff1be; }
.btn-outline { background: #fff6e6; border-color: #da9f5a; box-shadow: 0 3px 0 #e1b27f; }
.btn-outline:hover { background: #ffefd6; }
.btn-dark-outline { background: #ffffff0d; border: 1px solid #ffc46596; box-shadow: 0 4px 0 #36072077, inset 0 1px 0 #fff4d31f; color: #fff1d8; }
.btn:active { transform: translateY(2px); }
.hero { background: radial-gradient(ellipse at 83% 36%, #d8471645 0, transparent 54%), linear-gradient(115deg, #42071e 0%, #720b2d 47%, #400a27 100%); }
.hero:before { content: ''; position: absolute; width: 760px; height: 760px; top: -95px; right: -75px; border-radius: 50%; background: url('psychic-reading.webp') center/cover; opacity: .075; pointer-events: none; }
.hero-inner { position: relative; gap: 70px; padding-top: 74px; padding-bottom: 77px; }
.hero-copy { position: relative; z-index: 3; }
.hero h1 { color: #fffaf0; text-shadow: 0 5px 20px #22061750; }
.hero h1 span { color: #ffda73; text-shadow: 0 5px 20px #21041e70; }
.hero .lede { color: #fff5e5; }
.hero .eyebrow { color: #ffd270; }
.hero-note { color: #ffe5bd; }
.hero-visual { padding: 18px; transform-style: preserve-3d; }
.hero-art { border: 5px solid #f7ba4c; box-shadow: 0 3px 0 #fff0a5, 0 10px 0 #a25424, 0 17px 0 #5d162a, 0 30px 50px #220216aa, 0 0 90px #ffaf1b24; transform: translateZ(22px); }
.hero-visual:before { border: 2px solid #ffc054a8; box-shadow: 0 7px 0 #43102588, inset 0 0 23px #ffb32522; }
.hero-visual:after { inset: -13px; border: 1px dashed #ffd0737a; box-shadow: 0 0 0 7px #ffbb2a06; }
.sacred-seal { position: absolute; right: -5px; top: 16px; width: 90px; height: 90px; display: grid; place-items: center; padding-top: 12px; border-radius: 50%; background: var(--metal); border: 2px solid #ffe9a9; color: #830e2c; font: 600 3.4rem/1 'Noto Serif Devanagari', serif; box-shadow: 0 7px 0 #aa5c18, 0 15px 30px #28041870, inset 0 0 0 6px #fcebb366; transform: translateZ(58px); z-index: 5; }
.art-caption { bottom: -8px; background: var(--metal); color: #4d0c23; border: 1px solid #ffe9a1; box-shadow: 0 5px 0 #a25424, 0 12px 24px #25011b70; font-weight: 600; font-size: .75rem; letter-spacing: .07em; padding: 11px 20px; z-index: 4; transform: translateX(-50%) translateZ(50px); }
.hero-foot { background: #2f051ba3; border-top: 1px solid #e7a03680; border-bottom: 4px solid #f4a626; position: relative; }
.hero-foot:before { content: ''; position: absolute; inset: -4px 0 auto; height: 1px; background: #f4a62644; }
.hero-foot .location { color: #ffead2; }
.rating-mini .detail { color: #edcbae; }
.hero .stars { color: #ffd156; }
.editorial-image { border-radius: 160px 160px 25px 25px; }
.editorial-image > img { border: 3px solid #e2a243; box-shadow: 8px 10px 0 #921e3030, 16px 20px 0 #ffc52e30, 0 26px 40px #4d0b221c; border-radius: 160px 160px 25px 25px; }
.image-label { border: 1px solid #efba62; background: linear-gradient(135deg, #fffbea, #ffe2a8); box-shadow: 0 6px 0 #b75e2030, 0 12px 28px #40081d3d; transform: translateZ(35px); }
.image-label span { font-weight: 600; }
.image-label small { font-weight: 400; }
.values { border-top-color: #d9a267; }
.value .icon { background: #ffd988; border-radius: 50%; padding: 3px; width: 22px; height: 22px; margin-top: 1px; }
.cream { background: linear-gradient(135deg, #fff0c7, #ffdba0); }
.services-featured { background: radial-gradient(ellipse at 7% 12%, #ffe987 0, transparent 48%), linear-gradient(120deg, #ffd14c, #ff9e18 75%, #ff830c); border-block: 1px solid #e99213; position: relative; }
.services-featured .eyebrow, .services-featured .text-link { color: #57071b; }
.services-featured .section-heading h2 { color: #530b23; font-size: clamp(2.4rem, 4vw, 3.3rem); }
.service-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; perspective: 1200px; }
.service-card { border: 1px solid #ffe7b1; border-bottom: 2px solid #cf762b; border-radius: 21px; background: linear-gradient(160deg, #fffdf6, #fff0d8); box-shadow: 0 6px 0 #9c2c233d, 0 16px 26px #7c200e2e, inset 0 1px 0 #fff; position: relative; transform-style: preserve-3d; }
.service-card .service-image { position: relative; border-bottom: 3px solid #f8ae32; }
.service-card .service-image img { height: 205px; object-position: center; }
.service-card .service-image .relationship-image { object-position: 68% center; }
.service-number { position: absolute; top: 14px; left: 14px; border: 1px solid #ffdca1; border-radius: 11px; background: linear-gradient(130deg, #8d1331, #520820); color: #ffda76; font: 600 1rem/1 var(--display); padding: 12px; box-shadow: 0 4px 0 #25041650, 0 9px 16px #21031345; margin: 0; letter-spacing: .03em; }
.service-card-body { padding: 25px 21px 28px; }
.service-card h3 { color: #670d28; font-size: 1.35rem; line-height: 1.45; }
.service-card p { color: #492730; line-height: 1.85; }
.service-card .text-link { border-bottom-color: #c14d3136; }
.service-card:hover { --lift: -8px; box-shadow: 0 9px 0 #9c2c2340, 0 25px 40px #7c200e3b; }
.reassurance { color: #641426; padding-top: 36px; }
.review-card { border: 1px solid #ecc797; border-top: 4px solid #c72232; border-radius: 20px; background: linear-gradient(150deg, #fffdf7, #fff5df); box-shadow: 0 6px 0 #e9c5a2, 0 16px 25px #4f0b2210; }
.review-card:hover { --lift: -5px; box-shadow: 0 9px 0 #e9c5a2, 0 21px 35px #4f0b2219; }
.review-card blockquote { color: #492730; }
.review-summary strong { color: #9d1331; }
.stars { color: #934100; }
.avatar { color: #ffe0a0; background: linear-gradient(135deg, #9f1733, #6e0a2a); border: 1px solid #b75457; box-shadow: 0 3px 0 #e7b184; }
.faq-section { background: linear-gradient(125deg, #590b26, #920e32); border-block: 1px solid #b95f3b; }
.faq-section .eyebrow, .faq-section .section-heading h2 { color: #ffdc81; }
.faq-list details { border: 1px solid #eec17c; background: #fff4df; border-radius: 15px; box-shadow: 0 5px 0 #39051c55; }
.faq-list details[open] { border-color: #ffd174; background: #fffaf0; }
.faq-list summary { color: #5d1429; }
.faq-list summary:focus-visible { outline-color: #ffcf55; }
.section-breath { height: 85px; }
.cta-band { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(115deg, #680622 0, #871029 62%, #9a1528 100%); border: 2px solid #e9a63b; box-shadow: 0 7px 0 #750b2755, 0 25px 45px #5b0b241f, inset 0 1px 0 #ffe0a64d; border-radius: 27px; padding-block: 62px; }
.cta-band:before { content: ''; position: absolute; width: 340px; height: 340px; left: -180px; top: -55px; background: url('kala-logo.png') center/contain no-repeat; opacity: .12; z-index: -1; pointer-events: none; }
.cta-band h2 { color: #fff3d5; text-shadow: 0 3px 0 #780c272d; }
.cta-band p { color: #fff5e5; }
.footer { background: linear-gradient(120deg, #40071e, #670e2b); border-top: 3px solid #efa638; }
.footer h3 { color: #ffd483; }
.footer p, .footer-links, .footer-bottom { color: #ecccba; }
.footer-links .phone { color: #ffd276; }
.footer-links a:hover { color: #ffce68; }
.footer-bottom { border-top-color: #a8514770; }
.floating-whatsapp { background: linear-gradient(135deg, #15844c, #075f40); border-color: #57b078; box-shadow: 0 4px 0 #064d32, 0 13px 25px #18392235; }
.back-to-top { background: #ffd46b; border-color: #ffe6a1; color: #681029; box-shadow: 0 3px 0 #c87b21, 0 8px 16px #59281b28; }
.page-banner { background: radial-gradient(ellipse at 80% 40%, #b4441333, transparent 70%), linear-gradient(120deg, #4e0921, #8e0b2d); border-bottom: 4px solid #f1ae38; }
.page-banner:before { background: linear-gradient(90deg, #6c0a28, #5d092664), url('psychic-reading.webp') center 44%/cover; opacity: .48; }
.page-banner h1 { color: #ffe1a0; text-shadow: 0 3px 0 #651629; }
.page-banner .lede { color: #ffe9d2; }
.page-banner .eyebrow { color: #ffcf65; }
.breadcrumb { color: #f0cfb6; }
.principle { padding: 30px; border: 1px solid #efb65e; border-top: 4px solid #b51732; background: #fff7e5; border-radius: 20px; box-shadow: 0 6px 0 #d29a543a, 0 15px 24px #700d2112; }
.principle .number { color: #a21131; }
.service-jump { background: linear-gradient(90deg, #ffd766, #ffa527); border-bottom: 1px solid #dc8e27; }
.service-jump .container { gap: 14px; }
.service-jump a { color: #6d0c26; border: 1px solid #b660264d; background: #fff7d466; padding: 9px 17px; border-radius: 12px; font-weight: 500; box-shadow: 0 3px 0 #a34f1b21; }
.service-jump a:hover { background: #fff5d4; }
.service-detail { position: relative; }
.anchor-alias { position: absolute; top: 0; }
.service-detail h2 { font-size: clamp(2.1rem, 4vw, 3.4rem); color: #6e0b28; }
.service-detail-art { border-radius: 27px; }
.service-detail img { border: 3px solid #e5a746; border-radius: 27px; box-shadow: 8px 10px 0 #88192b21, 16px 20px 0 #ffc14228, 0 24px 36px #3b08221f; }
.service-detail.reverse { background: linear-gradient(125deg, #fff1c7, #ffc778); }
.check-list .icon { color: #b2192d; }
.reading-note { border-left-color: #b2192d; }
.contact-form { background: linear-gradient(140deg, #fff6dd, #ffdf9e); border: 1px solid #ecaa45; border-top: 5px solid #aa1330; box-shadow: 0 8px 0 #9a282330, 0 25px 40px #5a15231c; border-radius: 23px; }
.contact-form h2 { color: #7c1030; }
.field input, .field select, .field textarea { border-color: #965624; background: #ffffff; box-shadow: inset 0 2px 5px #75410c08; }
.info-icon { background: var(--metal); color: #7a102a; border-color: #ffe7a7; box-shadow: 0 3px 0 #d18e30; }
.info-item { border-bottom-color: #e7ba8a; }
.info-item .phone { color: #9e1230; font-weight: 500; }
.map-frame { border: 3px solid #e5a13a; box-shadow: 0 7px 0 #a6442630, 0 20px 30px #48121d15; }
.map-caption { margin-top: 23px; }
[data-depth], [data-depth]:hover { transform: perspective(1100px) translateY(var(--lift, 0px)) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transform-style: preserve-3d; transition: transform .35s ease, box-shadow .35s ease; }
.service-card:after, .review-card:after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(circle at var(--shine-x, 50%) var(--shine-y, 0%), #fff9cf22 0, transparent 60%); opacity: 0; transition: opacity .3s; }
.service-card:hover:after, .review-card:hover:after { opacity: 1; }
.review-card { position: relative; }
@media (max-width: 1100px) {
  .hero-inner { gap: 45px; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 27px; }
  .service-card .service-image img { height: 250px; }
  .service-card-body { padding: 28px; }
  .service-card h3 { font-size: 1.6rem; }
  .principles { gap: 24px; }
  .principle { padding: 24px; }
}
@media (max-width: 920px) {
  .nav-links { background: linear-gradient(125deg, #590c27, #7d1233); border-color: #cc8239; box-shadow: 0 12px 0 #29051b26, 0 20px 40px #20031760; }
  .nav-links > a[aria-current='page'] { background: #ffc7631a; color: #ffdc82; }
  .hero-inner { gap: 32px; }
  .sacred-seal { width: 75px; height: 75px; font-size: 2.7rem; padding-top: 9px; top: 4px; right: -6px; }
  .art-caption { font-size: .75rem; padding: 9px 12px; letter-spacing: .01em; }
  .editorial-image > img { box-shadow: 5px 7px 0 #921e3030, 10px 14px 0 #ffc52e30, 0 20px 35px #4d0b221c; }
}
@media (max-width: 700px) {
  .hero-inner { padding-top: 50px; padding-bottom: 61px; gap: 54px; }
  .hero:before { width: 650px; height: 650px; top: 355px; right: -200px; }
  .hero-visual { padding: 14px; }
  .hero-art { border-width: 4px; }
  .sacred-seal { width: 76px; height: 76px; right: -7px; top: 5px; }
  .art-caption { bottom: -12px; padding: 9px 13px; max-width: 114%; white-space: normal; text-align: center; width: max-content; }
  .hero-foot-inner { gap: 19px; }
  .service-grid { grid-template-columns: 1fr; gap: 30px; }
  .service-card .service-image img { height: auto; aspect-ratio: 1.55; }
  .service-card-body { padding: 26px; }
  .service-card h3 { font-size: 1.5rem; }
  .service-card .service-image .relationship-image { object-position: 67% 50%; }
  .service-number { font-size: 1.1rem; }
  .services-featured .section-heading h2 { font-size: 2.7rem; }
  .editorial-image > img { border-radius: 135px 135px 23px 23px; }
  .image-label { left: 17px; right: 17px; }
  .cta-band { padding: 40px 26px; border-radius: 23px; }
  .cta-band .actions { gap: 18px; }
  .cta-band .btn { white-space: normal; }
  .principle { padding: 27px; }
  .service-detail-art { margin-right: 12px; }
  .service-detail img { box-shadow: 5px 7px 0 #88192b21, 10px 14px 0 #ffc14228, 0 20px 28px #3b082219; }
  .service-jump a { padding: 8px 13px; font-size: .875rem; }
  .section-breath { height: 65px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-depth], [data-depth]:hover { transform: none; --lift: 0px; }
  .btn:hover, .btn:active { transform: none; }
}

/* Crisp, opaque copy and clearly outlined controls on every surface. */
.text-link { color: #900c27; font-weight: 600; }
.btn-dark-outline { background: #43071d; border-color: #ffd179; color: #fff5e5; }
.btn-dark-outline:hover { background: #640c29; }
.footer p, .footer-links, .footer-bottom { color: #ffe9d6; }
.page-banner .lede, .breadcrumb { color: #fff2de; }
.hero-foot .location, .rating-mini .detail { color: #fff0dc; }
.review-source, .form-note, .reading-note, .map-caption, .image-label small { color: #492730; font-size: .875rem; }
.field input::placeholder, .field textarea::placeholder { color: #66515a; }
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #790b28; outline-offset: 3px; }
.btn-outline { border-color: #955422; }
.faq-list summary { font-size: 1rem; }

/* The devotional emblem replaces the template mark throughout the site. */
.navbar .brand img { width: 72px; height: 72px; object-fit: contain; filter: drop-shadow(0 3px 5px #16000d80); }
.footer .brand img { width: 64px; height: 64px; object-fit: contain; }
.image-label > img { width: 46px; height: 46px; object-fit: contain; flex-shrink: 0; }
.service-card .service-image .relationship-image { object-position: center 43%; }
@media (max-width: 700px) {
  .navbar .brand img { width: 60px; height: 60px; }
  .brand { gap: 9px; }
  .image-label > img { width: 40px; height: 40px; }
  .service-card .service-image .relationship-image { object-position: center 43%; }
}

body.admin-bar .navbar{top:32px}@media(max-width:782px){body.admin-bar .navbar{top:46px}}@media(max-width:600px){body.admin-bar .navbar{top:0}}
