:root{
    --ink:#14100D;
    --ink-soft:#1E1712;
    --ink-line:#332A21;
    --cream:#EFE7D8;
    --cream-dim:#B7AA92;
    --saffron:#C6431B;
    --saffron-bright:#E2591F;
    --white:#FFFFFF;
    --radius:2px;
    --max:1180px;
  }

  /* Light panels — swaps the palette to white/paper for ~1 in 5 sections,
     everything inside keeps using the same var(--cream) / var(--ink-line)
     etc, so it re-themes automatically without touching each rule. */
  .light{
    --ink:#FFFFFF;
    --ink-soft:#F8F4EC;
    --ink-line:#E6DCC8;
    --cream:#1C140D;
    --cream-dim:#6E5D48;
    background:var(--ink);
    color:var(--cream);
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }

  body{
    background:var(--ink);
    color:var(--cream);
    font-family:'Work Sans', sans-serif;
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  h1,h2,h3,h4{
    font-family:'Fraunces', serif;
    font-weight:600;
    line-height:1.15;
    letter-spacing:-0.01em;
  }

  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  ul{list-style:none;}
  button{font-family:inherit; cursor:pointer;}

  :focus-visible{outline:2px solid var(--saffron-bright); outline-offset:3px;}

  .wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}
  .eyebrow{
    font-family:'Work Sans', sans-serif;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--saffron-bright);
  }

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    padding:15px 26px;
    font-size:15.5px;
    font-weight:600;
    letter-spacing:0.01em;
    border-radius:var(--radius);
    border:1.5px solid transparent;
    transition:transform .15s ease, background .2s ease, border-color .2s ease;
    white-space:nowrap;
  }
  .btn svg{width:18px; height:18px; flex-shrink:0;}
  .btn-call{
    background:var(--saffron);
    color:var(--white);
  }
  .btn-call:hover{background:var(--saffron-bright); transform:translateY(-1px);}
  .btn-whatsapp{
    background:transparent;
    color:var(--cream);
    border-color:var(--ink-line);
  }
  .btn-whatsapp:hover{border-color:var(--cream-dim); transform:translateY(-1px);}
  .btn-lg{padding:18px 32px; font-size:17px;}

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(20,16,13,0.92);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--ink-line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 28px;
    max-width:var(--max); margin:0 auto;
  }
  .brand{display:flex; align-items:center; gap:12px;}
  .brand img{
    width:44px; height:44px; border-radius:50%;
    object-fit:cover; object-position:top center;
    border:1.5px solid var(--saffron);
  }
  .brand-text{display:flex; flex-direction:column; line-height:1.15;}
  .brand-text strong{
    font-family:'Fraunces', serif;
    font-size:17px; font-weight:700;
    letter-spacing:0.02em;
    color:var(--cream);
  }
  .brand-text span{
    font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--cream-dim);
  }
  .nav-links{display:flex; gap:30px; font-size:14.5px; color:var(--cream-dim);}
  .nav-links a:hover{color:var(--cream);}
  .nav-cta{display:flex; align-items:center; gap:12px;}
  .nav-phone{font-size:14.5px; color:var(--cream-dim); display:none;}
  @media (min-width:900px){.nav-links{display:flex;} .nav-phone{display:inline;}}
  @media (max-width:899px){.nav-links{display:none;}}
  @media (max-width:640px){
    .nav-cta .btn-call{padding:7px 12px; font-size:12px; gap:5px;}
    .nav-cta .btn-call svg{width:13px; height:13px;}
  }
  @media (max-width:380px){
    .nav-cta .btn-call span.btn-call-text{display:none;}
    .nav-cta .btn-call{padding:8px 9px;}
  }

  /* ---------- Ticker ---------- */
  .ticker{
    background:var(--saffron);
    overflow:hidden;
    white-space:nowrap;
    border-bottom:1px solid rgba(0,0,0,0.15);
  }
  .ticker-track{
    display:inline-flex;
    align-items:center;
    animation:ticker-scroll 28s linear infinite;
    will-change:transform;
  }
  @media (prefers-reduced-motion: reduce){
    .ticker-track{animation:none;}
  }
  .ticker-track span{
    display:inline-flex;
    align-items:center;
    padding:9px 0;
    font-size:13px;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--white);
  }
  .ticker-track span::after{
    content:"\2726";
    margin:0 28px;
    opacity:0.65;
    font-size:11px;
  }
  @keyframes ticker-scroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    padding:76px 0 64px;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute;
    top:-30%; right:-15%;
    width:900px; height:900px;
    background:radial-gradient(circle, rgba(198,67,27,0.28) 0%, rgba(198,67,27,0.08) 45%, transparent 70%);
    pointer-events:none;
  }
  .hero-grid{
    position:relative; z-index:1;
    display:grid; grid-template-columns:1.15fr 0.85fr;
    gap:48px; align-items:center;
  }
  @media (max-width:900px){.hero-grid{grid-template-columns:1fr; text-align:center;}}

  .hero h1{
    font-size:clamp(32px, 4.6vw, 52px);
    color:var(--cream);
    margin:16px 0 20px;
  }
  .hero h1 em{
    font-style:normal; color:var(--saffron-bright);
  }
  .hero p.lead{
    font-size:17.5px; color:var(--cream-dim); max-width:520px;
    margin-bottom:30px;
  }
  @media (max-width:900px){.hero p.lead{margin-left:auto; margin-right:auto;}}

  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:26px;}
  @media (max-width:900px){.hero-ctas{justify-content:center;}}

  .trust-line{
    display:flex; gap:22px; flex-wrap:wrap; font-size:13px; color:var(--cream-dim);
  }
  @media (max-width:900px){.trust-line{justify-content:center;}}
  .trust-line li{display:flex; align-items:center; gap:7px;}
  .trust-line svg{width:14px; height:14px; color:var(--saffron-bright); flex-shrink:0;}

  .hero-portrait{
    position:relative;
    display:flex; justify-content:center;
  }
  .hero-portrait .ring{
    position:absolute;
    inset:0;
    margin:auto;
    width:88%; aspect-ratio:1/1;
    border-radius:50%;
    background:radial-gradient(circle, rgba(198,67,27,0.35), transparent 68%);
  }
  .hero-portrait img{
    position:relative;
    width:min(380px, 88%);
    border-radius:50%;
    object-fit:cover;
    aspect-ratio:1/1;
    border:2px solid rgba(198,67,27,0.55);
    box-shadow:0 30px 70px -20px rgba(0,0,0,0.7);
  }

  /* ---------- Stats strip ---------- */
  .stats{
    border-top:1px solid var(--ink-line);
    border-bottom:1px solid var(--ink-line);
    background:var(--ink-soft);
  }
  .stats-grid{
    display:grid; grid-template-columns:repeat(4,1fr);
    padding:34px 0;
  }
  @media (max-width:700px){.stats-grid{grid-template-columns:repeat(2,1fr); gap:28px 0;}}
  .stat{text-align:center; padding:0 12px;}
  .stat .num{
    font-family:'Fraunces', serif;
    font-size:clamp(24px,3vw,34px);
    font-weight:700;
    color:var(--saffron-bright);
  }
  .stat .label{
    font-size:12.5px; letter-spacing:0.05em; color:var(--cream-dim); margin-top:4px;
  }

  /* ---------- Section basics ---------- */
  section{padding:88px 0;}
  .section-head{max-width:640px; margin:0 auto 52px; text-align:center;}
  .section-head h2{font-size:clamp(26px,3.4vw,38px); color:var(--cream); margin:14px 0 12px;}
  .section-head p{color:var(--cream-dim); font-size:16px;}

  /* ---------- About ---------- */
  .about{background:var(--ink);}
  .about-grid{
    display:grid; grid-template-columns:0.8fr 1.2fr;
    gap:56px; align-items:center;
  }
  @media (max-width:860px){.about-grid{grid-template-columns:1fr; text-align:center;}}
  .about-Amit{position:relative; display:flex; justify-content:center;}
  .about-Amit img{
    width:min(320px,100%);
    border-radius:50%;
    aspect-ratio:1/1; object-fit:cover;
    border:2px solid var(--saffron);
    box-shadow:0 20px 50px -18px rgba(0,0,0,0.65);
  }
  .about-body .eyebrow{display:block; margin-bottom:14px;}
  .about-body h2{font-size:clamp(24px,3vw,32px); color:var(--cream); margin-bottom:16px;}
  .about-body p{color:var(--cream-dim); margin-bottom:16px; font-size:15.5px;}
  .about-signature{
    font-family:'Fraunces', serif; font-style:italic; font-size:19px;
    color:var(--cream); margin-top:18px;
  }
  .about-signature span{display:block; font-family:'Work Sans',sans-serif; font-style:normal;
    font-size:12px; color:var(--cream-dim); letter-spacing:0.08em; text-transform:uppercase; margin-top:4px;}

  /* ---------- Services ---------- */
  .services{background:var(--ink-soft); border-top:1px solid var(--ink-line); border-bottom:1px solid var(--ink-line);}
  .s-list{display:flex; flex-direction:column; gap:68px;}
  .s-row{
    display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center;
  }
  .s-row:nth-child(even) .s-media{order:2;}
  .s-row:nth-child(even) .s-content{order:1;}
  @media (max-width:860px){
    .s-list{gap:48px;}
    .s-row{grid-template-columns:1fr; gap:24px; text-align:center;}
    .s-row .s-media{order:1 !important;}
    .s-row .s-content{order:2 !important;}
    .s-content p{margin-left:auto; margin-right:auto;}
    .s-actions{justify-content:center;}
  }

  .s-media{
    position:relative;
    border:1px solid var(--ink-line);
    aspect-ratio:3/2;
    overflow:hidden;
    background:var(--ink);
  }
  .s-media svg, .s-media img{width:100%; height:100%; display:block; object-fit:cover;}
  .s-tag{
    position:absolute; top:14px; right:14px;
    background:var(--saffron); color:var(--white);
    font-size:10.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
    padding:5px 13px; border-radius:20px;
  }
  .s-content .eyebrow{display:block; margin-bottom:12px;}
  .s-content h3{font-size:clamp(20px,2.4vw,25px); color:var(--cream); margin-bottom:12px; font-weight:600;}
  .s-content p{font-size:15px; color:var(--cream-dim); margin-bottom:24px; max-width:440px; line-height:1.65;}
  .s-actions{display:flex; align-items:center; gap:20px;}
  .s-actions a{
    display:inline-flex; align-items:center; gap:6px;
    font-size:14.5px; font-weight:600; color:var(--saffron-bright);
    border-bottom:1px solid transparent;
    padding:11px 4px; margin:-11px -4px; /* grows the tap target to ~44px without shifting visual layout */
    transition:border-color .2s ease, gap .2s ease;
  }
  .s-actions a:hover{border-color:var(--saffron-bright); gap:9px;}
  .s-actions a svg{width:15px; height:15px;}
  .s-actions .divider{width:1px; height:16px; background:var(--ink-line);}

  /* ---------- Why choose us ---------- */
  .why-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:30px;
  }
  @media (max-width:860px){.why-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:520px){.why-grid{grid-template-columns:1fr;}}
  .why-item{text-align:center; padding:0 8px;}
  .why-item .icon-frame{
    width:58px; height:58px; margin:0 auto 16px;
    border-radius:50%;
    border:1px solid var(--ink-line);
    display:flex; align-items:center; justify-content:center;
  }
  .why-item svg{width:26px; height:26px; color:var(--saffron-bright);}
  .why-item h4{font-size:15.5px; color:var(--cream); margin-bottom:8px; font-weight:600;}
  .why-item p{font-size:13.5px; color:var(--cream-dim);}

  /* ---------- Process ---------- */
  .process{background:var(--ink-soft); border-top:1px solid var(--ink-line); border-bottom:1px solid var(--ink-line);}
  .process-row{
    display:grid; grid-template-columns:repeat(3,1fr); gap:0;
    position:relative;
  }
  @media (max-width:820px){.process-row{grid-template-columns:1fr; gap:36px;}}
  .process-step{padding:0 28px; text-align:center; position:relative;}
  .process-step .n{
    font-family:'Fraunces',serif; font-size:44px; font-weight:700;
    color:var(--saffron); /* solid fallback for browsers without text-stroke support */
    -webkit-text-stroke:1.4px var(--saffron); -webkit-text-fill-color:transparent;
    margin-bottom:10px;
  }
  .process-step h4{font-size:16.5px; color:var(--cream); margin-bottom:8px;}
  .process-step p{font-size:13.5px; color:var(--cream-dim); max-width:230px; margin:0 auto;}
  .process-step:not(:last-child)::after{
    content:""; position:absolute; top:24px; right:-2px;
    width:calc(100% - 60px); border-top:1px dashed var(--ink-line);
  }
  @media (max-width:820px){.process-step:not(:last-child)::after{display:none;}}

  /* ---------- Testimonials ---------- */
  .testimonials{position:relative;}
  .t-track-wrap{max-width:720px; margin:0 auto; position:relative; min-height:210px;}
  .t-slide{
    position:absolute; inset:0;
    opacity:0; transform:translateY(8px);
    transition:opacity .5s ease, transform .5s ease;
    text-align:center;
    pointer-events:none;
  }
  .t-slide.active{opacity:1; transform:translateY(0); pointer-events:auto;}
  .t-slide .stars{display:flex; gap:4px; justify-content:center; margin-bottom:18px; color:var(--saffron-bright); font-size:15px; letter-spacing:2px;}
  .t-slide blockquote{
    font-family:'Fraunces', serif; font-size:clamp(18px,2.4vw,22px);
    font-weight:500; color:var(--cream); line-height:1.5; margin-bottom:20px;
  }
  .t-slide cite{font-style:normal; font-size:13.5px; color:var(--cream-dim);}
  .t-dots{display:flex; gap:4px; justify-content:center; margin-top:28px;}
  .t-dots button{
    width:22px; height:22px; padding:0; border:none; background:transparent;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .t-dots button::before{
    content:""; width:7px; height:7px; border-radius:50%;
    background-color:var(--ink-line); transition:background-color .2s ease;
  }
  .t-dots button.active::before{background-color:var(--saffron);}

  /* ---------- FAQ ---------- */
  .faq{background:var(--ink-soft); border-top:1px solid var(--ink-line); border-bottom:1px solid var(--ink-line);}
  .faq-list{max-width:760px; margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--ink-line);}
  .faq-q{
    width:100%; background:none; border:none; text-align:left;
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:22px 4px; color:var(--cream); font-size:16px; font-weight:600;
    font-family:'Work Sans', sans-serif;
  }
  .faq-q .plus{
    width:20px; height:20px; flex-shrink:0; position:relative;
  }
  .faq-q .plus::before, .faq-q .plus::after{
    content:""; position:absolute; background:var(--saffron-bright);
  }
  .faq-q .plus::before{top:9px; left:0; width:20px; height:2px;}
  .faq-q .plus::after{top:0; left:9px; width:2px; height:20px; transition:transform .25s ease;}
  .faq-item.open .faq-q .plus::after{transform:rotate(90deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .faq-a p{padding:0 4px 22px; color:var(--cream-dim); font-size:14.5px; max-width:640px;}

  /* ---------- Final CTA ---------- */
  .final-cta{
    text-align:center;
    background:linear-gradient(180deg, var(--ink) 0%, var(--ink-soft) 100%);
    position:relative;
    overflow:hidden;
  }
  .final-cta::before{
    content:""; position:absolute; left:50%; top:0; transform:translateX(-50%);
    width:700px; height:700px;
    background:radial-gradient(circle, rgba(198,67,27,0.22), transparent 65%);
    pointer-events:none;
  }
  .final-cta .inner{position:relative; z-index:1;}
  .final-cta h2{font-size:clamp(26px,4vw,40px); color:var(--cream); margin:14px auto 16px; max-width:640px;}
  .final-cta p{color:var(--cream-dim); max-width:520px; margin:0 auto 32px; font-size:16px;}
  .final-cta .hero-ctas{justify-content:center;}

  /* ---------- Footer ---------- */
  footer{padding:56px 0 120px; border-top:1px solid var(--ink-line);}
  @media (min-width:900px){footer{padding-bottom:56px;}}
  .foot-grid{
    display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px;
  }
  @media (max-width:760px){.foot-grid{grid-template-columns:1fr; text-align:center;}}
  .foot-brand{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
  .foot-brand img{width:40px; height:40px; border-radius:50%; object-fit:cover; object-position:top center; border:1.5px solid var(--saffron);}
  .foot-brand strong{font-family:'Fraunces',serif; font-size:16px; color:var(--cream);}
  footer .desc{font-size:13.5px; color:var(--cream-dim); max-width:280px;}
  @media (max-width:760px){footer .desc{margin:0 auto;} .foot-brand{justify-content:center;}}
  footer h5{font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--cream-dim); margin-bottom:16px;}
  footer .links li{margin-bottom:10px; font-size:14px;}
  footer .links a:hover{color:var(--saffron-bright);}
  footer .contact li{margin-bottom:12px; font-size:14px; display:flex; gap:9px; align-items:center;}
  @media (max-width:760px){footer .contact li{justify-content:center;}}
  footer .contact svg{width:16px; height:16px; color:var(--saffron-bright); flex-shrink:0;}
  .foot-bottom{
    margin-top:44px; padding-top:24px; border-top:1px solid var(--ink-line);
    font-size:12.5px; color:var(--cream-dim); text-align:center;
  }

  /* ---------- Sticky mobile bar ---------- */
  .mobile-bar{
    display:none;
    position:fixed; left:0; right:0; bottom:0; z-index:60;
    background:var(--ink-soft); border-top:1px solid var(--ink-line);
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    gap:10px;
  }
  @media (max-width:899px){.mobile-bar{display:flex;}}
  .mobile-bar .btn{flex:1; padding:11px 10px; font-size:13px;}
  .mobile-bar .btn svg{width:16px; height:16px;}

  /* ---------- Popup ---------- */
  .popup-overlay{
    position:fixed; inset:0; z-index:100;
    background:rgba(10,8,6,0.75);
    -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
    display:none; align-items:center; justify-content:center;
    padding:20px;
    opacity:0; transition:opacity .25s ease;
  }
  .popup-overlay.show{display:flex;}
  .popup-overlay.in{opacity:1;}
  .popup-card{
    position:relative;
    background:var(--ink-soft);
    border:1px solid var(--ink-line);
    max-width:420px; width:100%;
    padding:36px 30px 30px;
    text-align:center;
    transform:translateY(10px);
    transition:transform .25s ease;
  }
  .popup-overlay.in .popup-card{transform:translateY(0);}
  .popup-close{
    position:absolute; top:14px; right:14px;
    width:30px; height:30px; border:none; background:transparent;
    color:var(--cream-dim); display:flex; align-items:center; justify-content:center;
  }
  .popup-close:hover{color:var(--cream);}
  .popup-close svg{width:18px; height:18px;}
  .popup-card h3{font-size:22px; color:var(--cream); margin:6px 0 12px;}
  .popup-card p{font-size:14.5px; color:var(--cream-dim); margin-bottom:24px; line-height:1.6;}
  .popup-card .hero-ctas{justify-content:center; margin-bottom:0;}
  @media (max-width:480px){
    .popup-card .hero-ctas{flex-direction:column;}
    .popup-card .hero-ctas .btn{width:100%;}
  }
  /* =========================================================
     BLOG / ARTICLE PAGE — added for inner service/blog pages.
     Reuses existing tokens (--ink, --cream, --saffron, etc.)
     so it inherits the site's theme automatically.
     ========================================================= */

  /* ---------- Breadcrumb ---------- */
  .crumb{padding:22px 0 0; font-size:13px; color:var(--cream-dim);}
  .crumb a:hover{color:var(--saffron-bright);}
  .crumb span{margin:0 8px; opacity:0.5;}

  /* ---------- Article header ---------- */
  .article-head{padding:36px 0 32px;}
  .article-head h1{
    font-size:clamp(26px,3.6vw,38px); color:var(--cream); margin:14px 0 14px;
  }
  .article-head .lead{font-size:16px; color:var(--cream-dim);}

  /* ---------- Article banner (image + overlay badges) ---------- */
  .article-banner{
    position:relative; border:1px solid var(--ink-line); overflow:hidden;
    margin-bottom:8px; background:var(--ink-soft);
  }
  .article-banner img{
    width:100%; height:100%; object-fit:cover; aspect-ratio:16/8;
    filter:saturate(1.05);
  }
  .article-banner::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(0deg, rgba(20,16,13,0.94) 0%, rgba(20,16,13,0.35) 45%, rgba(20,16,13,0.05) 70%);
  }
  .article-banner-content{
    position:absolute; left:0; right:0; bottom:0; z-index:1;
    padding:26px 28px; display:flex; align-items:flex-end; justify-content:space-between;
    gap:20px; flex-wrap:wrap;
  }
  .article-banner-content h2{font-size:clamp(20px,2.6vw,28px); color:var(--white); margin-bottom:8px;}
  .banner-badges{display:flex; gap:10px; flex-wrap:wrap;}
  .banner-badges span{
    background:rgba(20,16,13,0.55); border:1px solid var(--ink-line);
    color:var(--cream); font-size:12px; font-weight:600; letter-spacing:0.03em;
    padding:6px 13px; border-radius:20px;
  }

  /* ---------- Two-column blog layout ---------- */
  .blog-layout{display:grid; grid-template-columns:1fr 320px; gap:52px; align-items:start; padding:8px 0 88px;}
  @media (max-width:960px){.blog-layout{grid-template-columns:1fr;}}

  .blog-main h2{font-size:clamp(21px,2.6vw,27px); color:var(--cream); margin:44px 0 16px;}
  .blog-main h2:first-child{margin-top:0;}
  .blog-main p{font-size:15.5px; color:var(--cream-dim); margin-bottom:16px; line-height:1.75;}
  .blog-main strong{color:var(--cream);}

  /* ---------- Highlight box (used for "what makes us different" style points) ---------- */
  .highlight-box{
    border-left:2.5px solid var(--saffron);
    background:var(--ink-soft);
    padding:20px 22px;
    margin-bottom:16px;
  }
  .highlight-box strong{display:block; color:var(--cream); font-size:15.5px; margin-bottom:6px;}
  .highlight-box p{margin:0; font-size:14.5px; color:var(--cream-dim);}

  /* ---------- Sidebar ---------- */
  .blog-sidebar{position:sticky; top:96px; display:flex; flex-direction:column; gap:24px;}
  @media (max-width:960px){.blog-sidebar{position:static;}}

  .contact-card{
    background:var(--ink-soft); border:1px solid var(--ink-line); padding:28px 24px;
  }
  .contact-card .eyebrow{display:block; margin-bottom:8px;}
  .contact-card h4{font-family:'Fraunces',serif; font-size:18px; color:var(--cream); margin-bottom:18px; font-weight:600;}
  .contact-card .btn{width:100%; margin-bottom:12px;}
  .contact-card .btn:last-child{margin-bottom:0;}

  .side-card{background:var(--ink-soft); border:1px solid var(--ink-line); padding:24px;}
  .side-card h5{
    font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--saffron-bright);
    margin-bottom:6px; font-weight:600;
  }
  .side-card .side-title{font-family:'Fraunces',serif; font-size:16px; color:var(--cream); margin-bottom:14px; font-weight:600;}
  .side-card ul li{border-bottom:1px solid var(--ink-line);}
  .side-card ul li:last-child{border-bottom:none;}
  .side-card ul li a{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:12.5px 2px; font-size:14px; color:var(--cream-dim); transition:color .2s ease;
  }
  .side-card ul li a:hover{color:var(--saffron-bright);}
  .side-card ul li a svg{width:14px; height:14px; flex-shrink:0; opacity:0.7;}

  /* ---------- Consultation services block (full width, 3-up) ---------- */
  .consult{background:var(--ink-soft); border-top:1px solid var(--ink-line); border-bottom:1px solid var(--ink-line);}
  .consult-panel{
    background:var(--ink); border:1px solid var(--ink-line);
    padding:44px 40px;
  }
  .consult-panel > .eyebrow{display:block; margin-bottom:8px;}
  .consult-panel > h2{font-size:clamp(21px,2.6vw,26px); color:var(--cream); margin-bottom:32px;}
  .consult-item{border-left:2.5px solid var(--saffron); padding:2px 0 2px 22px; margin-bottom:28px;}
  .consult-item:last-child{margin-bottom:0;}
  .consult-item h3{font-size:16.5px; color:var(--cream); margin-bottom:8px; font-weight:600;}
  .consult-item p{font-size:14.5px; color:var(--cream-dim); max-width:680px;}
/* =========================================================
   VISUAL ENHANCEMENT PASS
   Adds depth, motion and astrology-themed decorative detail
   on top of the existing components. Purely additive — every
   rule here extends classes that already exist in the markup,
   so no HTML structure needs to change to pick this up.
   ========================================================= */

:root{
  --shadow-sm:0 2px 10px -4px rgba(0,0,0,0.5);
  --shadow-md:0 14px 34px -12px rgba(0,0,0,0.55);
  --shadow-lg:0 28px 60px -18px rgba(0,0,0,0.6);
  --glow-saffron:0 0 0 1px rgba(226,89,31,0.35), 0 10px 26px -6px rgba(226,89,31,0.45);
}

@keyframes orbit-spin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
@keyframes twinkle{ 0%,100%{opacity:0.35;} 50%{opacity:1;} }

/* ---------- Buttons: shine sweep + lift + glow ---------- */
.btn{ position:relative; overflow:hidden; box-shadow:var(--shadow-sm); }
.btn::before{
  content:""; position:absolute; top:0; left:-60%; width:40%; height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,0.3), transparent);
  transform:skewX(-20deg); transition:left .55s ease; pointer-events:none;
}
.btn:hover::before{ left:130%; }
.btn-call:hover{ box-shadow:var(--glow-saffron); }
.btn-whatsapp:hover{ box-shadow:var(--shadow-md); }

/* ---------- Header: lifted off the page ---------- */
header{ box-shadow:0 1px 0 rgba(0,0,0,0.25), 0 16px 34px -24px rgba(0,0,0,0.7); }

/* ---------- Eyebrow: small tick mark ---------- */
.eyebrow{ position:relative; padding-left:20px; display:inline-block; }
.eyebrow::before{
  content:""; position:absolute; left:0; top:50%; width:12px; height:1.5px;
  background:var(--saffron-bright); transform:translateY(-50%);
}
.contact-card .eyebrow, .side-card h5{ padding-left:0; }
.contact-card .eyebrow::before{ display:none; }

/* ---------- Hero: starfield + orbiting rings around portrait ---------- */
.hero{
  background-image:
    radial-gradient(1.5px 1.5px at 8% 24%, rgba(239,231,216,0.55), transparent 60%),
    radial-gradient(1.5px 1.5px at 24% 70%, rgba(239,231,216,0.35), transparent 60%),
    radial-gradient(1.5px 1.5px at 42% 14%, rgba(239,231,216,0.45), transparent 60%),
    radial-gradient(2px 2px at 65% 84%, rgba(226,89,31,0.5), transparent 60%),
    radial-gradient(1.5px 1.5px at 80% 32%, rgba(239,231,216,0.4), transparent 60%),
    radial-gradient(1.5px 1.5px at 92% 62%, rgba(239,231,216,0.3), transparent 60%),
    radial-gradient(2px 2px at 14% 88%, rgba(226,89,31,0.4), transparent 60%);
  background-repeat:no-repeat;
}
.hero-portrait::before{
  content:""; position:absolute; inset:0; margin:auto;
  width:104%; aspect-ratio:1/1; border-radius:50%;
  border:1px dashed rgba(226,89,31,0.45);
  animation:orbit-spin 40s linear infinite;
}
.hero-portrait::after{
  content:""; position:absolute; inset:0; margin:auto;
  width:120%; aspect-ratio:1/1; border-radius:50%;
  border:1px dotted rgba(239,231,216,0.18);
  animation:orbit-spin 70s linear infinite reverse;
}
@media (prefers-reduced-motion: reduce){
  .hero-portrait::before, .hero-portrait::after{ animation:none; }
}

/* ---------- Stats: icon ring + hover lift ---------- */
.stat{ padding:14px 12px; border-radius:var(--radius); transition:transform .25s ease; }
.stat:hover{ transform:translateY(-3px); }
.stat-icon{
  width:38px; height:38px; margin:0 auto 10px; border-radius:50%;
  border:1px solid var(--ink-line); display:flex; align-items:center; justify-content:center;
  color:var(--saffron-bright); transition:border-color .2s ease, box-shadow .2s ease;
}
.stat:hover .stat-icon{ border-color:var(--saffron); box-shadow:0 0 0 5px rgba(198,67,27,0.12); }
.stat-icon svg{ width:16px; height:16px; }

/* ---------- About: orbit ring + oversized quote glyph ---------- */
.about-Amit{ position:relative; }
.about-Amit img{ transition:box-shadow .35s ease, transform .35s ease; position:relative; z-index:1; }
.about-Amit:hover img{ transform:translateY(-3px); box-shadow:0 30px 64px -18px rgba(0,0,0,0.75); }
.about-Amit::before{
  content:""; position:absolute; inset:0; margin:auto;
  width:min(320px,100%); aspect-ratio:1/1; border-radius:50%;
  border:1px dashed rgba(226,89,31,0.4);
  transform:scale(1.14);
  animation:orbit-spin 55s linear infinite;
}
@media (prefers-reduced-motion: reduce){ .about-Amit::before{ animation:none; } }
.about-body{ position:relative; }
.about-body::before{
  content:"\201C"; font-family:'Fraunces',serif; font-size:120px; line-height:1;
  position:absolute; top:-42px; left:-8px; color:var(--saffron); opacity:0.14;
  pointer-events:none;
}
@media (max-width:860px){ .about-body::before{ display:none; } }

/* ---------- Sacred toolkit (new section) ---------- */
.toolkit{ background:var(--ink-soft); border-top:1px solid var(--ink-line); border-bottom:1px solid var(--ink-line); }
.toolkit-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
@media (max-width:900px){ .toolkit-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:540px){ .toolkit-grid{ grid-template-columns:1fr; } }
.toolkit-item{
  background:var(--ink); border:1px solid var(--ink-line); padding:30px 24px;
  position:relative; overflow:hidden;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.toolkit-item::after{
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, transparent, var(--saffron-bright), transparent);
  transform:scaleX(0); transition:transform .3s ease;
}
.toolkit-item:hover{ transform:translateY(-4px); border-color:rgba(226,89,31,0.5); box-shadow:var(--shadow-md); }
.toolkit-item:hover::after{ transform:scaleX(1); }
.toolkit-item .icon-frame{
  width:50px; height:50px; border-radius:50%; border:1px solid var(--ink-line);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
  color:var(--saffron-bright); transition:border-color .25s ease, transform .25s ease;
}
.toolkit-item:hover .icon-frame{ border-color:var(--saffron-bright); transform:scale(1.06); }
.toolkit-item .icon-frame svg{ width:22px; height:22px; }
.toolkit-item h4{ font-size:15.5px; color:var(--cream); margin-bottom:8px; font-weight:600; }
.toolkit-item p{ font-size:13.5px; color:var(--cream-dim); }

/* ---------- Services: numbered index + media zoom ---------- */
.s-list{ counter-reset:svc; }
.s-row{ counter-increment:svc; }
.s-content{ position:relative; }
.s-content::before{
  content:counter(svc, decimal-leading-zero);
  font-family:'Fraunces',serif; font-weight:700; font-size:13px;
  color:var(--saffron-bright); letter-spacing:0.08em;
  display:block; margin-bottom:10px;
}
.s-media{ transition:box-shadow .3s ease; }
.s-media:hover{ box-shadow:var(--shadow-md); }
.s-media img{ transition:transform .5s ease; }
.s-media:hover img{ transform:scale(1.06); }

/* ---------- Why choose us: glowing ring + lift ---------- */
.why-item{ padding:22px 14px; border-radius:var(--radius); transition:transform .25s ease; }
.why-item:hover{ transform:translateY(-4px); }
.why-item .icon-frame{ transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.why-item:hover .icon-frame{
  border-color:transparent;
  box-shadow:0 0 0 2px var(--saffron-bright), 0 10px 26px -8px rgba(226,89,31,0.55);
  transform:scale(1.06);
}

/* ---------- Process: glowing step markers ---------- */
.process-step{ transition:transform .25s ease; }
.process-step:hover{ transform:translateY(-3px); }
.process-step:hover .n{ text-shadow:0 0 22px rgba(226,89,31,0.55); }

/* ---------- Testimonials: giant quote glyph ---------- */
.t-slide blockquote{ position:relative; z-index:1; }
.t-slide blockquote::before{
  content:"\201C"; position:absolute; top:-46px; left:50%; transform:translateX(-50%);
  font-family:'Fraunces',serif; font-size:120px; color:var(--saffron); opacity:0.12;
  z-index:-1; pointer-events:none;
}

/* ---------- FAQ: hover tint ---------- */
.faq-q{ transition:color .2s ease, padding-left .2s ease; }
.faq-item:hover .faq-q{ color:var(--saffron-bright); padding-left:4px; }

/* ---------- Final CTA: twinkling sparkle field ---------- */
.final-cta::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    radial-gradient(1.5px 1.5px at 15% 25%, rgba(239,231,216,0.5), transparent 60%),
    radial-gradient(1.5px 1.5px at 85% 20%, rgba(239,231,216,0.4), transparent 60%),
    radial-gradient(2px 2px at 30% 75%, rgba(226,89,31,0.55), transparent 60%),
    radial-gradient(1.5px 1.5px at 70% 80%, rgba(239,231,216,0.35), transparent 60%),
    radial-gradient(1.5px 1.5px at 50% 15%, rgba(239,231,216,0.4), transparent 60%);
  animation:twinkle 4s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce){ .final-cta::after{ animation:none; } }

/* ---------- Footer: top accent line ---------- */
footer{ position:relative; }
footer::before{
  content:""; position:absolute; top:-1px; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--saffron), transparent);
}

/* ---------- Blog page polish (auto-applies via shared classes) ---------- */
.highlight-box{ position:relative; transition:transform .2s ease, border-color .2s ease; }
.highlight-box:hover{ transform:translateX(3px); border-left-color:var(--saffron-bright); }
.highlight-box strong::before{ content:"\2726  "; color:var(--saffron-bright); }

.consult-item{ position:relative; padding-left:44px; }
.consult-panel{ counter-reset:consult; }
.consult-item{ counter-increment:consult; }
.consult-item::before{
  content:counter(consult);
  position:absolute; left:-7px; top:-2px;
  width:28px; height:28px; border-radius:50%;
  border:1px solid var(--saffron); color:var(--saffron-bright);
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces',serif; font-weight:700; font-size:13px;
  background:var(--ink-soft);
}

.article-banner{ box-shadow:var(--shadow-md); }
.article-banner::before{
  content:""; position:absolute; top:0; right:0; width:180px; height:180px; z-index:1;
  background:radial-gradient(circle at top right, rgba(226,89,31,0.35), transparent 65%);
  pointer-events:none;
}
.contact-card{ box-shadow:var(--shadow-sm); }
.side-card ul li a svg{ transition:transform .2s ease; }
.side-card ul li a:hover svg{ transform:translateX(3px); }