/*
Theme Name: Satyaprakash
Theme URI: https://satyaprakash.com/
Author: Satyaprakash
Author URI: https://satyaprakash.com/
Description: A spiritual sanctuary theme for daily motivation, thought of the day, guided videos, and consultations. Pure · Unstained · Eternal.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: satyaprakash
Tags: one-column, custom-menu, custom-logo, featured-images, translation-ready
*/

/* =====================================================================
   Satyaprakash · Motivational & Spiritual Hub
   Pure · Unstained · Eternal
   ===================================================================== */

/* ---------- TOKENS ---------- */
:root {
  --sp-ivory: #fafaf7;
  --sp-white: #ffffff;
  --sp-mist: #f0f4f8;
  --sp-gold: #c9a961;
  --sp-gold-deep: #b08d3f;
  --sp-gold-light: #e8d8b0;
  --sp-midnight: #172554;
  --sp-slate: #475569;
  --sp-muted: #94a3b8;
  --sp-powder: #e0e7ff;
  --sp-whatsapp: #25d366;
  --sp-radius-card: 24px;
  --sp-radius-pill: 9999px;
  --sp-shadow-card: 0 1px 0 rgba(23,37,84,.04), 0 18px 40px -28px rgba(23,37,84,.18);
  --sp-shadow-card-hover: 0 1px 0 rgba(23,37,84,.04), 0 28px 60px -28px rgba(23,37,84,.24);
  --sp-font-serif: "Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --sp-font-sans: "Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sp-font-sans);background:var(--sp-ivory);color:var(--sp-midnight);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
ul{list-style:none;margin:0;padding:0}
.sp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sp-skip{position:absolute;left:-9999px;top:0;background:var(--sp-midnight);color:#fff;padding:12px 18px;border-radius:9999px;z-index:100}
.sp-skip:focus{left:16px;top:16px}

/* ---------- CONTAINER ---------- */
.sp-container{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.sp-container-narrow{max-width:880px;margin:0 auto;padding-left:24px;padding-right:24px}
@media (min-width:768px){.sp-container,.sp-container-narrow{padding-left:40px;padding-right:40px}}

/* ---------- TYPOGRAPHY ---------- */
.sp-h1{font-family:var(--sp-font-serif);font-weight:500;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.05;letter-spacing:-0.01em;margin:24px 0 0;color:var(--sp-midnight);text-wrap:balance}
.sp-h1 em{font-style:italic;font-weight:300;color:var(--sp-gold-deep)}
.sp-h2{font-family:var(--sp-font-serif);font-weight:500;font-size:clamp(2rem,4.5vw,3.1rem);line-height:1.1;letter-spacing:-0.01em;margin:24px 0 0;color:var(--sp-midnight)}
.sp-h2 em{font-style:italic;font-weight:300;color:var(--sp-gold-deep);display:block}
.sp-h3{font-family:var(--sp-font-serif);font-weight:500;font-size:1.6rem;line-height:1.2;margin:0 0 12px;color:var(--sp-midnight)}
.sp-section-lead{margin-top:20px;font-size:1.125rem;line-height:1.7;color:var(--sp-slate)}

/* ---------- DIVIDER ---------- */
.sp-divider{display:inline-flex;align-items:center;gap:10px;color:var(--sp-gold);font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;font-weight:600}
.sp-divider::before,.sp-divider::after{content:"";height:1px;width:40px;background:linear-gradient(to right,transparent,var(--sp-gold-light),transparent)}

/* ---------- BUTTONS ---------- */
.sp-btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:var(--sp-radius-pill);padding:.95rem 2rem;font-weight:500;letter-spacing:.03em;transition:transform .4s ease,box-shadow .4s ease,background .4s ease,color .3s ease;white-space:nowrap;font-size:.95rem}
.sp-btn-gold{background:var(--sp-gold);color:#fff;box-shadow:0 6px 24px -8px rgba(201,169,97,.6)}
.sp-btn-gold:hover{background:var(--sp-gold-deep);transform:translateY(-2px);box-shadow:0 14px 36px -10px rgba(201,169,97,.7)}
.sp-btn-ghost{color:var(--sp-midnight);border-bottom:1px solid transparent;border-radius:0;padding:.95rem 1.25rem}
.sp-btn-ghost:hover{color:var(--sp-gold-deep);border-bottom-color:var(--sp-gold)}
.sp-btn-whatsapp{background:var(--sp-whatsapp);color:#fff;box-shadow:0 10px 30px -10px rgba(37,211,102,.55)}
.sp-btn-whatsapp:hover{transform:translateY(-2px)}
.sp-btn-outline{border:1px solid var(--sp-gold);color:var(--sp-gold-deep);background:transparent}
.sp-btn-outline:hover{background:var(--sp-gold);color:#fff;transform:translateY(-2px)}
.sp-btn-block{display:flex;justify-content:center;width:100%}

/* ---------- HEADER ---------- */
.sp-header{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(250,250,247,.78);border-bottom:1px solid rgba(201,169,97,.12)}
.sp-header-inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.sp-brand{display:inline-flex;align-items:center;gap:12px;min-width:0}
.sp-brand-mark{height:44px;width:44px;object-fit:contain;flex-shrink:0}
.sp-brand-text{line-height:1.1;min-width:0}
.sp-brand-name{font-family:var(--sp-font-serif);font-size:1.25rem;font-weight:600;letter-spacing:.02em;color:var(--sp-midnight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-brand-tagline{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--sp-gold-deep);margin-top:2px;white-space:nowrap}
.sp-nav{display:none;gap:36px}
.sp-nav a{font-size:.88rem;color:var(--sp-slate);transition:color .3s ease;position:relative}
.sp-nav a:hover{color:var(--sp-gold-deep)}
.sp-nav a.is-active{color:var(--sp-midnight)}
.sp-nav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--sp-gold);border-radius:2px}
.sp-header-cta{display:none}
.sp-menu-toggle{display:inline-flex;padding:8px;color:var(--sp-midnight);border-radius:9999px}
@media (min-width:900px){.sp-nav,.sp-header-cta{display:inline-flex}.sp-menu-toggle{display:none}}

/* ---------- MOBILE MENU ---------- */
.sp-mobile-menu{display:none;flex-direction:column;gap:18px;padding:24px;background:rgba(250,250,247,.97);border-top:1px solid rgba(201,169,97,.18)}
.sp-mobile-menu a{font-family:var(--sp-font-serif);font-size:1.55rem;font-weight:500;color:var(--sp-midnight)}
.sp-mobile-menu.is-open{display:flex}

/* ---------- HERO ---------- */
.sp-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 0 96px;overflow:hidden}
.sp-hero-compact{min-height:auto;padding:160px 0 80px}
.sp-hero-bg-glow{position:absolute;inset:0;z-index:-3;background:radial-gradient(120% 80% at 50% 30%,#fdf7e7 0%,#fafaf7 55%,#fff 100%)}
.sp-hero-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;mix-blend-mode:multiply;z-index:-2}
.sp-hero-halo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:140vmin;max-width:none;opacity:.06;z-index:-2;pointer-events:none}
.sp-hero-content{position:relative;text-align:center;max-width:900px}
.sp-hero-sub{margin:32px auto 0;font-size:1.15rem;line-height:1.75;color:var(--sp-slate);max-width:640px;text-wrap:balance}
.sp-hero-ctas{margin-top:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
@media (min-width:640px){.sp-hero-ctas{flex-direction:row}}
.sp-hero-scroll{margin-top:60px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--sp-muted);opacity:.8}
.sp-hero-scroll span{height:1px;width:48px;background:currentColor;opacity:.3}
.sp-hero-scroll small{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase}

/* ---------- PARTICLES + ANIMATIONS ---------- */
.sp-particles{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.sp-particle{position:absolute;bottom:-20px;width:4px;height:4px;border-radius:9999px;background:var(--sp-gold);box-shadow:0 0 12px rgba(201,169,97,.6);animation:sp-drift 18s linear infinite;opacity:0;will-change:transform,opacity}
@keyframes sp-drift{0%{transform:translateY(0) translateX(0);opacity:0}10%{opacity:.5}90%{opacity:.5}100%{transform:translateY(-120vh) translateX(40px);opacity:0}}
@keyframes sp-breathe{0%,100%{transform:scale(1) translateY(0);opacity:.55}50%{transform:scale(1.08) translateY(-8px);opacity:.75}}
.sp-breathe{animation:sp-breathe 9s ease-in-out infinite;will-change:transform,opacity}
@keyframes sp-halo-rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.sp-halo-rotate{animation:sp-halo-rotate 120s linear infinite}
.sp-reveal{opacity:0}
.sp-reveal.is-in{animation:sp-fade-up 1.1s ease-out forwards}
@keyframes sp-fade-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ---------- SECTIONS ---------- */
.sp-section{position:relative;padding:96px 0}
@media (min-width:768px){.sp-section{padding:128px 0}}
.sp-section-sm{padding:64px 0}
@media (min-width:768px){.sp-section-sm{padding:80px 0}}
.sp-bg-ivory{background:var(--sp-ivory)}
.sp-bg-white{background:var(--sp-white)}
.sp-bg-mist{background:var(--sp-mist)}
.sp-section-head{max-width:720px;margin-bottom:64px}
.sp-section-head-center{max-width:720px;margin:0 auto 64px;text-align:center}

/* ---------- GRID ---------- */
.sp-grid{display:grid;gap:28px}
.sp-grid-3{grid-template-columns:1fr}
.sp-grid-2{grid-template-columns:1fr}
.sp-grid-4{grid-template-columns:1fr}
@media (min-width:640px){.sp-grid-3,.sp-grid-4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:768px){.sp-grid-2{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.sp-grid-3{grid-template-columns:repeat(3,1fr)}.sp-grid-4{grid-template-columns:repeat(4,1fr)}}

/* ---------- CARD ---------- */
.sp-card{background:#fff;border-radius:var(--sp-radius-card);padding:32px;box-shadow:var(--sp-shadow-card);border:1px solid rgba(201,169,97,.12);transition:transform .5s ease,box-shadow .5s ease}
.sp-card:hover{transform:translateY(-4px);box-shadow:var(--sp-shadow-card-hover)}
.sp-card h3{font-family:var(--sp-font-serif);font-size:1.5rem;font-weight:500;margin:0 0 12px;color:var(--sp-midnight)}
.sp-card p{margin:0;color:var(--sp-slate);line-height:1.65}

/* ---------- ICON RING ---------- */
.sp-icon-ring{width:56px;height:56px;border-radius:9999px;background:linear-gradient(135deg,rgba(232,216,176,.6),rgba(255,255,255,.9));border:1px solid rgba(201,169,97,.35);display:inline-flex;align-items:center;justify-content:center;color:var(--sp-gold-deep);margin-bottom:20px}

/* ---------- THOUGHT OF THE DAY ---------- */
.sp-thought-section{position:relative;padding:80px 0;background:linear-gradient(180deg,#fafaf7 0%,#fff 50%,#fafaf7 100%)}
.sp-thought-card{max-width:820px;margin:0 auto;background:#fff;border-radius:32px;padding:48px 32px;text-align:center;position:relative;border:1px solid rgba(201,169,97,.2);box-shadow:0 40px 80px -50px rgba(23,37,84,.25)}
@media (min-width:768px){.sp-thought-card{padding:64px 56px}}
.sp-thought-card::before{content:"";position:absolute;inset:0;border-radius:32px;padding:1px;background:linear-gradient(135deg,rgba(201,169,97,.4),transparent 50%,rgba(201,169,97,.2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.sp-thought-date{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sp-gold-deep);font-weight:600;margin-bottom:16px}
.sp-thought-quote{font-family:var(--sp-font-serif);font-style:italic;font-size:1.7rem;line-height:1.4;color:var(--sp-midnight);margin:0}
@media (min-width:768px){.sp-thought-quote{font-size:2.1rem}}
.sp-thought-quote::before,.sp-thought-quote::after{content:'"';color:var(--sp-gold);font-family:var(--sp-font-serif);font-size:1.5em;line-height:0}
.sp-thought-attr{margin-top:24px;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:var(--sp-slate);font-weight:500}

/* ---------- VIDEO GRID ---------- */
.sp-video-card{position:relative;background:#000;border-radius:20px;overflow:hidden;aspect-ratio:16/9;cursor:pointer;box-shadow:0 18px 50px -30px rgba(23,37,84,.4);transition:transform .4s ease,box-shadow .4s ease;border:1px solid rgba(201,169,97,.15)}
.sp-video-card:hover{transform:translateY(-4px);box-shadow:0 28px 60px -30px rgba(23,37,84,.5)}
.sp-video-card img{width:100%;height:100%;object-fit:cover;transition:opacity .3s,transform .6s ease}
.sp-video-card:hover img{transform:scale(1.04);opacity:.85}
.sp-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:9999px;background:rgba(255,255,255,.95);display:inline-flex;align-items:center;justify-content:center;color:var(--sp-gold-deep);box-shadow:0 10px 30px -8px rgba(0,0,0,.4);transition:transform .3s ease,background .3s ease;pointer-events:none}
.sp-video-card:hover .sp-video-play{background:var(--sp-gold);color:#fff;transform:translate(-50%,-50%) scale(1.08)}
.sp-video-card:focus-visible{outline:2px solid var(--sp-gold);outline-offset:4px}
.sp-video-meta{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.78),transparent);pointer-events:none}
.sp-video-meta h4{margin:0;font-family:var(--sp-font-serif);font-size:1.15rem;font-weight:500;line-height:1.25;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.sp-video-meta small{display:block;margin-top:4px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;opacity:.85}

/* ---------- VIDEO LIGHTBOX MODAL ---------- */
body.sp-modal-open{overflow:hidden}
.sp-video-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.sp-video-modal[hidden]{display:none!important}
.sp-video-modal-backdrop{position:absolute;inset:0;background:rgba(23,37,84,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transition:opacity .45s ease}
.sp-video-modal-panel{position:relative;width:min(100%,960px);max-height:calc(100vh - 48px);overflow:auto;border-radius:28px;background:linear-gradient(165deg,#fff 0%,#fafaf7 55%,#f5f0e6 100%);border:1px solid rgba(201,169,97,.35);box-shadow:0 40px 100px -30px rgba(23,37,84,.55),0 0 0 1px rgba(255,255,255,.5) inset;opacity:0;transform:translateY(28px) scale(.94);transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1)}
.sp-video-modal.is-open .sp-video-modal-backdrop{opacity:1}
.sp-video-modal-panel.is-open{opacity:1;transform:translateY(0) scale(1)}
.sp-video-modal-close{position:absolute;top:14px;right:14px;z-index:3;width:44px;height:44px;border-radius:9999px;background:rgba(255,255,255,.92);border:1px solid rgba(201,169,97,.3);color:var(--sp-midnight);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s ease,transform .25s ease,box-shadow .25s ease;box-shadow:0 4px 16px -6px rgba(23,37,84,.2)}
.sp-video-modal-close:hover{background:var(--sp-gold);color:#fff;transform:scale(1.05);box-shadow:0 8px 24px -8px rgba(201,169,97,.5)}
.sp-video-modal-head{padding:28px 56px 12px 24px;text-align:center}
.sp-video-modal-badge{margin:0 0 8px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sp-gold-deep);font-weight:600}
.sp-video-modal-badge[hidden]{display:none}
.sp-video-modal-title{margin:0;font-family:var(--sp-font-serif);font-size:clamp(1.35rem,3.5vw,1.85rem);font-weight:500;line-height:1.25;color:var(--sp-midnight)}
.sp-video-modal-player{position:relative;margin:0 16px 20px;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#0a0f1a;box-shadow:0 20px 50px -24px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.08)}
.sp-video-modal-player::before{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 80px -20px rgba(201,169,97,.15);z-index:1}
.sp-video-modal-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (min-width:768px){
  .sp-video-modal{padding:40px 24px}
  .sp-video-modal-head{padding:32px 64px 16px 32px}
  .sp-video-modal-player{margin:0 24px 28px}
}
@media (prefers-reduced-motion:reduce){
  .sp-video-modal-backdrop,.sp-video-modal-panel{transition:none}
  .sp-video-modal-panel.is-open{transform:none}
}

/* ---------- WHO / FEATURE GRID ---------- */
.sp-who-grid{display:grid;grid-template-columns:1fr;gap:56px;align-items:center}
@media (min-width:768px){.sp-who-grid{grid-template-columns:1fr 1fr;gap:80px}}
.sp-who-image{position:relative;order:2}
@media (min-width:768px){.sp-who-image{order:1}}
.sp-who-image img{width:100%;height:420px;object-fit:cover;border-radius:28px;box-shadow:0 30px 80px -40px rgba(23,37,84,.35)}
@media (min-width:768px){.sp-who-image img{height:540px}}
.sp-who-content{order:1}
@media (min-width:768px){.sp-who-content{order:2}}
.sp-who-list{margin-top:36px;display:flex;flex-direction:column;gap:18px}
.sp-who-list li{display:flex;gap:18px;align-items:flex-start;font-size:1rem;line-height:1.65;color:var(--sp-midnight)}
.sp-bullet{flex-shrink:0;margin-top:10px;width:10px;height:10px;border-radius:9999px;background:var(--sp-gold);box-shadow:0 0 0 4px rgba(201,169,97,.18)}

/* ---------- TEASER / CTA BAND ---------- */
.sp-teaser{position:relative;padding:96px 24px;overflow:hidden;background:linear-gradient(165deg,#fdf7e7 0%,var(--sp-ivory) 45%,#f5f0e6 100%);color:var(--sp-midnight);text-align:center;border-top:1px solid rgba(201,169,97,.22);border-bottom:1px solid rgba(201,169,97,.22)}
.sp-teaser::before{content:"";position:absolute;inset:0;background:radial-gradient(85% 70% at 50% 0%,rgba(201,169,97,.16),transparent 58%);pointer-events:none}
.sp-teaser::after{content:"";position:absolute;left:50%;bottom:-35%;transform:translateX(-50%);width:min(920px,130%);height:65%;background:radial-gradient(ellipse at center,rgba(23,37,84,.035),transparent 72%);pointer-events:none}
.sp-teaser .sp-container{position:relative;z-index:1;max-width:760px}
.sp-teaser h2{color:var(--sp-midnight);margin-top:24px}
.sp-teaser h2 em{color:var(--sp-gold-deep);display:block}
.sp-teaser p{color:var(--sp-slate);margin:24px auto 0;font-size:1.1rem;line-height:1.7;max-width:560px}
.sp-teaser .sp-divider{color:var(--sp-gold-deep)}
.sp-teaser .sp-divider::before,.sp-teaser .sp-divider::after{background:linear-gradient(to right,transparent,var(--sp-gold-light),transparent)}
.sp-teaser-ctas{margin-top:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
@media (min-width:640px){.sp-teaser-ctas{flex-direction:row}}
.sp-teaser .sp-btn-outline{border-color:var(--sp-gold);color:var(--sp-gold-deep)}
.sp-teaser .sp-btn-outline:hover{background:var(--sp-gold);color:#fff;border-color:var(--sp-gold)}

/* ---------- TESTIMONIALS ---------- */
.sp-testimonials{overflow:hidden}
.sp-testi-halo{position:absolute;right:-160px;top:-160px;width:700px;max-width:none;opacity:.1;pointer-events:none}
.sp-quote-card{position:relative;overflow:hidden;padding-top:56px}
.sp-quote-mark{position:absolute;top:12px;left:20px;font-family:var(--sp-font-serif);font-size:6rem;line-height:1;color:var(--sp-gold-light);pointer-events:none;user-select:none}
.sp-quote-card blockquote{font-family:var(--sp-font-serif);font-style:italic;font-size:1.25rem;line-height:1.4;color:var(--sp-midnight);margin:0}
@media (min-width:768px){.sp-quote-card blockquote{font-size:1.4rem}}
.sp-quote-card footer{display:flex;align-items:center;gap:12px;margin-top:24px}
.sp-dash{width:32px;height:1px;background:var(--sp-gold)}
.sp-quote-card cite{font-style:normal;display:block}
.sp-quote-card cite strong{display:block;color:var(--sp-midnight);font-weight:600}
.sp-quote-card cite small{display:block;color:var(--sp-slate);font-size:.875rem}

/* ---------- TABS (consultation) ---------- */
.sp-tabs{display:inline-flex;background:#fff;padding:6px;border-radius:9999px;border:1px solid rgba(201,169,97,.2);box-shadow:0 12px 36px -28px rgba(23,37,84,.25);margin:0 auto 48px;flex-wrap:wrap}
.sp-tab{padding:.7rem 1.4rem;border-radius:9999px;font-size:.9rem;color:var(--sp-slate);transition:all .3s ease;font-weight:500}
.sp-tab.is-active{background:var(--sp-gold);color:#fff;box-shadow:0 6px 18px -6px rgba(201,169,97,.5)}
.sp-tabpanel{display:none}
.sp-tabpanel.is-active{display:block;animation:sp-fade-up .6s ease-out}

/* ---------- FORM ---------- */
.sp-form{background:var(--sp-ivory);border:1px solid rgba(201,169,97,.2);border-radius:28px;padding:32px;box-shadow:0 30px 80px -50px rgba(23,37,84,.25),inset 0 1px 0 rgba(255,255,255,.6)}
@media (min-width:768px){.sp-form{padding:48px}}
.sp-form-grid{display:grid;grid-template-columns:1fr;column-gap:32px;row-gap:24px}
@media (min-width:768px){.sp-form-grid{grid-template-columns:1fr 1fr}}
.sp-field-full{grid-column:1/-1}
.sp-label{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sp-slate);margin-bottom:4px;font-weight:600}
.sp-input{width:100%;background:transparent;border:none;border-bottom:1px solid #e2e8f0;padding:16px 0 10px;font-size:1rem;color:var(--sp-midnight);font-family:var(--sp-font-sans);outline:none;transition:border-color .3s ease;border-radius:0;appearance:none}
.sp-input:focus{border-bottom-color:var(--sp-gold)}
.sp-textarea{min-height:110px;resize:vertical}
.sp-form-foot{margin-top:36px;display:flex;flex-direction:column;gap:16px}
@media (min-width:640px){.sp-form-foot{flex-direction:row;align-items:center;justify-content:space-between}}
.sp-form-note{font-size:.78rem;color:var(--sp-muted);line-height:1.6;margin:0;max-width:420px}

/* ---------- CONTACT FORM 7 ---------- */
.sp-cf7-wrap form.wpcf7-form{margin:0}
.sp-cf7-wrap .wpcf7-form-control-wrap{display:block}
.sp-cf7-wrap br{display:none}
.sp-cf7-wrap .wpcf7-spinner{margin-left:12px}
.sp-cf7-wrap input.wpcf7-submit.sp-btn{margin:0;cursor:pointer;border:none}
.sp-cf7-wrap select.sp-input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--sp-gold-deep) 50%),linear-gradient(135deg,var(--sp-gold-deep) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% + 2px),calc(100% - 12px) calc(50% + 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:36px}
.sp-cf7-wrap .wpcf7-not-valid{border-bottom-color:#dc2626!important}
.sp-cf7-wrap .wpcf7-response-output{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sp-cf7-wrap .wpcf7 form.invalid .wpcf7-response-output,.sp-cf7-wrap .wpcf7 form.unaccepted .wpcf7-response-output,.sp-cf7-wrap .wpcf7 form.payment-required .wpcf7-response-output{position:static;width:auto;height:auto;margin:16px 0 0;padding:12px 16px;clip:auto;white-space:normal;border:1px solid #fecaca;border-radius:12px;background:#fef2f2;color:#991b1b;font-size:.9rem}
.sp-cf7-wrap .wpcf7 form.sent .wpcf7-response-output{display:none}

/* ---------- THANK YOU ---------- */
.sp-thankyou{background:var(--sp-ivory);border:1px solid rgba(201,169,97,.25);border-radius:28px;padding:48px 28px;text-align:center;box-shadow:0 30px 80px -50px rgba(23,37,84,.25)}
@media (min-width:768px){.sp-thankyou{padding:64px 48px}}
.sp-thankyou h3{margin-top:24px}
.sp-thankyou p{max-width:520px;margin:20px auto 0;color:var(--sp-slate);font-size:1.05rem;line-height:1.7}
.sp-thankyou-ctas{margin-top:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
@media (min-width:640px){.sp-thankyou-ctas{flex-direction:row}}
.sp-check{display:inline-flex;width:80px;height:80px;border-radius:9999px;background:radial-gradient(circle,#fff 0%,#e8d8b0 70%,#c9a961 100%);align-items:center;justify-content:center;box-shadow:0 14px 40px -10px rgba(201,169,97,.55)}
.sp-check-pop{animation:sp-check-pop .9s ease-out}
@keyframes sp-check-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08);opacity:1}100%{transform:scale(1);opacity:1}}

/* ---------- CONTACT PAGE ---------- */
.sp-contact-grid{display:grid;grid-template-columns:1fr;gap:48px}
@media (min-width:1024px){.sp-contact-grid{grid-template-columns:1.1fr 1fr;gap:64px}}
.sp-contact-info{display:flex;flex-direction:column;gap:20px}
.sp-contact-row{display:flex;gap:20px;align-items:flex-start;padding:24px;background:#fff;border-radius:20px;border:1px solid rgba(201,169,97,.14);box-shadow:var(--sp-shadow-card);transition:transform .3s ease}
.sp-contact-row:hover{transform:translateX(4px)}
.sp-contact-row strong{display:block;font-family:var(--sp-font-serif);font-size:1.2rem;color:var(--sp-midnight);font-weight:500;margin-bottom:4px}
.sp-contact-row span{color:var(--sp-slate);font-size:.95rem;line-height:1.6}
.sp-contact-row a{color:var(--sp-gold-deep);transition:color .3s}
.sp-contact-row a:hover{color:var(--sp-midnight)}
.sp-map{margin-top:32px;border-radius:24px;overflow:hidden;height:320px;box-shadow:var(--sp-shadow-card);border:1px solid rgba(201,169,97,.14)}
.sp-map iframe{width:100%;height:100%;border:0;display:block}

/* ---------- ABOUT PAGE ---------- */
.sp-about-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media (min-width:1024px){.sp-about-grid{grid-template-columns:1fr 1fr;gap:96px}}
.sp-about-image-stack{position:relative;padding:32px 24px 24px 0}
.sp-about-image-stack img{width:100%;height:520px;object-fit:cover;border-radius:24px;box-shadow:0 40px 80px -40px rgba(23,37,84,.35)}
.sp-about-image-stack::before{content:"";position:absolute;top:0;right:0;width:80%;height:80%;background:linear-gradient(135deg,rgba(201,169,97,.2),transparent);border-radius:24px;z-index:-1}
.sp-pillar-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:48px}
@media (min-width:640px){.sp-pillar-grid{grid-template-columns:repeat(3,1fr)}}
.sp-pillar{padding:32px 24px;text-align:center;background:#fff;border-radius:20px;border:1px solid rgba(201,169,97,.16);box-shadow:var(--sp-shadow-card);transition:transform .4s ease}
.sp-pillar:hover{transform:translateY(-4px)}
.sp-pillar h4{font-family:var(--sp-font-serif);font-size:1.25rem;margin:16px 0 8px;color:var(--sp-midnight)}
.sp-pillar p{color:var(--sp-slate);font-size:.95rem;line-height:1.6;margin:0}

/* ---------- BREADCRUMB ---------- */
.sp-breadcrumb{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sp-muted);margin-bottom:16px}
.sp-breadcrumb a{color:var(--sp-gold-deep)}
.sp-breadcrumb a:hover{color:var(--sp-midnight)}
.sp-breadcrumb span,.sp-breadcrumb-sep{margin:0 8px}
.sp-breadcrumb-yoast{text-transform:none;letter-spacing:.04em;font-size:.82rem}
.sp-breadcrumb-yoast a{color:var(--sp-gold-deep)}
.sp-breadcrumb-yoast .breadcrumb_last,.sp-breadcrumb [aria-current="page"]{color:var(--sp-midnight);font-weight:500}

/* ---------- FOOTER ---------- */
.sp-footer{background:var(--sp-midnight);color:#e0e7ff;padding:80px 0 40px}
.sp-footer-grid{display:grid;grid-template-columns:1fr;gap:48px;text-align:center}
@media (min-width:768px){.sp-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;text-align:left}}
.sp-footer-brand-block{display:flex;flex-direction:column;align-items:center;gap:12px}
@media (min-width:768px){.sp-footer-brand-block{align-items:flex-start}}
.sp-footer-logo{height:56px;width:56px;filter:brightness(1.1);object-fit:contain}
.sp-footer-brand{font-family:var(--sp-font-serif);font-size:1.6rem;color:#fff;font-weight:500}
.sp-footer-tag{font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--sp-gold-light);margin-top:4px}
.sp-footer-text{margin-top:16px;line-height:1.7;font-size:.92rem;color:#c7d2fe;max-width:300px}
.sp-footer h5{font-family:var(--sp-font-serif);font-size:1.1rem;font-weight:500;color:#fff;margin:0 0 16px;letter-spacing:.02em}
.sp-footer-links-col{display:flex;flex-direction:column;gap:10px}
.sp-footer-links-col a,.sp-footer-links-col span{color:#c7d2fe;font-size:.92rem;transition:color .3s;display:inline-flex;align-items:center;gap:8px;justify-content:center}
@media (min-width:768px){.sp-footer-links-col a,.sp-footer-links-col span{justify-content:flex-start}}
.sp-footer-links-col a:hover{color:#fff}
.sp-footer-copy{margin-top:48px;padding-top:24px;border-top:1px solid rgba(224,231,255,.12);font-size:.78rem;letter-spacing:.06em;color:#94a3b8;text-align:center;display:flex;flex-direction:column;gap:8px}
@media (min-width:640px){.sp-footer-copy{flex-direction:row;justify-content:space-between}}

/* ---------- FLOATING WHATSAPP ---------- */
.sp-whatsapp-fab{position:fixed;bottom:24px;right:24px;z-index:60;width:58px;height:58px;border-radius:9999px;background:var(--sp-whatsapp);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 30px -8px rgba(37,211,102,.55);transition:transform .3s ease}
.sp-whatsapp-fab:hover{transform:translateY(-3px) scale(1.04)}
.sp-whatsapp-fab::before{content:"";position:absolute;inset:-6px;border-radius:9999px;border:1px solid rgba(37,211,102,.4);animation:sp-pulse 2.8s ease-out infinite}
@keyframes sp-pulse{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.5);opacity:0}}

/* ---------- HEADER OFFSET ---------- */
section[id]{scroll-margin-top:90px}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){.sp-breathe,.sp-halo-rotate,.sp-particle,.sp-whatsapp-fab::before,.sp-check-pop{animation:none!important}.sp-reveal{opacity:1!important;transform:none!important}}
