/*
Theme Name: 360 Real Astrology
Theme URI: https://360realastrology.com/
Author: Musa Hossain — 360 Real Astrology
Author URI: https://360realastrology.com/
Description: The English WordPress theme for 360 Real Astrology, the Vedic astrology and gemstone practice of Musa Hossain in Dhaka. Vedic foundation, modern reading, Western solutions. Seven page templates, a dynamic blog with an SEO-focused single-post template, an appointment form that stores every request in the dashboard as well as emailing it, complete JSON-LD structured data, and Customizer controls for every photograph and contact detail.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rastroen
Tags: astrology, dark, one-column, two-columns, right-sidebar, custom-menu, custom-logo, featured-images, blog, translation-ready, block-styles, wide-blocks, rtl-language-support
*/

:root{
  --bg:#05060f; --bg-2:#0a0b1e; --bg-3:#0f1029;
  --panel:rgba(255,255,255,.045); --panel-2:rgba(255,255,255,.07);
  --line:rgba(212,175,55,.20); --line-soft:rgba(255,255,255,.09);
  --gold:#d4af37; --gold-lt:#f6dd8a; --gold-dk:#a8842a; --saffron:#ff9d3c;
  --violet:#8b6cff; --ink:#ece9f6; --muted:#a09dba; --muted-2:#7d7a96;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:18px; --shadow:0 24px 60px -24px rgba(0,0,0,.85);
  --maxw:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans);
  font-size:16.5px; line-height:1.7; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:""; position:fixed; inset:0; z-index:-3; pointer-events:none;
  background:
    radial-gradient(900px 600px at 12% -5%, rgba(139,108,255,.22), transparent 62%),
    radial-gradient(800px 520px at 92% 4%, rgba(212,175,55,.16), transparent 60%),
    radial-gradient(1000px 700px at 50% 108%, rgba(255,157,60,.10), transparent 65%),
    linear-gradient(180deg,#05060f 0%,#0a0b1e 45%,#05060f 100%);
}
#stars{position:fixed; inset:0; z-index:-2; pointer-events:none; opacity:.75}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif); font-weight:600; line-height:1.15; margin:0 0 .5em; letter-spacing:.2px}
h1{font-size:clamp(2rem,4.8vw,3.3rem)}
h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}
h3{font-size:1.22rem}
p{margin:0 0 1.05em; color:var(--muted)}
.wrap{width:min(100% - 2.4rem, var(--maxw)); margin-inline:auto}
.gold{
  background:linear-gradient(96deg,#f6dd8a,#d4af37 42%,#ffce6a 72%,#b8873a);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.eyebrow{
  font:600 .72rem/1 var(--sans); letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold); display:inline-flex; align-items:center; gap:.6rem; margin-bottom:1rem;
}
.eyebrow::before{content:""; width:26px; height:1px; background:linear-gradient(90deg,transparent,var(--gold))}
.lead{font-size:1.08rem; color:#bcb8d2; max-width:62ch}
.center{text-align:center}
.center .lead{margin-inline:auto}
.center .eyebrow{justify-content:center}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.86rem 1.6rem; border-radius:999px; font:600 .93rem/1 var(--sans);
  letter-spacing:.02em; cursor:pointer; border:1px solid transparent;
  transition:transform .25s cubic-bezier(.2,.7,.3,1), box-shadow .25s, background .25s, border-color .25s;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px)}
.btn-gold{
  background:linear-gradient(135deg,#f6dd8a,#d4af37 45%,#b8873a);
  color:#150f02; box-shadow:0 12px 30px -12px rgba(212,175,55,.75);
}
.btn-gold:hover{box-shadow:0 20px 42px -14px rgba(212,175,55,.9)}
.btn-ghost{border-color:var(--line); color:var(--ink); background:var(--panel)}
.btn-ghost:hover{border-color:var(--gold); background:var(--panel-2)}
.btn-wa{background:#25d366; color:#06240f}
.btn-lg{padding:1.02rem 2rem; font-size:1rem}
.btn-row{display:flex; flex-wrap:wrap; gap:.85rem}
.center .btn-row{justify-content:center}

/* ---------- header ---------- */
header.site{
  position:sticky; top:0; z-index:60; backdrop-filter:blur(16px);
  background:rgba(5,6,15,.72); border-bottom:1px solid var(--line-soft);
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 0}
.brand{display:flex; align-items:center; gap:.7rem}
.brand .mark{
  width:42px; height:42px; border-radius:50%; display:grid; place-items:center;
  border:1px solid rgba(212,175,55,.55);
  background:radial-gradient(circle at 32% 28%, rgba(246,221,138,.30), rgba(5,6,15,.9) 68%);
  font:700 .74rem/1 var(--sans); color:var(--gold-lt); letter-spacing:.02em; flex:none;
  box-shadow:0 0 22px -6px rgba(212,175,55,.6);
}
.brand .txt b{display:block; font:600 1.06rem/1.15 var(--serif); letter-spacing:.5px}
.brand .txt span{display:block; font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:var(--muted-2)}
.menu{display:flex; align-items:center; gap:.3rem; list-style:none; margin:0; padding:0}
/* WordPress outputs each nav item as an <li>; kill the default list marker. */
.menu ul,.menu ol{list-style:none; margin:0; padding:0; display:contents}
.menu li{list-style:none; list-style-type:none; margin:0; padding:0; display:block}
.menu li::marker{content:""}
.menu li::before{content:none}
.menu a{
  padding:.55rem .85rem; border-radius:999px; font-size:.9rem; color:#c9c6dd;
  transition:color .2s, background .2s;
}
.menu a:hover{color:#fff; background:var(--panel)}
.menu a.on{color:var(--gold-lt); background:rgba(212,175,55,.10)}
.menu .btn{display:none}
.nav-cta{display:flex; align-items:center; gap:.6rem}
.burger{
  display:none; width:44px; height:44px; border-radius:12px; border:1px solid var(--line-soft);
  background:var(--panel); cursor:pointer; padding:0; place-items:center;
}
.burger span{display:block; width:19px; height:1.6px; background:var(--ink); margin:3.5px auto; border-radius:2px; transition:.25s}
.burger.open span:nth-child(1){transform:translateY(5.1px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-5.1px) rotate(-45deg)}
@media(max-width:980px){
  .burger{display:grid}
  .nav-cta .btn{display:none}
  .menu{
    position:fixed; inset:64px 0 auto; flex-direction:column; align-items:stretch; gap:.15rem;
    background:rgba(7,8,22,.98); border-bottom:1px solid var(--line-soft); padding:1rem 1.2rem 1.6rem;
    transform:translateY(-130%); transition:transform .35s cubic-bezier(.2,.7,.3,1);
  }
  .menu.open{transform:translateY(0)}
  .menu a{padding:.85rem 1rem; border-radius:12px}
  .menu .btn{display:inline-flex; margin-top:.6rem}
}

/* ---------- sections ---------- */
section{padding:clamp(4rem,8vw,7rem) 0; position:relative}
.sec-head{max-width:70ch; margin-bottom:3rem}
.center.sec-head{margin-inline:auto}
.divider{height:1px; background:linear-gradient(90deg,transparent,var(--line),transparent)}

/* ---------- hero ---------- */
.hero{padding-top:clamp(3rem,7vw,5.5rem); padding-bottom:clamp(3.5rem,7vw,6rem); overflow:hidden}
.hero-grid{display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(2rem,5vw,4rem); align-items:center}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr; text-align:center}
 .hero-grid .eyebrow{justify-content:center} .hero-grid .btn-row{justify-content:center} .hero .lead{margin-inline:auto}}
.hero h1 em{font-style:normal}
.hero-stats{display:flex; flex-wrap:wrap; gap:1.4rem 1.9rem; margin-top:2.4rem}
@media(max-width:920px){.hero-stats{justify-content:center}}
.hero-stats b{display:block; font:600 1.55rem/1 var(--serif); color:var(--gold-lt)}
.hero-stats span{font-size:.8rem; letter-spacing:.02em; color:var(--muted-2)}

.wheel-wrap{position:relative; display:grid; place-items:center; aspect-ratio:1; max-width:480px; margin-inline:auto; width:100%}
.wheel-wrap::after{
  content:""; position:absolute; inset:12%; border-radius:50%;
  background:radial-gradient(circle, rgba(212,175,55,.18), transparent 70%); filter:blur(24px);
}
.wheel{width:100%; height:auto; position:relative; z-index:1}
.spin-slow{transform-origin:50% 50%; animation:spin 120s linear infinite}
.spin-rev{transform-origin:50% 50%; animation:spin 90s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.spin-slow,.spin-rev{animation:none}}

/* ---------- cards ---------- */
.grid{display:grid; gap:1.15rem}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:660px){.g2,.g3,.g4{grid-template-columns:1fr}}

.card{
  position:relative; background:var(--panel); border:1px solid var(--line-soft);
  border-radius:var(--r); padding:1.7rem 1.6rem; overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.7,.3,1), border-color .3s, background .3s;
}
.card::before{
  content:""; position:absolute; inset:0 0 auto; height:1px;
  background:linear-gradient(90deg,transparent,rgba(212,175,55,.7),transparent);
  opacity:0; transition:opacity .3s;
}
.card:hover{transform:translateY(-6px); border-color:var(--line); background:var(--panel-2)}
.card:hover::before{opacity:1}
.card h3{margin-bottom:.45rem}
.card p{font-size:.94rem; margin-bottom:.9rem}
.card .ico{
  width:48px; height:48px; border-radius:14px; display:grid; place-items:center; font-size:1.35rem;
  background:linear-gradient(140deg, rgba(212,175,55,.20), rgba(139,108,255,.14));
  border:1px solid var(--line); margin-bottom:1.05rem;
}
.tags{display:flex; flex-wrap:wrap; gap:.4rem; margin:0; padding:0; list-style:none}
.tags li{
  font-size:.76rem; padding:.3rem .68rem; border-radius:999px; color:#cfcbe4;
  background:rgba(255,255,255,.05); border:1px solid var(--line-soft);
}
.card .from{margin-top:1.1rem; font-size:.84rem; color:var(--gold-lt); letter-spacing:.04em}

.ticks{list-style:none; margin:0; padding:0; display:grid; gap:.55rem}
.ticks li{position:relative; padding-left:1.65rem; font-size:.94rem; color:#c3bfd8}
.ticks li::before{content:"\2726"; position:absolute; left:0; top:-.05em; color:var(--gold); font-size:.85rem}

/* ---------- steps ---------- */
.steps{counter-reset:s; display:grid; gap:1.15rem; grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}
.step{position:relative; padding:1.6rem 1.4rem; border-radius:var(--r); background:var(--panel); border:1px solid var(--line-soft)}
.step::before{
  counter-increment:s; content:"0" counter(s);
  font:600 2.5rem/1 var(--serif); color:transparent; -webkit-text-stroke:1px rgba(212,175,55,.55);
  display:block; margin-bottom:.7rem;
}

/* ---------- testimonials ---------- */
.quote{background:var(--panel); border:1px solid var(--line-soft); border-radius:var(--r); padding:1.9rem 1.7rem}
.quote p{font-family:var(--serif); font-size:1.16rem; color:#ded9f2; font-style:italic; line-height:1.55}
.quote .who{display:flex; align-items:center; gap:.75rem; margin-top:1.2rem}
.quote .av{width:38px; height:38px; border-radius:50%; display:grid; place-items:center; flex:none;
  background:linear-gradient(140deg,rgba(212,175,55,.3),rgba(139,108,255,.25)); border:1px solid var(--line);
  font:600 .85rem/1 var(--sans); color:var(--gold-lt)}
.quote .who b{display:block; font-size:.92rem; font-weight:600}
.quote .who span{font-size:.78rem; color:var(--muted-2)}
.stars-row{color:var(--gold); letter-spacing:.15em; font-size:.85rem; margin-bottom:.8rem}

/* ---------- pricing ---------- */
.price{display:flex; flex-direction:column; height:100%}
.price.featured{border-color:rgba(212,175,55,.5); background:linear-gradient(180deg, rgba(212,175,55,.09), var(--panel) 55%)}
.badge{position:absolute; top:1.1rem; right:1.1rem; font-size:.66rem; letter-spacing:.18em; text-transform:uppercase;
  padding:.32rem .7rem; border-radius:999px; background:linear-gradient(135deg,#f6dd8a,#d4af37); color:#160f02; font-weight:700}
.price .amt{font:600 2.5rem/1 var(--serif); color:#fff; margin:.4rem 0 .1rem}
.price .amt small{font-size:1rem; color:var(--muted); font-family:var(--sans); font-weight:400}
.price .btn{margin-top:auto; width:100%}
.price .ticks{margin:1.3rem 0 1.5rem}

/* ---------- forms ---------- */
.form{display:grid; gap:1rem; grid-template-columns:1fr 1fr}
.form .full{grid-column:1/-1}
@media(max-width:640px){.form{grid-template-columns:1fr}}
.field label{display:block; font-size:.85rem; letter-spacing:.02em; color:var(--muted-2); margin-bottom:.45rem}
.field input,.field select,.field textarea{
  width:100%; padding:.85rem 1rem; border-radius:12px; background:rgba(255,255,255,.045);
  border:1px solid var(--line-soft); color:var(--ink); font:400 .95rem/1.5 var(--sans);
  transition:border-color .2s, background .2s;
}
.field textarea{min-height:120px; resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-color:var(--gold); background:rgba(212,175,55,.07);
}
.field select option{background:#0a0b1e; color:var(--ink)}
.note{font-size:.83rem; color:var(--muted-2)}
.ok-msg{display:none; padding:1rem 1.15rem; border-radius:12px; border:1px solid rgba(37,211,102,.4);
  background:rgba(37,211,102,.10); color:#b8f5cf; font-size:.92rem}
.ok-msg.show{display:block}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--line-soft)}
.faq details{border-bottom:1px solid var(--line-soft)}
.faq summary{
  cursor:pointer; list-style:none; padding:1.25rem 2.5rem 1.25rem 0; position:relative;
  font-family:var(--sans); font-weight:600; font-size:1.03rem; color:#e6e2f5; line-height:1.7;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:.3rem; top:1.05rem; color:var(--gold); font-size:1.4rem; transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:1.3rem; margin:0; font-size:.96rem; max-width:80ch}

/* ---------- cta band ---------- */
.band{
  border:1px solid var(--line); border-radius:26px; padding:clamp(2.2rem,5vw,3.6rem);
  background:
    radial-gradient(600px 300px at 80% 0%, rgba(212,175,55,.16), transparent 60%),
    radial-gradient(500px 260px at 10% 100%, rgba(139,108,255,.18), transparent 60%),
    rgba(255,255,255,.035);
  box-shadow:var(--shadow);
}

/* ---------- footer ---------- */
footer.site{border-top:1px solid var(--line-soft); padding:3.4rem 0 2rem; margin-top:1rem}
.foot{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:2rem}
@media(max-width:860px){.foot{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot{grid-template-columns:1fr}}
.foot h4{font-family:var(--sans); font-size:.86rem; font-weight:600; letter-spacing:.02em; color:var(--gold); margin-bottom:1rem}
.foot ul{list-style:none; margin:0; padding:0; display:grid; gap:.5rem}
.foot a,.foot li{font-size:.9rem; color:var(--muted)}
.foot a:hover{color:var(--gold-lt)}
.legal{margin-top:2.6rem; padding-top:1.4rem; border-top:1px solid var(--line-soft);
  display:flex; flex-wrap:wrap; gap:.8rem; justify-content:space-between; font-size:.8rem; color:var(--muted-2)}

/* ---------- floating whatsapp ---------- */
.fab{
  position:fixed; right:18px; bottom:18px; z-index:70; width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center; background:#25d366; box-shadow:0 14px 34px -10px rgba(37,211,102,.75);
  transition:transform .25s;
}
.fab:hover{transform:scale(1.08)}
.fab svg{width:28px; height:28px; fill:#06240f}


/* collapse any inline two-column grid on small screens */
@media(max-width:860px){
  [style*="grid-template-columns"]{grid-template-columns:1fr !important}
}
/* ---------- reveal ---------- */
.rv{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1; transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1; transform:none}}

/* ── Bangla-specific ─────────────────────────────────────── */
.brand .txt b{font:600 1.22rem/1.15 var(--serif); letter-spacing:.4px}
.brand .txt span{font-size:.6rem; letter-spacing:.24em; text-transform:uppercase; color:var(--muted-2); font-family:var(--sans)}
.brand{gap:0}
.menu a{font-size:.95rem}
.btn{font:600 .95rem/1.6 var(--sans); padding:.78rem 1.5rem}
.btn-lg{padding:.95rem 1.9rem; font-size:1rem}
.eyebrow::before{width:22px}
.ticks li{font-size:.97rem; line-height:1.75; padding-left:1.6rem}
.ticks li::before{top:.35em}
.card p{font-size:.98rem}
.lead{font-size:1.08rem; line-height:1.75}
.step::before{font-family:var(--sans)}
.en{font-family:var(--sans); letter-spacing:.01em}
.price-hero{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:.6rem;
  font-family:var(--serif); font-weight:600;
}
.price-hero .amt{font-size:clamp(2.6rem,6vw,3.8rem); line-height:1}
.price-hero .per{font-size:1.05rem; color:var(--muted); font-family:var(--sans); font-weight:400}
.pill{
  display:inline-flex; align-items:center; gap:.5rem; padding:.45rem 1rem; border-radius:999px;
  background:rgba(212,175,55,.10); border:1px solid var(--line); color:var(--gold-lt);
  font-size:.88rem; font-weight:500;
}
.approach{display:grid; grid-template-columns:repeat(3,1fr); gap:1.15rem}
@media(max-width:860px){.approach{grid-template-columns:1fr}}
.approach .card::after{
  content:""; position:absolute; right:-30px; bottom:-30px; width:110px; height:110px; border-radius:50%;
  background:radial-gradient(circle, rgba(212,175,55,.14), transparent 70%);
}
.addr{font-style:normal}

/* accessibility helper */
.screen-reader-text{
  border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px;
  overflow:hidden; padding:0; position:absolute!important; width:1px; word-wrap:normal!important;
}
.screen-reader-text:focus{
  background:#0a0b1e; border-radius:8px; clip:auto!important; clip-path:none; color:var(--gold-lt);
  display:block; font-size:.95rem; height:auto; left:12px; top:12px; padding:.85rem 1.3rem;
  text-decoration:none; width:auto; z-index:100000; border:1px solid var(--gold);
}

/* ── Photographs / photos ─────────────────────────────────────────── */
.photo{position:relative; border-radius:22px; overflow:hidden; border:1px solid var(--line);
  background:#0d0e22; box-shadow:0 30px 70px -34px rgba(0,0,0,.9)}
.photo img{width:100%; height:100%; object-fit:cover; display:block}
.photo::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(5,6,15,0) 45%, rgba(5,6,15,.6) 100%)}
.photo.portrait{aspect-ratio:4/5; max-width:460px; margin-inline:auto}
.photo.wide{aspect-ratio:16/10}
.photo-glow{position:relative}
.photo-glow::before{content:""; position:absolute; inset:-14% -10% -10%; border-radius:50%;
  background:radial-gradient(circle, rgba(212,175,55,.20), transparent 68%); filter:blur(30px); z-index:0}
.photo-glow .photo{position:relative; z-index:1}
.photo-cap{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:1.1rem 1.3rem; font-size:.9rem; color:#e7e3f5}
.photo-cap b{display:block; font-family:var(--serif); font-size:1.12rem; font-weight:600; line-height:1.5}
.photo-cap span{color:var(--gold-lt); font-size:.8rem; letter-spacing:.04em}

/* ── Navigation and breadcrumbs ────────────────────────────── */
.menu .btn{display:none}
@media(max-width:980px){.menu .btn{display:inline-flex}}
header.site.scrolled{box-shadow:0 12px 34px -22px rgba(0,0,0,.9); border-bottom-color:var(--line)}
.breadcrumbs{margin-bottom:1.1rem; font-size:.88rem; color:var(--muted-2)}
.breadcrumbs ol{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.45rem; justify-content:center}
.breadcrumbs li+li::before{content:"›"; margin-left:-.1rem; margin-right:.45rem; color:rgba(212,175,55,.55)}
.breadcrumbs a:hover{color:var(--gold-lt)}
.breadcrumbs [aria-current]{color:var(--muted)}
.hero-grid .breadcrumbs ol{justify-content:flex-start}
@media(max-width:920px){.hero-grid .breadcrumbs ol{justify-content:center}}
.page-hero{padding:clamp(2.6rem,6vw,4.4rem) 0 clamp(1.4rem,3vw,2.2rem); text-align:center}
.page-hero .lead{margin-inline:auto}
.page-hero .eyebrow{justify-content:center}
.social{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem}
.social a{font-size:.85rem; padding:.36rem .85rem; border-radius:999px; color:#cfcbe4;
  background:rgba(255,255,255,.05); border:1px solid var(--line-soft); transition:.25s}
.social a:hover{border-color:var(--gold); color:var(--gold-lt)}
.next-nav{display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:2.4rem}
@media(max-width:640px){.next-nav{grid-template-columns:1fr}}
.next-nav a{display:block; padding:1.25rem 1.5rem; border-radius:var(--r);
  border:1px solid var(--line-soft); background:var(--panel); transition:.25s}
.next-nav a:hover{border-color:var(--gold); transform:translateY(-3px)}
.next-nav span{display:block; font-size:.82rem; color:var(--gold); margin-bottom:.3rem}
.next-nav b{font-family:var(--serif); font-size:1.15rem; font-weight:600}
.price-hero{display:flex; flex-wrap:wrap; align-items:baseline; gap:.6rem; font-family:var(--serif); font-weight:600}
.price-hero .amt{font-size:clamp(2.6rem,6vw,3.8rem); line-height:1}
.pill{display:inline-flex; align-items:center; gap:.5rem; padding:.45rem 1rem; border-radius:999px;
  background:rgba(212,175,55,.10); border:1px solid var(--line); color:var(--gold-lt); font-size:.88rem; font-weight:500}
.approach{display:grid; grid-template-columns:repeat(3,1fr); gap:1.15rem}
@media(max-width:860px){.approach{grid-template-columns:1fr}}
.foot .foot-h{font-family:var(--sans); font-size:.86rem; font-weight:600; letter-spacing:.02em;
  text-transform:none; color:var(--gold); margin:0 0 1rem; line-height:1.5}
.addr{font-style:normal}

/* ── Call buttons ──────────────────────────────────────────── */
.fab.call{background:linear-gradient(135deg,#f6dd8a,#d4af37 45%,#b8873a); box-shadow:0 14px 34px -10px rgba(212,175,55,.85)}
.fab.call svg{fill:#150f02; width:26px; height:26px}
.call-bar{position:fixed; left:0; right:0; bottom:0; z-index:65; display:none;
  padding:.7rem .9rem calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(5,6,15,.95); backdrop-filter:blur(14px); border-top:1px solid var(--line)}
.call-bar .btn{width:100%; gap:.5rem}
.call-bar .btn svg{width:18px; height:18px; fill:#150f02}
@media(max-width:700px){.call-bar{display:block} .fab{display:none} body{padding-bottom:80px}}

/* ── Form ──────────────────────────────────────────────────── */
.hp-field{position:absolute!important; left:-9999px; opacity:0; height:0; width:0; overflow:hidden}
.ok-msg.is-error{border-color:rgba(255,99,99,.45); background:rgba(255,99,99,.10); color:#ffc9c9}
.form button[disabled]{opacity:.6; cursor:progress}
.notice-box{padding:1rem 1.2rem; border-radius:12px; font-size:.95rem; margin-bottom:1.4rem}
.notice-ok{border:1px solid rgba(37,211,102,.4); background:rgba(37,211,102,.10); color:#b8f5cf}
.notice-err{border:1px solid rgba(255,99,99,.4); background:rgba(255,99,99,.10); color:#ffc9c9}

@media(max-width:860px){[style*="grid-template-columns"]{grid-template-columns:1fr !important}}

/* ══════════════════════════════════════════════
   WordPress core classes
   ══════════════════════════════════════════════ */
.screen-reader-text{border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px;
  overflow:hidden; padding:0; position:absolute!important; width:1px; word-wrap:normal!important}
.screen-reader-text:focus{background:#0a0b1e; border:1px solid var(--gold); border-radius:8px; clip:auto!important;
  clip-path:none; color:var(--gold-lt); display:block; font-size:.95rem; height:auto; left:12px; top:12px;
  line-height:normal; padding:.85rem 1.3rem; text-decoration:none; width:auto; z-index:100000}
body.admin-bar header.site{top:32px}
@media screen and (max-width:782px){body.admin-bar header.site{top:46px}}
.alignleft{float:left; margin:.4rem 1.6rem 1.2rem 0}
.alignright{float:right; margin:.4rem 0 1.2rem 1.6rem}
.aligncenter{clear:both; display:block; margin-inline:auto}
.alignwide{width:min(100vw - 3rem, 1320px); margin-inline:auto; max-width:none}
.alignfull{width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw)}
.wp-caption{max-width:100%}
.wp-caption-text,figcaption{font-size:.88rem; color:var(--muted-2); text-align:center; margin-top:.6rem}
.gallery{display:grid; gap:.9rem; grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.gallery-item img{border-radius:12px; border:1px solid var(--line-soft)}

.entry-content > *{max-width:74ch}
.entry-content > .alignwide,.entry-content > .alignfull,.entry-content > figure,
.entry-content > .wp-block-gallery,.entry-content > .wp-block-table{max-width:none}
.entry-content h2{margin-top:2.4rem}
.entry-content h3{margin-top:1.9rem}
.entry-content a{color:var(--gold-lt); text-decoration:underline; text-underline-offset:3px;
  text-decoration-color:rgba(212,175,55,.45)}
.entry-content a:hover{text-decoration-color:var(--gold)}
.entry-content ul,.entry-content ol{color:#c3bfd8; padding-left:1.4rem; margin:0 0 1.2rem}
.entry-content li{margin-bottom:.5rem}
.entry-content img{border-radius:14px}
.entry-content blockquote{margin:2rem 0; padding:1.3rem 1.6rem; border-left:2px solid var(--gold);
  background:var(--panel); border-radius:0 14px 14px 0}
.entry-content blockquote p{font-size:1.1rem; color:#ded9f2; margin:0}
.entry-content pre{background:#080916; border:1px solid var(--line-soft); border-radius:12px;
  padding:1.2rem; overflow:auto; font-size:.9rem; color:#d8d4ec}
.entry-content code{background:rgba(255,255,255,.07); padding:.15em .45em; border-radius:5px}
.entry-content table{width:100%; border-collapse:collapse; margin-bottom:1.4rem; font-size:.96rem}
.entry-content th,.entry-content td{border:1px solid var(--line-soft); padding:.75rem .9rem; text-align:left}
.entry-content th{background:rgba(212,175,55,.09); color:var(--gold-lt); font-weight:600}
.entry-content hr,.wp-block-separator{border:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--line),transparent); margin:2.6rem 0}

/* Blog */
.entry-meta{display:flex; flex-wrap:wrap; gap:.4rem .9rem; font-size:.85rem; color:var(--muted-2); margin-bottom:.9rem}
.entry-meta a:hover{color:var(--gold-lt)}
.post-card{display:flex; flex-direction:column; padding:0; overflow:hidden}
.post-card .thumb{aspect-ratio:16/9; overflow:hidden; background:#0d0e22}
.post-card .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.post-card:hover .thumb img{transform:scale(1.05)}
.post-card .body{padding:1.5rem 1.5rem 1.7rem; display:flex; flex-direction:column; flex:1}
.post-card h3{font-size:1.18rem; margin-bottom:.5rem}
.post-card .more{margin-top:auto; padding-top:.9rem; font-size:.9rem; color:var(--gold-lt)}
.content-sidebar{display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:2.6rem; align-items:start}
@media(max-width:900px){.content-sidebar{grid-template-columns:1fr}}
.widget{background:var(--panel); border:1px solid var(--line-soft); border-radius:var(--r); padding:1.5rem; margin-bottom:1.2rem}
.widget-title{font-family:var(--sans); font-size:.9rem; font-weight:600; color:var(--gold); margin-bottom:1rem}
.widget ul{list-style:none; margin:0; padding:0; display:grid; gap:.55rem}
.widget li{font-size:.95rem; color:var(--muted)}
.widget-area{position:sticky; top:96px}
@media(max-width:900px){.widget-area{position:static}}
.search-form{display:flex; gap:.5rem}
.search-form input[type=search]{flex:1; padding:.75rem .95rem; border-radius:10px; background:rgba(255,255,255,.045);
  border:1px solid var(--line-soft); color:var(--ink); font:400 .95rem var(--sans)}
.pagination{display:flex; flex-wrap:wrap; gap:.45rem; justify-content:center; margin-top:2.8rem}
.pagination .page-numbers{display:grid; place-items:center; min-width:44px; height:44px; padding:0 .8rem;
  border-radius:12px; border:1px solid var(--line-soft); background:var(--panel); font-size:.95rem; transition:.25s}
.pagination .page-numbers:hover{border-color:var(--gold); color:var(--gold-lt)}
.pagination .current{background:linear-gradient(135deg,#f6dd8a,#d4af37); color:#150f02; border-color:transparent; font-weight:600}
.post-nav{display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:2.6rem}
@media(max-width:640px){.post-nav{grid-template-columns:1fr}}
.post-nav a{display:block; padding:1.2rem 1.4rem; border-radius:var(--r); border:1px solid var(--line-soft);
  background:var(--panel); transition:.25s}
.post-nav a:hover{border-color:var(--gold)}
.post-nav span{display:block; font-size:.82rem; color:var(--gold); margin-bottom:.35rem}
.comment-list{list-style:none; margin:0; padding:0}
.comment-list ol.children{list-style:none; margin:0 0 0 1.6rem; padding:0}
.comment-body{background:var(--panel); border:1px solid var(--line-soft); border-radius:var(--r); padding:1.3rem 1.4rem; margin-bottom:1rem}
.comment-metadata{font-size:.82rem; color:var(--muted-2); margin-bottom:.7rem}
.comment-form{display:grid; gap:1rem}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
  width:100%; padding:.85rem 1rem; border-radius:12px; background:rgba(255,255,255,.045);
  border:1px solid var(--line-soft); color:var(--ink); font:400 .95rem var(--sans)}
.comment-form textarea{min-height:130px}
.comment-form .submit{justify-self:start; padding:.86rem 1.6rem; border-radius:999px; border:0; cursor:pointer;
  background:linear-gradient(135deg,#f6dd8a,#d4af37 45%,#b8873a); color:#150f02; font:600 .95rem var(--sans)}

/* Narrow screens: keep the eyebrow on one line where it can be. */
@media(max-width:520px){
  .eyebrow{letter-spacing:.16em; font-size:.66rem}
}
