/* ===================================================================
   Rohit Astrology — Component-based theme
   Palette: saffron / gold / deep brown (matches reference site)
   =================================================================== */

:root{
    --gold:#e6a23c;
    --gold-2:#d98a2b;
    --saffron:#f0b24a;
    --brown:#6b3a12;
    --brown-2:#8a4b12;
    --bg:#fff9f0;
    --bg-2:#fdf3e3;
    --cream:#fbe6cd;
    --ink:#3a2a18;
    --muted:#7c6a55;
    --line:#ecd9bd;
    --white:#ffffff;
    --shadow:0 14px 40px rgba(120,70,20,.12);
    --shadow-sm:0 6px 18px rgba(120,70,20,.10);
    --radius:18px;
    --radius-sm:12px;
    --maxw:1200px;
    --t:.35s cubic-bezier(.22,.61,.36,1);
    --serif:'Cormorant Garamond',Georgia,serif;
    --sans:'Poppins',system-ui,Segoe UI,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    font-family:var(--sans);
    color:var(--ink);
    background:var(--bg);
    line-height:1.6;
    overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.ic{vertical-align:middle}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}
.section{padding:80px 0}
.text-accent{color:var(--gold-2)}
.hide-sm{display:inline}

/* ---------- Typography ---------- */
h1,h2,h3,h4{font-family:var(--serif);line-height:1.15;color:var(--brown);font-weight:700}
.section__title{font-size:clamp(1.9rem,4vw,3rem);text-align:center;margin-bottom:1.4rem}
.section__sub{text-align:center;color:var(--muted);max-width:640px;margin:0 auto 2.6rem;font-size:1.02rem}
.eyebrow{display:inline-block;font-family:var(--sans);font-weight:600;letter-spacing:.18em;
    text-transform:uppercase;font-size:.74rem;color:var(--gold-2);margin-bottom:.7rem}
.eyebrow--light{color:var(--saffron)}
.center{text-align:center}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;
    padding:.82rem 1.5rem;border-radius:999px;border:0;cursor:pointer;transition:var(--t);
    font-family:var(--sans)}
.btn--primary{background:linear-gradient(135deg,var(--saffron),var(--brown-2));color:#fff;
    box-shadow:0 10px 24px rgba(180,107,28,.35)}
.btn--primary:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(180,107,28,.45)}
.btn--ghost{background:transparent;border:2px solid var(--gold);color:var(--brown-2)}
.btn--ghost:hover{background:var(--gold);color:#fff}
.btn--light{background:#fff;color:var(--brown-2)}
.btn--light:hover{transform:translateY(-3px)}
.btn--ghost-light{background:transparent;border:2px solid rgba(255,255,255,.7);color:#fff}
.btn--ghost-light:hover{background:rgba(255,255,255,.15)}
.btn--block{width:100%;justify-content:center}

/* ---------- Flash ---------- */
.flash{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:200;
    padding:.85rem 2.6rem .85rem 1.2rem;border-radius:12px;box-shadow:var(--shadow);
    font-size:.92rem;max-width:90%;animation:slideDown .5s both}
.flash--success{background:#e8f8ec;color:#1f7a3d;border:1px solid #b6e6c2}
.flash--error{background:#fdecec;color:#b22;border:1px solid #f3bcbc}
.flash__close{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);
    background:none;border:0;font-size:1.3rem;cursor:pointer;color:inherit;line-height:1}
@keyframes slideDown{from{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%,0)}}

/* ---------- Header (centred-logo navbar) ---------- */
.header{position:sticky;top:0;z-index:150;background:#aa6227;
    transition:transform .35s ease}
.header--hidden{transform:translateY(-100%)}
/* Semi-transparent orange navbar that lets the page-banner image show through */
.nav-overlay .header{background:rgba(170,98,39,.45);box-shadow:none}
.nav-overlay .page-banner{margin-top:-72px}
/* .navbar is the flex row; .nav uses display:contents so its groups flank the logo */
.navbar{display:flex;align-items:center;gap:1.5rem;min-height:72px}
.nav{display:contents}
.nav-section{display:flex;align-items:center;gap:2.6rem}
.left-links{order:1;flex:1;justify-content:flex-end}
.nav-logo{order:2;flex:0 0 auto;margin:0 2.6rem}
.right-links{order:3;flex:1;justify-content:flex-start}

/* Centre logo */
.nav-logo{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none}
.logo-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;
    background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35)}
.om-symbol{font-family:Georgia,'Cormorant Garamond',serif;font-size:1.9rem;line-height:1;color:#fff7e6}
.logo-text{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font-family:var(--serif);font-size:1.4rem;font-weight:700;letter-spacing:.4px;white-space:nowrap}
.brand-subtext{font-size:.6rem;letter-spacing:1.6px;text-transform:uppercase;opacity:.9;margin-top:2px;white-space:nowrap}

/* Links */
.nav-section a{display:inline-flex;align-items:center;color:#fff;font-size:.95rem;font-weight:500;
    text-decoration:none;white-space:nowrap;padding:.45rem 0;position:relative;transition:opacity .2s ease}
.nav-section a:hover{opacity:.85}
.nav-section a.active{font-weight:700}
.nav-section a.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
    background:#fff7e6;border-radius:2px}

/* Services dropdown */
.has-dropdown{position:relative;display:inline-flex;align-items:center}
/* invisible bridge so the menu stays open while moving the cursor onto it */
.has-dropdown::after{content:"";position:absolute;top:100%;left:0;right:0;height:18px}
.nav__caret{font-size:.6rem;margin-left:.3rem;transition:transform .2s ease}
.has-dropdown:hover .nav__caret{transform:rotate(180deg)}
.has-dropdown>.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);
    min-width:230px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);
    padding:.5rem;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease;z-index:180}
.has-dropdown:hover>.dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(6px)}
.dropdown a{display:block;width:100%;color:var(--brown)!important;font-size:.92rem;font-weight:500;
    padding:.55rem .85rem;border-radius:8px;white-space:nowrap}
.dropdown a:hover{background:var(--cream);opacity:1}

/* CTA pill (kept as existing "Book a Session" content) */
.nav__cta{margin-left:.4rem;border:1px solid rgba(255,255,255,.7);border-radius:6px;
    padding:.5rem 1.05rem;color:#fff;font-size:.9rem;font-weight:600;white-space:nowrap;
    background:transparent;transition:background-color .2s ease}
.nav__cta:hover{background:rgba(255,255,255,.14);opacity:1}

.nav__close,.nav__toggle{display:none}
.nav__toggle{flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav__toggle span{width:26px;height:3px;background:#fff;border-radius:3px;transition:var(--t)}

/* ---------- Hero (unified brown, seamless with navbar) ---------- */
.hero{position:relative;overflow:hidden;background:#aa6227;color:#fff;
    padding-bottom:8px}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(900px 480px at 82% 28%,rgba(255,255,255,.12),transparent 60%),
               radial-gradient(700px 400px at 8% 100%,rgba(0,0,0,.12),transparent 60%)}
.hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;
    align-items:center;padding:56px 0 64px}
.hero__badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.28);padding:.45rem .95rem;border-radius:999px;
    font-size:.82rem;font-weight:500;color:#fff;backdrop-filter:blur(4px)}
.hero__badge .ic{color:#ffd98a}
.hero h1{font-size:clamp(2.4rem,5.2vw,2.8rem);margin:1.1rem 0;color:#fff;font-weight:600}
.hero h1 span{color:#ffd98a}
.hero p{color:rgba(255,255,255,.85);font-size:1.08rem;max-width:520px;margin-bottom:1.9rem}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.hero .btn--primary{background:linear-gradient(to right,#f3b05a,#f0932b);color:#2c1604;
    box-shadow:0 8px 22px rgba(0,0,0,.18)}
.hero .btn--ghost{border-color:rgba(255,255,255,.5);color:#fff}
.hero .btn--ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.hero__trust{display:flex;gap:2rem;flex-wrap:wrap}
.hero__trust div{display:flex;flex-direction:column}
.hero__trust b{font-family:var(--serif);font-size:1.8rem;color:#fff}
.hero__trust small{color:rgba(255,255,255,.8)}

/* Right artwork */
.hero__art{position:relative;height:480px;display:flex;align-items:center;justify-content:center}
/* Rotating zodiac wheel (image) */
.hero__wheel{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;
    width:min(460px,100%);height:auto;aspect-ratio:1;object-fit:contain;
    animation:spin 50s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero__photo{position:relative;z-index:1;width:300px;height:300px;background:transparent}
.hero__photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;
    opacity:0;transition:opacity .8s ease}
.hero__photo-img.active{opacity:1}
.hero__float{position:absolute;background:#fff;border-radius:8px;padding:.6rem .85rem;display:flex;
    align-items:center;gap:.6rem;box-shadow:0 10px 26px rgba(0,0,0,.22);z-index:2;
    animation:floaty 4s ease-in-out infinite}
.hero__float .ic{color:#aa6227;flex:none}
.hero__float-text{display:flex;flex-direction:column;line-height:1.15}
.hero__float-text strong{font-size:.92rem;color:#2c1604;font-weight:700}
.hero__float-text small{font-size:.72rem;color:#777}
.hero__float--1{top:8%;left:0}
.hero__float--2{bottom:10%;left:-2%;animation-delay:1.2s}
.hero__float--3{top:46%;right:-2%;animation-delay:.6s}
.hero__float--4{bottom:8%;right:4%;animation-delay:1.8s}
@keyframes floaty{50%{transform:translateY(-12px)}}

/* Hero copy crossfade on slide change */
#heroTitle,#heroSlogan{transition:opacity .4s ease}
.hero__copy.is-fading #heroTitle,.hero__copy.is-fading #heroSlogan{opacity:0}

/* Carousel dots */
.hero__dots{position:relative;z-index:1;display:flex;gap:.5rem;justify-content:center;padding-bottom:26px}
.hero__dots .dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45);
    cursor:pointer;transition:var(--t)}
.hero__dots .dot.active{background:#fff;width:22px;border-radius:5px}

/* ---------- Cards / grids ---------- */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow-sm);padding:1.6rem}
.grid{display:grid;gap:1.4rem}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}

/* service cards */
.svc{text-align:center;transition:var(--t);position:relative;overflow:hidden}
a.svc{display:block;color:inherit;text-decoration:none}
.svc::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,var(--cream),transparent);
    opacity:0;transition:var(--t)}
.svc:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:var(--shadow)}
.svc:hover::before{opacity:.6}
.svc>*{position:relative;z-index:1}
.svc__icon{width:64px;height:64px;margin:0 auto 1rem;display:grid;place-items:center;border-radius:18px;
    background:linear-gradient(135deg,var(--saffron),var(--brown-2));color:#fff;
    box-shadow:0 10px 22px rgba(180,107,28,.3);transition:var(--t)}
.svc:hover .svc__icon{transform:rotate(-8deg) scale(1.08)}
.svc h3{font-size:1.25rem;margin-bottom:.4rem}
.svc p{color:var(--muted);font-size:.92rem}
.svc__link{display:inline-flex;align-items:center;gap:.3rem;margin-top:.8rem;color:var(--gold-2);
    font-weight:600;font-size:.88rem}

/* ---------- Feature / split sections ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.split--rev .split__media{order:2}
.split__media img{border-radius:var(--radius);box-shadow:var(--shadow)}
.split__body h2{font-size:clamp(1.7rem,3.5vw,2.5rem);margin-bottom:1rem}
.split__body p{color:var(--muted);margin-bottom:1.2rem}
.checklist li{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.7rem;color:var(--ink)}
.checklist .ic{color:var(--gold-2);flex:none;margin-top:.15rem}

/* ---------- Free calculators / forms ---------- */
.calc{background:var(--bg-2)}
.form{display:flex;flex-direction:column;gap:.85rem}
.form__title{font-size:1.5rem;margin-bottom:.3rem}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.form input,.form select,.form textarea{width:100%;padding:.8rem 1rem;border:1px solid var(--line);
    border-radius:var(--radius-sm);font-family:var(--sans);font-size:.92rem;background:#fff;
    color:var(--ink);transition:var(--t)}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(230,162,60,.18)}
.form textarea{resize:vertical}

.query__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.query__perks{margin-top:1.4rem}
.query__perks li{display:flex;gap:.6rem;align-items:center;margin-bottom:.6rem;font-weight:500}
.query__perks .ic{color:var(--gold-2)}

/* ---------- Stats ---------- */
.stats{background:linear-gradient(135deg,var(--brown),var(--brown-2));color:#fff}
.stats .section__title{color:#fff}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;text-align:center}
.stat b{font-family:var(--serif);font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.1;color:var(--saffron);display:block}
.stat span{color:#f3e2c6}

/* ---------- Courses ---------- */
.course{position:relative;border-radius:var(--radius);overflow:hidden;color:#fff;min-height:260px;
    display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;box-shadow:var(--shadow-sm)}
.course img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:var(--t)}
.course::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(60,30,5,.88))}
.course:hover img{transform:scale(1.08)}
.course>*{position:relative;z-index:1}
.course span{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--saffron)}
.course h3{color:#fff;font-size:1.3rem;margin:.3rem 0 .6rem}

/* ---------- Testimonials ---------- */
.tslide{overflow:hidden}
.ttrack{display:flex;gap:1.4rem;transition:transform .6s ease}
.tcard{flex:0 0 calc(33.333% - .94rem);background:#fff;border:1px solid var(--line);
    border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-sm)}
.tcard__stars{color:var(--gold);margin-bottom:.6rem}
.tcard p{color:var(--ink);font-style:italic;margin-bottom:1rem}
.tcard__who{display:flex;align-items:center;gap:.7rem}
.tcard__who img{width:46px;height:46px;border-radius:50%}
.tcard__who b{display:block;color:var(--brown)}
.tcard__who small{color:var(--muted)}
.tdots{display:flex;gap:.5rem;justify-content:center;margin-top:1.6rem}
.tdot{width:10px;height:10px;border-radius:50%;background:var(--line);border:0;cursor:pointer;transition:var(--t)}
.tdot.active{background:var(--gold-2);width:26px;border-radius:6px}

/* ---------- Team ---------- */
.member{text-align:center;transition:var(--t)}
.member:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:var(--gold)}
.member__photo{width:130px;height:130px;border-radius:50%;margin:0 auto 1rem;
    border:4px solid var(--cream);box-shadow:var(--shadow-sm)}
.member h3{font-size:1.3rem}
.member__role{color:var(--gold-2);font-weight:600;font-size:.9rem}
.member__exp{color:var(--muted);font-size:.85rem;margin:.3rem 0 .7rem}
.tags{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap}
.tag{font-size:.74rem;background:var(--cream);color:var(--brown-2);padding:.25rem .7rem;border-radius:999px;font-weight:600}

/* ---------- Blog ---------- */
.post{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
    box-shadow:var(--shadow-sm);transition:var(--t)}
.post:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.post__img{height:180px;overflow:hidden}
.post__img img{width:100%;height:100%;object-fit:cover;transition:var(--t)}
.post:hover .post__img img{transform:scale(1.08)}
.post__body{padding:1.3rem}
.post__cat{font-size:.74rem;color:var(--gold-2);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.post h3{font-size:1.2rem;margin:.4rem 0}
.post__meta{color:var(--muted);font-size:.82rem}

/* ---------- CTA strip ---------- */
.cta-strip__inner{background:linear-gradient(135deg,var(--brown),var(--brown-2));color:#fff;
    border-radius:24px;padding:3rem;display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center;
    position:relative;overflow:hidden}
.cta-strip__inner::before{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;
    border:30px solid rgba(240,178,74,.18);border-radius:50%}
.cta-strip h2{color:#fff;font-size:clamp(1.7rem,3.5vw,2.6rem)}
.cta-strip p{color:#f3e2c6;margin-top:.6rem}
.cta-strip__actions{display:flex;flex-direction:column;gap:.8rem;position:relative;z-index:1}

/* ---------- App download ---------- */
.appdl__inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.appdl .badges{display:flex;gap:1rem;margin-top:1.4rem;flex-wrap:wrap}
.appdl .badges img{height:52px;border-radius:10px}

/* ---------- Page banner ---------- */
.page-banner{position:relative;background:linear-gradient(135deg,var(--brown),var(--brown-2));
    color:#fff;text-align:center;padding:140px 0 120px;overflow:hidden}
.page-banner__stars{position:absolute;inset:0;
    background-image:radial-gradient(2px 2px at 20% 30%,#fff,transparent),
        radial-gradient(2px 2px at 70% 60%,#ffe6b3,transparent),
        radial-gradient(1px 1px at 50% 20%,#fff,transparent),
        radial-gradient(2px 2px at 85% 35%,#fff,transparent),
        radial-gradient(1px 1px at 35% 75%,#ffe6b3,transparent);
    opacity:.5;animation:twinkle 5s ease-in-out infinite alternate}
@keyframes twinkle{to{opacity:.85}}
/* Pre-designed image banner. The box takes the artwork's own aspect ratio (--banner-ar,
   set inline per page), capped to the 260px band on desktop so wide screens keep the
   original look. Below 760px the cap is lifted, so the banner shrinks to its natural
   height and phones see the whole image instead of a centre crop.
   width:100% keeps the ratio driving the height only — once max-height makes the
   height definite, an auto width would be derived from it instead and the banner
   would stop short of the viewport edge. */
.page-banner--image{background-repeat:no-repeat;padding:0;width:100%;
    aspect-ratio:var(--banner-ar);max-height:260px}
@media(max-width:760px){
    .page-banner--image{max-height:none}
}
.page-banner h1{color:#fff;font-size:clamp(2rem,5vw,3.4rem);text-shadow:0 2px 12px rgba(0,0,0,.45)}
.crumb{display:flex;gap:.5rem;justify-content:center;margin-top:.6rem;color:#f3e2c6;font-size:.92rem;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.crumb a:hover{color:var(--saffron)}

/* ---------- Floating widgets ---------- */
.floats{position:fixed;right:18px;bottom:18px;z-index:160;display:flex;flex-direction:column;gap:.7rem}
.float{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;border:0;
    cursor:pointer;box-shadow:var(--shadow);position:relative;transition:var(--t)}
.float:hover{transform:scale(1.1)}
.float--wa{background:#25d366}
.float--call{background:linear-gradient(135deg,var(--saffron),var(--brown-2));animation:pulse 2s infinite}
.float--top{background:var(--brown);opacity:0;pointer-events:none;transform:translateY(20px)}
.float--top.show{opacity:1;pointer-events:auto;transform:none}
.float--top .ic{transform:rotate(-90deg)}
.float__tip{position:absolute;right:64px;top:50%;transform:translateY(-50%);background:var(--ink);
    color:#fff;font-size:.78rem;padding:.35rem .7rem;border-radius:8px;white-space:nowrap;
    opacity:0;pointer-events:none;transition:var(--t)}
.float:hover .float__tip{opacity:1}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(240,178,74,.6)}70%{box-shadow:0 0 0 16px rgba(240,178,74,0)}100%{box-shadow:0 0 0 0 rgba(240,178,74,0)}}

/* ---------- Footer ---------- */
.footer{background:linear-gradient(160deg,#2b1808,#3a230f);color:#e9d9c2;padding-top:64px;margin-top:20px}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:2.2rem;padding-bottom:40px}
.footer__col h4{color:#fff;font-size:1.2rem;margin-bottom:1rem}
.footer__col ul li{margin-bottom:.55rem}
.footer__col a:hover{color:var(--saffron)}
.footer__about p{color:#cbb89c;font-size:.92rem;margin:1rem 0}
.footer__social{display:flex;gap:.75rem}
.footer__social a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
    background:rgba(255,255,255,.08);transition:var(--t)}
.footer__social a:hover{background:var(--saffron);color:var(--brown);transform:translateY(-3px)}
.feed{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.feed__item img{border-radius:8px;transition:var(--t)}
.feed__item:hover img{transform:scale(1.08);opacity:.85}
.footer__addr{margin-top:1rem;font-size:.85rem;color:#cbb89c}
/* Footer contact column */
.contact-list{margin-bottom:1.1rem}
.contact-list li{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.7rem;
    color:#cbb89c;font-size:.9rem;line-height:1.9}
.contact-list a{color:#e9d9c2;transition:var(--t)}
.contact-list a:hover{color:var(--saffron)}
.contact-ic{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;
    background:rgba(255,255,255,.08);color:var(--saffron)}
.footer__bar{border-top:1px solid rgba(255,255,255,.1);padding:18px 0}
.footer__bar-inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.84rem;color:#cbb89c}
.footer__legal{color:#cbb89c;text-decoration:none;transition:color .2s}
.footer__legal:hover{color:var(--accent,#d98a2b)}
.legal-content h2{font-family:var(--serif);color:var(--brown);margin:1.8rem 0 .6rem;font-size:1.4rem}
.legal-content p,.legal-content li{color:var(--muted);line-height:1.75;margin-bottom:.7rem}
.legal-content ul{padding-left:1.2rem;margin-bottom:1rem}
.legal-content li{margin-bottom:.4rem}
.legal-content a{color:var(--accent,#d98a2b)}
.legal-content{overflow-wrap:break-word;word-wrap:break-word}

/* ---------- Legal pages only (privacy / terms / refund / disclaimer) ---------- */
/* Hide the twinkling banner stars on these four pages only. */
.legal-page .page-banner__stars{display:none}
.legal-page .page-banner{padding:120px 0 90px}
.legal-page .legal-content h2:first-child{margin-top:0}
@media(max-width:760px){
    .legal-page .page-banner{padding:104px 0 60px}
    .legal-page .section{padding:48px 0}
    .legal-page .legal-content h2{font-size:1.22rem;margin:1.4rem 0 .5rem}
    .legal-page .legal-content p,.legal-page .legal-content li{font-size:.96rem;line-height:1.7}
}
@media(max-width:480px){
    .legal-page .page-banner{padding:96px 0 48px}
    .legal-page .section{padding:36px 0}
    .legal-page .legal-content h2{font-size:1.12rem}
    .legal-page .legal-content ul{padding-left:1rem}
}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.reveal-stagger>*{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.reveal-stagger.in>*{opacity:1;transform:none}
.reveal-stagger.in>*:nth-child(2){transition-delay:.08s}
.reveal-stagger.in>*:nth-child(3){transition-delay:.16s}
.reveal-stagger.in>*:nth-child(4){transition-delay:.24s}
.reveal-stagger.in>*:nth-child(5){transition-delay:.32s}
.reveal-stagger.in>*:nth-child(6){transition-delay:.40s}
.reveal-stagger.in>*:nth-child(7){transition-delay:.48s}
.reveal-stagger.in>*:nth-child(8){transition-delay:.56s}
@media(prefers-reduced-motion:reduce){
    .reveal,.reveal-stagger>*{opacity:1!important;transform:none!important}
    *{animation:none!important}
}

/* ---------- Misc ---------- */
.lead{font-size:1.15rem;color:var(--muted);max-width:760px;margin:0 auto 2rem;text-align:center}
.pill-row{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-bottom:2rem}
.pill{background:#fff;border:1px solid var(--line);padding:.5rem 1.1rem;border-radius:999px;
    font-weight:600;font-size:.88rem;color:var(--brown-2);cursor:pointer;transition:var(--t)}
.pill:hover,.pill.active{background:var(--gold-2);color:#fff;border-color:var(--gold-2)}
.faq__item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:.8rem;overflow:hidden}
.faq__q{width:100%;text-align:left;background:none;border:0;padding:1.1rem 1.3rem;font-weight:600;
    font-size:1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--brown)}
.faq__q span{transition:var(--t);font-size:1.4rem;color:var(--gold-2)}
.faq__item.open .faq__q span{transform:rotate(45deg)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .4s ease;color:var(--muted)}
.faq__a p{padding:0 1.3rem 1.1rem}
.prose{max-width:820px;margin:0 auto;color:var(--muted)}
.prose h2,.prose h3{color:var(--brown);margin:1.6rem 0 .6rem}
.prose p{margin-bottom:1rem}
.prose ul{margin:0 0 1rem 1.2rem;list-style:disc}
.prose li{margin-bottom:.4rem}

.price{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2rem;text-align:center;
    transition:var(--t)}
.price:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:var(--gold)}
.price--featured{background:linear-gradient(160deg,var(--brown),var(--brown-2));color:#fff;transform:scale(1.03)}
.price--featured h3,.price--featured .price__amt{color:#fff}
.price--dark{background:linear-gradient(160deg,var(--brown),var(--brown-2));color:#fff}
.price--dark h3,.price--dark .price__amt{color:#fff}
.price--dark li .ic{color:var(--saffron)}
.price__amt{font-family:var(--serif);font-size:2.6rem;color:var(--brown);margin:.4rem 0}
.price__amt small{font-size:1rem;color:var(--muted)}
.price ul{margin:1.2rem 0;text-align:left}
.price li{display:flex;gap:.5rem;margin-bottom:.6rem;font-size:.92rem}
.price li .ic{color:var(--gold-2);flex:none}
.price--featured li .ic{color:var(--saffron)}

/* Pricing carousel (auto-scroll + prev/next buttons, scrollbar hidden) */
.pcar{position:relative}
.pcar__track{display:flex;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
    padding:.6rem .3rem 1.4rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.pcar__track::-webkit-scrollbar{display:none}
.pcar__track>.price{scroll-snap-align:start}
/* alternating (odd) card background */
.pcar__track>.price:nth-child(odd):not(.price--featured):not(.price--dark){background:var(--cream)}
/* featured "Most Popular" + dark cards keep the brown gradient */
.pcar__track>.price--featured,
.pcar__track>.price--dark{background:linear-gradient(160deg,var(--brown),var(--brown-2))}
.pcar__btn{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;
    border:1px solid var(--line);background:#fff;color:var(--brown);font-size:1.7rem;line-height:1;cursor:pointer;
    box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;transition:var(--t)}
.pcar__btn:hover{background:var(--brown);color:#fff;border-color:var(--brown)}
.pcar__btn--prev{left:-12px}
.pcar__btn--next{right:-12px}
@media(max-width:760px){.pcar__btn--prev{left:2px}.pcar__btn--next{right:2px}}

/* ---------- Responsive ---------- */
/* Mid-large desktop: tighten link spacing so both groups stay tidy */
@media(max-width:1180px){
    .nav-section{gap:1.7rem}
    .nav-section a{font-size:.88rem}
    .navbar{gap:1rem}
    .brand-name{font-size:1.25rem}
    .om-symbol{font-size:1.7rem}
    .logo-icon{width:42px;height:42px}
}
@media(max-width:980px){
    .hero__inner,.split,.query__grid,.appdl__inner,.cta-strip__inner{grid-template-columns:1fr}
    .split--rev .split__media{order:0}
    .grid--4{grid-template-columns:repeat(2,1fr)}
    .stats__grid{grid-template-columns:repeat(2,1fr)}
    .footer__grid{grid-template-columns:1fr 1fr}
    .tcard{flex:0 0 calc(50% - .7rem)}
    .hero__inner{padding-top:36px}
    .hero__copy{text-align:center}
    .hero__copy .hero__badge{margin:0 auto}
    .hero p{margin-left:auto;margin-right:auto}
    .hero__actions,.hero__trust{justify-content:center}
    .hero__float{display:none}
}
/* Tablet & below: logo stays in the bar, links collapse into a slide-in drawer */
@media(max-width:1024px){
    .navbar{justify-content:space-between;gap:1rem}
    .nav-logo{order:0}
    .nav__toggle{display:flex;order:1}
    .nav{display:flex;position:fixed;inset:0 0 0 auto;width:300px;max-width:86%;background:#aa6227;
        flex-direction:column;align-items:stretch;justify-content:flex-start;
        padding:84px 22px 32px;gap:0;overflow-y:auto;
        box-shadow:-10px 0 40px rgba(0,0,0,.3);transform:translateX(100%);
        transition:transform .35s ease;z-index:170}
    .nav.open{transform:none}
    .nav-section{flex-direction:column;align-items:stretch;gap:0;width:100%}
    .left-links,.right-links{flex:none}
    .nav-section a{width:100%;padding:.9rem .4rem;font-size:1rem;border-bottom:1px solid rgba(255,255,255,.18)}
    .nav-section a.active::after{display:none}
    .nav-section a.active{background:rgba(255,255,255,.14);border-radius:8px;border-bottom-color:transparent;padding-left:.7rem}
    /* Dropdown becomes a tap-to-expand accordion inside the slide-in drawer */
    .has-dropdown{display:block;width:100%}
    .has-dropdown>a{width:100%;justify-content:space-between}
    .has-dropdown>.dropdown{position:static;transform:none;opacity:1;visibility:visible;min-width:0;
        background:transparent;border:0;box-shadow:none;padding:0 0 0 .8rem;
        max-height:0;overflow:hidden;transition:max-height .3s ease}
    .has-dropdown.open>.dropdown{max-height:600px}
    .has-dropdown:hover>.dropdown{transform:none}
    .dropdown a{color:#fff!important;border-bottom:1px solid rgba(255,255,255,.14);border-radius:0;padding:.8rem .4rem;font-size:.95rem}
    .dropdown a:hover{background:rgba(255,255,255,.1)}
    .nav__caret{display:inline-block;font-size:.7rem;margin-left:auto}
    .has-dropdown.open .nav__caret{transform:rotate(180deg)}
    .nav__cta{margin:1.1rem 0 0;width:100%;justify-content:center;text-align:center;padding:.85rem 1rem;font-size:.95rem}
    .nav__close{display:block;position:absolute;top:16px;right:18px;background:none;border:0;
        font-size:2rem;color:#fff;cursor:pointer;line-height:1}
    body.nav-open::after{content:"";position:fixed;inset:0;background:rgba(40,20,5,.5);z-index:165}
    /* Lift the header (which contains the slide-in drawer) above the backdrop so nav links stay tappable */
    body.nav-open .header{z-index:200}
}
@media(max-width:760px){
    .section{padding:56px 0}
    .hide-sm{display:none}
    .grid--3,.grid--2{grid-template-columns:1fr}
    .tcard{flex:0 0 100%}
    .cta-strip__inner{padding:2rem}
}
@media(max-width:480px){
    .grid--4{grid-template-columns:1fr}
    .stats__grid{grid-template-columns:1fr 1fr}
    .form__row{grid-template-columns:1fr}
    .footer__grid{grid-template-columns:1fr}
    .hero__art{height:340px}
    .hero__wheel{width:min(320px,86vw)}
}
/* Home: team grid has an inline 2-col style — force it to collapse on small screens */
@media(max-width:760px){
    #team .grid--2{grid-template-columns:1fr!important}
}
@media(max-width:540px){
    #team .member{flex-direction:column!important;align-items:center!important;text-align:center}
    #team .member .member__photo{flex:0 0 auto!important}
    #team .member .tags{justify-content:center!important}
    #team .member>div{width:100%}
}
/* About: keep the "Why Choose Us" stat blocks 2-up on phones instead of a tall single column */
@media(max-width:760px){
    .split--rev .grid--2{grid-template-columns:1fr 1fr}
}
@media(max-width:380px){
    .split--rev .grid--2{grid-template-columns:1fr}
}
/* Detailed readings: trim the tall spread image panel on small phones */
@media(max-width:540px){
    #love .split__media img,#career .split__media img,#health .split__media img,#destiny .split__media img{min-height:220px!important}
}
/* Team: once the photo/bio split stacks, cap & centre the feature photo so it isn't oversized */
@media(max-width:980px){
    .member-feat__photo{max-width:420px;margin-left:auto;margin-right:auto;border-radius:var(--radius)}
}

/* ---------- Numbered timeline ---------- */
.tline{display:flex;flex-direction:column}
.tline__item{position:relative;display:flex;gap:1.2rem;padding-bottom:1.8rem}
.tline__item:last-child{padding-bottom:0}
.tline__item:not(:last-child)::before{content:"";position:absolute;left:21px;top:48px;bottom:-2px;
    border-left:2px dashed var(--gold);opacity:.55}
.tline__num{flex:0 0 44px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;
    justify-content:center;background:linear-gradient(135deg,var(--saffron),var(--brown-2));color:#fff;
    font-weight:700;font-family:var(--serif);font-size:1.05rem;box-shadow:var(--shadow-sm);z-index:1;
    cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}
.tline__num:hover{transform:scale(1.18) rotate(-8deg);box-shadow:var(--shadow)}
.tline__body{padding-top:.25rem}
.tline__body h4{font-size:1.1rem;margin:0 0 .25rem}
.tline__body p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.55}
.member-feat__photo{width:100%;display:block;background:transparent;border-radius:0;box-shadow:none}
.member-feat__meta{margin-top:1.2rem}
