/* Focused storefront refinements requested after homepage review. */
.plain-action,.cart-action{font-size:13px;font-weight:700;letter-spacing:.01em}
.explore-button{font-size:15px}
.header-search input{font-size:14px}
.course-shortcuts{min-height:52px;gap:28px}
.course-shortcuts span{font-size:11px}
.course-shortcuts button{font-size:13px;font-weight:700}
.action-icon{font-size:15px}
.mobile-search-trigger{display:none;width:42px;height:42px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:24px;cursor:pointer}

.slide-tarot,.slide-consult{background-size:cover;background-repeat:no-repeat}
.slide-tarot{background-position:66% 28%}
.slide-consult{background-position:35% 75%}

.hero-depth{position:absolute;right:5%;top:50%;width:min(42vw,610px);aspect-ratio:1;transform:translateY(-50%);z-index:1;perspective:900px;pointer-events:none}
.depth-ring{position:absolute;inset:7%;border:1px solid rgba(244,183,65,.35);border-radius:50%;animation:depthSpin 24s linear infinite}
.depth-ring:before,.depth-ring:after{content:"";position:absolute;inset:12%;border:1px dashed rgba(255,255,255,.22);border-radius:50%}
.depth-ring:after{inset:28%;border-style:solid;border-color:rgba(244,183,65,.25)}
.ring-b{inset:22%;animation-direction:reverse;animation-duration:16s;transform:rotateX(66deg)}
.depth-tile{position:absolute;width:31%;aspect-ratio:1;border:1px solid rgba(255,255,255,.45);border-radius:18px;background-image:url("../assets/course-categories.webp");background-size:300% 200%;box-shadow:0 26px 55px rgba(0,0,0,.35);animation:depthFloat 7s ease-in-out infinite;overflow:hidden}
.depth-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 45%)}
.tile-a{right:8%;top:12%;background-position:0 0;transform:rotateY(-16deg) rotateZ(7deg)}
.tile-b{right:35%;bottom:8%;background-position:50% 0;animation-delay:-2.5s;transform:rotateY(18deg) rotateZ(-8deg)}
.tile-c{left:3%;top:34%;width:24%;background-position:100% 100%;animation-delay:-4s;transform:rotateY(-12deg) rotateZ(-5deg)}
@keyframes depthSpin{to{transform:rotate(360deg)}}
@keyframes depthFloat{0%,100%{translate:0 0}50%{translate:0 -18px}}

.hero-price{display:flex;align-items:center;gap:12px;margin:20px 0 4px;color:#fff}
.hero-price small{font-size:12px;text-transform:uppercase;letter-spacing:.12em;opacity:.78}
.hero-price strong{font-size:30px;color:var(--gold)}
.hero-price span{padding:5px 8px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}

.proof-strip{margin-top:0}
.courses-section{padding:46px max(4vw,34px) 64px}
.courses-section .section-heading{display:block;max-width:1650px;margin:auto}
.popular-heading-row{display:flex;align-items:flex-end;gap:18px}
.courses-section .section-heading h2{font-size:clamp(36px,4vw,58px);line-height:.95;margin-top:8px}
.catalogue-count{margin-bottom:4px;padding:8px 12px;border-radius:999px;background:var(--gold);color:var(--navy);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.course-toolbar{margin:22px auto 16px;gap:12px}
.filter-chips{gap:8px}
.filter-chip{min-height:44px;padding:0 16px;font-size:12px;font-weight:700}
.sort-control{min-height:44px}
.course-grid{gap:14px}
.course-image{aspect-ratio:1.72;background-size:300% auto}
.course-card-body{padding:15px 15px 14px}
.course-card h3{margin:7px 0 12px;min-height:39px;font-size:19px;line-height:1.08}
.course-price{margin-top:auto;padding-top:11px}
.course-price span{font-size:10px}
.course-price strong{font-size:23px;color:var(--navy)}
.demo-price-tag{display:inline-flex;margin-left:auto;padding:4px 7px;border-radius:999px;background:#fff2ce;color:#795000;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.course-card-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.view-course,.add-course{min-height:44px;width:auto;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.view-course{border:1px solid var(--navy);background:#fff;color:var(--navy)}
.add-course{border:1px solid var(--gold);background:var(--gold);color:var(--navy)}
.course-section-foot{margin-top:22px}
.category-card,.consult-image,.visual-card{background-size:310% auto}
.category-card:hover{background-size:315% auto}

@media(max-width:1100px){
  .course-shortcuts{gap:18px}
  .course-shortcuts button{font-size:12px}
  .hero-depth{right:-6%;width:54vw;opacity:.72}
}
@media(max-width:820px){
  .mobile-search-trigger{display:inline-grid;place-items:center}
  .header-actions{display:flex}
  .header-actions .plain-action{display:none}
  .header-search.mobile-open{display:flex;position:absolute;left:14px;right:14px;top:78px;max-width:none;z-index:60;background:#fff;box-shadow:0 18px 45px rgba(6,8,40,.2)}
  .hero-depth{right:-28%;width:84vw;opacity:.45}
  .courses-section{padding:38px 18px 55px}
}
@media(max-width:560px){
  .cart-action{font-size:0;gap:4px;padding:0 10px}
  .cart-action .action-icon,.cart-action .cart-count{font-size:14px}
  .hero-depth{display:none}
  .hero-price{margin-top:14px}
  .popular-heading-row{align-items:center;justify-content:space-between}
  .catalogue-count{margin:0}
  .course-toolbar{margin-top:17px}
  .filter-chips{display:flex;overflow:auto;flex-wrap:nowrap;padding-bottom:5px}
  .filter-chip{white-space:nowrap}
}

/* Storefront header: persistent search, clear text links and utility icons. */
.header-main{height:78px;gap:12px;padding-left:clamp(16px,3vw,44px);padding-right:clamp(16px,3vw,44px)}
.primary-nav{margin-left:6px}
.primary-nav .explore-button{height:46px;padding:0 12px;font-size:13px}
.header-search{display:flex;position:relative;left:auto;right:auto;top:auto;z-index:10;height:48px;max-width:none;flex:1;border:1px solid #77798e;border-radius:999px;box-shadow:none;background:#fff}
.header-search>span.search-glyph{flex:0 0 auto;margin:0 13px 0 17px;color:var(--navy);font-size:0}
.header-search input{padding:0 18px 0 0;font-size:13px;background:transparent}
.header-search-results{top:55px;border-radius:4px;overflow:hidden}
.header-actions{gap:2px}
.plain-action{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 10px;font-size:14px;text-decoration:none}
.about-nav{color:var(--navy)}
.community-nav{height:44px;padding:0 14px;font-size:12px}
.search-toggle{display:none}
.cart-action{width:46px;height:44px;justify-content:center;padding:0;position:relative;background:transparent;color:var(--navy)}
.cart-action:hover{background:var(--cream)}
.cart-count{position:absolute;right:1px;top:1px;height:17px;min-width:17px;margin:0;font-size:9px}
.cart-glyph{width:18px;height:14px}

@media(max-width:1280px){
  .about-nav{display:none}
  .community-nav{padding:0 11px}
}
@media(max-width:1080px){
  .brand>span{display:none}
  .header-actions .consultation-trigger{display:none}
  .header-search input{font-size:12px}
}
@media(max-width:820px){
  .header-main{height:68px}
  .primary-nav{display:none}
  .header-search{display:none;position:absolute;left:10px;right:10px;top:64px;max-width:none;height:52px;border-radius:4px;box-shadow:0 18px 45px rgba(10,12,47,.2)}
  .header-search.mobile-open{display:flex}
  .search-toggle{display:inline-flex;width:42px;height:42px;justify-content:center;padding:0}
  .community-nav{display:none}
}
@media(max-width:560px){
  .header-actions .login-trigger span:last-child{display:none}
  .header-actions .login-trigger{width:40px;padding:0}
}

/* Continuously moving golden energy wires in the owner panel. */
.owner-visual{isolation:isolate;background:linear-gradient(135deg,#e9aa29 0%,#f5bd4f 52%,#dfa126 100%)}
.energy-wires{position:absolute;inset:-12%;z-index:0;overflow:hidden;pointer-events:none;opacity:.88}
.energy-wires:before{content:"";position:absolute;inset:6%;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,248,205,.72) 0 1deg,transparent 1deg 18deg);-webkit-mask:radial-gradient(circle,transparent 0 52%,#000 52.4% 52.8%,transparent 53.2%);mask:radial-gradient(circle,transparent 0 52%,#000 52.4% 52.8%,transparent 53.2%);animation:energySpin 34s linear infinite}
.energy-wires:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 28%,rgba(255,255,220,.85) 0 2px,transparent 3px),radial-gradient(circle at 76% 20%,rgba(255,242,176,.8) 0 1px,transparent 3px),radial-gradient(circle at 82% 72%,rgba(255,255,220,.75) 0 2px,transparent 4px),radial-gradient(circle at 31% 82%,rgba(255,245,190,.75) 0 1px,transparent 3px);background-size:180px 180px,230px 230px,290px 290px,340px 340px;animation:energyDust 18s linear infinite}
.energy-wire{position:absolute;left:50%;top:50%;border:1px solid rgba(255,246,195,.62);border-radius:50%;transform-origin:center;box-shadow:0 0 18px rgba(255,239,147,.18),inset 0 0 18px rgba(255,239,147,.12)}
.wire-one{width:84%;height:46%;margin:-23% 0 0 -42%;transform:rotate(18deg);animation:wireSweepOne 15s ease-in-out infinite alternate}
.wire-two{width:70%;height:88%;margin:-44% 0 0 -35%;border-style:dashed;transform:rotate(-28deg);animation:wireSweepTwo 19s ease-in-out infinite alternate}
.wire-three{width:108%;height:62%;margin:-31% 0 0 -54%;transform:rotate(63deg);opacity:.7;animation:wireSweepThree 23s ease-in-out infinite alternate}
.energy-dot{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3px;border-radius:50%;background:#fff9c8;box-shadow:0 0 6px #fff,0 0 18px #fff0a6,0 0 32px rgba(255,241,134,.75);transform-origin:3px 3px}
.dot-one{animation:energyOrbitOne 8s linear infinite}
.dot-two{animation:energyOrbitTwo 12s linear infinite reverse}
.dot-three{width:5px;height:5px;animation:energyOrbitThree 16s linear infinite}
.dot-four{width:4px;height:4px;animation:energyOrbitFour 10s linear infinite reverse}
.owner-visual>img{z-index:2;animation:logoBreathe 6s ease-in-out infinite}
.owner-visual .owner-seal{z-index:3}
@keyframes energySpin{to{transform:rotate(360deg)}}
@keyframes energyDust{to{background-position:180px 90px,-230px 120px,145px -290px,-170px 340px}}
@keyframes wireSweepOne{from{transform:rotate(10deg) scale(.96)}to{transform:rotate(34deg) scale(1.05)}}
@keyframes wireSweepTwo{from{transform:rotate(-38deg) scale(1.04)}to{transform:rotate(-14deg) scale(.94)}}
@keyframes wireSweepThree{from{transform:rotate(55deg) scale(.97)}to{transform:rotate(78deg) scale(1.04)}}
@keyframes energyOrbitOne{from{transform:rotate(0) translateX(290px)}to{transform:rotate(360deg) translateX(290px)}}
@keyframes energyOrbitTwo{from{transform:rotate(0) translateX(205px) translateY(75px)}to{transform:rotate(360deg) translateX(205px) translateY(75px)}}
@keyframes energyOrbitThree{from{transform:rotate(0) translateX(145px) translateY(-120px)}to{transform:rotate(360deg) translateX(145px) translateY(-120px)}}
@keyframes energyOrbitFour{from{transform:rotate(0) translateX(345px) translateY(-55px)}to{transform:rotate(360deg) translateX(345px) translateY(-55px)}}
@keyframes logoBreathe{0%,100%{transform:translateY(0);box-shadow:0 18px 50px rgba(16,19,66,.22)}50%{transform:translateY(-7px);box-shadow:0 28px 60px rgba(16,19,66,.3)}}
@media(max-width:700px){.energy-wires{inset:-20%}.energy-dot{display:none}}
@media(prefers-reduced-motion:reduce){.energy-wires:before,.energy-wires:after,.energy-wire,.energy-dot,.owner-visual>img{animation:none}}

/* Premium compact footer and visible WhatsApp actions. */
.site-footer{padding:0;background:#0b0e36;color:#fff;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(620px,1.4fr);gap:0}
.footer-lead{padding:64px clamp(34px,5vw,82px);background:linear-gradient(145deg,#15194f,#090b2d);border-right:1px solid rgba(255,255,255,.11)}
.footer-logo{display:flex;align-items:center;gap:13px;text-decoration:none;width:max-content}
.footer-logo img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.footer-logo span{display:flex;flex-direction:column;gap:4px}
.footer-logo strong{font:800 16px var(--display);text-transform:uppercase;letter-spacing:.09em}
.footer-logo small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}
.footer-lead h2{font:800 clamp(34px,3.2vw,52px)/.98 var(--display);letter-spacing:-.045em;margin:34px 0 18px}
.footer-lead h2 em{font:500 1.06em var(--serif);color:var(--gold)}
.footer-lead>p{max-width:490px;margin:0 0 28px;color:rgba(255,255,255,.66);font-size:14px;line-height:1.7}
.footer-whatsapp{width:min(440px,100%);min-height:64px;border:0;border-radius:5px;background:#25d366;color:#071d12;padding:10px 15px 10px 10px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;text-align:left}
.footer-whatsapp:hover{background:#3be07b;transform:translateY(-2px)}
.footer-whatsapp>span:nth-child(2){display:flex;flex-direction:column;gap:3px}
.footer-whatsapp strong{font-size:12px}
.footer-whatsapp small{font-size:9px;color:#174b2c}
.footer-whatsapp>b{font-size:20px}
.wa-mark{width:42px;height:42px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font:700 23px/1 Arial;box-shadow:0 0 0 3px rgba(255,255,255,.16)}
.footer-links-area{padding:72px clamp(35px,5vw,78px) 55px;display:grid;grid-template-columns:1fr 1fr 1.55fr;gap:clamp(28px,4vw,70px);align-content:start}
.site-footer .footer-column{gap:14px}
.site-footer .footer-column>strong{color:var(--gold);font-size:11px;letter-spacing:.12em;margin-bottom:7px}
.site-footer .footer-column a,.site-footer .footer-column button{color:rgba(255,255,255,.76);font-size:14px;line-height:1.35;transition:.2s}
.site-footer .footer-column a:hover,.site-footer .footer-column button:hover{color:#fff;transform:translateX(3px)}
.site-footer .footer-column .footer-cart{display:block;width:auto;height:auto;background:transparent;padding:0;border-radius:0;color:rgba(255,255,255,.76);font-size:12px}
.site-footer .footer-column .footer-cart span{color:var(--gold)}
.footer-help{padding-left:28px;border-left:1px solid rgba(255,255,255,.12)}
.footer-help>p{margin:0 0 10px;color:rgba(255,255,255,.58);font-size:14px;line-height:1.65}
.footer-search-link{display:flex!important;align-items:center;gap:11px!important;width:100%;padding:13px 14px!important;border:1px solid rgba(255,255,255,.24)!important;color:#fff!important}
.footer-search-link .search-glyph{width:15px;height:15px;flex:none}
.footer-consult{color:var(--gold)!important;font-weight:700!important}
.site-footer .footer-bottom{grid-column:1/-1;margin:0;padding:20px clamp(34px,5vw,82px);border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;color:rgba(255,255,255,.5);font-size:13px}
.site-footer .footer-bottom a{color:var(--gold);text-decoration:none}
.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:25;min-width:150px;height:58px;border:0;border-radius:30px;padding:7px 17px 7px 8px;background:#25d366;color:#fff;display:flex;align-items:center;gap:10px;box-shadow:0 14px 35px rgba(12,105,53,.38);font-size:12px;font-weight:800}
.floating-whatsapp:hover{background:#20bd5c;transform:translateY(-3px)}
.floating-whatsapp .wa-mark{width:43px;height:43px;flex:none}
@media(max-width:1050px){
  .site-footer{grid-template-columns:1fr}
  .footer-lead{border-right:0;border-bottom:1px solid rgba(255,255,255,.11)}
  .footer-links-area{padding-top:50px}
}
@media(max-width:680px){
  .footer-lead{padding:48px 20px}
  .footer-links-area{padding:42px 20px;grid-template-columns:1fr 1fr}
  .footer-help{grid-column:1/-1;padding:26px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .site-footer .footer-bottom{padding:18px 20px;gap:12px}
  .floating-whatsapp{min-width:58px;width:58px;height:58px;padding:7px;border-radius:50%}
  .floating-whatsapp b{display:none}
  .floating-whatsapp .wa-mark{width:44px;height:44px}
}

/* Useful Explore dropdown and a real chevron. */
.nav-chevron{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s;margin-left:3px}
.explore-button[aria-expanded="true"] .nav-chevron{transform:rotate(225deg) translate(-2px,-1px)}
.site-header .mega-menu{top:78px;left:clamp(20px,6vw,90px);width:min(1080px,calc(100% - 40px));transform:translateY(10px);grid-template-columns:1fr;padding:0;gap:0;border-top:4px solid var(--gold);box-shadow:0 25px 60px rgba(8,10,46,.24)}
.site-header .mega-menu.open{transform:translateY(0)}
.site-header .mega-intro{padding:34px;background:linear-gradient(145deg,#15194f,#090b2d)}
.site-header .mega-intro h2{font-size:31px;margin:13px 0 28px}
.site-header .mega-intro>button{border:0;background:transparent;color:var(--gold);font-size:11px;font-weight:800;padding:0}
.site-header .mega-groups{grid-template-columns:repeat(3,1fr);gap:0}
.site-header .mega-groups>button{min-height:124px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;padding:22px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:6px;color:var(--navy)}
.site-header .mega-groups>button:hover{background:var(--cream)}
.site-header .mega-groups>button>span{font-size:9px;font-weight:800;color:var(--gold2)}
.site-header .mega-groups>button>strong{font-size:14px}
.site-header .mega-groups>button>small{font-size:12x;line-height:1.4;color:var(--muted)}

/* Golden energy motion in the navy learning-path section. */
.campaign-learning{position:relative;isolation:isolate;background:radial-gradient(circle at 72% 44%,#202660 0,#111544 38%,#090c35 100%)}
.campaign-learning .campaign-copy,.campaign-learning .campaign-visual{position:relative;z-index:2}
.campaign-energy{position:absolute;inset:-25%;z-index:0;overflow:hidden;pointer-events:none;opacity:.58}
.campaign-energy:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 22%,rgba(255,224,133,.8) 0 1px,transparent 3px),radial-gradient(circle at 68% 32%,rgba(255,240,181,.75) 0 2px,transparent 4px),radial-gradient(circle at 88% 76%,rgba(255,211,91,.65) 0 1px,transparent 3px),radial-gradient(circle at 38% 83%,rgba(255,236,168,.7) 0 1px,transparent 3px);background-size:220px 220px,310px 310px,370px 370px,440px 440px;animation:campaignDust 25s linear infinite}
.campaign-orbit{position:absolute;left:58%;top:50%;border:1px solid rgba(243,173,40,.46);border-radius:50%;box-shadow:0 0 24px rgba(243,173,40,.08)}
.orbit-one{width:58%;height:38%;transform:translate(-50%,-50%) rotate(17deg);animation:campaignOrbitOne 18s ease-in-out infinite alternate}
.orbit-two{width:43%;height:72%;border-style:dashed;transform:translate(-50%,-50%) rotate(-35deg);animation:campaignOrbitTwo 22s ease-in-out infinite alternate}
.orbit-three{width:76%;height:54%;transform:translate(-50%,-50%) rotate(64deg);opacity:.62;animation:campaignOrbitThree 28s ease-in-out infinite alternate}
.campaign-spark{position:absolute;left:58%;top:50%;width:6px;height:6px;border-radius:50%;background:#ffe59b;box-shadow:0 0 8px #fff0be,0 0 24px rgba(243,173,40,.9)}
.spark-one{animation:campaignSparkOne 10s linear infinite}
.spark-two{animation:campaignSparkTwo 14s linear infinite reverse}
.spark-three{width:4px;height:4px;animation:campaignSparkThree 18s linear infinite}
@keyframes campaignDust{to{background-position:220px -110px,-155px 310px,185px -370px,-220px 440px}}
@keyframes campaignOrbitOne{from{transform:translate(-50%,-50%) rotate(8deg) scale(.96)}to{transform:translate(-50%,-50%) rotate(31deg) scale(1.05)}}
@keyframes campaignOrbitTwo{from{transform:translate(-50%,-50%) rotate(-44deg) scale(1.04)}to{transform:translate(-50%,-50%) rotate(-19deg) scale(.94)}}
@keyframes campaignOrbitThree{from{transform:translate(-50%,-50%) rotate(55deg)}to{transform:translate(-50%,-50%) rotate(78deg)}}
@keyframes campaignSparkOne{from{transform:rotate(0) translateX(360px)}to{transform:rotate(360deg) translateX(360px)}}
@keyframes campaignSparkTwo{from{transform:rotate(0) translateX(235px) translateY(100px)}to{transform:rotate(360deg) translateX(235px) translateY(100px)}}
@keyframes campaignSparkThree{from{transform:rotate(0) translateX(430px) translateY(-80px)}to{transform:rotate(360deg) translateX(430px) translateY(-80px)}}

/* Rated testimonial cards. */
.testimonial-card{width:390px;min-height:190px;display:block;padding:45px;border-top:3px solid var(--gold);box-shadow:0 10px 26px rgba(0,0,0,.12)}
.testimonial-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.testimonial-person{display:flex;align-items:center;gap:11px}
.testimonial-person>div:last-child{display:flex;flex-direction:column;gap:4px}
.testimonial-person strong{font-size:14px;color:var(--navy)}
.testimonial-person small{font-size:8px;color:var(--red);letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.testimonial-rating{display:flex;align-items:center;gap:6px;white-space:nowrap}
.testimonial-rating span{color:var(--gold2);font-size:13px;letter-spacing:1px}
.testimonial-rating b{font-size:10px;color:var(--navy)}
.testimonial-card>p{font:500 20px/1.32 var(--serif);margin:18px 0;color:var(--navy)}
.testimonial-meta{border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.testimonial-meta span{font-size:11px;color:var(--muted)}
.testimonial-meta i{font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold2);font-weight:800}
@media(max-width:820px){
  .site-header .mega-menu{display:none}
  .campaign-energy{inset:-35%;opacity:.45}
  .campaign-spark{display:none}
}
@media(max-width:540px){.testimonial-card{width:320px;min-height:185px}.testimonial-rating span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.campaign-energy:before,.campaign-orbit,.campaign-spark{animation:none}}

/* Occult Tatva signature watermark: circle, six-point star and red centre. */
.site-footer{position:relative;overflow:hidden;isolation:isolate}
.footer-lead,.footer-links-area,.site-footer .footer-bottom{position:relative;z-index:2}
.footer-sigil{position:absolute;z-index:0;right:-155px;bottom:-235px;width:690px;height:690px;color:var(--gold);pointer-events:none;filter:drop-shadow(0 0 24px rgba(243,173,40,.16))}
.sigil-orbit{position:absolute;border-radius:50%;inset:4%;border:2px solid currentColor;opacity:.24}
.orbit-outer{border-style:dashed;animation:sigilOrbit 42s linear infinite}
.orbit-outer:before,.orbit-outer:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:currentColor;box-shadow:0 0 18px currentColor}
.orbit-outer:before{left:11%;top:13%}
.orbit-outer:after{right:8%;bottom:18%}
.footer-sigil .orbit-inner{inset:17%;border-width:1px;opacity:.14;animation:sigilOrbit 31s linear infinite reverse}
.sigil-star{position:absolute;inset:8%;display:grid;place-items:center;font-family:Georgia,"Times New Roman",serif;font-size:470px;font-weight:400;line-height:1;color:var(--gold);opacity:.18;text-shadow:0 0 28px rgba(243,173,40,.24);animation:sigilFloat 8s ease-in-out infinite}
.sigil-centre{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px;border-radius:50%;background:#ef3340;box-shadow:0 0 0 12px rgba(239,51,64,.12),0 0 36px rgba(239,51,64,.58);animation:sigilPulse 3.4s ease-in-out infinite}
@keyframes sigilOrbit{to{transform:rotate(360deg)}}
@keyframes sigilFloat{0%,100%{transform:scale(.985)}50%{transform:scale(1.015)}}
@keyframes sigilPulse{0%,100%{transform:scale(.9);opacity:.82}50%{transform:scale(1.12);opacity:1}}
@media(max-width:900px){.footer-sigil{right:-245px;bottom:-250px}.sigil-star{opacity:.13}.sigil-orbit{opacity:.17}}
@media(max-width:560px){.footer-sigil{width:520px;height:520px;right:-270px;bottom:-175px}.sigil-star{font-size:350px}.sigil-centre{width:42px;height:42px;margin:-21px}}
@media(prefers-reduced-motion:reduce){.orbit-outer,.footer-sigil .orbit-inner,.sigil-star,.sigil-centre{animation:none}}

/* Final desktop header hierarchy: logo, catalogue menu, search, utilities. */
@media(min-width:821px){
  .header-main{display:flex;align-items:center;gap:14px}
  .primary-nav{display:flex;flex:none;margin:0}
  .primary-nav .explore-button{display:inline-flex;min-width:112px;justify-content:center;/*border:1px solid var(--line);border-radius:4px;*/background:#fff;padding:0 14px}
  .primary-nav .explore-button:hover,.primary-nav .explore-button[aria-expanded="true"]{border-color:var(--gold2);background:#fff9eb;color:var(--navy)}
  .header-search{display:flex!important;position:relative!important;left:auto!important;right:auto!important;top:auto!important;flex:1 1 520px;min-width:260px;max-width:650px;height:48px;margin-right:auto;border:1px solid #8b8c9b;border-radius:999px;box-shadow:none}
  .header-search input{display:block;width:100%;font-size:13px}
  .header-actions{flex:none;margin-left:0}
  .header-actions .search-toggle{display:none!important}
}
@media(max-width:1180px) and (min-width:821px){
  .header-actions .about-nav,.header-actions .consultation-trigger{display:none}
  .community-nav{padding:0 11px}
  .header-search{max-width:none}
}
@media(max-width:820px){
  .header-search{display:none!important}
  .header-search.mobile-open{display:flex!important}
  .header-actions .search-toggle{display:inline-flex!important}
}

/* V11 content alignment, catalogue controls and price rhythm. */
.courses-section .section-heading,.course-toolbar,.course-grid,.course-section-foot,.category-gallery .section-heading,.category-grid,.guidance-intro,.guidance-grid{width:100%;max-width:1320px;margin-left:auto;margin-right:auto}
.courses-section{padding-top:58px}
.course-toolbar{align-items:flex-start;margin-top:24px;padding-top:18px}
.filter-chips{display:flex;flex:1;flex-wrap:wrap;gap:9px;overflow:visible}
.filter-chip{height:50px;min-height:50px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;border-radius:3px}
.sort-control{position:relative;flex:none;width:190px;height:50px;min-height:50px;padding:0 16px;justify-content:flex-start;gap:10px;border-radius:3px;background:#fff;font-size:9px}
.sort-control select{appearance:none;-webkit-appearance:none;flex:1;height:100%;padding:0 24px 0 0;font-size:11px;cursor:pointer}
.sort-control:after{content:"";position:absolute;right:16px;top:18px;width:8px;height:8px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg);pointer-events:none}
.course-price{gap:14px;justify-content:flex-start;min-height:46px}
.price-copy{display:flex;align-items:baseline;gap:14px;min-width:0}
.price-copy span{white-space:nowrap}
.price-copy strong{font-size:23px;letter-spacing:-.025em;white-space:nowrap}
.course-price .demo-price-tag{margin-left:auto;flex:none}
.course-card-actions{align-items:stretch}
.view-course,.add-course{display:flex;align-items:center;justify-content:center;text-align:center}

/* About Us copy alignment. */
.about-section .owner-copy>p:not(.overline){margin:20px 0 0;max-width:590px}
.about-section .owner-copy>p:not(.overline)+p{margin-top:10px}
.about-section .owner-points{margin-top:24px}

/* Split FAQ and consolidated consultation services. */
.guidance-faq-section{padding:92px max(5vw,40px);background:var(--cream)}
.guidance-intro{margin-bottom:40px;display:flex;align-items:flex-end;justify-content:space-between;gap:45px}
.guidance-intro h2{font:800 clamp(38px,4vw,60px)/.96 var(--display);letter-spacing:-.05em;margin:0;color:var(--navy)}
.guidance-intro h2 em{font-family:var(--serif);font-weight:500;color:var(--gold2)}
.guidance-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);gap:22px;align-items:stretch}
.faq-panel{background:#fff;border:1px solid var(--line);padding:34px}
.split-heading small,.services-content>small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:800}
.split-heading h3{font:700 29px/1.1 var(--display);color:var(--navy);margin:8px 0 26px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item>button{width:100%;min-height:70px;border:0;background:#fff;padding:18px 5px;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;color:var(--navy);font-size:16px;font-weight:700}
.faq-item>button i{width:12px;height:12px;border-right:2px solid var(--gold2);border-bottom:2px solid var(--gold2);transform:rotate(45deg);transition:.25s;flex:none;margin-right:5px}
.faq-item.open>button i{transform:rotate(225deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .32s ease}
.faq-item.open .faq-answer{max-height:170px}
.faq-answer p{margin:0;padding:0 38px 20px 5px;color:var(--muted);font-size:14px;line-height:1.7}
.services-panel{background:var(--navy);color:#fff;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.services-visual{height:210px;background-image:linear-gradient(0deg,rgba(8,10,44,.55),rgba(8,10,44,.05)),url("../assets/course-categories.webp");background-size:300% auto;background-position:0 0;display:flex;align-items:flex-end;padding:20px}
.services-visual span{padding:7px 10px;background:var(--gold);color:var(--navy);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.services-content{padding:30px;display:flex;flex-direction:column;flex:1}
.services-content>small{color:var(--gold)}
.services-content>h3{font:700 27px/1.08 var(--display);margin:10px 0 14px}
.services-content>p{margin:0 0 22px;color:rgba(255,255,255,.65);font-size:11px;line-height:1.65}
.service-list{border-top:1px solid rgba(255,255,255,.16)}
.service-list>button{width:100%;min-height:78px;padding:14px 0;border:0;border-bottom:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;text-align:left}
.service-list>button>span{font-size:9px;color:var(--gold)}
.service-list>button>div{display:flex;flex-direction:column;gap:5px}
.service-list>button strong{font-size:13px}
.service-list>button small{font-size:12px;color:rgba(255,255,255,.55)}
.service-list>button>b{font-size:18px;color:var(--gold)}
.services-whatsapp{margin-top:22px;min-height:56px;border:0;border-radius:4px;background:#25d366;color:#092514;padding:7px 14px 7px 8px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;text-align:left;font-size:12px;font-weight:800}
.services-whatsapp .wa-mark{width:38px;height:38px}

/* Genuine WhatsApp mark and sticky enquiry. */
.wa-mark img{display:block;width:23px;height:23px;object-fit:contain}
.sticky-enquire{position:fixed;right:0;top:47%;z-index:24;min-height:52px;border:0;border-radius:28px 0 0 28px;background:var(--gold);color:var(--navy);padding:6px 16px 6px 7px;display:flex;align-items:center;gap:10px;box-shadow:0 12px 32px rgba(16,19,66,.2);font-size:11px;font-weight:800}
.sticky-enquire:hover{padding-right:22px;background:#ffc34d}
.sticky-enquire .wa-mark{width:39px;height:39px;background:#25d366}

/* Cart language and alignment. */
.drawer-head{align-items:flex-start}
.drawer-head h2{font-size:30px}
.drawer-head h2 span{display:inline-flex;margin-left:4px}
.drawer-foot .button{font-size:11px}

@media(max-width:1050px){
  .guidance-grid{grid-template-columns:1fr}
  .services-panel{display:grid;grid-template-columns:38% 1fr}
  .services-visual{height:auto;min-height:100%}
}
@media(max-width:720px){
  .guidance-faq-section{padding:64px 14px}
  .guidance-intro{display:block;margin-bottom:28px}
  .guidance-grid{display:block}
  .faq-panel{padding:24px 18px;margin-bottom:16px}
  .faq-item>button{font-size:12px;min-height:62px}
  .services-panel{display:block}
  .services-visual{height:210px}
  .sticky-enquire{display:none}
  .course-toolbar{display:block}
  .filter-chips{flex-wrap:nowrap;overflow:auto;padding-bottom:8px}
  .sort-control{width:100%;margin-top:10px}
  .price-copy{gap:10px}
}
@media(min-width:721px){.courses-section{padding-left:max(5vw,40px);padding-right:max(5vw,40px)}}
@media(prefers-reduced-motion:reduce){.depth-ring,.depth-tile{animation:none}}

/* Real academy navigation */
.announcement-inner{min-height:42px;justify-content:space-between;max-width:1500px;font-size:12px}
.announcement-inner p{color:#fff}
.announcement-inner p strong{color:var(--gold);margin-right:5px}
.announcement-link{font-size:11px;padding:5px 0}
.header-main{position:relative;height:82px;gap:24px}
.brand strong{font-size:14px}
.brand small{font-size:9px}
.primary-nav{display:flex;align-items:center;gap:15px;margin-left:auto;}
.nav-link{height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 13px;border:0;background:transparent;color:var(--navy);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.nav-link:hover{color:var(--gold2)}
.explore-button{height:44px;border:0;padding:0 13px;background:transparent;border-radius:0}
.header-search{display:none;position:absolute;left:clamp(18px,4vw,62px);right:clamp(18px,4vw,62px);top:74px;max-width:none;height:50px;z-index:65;border:0;box-shadow:0 18px 45px rgba(10,12,47,.2)}
.header-search.mobile-open{display:flex}
.header-search input{font-size:14px}
.header-actions{gap:5px}
.search-toggle,.community-nav{height:44px;border:0;background:transparent;display:inline-flex;align-items:center;gap:8px;padding:0 12px;color:var(--navy);font-size:13px;font-weight:700;white-space:nowrap}
.search-toggle:hover{background:var(--cream)}
.search-glyph{width:14px;height:14px;border:2px solid currentColor;border-radius:50%;position:relative;display:block}
.search-glyph:after{content:"";position:absolute;width:7px;height:2px;background:currentColor;right:-5px;bottom:-2px;transform:rotate(45deg);border-radius:2px}
.user-glyph{width:16px;height:16px;border:2px solid currentColor;border-radius:50%;position:relative;display:inline-block;margin-right:4px}
.user-glyph:before{content:"";position:absolute;width:4px;height:4px;border:1.5px solid currentColor;border-radius:50%;left:4px;top:2px}
.user-glyph:after{content:"";position:absolute;width:8px;height:4px;border:1.5px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0;left:2px;bottom:1px}
.community-nav{background:var(--gold);padding:0 16px;border-radius:4px; margin-right:1rem;}
.community-nav:hover{background:#ffc34d}
.cart-action{height:44px;display:inline-flex;align-items:center;gap:7px;padding:0 13px}
.cart-glyph{width:17px;height:13px;border:2px solid currentColor;border-radius:2px;position:relative;display:inline-block}
.cart-glyph:before{content:"";position:absolute;width:8px;height:4px;border:2px solid currentColor;border-bottom:0;left:2px;top:-7px;border-radius:5px 5px 0 0}
.cart-glyph:after{content:"";position:absolute;width:3px;height:3px;background:currentColor;border-radius:50%;left:1px;bottom:-6px;box-shadow:11px 0 0 currentColor}
.course-shortcuts{background:#f5efe7;border-top:1px solid #e9dfd0}
.site-header{background:#fff;box-shadow:0 3px 16px rgba(16,19,66,.06)}

@media(max-width:1180px){
  .primary-nav{margin-left:4px}
  .primary-nav .nav-link:not(.explore-button){display:none}
  .search-toggle>span:last-child,.community-nav{display:none}
}
@media(max-width:820px){
  .announcement-inner p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .announcement-link{display:none}
  .header-main{height:72px;gap:8px}
  .primary-nav{display:none}
  .header-search,.header-search.mobile-open{top:68px;left:10px;right:10px}
  .search-toggle{display:inline-flex;width:42px;justify-content:center;padding:0}
}
@media(max-width:560px){
  .brand>span{display:none}
  .header-actions{margin-left:auto}
  .plain-action.login-trigger{display:none}
  .cart-action span:not(.cart-glyph){display:none}
  .course-shortcuts{justify-content:flex-start}
}

/* One clear WhatsApp enquiry action, anchored at the page edge. */
.sticky-enquire{
  top:auto;
  right:22px;
  bottom:50px;
  min-height:60px;
  border-radius:32px;
  padding:7px 18px;
  gap:10px;
  z-index:25;
  box-shadow:0 14px 35px rgba(16,19,66,.26);
  transition: all 0.4s ease-in-out;
}
.sticky-enquire:hover{
  padding-right:18px;
  background:#ffc34d;
  transform:translateY(-3px);
}
.sticky-enquire b{font-size:12px}
.sticky-enquire .wa-mark{width:43px;height:43px;flex:none}

@media(max-width:720px){
  .sticky-enquire{
    display:flex;
    right:12px;
    bottom:12px;
    min-height:56px;
    padding:6px 14px;
  }
  .sticky-enquire:hover{padding-right:14px}
  .sticky-enquire .wa-mark{width:40px;height:40px}
}

/* Homepage course preview: filtering and sorting belong on the full catalogue page. */
.courses-section .popular-heading-row{display:block}
.courses-section .course-grid{margin-top:28px}
.courses-section .course-section-foot{justify-content:flex-end;margin-top:24px}

/* Static client-led hero with an Occult Tatva constellation. */
.hero-static{height:min(670px,76vh);min-height:590px;background:#090b2d}
.hero-static .hero-slide{opacity:1;visibility:visible;transition:none;background:
  radial-gradient(circle at 73% 43%,rgba(100,52,153,.46),transparent 27%),
  radial-gradient(circle at 92% 22%,rgba(213,140,18,.13),transparent 23%),
  radial-gradient(circle at 46% 88%,rgba(91,42,129,.24),transparent 30%),
  linear-gradient(112deg,#07091f 0%,#11133e 46%,#241047 100%)}
.hero-static .hero-slide:before{z-index:1;background:linear-gradient(90deg,rgba(5,7,29,.98) 0%,rgba(7,9,36,.9) 36%,rgba(12,10,48,.26) 63%,rgba(20,10,55,.08) 100%)}
.hero-static .hero-content{z-index:5;width:min(650px,49%);margin-left:max(7vw,72px)}
.hero-static .hero-content>p:not(.overline){font-size:16px;color:rgba(255,255,255,.77)}
.hero-portrait{position:absolute;z-index:4;right:clamp(20px,4vw,78px);bottom:-1px;width:min(47vw,730px);height:96%;object-fit:contain;object-position:center bottom;filter:drop-shadow(-20px 22px 34px rgba(0,0,0,.34))}
.hero-cosmos{position:absolute;z-index:2;right:-2%;top:-8%;width:64%;height:116%;pointer-events:none;isolation:isolate}
.hero-cosmos:before{content:"";position:absolute;inset:8%;background:
  radial-gradient(circle at 18% 24%,rgba(255,255,255,.75) 0 1px,transparent 2px),
  radial-gradient(circle at 72% 16%,rgba(255,239,188,.76) 0 1px,transparent 2px),
  radial-gradient(circle at 88% 67%,rgba(255,255,255,.68) 0 1px,transparent 2px),
  radial-gradient(circle at 36% 82%,rgba(255,242,195,.65) 0 1.5px,transparent 3px);
  background-size:115px 115px,164px 164px,206px 206px,258px 258px;opacity:.55;animation:cosmosDust 26s linear infinite}
.hero-brand-star{position:absolute;left:49%;top:49%;width:470px;height:470px;transform:translate(-50%,-50%);display:grid;place-items:center;color:rgba(243,173,40,.2);filter:drop-shadow(0 0 28px rgba(243,173,40,.08))}
.hero-brand-star span{font:400 430px/1 Arial,sans-serif}
.hero-brand-star i,.about-brand-star i{position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;background:#ef3340;box-shadow:0 0 0 12px rgba(239,51,64,.09),0 0 32px rgba(239,51,64,.48);transform:translate(-50%,-50%);animation:brandPulse 6s ease-in-out infinite}
.cosmos-orbit{position:absolute;left:49%;top:49%;border:1px solid rgba(243,173,40,.24);border-radius:50%;transform-origin:center}
.cosmos-orbit:after{content:"";position:absolute;left:50%;top:-3px;width:6px;height:6px;border-radius:50%;background:#fff4c7;box-shadow:0 0 14px rgba(255,244,199,.9)}
.cosmos-orbit-one{width:520px;height:340px;margin:-170px 0 0 -260px;transform:rotate(14deg);animation:cosmosOrbitOne 46s linear infinite}
.cosmos-orbit-two{width:390px;height:550px;margin:-275px 0 0 -195px;border-style:dashed;transform:rotate(-24deg);animation:cosmosOrbitTwo 58s linear infinite reverse}
.cosmos-orbit-three{width:650px;height:450px;margin:-225px 0 0 -325px;opacity:.5;transform:rotate(62deg);animation:cosmosOrbitThree 70s linear infinite}
.hero-symbol{position:absolute;display:flex;flex-direction:column;align-items:center;gap:5px;color:rgba(255,242,204,.62);text-align:center;animation:symbolFloat 7s ease-in-out infinite}
.hero-symbol b{font:500 25px/1 var(--serif)}
.hero-symbol small{font-size:7px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.42)}
.symbol-tarot{left:25%;top:17%}.symbol-numbers{left:70%;top:14%;animation-delay:-1s}.symbol-runes{right:7%;top:42%;animation-delay:-2s}.symbol-crystals{right:14%;bottom:17%;animation-delay:-3s}.symbol-rituals{left:61%;bottom:10%;animation-delay:-4s}.symbol-akashic{left:17%;bottom:22%;animation-delay:-5s}
.cosmos-particle{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff8d9;box-shadow:0 0 16px #fff1a9;animation:particleDrift 9s ease-in-out infinite}
.particle-one{left:17%;top:36%}.particle-two{right:20%;top:29%;animation-delay:-3s}.particle-three{right:11%;bottom:31%;animation-delay:-5s}.particle-four{left:34%;bottom:12%;animation-delay:-7s}

/* Client-first yellow profile artwork using the same brand constellation. */
.about-section .owner-visual{min-height:690px;background:linear-gradient(138deg,#dda022 0%,#f4bb45 48%,#efb23a 100%)}
.about-section .owner-visual:before,.about-section .owner-visual:after{border-color:rgba(16,19,66,.16)}
.about-section .owner-visual>.ab_pro{z-index:4;left:-1%;bottom:-2px;width:min(61%,570px);height:auto;max-height:94%;object-fit:contain;object-position:left bottom;border-radius:0;box-shadow:none;filter:drop-shadow(18px 22px 28px rgba(71,44,4,.18));animation:none}
.about-brand-star{position:absolute;z-index:1;right:6%;top:12%;width:58%;aspect-ratio:1;display:grid;place-items:center;color:rgba(16,19,66,.2);filter:drop-shadow(0 0 24px rgba(255,248,210,.18))}
.about-brand-star span{font:400 clamp(240px,30vw,430px)/1 Arial,sans-serif}
.about-brand-star i{width:18px;height:18px}
.about-credential{position:absolute;z-index:5;right:6%;bottom:8%;min-width:220px;padding:18px 20px;background:rgba(255,253,250,.94);border-left:4px solid var(--red);box-shadow:0 18px 38px rgba(74,46,5,.18)}
.about-credential span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:800}
.about-credential strong{display:block;margin-top:7px;font:700 17px/1.15 var(--display);color:var(--navy)}

@keyframes cosmosDust{to{background-position:115px 72px,-164px 98px,103px -206px,-129px 258px}}
@keyframes cosmosOrbitOne{to{transform:rotate(374deg)}}
@keyframes cosmosOrbitTwo{to{transform:rotate(336deg)}}
@keyframes cosmosOrbitThree{to{transform:rotate(422deg)}}
@keyframes brandPulse{0%,100%{transform:translate(-50%,-50%) scale(.92);opacity:.72}50%{transform:translate(-50%,-50%) scale(1.12);opacity:1}}
@keyframes symbolFloat{0%,100%{transform:translateY(0);opacity:.62}50%{transform:translateY(-8px);opacity:.92}}
@keyframes particleDrift{0%,100%{transform:translate(0,0);opacity:.35}50%{transform:translate(18px,-22px);opacity:1}}

@media(max-width:1000px){
  .hero-cosmos{right:-15%;width:75%}
  .hero-portrait{right:-2%;width:55vw}
  .about-section .owner-visual>.ab_pro{width:68%}
  .about-credential{right:4%;bottom:5%}
}
@media(max-width:700px){
  .hero-static{height:650px;min-height:650px}
  .hero-static .hero-slide:before{background:linear-gradient(180deg,rgba(6,8,31,.2) 0%,rgba(6,8,31,.48) 38%,rgba(5,7,29,.98) 75%)}
  .hero-static .hero-content{width:auto;margin:0;padding:300px 20px 68px;justify-content:flex-end}
  .hero-static .hero-content>p:not(.overline){font-size:12px;max-width:320px}
  .hero-portrait{right:-19%;top:4px;bottom:auto;width:90%;height:66%;opacity:.92}
  .hero-cosmos{right:-40%;top:-14%;width:128%;height:82%;opacity:.68}
  .hero-brand-star{width:330px;height:330px}.hero-brand-star span{font-size:300px}
  .hero-symbol small{display:none}.hero-symbol b{font-size:20px}
  .about-section .owner-visual{min-height:530px}
  .about-section .owner-visual>.ab_pro{width:78%;max-height:92%;left:-8%}
  .about-brand-star{right:-6%;top:10%;width:68%}.about-brand-star span{font-size:260px}
  .about-credential{right:14px;bottom:18px;min-width:190px;padding:14px 15px}
  .about-credential strong{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .hero-cosmos:before,.cosmos-orbit,.hero-brand-star i,.about-brand-star i,.hero-symbol,.cosmos-particle{animation:none}
}

/* Illustrated service symbols shared by the hero and biography wheel. */
.service-art{position:relative;display:block;width:82px;height:82px;color:rgba(255,241,196,.78);filter:drop-shadow(0 0 14px rgba(243,173,40,.18))}
.service-art:before,.service-art:after,.service-art i,.service-art b{box-sizing:border-box}
.tarot-art i{position:absolute;left:25px;top:12px;width:36px;height:55px;border:2px solid currentColor;border-radius:5px;transform:rotate(11deg)}
.tarot-art i:first-child{left:17px;top:16px;transform:rotate(-10deg)}
.tarot-art i:last-child:after{content:"✦";position:absolute;inset:0;display:grid;place-items:center;font:400 22px/1 var(--serif)}
.number-art{border:2px solid currentColor;border-radius:50%;display:grid;place-items:center}
.number-art:before{content:"";position:absolute;inset:8px;border:1px dashed currentColor;border-radius:50%;opacity:.55}
.number-art b{font:500 20px/1 var(--serif);letter-spacing:.08em}
.rune-art{border:1px solid currentColor;border-radius:50%;display:grid;place-items:center}
.rune-art:before{content:"";position:absolute;inset:7px;border:1px dotted currentColor;border-radius:50%;opacity:.65}
.rune-art b{font:500 46px/1 Georgia,serif}
.crystal-art i{position:absolute;bottom:13px;width:29px;height:52px;border:2px solid currentColor;clip-path:polygon(50% 0,100% 30%,84% 100%,16% 100%,0 30%)}
.crystal-art i:nth-child(1){left:27px;height:62px}.crystal-art i:nth-child(2){left:8px;bottom:9px;transform:rotate(-18deg);opacity:.72}.crystal-art i:nth-child(3){right:8px;bottom:9px;transform:rotate(18deg);opacity:.72}
.ritual-art i{position:absolute;left:27px;bottom:10px;width:28px;height:45px;border:2px solid currentColor;border-top:0;border-radius:0 0 4px 4px}
.ritual-art i:before{content:"";position:absolute;left:7px;top:-26px;width:12px;height:22px;border:2px solid currentColor;border-radius:70% 30% 65% 35%;transform:rotate(42deg)}
.ritual-art i:after{content:"";position:absolute;left:-11px;bottom:-7px;width:46px;border-bottom:2px solid currentColor}
.book-art i{position:absolute;top:17px;width:34px;height:49px;border:2px solid currentColor;border-radius:4px 11px 4px 4px}
.book-art i:first-child{left:7px;transform:skewY(7deg);border-right-width:1px}.book-art i:last-child{right:7px;transform:skewY(-7deg);border-left-width:1px}
.book-art:after{content:"";position:absolute;left:40px;top:17px;height:51px;border-left:1px solid currentColor}

.hero-symbol{width:96px;height:96px;display:grid;place-items:center;color:rgba(255,241,196,.8)}
.hero-symbol .service-art{transform:scale(.95)}
.symbol-tarot{left:20%;top:12%}.symbol-numbers{left:70%;top:10%}.symbol-runes{right:3%;top:40%}.symbol-crystals{right:10%;bottom:12%}.symbol-rituals{left:58%;bottom:5%}.symbol-akashic{left:11%;bottom:18%}

/* Light biography section with an Occult Tatva service wheel in place of a horoscope. */
.about-section{grid-template-columns:minmax(0,1.02fr) minmax(560px,.98fr);min-height:760px;background:#fbf8f1}
.about-section .owner-copy{order:1;padding:78px clamp(36px,5vw,96px);background:#fbf8f1;position:relative;z-index:3}
.about-section .owner-copy .overline{color:#83542d}
.about-section .owner-copy>p:not(.overline){max-width:630px;color:#57515a;font-size:14px;line-height:1.72}
.about-section .owner-copy .button{margin-top:28px}
.about-section .about-portrait-stage{order:2;min-height:760px;background:linear-gradient(145deg,#f8f4eb,#fffdfa);isolation:isolate;overflow:hidden}
.about-section .about-portrait-stage:before,.about-section .about-portrait-stage:after{display:none}
.service-wheel{position:absolute;z-index:1;left:50%;top:47%;width:650px;height:650px;transform:translate(-50%,-50%);border:1px solid rgba(150,105,46,.2);border-radius:50%}
.service-wheel:before{content:"✡";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:400 520px/1 Arial,sans-serif;color:rgba(181,130,53,.045)}
.service-wheel-ring{position:absolute;border:1px solid rgba(150,105,46,.18);border-radius:50%;animation:serviceRingSpin 70s linear infinite}
.service-wheel-ring:before,.service-wheel-ring:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#d9a044;box-shadow:0 0 0 6px rgba(217,160,68,.1)}
.ring-outer{inset:7%}.ring-outer:before{left:49%;top:-4px}.ring-outer:after{left:5%;bottom:16%}
.ring-inner{inset:20%;border-style:dashed;animation-direction:reverse;animation-duration:54s}.ring-inner:before{right:12%;top:10%}.ring-inner:after{left:8%;bottom:18%}
.wheel-service{position:absolute;z-index:2;width:66px;height:66px;display:grid;place-items:center;color:#a36a24;animation:wheelIconFloat 7s ease-in-out infinite}
.wheel-service .service-art{width:58px;height:58px;color:rgba(145,91,30,.54);filter:none;transform:scale(.72);transform-origin:center}
.wheel-tarot{left:8%;top:23%}.wheel-numbers{right:10%;top:15%;animation-delay:-1s}.wheel-runes{right:1%;top:51%;animation-delay:-2s}.wheel-crystals{right:12%;bottom:12%;animation-delay:-3s}.wheel-rituals{left:11%;bottom:13%;animation-delay:-4s}.wheel-book{left:1%;top:52%;animation-delay:-5s}
.portrait-arch{position:absolute;z-index:4;left:50%;bottom:46px;width:390px;height:565px;transform:translateX(-50%);overflow:hidden;border:6px solid #fff;border-radius:205px 205px 7px 7px;background:radial-gradient(circle at 50% 25%,#f7ddb0 0%,#e9bd6c 48%,#b6782c 100%);box-shadow:0 26px 55px rgba(87,58,28,.2)}
.portrait-arch:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.46),transparent 40%),linear-gradient(180deg,transparent 62%,rgba(35,20,14,.15));z-index:1}
.portrait-arch img{position:absolute;z-index:2;left:50%;bottom:-1%;height:98%;width:auto;max-width:none;transform:translateX(-51%);object-fit:contain;filter:drop-shadow(0 15px 18px rgba(42,22,9,.15))}
.portrait-caption{position:absolute;z-index:5;left:50%;bottom:22px;min-width:280px;padding:14px 18px;transform:translateX(-50%);background:#fffdfa;border-top:3px solid var(--gold);box-shadow:0 14px 30px rgba(67,45,20,.13);text-align:center}
.portrait-caption span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:var(--red);font-weight:800}
.portrait-caption strong{display:block;margin-top:5px;font:700 15px/1.15 var(--display);color:var(--navy)}
@keyframes serviceRingSpin{to{transform:rotate(360deg)}}
@keyframes wheelIconFloat{0%,100%{transform:translateY(0);opacity:.65}50%{transform:translateY(-7px);opacity:1}}

@media(max-width:1080px){
  .about-section{grid-template-columns:1fr 1fr}
  .about-section .owner-copy{padding:64px 36px}
  .service-wheel{width:560px;height:560px}
  .portrait-arch{width:340px;height:510px}
}
@media(max-width:820px){
  .about-section{grid-template-columns:1fr}
  .about-section .owner-copy{order:2;padding:58px 24px}
  .about-section .about-portrait-stage{order:1;min-height:650px}
  .service-wheel{width:590px;height:590px}
  .portrait-arch{height:500px}
}
@media(max-width:560px){
  .hero-symbol{width:70px;height:70px}.hero-symbol .service-art{transform:scale(.72)}
  .symbol-tarot{left:26%;top:15%}.symbol-numbers{left:66%;top:11%}.symbol-runes{right:5%;top:44%}.symbol-crystals{right:12%;bottom:10%}.symbol-rituals{left:56%;bottom:4%}.symbol-akashic{left:13%;bottom:18%}
  .about-section .about-portrait-stage{min-height:570px}
  .service-wheel{width:520px;height:520px;top:46%}
  .wheel-service{transform:scale(.84)}
  .portrait-arch{width:300px;height:445px;bottom:52px}
  .portrait-caption{min-width:245px;bottom:26px}
}
@media(prefers-reduced-motion:reduce){.service-wheel-ring,.wheel-service{animation:none}}

/* V18 hero: a client-led plum service halo with calm, non-rotating motion. */
.hero-static{
  height:min(690px,78vh);
  min-height:620px;
  background:#250727;
}
.hero-static .hero-slide{
  isolation:isolate;
  background:
    radial-gradient(circle at 76% 42%,rgba(215,90,145,.26) 0%,rgba(119,29,91,.2) 27%,transparent 51%),
    radial-gradient(circle at 94% 12%,rgba(244,183,65,.15),transparent 28%),
    radial-gradient(circle at 58% 105%,rgba(196,62,119,.22),transparent 36%),
    linear-gradient(108deg,#18051d 0%,#30072f 46%,#68164f 100%);
}
.hero-static .hero-slide:before{
  z-index:1;
  background:linear-gradient(90deg,rgba(21,5,26,.99) 0%,rgba(31,6,33,.96) 35%,rgba(43,8,44,.72) 51%,rgba(75,14,60,.16) 72%,transparent 100%);
}
.hero-static .hero-slide:after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  opacity:.36;
  background-image:
    radial-gradient(circle,rgba(255,247,211,.78) 0 1px,transparent 1.8px),
    radial-gradient(circle,rgba(244,183,65,.54) 0 1.5px,transparent 2.2px);
  background-position:0 0,45px 70px;
  background-size:142px 142px,223px 223px;
  mask-image:linear-gradient(90deg,transparent 27%,#000 56%,#000 100%);
  animation:heroDustDrift 30s linear infinite;
}
.hero-static .hero-content{
  z-index:8;
  width:min(620px,46%);
  margin-left:max(7vw,72px);
  padding-bottom:8px;
}
.hero-static .hero-content .overline{color:rgba(255,236,191,.64)}
.hero-static .hero-content h2{text-shadow:0 8px 34px rgba(13,2,20,.28)}
.hero-static .hero-content>p:not(.overline){max-width:520px;font-size:16px;color:rgba(255,255,255,.78)}
.hero-service-stage{
  position:absolute;
  z-index:2;
  top:0;
  right:0;
  width:64%;
  height:100%;
  pointer-events:none;
  isolation:isolate;
}
.hero-service-stage:before{
  content:"";
  position:absolute;
  left:57%;
  top:49%;
  width:min(47vw,720px);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,222,158,.19) 0%,rgba(191,65,126,.16) 31%,rgba(74,15,70,.03) 62%,transparent 71%);
  filter:blur(1px);
}
.hero-service-stage:after{
  content:"";
  position:absolute;
  right:-10%;
  bottom:-42%;
  width:72%;
  aspect-ratio:1;
  border:1px solid rgba(255,226,174,.16);
  border-radius:50%;
  box-shadow:0 0 0 38px rgba(255,228,176,.025),0 0 0 92px rgba(255,228,176,.018);
}
.hero-halo{
  position:absolute;
  z-index:1;
  left:57%;
  top:49%;
  width:min(41vw,610px);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
}
.halo-ring,.halo-rays,.halo-sigil{position:absolute;inset:0;border-radius:50%}
.halo-ring{border:1px solid rgba(255,222,166,.22);animation:haloBreathe 8s ease-in-out infinite}
.halo-ring:before,.halo-ring:after{
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ffe9ad;
  box-shadow:0 0 16px rgba(255,228,160,.88),0 0 0 6px rgba(255,224,150,.06);
}
.halo-ring:before{left:49%;top:-4px}
.halo-ring:after{right:7%;bottom:22%}
.halo-ring-middle{inset:11%;border-color:rgba(255,220,158,.16);animation-delay:-2.5s}
.halo-ring-middle:before{left:8%;top:25%}.halo-ring-middle:after{right:16%;bottom:7%}
.halo-ring-inner{inset:24%;border-style:dashed;border-color:rgba(255,225,173,.2);animation-delay:-5s}
.halo-ring-inner:before{left:auto;right:3%;top:31%}.halo-ring-inner:after{left:13%;bottom:12%}
.halo-rays{
  inset:3%;
  opacity:.2;
  background:repeating-conic-gradient(from 30deg,rgba(255,225,174,.42) 0 1px,transparent 1px 60deg);
  mask-image:radial-gradient(circle,transparent 0 26%,#000 27% 72%,transparent 73%);
  animation:haloRaysGlow 6s ease-in-out infinite;
}
.halo-sigil{
  display:grid;
  place-items:center;
  color:rgba(255,213,142,.09);
  filter:drop-shadow(0 0 42px rgba(244,183,65,.14));
  animation:haloSigilGlow 7s ease-in-out infinite;
}
.halo-sigil>i{
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:16px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#ef3340;
  box-shadow:0 0 0 12px rgba(239,51,64,.07),0 0 30px rgba(239,51,64,.38);
}
.halo-sigil{font:400 clamp(300px,31vw,490px)/1 Arial,sans-serif}
.hero-service-emblem{
  position:absolute;
  z-index:4;
  width:116px;
  min-height:112px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:rgba(255,239,193,.88);
  text-align:center;
  filter:drop-shadow(0 7px 18px rgba(28,2,27,.34));
  animation:serviceEmblemFloat 7.5s ease-in-out infinite;
}
.hero-service-emblem:before{
  content:"";
  position:absolute;
  inset:7px;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,235,183,.08),transparent 68%);
}
.hero-service-emblem .service-art{color:currentColor;filter:none;transform:scale(1.08)}
.hero-service-emblem small{font-size:8px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,245,219,.62)}
.emblem-tarot{left:20%;top:7%}
.emblem-numbers{right:12%;top:7%;animation-delay:-1.15s}
.emblem-runes{right:1%;top:38%;animation-delay:-2.3s}
.emblem-crystals{right:9%;bottom:4%;animation-delay:-3.45s}
.emblem-rituals{left:45%;bottom:0;animation-delay:-4.6s}
.emblem-akashic{left:1%;top:48%;animation-delay:-5.75s}
.hero-spark{
  position:absolute;
  z-index:2;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#fff3c4;
  box-shadow:0 0 15px rgba(255,237,179,.92);
  animation:heroSpark 8s ease-in-out infinite;
}
.spark-one{left:13%;top:31%}.spark-two{left:38%;top:18%;animation-delay:-1.4s}.spark-three{right:29%;top:25%;animation-delay:-2.8s}
.spark-four{right:6%;top:64%;animation-delay:-4.2s}.spark-five{left:29%;bottom:17%;animation-delay:-5.6s}.spark-six{right:26%;bottom:9%;animation-delay:-7s}
.hero-portrait{
  position:absolute;
  z-index:6;
  right:clamp(-70px,-2.7vw,-18px);
  top:30px;
  bottom:auto;
  width:min(63vw,1030px);
  height:auto;
  max-height:calc(100% - 30px);
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(-24px 24px 34px rgba(21,2,24,.4));
}
@keyframes heroDustDrift{to{background-position:142px 72px,-178px 223px}}
@keyframes haloBreathe{0%,100%{transform:scale(.985);opacity:.58}50%{transform:scale(1.018);opacity:1}}
@keyframes haloRaysGlow{0%,100%{opacity:.12}50%{opacity:.3}}
@keyframes haloSigilGlow{0%,100%{opacity:.7;transform:scale(.98)}50%{opacity:1;transform:scale(1.015)}}
@keyframes serviceEmblemFloat{0%,100%{transform:translateY(0);opacity:.74}50%{transform:translateY(-9px);opacity:1}}
@keyframes heroSpark{0%,100%{transform:translate(0,0) scale(.72);opacity:.28}50%{transform:translate(9px,-16px) scale(1.2);opacity:1}}

/* Keep the approved biography portrait comfortably below the top of its arch. */
.portrait-arch img{height:90%;bottom:-1%}

@media(max-width:1180px){
  .hero-static .hero-content{width:48%;margin-left:5vw}
  .hero-static .hero-content h2{font-size:clamp(48px,5.8vw,67px)}
  .hero-service-stage{width:67%}
  .hero-portrait{right:-105px;width:min(72vw,930px);top:45px;max-height:calc(100% - 45px)}
  .hero-halo{left:61%;width:min(48vw,560px)}
  .hero-service-stage:before{left:61%}
  .hero-service-emblem{transform:scale(.9)}
  .emblem-tarot{left:25%}.emblem-akashic{left:5%}
}
@media(max-width:820px){
  .hero-static{height:720px;min-height:720px}
  .hero-static .hero-slide:before{background:linear-gradient(180deg,rgba(30,5,30,.08) 0%,rgba(33,6,34,.28) 43%,rgba(22,5,27,.97) 66%,rgba(20,4,25,.99) 100%)}
  .hero-static .hero-slide:after{mask-image:linear-gradient(#000,transparent 68%)}
  .hero-static .hero-content{width:auto;margin:0;padding:420px 22px 50px;justify-content:flex-end}
  .hero-static .hero-content h2{font-size:43px;margin-bottom:16px}
  .hero-static .hero-content>p:not(.overline){font-size:12px;max-width:330px;margin-bottom:0}
  .hero-service-stage{width:100%;height:62%}
  .hero-service-stage:before{left:65%;width:560px}
  .hero-halo{left:65%;top:47%;width:440px}
  .halo-sigil{font-size:350px}
  .hero-portrait{top:18px;right:-218px;width:760px;max-width:none;max-height:none}
  .hero-service-emblem{width:76px;min-height:76px;transform:none;opacity:.68}
  .hero-service-emblem .service-art{transform:scale(.7)}
  .hero-service-emblem small{display:none}
  .emblem-tarot{left:13%;top:5%}.emblem-numbers{right:8%;top:4%}.emblem-runes{right:1%;top:42%}
  .emblem-crystals{right:9%;bottom:0}.emblem-rituals{left:45%;bottom:-5%}.emblem-akashic{left:2%;top:47%}
}
@media(max-width:480px){
  .hero-static .hero-content{padding-left:19px;padding-right:19px}
  .hero-static .hero-content h2{font-size:40px}
  .hero-portrait{right:-240px;width:755px}
  .hero-halo{left:67%;width:410px}
  .hero-service-stage:before{left:67%}
  .hero-service-emblem{opacity:.58}
  .emblem-crystals,.emblem-rituals{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hero-static .hero-slide:after,.halo-ring,.halo-rays,.halo-sigil,.hero-service-emblem,.hero-spark{animation:none}
}

/* V19 approved Occult Tatva Sanctuary: portrait left, editorial content right. */
.hero-static{height:min(720px,80vh);min-height:650px;background:#21051f}
.hero-static .hero-sanctuary{
  isolation:isolate;
  background:
    radial-gradient(circle at 26% 45%,rgba(210,111,72,.19) 0%,rgba(118,36,62,.13) 29%,transparent 53%),
    radial-gradient(circle at 92% 8%,rgba(215,117,155,.13),transparent 34%),
    linear-gradient(104deg,#320b28 0%,#24061f 45%,#130413 100%);
}
.hero-static .hero-sanctuary:before{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(56,12,42,.07) 0%,rgba(31,6,28,.08) 49%,rgba(18,3,17,.48) 68%,rgba(13,2,13,.72) 100%);
}
.hero-static .hero-sanctuary:after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  opacity:.48;
  background-image:
    radial-gradient(circle,rgba(255,240,192,.82) 0 1px,transparent 2px),
    radial-gradient(circle,rgba(239,176,73,.45) 0 1.5px,transparent 2.5px),
    linear-gradient(120deg,transparent 0 46%,rgba(239,176,73,.055) 46.1% 46.2%,transparent 46.3% 100%);
  background-size:149px 149px,239px 239px,100% 100%;
  background-position:17px 22px,80px 38px,0 0;
  animation:sanctuaryDust 34s linear infinite;
}
.hero-static .hero-sanctuary .hero-content{
  position:absolute;
  z-index:8;
  left:55%;
  top:0;
  width:39%;
  height:100%;
  margin:0;
  padding:18px 0 10px;
  justify-content:center;
}
.hero-static .hero-sanctuary .hero-content .overline{color:rgba(242,202,128,.72)}
.hero-static .hero-sanctuary .hero-content h2{
  max-width:650px;
  font-size:clamp(52px,4.8vw,76px);
  line-height:.96;
  letter-spacing:-.048em;
  text-shadow:0 10px 32px rgba(8,0,8,.3);
}
.hero-static .hero-sanctuary .hero-content>p:not(.overline){max-width:500px;margin-bottom:24px;font-size:16px;color:rgba(255,255,255,.78)}
.sanctuary-ctas{display:flex;flex-wrap:wrap;gap:11px}
.sanctuary-ctas .button{min-height:56px;padding:0 23px;text-decoration:none}
.sanctuary-ctas .button-outline-light{background:rgba(21,3,18,.25)}
.sanctuary-stage{
  position:absolute;
  z-index:2;
  left:0;
  top:0;
  width:54%;
  height:100%;
  pointer-events:none;
  isolation:isolate;
}
.sanctuary-stage:before{
  content:"";
  position:absolute;
  z-index:0;
  left:45%;
  top:48%;
  width:min(42vw,650px);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(239,177,82,.23) 0%,rgba(164,66,75,.11) 37%,transparent 68%);
  filter:blur(2px);
}
.sanctuary-arch{
  position:absolute;
  z-index:1;
  left:45%;
  top:42px;
  width:min(24vw,455px);
  height:calc(100% - 74px);
  transform:translateX(-50%);
  border:2px solid rgba(229,173,80,.74);
  border-bottom:0;
  border-radius:240px 240px 12px 12px;
  box-shadow:0 0 0 12px rgba(229,173,80,.055),inset 0 0 45px rgba(244,192,101,.08),0 0 55px rgba(222,139,68,.1);
  animation:sanctuaryArchGlow 7s ease-in-out infinite;
}
.sanctuary-arch:before{
  content:"";
  position:absolute;
  inset:13px 13px 0;
  border:1px solid rgba(255,221,152,.34);
  border-bottom:0;
  border-radius:225px 225px 8px 8px;
}
.sanctuary-arch:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-1px;
  width:116%;
  height:2px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(235,178,82,.74) 18% 82%,transparent);
}
.sanctuary-crown{
  position:absolute;
  z-index:2;
  left:50%;
  top:-32px;
  width:72px;
  height:72px;
  transform:translateX(-50%);
  display:grid;
  place-items:center;
  border:2px solid rgba(237,187,98,.8);
  border-radius:50%;
  background:#3b0b2f;
  color:#efb445;
  font:400 43px/1 Arial,sans-serif;
  box-shadow:0 0 0 8px rgba(237,187,98,.06),0 10px 28px rgba(12,0,11,.34);
}
.sanctuary-crown i{position:absolute;width:9px;height:9px;border-radius:50%;background:#ef3340;box-shadow:0 0 17px rgba(239,51,64,.65)}
.sanctuary-emblem{
  position:absolute;
  z-index:5;
  width:110px;
  min-height:108px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  color:rgba(242,190,99,.84);
  filter:drop-shadow(0 8px 14px rgba(15,1,14,.34));
  animation:sanctuaryIconFloat 7.5s ease-in-out infinite;
}
.sanctuary-emblem .service-art{color:currentColor;filter:none;transform:scale(1.05)}
.sanctuary-emblem small{font-size:8px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,224,166,.64)}
.sanctuary-tarot{left:1%;top:13%}
.sanctuary-numbers{right:1%;top:8%;animation-delay:-1.2s}
.sanctuary-rituals{right:-1%;top:41%;animation-delay:-2.4s}
.sanctuary-runes{right:2%;bottom:5%;animation-delay:-3.6s}
.sanctuary-crystals{left:0;bottom:3%;animation-delay:-4.8s}
.sanctuary-akashic{left:1%;top:49%;animation-delay:-6s}
.sanctuary-spark{position:absolute;z-index:2;width:5px;height:5px;border-radius:50%;background:#ffe8a6;box-shadow:0 0 16px #f7c768;animation:sanctuarySpark 8s ease-in-out infinite}
.sanctuary-spark-one{left:15%;top:35%}.sanctuary-spark-two{right:19%;top:27%;animation-delay:-2s}.sanctuary-spark-three{right:13%;bottom:23%;animation-delay:-4s}.sanctuary-spark-four{left:18%;bottom:16%;animation-delay:-6s}
.hero-static .hero-sanctuary .hero-portrait{
  position:absolute;
  z-index:6;
  left:clamp(88px,9vw,170px);
  right:auto;
  top:auto;
  bottom:-28px;
  width:auto;
  height:calc(100% - 66px);
  max-width:43vw;
  max-height:none;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(18px 24px 28px rgba(17,2,15,.42));
}
@keyframes sanctuaryDust{to{background-position:166px 96px,-159px 239px,0 0}}
@keyframes sanctuaryArchGlow{0%,100%{opacity:.75;box-shadow:0 0 0 12px rgba(229,173,80,.045),inset 0 0 35px rgba(244,192,101,.06),0 0 42px rgba(222,139,68,.07)}50%{opacity:1;box-shadow:0 0 0 12px rgba(229,173,80,.075),inset 0 0 58px rgba(244,192,101,.11),0 0 68px rgba(222,139,68,.14)}}
@keyframes sanctuaryIconFloat{0%,100%{transform:translateY(0);opacity:.72}50%{transform:translateY(-8px);opacity:1}}
@keyframes sanctuarySpark{0%,100%{transform:translate(0,0) scale(.7);opacity:.25}50%{transform:translate(8px,-15px) scale(1.18);opacity:1}}

/* About portrait: the frame remains, but the person is no longer clipped by it. */
.about-section .portrait-arch{overflow:visible}
.about-section .portrait-arch img{
  top:48px;
  bottom:auto;
  height:calc(100% - 70px);
  width:auto;
  max-width:none;
  transform:translateX(-53%);
  object-fit:contain;
}

@media(max-width:1180px){
  .hero-static .hero-sanctuary .hero-content{left:54%;width:42%}
  .hero-static .hero-sanctuary .hero-content h2{font-size:clamp(48px,5.3vw,66px)}
  .sanctuary-stage{width:55%}
  .sanctuary-arch{left:47%;width:390px}
  .hero-static .hero-sanctuary .hero-portrait{left:5vw;height:calc(100% - 82px);bottom:-22px}
  .sanctuary-emblem{transform:scale(.86)}
  .sanctuary-tarot,.sanctuary-akashic,.sanctuary-crystals{left:-2%}
  .sanctuary-numbers,.sanctuary-rituals,.sanctuary-runes{right:-3%}
}
@media(max-width:820px){
  .hero-static{height:800px;min-height:800px}
  .hero-static .hero-sanctuary:before{background:linear-gradient(180deg,rgba(50,10,38,.06),rgba(29,5,26,.14) 47%,rgba(18,3,17,.95) 65%,rgba(14,2,14,.99))}
  .hero-static .hero-sanctuary .hero-content{left:0;top:auto;bottom:0;width:100%;height:43%;padding:24px 21px 35px;justify-content:center}
  .hero-static .hero-sanctuary .hero-content h2{font-size:43px;margin-bottom:14px}
  .hero-static .hero-sanctuary .hero-content>p:not(.overline){font-size:12px;margin-bottom:16px}
  .sanctuary-ctas .button{min-height:49px;padding:0 15px;font-size:10px}
  .sanctuary-stage{width:100%;height:58%}
  .sanctuary-stage:before{left:50%;width:560px}
  .sanctuary-arch{left:50%;top:31px;width:330px;height:420px}
  .sanctuary-crown{top:-25px;width:58px;height:58px;font-size:35px}
  .hero-static .hero-sanctuary .hero-portrait{left:50%;top:42px;bottom:auto;height:405px;width:auto;max-width:none;transform:translateX(-50%)}
  .sanctuary-emblem{width:72px;min-height:72px;opacity:.72}
  .sanctuary-emblem .service-art{transform:scale(.68)}
  .sanctuary-emblem small{display:none}
  .sanctuary-tarot{left:2%;top:8%}.sanctuary-numbers{right:2%;top:6%}.sanctuary-rituals{right:0;top:43%}
  .sanctuary-runes{right:5%;bottom:0}.sanctuary-crystals{left:4%;bottom:0}.sanctuary-akashic{left:0;top:45%}
  .about-section .portrait-arch img{top:42px;height:calc(100% - 62px)}
}
@media(max-width:480px){
  .hero-static{height:820px;min-height:820px}
  .hero-static .hero-sanctuary .hero-content{height:45%;padding-left:18px;padding-right:18px}
  .hero-static .hero-sanctuary .hero-content h2{font-size:39px}
  .sanctuary-arch{width:292px;height:410px}
  .hero-static .hero-sanctuary .hero-portrait{top:48px;height:385px}
  .sanctuary-emblem{opacity:.6}
  .sanctuary-rituals,.sanctuary-runes{display:none}
  .sanctuary-ctas{gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .hero-static .hero-sanctuary:after,.sanctuary-arch,.sanctuary-emblem,.sanctuary-spark{animation:none}
}

/* V20: display the specifically approved Sanctuary artwork without reinterpretation. */
.hero-approved{
  height:auto;
  min-height:0;
  overflow:hidden;
  background:#13020f;
}
.approved-hero-desktop{
  position:relative;
  width:100%;
  display:flex;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 13% 40%,#32101f,transparent 35%),
    radial-gradient(circle at 88% 35%,#260516,transparent 38%),
    #13020f;
}
.approved-hero-artboard{
  position:relative;
  flex:0 0 auto;
  width:min(100%,1672px);
  aspect-ratio:1672/941;
  overflow:hidden;
  isolation:isolate;
  box-shadow:0 0 70px rgba(0,0,0,.24);
}
.approved-hero-image{
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}
.approved-hero-glow{
  position:absolute;
  z-index:2;
  left:13%;
  top:4%;
  width:41%;
  height:85%;
  border-radius:48% 48% 12% 12%;
  pointer-events:none;
  opacity:.16;
  background:radial-gradient(ellipse at 50% 48%,rgba(255,220,143,.29),transparent 60%);
  box-shadow:inset 0 0 36px rgba(255,211,123,.11),0 0 45px rgba(220,147,59,.09);
  mix-blend-mode:screen;
  animation:approvedArchGlow 6.5s ease-in-out infinite;
}
.approved-spark{
  position:absolute;
  z-index:3;
  width:5px;
  height:5px;
  border-radius:50%;
  pointer-events:none;
  background:#fff0b3;
  box-shadow:0 0 14px rgba(255,224,135,.95),0 0 28px rgba(230,155,51,.48);
  animation:approvedSparkFloat 8s ease-in-out infinite;
}
.approved-spark-one{left:21%;top:18%}
.approved-spark-two{left:47%;top:39%;animation-delay:-2s}
.approved-spark-three{right:12%;top:17%;animation-delay:-4s}
.approved-spark-four{right:26%;bottom:13%;animation-delay:-6s}
.approved-hotspot{
  position:absolute;
  z-index:5;
  top:76.1%;
  height:7.8%;
  border-radius:10px;
  color:transparent;
  text-decoration:none;
  outline-offset:4px;
}
.approved-hotspot-courses{left:54.5%;width:14.8%}
.approved-hotspot-consultation{left:70.25%;width:14.05%}
.approved-hotspot:hover{box-shadow:0 0 0 2px rgba(255,224,150,.45),0 0 26px rgba(235,174,77,.2)}
.approved-hotspot:focus-visible{outline:3px solid #fff1b7}
.approved-hotspot span{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.approved-hero-mobile{display:none}
@keyframes approvedArchGlow{0%,100%{opacity:.11;filter:brightness(.9)}50%{opacity:.29;filter:brightness(1.22)}}
@keyframes approvedSparkFloat{0%,100%{transform:translate(0,0) scale(.72);opacity:.24}50%{transform:translate(8px,-13px) scale(1.22);opacity:1}}

/* The About portrait now has fixed headroom and cannot be clipped by its arch. */
.about-section .portrait-arch{overflow:visible!important}
.about-section .portrait-arch img{
  top:64px;
  bottom:auto;
  height:calc(100% - 92px);
  width:auto;
  max-width:none;
  transform:translateX(-53%);
  object-fit:contain;
}

@media(max-width:820px){
  .approved-hero-desktop{display:none}
  .approved-hero-mobile{
    position:relative;
    display:block;
    min-height:800px;
    overflow:hidden;
    color:#fff;
    background:
      radial-gradient(circle at 50% 26%,rgba(188,84,85,.24),transparent 35%),
      linear-gradient(165deg,#390d2b,#180418 66%,#100210);
  }
  .approved-mobile-portrait{position:relative;height:455px;overflow:hidden}
  .approved-mobile-portrait:before{
    content:"";
    position:absolute;
    left:50%;
    top:46px;
    width:335px;
    height:408px;
    transform:translateX(-50%);
    border:2px solid rgba(232,177,80,.72);
    border-bottom:0;
    border-radius:180px 180px 8px 8px;
    box-shadow:0 0 0 9px rgba(232,177,80,.055),0 0 42px rgba(232,154,67,.12);
    animation:approvedArchGlow 6.5s ease-in-out infinite;
  }
  .approved-mobile-arch{
    position:absolute;
    z-index:1;
    left:50%;
    top:21px;
    width:58px;
    height:58px;
    transform:translateX(-50%);
    display:grid;
    place-items:center;
    border:2px solid #dca747;
    border-radius:50%;
    background:#3b0b2f;
    color:#eab345;
    font:400 35px/1 Arial,sans-serif;
  }
  .approved-mobile-portrait img{
    position:absolute;
    z-index:2;
    left:50%;
    top:61px;
    height:390px;
    width:auto;
    max-width:none;
    transform:translateX(-50%);
    object-fit:contain;
    filter:drop-shadow(14px 19px 24px rgba(13,1,11,.38));
  }
  .approved-mobile-copy{position:relative;z-index:3;padding:32px 20px 45px}
  .approved-mobile-copy .overline{color:rgba(242,203,128,.72)}
  .approved-mobile-copy h2{font-size:43px;margin-bottom:17px}
  .approved-mobile-copy>p:not(.overline){max-width:340px;margin-bottom:20px;font-size:13px;line-height:1.55;color:rgba(255,255,255,.76)}
  .approved-mobile-copy .hero-ctas{display:flex;flex-wrap:wrap;gap:9px}
  .approved-mobile-copy .button{min-height:50px;padding:0 15px;text-decoration:none;font-size:10px}
  .about-section .portrait-arch img{top:54px;height:calc(100% - 78px)}
}
@media(max-width:480px){
  .approved-hero-mobile{min-height:820px}
  .approved-mobile-copy h2{font-size:40px}
  .approved-mobile-portrait img{top:68px;height:375px}
  .approved-mobile-portrait:before{width:295px;height:400px}
}
@media(prefers-reduced-motion:reduce){
  .approved-hero-glow,.approved-spark,.approved-mobile-portrait:before{animation:none}
}

/* V21 cinematic motion layered over the approved banner artwork. */
.approved-hero-artboard{
  transform-origin:center;
  animation:approvedHeroBreath 15s ease-in-out infinite alternate;
}
.approved-hero-artboard:before{
  content:"";
  position:absolute;
  z-index:2;
  inset:-8%;
  pointer-events:none;
  opacity:.38;
  background-image:
    radial-gradient(circle,rgba(255,239,177,.82) 0 1px,transparent 2px),
    radial-gradient(circle,rgba(237,174,71,.58) 0 1.5px,transparent 2.7px),
    radial-gradient(circle,rgba(255,249,221,.5) 0 1px,transparent 2px);
  background-size:137px 137px,211px 211px,283px 283px;
  background-position:0 0,48px 93px,123px 31px;
  mix-blend-mode:screen;
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.55) 44%,rgba(0,0,0,.2) 100%);
  animation:approvedDustDrift 28s linear infinite;
}
.approved-hero-artboard:after{
  content:"";
  position:absolute;
  z-index:4;
  left:-35%;
  top:-36%;
  width:18%;
  height:175%;
  pointer-events:none;
  opacity:0;
  transform:rotate(16deg);
  background:linear-gradient(90deg,transparent,rgba(255,235,178,.13),rgba(255,250,221,.23),rgba(255,235,178,.1),transparent);
  filter:blur(12px);
  mix-blend-mode:screen;
  animation:approvedLightSweep 10s ease-in-out infinite;
}
.approved-hero-glow{
  animation:approvedArchGlow 6.5s ease-in-out infinite,approvedGlowDrift 11s ease-in-out infinite alternate;
}
.approved-spark:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:18px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,225,149,.5);
  border-radius:50%;
  animation:approvedSparkRipple 3.8s ease-out infinite;
}
.approved-spark-two:after{animation-delay:-1s}.approved-spark-three:after{animation-delay:-2s}.approved-spark-four:after{animation-delay:-3s}
@keyframes approvedHeroBreath{0%{transform:scale(1)}100%{transform:scale(1.006)}}
@keyframes approvedDustDrift{to{background-position:137px 82px,-163px 211px,265px -141px}}
@keyframes approvedLightSweep{0%,14%{left:-35%;opacity:0}28%{opacity:.48}58%{left:122%;opacity:.16}70%,100%{left:122%;opacity:0}}
@keyframes approvedGlowDrift{0%{transform:translate3d(-3px,2px,0) scale(.985)}100%{transform:translate3d(6px,-4px,0) scale(1.018)}}
@keyframes approvedSparkRipple{0%{transform:translate(-50%,-50%) scale(.2);opacity:.85}75%,100%{transform:translate(-50%,-50%) scale(1.8);opacity:0}}

@media(max-width:820px){
  .approved-hero-mobile:after{
    content:"";
    position:absolute;
    z-index:1;
    inset:0;
    pointer-events:none;
    opacity:.4;
    background-image:radial-gradient(circle,rgba(255,237,174,.72) 0 1px,transparent 2px);
    background-size:143px 143px;
    animation:approvedMobileDust 24s linear infinite;
  }
  .approved-mobile-portrait,.approved-mobile-copy{z-index:2}
  @keyframes approvedMobileDust{to{background-position:143px -143px}}
}
@media(prefers-reduced-motion:reduce){
  .approved-hero-artboard,.approved-hero-artboard:before,.approved-hero-artboard:after,.approved-hero-glow,.approved-spark:after,.approved-hero-mobile:after{animation:none}
}

/* V22 independent premium motion for the six approved service objects. */
.approved-object{
  position:absolute;
  z-index:3;
  height:auto;
  pointer-events:none;
  user-select:none;
  opacity:.93;
  --parallax-x:0px;
  --parallax-y:0px;
  --float-distance:11px;
  --turn-start:-1deg;
  --turn-end:1.4deg;
  transform-origin:center;
  filter:brightness(1.1) drop-shadow(0 0 8px rgba(237,178,79,.38)) drop-shadow(0 8px 17px rgba(9,0,7,.34));
  will-change:transform,filter,opacity;
  animation:approvedObjectFloat 7.4s cubic-bezier(.45,.05,.55,.95) infinite;
}
.approved-object-tarot{left:1.32%;top:18.92%;width:13.52%;--float-distance:13px;animation-delay:-1.1s}
.approved-object-numerology{left:1.08%;top:36.56%;width:13.88%;--turn-start:1deg;--turn-end:-1.4deg;animation-duration:8.2s;animation-delay:-3.7s}
.approved-object-crystals{left:.9%;top:61.53%;width:13.82%;--float-distance:9px;animation-duration:6.8s;animation-delay:-2.2s}
.approved-object-ritual{left:83.73%;top:7.44%;width:14.77%;--float-distance:14px;--turn-start:1.3deg;--turn-end:-1deg;animation-duration:7.8s;animation-delay:-4.6s}
.approved-object-akashic{left:82.18%;top:35.07%;width:16.75%;--float-distance:10px;animation-duration:8.6s;animation-delay:-1.8s}
.approved-object-rune{left:83.25%;top:61.85%;width:15.31%;--float-distance:12px;--turn-start:-1.5deg;--turn-end:1deg;animation-duration:7.1s;animation-delay:-5.3s}
.approved-object:after{content:""}
@keyframes approvedObjectFloat{
  0%,100%{
    transform:translate3d(var(--parallax-x),var(--parallax-y),0) rotate(var(--turn-start)) scale(.985);
    filter:brightness(1.02) drop-shadow(0 0 5px rgba(237,178,79,.24)) drop-shadow(0 8px 17px rgba(9,0,7,.32));
    opacity:.78;
  }
  48%{
    transform:translate3d(var(--parallax-x),calc(var(--parallax-y) - var(--float-distance)),0) rotate(var(--turn-end)) scale(1.055);
    filter:brightness(1.32) drop-shadow(0 0 16px rgba(255,206,111,.72)) drop-shadow(0 13px 24px rgba(9,0,7,.42));
    opacity:1;
  }
}
.approved-hero-artboard.is-parallax-active .approved-object{transition:filter .25s ease}

@media(max-width:1100px){
  .approved-object{--float-distance:8px}
}
@media(max-width:820px){
  .approved-object{display:none}
}
@media(prefers-reduced-motion:reduce){
  .approved-object{animation:none;transform:none;opacity:.9}
}

/* V23 — static first banner. The portrait, copy and service artwork are
   independent HTML layers; slides two and three retain their original design. */
.slide-sanctuary{
  background:
    radial-gradient(circle at 27% 45%,rgba(197,91,91,.22),transparent 34%),
    radial-gradient(circle at 78% 42%,rgba(116,35,84,.2),transparent 38%),
    linear-gradient(108deg,#3a0c2f 0%,#260720 48%,#10020f 100%);
}
.slide-sanctuary:before{
  z-index:1;
  background:linear-gradient(90deg,rgba(42,7,33,.04) 0%,rgba(27,4,24,.08) 48%,rgba(13,1,12,.62) 78%,rgba(9,1,9,.8) 100%);
}
.first-hero-art{
  position:absolute;
  z-index:2;
  inset:0 auto 0 0;
  width:55%;
  overflow:hidden;
  pointer-events:none;
}
.first-hero-art:before{
  content:"";
  position:absolute;
  left:46%;
  top:49%;
  width:min(620px,43vw);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(232,174,85,.23),rgba(142,52,67,.11) 40%,transparent 69%);
}
.first-hero-arch{
  position:absolute;
  z-index:1;
  left:46%;
  top:55px;
  width:min(25vw,420px);
  height:calc(100% - 72px);
  transform:translateX(-50%);
  border:6px double rgba(221,162,70,.88);
  border-bottom:0;
  border-radius:235px 235px 10px 10px;
  box-shadow:0 0 0 10px rgba(221,162,70,.05),inset 0 0 44px rgba(245,197,106,.08);
}
.first-hero-arch:before{
  content:"";
  position:absolute;
  inset:13px 13px 0;
  border:1px solid rgba(255,220,148,.38);
  border-bottom:0;
  border-radius:215px 215px 7px 7px;
}
.first-hero-arch>span{
  position:absolute;
  left:50%;
  top:-36px;
  width:72px;
  height:72px;
  transform:translateX(-50%);
  display:grid;
  place-items:center;
  border:2px solid #dba444;
  border-radius:50%;
  background:#3a0b2f;
  color:#e9ae40;
  font:400 42px/1 Arial,sans-serif;
  box-shadow:0 9px 20px rgba(12,1,10,.28);
}
.first-hero-arch>span i{
  position:absolute;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#ef3340;
}
.first-hero-portrait{
  position:absolute;
  z-index:4;
  left:46%;
  bottom:-24px;
  width:auto;
  height:calc(100% - 100px);
  transform:translateX(-50%);
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(18px 22px 26px rgba(14,1,12,.42));
}
.first-static-icon{
  position:absolute;
  z-index:3;
  width:120px;
  height:auto;
  opacity:.88;
  filter:brightness(1.08) drop-shadow(0 0 8px rgba(230,171,72,.3));
  animation:none!important;
  transition:none!important;
  transform:none!important;
}
.first-icon-tarot{left:1%;top:13%;width:114px}
.first-icon-numerology{right:0;top:8%;width:118px}
.first-icon-akashic{left:0;top:48%;width:128px}
.first-icon-ritual{right:-1%;top:43%;width:118px}
.first-icon-crystals{left:1%;bottom:1%;width:122px}
.first-icon-rune{right:0;bottom:1%;width:119px}
.first-hero-content{
  position:absolute!important;
  z-index:5!important;
  left:57%;
  top:0;
  width:38%!important;
  height:100%;
  margin:0!important;
  padding:0 0 18px!important;
  justify-content:center;
}
.first-hero-content h1{
  max-width:650px;
  margin-bottom:24px;
  font-family:var(--serif)!important;
  font-size:clamp(48px,4.35vw,70px)!important;
  font-weight:500!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  text-transform:uppercase;
}
.first-hero-content h1 em{
  display:inline-block;
  margin-top:5px;
  text-transform:none;
}
.first-hero-content>p:not(.overline){font-size:16px}
.first-hero-content .button{text-decoration:none}
.slide-sanctuary .first-hero-art,
.slide-sanctuary .first-hero-art:before,
.slide-sanctuary .first-hero-arch,
.slide-sanctuary .first-hero-arch:before,
.slide-sanctuary .first-hero-arch>span,
.slide-sanctuary .first-hero-portrait,
.slide-sanctuary .first-static-icon,
.slide-sanctuary .first-hero-content{
  animation:none!important;
}

@media(max-width:1100px){
  .first-hero-art{width:56%}
  .first-hero-arch{left:47%;width:350px}
  .first-hero-portrait{left:47%;height:calc(100% - 112px)}
  .first-hero-content{left:56%;width:41%!important}
  .first-static-icon{width:88px}
  .first-icon-akashic,.first-icon-crystals{width:96px}
}

@media(max-width:700px){
  .slide-sanctuary:before{
    background:linear-gradient(180deg,rgba(30,5,27,.04) 0%,rgba(25,4,23,.12) 45%,rgba(13,2,12,.92) 66%,rgba(10,1,9,.99) 100%);
  }
  .first-hero-art{width:100%;height:59%}
  .first-hero-art:before{left:50%;top:47%;width:430px}
  .first-hero-arch{left:50%;top:36px;width:265px;height:330px;border-width:4px}
  .first-hero-arch>span{top:-25px;width:54px;height:54px;font-size:31px}
  .first-hero-portrait{left:50%;bottom:-8px;height:306px}
  .first-static-icon{width:58px;opacity:.76}
  .first-icon-tarot{left:2%;top:15%}
  .first-icon-numerology{right:2%;top:11%}
  .first-icon-akashic{left:1%;top:48%;width:64px}
  .first-icon-ritual{right:1%;top:46%;width:60px}
  .first-icon-crystals{left:3%;bottom:1%;width:63px}
  .first-icon-rune{right:3%;bottom:1%;width:61px}
  .first-hero-content{
    left:0;
    top:auto;
    bottom:0;
    width:100%!important;
    height:44%;
    padding:20px 20px 46px!important;
    align-items:center;
    text-align:center;
  }
  .first-hero-content .overline{margin-bottom:10px}
  .first-hero-content h1{font-size:36px!important;line-height:.98!important;margin-bottom:12px}
  .first-hero-content>p:not(.overline){margin-bottom:14px;font-size:12px}
  .first-hero-content .hero-ctas{justify-content:center}
  .first-hero-content .button{min-height:42px;padding:0 13px;font-size:11px}
}

/* V25 — clean ornament cutouts and reliable sticky-header clearance. */
html{scroll-padding-top:112px}
#about{scroll-margin-top:112px}
.first-static-icon{
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 8px rgba(230,171,72,.3));
}
.about-section .portrait-arch{overflow:visible!important}
.about-section .portrait-arch img{
  top:115px!important;
  bottom:auto!important;
  height:calc(100% - 116px)!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}
@media(max-width:820px){
  html{scroll-padding-top:88px}
  #about{scroll-margin-top:88px}
  .about-section .portrait-arch img{top:68px!important;height:calc(100% - 96px)!important}
}

/* V26 — keep the header in normal document flow so section headings can
   never slide underneath it and appear cropped. */
.site-header{
  position:relative!important;
  top:auto!important;
}

/*on load popup css*/
.popup-overlay{position:fixed; inset:0; background:rgba(0, 0, 0, 0.65); display:none; align-items:center; justify-content:center; z-index:99999;}
.popup-box{position:relative; width:100%; max-width:900px; padding:0px; background:#fff; border-radius:12px; box-shadow:0 10px 40px rgba(0,0,0,.25); overflow:hidden;}
.popup-close{position:absolute; top:10px; right:15px; border:0; background:transparent; font-size:25px; font-family:initial; font-weight:300; cursor:pointer;}

.pop_row{display:grid; grid-template-columns:1fr 1.5fr; gap:25px;}
.popup_left{background:radial-gradient(circle at 50% 25%,#f7ddb0 0%,#e9bd6c 48%,#b6782c 100%); padding:55px 0 0; display:flex; align-items:flex-end;}
.popup_left img{width:100%;}
.popup_right{padding:40px 25px 25px 0;}
.popup_right form{display:grid; grid-template-columns:repeat(2, 1fr); gap:10px 20px;}
.popup_right form label{display:block; margin-bottom:10px; font-size:14px; font-weight:500; color:var(--navy);}
.popup_right form input, .popup_right form select{width:100%; height:50px; border:1px solid rgba(23,24,77,.14); border-radius:4px; outline:none; padding:12px 13px; font-size:14px; color:var(--navy);}
.popup_right form input:focus{border-color:#6759ba;}
.popup_right form .mb-2{margin-bottom:1rem;}
.popup_right form .button{width:100%;}
.popup_right h3{font-size:25px; color:var(--ink); font-weight:700; margin-bottom:1rem; margin-top:0;}
.popup_right h5{font-size:23px; font-family:var(--serif); font-weight:500; color:var(--gold); font-style:italic; margin-bottom:1.5rem; margin-top:0;}

/*inner page css*/
.inner-banner{background-image: url(../assets/course-categories.webp); background-size:cover; background-repeat:no-repeat; background-position:35% 85%; position:relative; z-index:2; min-height:350px; display:flex; align-items:center;}
.inner-layer{color:#fff; width:min(690px, 60%); height:100%; display:flex; flex-direction:column; justify-content:center; margin-left:max(4vw, 60px); position:relative; line-height:1.7;}
.inner-banner:before{content:''; position:absolute; inset:0; background: linear-gradient( 90deg, rgba(7, 9, 42, 0.97) 0%, rgba(7, 9, 42, 0.85) 46%, rgba(7, 9, 42, 0.22) 100% );}
.inner-layer h1{font-family:var(--display); font-size:60px; color:#fff; font-weight:800; margin:0; line-height:normal;}
.inner-layer h1 em{display:block; font-family:var(--serif); font-weight:500; color:var(--gold);}
.breadcrumb{display:flex; justify-content:flex-start; align-items:center; flex-wrap:wrap; padding:0; margin:0 0 1.5rem; list-style:none;}
.breadcrumb-item{font-size:13px; line-height:normal;}
.breadcrumb-item a{color:#fff; text-decoration:none;}
.breadcrumb-item.active{color:var(--gold);}
.breadcrumb-item+.breadcrumb-item{padding-left:0.5rem;}
.breadcrumb-item+.breadcrumb-item:before{float:left; padding-right:0.5rem; color:#fff; content:"/";}


.about_banner{background-image: url(../assets/about-banner.webp); background-size:110%; background-repeat:no-repeat; background-position:0 0; padding:58px max(5vw,34px) 64px;}
.about_banner h1{font-family:var(--display); font-size:50px; font-weight:800;margin:0;}
.about_banner h1 em{display:block; font-family:var(--serif); font-weight:500; color:var(--gold);}
.lead{max-width:500px;margin:28px 0 30px;font-size:16px;line-height:1.85;color:#5d554d}
.hero-grid{display:grid;grid-template-columns:1fr 1.14fr;gap:40px;align-items:center;position:relative;z-index:2}
.lead{max-width:600px;margin:15px 0 30px;font-size:15px;line-height:1.75;color:#5d554d}
.hero-visual{height:480px;position:relative}

.stats{/*background:#6d563d;*/ color:#f8f1e7; background:radial-gradient(circle at 72% 44%,#202660 0,#111544 38%,#090c35 100%);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0}
.stat{display:flex;justify-content:center;align-items:center;gap:17px;border-right:1px solid #d9c4a444}
.stat:last-child{border:0}
.stat-icon{width:55px;height:55px;border:1px solid #ddc9aa99;border-radius:50%;display:grid;place-items:center;font-size:28px;color:#e2c89e}
.stat-icon img{width:auto; height:35px;}
.stat strong{display:block;font:700 28px var(--display)}
.stat small{display:block;margin-top:4px;font-size:11px;letter-spacing:.03em;color:#eadfd1}
.section-pad{padding:58px max(5vw,34px) 64px}
.story{background:#fbf8f2;}
.story-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:60px;align-items:center}
.founder-image{height:655px;position:relative}
.story-copy{color:#57515a; font-size:14px; line-height:1.72;}
.portrait-placeholder img{width:100%;}
.portrait-placeholder .portrait-arch{width:100%;}
.portrait-silhouette{position:absolute;top:0px;font-size:70px;color:#ead5b5;z-index:2}
.portrait-placeholder p{position:absolute;z-index:3;bottom:22px;color:white;letter-spacing:.15em;font-size:10px}
.story h2{font:800 clamp(38px, 4vw, 61px) / 0.96 var(--display); color:var(--ink); margin:0;}
.story h2 em{font-family:var(--serif); font-weight:500; color:var(--gold);}
.signature{font:italic 42px "Brush Script MT",cursive;margin-top:28px;color:#3e352d}
.founder-title{font-size:10px;letter-spacing:.15em;color:var(--gold);font-weight:700}
.mission-wrap{background:#eee5d9;position:relative}
.mission-wrap .section-heading{text-align:center;margin-bottom:45px; flex-direction:column; align-items:center; gap:0;}
.mission-wrap .section-heading h2 span{color:var(--gold);font-style:italic}
.mission-wrap .section-heading>p:last-child{margin-top:20px;color:var(--muted); font-size:13px;}
.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.purpose-card{background:#faf7f1;border:1px solid var(--line);padding:42px;display:grid;grid-template-columns:75px 1fr;gap:25px;min-height:235px;transition:.35s;position:relative;overflow:hidden}
.purpose-card:after{content:"✦";position:absolute;right:-10px;bottom:-30px;font-size:150px;color:#a9835012}
.purpose-card:hover{transform:translateY(-8px);box-shadow:0 22px 50px #5d463222}
.purpose-icon{width:75px;height:75px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#fff;font-size:29px}
.purpose-icon img{width:auto; height:50px;}
.card-label{font-size:12px;letter-spacing:.15em;font-weight:700;color:var(--gold);margin-bottom:10px}.purpose-card h3{font:700 23px var(--display);margin:0 0 13px}
.purpose-card p:last-child{color:var(--muted);line-height:1.75;font-size:14px;position:relative;z-index:2}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}

.contact_bg{background:#f7f1e6;}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px; margin-top:35px;}
.contact-card{background:#fff;padding:28px 24px;min-height:220px;border:1px solid #eee9df;box-shadow:var(--shadow);position:relative;transition:.3s}
.contact-card:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(8,19,64,.14)}
.round-icon{width:52px;height:52px;border-radius:50%;background:var(--navy);display:grid;place-items:center;color:var(--gold);font-size:21px;margin-bottom:23px}
.round-icon img{height:25px;}
.contact-card h3{margin:0 0 15px;font-family:var(--display);font-size:22px}
.contact-card p{margin:0;color:#535b74;font-size:14px; line-height:1.7;}
.form-section{background:#fcfbf8}
.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.form-wrap .section-heading{margin-bottom:30px; display:block;}
form{display:grid;gap:12px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label span{display:none}
input,textarea{width:100%;border:1px solid #dfe1e6;background:white;padding:14px 16px;color:var(--ink);font-size:14px;font-family:inherit;outline:none; transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(243,169,20,.10)}
textarea{resize:vertical;min-height:85px}
.form-status{font-size:13px;min-height:18px;color:#287a44}
.form-section .visual-card{position:relative;min-height:500px;display:grid;place-items:center; width:auto; height:auto; background:none; border:none; box-shadow:none;}
.visual-frame{position:relative;width:min(100%,470px);height:470px;border-radius:48% 48% 2px 2px/36% 36% 2px 2px;
  overflow:hidden;border:1px solid rgba(255,255,255,.45);box-shadow:0 24px 50px rgba(8,19,64,.22);
  /*background:radial-gradient(circle at 50% 76%,rgba(246,174,36,.25),transparent 20%), linear-gradient(135deg,#251214 0%,#080d22 60%,#131838 100%);*/ background:url(../assets/form-img.webp); background-size:cover;}

.faq-office{display:grid;grid-template-columns:1fr 1fr}
.faq-pane{background:#f7f1e6;padding:45px max(30px,calc((100vw - 1230px)/2)) 45px max(30px,calc((100vw - 1230px)/2))}
.faq-inner{max-width:560px}
.faq-inner .section-heading{margin-bottom:30px; display:block;}
.accordion{margin:28px 0 24px;border:1px solid #ded9cd;background:#fff}
.acc-item{border-bottom:1px solid #e5e0d7}
.acc-item:last-child{border-bottom:0}
.acc-head{width:100%;display:flex;justify-content:space-between;align-items:center;padding:17px 18px;background:#fff;border:0;text-align:left;color:var(--ink);font-weight:600;font-size:14px}
.acc-head span{width:8px; height: 8px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;  transform: rotate(45deg) translateY(-2px); transition: transform .25s;}
.acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.acc-body p{overflow:hidden;margin:0;padding:0 18px;color:#646b7c;font-size:13px}
.acc-item.active .acc-body{grid-template-rows:1fr}
.acc-item.active .acc-body p{padding-bottom:18px}
.acc-item.active .acc-head span{transform:rotate(225deg)}

.office-pane{position:relative;min-height:555px;padding:65px 7%;background:linear-gradient(135deg,#091642,#101d5b);color:#fff;overflow:hidden}
.office-pane:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:28px 28px;opacity:.18}
.office-content{position:relative;z-index:2;max-width:410px}
.office-content h2{font-size:42px; margin-top:0;}
.office-content>p{color:#c6cbe0;max-width:390px}
.office-address{display:flex;gap:15px;margin:30px 0}
.office-address>span{color:var(--gold);font-size:28px}
.office-address>span img{width:30px;}
.office-address p{margin:0;color:#d9dced}
.office-address p b{display:block; margin-bottom:15px;}
.monument{position:absolute;right:20px;bottom:20px;width:65%;}
.monument img{width:100%;}
.btn-outline{border:solid 1px var(--gold);background:transparent;color:var(--ink)}
.btn-outline-gold{border:solid 1px var(--gold);background:transparent;color:var(--gold)}

.detail_banner{background:radial-gradient(circle at 75% 35%,#182a67 0,#091849 42%,#031039 100%);color:#fff;padding:28px 5% 52px;overflow:hidden;position:relative}
.detail_banner:after{content:""; position:absolute; width:500px; height:500px; right:-120px; top:-130px; border:1px solid #ffffff12; border-radius:50%; box-shadow:0 0 0 60px #ffffff05, 0 0 0 120px #ffffff03}
.course-media {height:420px; position:relative; border-radius:6px; overflow:hidden; border:1px solid #ffffff55; box-shadow:0 15px 40px #0005}
.course-media img {width:100%; height:100%; object-fit:cover}
.course-media:after {content:""; position:absolute; inset:0; background:linear-gradient(135deg,#0000,#0005)}
.pill {display:inline-block; border:1px solid #f2ad1b; color:#f2ad1b; border-radius:15px; padding:5px 10px; font-size:8px; font-weight:800; letter-spacing:.7px}
.course-info{color:#fff;}
.course-info h1 {font-size:40px; line-height:1.1; letter-spacing:0; font-weight:700; margin:12px 0 7px}
.gold-line {color:#f3b31d; margin:0 0 17px}
.meta-row {display:flex; gap:20px; flex-wrap:wrap; font-size:13px; margin-bottom:17px}
.description {line-height:1.7; color:#dce1ee; font-size:14px;}
.feature-pills {display:flex; gap:8px; flex-wrap:wrap; margin:20px 0}
.feature-pills span {background:#ffffff0e; border:1px solid #ffffff12; padding:9px 12px; border-radius:6px; font-size:12px}
.price-row {display:flex; align-items:center; gap:14px; margin-top:18px; margin-bottom:25px;}
.price-row strong {font-size:28px}
.price-row del {color:#8790a8}
.price-row em {font-style:normal; background:#f6ad18; color:#17213c; font-size:9px; font-weight:800; padding:7px 9px; border-radius:4px}
.hero-buttons {display:flex; gap:12px; margin:16px 0}
.hero-buttons .button{min-width:170px;}
.guarantee{font-size:12px;}

.learning {background:#fff;  position:relative; z-index:2}
.learning h2, .about-course h2, .curriculum h2, .related h2 {font-family:var(--display); font-size:30px; font-weight:800; margin:0 0 30px;}
.learning-grid {display:grid; grid-template-columns:repeat(5,1fr); border:1px solid #e7e7e7; border-radius:5px; padding-top:24px; padding-bottom:28px;}
.learning-grid>div {text-align:center; padding:8px 16px; border-right:1px solid #eee}
.learning-grid>div:last-child {border:0}
.learning-grid i {display:block; color:#eda91a; font-size:50px; font-style:normal; margin-bottom:15px}
.learning-grid b {font-size:14px; font-weight:600; line-height:1.5; display:block}

.about-course {display:grid; grid-template-columns:1.6fr 1fr; margin-top:25px; border:1px solid #e7e7e7; border-radius:5px; overflow:hidden}
.about-copy {padding:25px 32px}
.about-copy p {font-size:14px; line-height:1.75; color:#5e6578; max-width:700px}
.about-copy ul {padding:0; list-style:none; line-height:2.4; font-size:14px; color:#5e6578;}
.about-copy li:before {content:"✓"; display:inline-grid; place-items:center; width:16px; height:16px; background:#f5ae1b; color:#fff; border-radius:50%; margin-right:8px; font-size:9px}
.course-details {border-left:1px solid #e7e7e7; background:#fbfaf8; padding:22px 28px}
.course-details div {display:grid; grid-template-columns:27px 1fr; margin-bottom:16px}
.course-details span {color:#eaa516; font-size:18px; grid-row:span 2}
.course-details b {font-size:14px}
.course-details small {font-size:12px; color:#687083; margin-top:4px}
/* Dynamic commerce integration */
.slide-custom{background-image:linear-gradient(90deg,rgba(7,9,42,.92),rgba(7,9,42,.38)),var(--dynamic-banner);background-size:cover;background-position:center}.dynamic-banner-shade{position:absolute;inset:0;pointer-events:none}.cart-total-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0 0;margin-top:14px;border-top:1px solid rgba(255,255,255,.14)}.cart-total-row strong{font-size:20px}.cart-item-copy{min-width:0}.cart-item-copy strong{display:block}.catalog-loading{opacity:.72;transition:opacity .2s}.form-status{margin-top:12px;min-height:20px;font-size:12px}.testimonial-static-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.search-result{text-decoration:none}
@media(max-width:820px){.site-header.mobile-nav-open .primary-nav{display:flex;position:absolute;left:0;right:0;top:74px;z-index:80;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px;flex-direction:column;align-items:stretch;box-shadow:0 18px 35px rgba(6,8,40,.12)}.site-header.mobile-nav-open .primary-nav .plain-action,.site-header.mobile-nav-open .primary-nav .explore-button{display:flex!important;width:100%;justify-content:flex-start;min-height:46px;padding:0 12px}.site-header.mobile-nav-open .mega-menu.open{display:block;position:absolute;top:calc(74px + 196px);left:0;right:0;z-index:85;max-height:55vh;overflow:auto}.testimonial-static-grid{grid-template-columns:1fr}}
.testimonial-card.no-avatar{display:block;grid-template-columns:none}
.owner-about-copy p{margin:0 0 16px}

/* Premium course cart drawer */
.cart-drawer{width:min(560px,100%);box-shadow:-28px 0 70px rgba(10,13,45,.22)}
.drawer-head{padding:34px 34px 28px;align-items:flex-start;background:#fff}
.drawer-head small{font-size:10px;font-weight:700;letter-spacing:.14em}
.drawer-head h2{font-size:36px;line-height:1.05;letter-spacing:-.035em;margin-top:8px}
.drawer-head h2 span{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 7px;margin-left:5px;border-radius:999px;background:var(--cream);color:var(--navy);font:700 11px var(--sans);vertical-align:middle}
.drawer-head button{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;cursor:pointer;transition:.2s}
.drawer-head button:hover{background:var(--cream)}
.drawer-items{padding:12px 34px 22px}
.empty-cart{font-size:14px;line-height:1.7;padding:26px 0;color:#6d7183}
.cart-item{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:18px;align-items:start;padding:24px 0;border-bottom:1px solid #e8e3d9}
.cart-item-image{display:block;width:92px;height:82px;overflow:hidden;background:var(--cream);border:1px solid #e4ded2;text-decoration:none}
.cart-item-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.cart-item-image:hover img{transform:scale(1.045)}
.cart-item-copy{min-width:0;padding-top:1px}
.cart-item-title{display:inline-block;color:var(--navy);font:700 18px/1.22 var(--display);text-decoration:none;letter-spacing:-.015em}
.cart-item-title:hover{text-decoration:underline;text-underline-offset:3px}
.cart-item-category{display:block;margin-top:7px;color:var(--gold2);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cart-item-copy p{margin:9px 0 8px;color:#747888;font-size:11.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cart-item-view{color:var(--navy);font-size:10.5px;font-weight:700;text-decoration:none}
.cart-item-view:hover{color:var(--gold2)}
.cart-item-side{min-width:94px;display:flex;flex-direction:column;align-items:flex-end;gap:17px;padding-top:1px}
.cart-item-price{color:var(--navy);font:700 17px/1 var(--display);white-space:nowrap}
.cart-item .cart-item-side button{padding:0;color:var(--red);font-size:10.5px;font-weight:600;cursor:pointer;text-transform:none}
.cart-item .cart-item-side button:hover{text-decoration:underline}
.cart-total-row{display:flex;align-items:center;justify-content:space-between;margin-top:0;padding:24px 0 4px;border-top:0;color:var(--navy)}
.cart-total-row span{font-size:14px;font-weight:600}
.cart-total-row strong{font:700 28px/1 var(--display);letter-spacing:-.02em}
.drawer-foot{padding:22px 34px 28px;background:#fbfaf7;border-top:1px solid #e4ded2}
.drawer-foot p{margin:0 0 16px;font-size:11px;line-height:1.55;color:#777b8d}
.drawer-foot .button{min-height:52px;font-size:11px}
@media(max-width:600px){.drawer-head{padding:25px 20px 22px}.drawer-head h2{font-size:31px}.drawer-items{padding:6px 20px 18px}.cart-item{grid-template-columns:76px minmax(0,1fr);gap:14px;padding:20px 0}.cart-item-image{width:76px;height:72px}.cart-item-title{font-size:16px}.cart-item-copy p{font-size:11px}.cart-item-side{grid-column:2;min-width:0;flex-direction:row;align-items:center;justify-content:space-between;margin-top:-2px}.cart-item-price{font-size:16px}.drawer-foot{padding:18px 20px 22px}}

/* Admin-uploaded category images use a simple cover treatment. */
.category-card.admin-category-image{background-size:cover;background-position:center}
.category-card.admin-category-image:hover{background-size:cover;background-position:center}

/* Keep one persistent WhatsApp control only. Old duplicate enquiry/footer widgets stay hidden. */
.sticky-enquire,.footer-whatsapp{display:none!important}
