
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --gold:#2E8B6E;--gold-lt:#FFFFFF;--gold-dk:#1A7055;
  --purple:#E8F2EE;--purple-mid:#D0E8DF;--purple-lt:#B8DCCE;
  --bg:#F7FAF8;--bg2:#EDF5F1;--bg3:#E2EFE9;
  --text:#1A3329;--text-muted:#3D6152;--text-dim:#40644F;
  --text-readable:#2A4C3E;
  --border:rgba(46,139,110,0.18);--border-bright:rgba(46,139,110,0.45);
  --glow:rgba(46,139,110,0.25);--glow-soft:rgba(46,139,110,0.1);
}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%;color-scheme:light only}
body{font-family:'Cormorant Garamond',serif;background:var(--bg);color:var(--text);overflow-x:hidden;min-height:100vh;min-height:100dvh;color-scheme:light only}
/* Focus visible for keyboard navigation */
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.page{display:none;animation:fadeIn 0.5s cubic-bezier(0.22,0.8,0.32,1);overflow-x:hidden;max-width:100%}
.page.active{display:block}
.page.page-leaving{animation:fadeOutPage 0.18s ease forwards}
@keyframes fadeIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeOutPage{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion: reduce){
  .page{animation:none}
  .page.page-leaving{animation:none}
}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(247,250,248,0.98),rgba(247,250,248,0.0));border-bottom:1px solid rgba(46,139,110,0.1);backdrop-filter:blur(8px)}
.nav-logo{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--gold);letter-spacing:0.14em;cursor:pointer;text-shadow:0 0 20px rgba(46,139,110,0.2);font-kerning:none;font-feature-settings:"kern" 0}
.nav-logo-img{display:flex;align-items:center}
.nav-logo-img img{height:78px;width:auto;display:block;transition:transform 0.3s}
.nav-logo-img:hover img{transform:scale(1.04)}
@media(max-width:768px){
  .nav-logo-img img{height:68px}
}
.nav-logo span{font-size:0.7rem;display:block;color:var(--text-dim);font-family:'Cinzel',serif;letter-spacing:0.3em;font-weight:400;text-transform:uppercase}
.nav-links{display:flex;gap:1.5rem;align-items:center}
.nav-links a{font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.18em;color:var(--text-muted);text-decoration:none;cursor:pointer;transition:color 0.3s,text-shadow 0.3s;text-transform:uppercase}
.nav-links a:hover{color:var(--gold);text-shadow:0 0 12px rgba(46,139,110,0.3)}
.nav-book{background:transparent;border:1.5px solid var(--gold);color:var(--gold-dk);font-family:'Cinzel',serif;font-size:0.74rem;font-weight:600;letter-spacing:0.18em;padding:0.65rem 1.35rem;cursor:pointer;transition:all 0.3s;text-transform:uppercase;position:relative;overflow:hidden;border-radius:4px}
.nav-book::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(46,139,110,0.15),transparent);opacity:0;transition:opacity 0.3s}
.nav-book:hover{background:var(--gold);color:var(--bg);box-shadow:0 0 20px rgba(46,139,110,0.3)}
.nav-book:hover::before{opacity:1}
@media(max-width:1320px) and (min-width:769px){
  nav{padding:1rem 1.25rem}
  .nav-links{gap:0.85rem}
  .nav-links a{font-size:0.6rem;letter-spacing:0.1em}
  .nav-book{padding:0.55rem 0.9rem;font-size:0.6rem}
  .nav-logo{font-size:0.88rem}
  .nav-auth{margin-right:0.4rem!important;gap:0.5rem!important}
  .nav-signin-link{font-size:0.6rem!important;letter-spacing:0.1em!important}
}

/* ── HAMBURGER MENU (C-01 fix) ── */
.nav-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:transparent;border:1px solid var(--border);cursor:pointer;padding:0;transition:border-color 0.3s;flex-shrink:0;border-radius:4px}
.nav-hamburger:hover{border-color:var(--border-bright)}
.nav-hamburger span{display:block;width:18px;height:1px;background:var(--gold);transition:all 0.35s cubic-bezier(0.22,0.8,0.32,1);transform-origin:center}
.nav-hamburger.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-hamburger.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-hamburger.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Mobile drawer overlay */
.nav-drawer-overlay{display:none;position:fixed;inset:0;z-index:150;background:rgba(26,51,41,0.45);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity 0.35s}
.nav-drawer-overlay.is-open{opacity:1;pointer-events:all}

/* Mobile drawer panel */
/* ── CUSTOMER PROFILE SLIDE-OVER ── */
.customer-profile-panel{transform:translateX(100%);transition:transform 0.35s cubic-bezier(0.22,0.8,0.32,1)}
.customer-profile-panel.is-open{transform:translateX(0)}
@media(max-width:900px){
  .customer-profile-panel{width:92vw!important}
}
@media(max-width:640px){
  .customer-profile-panel{width:100vw!important;width:100dvw!important;border-left:none!important}
}
.cd-section-label{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.24em;color:var(--gold-dk);text-transform:uppercase;margin-bottom:0.85rem;font-weight:600}
.cd-filter-row-label{font-family:'Cinzel',serif;font-size:0.56rem;letter-spacing:0.14em;color:var(--text-dim);text-transform:uppercase;flex-shrink:0}
.cd-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
@media(max-width:600px){.cd-info-grid{grid-template-columns:repeat(2,1fr)}}
.cd-info-item span{display:block}
.cd-info-label{font-family:'Cinzel',serif;font-size:0.52rem;letter-spacing:0.14em;color:var(--text-dim);text-transform:uppercase;margin-bottom:0.25rem}
.cd-info-value{font-size:0.92rem;color:var(--text);font-weight:600}
.cd-action-btn{font-family:'Cinzel',serif;font-size:0.6rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;padding:0.55rem 0.9rem;border:1px solid var(--border-bright);background:transparent;color:var(--gold-dk);cursor:pointer;transition:all 0.25s;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;gap:0.4rem}
.cd-action-btn:hover{background:var(--gold-dk);color:#fff}
.cd-action-btn.danger{border-color:rgba(192,57,43,0.4);color:#C0392B}
.cd-action-btn.danger:hover{background:#C0392B;color:#fff}
.cd-timeline-item{position:relative;padding:0.9rem 0 0.9rem 1.4rem;border-left:2px solid var(--border);margin-left:0.3rem}
.cd-timeline-item::before{content:'';position:absolute;left:-6px;top:1.2rem;width:10px;height:10px;border-radius:50%;background:var(--gold);border:2px solid var(--bg)}
.cd-timeline-item.is-latest::before{background:#C0392B}
.cd-attach-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem}
@media(max-width:600px){.cd-attach-row{grid-template-columns:repeat(2,1fr)}}
.cd-attach-slot{border:1px dashed var(--border-bright);padding:1.1rem 0.75rem;text-align:center;border-radius:6px}
.cd-attach-slot-icon{font-size:1.3rem;opacity:0.5;display:block;margin-bottom:0.4rem}
.cd-attach-slot-label{font-family:'Cinzel',serif;font-size:0.54rem;letter-spacing:0.12em;color:var(--text-dim);text-transform:uppercase;display:block;margin-bottom:0.5rem}
.cd-attach-slot-btn{font-family:'Cinzel',serif;font-size:0.52rem;letter-spacing:0.08em;padding:0.3rem 0.6rem;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;border-radius:3px}

/* ── FILES & ATTACHMENTS: multi-file upload system ── */
.fa-category-block{margin-bottom:1.6rem;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.fa-category-header{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 1rem;background:rgba(46,139,110,0.05);border-bottom:1px solid var(--border)}
.fa-category-title{font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.16em;color:var(--text);text-transform:uppercase;display:flex;align-items:center;gap:0.5rem}
.fa-category-count{color:var(--text-dim);font-weight:400}
.fa-dropzone{margin:0.9rem;padding:1.4rem 1rem;border:1.5px dashed var(--border-bright);border-radius:6px;text-align:center;transition:all 0.2s;cursor:pointer;background:rgba(46,139,110,0.02)}
.fa-dropzone:hover,.fa-dropzone.drag-over{border-color:var(--gold);background:rgba(46,139,110,0.07)}
.fa-dropzone-text{font-family:'Cormorant Garamond',serif;font-size:0.88rem;color:var(--text-dim);margin-bottom:0.6rem}
.fa-browse-btn{font-family:'Cinzel',serif;font-size:0.58rem;font-weight:600;letter-spacing:0.12em;padding:0.5rem 1rem;border:1px solid var(--gold-dk);background:transparent;color:var(--gold-dk);cursor:pointer;border-radius:4px;text-transform:uppercase}
.fa-browse-btn:hover{background:var(--gold-dk);color:#fff}
.fa-progress-wrap{margin:0 0.9rem 0.9rem;height:5px;background:var(--border);border-radius:3px;overflow:hidden;display:none}
.fa-progress-bar{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-dk));width:0%;transition:width 0.2s}
.fa-file-list{padding:0 0.9rem 0.9rem}
.fa-file-row{display:flex;align-items:center;gap:0.75rem;padding:0.65rem 0.75rem;border:1px solid var(--border);border-radius:6px;margin-bottom:0.5rem;background:var(--bg)}
.fa-file-icon{font-size:1.3rem;flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(46,139,110,0.08);border-radius:5px}
.fa-file-thumb{width:52px;height:36px;flex-shrink:0;border-radius:5px;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}
.fa-file-thumb img,.fa-file-thumb canvas{width:100%;height:100%;object-fit:cover}
.fa-file-info{flex:1;min-width:0}
.fa-file-name{font-size:0.85rem;color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa-file-meta{font-size:0.72rem;color:var(--text-dim);margin-top:0.15rem}
.fa-file-actions{display:flex;gap:0.35rem;flex-shrink:0}
.fa-file-action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;border-radius:4px;font-size:0.75rem;transition:all 0.2s}
.fa-file-action-btn:hover{border-color:var(--gold-dk);color:var(--gold-dk)}
.fa-file-action-btn.danger:hover{border-color:#C0392B;color:#C0392B}
.fa-audio-row .fa-file-info{width:100%}
.fa-audio-row audio{width:100%;height:32px;margin-top:0.3rem}
.fa-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:0.6rem;padding:0 0.9rem 0.9rem}
.fa-image-tile{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;border:1px solid var(--border);cursor:pointer}
.fa-image-tile img{width:100%;height:100%;object-fit:cover;display:block}
.fa-image-tile-overlay{position:absolute;inset:0;background:rgba(15,74,56,0.75);opacity:0;pointer-events:none;transition:opacity 0.2s;display:flex;align-items:center;justify-content:center;gap:0.4rem}
.fa-image-tile:hover .fa-image-tile-overlay{opacity:1;pointer-events:auto}
.fa-image-tile-overlay button{width:26px;height:26px;border-radius:50%;border:none;background:rgba(255,255,255,0.9);cursor:pointer;font-size:0.7rem;display:flex;align-items:center;justify-content:center}
.fa-empty-note{font-family:'Cormorant Garamond',serif;font-size:0.82rem;color:var(--text-dim);font-style:italic;padding:0 0.9rem 0.9rem}
/* Preview lightbox */
.fa-lightbox-overlay{display:none;position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,0.88);align-items:center;justify-content:center;padding:2rem}
.fa-lightbox-overlay.open{display:flex}
.fa-lightbox-content{max-width:90vw;max-height:85vh}
.fa-lightbox-content img,.fa-lightbox-content video{max-width:90vw;max-height:80vh;border-radius:4px}
.fa-lightbox-close{position:absolute;top:1.2rem;right:1.5rem;color:#fff;font-size:1.6rem;background:none;border:none;cursor:pointer}
.fa-timeline-file{display:flex;align-items:center;gap:0.5rem}

/* ── BOOKING LIFECYCLE PROGRESS STEPPER ── */
.bd-stepper{display:flex;align-items:flex-start;gap:0}
.bd-step{flex:1;text-align:center;position:relative}
.bd-step-dot{width:22px;height:22px;border-radius:50%;background:var(--bg);border:2px solid var(--border-bright);display:flex;align-items:center;justify-content:center;margin:0 auto 0.5rem;font-size:0.65rem;color:var(--text-dim);position:relative;z-index:1}
.bd-step.done .bd-step-dot{background:#40815F;border-color:#40815F;color:#fff}
.bd-step.current .bd-step-dot{background:var(--gold);border-color:var(--gold);color:#fff;box-shadow:0 0 0 4px rgba(46,139,110,0.15)}
.bd-step-label{font-family:'Cinzel',serif;font-size:0.52rem;letter-spacing:0.08em;color:var(--text-dim);text-transform:uppercase}
.bd-step.done .bd-step-label,.bd-step.current .bd-step-label{color:var(--text);font-weight:600}
.bd-step::before{content:'';position:absolute;top:11px;left:-50%;width:100%;height:2px;background:var(--border);z-index:0}
.bd-step:first-child::before{display:none}
.bd-step.done::before{background:#40815F}
.bd-cancelled-banner{background:rgba(192,57,43,0.08);border:1px solid rgba(192,57,43,0.3);color:#C0392B;padding:0.8rem 1rem;font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;text-align:center;border-radius:6px}

.nav-drawer{position:fixed;top:0;right:0;bottom:0;z-index:151;width:min(340px,88vw);background:linear-gradient(160deg,rgba(247,250,248,0.99),rgba(237,245,241,0.99));border-left:1px solid var(--border);transform:translateX(100%);transition:transform 0.4s cubic-bezier(0.22,0.8,0.32,1);display:flex;flex-direction:column;padding:0;overflow:hidden}
.nav-drawer.is-open{transform:translateX(0)}
@media(max-width:600px){
  .nav-drawer{width:100vw;width:100dvw}
}

.nav-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.5rem;border-bottom:1px solid var(--border)}
.nav-drawer-brand{font-family:'Playfair Display',serif;font-size:0.9rem;color:var(--gold);letter-spacing:0.08em}
.nav-drawer-close{background:transparent;border:1px solid var(--border);color:var(--text-dim);width:34px;height:34px;cursor:pointer;font-size:0.65rem;letter-spacing:0.1em;font-family:'Cinzel',serif;transition:all 0.3s;flex-shrink:0;border-radius:4px}
.nav-drawer-close:hover{border-color:var(--gold);color:var(--gold)}

.nav-drawer-links{flex:1;padding:1.5rem 0;overflow-y:auto}
.nav-drawer-group-label{font-family:'Cinzel',serif;font-size:0.58rem;letter-spacing:0.3em;color:var(--text-dim);text-transform:uppercase;padding:0.5rem 1.5rem 0.6rem;opacity:0.8}
.nav-drawer-link{display:flex;align-items:center;gap:0.75rem;padding:1.15rem 1.5rem;font-family:'Cinzel',serif;font-size:0.74rem;letter-spacing:0.2em;color:var(--text);font-weight:500;text-transform:uppercase;cursor:pointer;transition:all 0.25s;border-left:2px solid transparent;min-height:52px}
.nav-drawer-link:hover{color:var(--gold);background:rgba(46,139,110,0.05);border-left-color:rgb(40,122,97)}
.nav-drawer-link-dot{width:4px;height:4px;border:1px solid rgba(46,139,110,0.4);transform:rotate(45deg);flex-shrink:0;transition:background 0.25s}
.nav-drawer-link:hover .nav-drawer-link-dot{background:var(--gold);border-color:var(--gold)}
.nav-drawer-divider{height:1px;background:var(--border);margin:0.5rem 1.5rem}

.nav-drawer-foot{padding:1.5rem}
.nav-drawer-book-btn{width:100%;background:linear-gradient(135deg,var(--gold-dk),var(--gold));color:white;font-family:'Cinzel',serif;font-size:0.7rem;letter-spacing:0.22em;padding:1rem;border:none;cursor:pointer;text-transform:uppercase;transition:all 0.35s;box-shadow:0 4px 20px rgba(46,139,110,0.22)}
.nav-drawer-book-btn:hover{box-shadow:0 6px 28px rgba(46,139,110,0.38);transform:translateY(-1px)}

/* ── GEOMETRIC BACKGROUND ── */
.stars-bg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.star{position:absolute;border-radius:50%;animation:twinkle var(--d,3s) var(--delay,0s) infinite alternate}
.star.dot{width:2px;height:2px;background:rgba(46,139,110,0.55)}
.star.cross{width:6px;height:6px;background:transparent;border:none}
.star.cross::before,.star.cross::after{content:'';position:absolute;background:rgba(46,139,110,0.35);border-radius:1px}
.star.cross::before{width:1px;height:100%;left:50%;transform:translateX(-50%)}
.star.cross::after{width:100%;height:1px;top:50%;transform:translateY(-50%)}
.star.ring{width:8px;height:8px;background:transparent;border:1px solid rgba(46,139,110,0.2);border-radius:50%}
@keyframes twinkle{from{opacity:0.1}to{opacity:0.9}}

/* ── GEOMETRIC BG SHAPES ── */
.geo-bg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.geo-shape{position:absolute;opacity:0;animation:geoFloat var(--gdur,40s) var(--gdelay,0s) infinite ease-in-out}
@keyframes geoFloat{
  0%{opacity:0;transform:translate(0,0) rotate(0deg)}
  10%{opacity:var(--gop,0.06)}
  90%{opacity:var(--gop,0.06)}
  100%{opacity:0;transform:translate(var(--gx,20px),var(--gy,-30px)) rotate(var(--gr,15deg))}
}

/* ── HERO ── */
.hero{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:8rem 2rem 5rem;text-align:center;overflow:hidden;background:linear-gradient(180deg,#f0f8f4 0%,#e8f4ee 40%,#dff0e9 70%,#f0f8f4 100%);perspective:1200px}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 90% 70% at 50% 35%,rgba(46,139,110,0.11) 0%,rgba(46,139,110,0.04) 50%,transparent 80%);pointer-events:none;z-index:0}
.hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 40% at 50% 60%,rgba(255,255,255,0.6) 0%,transparent 70%);pointer-events:none;z-index:0}

/* Layered depth rings */
.hero-depth-layer{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}
.hero-depth-1{width:min(800px,110vw);height:min(800px,110vw);background:radial-gradient(ellipse at center,rgba(46,139,110,0.09) 0%,rgba(46,139,110,0.03) 45%,transparent 70%);animation:depthPulse 7s ease-in-out infinite alternate;z-index:0;will-change:transform}
.hero-depth-2{width:min(560px,80vw);height:min(560px,80vw);border:1px solid rgba(46,139,110,0.13);animation:depthPulse 9s ease-in-out 1s infinite alternate-reverse;z-index:0;will-change:transform}
.hero-depth-3{width:min(380px,55vw);height:min(380px,55vw);border:1px solid rgba(46,139,110,0.09);animation:depthPulse 11s ease-in-out 2s infinite alternate;z-index:0;will-change:transform}
.hero-depth-4{width:min(200px,30vw);height:min(200px,30vw);border:1px solid rgba(46,139,110,0.06);z-index:0}
@keyframes depthPulse{from{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1.05)}}

/* Rotating sacred geometry ring */
.hero-orbit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:0}
.hero-orbit svg{animation:orbitSpin 80s linear infinite;opacity:0.18;will-change:transform}
.hero-orbit.fast svg{animation-duration:45s;animation-direction:reverse;opacity:0.1}

/* Central sigil glow */
.hero-sigil-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(320px,55vw);height:min(320px,55vw);border-radius:50%;background:radial-gradient(ellipse at center,rgba(46,139,110,0.22) 0%,rgba(184,220,206,0.1) 40%,transparent 70%);filter:blur(40px);animation:sigilGlow 5s ease-in-out infinite alternate;pointer-events:none;z-index:0;will-change:transform,opacity}
@keyframes sigilGlow{from{opacity:0.7;transform:translate(-50%,-50%) scale(0.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes orbitSpin{to{transform:rotate(360deg)}}

/* Pause all hero infinite animations once scrolled out of view (toggled by JS) */
.hero.hero-offscreen .hero-depth-1,
.hero.hero-offscreen .hero-depth-2,
.hero.hero-offscreen .hero-depth-3,
.hero.hero-offscreen .hero-orbit svg,
.hero.hero-offscreen .hero-sigil-glow,
.hero.hero-offscreen .float-card,
.hero.hero-offscreen .float-card-sheen,
.hero.hero-offscreen .hero-scroll-line{
  animation-play-state:paused;
}

/* Typography */
.hero-kicker{font-family:'Cinzel',serif;font-size:0.58rem;letter-spacing:0.65em;color:var(--gold-dk);text-transform:uppercase;margin-bottom:0.8rem;opacity:0;animation:reveal 1s 0.2s forwards;position:relative;z-index:5}
.hero-eyebrow{font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.45em;color:var(--gold);text-transform:uppercase;margin-bottom:1.8rem;opacity:0;animation:reveal 1s 0.4s forwards;position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:1rem}
.hero-eyebrow-line{display:inline-block;width:36px;height:1px;background:linear-gradient(to right,transparent,var(--gold));opacity:0.6}
.hero-eyebrow-line.r{background:linear-gradient(to left,transparent,var(--gold))}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,8.5vw,5.8rem);font-weight:900;line-height:1.02;margin-bottom:0.6rem;color:var(--gold-dk);background:linear-gradient(165deg,#aad6c5 0%,#2E8B6E 30%,#1a6b52 60%,#0f4a38 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:0;animation:reveal 1.1s 0.55s forwards;position:relative;z-index:5;filter:drop-shadow(0 4px 32px rgba(46,139,110,0.18)) drop-shadow(0 1px 2px rgba(46,139,110,0.1));letter-spacing:-0.01em;white-space:nowrap;font-kerning:none;font-feature-settings:"kern" 0}
.hero-title-the{display:block;font-size:1em;letter-spacing:-0.01em;font-weight:900;margin-bottom:0.1em;background:linear-gradient(165deg,#aad6c5 0%,#2E8B6E 30%,#1a6b52 60%,#0f4a38 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-dk);text-shadow:none;font-kerning:none;font-feature-settings:"kern" 0}
@media(max-width:600px){.hero-title{white-space:normal}}
.hero-divider-line{display:flex;align-items:center;justify-content:center;gap:0.7rem;margin:1.1rem auto;opacity:0;animation:reveal 1s 0.75s forwards;position:relative;z-index:5}
.hero-divider-line span{width:50px;height:1px;background:linear-gradient(to right,transparent,rgba(46,139,110,0.4),transparent)}
.hero-divider-symbol{font-family:'Cinzel',serif;font-size:0.7rem;color:var(--gold-dk);letter-spacing:0.4em}
.hero-sub{font-family:'Cinzel',serif;font-size:clamp(0.72rem,2vw,0.88rem);letter-spacing:0.5em;color:rgb(26,112,85);margin-bottom:0.2rem;opacity:0;animation:reveal 1s 0.65s forwards;text-transform:uppercase;position:relative;z-index:5}
.hero-desc{font-size:clamp(1.08rem,2.5vw,1.24rem);font-weight:400;color:var(--text-readable);max-width:460px;margin:1.4rem auto 3rem;line-height:1.85;opacity:0;animation:reveal 1s 0.9s forwards;position:relative;z-index:5;letter-spacing:0.01em}
.hero-ctas{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;opacity:0;animation:reveal 1s 1.1s forwards;position:relative;z-index:5}
@keyframes reveal{to{opacity:1;transform:none}}

/* Scroll cue */
.hero-scroll-cue{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0.5rem;opacity:0;animation:reveal 1s 1.6s forwards;z-index:5;cursor:default}
.hero-scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(46,139,110,0.4),transparent);animation:scrollLine 2s ease-in-out 2s infinite}
@keyframes scrollLine{0%,100%{transform:scaleY(1);opacity:0.4}50%{transform:scaleY(0.6);opacity:1}}

/* ── PREMIUM FLOATING TAROT CARDS ── */
.cards-float{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}
/* Keep hero content (kicker, title, CTAs) above the floating cards visually
   and ensure floating cards never intrude on the central content column */
.hero-kicker,.hero-eyebrow,.hero-title,.hero-sub,.hero-divider-line,.hero-desc,.hero-ctas{position:relative;z-index:5}
@media(min-width:769px){
  /* Push edge cards slightly further out on wide viewports so the
     center content column (roughly 30%–70%) is always clear */
  .float-card{max-width:8vw}
}

/* Layer depth groups */
.float-card{position:absolute;border-radius:6px;animation:floatCard var(--dur,8s) var(--delay,0s) infinite ease-in-out alternate;overflow:hidden;transform-origin:center center;will-change:transform}
/* Far layer — smaller, dimmer, slower (sized -25% from original) */
.float-card.layer-far{width:38px;height:65px;box-shadow:0 6px 24px rgba(46,139,110,0.1),0 2px 6px rgba(0,0,0,0.05),inset 0 1px 0 rgba(255,255,255,0.8);opacity:0.5;filter:blur(0.5px)}
/* Mid layer (sized -25% from original) */
.float-card.layer-mid{width:48px;height:83px;box-shadow:0 10px 32px rgba(46,139,110,0.15),0 3px 10px rgba(0,0,0,0.06),inset 0 1px 0 rgba(255,255,255,0.9);opacity:0.8}
/* Near layer — largest, sharpest (sized -25% from original) */
.float-card.layer-near{width:59px;height:101px;box-shadow:0 16px 50px rgba(46,139,110,0.2),0 5px 16px rgba(0,0,0,0.07),inset 0 1px 0 rgba(255,255,255,1);opacity:1}

.float-card-inner{width:100%;height:100%;position:relative;background:linear-gradient(155deg,#ffffff 0%,#eef8f3 35%,#e0f2ea 65%,#d6ecdf 100%);border:1px solid rgba(46,139,110,0.28)}
.float-card-inner::before{content:'';position:absolute;inset:5px;border:0.5px solid rgba(46,139,110,0.18);pointer-events:none;z-index:1}
.float-card-inner::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.5) 0%,transparent 60%);pointer-events:none;z-index:2}

/* Card sheen on hover */
.float-card-sheen{position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,0) 40%,rgba(255,255,255,0.35) 50%,rgba(255,255,255,0) 60%);z-index:3;animation:cardSheen var(--sdur,6s) var(--sdelay,0s) infinite ease-in-out}
@keyframes cardSheen{0%,100%{transform:translateX(-120%) skewX(-20deg)}50%{transform:translateX(220%) skewX(-20deg)}}

.float-card-numeral{position:absolute;top:7px;left:7px;font-family:'Cinzel',serif;font-size:0.44rem;letter-spacing:0.06em;color:var(--gold-dk);line-height:1;z-index:4}
.float-card-numeral-bot{position:absolute;bottom:7px;right:7px;font-family:'Cinzel',serif;font-size:0.44rem;letter-spacing:0.06em;color:var(--gold-dk);line-height:1;transform:rotate(180deg);z-index:4}
.float-card-name{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-family:'Cinzel',serif;font-size:0.33rem;letter-spacing:0.14em;color:var(--gold-dk);text-transform:uppercase;z-index:4}
.float-card-svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4}

@keyframes floatCard{
  from{transform:translateY(0) rotate(var(--r,-5deg)) scale(var(--sc,1)) translateZ(var(--tz,0px))}
  to{transform:translateY(var(--fy,-20px)) rotate(var(--r2,5deg)) scale(var(--sc2,1)) translateZ(var(--tz2,0px))}
}

@media(max-width:768px){
  .float-card.layer-far{display:none}
  .float-card.layer-near{width:47px;height:80px;opacity:0.65}
  .float-card.layer-mid{width:39px;height:68px;opacity:0.6}
  .hero-orbit{display:none}
  .hero-depth-1,.hero-depth-2,.hero-depth-3,.hero-depth-4{width:min(380px,92vw);height:min(380px,92vw)}
  .hero-title{font-size:clamp(2.4rem,11vw,3.5rem)}
  .hero{padding:7rem 1.5rem 4rem}
  .hero-desc{margin-bottom:2rem;margin-top:1rem}
}

/* ── BUTTONS ── */
.btn-primary{background:linear-gradient(135deg,var(--gold-dk),var(--gold));color:white;font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.22em;padding:1rem 2.5rem;border:none;cursor:pointer;text-transform:uppercase;transition:all 0.35s;position:relative;overflow:hidden;box-shadow:0 4px 20px rgba(46,139,110,0.25);border-radius:4px}
.btn-primary::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.12);opacity:0;transition:opacity 0.3s}
.btn-primary:hover{box-shadow:0 6px 28px rgba(46,139,110,0.4);transform:translateY(-1px)}
.btn-primary:hover::after{opacity:1}
.btn-secondary{background:transparent;border:1px solid var(--border-bright);color:var(--gold);font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.22em;padding:1rem 2.5rem;cursor:pointer;text-transform:uppercase;transition:all 0.35s;position:relative;overflow:hidden;border-radius:4px}
.btn-secondary::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(46,139,110,0.08),transparent);opacity:0;transition:opacity 0.3s}
.btn-secondary:hover{background:rgba(46,139,110,0.08);border-color:var(--gold);box-shadow:inset 0 0 20px rgba(46,139,110,0.08)}
.btn-secondary:hover::before{opacity:1}

/* ── SECTION STYLES ── */
/* V27: Standardised to 5rem top/bottom throughout. Individual overrides removed below. */
section{padding:2.75rem 2.5rem;max-width:100%;margin:0 auto;position:relative;z-index:1;scroll-margin-top:90px}
/* Full-bleed alternating tint bands so sections read as distinct, not one flat block (V57) */
.section-band{position:relative;width:100%}
.section-band-about{background:#E3F1EA;border-top:1px solid rgba(46,139,110,0.14);border-bottom:1px solid rgba(46,139,110,0.14)}
.section-band-services{background:#D2E8DD;border-top:1px solid rgba(46,139,110,0.14);border-bottom:1px solid rgba(46,139,110,0.14)}
.section-band-testimonials{background:#E3F1EA;border-top:1px solid rgba(46,139,110,0.14);border-bottom:1px solid rgba(46,139,110,0.14)}
.section-band-draw-card{background:#E3F1EA;border-top:1px solid rgba(46,139,110,0.14);border-bottom:1px solid rgba(46,139,110,0.14)}
.section-eyebrow{font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.45em;color:var(--gold);text-transform:uppercase;text-align:center;margin-bottom:1rem;opacity:0.85}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,2.8rem);text-align:center;margin-bottom:1rem;letter-spacing:0.02em;color:var(--gold-dk);background:linear-gradient(145deg,var(--text) 0%,var(--gold) 60%,var(--gold-dk) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.section-sub{text-align:center;color:var(--text-readable);font-size:1.12rem;font-style:italic;max-width:500px;margin:0 auto 3rem;line-height:1.9;letter-spacing:0.01em}
.divider{width:100px;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);margin:1.5rem auto;position:relative}
.divider::before{content:'◇';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:0.5rem;color:var(--gold);background:var(--bg);padding:0 6px}

/* ── ABOUT ── */
.about-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:3rem;align-items:center;margin-top:2rem}
.about-visual{position:relative}
.about-frame{width:100%;max-width:260px;margin:0 auto;aspect-ratio:3/4.2;position:relative;perspective:1400px}

/* ── DRAW A CARD: shuffle + draw animations ── */
.tflip.shuffling{animation:tflipShuffle 0.45s ease-in-out infinite}
@keyframes tflipShuffle{
  0%,100%{transform:translateX(0) rotate(0deg)}
  25%{transform:translateX(-5px) rotate(-2.5deg)}
  75%{transform:translateX(5px) rotate(2.5deg)}
}
.about-frame.is-shuffling::before,.about-frame.is-shuffling::after{
  content:'';position:absolute;inset:0;border:1px solid rgba(46,139,110,0.3);
  pointer-events:none;animation:tflipEcho 0.45s ease-in-out infinite;z-index:-1;
}
.about-frame.is-shuffling::after{animation-delay:0.15s;border-color:rgb(40,122,97)}
@keyframes tflipEcho{
  0%,100%{transform:translate(0,0) rotate(0deg);opacity:0.55}
  50%{transform:translate(7px,-5px) rotate(3deg);opacity:0.15}
}
.tflip.drawing{animation:tflipDrawPulse 0.18s ease-in-out infinite}
@keyframes tflipDrawPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.025)}
}
@media(prefers-reduced-motion:reduce){
  .tflip.shuffling,.tflip.drawing{animation:none}
  .about-frame.is-shuffling::before,.about-frame.is-shuffling::after{animation:none;display:none}
}
/* ── Interactive flip tarot card (replaces static moon card) ── */
.tflip{width:100%;height:100%;position:relative;cursor:pointer}
.tflip-inner{position:relative;width:100%;height:100%;transition:transform 0.7s cubic-bezier(0.22,1,0.36,1);transform-style:preserve-3d}
.tflip.flipped .tflip-inner{transform:rotateY(180deg)}
.tflip.tapped .tflip-inner{animation:tflipWiggle 0.45s cubic-bezier(0.34,1.56,0.64,1)}
.tflip.flipped.tapped .tflip-inner{animation:tflipWiggleFlipped 0.45s cubic-bezier(0.34,1.56,0.64,1)}
@keyframes tflipWiggle{0%{transform:scale(1) rotate(0deg)}30%{transform:scale(0.94) rotate(-3deg)}60%{transform:scale(1.03) rotate(2deg)}100%{transform:scale(1) rotate(0deg)}}
@keyframes tflipWiggleFlipped{0%{transform:rotateY(180deg) scale(1) rotate(0deg)}30%{transform:rotateY(180deg) scale(0.94) rotate(3deg)}60%{transform:rotateY(180deg) scale(1.03) rotate(-2deg)}100%{transform:rotateY(180deg) scale(1) rotate(0deg)}}
@media(prefers-reduced-motion: reduce){.tflip.tapped .tflip-inner,.tflip.flipped.tapped .tflip-inner{animation:none}}
.tflip-face{position:absolute;inset:0;backface-visibility:hidden;border:1px solid var(--border-bright);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 40px rgba(46,139,110,0.1)}
.tflip-front{background:linear-gradient(160deg,#f0f8f4,#e2efe9);padding:1.5rem}
.tflip-back{background:linear-gradient(160deg,#0f2a21,#163d30);transform:rotateY(180deg);padding:1.6rem 1.4rem;text-align:center}
.tflip-front-rule{position:absolute;inset:10px;border:1px solid rgba(46,139,110,0.3)}
.tflip-numeral{font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;margin-bottom:0.9rem;position:relative;z-index:1}
.tflip-front-svg{position:relative;z-index:1;margin-bottom:0.9rem}
.tflip-front-name{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--gold-dk);letter-spacing:0.04em;text-align:center;position:relative;z-index:1}
.tflip-hint{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-family:'Cinzel',serif;font-size:0.5rem;letter-spacing:0.2em;color:var(--gold-dk);text-transform:uppercase;z-index:1}
.tflip-back-sigil{font-size:1.4rem;color:#B8DCCE;margin-bottom:0.7rem}
.tflip-back-name{font-family:'Playfair Display',serif;font-size:1.1rem;color:#dff0e7;margin-bottom:0.2rem;letter-spacing:0.03em}
.tflip-back-key{font-family:'Cinzel',serif;font-size:0.52rem;letter-spacing:0.18em;color:#B8DCCE;text-transform:uppercase;margin-bottom:0.9rem}
.tflip-back-rule{width:32px;height:1px;background:rgba(184,220,206,0.4);margin-bottom:0.9rem}
.tflip-back-desc{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.92rem;line-height:1.65;color:#DFF0E7}
.tflip-caption{text-align:center;margin-top:0.9rem;font-family:'Cinzel',serif;font-size:0.56rem;letter-spacing:0.22em;color:var(--text-dim);text-transform:uppercase}
.about-frame::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(46,139,110,0.08),transparent 60%);pointer-events:none}
.about-frame-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;animation:spin 50s linear infinite;opacity:0.12}
@keyframes spin{to{transform:rotate(360deg)}}
.about-corner{position:absolute;width:24px;height:24px;border-color:var(--gold)}
.about-corner.tl{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid}
.about-corner.tr{top:-1px;right:-1px;border-top:2px solid;border-right:2px solid}
.about-corner.bl{bottom:-1px;left:-1px;border-bottom:2px solid;border-left:2px solid}
.about-corner.br{bottom:-1px;right:-1px;border-bottom:2px solid;border-right:2px solid}
.about-text h3{font-family:'Playfair Display',serif;font-size:1.75rem;color:var(--gold);margin-bottom:1.5rem;line-height:1.35;letter-spacing:0.02em}
.about-text p{color:var(--text-readable);line-height:2.1;margin-bottom:1.5rem;font-size:1.08rem}
.about-stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}
.stat{text-align:center}
.stat-num{font-family:'Playfair Display',serif;font-size:2.1rem;color:var(--gold);display:block;text-shadow:0 0 20px rgba(46,139,110,0.15)}
.stat-label{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.25em;color:var(--text-dim);text-transform:uppercase;margin-top:0.3rem;display:block}
/* Centered, text-only About block (V57: tarot card moved out, stats always one line) */
.about-text-centered{max-width:900px;margin:0 auto;text-align:center}
.about-text-centered h3{font-family:'Playfair Display',serif;font-size:1.75rem;color:var(--gold);margin-bottom:1.5rem;line-height:1.35;letter-spacing:0.02em}
.about-text-centered p{color:var(--text-readable);line-height:2.05;margin-bottom:1.3rem;font-size:1.08rem}
.about-stats-center{justify-content:center;flex-wrap:nowrap;gap:clamp(1.1rem,5vw,3.2rem)}
.about-stats-center .stat-num{font-size:clamp(1.4rem,6vw,2.5rem);white-space:nowrap}
.about-stats-center .stat-label{font-size:clamp(0.46rem,1.7vw,0.65rem);letter-spacing:0.16em;white-space:nowrap;margin-top:0.5rem}
@media(max-width:480px){
  .about-stats-center{gap:0.7rem}
  .about-stats-center .stat-label{letter-spacing:0.08em}
}

/* Draw a Card: side-by-side on tablet/desktop; stacks cleanly on phones so the card stays legible */
.draw-card-row{
  display:flex;flex-direction:row;flex-wrap:nowrap;
  align-items:center;justify-content:center;
  gap:clamp(1.2rem,4vw,4rem);
  margin-top:1.75rem;text-align:left
}
.draw-card-visual{
  flex:0 1 260px;min-width:0;margin:0;
}
.draw-card-visual .about-frame{max-width:100%;width:clamp(120px,32vw,260px)}
.draw-card-text{flex:1 1 360px;min-width:0}
.draw-card-text h3{font-family:'Playfair Display',serif;color:var(--gold);margin-bottom:1.2rem;line-height:1.35;letter-spacing:0.02em;font-size:clamp(1.05rem,3.2vw,1.75rem)}
.draw-card-text p{color:var(--text-readable);line-height:1.9;margin-bottom:1.1rem;font-size:clamp(0.8rem,2.4vw,1.08rem)}
@media(max-width:600px){
  .draw-card-row{
    flex-direction:column;
    align-items:center;
    gap:2rem;
    margin-top:1.5rem;
    text-align:center;
  }
  .draw-card-visual{flex:0 0 auto;width:min(220px,62vw)}
  .draw-card-visual .about-frame{width:100%;max-width:220px}
  .draw-card-text{flex:0 0 auto;width:100%;text-align:left}
  .draw-card-text h3{text-align:center;font-size:1.3rem}
  .draw-card-text p{font-size:0.98rem;line-height:1.85}
}

/* About stats standalone (heading/paragraph moved to Draw a Card section) */
.about-stats-standalone{
  margin-top:1.5rem;padding-top:0;border-top:none;
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:2.5rem;max-width:1150px;margin-left:auto;margin-right:auto;
  width:100%;justify-items:center;align-items:start
}
.about-stats-standalone .stat{width:100%;text-align:center}
@media(max-width:768px){
  .about-stats-standalone{gap:1.5rem;max-width:100%}
}
@media(max-width:480px){
  .about-stats-standalone{gap:0.9rem}
}


/* ── SERVICES ── */
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.service-card{
  border:1px solid var(--border);
  background:linear-gradient(155deg,rgba(255,255,255,0.97) 0%,rgba(240,249,244,0.85) 60%,rgba(232,244,238,0.7) 100%);
  padding:0;cursor:pointer;transition:all 0.45s cubic-bezier(0.22,0.8,0.32,1);
  position:relative;overflow:hidden;
  box-shadow:0 2px 16px rgba(46,139,110,0.06),0 1px 4px rgba(0,0,0,0.03);
  display:flex;flex-direction:column;
}
/* Top accent line */
.service-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent 5%,rgba(46,139,110,0.55) 35%,rgba(46,139,110,0.8) 50%,rgba(46,139,110,0.55) 65%,transparent 95%);
  opacity:0;transition:opacity 0.4s;z-index:2
}
/* Radial inner glow on hover */
.service-card::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(46,139,110,0.07) 0%,transparent 70%);
  opacity:0;transition:opacity 0.4s
}
.service-card:hover{
  border-color:rgb(40,122,97);
  transform:translateY(-6px) scale(1.008);
  box-shadow:0 20px 50px rgba(46,139,110,0.14),0 6px 16px rgba(46,139,110,0.08),0 2px 4px rgba(0,0,0,0.04);
}
.service-card:hover::before,.service-card:hover::after{opacity:1}

/* Card inner padding wrapper */
.service-card-body{padding:2rem 2rem 1.7rem;flex:1 1 auto}

/* Icon container */
.service-icon-wrap{
  width:60px;height:60px;
  border:1px solid rgba(46,139,110,0.2);
  background:linear-gradient(145deg,rgba(255,255,255,0.9),rgba(232,244,238,0.6));
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.4rem;
  position:relative;
  transition:border-color 0.4s,box-shadow 0.4s;
  box-shadow:0 2px 10px rgba(46,139,110,0.06)
}
.service-icon-wrap::before{
  content:'';position:absolute;inset:-4px;
  border:1px solid rgba(46,139,110,0.08);
  pointer-events:none;
  transition:border-color 0.4s
}
.service-card:hover .service-icon-wrap{
  border-color:rgb(40,122,97);
  box-shadow:0 4px 18px rgba(46,139,110,0.14)
}
.service-card:hover .service-icon-wrap::before{border-color:rgb(40,122,97)}

.service-icon{display:block}

/* Eyebrow category label */
.service-eyebrow{
  font-family:'Cinzel',serif;font-size:0.52rem;letter-spacing:0.45em;
  color:var(--gold-dk);text-transform:uppercase;
  margin-bottom:0.55rem;display:block
}
.service-card h3{
  font-family:'Cinzel',serif;font-size:1rem;letter-spacing:0.12em;
  color:var(--gold);margin-bottom:0.2rem;text-transform:uppercase;
  line-height:1.3
}
/* Ornamental rule under heading */
.service-rule{
  display:flex;align-items:center;gap:0.5rem;margin:0.85rem 0 1.1rem;
}
.service-rule-line{
  width:28px;height:1px;
  background:linear-gradient(to right,rgba(46,139,110,0.4),transparent);
}
.service-rule-dot{
  width:4px;height:4px;border:1px solid rgba(46,139,110,0.4);
  transform:rotate(45deg);flex-shrink:0
}

.service-card p{
  color:var(--text-readable);font-size:1.03rem;line-height:1.95;
  margin-bottom:0;letter-spacing:0.01em
}

/* Feature tag chips (replaces long descriptive copy — V57) */
.service-chips{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.2rem}
.service-chip{
  font-family:'Cinzel',serif;font-size:0.56rem;letter-spacing:0.1em;
  color:var(--gold-dk);border:1px solid rgba(46,139,110,0.28);
  padding:0.32rem 0.75rem;text-transform:uppercase;
  background:rgba(46,139,110,0.045);border-radius:4px;
  white-space:nowrap;transition:background 0.3s,border-color 0.3s,transform 0.3s
}
.service-card:hover .service-chip{border-color:rgb(40,122,97)}
.service-chip:nth-child(1){transition-delay:0.02s}
.service-chip:nth-child(2){transition-delay:0.06s}
.service-chip:nth-child(3){transition-delay:0.1s}
.service-chip:nth-child(4){transition-delay:0.14s}
.service-card:hover .service-chip{transform:translateY(-2px)}

/* Icon micro-animation on hover (premium feel) */
.service-icon-wrap{transform:scale(1) rotate(0deg)}
.service-card:hover .service-icon-wrap{transform:scale(1.06) rotate(-3deg)}
.service-icon-wrap,.service-card:hover .service-icon-wrap{transition:border-color 0.4s,box-shadow 0.4s,transform 0.5s cubic-bezier(0.22,0.8,0.32,1)}

/* Card footer bar */
.service-card-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding:0.9rem 2rem 1.1rem;
  border-top:1px solid rgba(46,139,110,0.1);
  margin-top:1.4rem
}
.service-tag{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-family:'Cinzel',serif;font-size:0.55rem;letter-spacing:0.25em;
  color:var(--gold-dk);border:1px solid rgba(46,139,110,0.25);
  padding:0.35rem 1rem;text-transform:uppercase;
  background:rgba(46,139,110,0.04);
  transition:background 0.3s,border-color 0.3s
}
.service-card:hover .service-tag{
  background:rgba(46,139,110,0.08);
  border-color:rgb(40,122,97)
}
.service-tag-dot{
  width:5px;height:5px;border-radius:50%;
  background:rgba(46,139,110,0.45);flex-shrink:0
}

.service-arrow{
  display:flex;align-items:center;gap:0.4rem;
  color:var(--gold-dk);font-size:0.62rem;
  font-family:'Cinzel',serif;letter-spacing:0.18em;
  text-transform:uppercase;font-weight:600;
  border:1px solid rgba(46,139,110,0.3);
  background:rgba(46,139,110,0.08);
  padding:0.5rem 0.9rem;border-radius:2px;
  transition:all 0.35s
}
.service-arrow svg{transition:transform 0.3s}
.service-card:hover .service-arrow{background:var(--gold);color:#fff;border-color:var(--gold);box-shadow:0 4px 14px rgba(46,139,110,0.25)}
.service-card:hover .service-arrow svg path{stroke:#fff}
.service-card:hover .service-arrow svg{transform:translateX(3px)}

/* ── SERVICES — CIRCULAR, BOX-FREE LAYOUT (V64) ── */
/* ── SERVICES V2: compact 2x2 card grid, CTA near top, clear differentiator badge ── */
.services-grid-v2{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1.75rem;margin-top:1.5rem;
}
.svc-card2{
  position:relative;
  border:1px solid var(--border);
  border-top:3px solid rgb(var(--svc-c));
  background:linear-gradient(160deg,rgba(255,255,255,0.97) 0%,rgba(var(--svc-c),0.05) 100%);
  padding:1.75rem 1.75rem 1.5rem;
  transition:transform 0.35s cubic-bezier(0.22,0.8,0.32,1),box-shadow 0.35s,border-color 0.35s;
  display:flex;flex-direction:column;
  border-radius:8px;
  overflow:hidden;
}
.svc-card2:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(var(--svc-c),0.16);border-color:rgba(var(--svc-c),0.4)}
.svc2-top{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin-bottom:1rem}
.svc2-icon{
  flex-shrink:0;width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:rgb(var(--svc-c));
  background:radial-gradient(circle at 35% 30%,rgba(var(--svc-c),0.16),rgba(var(--svc-c),0.05));
  border:1.5px solid rgba(var(--svc-c),0.35);
}
.svc2-badge{
  font-family:'Cinzel',serif;font-size:0.58rem;font-weight:600;letter-spacing:0.1em;
  text-transform:uppercase;color:#fff;
  border:1px solid rgba(var(--svc-c),0.5);background:rgb(var(--svc-c));
  padding:0.35rem 0.7rem;white-space:nowrap;border-radius:4px;
}
.svc-card2 h3{
  font-family:'Cinzel',serif;font-size:1.15rem;letter-spacing:0.05em;
  color:rgb(var(--svc-c));margin-bottom:0.9rem;line-height:1.3;
}
.svc2-cta{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.14em;
  text-transform:uppercase;font-weight:600;color:#fff;
  background:rgb(var(--svc-c));border:none;cursor:pointer;
  padding:0.7rem 1.2rem;width:100%;justify-content:center;
  margin-bottom:1rem;transition:all 0.3s;border-radius:4px;
}
.svc2-cta:hover{box-shadow:0 6px 18px rgba(var(--svc-c),0.35);transform:translateY(-1px)}
.svc2-cta svg{transition:transform 0.3s}
.svc2-cta:hover svg{transform:translateX(3px)}
.svc2-desc{color:var(--text-readable);font-size:0.94rem;line-height:1.65;margin-bottom:1.1rem;flex:1 1 auto}
.svc2-tags{display:flex;flex-wrap:wrap;gap:0.45rem;margin-top:auto}
.svc2-tags span{
  font-family:'Cinzel',serif;font-size:0.52rem;letter-spacing:0.06em;
  color:var(--text-muted);border:1px solid rgba(46,139,110,0.32);
  padding:0.28rem 0.6rem;white-space:nowrap;border-radius:4px;
  background:rgba(255,255,255,0.5);
}
@media(max-width:768px){
  .services-grid-v2{grid-template-columns:1fr;gap:1.25rem}
  .svc-card2{padding:1.5rem 1.5rem 1.25rem}
}

/* ── TESTIMONIALS (see marquee rules below) ── */

/* ── CTA SECTION ── */
.cta-section{text-align:center;padding:2.5rem 2rem;position:relative;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 50%,rgba(46,139,110,0.08) 0%,transparent 70%);pointer-events:none}
.cta-section::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 30% 40% at 50% 50%,rgba(46,139,110,0.04) 0%,transparent 60%);pointer-events:none}
.cta-ornament{font-family:'Cinzel',serif;font-size:1rem;color:var(--gold);opacity:0.4;display:block;margin-bottom:1rem;letter-spacing:0.8em}

/* ── FOOTER ── */
footer{padding:1.75rem 1.25rem 1.5rem;border-top:1px solid var(--border);max-width:1320px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;margin-bottom:1.75rem}
.footer-brand .nav-logo{display:inline-block;margin-bottom:0.6rem}
.footer-brand p{color:var(--text-dim);font-size:0.86rem;line-height:1.6;max-width:280px}
.footer-col h4{font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;margin-bottom:0.9rem}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:0.45rem}
.footer-col ul li a{color:var(--text-dim);font-size:0.86rem;text-decoration:none;cursor:pointer;transition:color 0.3s}
.footer-col ul li a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid var(--border);padding-top:1.1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-bottom p{color:var(--text-dim);font-size:0.72rem;line-height:1.5}
.footer-social{display:flex;gap:1rem}
.social-link{width:36px;height:36px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s;font-size:0.8rem;color:var(--text-dim);border-radius:6px}
.social-link:hover{border-color:var(--gold);color:var(--gold)}

/* ── BOOKING PAGES ── */
.booking-page{min-height:100vh;min-height:100dvh;padding:8rem 2rem 4rem;max-width:750px;margin:0 auto;position:relative;z-index:1}
.booking-header{text-align:center;margin-bottom:3rem}
.booking-header h1{font-family:'Playfair Display',serif;font-size:2rem;color:var(--gold);margin-bottom:0.75rem}
.booking-header p{color:var(--text-muted);font-style:italic}
/* ── SHOP PAGE HERO ── */
.shop-page-hero{text-align:center;padding:8rem 2rem 2.5rem;max-width:700px;margin:0 auto}
.shop-page-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,2.6rem);color:var(--gold);margin:0.6rem 0 0.9rem;line-height:1.2}
.shop-page-sub{color:var(--text-muted);font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.05rem;line-height:1.7}
@media(max-width:600px){.shop-page-hero{padding:6.5rem 1.25rem 1.5rem}}
.progress-bar{display:flex;justify-content:center;gap:0;margin-bottom:3rem;overflow-x:auto;padding-bottom:0.25rem}
.progress-step{display:flex;flex-direction:column;align-items:center;gap:0.5rem;position:relative;min-width:64px}
.progress-step+.progress-step::before{content:'';position:absolute;right:50%;top:16px;width:100%;height:1px;background:var(--border);z-index:-1}
.progress-step.done+.progress-step::before{background:var(--gold)}
.step-dot{width:32px;height:32px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-size:0.7rem;color:var(--text-dim);background:var(--bg);position:relative;z-index:1;transition:all 0.3s}
.progress-step.active .step-dot{border-color:var(--gold);color:var(--gold);background:rgba(46,139,110,0.1)}
.progress-step.done .step-dot{border-color:var(--gold);background:var(--gold);color:var(--bg)}
.step-label{font-family:'Cinzel',serif;font-size:0.55rem;letter-spacing:0.15em;color:var(--text-dim);text-transform:uppercase;white-space:nowrap}
.progress-step.active .step-label{color:var(--gold)}

/* ── FORM ── */
.form-card{border:1px solid var(--border);background:rgba(255,255,255,0.8);padding:2.5rem;margin-bottom:1.5rem;border-radius:8px}
.form-card h2{font-family:'Cinzel',serif;font-size:0.9rem;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.form-group{display:flex;flex-direction:column;gap:0.5rem}
.form-group.full{grid-column:1/-1}
label{font-family:'Cinzel',serif;font-size:0.67rem;font-weight:600;letter-spacing:0.2em;color:var(--text-readable);text-transform:uppercase}
input::placeholder,textarea::placeholder{color:var(--text-dim);opacity:1}
input,select,textarea{background:rgba(247,250,248,0.9);border:1px solid rgba(46,139,110,0.2);color:var(--text);font-family:'Cormorant Garamond',serif;font-size:1rem;padding:0.85rem 1rem;transition:border-color 0.3s;outline:none;width:100%;border-radius:4px}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
select option{background:var(--bg2)}
textarea{resize:vertical;min-height:100px}
.form-nav{display:flex;justify-content:space-between;align-items:flex-start;margin-top:1.5rem;gap:1rem;flex-wrap:wrap}

/* ── SERVICE SELECTION CARDS ── */
.service-select-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-bottom:1.5rem}

/* ── READING FORMAT: dropdown selects (replaces long list of individual cards) ── */
.reading-select-label{
  display:block;font-family:'Cinzel',serif;font-size:0.62rem;font-weight:600;letter-spacing:0.15em;
  text-transform:uppercase;color:var(--text-readable);margin-bottom:0.5rem
}
.reading-select{
  width:100%;padding:0.85rem 1rem;
  font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--text);
  background:linear-gradient(150deg,rgba(255,255,255,0.95),rgba(240,249,244,0.7));
  border:1px solid var(--border);cursor:pointer;
  transition:border-color 0.3s,box-shadow 0.3s;
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%232E8B6E' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 1rem center;
  border-radius:4px;
}
.reading-select:hover,.reading-select:focus{border-color:var(--border-bright);outline:none;box-shadow:0 0 0 3px rgba(46,139,110,0.08)}
.reading-select.has-value{color:var(--gold-dk);font-weight:600}
@media(max-width:640px){
  .reading-select{font-size:0.92rem;padding:0.75rem 0.9rem}
}

.service-select-card{
  border:1px solid var(--border);
  padding:1.6rem 1.6rem 1.4rem;
  cursor:pointer;
  transition:all 0.32s cubic-bezier(0.22,0.8,0.32,1);
  position:relative;
  background:linear-gradient(150deg,rgba(255,255,255,0.95),rgba(240,249,244,0.7));
  box-shadow:0 1px 8px rgba(46,139,110,0.04);
  border-radius:8px;
  display:flex;flex-direction:column;height:100%
}
.service-select-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent 10%,rgba(46,139,110,0.5) 50%,transparent 90%);
  opacity:0;transition:opacity 0.3s
}
.service-select-card:hover{
  border-color:rgb(40,122,97);
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(46,139,110,0.1)
}
.service-select-card:hover::before{opacity:1}
.service-select-card.selected{
  border-color:var(--gold);
  background:linear-gradient(150deg,rgba(232,249,241,0.9),rgba(220,243,233,0.8));
  box-shadow:0 6px 20px rgba(46,139,110,0.12)
}
.service-select-card.selected::before{opacity:1}
.service-select-card .check{
  position:absolute;top:1.1rem;right:1.1rem;
  width:22px;height:22px;
  border:1px solid var(--border);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.65rem;transition:all 0.3s;
  background:rgba(255,255,255,0.7)
}
.service-select-card.selected .check{
  background:var(--gold);border-color:var(--gold);color:var(--bg);
  box-shadow:0 2px 8px rgba(46,139,110,0.25)
}
/* Card eyebrow */
.service-select-card .sc-eyebrow{
  font-family:'Cinzel',serif;font-size:0.56rem;font-weight:700;letter-spacing:0.28em;
  color:var(--text);text-transform:uppercase;
  display:block;margin-bottom:0.5rem
}
.service-select-card h3{
  font-family:'Cinzel',serif;font-size:0.86rem;letter-spacing:0.14em;
  color:var(--gold-dk);text-transform:uppercase;margin-bottom:0;
  line-height:1.4;padding-right:2rem
}
/* Thin rule under heading */
.service-select-card .sc-rule{
  width:24px;height:1px;
  background:linear-gradient(to right,rgba(46,139,110,0.45),transparent);
  margin:0.6rem 0 0.65rem
}
.service-select-card p{
  color:var(--text-readable);font-size:0.9rem;line-height:1.8;
  margin-bottom:0.85rem;flex:1 1 auto
}
/* Feature tags inside card */
.service-select-card .sc-tags{
  display:flex;flex-wrap:wrap;gap:0.4rem;margin-top:auto
}
.service-select-card .sc-tag{
  font-family:'Cinzel',serif;font-size:0.48rem;letter-spacing:0.2em;
  color:var(--gold-dk);border:1px solid rgba(46,139,110,0.2);
  padding:0.22rem 0.65rem;text-transform:uppercase;
  background:rgba(46,139,110,0.03);
  transition:background 0.25s
}
.service-select-card.selected .sc-tag{background:linear-gradient(135deg,#1A7055,#0F4A38);border-color:#1A7055;color:#FFFFFF;font-weight:600}

/* ── DURATION PICKER ── */
.duration-section{margin-bottom:0}
.duration-label{
  font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.3em;
  color:var(--text-muted);text-transform:uppercase;
  display:block;margin-bottom:1.1rem;
  padding-bottom:0.75rem;border-bottom:1px solid var(--border)
}
.duration-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0.85rem
}
.duration-card{
  border:1px solid var(--border);
  background:linear-gradient(150deg,rgba(255,255,255,0.95),rgba(240,249,244,0.6));
  padding:1.25rem 0.75rem 1.1rem;
  text-align:center;cursor:pointer;
  transition:all 0.3s cubic-bezier(0.22,0.8,0.32,1);
  position:relative;overflow:hidden;
  border-radius:6px
}
.duration-card::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(46,139,110,0.1),transparent 70%);
  opacity:0;transition:opacity 0.3s
}
.duration-card:hover{
  border-color:rgb(40,122,97);
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(46,139,110,0.1)
}
.duration-card:hover::after{opacity:1}
.duration-card.selected{
  border-color:#1A7055;
  background:linear-gradient(150deg,#1A7055,#0F4A38);
  box-shadow:0 6px 20px rgba(46,139,110,0.25)
}
.duration-card.selected::after{opacity:1}
.duration-minutes{
  font-family:'Playfair Display',serif;
  font-size:1.45rem;color:var(--gold-dk);
  display:block;line-height:1;margin-bottom:0.2rem;
  transition:text-shadow 0.3s,color 0.3s
}
.duration-card.selected .duration-minutes{
  color:#FFFFFF;text-shadow:0 0 20px rgba(0,0,0,0.15)
}
.duration-unit{
  font-family:'Cinzel',serif;font-size:0.52rem;letter-spacing:0.28em;
  color:var(--text-dim);text-transform:uppercase;
  display:block;margin-bottom:0.8rem;transition:color 0.3s
}
.duration-card.selected .duration-unit{color:rgba(255,255,255,0.85)}
.duration-ideal{
  font-family:'Cormorant Garamond',serif;
  font-size:0.78rem;color:var(--text-muted);
  line-height:1.5;font-style:italic;
  display:block;transition:color 0.3s
}
.duration-card.selected .duration-ideal{color:rgba(255,255,255,0.9)}
/* Popular badge */
.duration-badge{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  font-family:'Cinzel',serif;font-size:0.42rem;letter-spacing:0.22em;
  color:var(--bg);background:var(--gold);
  padding:0.18rem 0.65rem;text-transform:uppercase;
  white-space:nowrap
}

/* ── BOOKING SUMMARY BAR ── */
.booking-summary{
  display:flex;align-items:center;gap:0;
  border:1px solid var(--border);
  background:linear-gradient(to right,rgba(232,244,238,0.6),rgba(255,255,255,0.9));
  margin-bottom:1.5rem;overflow:hidden;
  border-radius:6px
}
.booking-summary-item{
  flex:1;padding:0.85rem 1.1rem;
  border-right:1px solid var(--border);
  text-align:center
}
.booking-summary-item:last-child{border-right:none}
.booking-summary-label{
  font-family:'Cinzel',serif;font-size:0.5rem;font-weight:600;letter-spacing:0.26em;
  color:var(--text-readable);text-transform:uppercase;
  display:block;margin-bottom:0.25rem
}
.booking-summary-value{
  font-family:'Cinzel',serif;font-size:0.74rem;font-weight:600;letter-spacing:0.08em;
  color:var(--gold-dk);display:block;word-break:break-word;
  white-space:normal;overflow:hidden;text-overflow:ellipsis
}
.booking-summary-value.empty{color:var(--text-dim);font-style:italic;font-family:'Cormorant Garamond',serif;font-size:0.8rem}

/* Booking summary bar stays a single horizontal row down to tablet/small-phone width — only wraps to 2 columns when 6-across truly won't fit */
@media(max-width:768px) and (min-width:561px){
  .booking-summary-item{padding:0.65rem 0.5rem}
  .booking-summary-label{font-size:0.42rem;letter-spacing:0.18em}
  .booking-summary-value{font-size:0.62rem}
}
@media(max-width:560px){
  .booking-summary{flex-wrap:wrap}
  .booking-summary-item{
    flex:1 1 45%;
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
    padding:0.55rem 0.65rem;
  }
  .booking-summary-item:nth-child(2n){border-right:none}
  .booking-summary-item:nth-last-child(-n+2){border-bottom:none}
}

/* ── PAYMENT PLACEHOLDER ── */
.payment-card{border:1px solid var(--border-bright);background:linear-gradient(135deg,rgba(210,235,225,0.5),rgba(237,245,241,0.9));padding:3rem;text-align:center;border-radius:8px}
.payment-icon{font-size:2rem;margin-bottom:1.5rem;font-family:'Cinzel',serif;color:var(--gold);letter-spacing:0.3em}
.payment-card h2{font-family:'Cinzel',serif;font-size:1rem;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem}
.payment-card p{color:var(--text-muted);font-style:italic;margin-bottom:2rem;line-height:1.8}
.payment-badge{display:inline-flex;gap:1.5rem;border:1px solid var(--border);padding:1rem 2rem;margin-bottom:2rem;color:var(--text-dim);font-family:'Cinzel',serif;font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;border-radius:6px}
.slot-hold-banner{display:flex;align-items:center;justify-content:center;gap:0.6rem;background:rgba(46,139,110,0.08);border:1px solid var(--border-bright);padding:0.85rem 1.2rem;margin-bottom:1.6rem;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.92rem;color:var(--text-readable);flex-wrap:wrap;text-align:center}
.slot-hold-banner.expiring{background:rgba(196,90,60,0.08);border-color:rgb(176,81,54);color:#8a3d28}
.slot-hold-icon{font-size:1rem;flex-shrink:0}
#slotHoldTimer{font-family:'Cinzel',serif;font-style:normal;letter-spacing:0.05em;color:var(--gold)}
.slot-hold-banner.expiring #slotHoldTimer{color:#c45a3c}
.availability-badge{display:inline-flex;align-items:center;gap:0.5rem;font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:#a8552f;background:rgba(196,120,60,0.1);border:1px solid rgba(196,120,60,0.3);padding:0.45rem 0.9rem;margin:0 auto 1.2rem;width:fit-content}
.availability-badge-dot{width:6px;height:6px;border-radius:50%;background:#c4783c;animation:pulseDot 1.6s ease-in-out infinite}
@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.4;transform:scale(0.7)}}

/* ── CALENDAR ── */
.calendar-card{border:1px solid var(--border);background:rgba(255,255,255,0.8);padding:2rem;border-radius:8px}
.calendar-card h2{font-family:'Cinzel',serif;font-size:0.9rem;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.cal-nav{background:transparent;border:1px solid var(--border);color:var(--gold);width:32px;height:32px;cursor:pointer;font-size:0.9rem;transition:all 0.3s;border-radius:4px}
.cal-nav:hover{background:rgba(46,139,110,0.1)}
.cal-month{font-family:'Cinzel',serif;font-size:0.85rem;letter-spacing:0.2em;color:var(--text);text-transform:uppercase}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-day-name{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.1em;color:var(--text-dim);text-align:center;text-transform:uppercase;padding:0.5rem 0;margin-bottom:0.5rem}
.cal-day{aspect-ratio:1;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:0.85rem;cursor:pointer;transition:all 0.3s;border:1px solid transparent;color:var(--text-muted)}
.cal-day.available:hover{border-color:rgb(40,122,97);background:rgba(46,139,110,0.08);color:var(--gold)}
.cal-day.selected{background:var(--gold);color:var(--bg);font-weight:600}
.cal-day.empty,.cal-day.past{color:var(--text-dim);cursor:default;opacity:0.3}
.cal-day.unavailable{color:var(--text-dim);cursor:default;text-decoration:line-through;opacity:0.4}
.time-slots{margin-top:1.5rem}
.time-slots h3{font-family:'Cinzel',serif;font-size:0.7rem;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem}
.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem}
.time-slot{border:1px solid var(--border);padding:0.6rem;text-align:center;font-family:'Cinzel',serif;font-size:0.7rem;letter-spacing:0.1em;color:var(--text-muted);cursor:pointer;transition:all 0.3s;position:relative;border-radius:4px}
.time-slot:hover{border-color:var(--gold);color:var(--gold)}
.time-slot.selected{background:linear-gradient(135deg,#1A7055,#0F4A38);border-color:#1A7055;color:#FFFFFF;font-weight:600}
.slot-left-tag{display:block;margin-top:0.3rem;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.62rem;letter-spacing:0.02em;color:#a8552f;text-transform:none}
.slot-left-tag.urgent{color:#c4453c}

/* ── CONFIRMATION ── */
.confirm-card{border:1px solid var(--border-bright);background:linear-gradient(135deg,rgba(210,235,225,0.3),rgba(237,245,241,0.9));padding:3rem;text-align:center;position:relative;overflow:hidden}
.confirm-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(46,139,110,0.1),transparent 60%);pointer-events:none}
.confirm-sigil{font-size:4rem;margin-bottom:1.5rem;display:block;animation:glow 2s ease-in-out infinite alternate}
@keyframes glow{from{text-shadow:0 0 10px rgba(46,139,110,0.3)}to{text-shadow:0 0 30px rgba(46,139,110,0.7)}}
.confirm-card h2{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--gold);margin-bottom:1rem}
.confirm-card>p{color:var(--text-muted);font-style:italic;margin-bottom:2.5rem;line-height:1.8}
.booking-details{text-align:left;border:1px solid var(--border);padding:1.5rem;margin-bottom:2rem;background:rgba(247,250,248,0.7);border-radius:8px}
.detail-row{display:flex;justify-content:space-between;padding:0.5rem 0;border-bottom:1px solid rgba(46,139,110,0.08);font-size:0.9rem}
.detail-row:last-child{border-bottom:none}
.detail-label{font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.15em;color:var(--text-dim);text-transform:uppercase;padding-top:2px}
.detail-value{color:var(--text);text-align:right}
.booking-id{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.3em;color:var(--text-dim);text-transform:uppercase;margin-top:2rem}

/* ── ADMIN ── */
.admin-layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh;padding-top:70px;min-width:0;overflow-x:hidden;max-width:100vw}
.admin-sidebar{background:rgba(237,245,241,0.98);border-right:1px solid var(--border);padding:2rem 0;position:sticky;top:70px;height:calc(100vh - 70px);overflow-y:auto}
.admin-sidebar-brand{padding:0 1.5rem 2rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}
.admin-sidebar-brand p{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.25em;color:var(--gold);text-transform:uppercase}
.admin-notif-wrap{position:fixed;top:126px;right:18px;z-index:90}
.admin-notif-bell{display:flex;align-items:center;gap:0.5rem;background:#fff;border:1px solid var(--border);cursor:pointer;padding:0.55rem 0.9rem;font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.14em;color:var(--text-dim);text-transform:uppercase;border-radius:999px;transition:all 0.25s;box-shadow:0 4px 14px rgba(0,0,0,0.08)}
.admin-notif-bell:hover{border-color:var(--gold);color:var(--gold-dk)}
.admin-notif-badge{background:var(--gold-dk,#946C4F);color:#fff;border-radius:999px;min-width:18px;height:18px;padding:0 5px;display:none;align-items:center;justify-content:center;font-size:0.6rem;font-family:'Cinzel',serif;letter-spacing:0}
.admin-notif-badge.has-items{display:inline-flex}
.admin-notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:340px;background:#fff;border:1px solid var(--border);box-shadow:0 12px 32px rgba(0,0,0,0.14);border-radius:8px;max-height:420px;overflow-y:auto;display:none;z-index:91}
.admin-notif-panel.is-open{display:block}
.admin-notif-panel-header{padding:0.75rem 1rem;border-bottom:1px solid var(--border);font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.2em;color:var(--text-dim);text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.admin-notif-item{display:flex;gap:0.6rem;padding:0.7rem 1rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background 0.2s}
.admin-notif-item:last-child{border-bottom:none}
.admin-notif-item:hover{background:rgba(46,139,110,0.06)}
.admin-notif-icon{font-size:0.95rem;line-height:1.3}
.admin-notif-text{flex:1;font-family:'Cormorant Garamond',serif;font-size:0.88rem;color:var(--text);line-height:1.4}
.admin-notif-time{display:block;font-family:'Cinzel',serif;font-size:0.55rem;letter-spacing:0.08em;color:var(--text-dim);text-transform:uppercase;margin-top:0.2rem}
.admin-notif-empty{padding:1.5rem 1rem;text-align:center;font-family:'Cormorant Garamond',serif;font-size:0.85rem;color:var(--text-dim);font-style:italic}
.admin-nav-item{display:flex;align-items:center;gap:0.75rem;padding:0.85rem 1.5rem;cursor:pointer;transition:all 0.3s;font-family:'Cinzel',serif;font-size:0.7rem;letter-spacing:0.15em;color:var(--text-dim);text-transform:uppercase;border-left:2px solid transparent}
.admin-nav-item:hover{color:var(--text);background:rgba(46,139,110,0.05)}
.admin-nav-item.active{color:var(--gold);border-left-color:var(--gold);background:rgba(46,139,110,0.08)}
.admin-nav-item span:first-child{font-size:1rem}
.admin-content{padding:2.5rem;background:var(--bg);min-width:0;overflow-x:hidden}
.admin-header{margin-bottom:2.5rem}
.admin-header h1{font-family:'Playfair Display',serif;font-size:clamp(0.95rem,2.5vw,1.5rem);color:var(--gold);margin-bottom:0.5rem;line-height:1.35;word-break:break-word;white-space:normal;overflow-wrap:break-word}
.admin-header p{color:var(--text-dim);font-size:0.9rem;line-height:1.6;white-space:normal}

/* ── ADMIN STATS ── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2.5rem;min-width:0}
.stat-card{border:1px solid var(--border);background:rgba(255,255,255,0.75);padding:1.5rem;transition:border-color 0.3s;border-radius:8px}

/* ── ANALYTICS ── */
.range-tab{
  font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;
  padding:0.55rem 1rem;border:1px solid var(--border);background:transparent;color:var(--text-dim);
  cursor:pointer;transition:all 0.25s;border-radius:4px;
}
.range-tab:hover{border-color:var(--border-bright);color:var(--text)}
.range-tab.active{background:var(--gold);border-color:var(--gold);color:#fff}
.an-bar-row{display:flex;align-items:flex-end;gap:6px;height:180px;padding-top:10px}
.an-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.an-bar{width:100%;max-width:34px;background:linear-gradient(180deg,var(--gold),var(--gold-dk));transition:height 0.4s cubic-bezier(0.22,0.8,0.32,1);min-height:2px}
.an-bar-label{font-family:'Cinzel',serif;font-size:0.5rem;letter-spacing:0.02em;color:var(--text-dim);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.an-bar-value{font-family:'Cinzel',serif;font-size:0.56rem;color:var(--text-muted);margin-bottom:3px}
.an-donut-legend{display:flex;flex-direction:column;gap:0.6rem;margin-top:1rem}
.an-donut-legend-item{display:flex;align-items:center;gap:0.6rem;font-family:'Cormorant Garamond',serif;font-size:0.9rem;color:var(--text-muted)}
.an-donut-swatch{width:11px;height:11px;border-radius:50%;flex-shrink:0}
@media(max-width:900px){
  #analytics-charts-grid{grid-template-columns:1fr!important}
}
.stat-card:hover{border-color:var(--border-bright)}
.stat-card .label{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.2em;color:var(--text-dim);text-transform:uppercase;margin-bottom:0.75rem;display:block}
.stat-card .value{font-family:'Playfair Display',serif;font-size:2rem;color:var(--gold)}
.stat-card .delta{font-size:0.75rem;color:#40815F;margin-top:0.25rem;font-family:'Cinzel',serif;letter-spacing:0.1em}

/* ── ADMIN TABLE ── */
.admin-table-wrap{border:1px solid var(--border);background:rgba(255,255,255,0.75);overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;margin-bottom:2rem;max-width:100%;border-radius:8px}
.admin-table-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}
.admin-table-header h2{font-family:'Cinzel',serif;font-size:0.8rem;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase}
.admin-table-header .actions{display:flex;gap:0.75rem}
.search-input{background:rgba(247,250,248,0.9);border:1px solid var(--border);color:var(--text);font-family:'Cormorant Garamond',serif;font-size:0.9rem;padding:0.5rem 1rem;outline:none;width:200px;transition:border-color 0.3s;border-radius:4px}
.search-input:focus{border-color:var(--gold)}
table{width:100%;border-collapse:collapse}
th{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.2em;color:var(--text-dim);text-transform:uppercase;padding:1rem 1.5rem;text-align:left;border-bottom:1px solid var(--border);background:rgba(226,239,233,0.6);white-space:nowrap}
td{padding:1rem 1.5rem;color:var(--text-muted);font-size:0.9rem;border-bottom:1px solid rgba(46,139,110,0.06);white-space:nowrap}
tr:hover td{background:rgba(46,139,110,0.03)}
.badge{display:inline-flex;align-items:center;gap:0.35rem;font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.3rem 0.75rem;border:1px solid;border-radius:4px}
.badge-confirmed{color:#40815F;border-color:#5BB888;background:rgba(91,184,136,0.1)}
.badge-pending{color:#1A7055;border-color:#C9A84C;background:rgba(201,168,76,0.1)}
.badge-completed{color:#617397;border-color:#8BA5D8;background:rgba(139,165,216,0.1)}
.badge-review{color:#946C4F;border-color:#E8A87C;background:rgba(232,168,124,0.1)}
.badge-vip{color:#827045;border-color:#D9B65C;background:rgba(217,182,92,0.12)}
.badge-cancelled{color:#C0392B;border-color:rgba(192,57,43,0.35);background:rgba(192,57,43,0.07)}
/* Payment badges: pill-shaped + ₹ glyph baked in, so they read as a different
   category from booking-status badges even when they share a color family. */
.badge-pay{border-radius:999px;font-weight:600}
.badge-pay::before{content:'₹ ';font-weight:700}
.badge-reschedule-tag{display:inline-flex;align-items:center;gap:0.3rem;font-family:'Cinzel',serif;font-size:0.55rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.22rem 0.55rem;border:1px dashed #8B6FB8;color:#6B4F9E;background:rgba(139,111,184,0.08);border-radius:4px;margin-left:0.4rem}
.client-cell{display:flex;align-items:center;gap:0.75rem}
.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#2E8B6E,#1A7055);display:flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-size:0.7rem;color:var(--gold);flex-shrink:0}
.client-name{color:var(--text);font-weight:600;font-size:0.95rem}
.client-email{font-size:0.78rem;color:var(--text-dim);margin-top:1px}
.crm-row-clickable{cursor:pointer;transition:background-color 0.15s}
.crm-row-clickable:hover{background:rgba(46,139,110,0.05)}

/* ── ADMIN RECENT ACTIVITY ── */
.activity-list{padding:0 1.5rem}
.activity-item{display:flex;gap:1rem;padding:1.25rem 0;border-bottom:1px solid rgba(46,139,110,0.06)}
.activity-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);margin-top:6px;flex-shrink:0}
.activity-body strong{color:var(--text);font-family:'Cinzel',serif;font-size:0.75rem;letter-spacing:0.05em;display:block;margin-bottom:0.25rem}
.activity-body span{color:var(--text-dim);font-size:0.8rem}
.activity-time{margin-left:auto;font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.1em;color:var(--text-dim);white-space:nowrap;text-transform:uppercase}

/* ── SPELL/GROUP/NUMEROLOGY PAGES ── */
.simple-form-page{min-height:100vh;min-height:100dvh;padding:8rem 2rem 4rem;max-width:650px;margin:0 auto;position:relative;z-index:1}
.success-message{border:1px solid rgba(91,184,136,0.4);background:rgba(91,184,136,0.08);padding:3rem;text-align:center}
.success-message .icon{font-size:3rem;margin-bottom:1.5rem;display:flex;justify-content:center;align-items:center}
.success-message h2{font-family:'Playfair Display',serif;font-size:1.5rem;color:#40815F;margin-bottom:1rem}
.success-message p{color:var(--text-muted);font-style:italic;line-height:1.8}

/* ── SERVICE CARD IDENTITY THEMES ── */
.service-card.svc-tarot{border-color:rgb(40,122,97)}
.service-card.svc-tarot::before{background:linear-gradient(to right,transparent 5%,rgba(46,139,110,0.6) 35%,rgba(46,139,110,0.9) 50%,rgba(46,139,110,0.6) 65%,transparent 95%)}
.service-card.svc-tarot .service-icon-wrap{border-color:rgb(40,122,97);background:linear-gradient(145deg,rgba(230,248,240,0.9),rgba(210,240,228,0.5))}
.service-card.svc-tarot .service-tag{color:var(--gold-dk);border-color:rgb(40,122,97)}
.service-card.svc-tarot:hover{border-color:rgb(40,122,97);box-shadow:0 20px 50px rgba(46,139,110,0.14),0 6px 16px rgba(46,139,110,0.08)}

.service-card.svc-spell{border-color:rgb(110,70,180);background:linear-gradient(155deg,rgba(255,255,255,0.97) 0%,rgba(246,241,255,0.82) 60%,rgba(236,228,255,0.67) 100%)}
.service-card.svc-spell::before{background:linear-gradient(to right,transparent 5%,rgba(130,90,200,0.55) 35%,rgba(130,90,200,0.82) 50%,rgba(130,90,200,0.55) 65%,transparent 95%)}
.service-card.svc-spell::after{background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(110,70,180,0.07) 0%,transparent 70%)}
.service-card.svc-spell .service-icon-wrap{border-color:rgb(110,70,180);background:linear-gradient(145deg,rgba(245,238,255,0.9),rgba(230,220,255,0.5))}
.service-card.svc-spell .service-eyebrow{color:rgb(110,70,180)}
.service-card.svc-spell h3{color:rgb(90,55,155)}
.service-card.svc-spell .service-rule-line{background:linear-gradient(to right,rgba(110,70,180,0.4),transparent)}
.service-card.svc-spell .service-rule-dot{border-color:rgb(110,70,180)}
.service-card.svc-spell .service-tag{color:rgb(80,45,140);border-color:rgb(110,70,180);background:rgba(110,70,180,0.04)}
.service-card.svc-spell .service-tag-dot{background:rgba(110,70,180,0.45)}
.service-card.svc-spell .service-arrow{color:rgb(90,55,155);border-color:rgb(110,70,180);background:rgba(110,70,180,0.06)}
.service-card.svc-spell:hover .service-arrow{background:rgb(110,70,180);border-color:rgb(110,70,180);color:#fff}
.service-card.svc-spell:hover{border-color:rgb(110,70,180);box-shadow:0 20px 50px rgba(110,70,180,0.11),0 6px 16px rgba(110,70,180,0.06)}
.service-card.svc-spell:hover .service-tag{background:rgba(110,70,180,0.1);border-color:rgb(110,70,180)}
.service-card.svc-spell:hover .service-icon-wrap{border-color:rgb(110,70,180);box-shadow:0 4px 18px rgba(110,70,180,0.12)}

.service-card.svc-group{border-color:rgb(162,90,36);background:linear-gradient(155deg,rgba(255,255,255,0.97) 0%,rgba(255,246,232,0.82) 60%,rgba(255,238,215,0.67) 100%)}
.service-card.svc-group::before{background:linear-gradient(to right,transparent 5%,rgba(200,130,50,0.55) 35%,rgba(200,130,50,0.82) 50%,rgba(200,130,50,0.55) 65%,transparent 95%)}
.service-card.svc-group::after{background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(200,130,50,0.07) 0%,transparent 70%)}
.service-card.svc-group .service-icon-wrap{border-color:rgb(152,99,38);background:linear-gradient(145deg,rgba(255,245,225,0.9),rgba(255,230,195,0.5))}
.service-card.svc-group .service-eyebrow{color:rgb(155,95,34)}
.service-card.svc-group h3{color:rgb(155,88,22)}
.service-card.svc-group .service-rule-line{background:linear-gradient(to right,rgba(200,130,50,0.45),transparent)}
.service-card.svc-group .service-rule-dot{border-color:rgb(152,99,38)}
.service-card.svc-group .service-tag{color:rgb(140,80,20);border-color:rgb(152,99,38);background:rgba(200,130,50,0.04)}
.service-card.svc-group .service-tag-dot{background:rgba(200,130,50,0.45)}
.service-card.svc-group .service-arrow{color:rgb(155,88,22);border-color:rgb(152,99,38);background:rgba(200,130,50,0.06)}
.service-card.svc-group:hover .service-arrow{background:rgb(200,130,50);border-color:rgb(200,130,50);color:#fff}
.service-card.svc-group:hover{border-color:rgb(152,99,38);box-shadow:0 20px 50px rgba(200,130,50,0.11),0 6px 16px rgba(200,130,50,0.06)}
.service-card.svc-group:hover .service-tag{background:rgba(200,130,50,0.09);border-color:rgb(152,99,38)}
.service-card.svc-group:hover .service-icon-wrap{border-color:rgb(152,99,38);box-shadow:0 4px 18px rgba(200,130,50,0.12)}

.service-card.svc-num{border-color:rgb(30,100,160);background:linear-gradient(155deg,rgba(255,255,255,0.97) 0%,rgba(231,241,255,0.82) 60%,rgba(215,232,255,0.67) 100%)}
.service-card.svc-num::before{background:linear-gradient(to right,transparent 5%,rgba(50,120,200,0.55) 35%,rgba(50,120,200,0.82) 50%,rgba(50,120,200,0.55) 65%,transparent 95%)}
.service-card.svc-num::after{background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(50,120,200,0.07) 0%,transparent 70%)}
.service-card.svc-num .service-icon-wrap{border-color:rgb(46,110,184);background:linear-gradient(145deg,rgba(225,238,255,0.9),rgba(205,225,255,0.5))}
.service-card.svc-num .service-eyebrow{color:rgb(40,100,175)}
.service-card.svc-num h3{color:rgb(28,82,158)}
.service-card.svc-num .service-rule-line{background:linear-gradient(to right,rgba(50,120,200,0.45),transparent)}
.service-card.svc-num .service-rule-dot{border-color:rgb(46,110,184)}
.service-card.svc-num .service-tag{color:rgb(25,75,145);border-color:rgb(46,110,184);background:rgba(50,120,200,0.04)}
.service-card.svc-num .service-tag-dot{background:rgba(50,120,200,0.45)}
.service-card.svc-num .service-arrow{color:rgb(28,82,158);border-color:rgb(46,110,184);background:rgba(50,120,200,0.06)}
.service-card.svc-num:hover .service-arrow{background:rgb(50,120,200);border-color:rgb(50,120,200);color:#fff}
.service-card.svc-num:hover{border-color:rgb(46,110,184);box-shadow:0 20px 50px rgba(50,120,200,0.11),0 6px 16px rgba(50,120,200,0.06)}
.service-card.svc-num:hover .service-tag{background:rgba(50,120,200,0.09);border-color:rgb(46,110,184)}
.service-card.svc-num:hover .service-icon-wrap{border-color:rgb(46,110,184);box-shadow:0 4px 18px rgba(50,120,200,0.12)}

/* ── PRICING ON DURATION CARDS ── */
.duration-price{
  display:block;font-family:'Playfair Display',serif;
  font-size:1.05rem;color:var(--gold);
  margin-top:0.7rem;line-height:1;transition:text-shadow 0.3s
}
.duration-card.selected .duration-price{text-shadow:0 0 16px rgba(46,139,110,0.3)}
.duration-price-note{
  display:block;font-family:'Cormorant Garamond',serif;
  font-size:0.68rem;color:var(--text-dim);
  font-style:italic;margin-top:0.18rem
}

/* ── FEATURED SERVICES STRIP ── */
.featured-strip{padding:3.25rem 0;position:relative;z-index:1;border-top:1px solid var(--border)}
.featured-strip-inner{max-width:1320px;margin:0 auto;padding:0 1.25rem}
.featured-strip-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.2rem;flex-wrap:wrap;gap:1rem}
.featured-strip-header .left .section-eyebrow{text-align:left;margin-bottom:0.5rem}
.featured-strip-title{font-family:'Playfair Display',serif;font-size:clamp(1.3rem,3vw,1.9rem);color:var(--gold-dk);background:linear-gradient(145deg,var(--text) 0%,var(--gold) 60%,var(--gold-dk) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0}
.featured-scroll-hint{font-family:'Cinzel',serif;font-size:0.56rem;letter-spacing:0.3em;color:var(--text-dim);text-transform:uppercase;display:flex;align-items:center;gap:0.5rem}
.featured-scroll-hint svg{opacity:0.45;animation:nudgeR 2s ease-in-out infinite}
@keyframes nudgeR{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.featured-scroll-row{display:flex;gap:1.5rem;overflow-x:auto;padding-bottom:1rem;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.featured-scroll-row::-webkit-scrollbar{display:none}
.ftile{flex:0 0 272px;border:1px solid var(--border);position:relative;overflow:hidden;cursor:pointer;transition:all 0.4s cubic-bezier(0.22,0.8,0.32,1);scroll-snap-align:start;display:flex;flex-direction:column;border-radius:8px}
.ftile::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;opacity:0;transition:opacity 0.35s;z-index:2}
.ftile:hover{transform:translateY(-5px)}
.ftile:hover::before{opacity:1}
.ftile-band{height:3px;width:100%;flex-shrink:0}
.ftile-body{padding:1.8rem 1.8rem 1.5rem;flex:1;display:flex;flex-direction:column}
.ftile-icon{width:46px;height:46px;border:1px solid;display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;flex-shrink:0;transition:box-shadow 0.35s,border-color 0.35s}
.ftile-eyebrow{font-family:'Cinzel',serif;font-size:0.46rem;letter-spacing:0.42em;text-transform:uppercase;display:block;margin-bottom:0.4rem}
.ftile-name{font-family:'Cinzel',serif;font-size:0.88rem;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:0.6rem;line-height:1.3}
.ftile-desc{font-family:'Cormorant Garamond',serif;font-size:0.9rem;color:var(--text-readable);line-height:1.85;flex:1;font-style:italic;margin-bottom:1.2rem}
.ftile-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid rgba(0,0,0,0.06);margin-top:auto}
.ftile-from{font-family:'Cinzel',serif;font-size:0.5rem;letter-spacing:0.22em;color:var(--text-dim);text-transform:uppercase}
.ftile-price{font-family:'Playfair Display',serif;font-size:1.05rem}
.ftile-cta{font-family:'Cinzel',serif;font-size:0.52rem;letter-spacing:0.18em;text-transform:uppercase;display:flex;align-items:center;gap:0.3rem;padding:0.38rem 0.85rem;border:1px solid;transition:all 0.3s}

/* Tarot tile – Emerald */
.ftile.ft-tarot{background:linear-gradient(160deg,rgba(255,255,255,0.97),rgba(237,248,242,0.8))}
.ftile.ft-tarot::before{background:linear-gradient(to right,transparent,rgba(46,139,110,0.8),transparent)}
.ftile.ft-tarot .ftile-band{background:linear-gradient(to right,rgba(46,139,110,0.15),rgba(46,139,110,0.55),rgba(46,139,110,0.15))}
.ftile.ft-tarot .ftile-icon{border-color:rgb(40,122,97);background:linear-gradient(145deg,rgba(230,248,240,0.9),rgba(210,240,228,0.5))}
.ftile.ft-tarot .ftile-eyebrow{color:var(--gold-dk)}
.ftile.ft-tarot .ftile-name{color:var(--gold)}
.ftile.ft-tarot .ftile-price{color:var(--gold)}
.ftile.ft-tarot .ftile-cta{color:var(--gold);border-color:rgb(40,122,97)}
.ftile.ft-tarot:hover{border-color:rgb(40,122,97);box-shadow:0 18px 45px rgba(46,139,110,0.12),0 6px 16px rgba(46,139,110,0.07)}
.ftile.ft-tarot:hover .ftile-cta{background:rgba(46,139,110,0.08)}
.ftile.ft-tarot:hover .ftile-icon{border-color:rgb(40,122,97);box-shadow:0 3px 12px rgba(46,139,110,0.12)}

/* Spell tile – Violet */
.ftile.ft-spell{background:linear-gradient(160deg,rgba(255,255,255,0.97),rgba(246,241,255,0.8))}
.ftile.ft-spell::before{background:linear-gradient(to right,transparent,rgba(130,90,200,0.75),transparent)}
.ftile.ft-spell .ftile-band{background:linear-gradient(to right,rgba(110,70,180,0.15),rgba(130,90,200,0.55),rgba(110,70,180,0.15))}
.ftile.ft-spell .ftile-icon{border-color:rgb(110,70,180);background:linear-gradient(145deg,rgba(245,238,255,0.9),rgba(230,220,255,0.5))}
.ftile.ft-spell .ftile-eyebrow{color:rgb(110,70,180)}
.ftile.ft-spell .ftile-name{color:rgb(90,55,155)}
.ftile.ft-spell .ftile-price{color:rgb(100,65,170)}
.ftile.ft-spell .ftile-cta{color:rgb(90,55,155);border-color:rgb(110,70,180)}
.ftile.ft-spell:hover{border-color:rgb(110,70,180);box-shadow:0 18px 45px rgba(110,70,180,0.11),0 6px 16px rgba(110,70,180,0.06)}
.ftile.ft-spell:hover .ftile-cta{background:rgba(110,70,180,0.07)}
.ftile.ft-spell:hover .ftile-icon{border-color:rgb(110,70,180);box-shadow:0 3px 12px rgba(110,70,180,0.1)}

/* Group tile – Amber */
.ftile.ft-group{background:linear-gradient(160deg,rgba(255,255,255,0.97),rgba(255,246,232,0.8))}
.ftile.ft-group::before{background:linear-gradient(to right,transparent,rgba(200,130,50,0.75),transparent)}
.ftile.ft-group .ftile-band{background:linear-gradient(to right,rgba(180,110,40,0.15),rgba(200,130,50,0.55),rgba(180,110,40,0.15))}
.ftile.ft-group .ftile-icon{border-color:rgb(152,99,38);background:linear-gradient(145deg,rgba(255,245,225,0.9),rgba(255,230,195,0.5))}
.ftile.ft-group .ftile-eyebrow{color:rgb(155,95,34)}
.ftile.ft-group .ftile-name{color:rgb(155,88,22)}
.ftile.ft-group .ftile-price{color:rgb(165,100,25)}
.ftile.ft-group .ftile-cta{color:rgb(155,88,22);border-color:rgb(152,99,38)}
.ftile.ft-group:hover{border-color:rgb(152,99,38);box-shadow:0 18px 45px rgba(200,130,50,0.11),0 6px 16px rgba(200,130,50,0.06)}
.ftile.ft-group:hover .ftile-cta{background:rgba(200,130,50,0.07)}
.ftile.ft-group:hover .ftile-icon{border-color:rgb(152,99,38);box-shadow:0 3px 12px rgba(200,130,50,0.1)}

/* Numerology tile – Sapphire */
.ftile.ft-num{background:linear-gradient(160deg,rgba(255,255,255,0.97),rgba(231,241,255,0.8))}
.ftile.ft-num::before{background:linear-gradient(to right,transparent,rgba(50,120,200,0.75),transparent)}
.ftile.ft-num .ftile-band{background:linear-gradient(to right,rgba(30,100,160,0.15),rgba(50,120,200,0.55),rgba(30,100,160,0.15))}
.ftile.ft-num .ftile-icon{border-color:rgb(46,110,184);background:linear-gradient(145deg,rgba(225,238,255,0.9),rgba(205,225,255,0.5))}
.ftile.ft-num .ftile-eyebrow{color:rgb(40,100,175)}
.ftile.ft-num .ftile-name{color:rgb(28,82,158)}
.ftile.ft-num .ftile-price{color:rgb(32,90,170)}
.ftile.ft-num .ftile-cta{color:rgb(28,82,158);border-color:rgb(46,110,184)}
.ftile.ft-num:hover{border-color:rgb(46,110,184);box-shadow:0 18px 45px rgba(50,120,200,0.11),0 6px 16px rgba(50,120,200,0.06)}
.ftile.ft-num:hover .ftile-cta{background:rgba(50,120,200,0.07)}
.ftile.ft-num:hover .ftile-icon{border-color:rgb(46,110,184);box-shadow:0 3px 12px rgba(50,120,200,0.1)}

.featured-dots{display:flex;justify-content:center;gap:0.5rem;margin-top:1.4rem}
.featured-dot{width:20px;height:2px;background:rgba(46,139,110,0.18);transition:background 0.3s,width 0.3s;cursor:pointer}
.featured-dot.active{background:var(--gold);width:34px}


/* ── SCROLL REVEAL ── */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.75s cubic-bezier(0.22,0.8,0.32,1),transform 0.75s cubic-bezier(0.22,0.8,0.32,1)}
.reveal.visible{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-26px);transition:opacity 0.75s cubic-bezier(0.22,0.8,0.32,1),transform 0.75s cubic-bezier(0.22,0.8,0.32,1)}
.reveal-left.visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:0.1s}.reveal-delay-2{transition-delay:0.2s}.reveal-delay-3{transition-delay:0.32s}.reveal-delay-4{transition-delay:0.44s}.reveal-delay-5{transition-delay:0.55s}

/* ── JOURNEY SECTION ── */
.journey-section{padding:3.25rem 0;position:relative;z-index:1;overflow:hidden;border-top:1px solid var(--border)}
.journey-section::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 50%,var(--bg) 100%);pointer-events:none}
.journey-inner{max-width:1320px;margin:0 auto;padding:0 1.25rem}
.journey-header{text-align:center;margin-bottom:3rem}
.journey-intro{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.08rem;font-weight:500;color:#1A3329;max-width:520px;margin:0.8rem auto 0;line-height:1.95;opacity:1;display:block;visibility:visible}
.journey-scroll{display:flex;gap:1.6rem;overflow-x:auto;padding-bottom:1.4rem;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -2rem;padding-left:2rem;padding-right:2rem}
.journey-scroll::-webkit-scrollbar{display:none}
.jcard{flex:0 0 242px;min-height:310px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,0.97),rgba(237,245,241,0.78));position:relative;overflow:hidden;scroll-snap-align:start;display:flex;flex-direction:column;transition:all 0.42s cubic-bezier(0.22,0.8,0.32,1);border-radius:8px}
.jcard::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent 5%,var(--jc-accent,rgba(46,139,110,0.7)) 50%,transparent 95%);opacity:0;transition:opacity 0.35s}
.jcard::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 90% 55% at 50% 0%,var(--jc-glow,rgba(46,139,110,0.07)) 0%,transparent 70%);opacity:0;transition:opacity 0.35s;pointer-events:none}
.jcard:hover{transform:translateY(-6px) scale(1.012);border-color:var(--jc-border,rgba(46,139,110,0.38));box-shadow:0 18px 48px var(--jc-shadow,rgba(46,139,110,0.12)),0 6px 16px rgba(0,0,0,0.04)}
.jcard:hover::before,.jcard:hover::after{opacity:1}
.jcard:nth-child(1){--jc-accent:rgba(46,139,110,0.75);--jc-glow:rgba(46,139,110,0.08);--jc-border:rgba(46,139,110,0.4);--jc-shadow:rgba(46,139,110,0.13)}
.jcard:nth-child(2){--jc-accent:rgba(110,70,180,0.7);--jc-glow:rgba(110,70,180,0.07);--jc-border:rgba(110,70,180,0.35);--jc-shadow:rgba(110,70,180,0.11)}
.jcard:nth-child(3){--jc-accent:rgba(200,130,50,0.7);--jc-glow:rgba(200,130,50,0.07);--jc-border:rgba(200,130,50,0.35);--jc-shadow:rgba(200,130,50,0.11)}
.jcard:nth-child(4){--jc-accent:rgba(50,120,200,0.7);--jc-glow:rgba(50,120,200,0.07);--jc-border:rgba(50,120,200,0.35);--jc-shadow:rgba(50,120,200,0.11)}
.jcard:nth-child(5){--jc-accent:rgba(160,50,90,0.7);--jc-glow:rgba(160,50,90,0.07);--jc-border:rgba(160,50,90,0.35);--jc-shadow:rgba(160,50,90,0.11)}
.jcard-band{height:2px;width:100%;flex-shrink:0}
.jcard:nth-child(1) .jcard-band{background:linear-gradient(to right,transparent,rgba(46,139,110,0.5),transparent)}
.jcard:nth-child(2) .jcard-band{background:linear-gradient(to right,transparent,rgba(110,70,180,0.5),transparent)}
.jcard:nth-child(3) .jcard-band{background:linear-gradient(to right,transparent,rgba(200,130,50,0.5),transparent)}
.jcard:nth-child(4) .jcard-band{background:linear-gradient(to right,transparent,rgba(50,120,200,0.5),transparent)}
.jcard:nth-child(5) .jcard-band{background:linear-gradient(to right,transparent,rgba(160,50,90,0.5),transparent)}
.jcard-body{padding:2rem 1.8rem 1.4rem;flex:1;display:flex;flex-direction:column}
.jcard-num{font-family:"Cinzel",serif;font-size:0.5rem;letter-spacing:0.45em;color:var(--text-dim);margin-bottom:1.3rem;display:block;text-transform:uppercase}
.jcard-sigil{width:50px;height:50px;margin-bottom:1.4rem;display:flex;align-items:center;justify-content:center;border:1px solid;position:relative;transition:box-shadow 0.35s,border-color 0.35s;flex-shrink:0}
.jcard:nth-child(1) .jcard-sigil{border-color:rgb(40,122,97);background:linear-gradient(145deg,rgba(222,248,236,0.85),rgba(200,238,218,0.5))}
.jcard:nth-child(2) .jcard-sigil{border-color:rgb(110,70,180);background:linear-gradient(145deg,rgba(245,238,255,0.85),rgba(228,215,255,0.5))}
.jcard:nth-child(3) .jcard-sigil{border-color:rgb(152,99,38);background:linear-gradient(145deg,rgba(255,245,220,0.85),rgba(255,228,188,0.5))}
.jcard:nth-child(4) .jcard-sigil{border-color:rgb(46,110,184);background:linear-gradient(145deg,rgba(222,238,255,0.85),rgba(204,228,255,0.5))}
.jcard:nth-child(5) .jcard-sigil{border-color:rgb(160,50,90);background:linear-gradient(145deg,rgba(255,225,235,0.85),rgba(255,200,218,0.5))}
.jcard:hover .jcard-sigil{box-shadow:0 3px 14px var(--jc-shadow,rgba(46,139,110,0.12))}
.jcard-name{font-family:"Cinzel",serif;font-size:0.92rem;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:0;line-height:1.3}
.jcard:nth-child(1) .jcard-name{color:var(--gold)}
.jcard:nth-child(2) .jcard-name{color:rgb(88,52,150)}
.jcard:nth-child(3) .jcard-name{color:rgb(152,85,18)}
.jcard:nth-child(4) .jcard-name{color:rgb(26,78,154)}
.jcard:nth-child(5) .jcard-name{color:rgb(140,38,72)}
.jcard-rule{width:22px;height:1px;margin:0.6rem 0 0.85rem}
.jcard:nth-child(1) .jcard-rule{background:linear-gradient(to right,rgba(46,139,110,0.4),transparent)}
.jcard:nth-child(2) .jcard-rule{background:linear-gradient(to right,rgba(110,70,180,0.4),transparent)}
.jcard:nth-child(3) .jcard-rule{background:linear-gradient(to right,rgba(200,130,50,0.4),transparent)}
.jcard:nth-child(4) .jcard-rule{background:linear-gradient(to right,rgba(50,120,200,0.4),transparent)}
.jcard:nth-child(5) .jcard-rule{background:linear-gradient(to right,rgba(160,50,90,0.4),transparent)}
.jcard-desc{font-family:"Cormorant Garamond",serif;font-size:0.95rem;color:var(--text-readable);line-height:1.9;font-style:italic;flex:1;margin-bottom:0}
.jcard-foot{padding:1rem 1.8rem 1.35rem;border-top:1px solid rgba(46,139,110,0.08);margin-top:1.2rem}
.jcard:nth-child(2) .jcard-foot{border-top-color:rgb(110,70,180)}
.jcard:nth-child(3) .jcard-foot{border-top-color:rgb(152,99,38)}
.jcard:nth-child(4) .jcard-foot{border-top-color:rgb(46,110,184)}
.jcard:nth-child(5) .jcard-foot{border-top-color:rgb(160,50,90)}
.jcard-keyword{font-family:"Cinzel",serif;font-size:0.5rem;letter-spacing:0.32em;text-transform:uppercase;color:var(--text-dim)}
.journey-dots{display:flex;justify-content:center;gap:0.5rem;margin-top:1.5rem}

/* ── Journey / Trust horizontal-scroll nav arrows (shared pattern) ── */
.journey-scroll-wrap{position:relative;display:flex;align-items:center}
.journey-scroll-wrap .journey-scroll{flex:1;scroll-padding-left:44px;scroll-padding-right:44px}
.journey-nav,.trust-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,0.92);
  border:1px solid var(--border-bright);
  color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:4;
  box-shadow:0 4px 16px rgba(46,139,110,0.15);
  transition:background 0.3s,box-shadow 0.3s,transform 0.3s;
}
.journey-nav:hover,.trust-nav:hover{background:rgba(255,255,255,1);box-shadow:0 6px 22px rgba(46,139,110,0.22)}
/* Positioned with a small inset so arrows sit in their own safe-zone
   padding, never overlapping card text content */
.journey-nav-left,.trust-nav-left{left:6px}
.journey-nav-right,.trust-nav-right{right:6px}
@media(max-width:900px){
  .journey-nav,.trust-nav{width:32px;height:32px}
  .journey-scroll-wrap .journey-scroll,.trust-scroll-wrap .trust-pillars{padding-left:42px!important;padding-right:42px!important}
}
@media(max-width:600px){
  /* On small phones keep arrows visible but compact so they never
     overlap card content or risk edge clipping */
  .journey-nav,.trust-nav{width:26px;height:26px;box-shadow:0 3px 12px rgba(46,139,110,0.18)}
  .journey-nav-left,.trust-nav-left{left:2px}
  .journey-nav-right,.trust-nav-right{right:2px}
  /* Widen the scroll container's edge padding so the first/last card
     never sits directly beneath the overlaid arrow buttons */
  .journey-scroll-wrap .journey-scroll,.trust-scroll-wrap .trust-pillars{padding-left:34px!important;padding-right:34px!important}
}
.journey-dot,.trust-dot{width:18px;height:2px;background:rgba(46,139,110,0.18);transition:all 0.3s;cursor:pointer}
.journey-dot.active,.trust-dot.active{width:30px;background:var(--gold)}

/* ── CREDIBILITY BAR ── */
.cred-bar{position:relative;z-index:1;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:linear-gradient(to right,var(--bg2),rgba(255,255,255,0.92),var(--bg2))}
.cred-inner{max-width:1320px;margin:0 auto;padding:0 1.25rem;display:flex;align-items:stretch}
.cred-stat{flex:1;padding:2.2rem 1.2rem;text-align:center;border-right:1px solid var(--border);position:relative;overflow:hidden;transition:background 0.35s}
.cred-stat:last-child{border-right:none}
.cred-stat::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 100%,rgba(46,139,110,0.05),transparent 70%);opacity:0;transition:opacity 0.35s}
.cred-stat:hover{background:rgba(255,255,255,0.65)}.cred-stat:hover::before{opacity:1}
.cred-num{font-family:"Playfair Display",serif;font-size:2.1rem;color:var(--gold);display:block;line-height:1;text-shadow:0 0 22px rgba(46,139,110,0.12)}
.cred-label{font-family:"Cinzel",serif;font-size:0.54rem;letter-spacing:0.32em;color:var(--text-dim);text-transform:uppercase;display:block;margin-top:0.4rem}
.cred-sub{font-family:"Cormorant Garamond",serif;font-size:0.82rem;color:rgb(74,115,99);font-style:italic;margin-top:0.22rem;display:block}

/* ── TRUST / TRANSFORMATION ── */
.trust-section{padding:2.75rem 0;position:relative;z-index:1;overflow:hidden}
.trust-section::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,var(--bg3) 45%,var(--bg2) 75%,var(--bg) 100%);pointer-events:none}
.trust-inner{max-width:1320px;margin:0 auto;padding:0 1.25rem}
.trust-header{text-align:center;margin-bottom:2.2rem}
.trust-scroll-wrap{position:relative;display:flex;align-items:center}
.trust-pillars{display:flex;gap:1.5rem;overflow-x:auto;padding-bottom:1.4rem;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -2rem;padding-left:2rem;padding-right:2rem;flex:1;scroll-padding-left:44px;scroll-padding-right:44px}
.trust-pillars::-webkit-scrollbar{display:none}
.trust-pillar{flex:0 0 260px;min-height:250px;border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,0.95),rgba(237,245,241,0.7));padding:1.9rem 1.7rem;position:relative;overflow:hidden;scroll-snap-align:start;display:flex;flex-direction:column;transition:all 0.4s cubic-bezier(0.22,0.8,0.32,1);border-radius:8px}
.trust-pillar::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,var(--gold),transparent);opacity:0;transition:opacity 0.35s}
.trust-pillar:hover{transform:translateY(-4px);border-color:var(--border-bright);box-shadow:0 14px 40px rgba(46,139,110,0.1)}.trust-pillar:hover::before{opacity:1}
.tp-icon{width:58px;height:58px;border:1px solid var(--border);background:linear-gradient(145deg,rgba(255,255,255,0.9),rgba(232,244,238,0.5));display:flex;align-items:center;justify-content:center;margin-bottom:1.3rem;transition:border-color 0.35s,box-shadow 0.35s,transform 0.35s;border-radius:8px}
.trust-pillar:hover .tp-icon{border-color:var(--border-bright);box-shadow:0 5px 16px rgba(46,139,110,0.14);transform:scale(1.05)}
.tp-title{font-family:"Cinzel",serif;font-size:0.86rem;letter-spacing:0.13em;color:var(--gold);text-transform:uppercase;margin-bottom:0.5rem;display:block;font-weight:600}
.tp-rule{width:24px;height:1px;background:linear-gradient(to right,rgba(46,139,110,0.5),transparent);margin-bottom:0.85rem}
.tp-desc{font-family:"Cormorant Garamond",serif;font-size:0.93rem;color:var(--text-readable);line-height:1.75;font-style:italic}

/* ── TESTIMONIALS: CONTINUOUS MARQUEE (never looks "finished", scales as more are added) ── */
.testimonials-marquee{
  overflow:hidden;
  width:100%;
  max-width:100%;
}
.testimonials-track{
  display:flex;
  gap:1.5rem;
  width:max-content;
  will-change:transform;
}
@media(prefers-reduced-motion:reduce){
  .testimonials-track{transition:none!important}
}
.testimonial{border:1px solid var(--border);background:linear-gradient(160deg,rgba(255,255,255,0.96),rgba(237,245,241,0.68));padding:0;position:relative;transition:all 0.4s cubic-bezier(0.22,0.8,0.32,1);box-shadow:0 2px 12px rgba(46,139,110,0.04);overflow:hidden;flex:0 0 auto;width:min(380px,82vw);border-radius:8px}
.testimonial::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent 5%,rgba(46,139,110,0.5) 50%,transparent 95%);opacity:0;transition:opacity 0.35s}
.testimonial:hover{border-color:var(--border-bright);box-shadow:0 12px 36px rgba(46,139,110,0.1)}.testimonial:hover::before{opacity:1}
.testimonial-inner{padding:2.2rem 2rem 0}
.testimonial-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.1rem}
.testimonial-stars{color:var(--gold);font-size:0.68rem;letter-spacing:0.2em}
.testimonial-qm{font-family:"Playfair Display",serif;font-size:3rem;color:var(--gold);opacity:0.15;line-height:0.75;flex-shrink:0}
.testimonial-text{color:var(--text-readable);font-style:italic;line-height:2;font-size:1.0rem;letter-spacing:0.01em;margin-bottom:0}
.testimonial-footer{padding:1.2rem 2rem 1.5rem;border-top:1px solid rgba(46,139,110,0.08);display:flex;align-items:center;gap:0.9rem;margin-top:1.4rem}
.testimonial-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gold-dk),var(--gold));display:flex;align-items:center;justify-content:center;font-family:"Cinzel",serif;font-size:0.62rem;color:#FFFFFF;flex-shrink:0;border:1px solid rgba(46,139,110,0.2);overflow:hidden}
.testimonial-avatar svg{display:block}
.testimonial-author{font-family:"Cinzel",serif;font-size:0.64rem;letter-spacing:0.22em;color:var(--gold);text-transform:uppercase}
.testimonial-service{font-size:0.78rem;color:var(--text-dim);margin-top:0.18rem;font-style:italic}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .featured-strip-header{flex-direction:column;align-items:flex-start}
  .featured-scroll-hint{display:none}
  .ftile{flex:0 0 260px}
  .about-grid{grid-template-columns:1fr}
  .about-visual{order:-1;margin-bottom:1rem}
  .about-frame{max-width:200px}
  .services-grid{grid-template-columns:1fr;gap:1rem}
  .service-card-body{padding:1.6rem 1.6rem 1.3rem}
  .service-card-footer{padding:0.8rem 1.6rem 1rem}
  .duration-grid{grid-template-columns:repeat(2,1fr)}
  .testimonial{width:min(320px,78vw)}
  .footer-grid{gap:0.9rem!important;margin-bottom:1.25rem!important}
  .footer-brand p{font-size:0.68rem!important;line-height:1.45!important}
  .footer-col h4{font-size:0.52rem!important;letter-spacing:0.14em!important;margin-bottom:0.55rem!important}
  .footer-col ul li{margin-bottom:0.3rem!important}
  .footer-col ul li a{font-size:0.66rem!important}
  .footer-contact-email{font-size:0.5rem!important}
  .nav-links{display:none}
  .nav-hamburger{display:flex}
  .nav-drawer-overlay{display:block}
  nav{padding:0.85rem 1.1rem;gap:0.6rem}
  .nav-book{font-size:0.66rem;padding:0.6rem 1rem;letter-spacing:0.12em}
  .nav-signin-link{font-size:0.66rem;letter-spacing:0.12em}
  .nav-auth{gap:0.5rem}
  .form-grid{grid-template-columns:1fr}
  .service-select-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .admin-layout{grid-template-columns:1fr}
  /* Sidebar transforms to horizontal tab bar (handled in 768px block) */
  .slots-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:0.6rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:0.3rem;margin:0 -0.2rem;padding-left:0.2rem;padding-right:0.2rem}
  .slots-grid::-webkit-scrollbar{display:none}
  .time-slot{flex:0 0 86px;scroll-snap-align:start}
  .trust-pillar{flex:0 0 230px}
  .cred-stat:last-child{border-bottom:none}
  .jcard{flex:0 0 230px}
  .journey-scroll,.trust-pillars{margin:0 -1rem;padding-left:1rem;padding-right:1rem}
}

/* ── ARTICLE MODAL ── */
.article-overlay{position:fixed;inset:0;z-index:500;background:rgba(26,51,41,0.82);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.35s;padding:2rem}
.article-overlay.open{opacity:1;pointer-events:all}
.article-modal{background:var(--bg);border:1px solid var(--border-bright);max-width:680px;width:100%;max-height:88vh;overflow-y:auto;position:relative;box-shadow:0 24px 60px rgba(0,0,0,0.2)}
.article-modal-band{height:2px;background:linear-gradient(to right,transparent,rgba(46,139,110,0.7),transparent);flex-shrink:0}
.article-modal-body{padding:3rem 2.8rem 3rem}
.article-modal-cat{font-family:'Cinzel',serif;font-size:0.5rem;letter-spacing:0.42em;color:var(--gold-dk);text-transform:uppercase;display:block;margin-bottom:1rem}
.article-modal-title{font-family:'Cinzel',serif;font-size:1.1rem;letter-spacing:0.1em;color:var(--gold);line-height:1.5;margin-bottom:0.5rem}
.article-modal-date{font-family:'Cinzel',serif;font-size:0.48rem;letter-spacing:0.25em;color:var(--text-dim);text-transform:uppercase;display:block;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}
.article-modal-text p{font-family:'Cormorant Garamond',serif;font-size:1.08rem;color:var(--text-muted);line-height:2.1;font-style:italic;margin-bottom:1.5rem;letter-spacing:0.01em}
.article-modal-close{position:absolute;top:1rem;right:1.2rem;font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.15em;color:var(--text-dim);cursor:pointer;background:none;border:none;padding:0.25rem;transition:color 0.3s}
.article-modal-close:hover{color:var(--gold)}
@media(max-width:600px){.article-modal-body{padding:2rem 1.5rem}.article-overlay{padding:1rem}}

/* ── SPELL CATEGORY GRID — contained, no overflow ── */
#page-spell-booking .service-select-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
  width:100%;
  box-sizing:border-box;
}
#page-spell-booking .service-select-card{
  min-width:0;
  box-sizing:border-box;
}
/* Last odd card spans full width to stay aligned */
#page-spell-booking .service-select-grid .service-select-card:last-child:nth-child(odd){
  grid-column:1 / -1;
  max-width:calc(50% - 0.5rem);
  justify-self:center;
}

/* ── ADDITIONAL RESPONSIVE BREAKPOINTS (Disha UX) ── */

/* Hero — prevent button overflow on very small phones */
@media(max-width:420px){
  .hero-title{font-size:clamp(2.1rem,12vw,3rem)}
  .hero-ctas{flex-direction:column;align-items:center}
  .hero-ctas .btn-primary,.hero-ctas .btn-secondary{width:100%;text-align:center;box-sizing:border-box}
  .hero-kicker{white-space:normal;text-align:center}
}

/* Prevent horizontal overflow on all major content wrappers */
section,
.trust-inner,.journey-inner,.return-inner,.circle-inner,
.cred-inner,.news-inner,.news2-inner,.shop-inner,.ic2-inner,.nl-inner,
.about-ak-inner,.featured-strip-inner{
  overflow-x:hidden;
}

/* Booking pages — full-width with box-sizing */
.booking-page,.simple-form-page{width:100%;box-sizing:border-box}
.form-card,.payment-card,.confirm-card,.calendar-card{box-sizing:border-box;width:100%}

/* Duration grid — two columns on narrow screens */
@media(max-width:520px){
  .duration-grid{grid-template-columns:repeat(2,1fr)!important}
}

/* ── FIX 1: Reading / service selection cards — 2-column on mobile ──
   Keep desktop unchanged. On mobile use 2-col grid for all selection
   screens (tarot, numerology, spell). Group booking stays 1-col
   because it shows dated event rows that need full width to be legible. */
@media(max-width:600px){
  /* Tarot reading selection: 2-col grid */
  #page-tarot-booking .service-select-grid{
    grid-template-columns:repeat(2,1fr)!important;
    gap:0.75rem!important;
  }
  /* Numerology: 2-col grid */
  #page-numerology-booking .service-select-grid{
    grid-template-columns:repeat(2,1fr)!important;
    gap:0.75rem!important;
  }
  /* Group booking: keep 1-col (dated events need full width) */
  #page-group-booking .service-select-grid{
    grid-template-columns:1fr!important;
  }
  /* Make card inner text tighter on small screens */
  #page-tarot-booking .service-select-card,
  #page-numerology-booking .service-select-card{
    padding:1rem 0.85rem!important;
  }
  #page-tarot-booking .service-select-card p,
  #page-numerology-booking .service-select-card p{
    font-size:0.82rem!important;
    line-height:1.65!important;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  /* Odd last card centred */
  #page-tarot-booking .service-select-grid .service-select-card:last-child:nth-child(odd),
  #page-numerology-booking .service-select-grid .service-select-card:last-child:nth-child(odd){
    grid-column:1 / -1;
    max-width:calc(50% - 0.375rem);
    justify-self:center;
  }
}
@media(max-width:640px){
  /* Spell booking: keep existing 2-col (already correct from v20) */
  #page-spell-booking .service-select-grid{
    grid-template-columns:repeat(2,1fr)!important;
    gap:0.75rem!important;
  }
  #page-spell-booking .service-select-card{
    padding:1rem 0.85rem!important;
  }
  #page-spell-booking .service-select-card p{
    font-size:0.82rem!important;
    line-height:1.65!important;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
}
/* Very small phones (≤380px): drop to 1-col so cards aren't too cramped */
@media(max-width:380px){
  #page-tarot-booking .service-select-grid,
  #page-numerology-booking .service-select-grid,
  #page-spell-booking .service-select-grid{
    grid-template-columns:1fr!important;
  }
  #page-tarot-booking .service-select-card,
  #page-numerology-booking .service-select-card,
  #page-spell-booking .service-select-card{
    padding:1rem 1rem!important;
  }
  #page-tarot-booking .service-select-card p,
  #page-numerology-booking .service-select-card p,
  #page-spell-booking .service-select-card p{
    -webkit-line-clamp:unset;
    overflow:visible;
  }
  /* Single-column grid means the odd last card must span full width too —
     otherwise it stays squeezed at ~50% width and its title gets clipped */
  #page-tarot-booking .service-select-grid .service-select-card:last-child:nth-child(odd),
  #page-numerology-booking .service-select-grid .service-select-card:last-child:nth-child(odd),
  #page-spell-booking .service-select-grid .service-select-card:last-child:nth-child(odd){
    max-width:100%!important;
    justify-self:stretch!important;
  }
}

/* Journey cards */
@media(max-width:600px){ .jcard{flex:0 0 88vw} }
/* Inner circle tiers: handled by the 768px rule below (covers this range too) */
/* Shop grid */
/* Shop grid responsive — handled below */

/* ══════════════════════════════════════════════════════════════
   V23 — FIX 1: STATISTICS 2-COL GRID (consolidated, no conflicts)
   All previous cred-inner/cred-stat mobile rules replaced here.
   Desktop flex layout is completely untouched (only ≤768px).
   ══════════════════════════════════════════════════════════════ */
@media(max-width:768px){
  .cred-inner{
    display:grid!important;
    grid-template-columns:repeat(2,1fr)!important;
    flex-direction:unset!important;
    align-items:stretch!important;
    padding:0!important;
    gap:0!important;
  }
  .cred-stat{
    flex:unset!important;
    border-right:1px solid var(--border)!important;
    border-bottom:1px solid var(--border)!important;
    border-top:none!important;
    border-left:none!important;
    padding:1.5rem 0.85rem!important;
  }
  .cred-stat:nth-child(2n){
    border-right:none!important;
  }
  .cred-stat:nth-last-child(-n+2){
    border-bottom:none!important;
  }
  .cred-stat:last-child:nth-child(odd){
    grid-column:1/-1!important;
    border-right:none!important;
    border-bottom:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    max-width:50%;
    margin:0 auto;
    width:50%;
  }
  .cred-num{font-size:1.6rem!important}
  .cred-label{font-size:0.48rem!important;letter-spacing:0.2em!important}
  .cred-sub{font-size:0.72rem!important;margin-top:0.12rem!important}
}

/* ══════════════════════════════════════════════════════════════
   V23 — FIX 2: SACRED OFFERINGS TOP SPACING (now handled by V27 global mobile rule)
   ══════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════
   V27 — MOBILE SPACING SYSTEM (clean consolidated pass)
   Desktop spacing standardised to 5rem globally above.
   These rules reduce padding proportionally on mobile.
   ══════════════════════════════════════════════════════════════ */
@media(max-width:768px){
  section{ padding:2.25rem 1.25rem!important }
  #services{ padding-top:3.25rem!important }
  .trust-section{ padding:2.25rem 0!important }
  .trust-inner,.return-inner,.circle-inner{ padding:0 1.25rem!important }
  .return-section{ padding:3.5rem 0!important }
  .circle-section{ padding:3.5rem 0!important }
  .circle-header{ margin-bottom:1.75rem!important }
  .circle-intro{ margin-bottom:1.75rem!important }
  .circle-benefits{ gap:0.85rem!important }
  .news-inner,.news2-inner,.shop-inner,.nl-inner{ padding:0 1.25rem!important }
  .about-ak-section{ padding:2.25rem 0!important }
  .about-ak-inner{ padding:0 1.25rem!important }
  .return-header,.trust-header{ margin-bottom:2rem!important }
  .return-grid{ gap:0.85rem!important }
  .services-grid{ gap:0.9rem!important }
  .section-sub{ margin-bottom:2rem!important }
  .journey-inner{ padding:0 1.25rem!important }
  .journey-section{ padding:3.5rem 0!important }
  .featured-strip{ padding:3.5rem 0!important }
  .featured-strip-inner{ padding:0 1.25rem!important }
  .booking-page{ padding:5rem 1rem 3rem!important }
  .booking-header{ margin-bottom:1.25rem!important }
  .booking-header h1{ font-size:1.4rem!important }
  .progress-bar{ margin-bottom:1.25rem!important }
  .form-card{ padding:1.25rem 1rem!important; margin-bottom:0.85rem!important }
  .form-card h2{ margin-bottom:0.9rem!important; padding-bottom:0.6rem!important }
  .duration-label{ margin-bottom:0.6rem!important; padding-bottom:0.4rem!important }
  .duration-grid{ gap:0.5rem!important }
  .duration-card{ padding:0.85rem 0.5rem 0.7rem!important }
  .duration-minutes{ font-size:1.15rem!important }
  .duration-ideal{ font-size:0.68rem!important; line-height:1.4!important }
  .calendar-card{ padding:1.1rem 0.9rem!important }
  .payment-card{ padding:1.8rem 1.2rem!important }
  .payment-badge{ flex-wrap:wrap!important;gap:0.7rem 1rem!important;justify-content:center!important;padding:0.85rem 1.1rem!important }
  .form-nav{ margin-top:0.9rem!important }
  .simple-form-page{ padding:5rem 1rem 3rem!important }
  .cta-section{ padding:2.25rem 1.25rem!important }
  footer{ padding:1.5rem 1.25rem 1.25rem!important }
  .ic2-inner{ padding:3.5rem 1.25rem!important }
  .shop-inner{ padding:3.5rem 1.25rem!important }
  .news2-inner{ padding:3.5rem 1.25rem!important }
  .nl-inner{ padding:3.5rem 1.25rem!important }
  .news-inner{ padding:0 1.25rem!important }
  .news-section{ padding:3.5rem 0!important }
}

/* ══════════════════════════════════════════════════════════════
   V23 — FIX 4: ACCORDION — Reading selection on mobile only
   Desktop grid (>600px) is completely untouched.
   ══════════════════════════════════════════════════════════════ */
@media(max-width:600px){
  /* Accordion container */
  .v23-accordion{
    display:block!important;
    border:1px solid var(--border);
    background:linear-gradient(150deg,rgba(255,255,255,0.97),rgba(240,249,244,0.82));
    margin-bottom:1.25rem;
    overflow:hidden;
  }
  /* Each card is an accordion row */
  .v23-accordion .service-select-card{
    border:none!important;
    border-bottom:1px solid var(--border)!important;
    padding:0!important;
    box-shadow:none!important;
    transform:none!important;
    background:transparent!important;
    display:block;
    position:relative;
  }
  .v23-accordion .service-select-card:last-child{
    border-bottom:none!important;
  }
  .v23-accordion .service-select-card.selected{
    background:linear-gradient(150deg,rgba(232,249,241,0.65),rgba(220,243,233,0.45))!important;
  }
  /* Hide original desktop card internals */
  .v23-accordion .service-select-card > .check,
  .v23-accordion .service-select-card > .sc-eyebrow,
  .v23-accordion .service-select-card > h3,
  .v23-accordion .service-select-card > .sc-rule,
  .v23-accordion .service-select-card > p,
  .v23-accordion .service-select-card > .sc-tags{ display:none!important; }
  /* Header row — always visible */
  .v23-acc-hdr{
    display:flex;
    align-items:center;
    padding:0.85rem 1rem;
    cursor:pointer;
    gap:0.6rem;
    user-select:none;
    -webkit-tap-highlight-color:transparent;
  }
  .v23-acc-check{
    width:20px; height:20px;
    border:1px solid var(--border);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:0.6rem; flex-shrink:0;
    background:rgba(255,255,255,0.85);
    transition:all 0.25s ease;
    color:transparent;
  }
  .service-select-card.selected .v23-acc-check{
    background:var(--gold)!important;
    border-color:var(--gold)!important;
    color:var(--bg)!important;
  }
  .v23-acc-labels{
    flex:1; min-width:0;
    display:flex; flex-direction:column; gap:0.08rem;
  }
  .v23-acc-sub{
    font-family:'Cinzel',serif;
    font-size:0.42rem; letter-spacing:0.3em;
    color:var(--gold-dk); text-transform:uppercase;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .v23-acc-title{
    font-family:'Cinzel',serif;
    font-size:0.76rem; letter-spacing:0.12em;
    color:var(--gold); text-transform:uppercase;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .v23-acc-arrow{
    font-size:0.62rem; color:var(--text-dim);
    flex-shrink:0;
    transition:transform 0.28s cubic-bezier(0.22,0.8,0.32,1);
    line-height:1;
  }
  .v23-acc-arrow.is-open{ transform:rotate(180deg); }
  /* Collapsible body */
  .v23-acc-body{
    overflow:hidden; max-height:0;
    transition:max-height 0.32s cubic-bezier(0.22,0.8,0.32,1),
                padding   0.25s ease;
    padding:0 1rem;
  }
  .v23-acc-body.is-open{
    max-height:280px;
    padding:0 1rem 0.9rem;
  }
  .v23-acc-desc{
    font-family:'Cormorant Garamond',serif;
    font-size:0.93rem; color:var(--text-muted);
    line-height:1.8; margin-bottom:0.55rem; font-style:italic;
  }
  .v23-acc-tags{ display:flex; flex-wrap:wrap; gap:0.35rem; }
}

/* Newsletter form — stack on very narrow */
@media(max-width:600px){
  .nl-form{flex-direction:column}
  .nl-submit{padding:0.85rem;border-top:1px solid var(--border)}
}

/* ── RESPONSIVENESS AUDIT FIXES ────────────────────────── */

/* Large desktop (1920px+): ensure content doesn't stretch oddly */
@media(min-width:1600px){
  .about-ak-grid{gap:6rem!important}
  .about-ak-portrait{max-width:360px!important}
}

/* Laptop (1366px–1600px): tighten grid gap slightly */
@media(max-width:1440px) and (min-width:1024px){
  .about-ak-grid{gap:3.5rem!important}
}

/* V26: Footer — now matches desktop 3-column layout at all sizes, per client request */
/* Tablet (768px–1023px): prevent about-ak left column from being too narrow */
@media(max-width:1024px) and (min-width:769px){
  .about-ak-grid{grid-template-columns:1fr 1.8fr!important;gap:3rem!important}
  .about-ak-portrait{max-width:260px!important}
  .about-grid{gap:2.5rem}
  .stats-grid{grid-template-columns:repeat(2,1fr)!important}
  .news-grid{grid-template-columns:1fr 1fr;gap:1rem}
  .return-grid{grid-template-columns:repeat(2,1fr)!important}
  .testimonial{width:min(340px,80vw)}
}

/* Prevent admin-header from overflowing on mid-range screens */
@media(max-width:900px){
  .admin-content{padding:1.5rem}
  .admin-header h1{font-size:1.15rem}
}

/* Nav overflow on very wide or narrow screens */
@media(max-width:480px){
  .nav-logo{font-size:0.78rem;letter-spacing:0.04em}
  .nav-logo span{font-size:0.58rem;letter-spacing:0.16em}
  .about-ak-portrait{max-width:180px!important}
  .about-ak-seal-line{font-size:0.48rem!important;letter-spacing:0.3em!important}
  nav{padding:0.8rem 0.7rem;gap:0.35rem}
  .nav-book{font-size:0.55rem;padding:0.45rem 0.65rem;letter-spacing:0.06em;white-space:nowrap}
  .nav-auth{margin-right:0.3rem!important;gap:0.3rem!important}
  .nav-signin-link{font-size:0.56rem!important;letter-spacing:0.08em!important;gap:0.2rem!important;white-space:nowrap}
  .nav-hamburger{width:32px;height:32px;flex-shrink:0}
}
@media(max-width:360px){
  /* Smallest phones: drop the "By Akanksha" subtitle so the logo line
     stays compact and the nav cluster never wraps or overflows */
  .nav-logo span{display:none}
  .nav-logo{font-size:0.7rem}
  .nav-book{font-size:0.5rem;padding:0.4rem 0.5rem;letter-spacing:0.03em}
  .nav-signin-link{font-size:0.5rem!important}
}

@media(max-width:480px){
  /* Booking progress bar: shrink steps so all 5 fit without the
     first/last labels getting clipped by the viewport edge */
  .progress-step{min-width:48px;gap:0.3rem}
  .step-dot{width:26px;height:26px;font-size:0.6rem}
  .step-label{font-size:0.46rem;letter-spacing:0.08em}
  /* Calendar: tighter card padding so 7 columns of 44px-min touch
     targets fit without overflowing on narrow phones */
  .calendar-card{padding:1.25rem 0.6rem}
  .cal-grid{gap:2px}
}
@media(max-width:360px){
  .progress-step{min-width:40px}
  .step-dot{width:22px;height:22px;font-size:0.55rem}
  .step-label{font-size:0.4rem;letter-spacing:0.04em}
}

/* Prevent service select cards from collapsing text on tablet */
@media(max-width:900px) and (min-width:641px){
  #page-spell-booking .service-select-grid{grid-template-columns:repeat(2,1fr)}
  #page-spell-booking .service-select-grid .service-select-card:last-child:nth-child(odd){
    grid-column:1 / -1;
    max-width:calc(50% - 0.5rem);
    justify-self:center;
  }
}


/* ── SECTION HEADINGS — ensure they never disappear ── */
.section-eyebrow,.section-title,.section-sub{
  /* Force repaint layer to fix disappearing headings on some mobile browsers */
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}

/* ══════════════════════════════════════════
   ABOUT AKANKSHA — PREMIUM PERSONAL SECTION
══════════════════════════════════════════ */
.about-ak-section{padding:2.75rem 0;position:relative;z-index:1;overflow:hidden}
.about-ak-section::before{content:'';position:absolute;inset:0;background:linear-gradient(160deg,var(--bg2) 0%,rgba(255,255,255,0.5) 50%,var(--bg3) 100%);pointer-events:none}
.about-ak-inner{max-width:1320px;margin:0 auto;padding:0 1.25rem}
.about-ak-grid{display:grid;grid-template-columns:1fr 1.55fr;gap:5rem;align-items:center}
.about-ak-visual{position:relative;display:flex;flex-direction:column;align-items:center}
.about-ak-portrait{width:100%;max-width:320px;aspect-ratio:5/4;border:1px solid var(--border-bright);background:linear-gradient(160deg,rgba(230,248,240,0.9),rgba(210,238,226,0.5));position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
/* Balance the visual column with subtle framing lines that extend the portrait feel */
.about-ak-visual::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:calc(100% - 2rem);max-width:320px;height:calc(100% - 4rem);border:1px solid rgba(46,139,110,0.1);pointer-events:none;z-index:0;top:0.5rem}
.about-ak-visual::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:calc(100% - 3.5rem);max-width:310px;height:calc(100% - 6rem);border:1px solid rgba(46,139,110,0.06);pointer-events:none;z-index:0;top:1rem}
.about-ak-portrait::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 30%,rgba(46,139,110,0.1),transparent 70%);pointer-events:none}
.about-ak-portrait-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.about-ak-sigil{animation:akSigilSpin 60s linear infinite;opacity:0.18;position:absolute}
@keyframes akSigilSpin{to{transform:rotate(360deg)}}
.about-ak-monogram{font-family:'Playfair Display',serif;font-size:5rem;color:var(--gold);opacity:0.55;text-shadow:0 0 40px rgba(46,139,110,0.2);position:relative;z-index:2;letter-spacing:0.05em}
.about-ak-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;z-index:2}
.about-ak-photo-placeholder{position:absolute;inset:14px;z-index:3;border:1.5px dashed rgba(46,139,110,0.4);border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.5rem;background:rgba(255,255,255,0.55);backdrop-filter:blur(1px)}
.about-ak-photo-placeholder-icon{font-size:1.6rem;opacity:0.55}
.about-ak-photo-placeholder-text{font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-dk);opacity:0.75;text-align:center;padding:0 1rem}
.about-ak-corner{position:absolute;width:22px;height:22px;border-color:var(--gold)}
.about-ak-corner.tl{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid}
.about-ak-corner.tr{top:-1px;right:-1px;border-top:2px solid;border-right:2px solid}
.about-ak-corner.bl{bottom:-1px;left:-1px;border-bottom:2px solid;border-left:2px solid}
.about-ak-corner.br{bottom:-1px;right:-1px;border-bottom:2px solid;border-right:2px solid}
.about-ak-seal{margin-top:1.8rem;text-align:center}
.about-ak-seal-line{font-family:'Cinzel',serif;font-size:0.52rem;letter-spacing:0.42em;color:var(--text-muted);text-transform:uppercase;display:block}
.about-ak-seal-name{font-family:'Playfair Display',serif;font-size:0.85rem;color:var(--gold);display:block;margin-top:0.3rem;letter-spacing:0.12em}
.about-ak-text{}
.about-ak-eyebrow{font-family:'Cinzel',serif;font-size:0.6rem;font-weight:600;letter-spacing:0.44em;color:var(--gold-dk);text-transform:uppercase;display:block;margin-bottom:1rem}
.about-ak-name{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,3.5vw,2.4rem);color:var(--gold-dk);margin-bottom:0.5rem;line-height:1.25;font-weight:700}
.about-ak-title{font-family:'Cinzel',serif;font-size:0.72rem;font-weight:500;letter-spacing:0.3em;color:var(--text-readable);text-transform:uppercase;display:block;margin-bottom:2.2rem}
.about-ak-divider{display:flex;align-items:center;gap:0.8rem;margin-bottom:2rem}
.about-ak-divider-line{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(46,139,110,0.5),transparent)}
.about-ak-divider-symbol{font-family:'Cinzel',serif;font-size:0.6rem;color:var(--gold-dk);letter-spacing:0.4em}
.about-ak-body{color:var(--text);font-size:1.07rem;line-height:2.05;margin-bottom:1.5rem;letter-spacing:0.01em}
.about-ak-body strong{color:var(--gold-dk);font-style:normal;font-weight:600}
.about-ak-pullquote{border-left:2px solid rgba(46,139,110,0.55);padding:1rem 4.5rem 1rem 1.8rem;margin:2rem 0;font-style:italic;font-size:1.18rem;color:var(--text);line-height:1.85;letter-spacing:0.02em;position:relative;background:rgba(46,139,110,0.03)}
.about-ak-pullquote::before{content:'"';font-family:'Playfair Display',serif;font-size:3rem;color:var(--gold);opacity:0.28;position:absolute;top:-0.6rem;left:0.4rem;line-height:1}
.about-ak-credentials{display:grid;grid-template-columns:repeat(2,1fr);gap:0.9rem 1.2rem;margin-top:2rem}
.about-ak-cred{
  font-family:'Cinzel',serif;font-size:0.56rem;letter-spacing:0.16em;color:#0F4A38;font-weight:600;
  text-transform:uppercase;text-align:left;cursor:default;
  display:flex;align-items:center;gap:0.6rem;
  padding-bottom:0.65rem;border-bottom:1px solid rgba(46,139,110,0.14);
}
.about-ak-cred svg{width:19px;height:19px;flex-shrink:0;color:var(--gold-dk);opacity:0.85}
@media(max-width:480px){
  .about-ak-credentials{grid-template-columns:1fr}
}
@media(max-width:768px){
  .about-ak-grid{grid-template-columns:1fr;gap:2.5rem}
  .about-ak-visual{align-items:center}
  .about-ak-pullquote{padding-right:3.5rem}
}

/* ══════════════════════════════════════════
   WHY CLIENTS RETURN — TRUST CARDS
══════════════════════════════════════════ */
.return-section{padding:3.25rem 0;position:relative;z-index:1;border-top:1px solid var(--border);overflow:hidden}
.return-section::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 50%,var(--bg) 100%);pointer-events:none}
.return-inner{max-width:1320px;margin:0 auto;padding:0 1.25rem}
.return-header{text-align:center;margin-bottom:3rem}
.return-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.rcard{border:1px solid var(--border);background:linear-gradient(155deg,rgba(255,255,255,0.96),rgba(237,245,241,0.72));padding:0;position:relative;overflow:hidden;transition:all 0.42s cubic-bezier(0.22,0.8,0.32,1);border-radius:8px}
.rcard::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 10%,rgba(46,139,110,0.55) 50%,transparent 90%);opacity:0;transition:opacity 0.35s}
.rcard::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,rgba(46,139,110,0.15),transparent);opacity:0;transition:opacity 0.35s}
.rcard:hover{transform:translateY(-5px);border-color:rgb(40,122,97);box-shadow:0 18px 44px rgba(46,139,110,0.1),0 6px 14px rgba(46,139,110,0.05)}.rcard:hover::before,.rcard:hover::after{opacity:1}
.rcard-top{padding:2.2rem 2rem 1.6rem}
.rcard-num{font-family:'Playfair Display',serif;font-size:2.4rem;color:var(--gold-dk);line-height:1;margin-bottom:1rem;display:block;transition:color 0.35s}
.rcard:hover .rcard-num{color:var(--gold-dk)}
.rcard-icon{width:42px;height:42px;border:1px solid var(--border);background:linear-gradient(145deg,rgba(255,255,255,0.92),rgba(232,244,238,0.5));display:flex;align-items:center;justify-content:center;margin-bottom:1.4rem;transition:border-color 0.35s,box-shadow 0.35s;border-radius:8px}
.rcard:hover .rcard-icon{border-color:var(--border-bright);box-shadow:0 3px 12px rgba(46,139,110,0.1)}
.rcard-title{font-family:'Cinzel',serif;font-size:0.82rem;letter-spacing:0.15em;color:var(--gold);text-transform:uppercase;display:block;margin-bottom:0.4rem}
.rcard-rule{width:20px;height:1px;background:linear-gradient(to right,rgba(46,139,110,0.4),transparent);margin-bottom:0.9rem}
.rcard-desc{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--text-readable);line-height:1.9;font-style:italic}
.rcard-foot{padding:1.2rem 2rem 1.6rem;border-top:1px solid rgba(46,139,110,0.08)}
.rcard-stat{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--gold);display:block;margin-bottom:0.15rem}
.rcard-stat-label{font-family:'Cinzel',serif;font-size:0.5rem;letter-spacing:0.28em;color:var(--text-dim);text-transform:uppercase}
@media(max-width:768px){.return-grid{grid-template-columns:1fr}}

/* ══════════════════════════════════════════
   THE OCULTT INNER CIRCLE
══════════════════════════════════════════ */
.circle-section{padding:3.25rem 0;position:relative;z-index:1;overflow:hidden;border-top:1px solid var(--border)}
.circle-section::before{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(26,48,40,0.97) 0%,rgba(15,35,25,0.99) 60%,rgba(20,42,32,0.97) 100%)}
.circle-section::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(46,139,110,0.12) 0%,transparent 70%);pointer-events:none}
.circle-inner{max-width:1320px;margin:0 auto;padding:0 1.25rem;position:relative;z-index:1}
.circle-geo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0.07;pointer-events:none;animation:circleSpin 90s linear infinite}
@keyframes circleSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.circle-header{text-align:center;margin-bottom:3rem}
.circle-header .section-eyebrow{color:#B8DCCE !important}
.circle-header .section-title{color:#2E8B6E;background:linear-gradient(145deg,#c8e6d8 0%,#8ecfb5 40%,#2E8B6E 100%) !important;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.circle-header .section-sub{color:#B8DCCE !important}
.circle-intro{max-width:600px;margin:0 auto 2.5rem;text-align:center;font-family:'Cormorant Garamond',serif;font-size:1.12rem;color:#D2EBE1;line-height:2;font-style:italic;letter-spacing:0.02em}
.circle-benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-bottom:2.5rem}
.cbenefit{border:1px solid rgba(46,139,110,0.25);background:rgba(255,255,255,0.04);padding:2rem 2rem 1.8rem;position:relative;overflow:hidden;transition:all 0.4s cubic-bezier(0.22,0.8,0.32,1)}
.cbenefit::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 10%,rgba(46,139,110,0.5) 50%,transparent 90%);opacity:0;transition:opacity 0.35s}
.cbenefit::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(46,139,110,0.06),transparent 70%);opacity:0;transition:opacity 0.35s}
.cbenefit:hover{border-color:rgb(40,122,97);background:rgba(255,255,255,0.07);transform:translateY(-3px)}.cbenefit:hover::before,.cbenefit:hover::after{opacity:1}
.cb-icon{width:40px;height:40px;border:1px solid rgba(46,139,110,0.3);background:rgba(46,139,110,0.1);display:flex;align-items:center;justify-content:center;margin-bottom:1.3rem;transition:border-color 0.35s}.cbenefit:hover .cb-icon{border-color:rgb(40,122,97)}
.cb-title{font-family:'Cinzel',serif;font-size:0.78rem;letter-spacing:0.18em;color:#B8DCCE;text-transform:uppercase;display:block;margin-bottom:0.4rem}
.cb-rule{width:18px;height:1px;background:linear-gradient(to right,rgba(46,139,110,0.5),transparent);margin-bottom:0.8rem}
.cb-desc{font-family:'Cormorant Garamond',serif;font-size:0.97rem;color:#D4EBE1;line-height:1.88;font-style:italic}
.circle-cta{text-align:center;padding:3rem;border:1px solid rgba(46,139,110,0.25);background:rgba(255,255,255,0.03);position:relative;overflow:hidden}
.circle-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 50%,rgba(46,139,110,0.08),transparent 70%);pointer-events:none}
.circle-cta-eyebrow{font-family:'Cinzel',serif;font-size:0.56rem;letter-spacing:0.45em;color:#82D2B9;text-transform:uppercase;display:block;margin-bottom:0.8rem}
.circle-cta-title{font-family:'Playfair Display',serif;font-size:1.5rem;color:#C8E6D7;margin-bottom:1rem;line-height:1.3}
.circle-cta-desc{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:#D4EBE1;font-style:italic;line-height:1.9;margin-bottom:2rem;max-width:460px;margin-left:auto;margin-right:auto}
.btn-circle{background:linear-gradient(135deg,rgba(46,139,110,0.9),rgba(26,112,85,0.95));color:#FFFFFF;font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.22em;padding:1rem 2.5rem;border:1px solid rgba(46,139,110,0.5);cursor:pointer;text-transform:uppercase;transition:all 0.35s;box-shadow:0 4px 20px rgba(46,139,110,0.25);position:relative;overflow:hidden}
.btn-circle::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.08);opacity:0;transition:opacity 0.3s}
.btn-circle:hover{box-shadow:0 6px 30px rgba(46,139,110,0.4);transform:translateY(-1px)}.btn-circle:hover::after{opacity:1}
.circle-disclaimer{font-family:'Cinzel',serif;font-size:0.5rem;letter-spacing:0.25em;color:#B8DCCE;text-transform:uppercase;display:block;margin-top:1.2rem}
@media(max-width:768px){.circle-benefits{grid-template-columns:1fr}}

/* ══════════════════════════════════════════
   OCULTT NEWS PREVIEW
══════════════════════════════════════════ */
.news-section{padding:3.25rem 0;position:relative;z-index:1;overflow:hidden;border-top:1px solid var(--border)}
.news-section::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 60%,var(--bg) 100%);pointer-events:none}
.news-inner{max-width:1320px;margin:0 auto;padding:0 1.25rem}
.news-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}
.news-header .left .section-eyebrow{text-align:left;margin-bottom:0.5rem}
.news-header-title{font-family:'Playfair Display',serif;font-size:clamp(1.3rem,3vw,1.85rem);color:var(--gold-dk);margin:0}
.news-see-all{font-family:'Cinzel',serif;font-size:0.58rem;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:0.4rem;transition:opacity 0.3s;padding-bottom:0.15rem;border-bottom:1px solid rgba(46,139,110,0.25)}.news-see-all:hover{opacity:0.7}
.news-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:1.4rem}
.ncard{border:1px solid var(--border);background:linear-gradient(155deg,rgba(255,255,255,0.96),rgba(237,245,241,0.72));position:relative;overflow:hidden;cursor:pointer;transition:all 0.4s cubic-bezier(0.22,0.8,0.32,1);display:flex;flex-direction:column;border-radius:8px}
.ncard::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 8%,rgba(46,139,110,0.5) 50%,transparent 92%);opacity:0;transition:opacity 0.35s}
.ncard:hover{transform:translateY(-4px);border-color:rgb(40,122,97);box-shadow:0 14px 40px rgba(46,139,110,0.1)}.ncard:hover::before{opacity:1}
.ncard-band{height:2px;width:100%;background:linear-gradient(to right,transparent,rgba(46,139,110,0.4),transparent);flex-shrink:0}
.ncard.ncard-featured .ncard-band{background:linear-gradient(to right,transparent,rgba(46,139,110,0.7),transparent)}
.ncard-body{padding:2rem 2rem 1.6rem;flex:1;display:flex;flex-direction:column}
.ncard-category{font-family:'Cinzel',serif;font-size:0.48rem;letter-spacing:0.4em;color:var(--gold-dk);text-transform:uppercase;display:block;margin-bottom:0.8rem}
.ncard-title{font-family:'Cinzel',serif;font-size:0.88rem;letter-spacing:0.1em;color:var(--gold);line-height:1.5;margin-bottom:0.7rem}
.ncard.ncard-featured .ncard-title{font-size:1.05rem}
.ncard-excerpt{font-family:'Cormorant Garamond',serif;font-size:0.97rem;color:var(--text-readable);line-height:1.88;font-style:italic;flex:1;margin-bottom:1.2rem}
.ncard-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid rgba(46,139,110,0.08)}
.ncard-date{font-family:'Cinzel',serif;font-size:0.5rem;letter-spacing:0.25em;color:var(--text-dim);text-transform:uppercase}
.ncard-read{font-family:'Cinzel',serif;font-size:0.5rem;letter-spacing:0.22em;color:var(--gold);text-transform:uppercase;display:flex;align-items:center;gap:0.25rem;opacity:1;transition:opacity 0.3s}
@media(max-width:768px){.news-grid{grid-template-columns:1fr}.news-header{flex-direction:column;align-items:flex-start}}

/* ══════════════════════════════════════════
   SCROLL ANIMATION ADDITIONS
══════════════════════════════════════════ */
.reveal-up{opacity:0;transform:translateY(28px);transition:opacity 0.7s cubic-bezier(0.22,0.8,0.32,1),transform 0.7s cubic-bezier(0.22,0.8,0.32,1)}
.reveal-up.visible{opacity:1;transform:none}
.reveal-fade{opacity:0;transition:opacity 0.9s ease}
.reveal-fade.visible{opacity:1}
.reveal-right{opacity:0;transform:translateX(28px);transition:opacity 0.7s cubic-bezier(0.22,0.8,0.32,1),transform 0.7s cubic-bezier(0.22,0.8,0.32,1)}
.reveal-right.visible{opacity:1;transform:none}

/* ══════════════════════════════════════════════════
   ENHANCED REVEAL ANIMATIONS
══════════════════════════════════════════════════ */
.v7-reveal{opacity:0;transform:translateY(36px);transition:opacity 0.85s cubic-bezier(0.16,1,0.3,1),transform 0.85s cubic-bezier(0.16,1,0.3,1)}
.v7-reveal.vis{opacity:1;transform:none}
.v7-reveal-l{opacity:0;transform:translateX(-36px);transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1),transform 0.8s cubic-bezier(0.16,1,0.3,1)}
.v7-reveal-l.vis{opacity:1;transform:none}
.v7-reveal-r{opacity:0;transform:translateX(36px);transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1),transform 0.8s cubic-bezier(0.16,1,0.3,1)}
.v7-reveal-r.vis{opacity:1;transform:none}
.v7-reveal-scale{opacity:0;transform:scale(0.91);transition:opacity 0.8s ease,transform 0.8s cubic-bezier(0.16,1,0.3,1)}
.v7-reveal-scale.vis{opacity:1;transform:none}
.v7-d1{transition-delay:0.1s}.v7-d2{transition-delay:0.2s}.v7-d3{transition-delay:0.32s}
.v7-d4{transition-delay:0.44s}.v7-d5{transition-delay:0.56s}.v7-d6{transition-delay:0.68s}

/* ══════════════════════════════════════════════════
   INNER CIRCLE — PREMIUM DARK MEMBERSHIP SECTION v2
══════════════════════════════════════════════════ */
.ic2-wrap{position:relative;z-index:1;overflow:hidden;border-top:1px solid var(--border)}
.ic2-wrap::before{content:'';position:absolute;inset:0;background:linear-gradient(165deg,#0d1f18 0%,#0a1810 50%,#111e16 100%)}
.ic2-geo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0.06;animation:ic2Rot 120s linear infinite}
@keyframes ic2Rot{to{transform:translate(-50%,-50%) rotate(360deg)}}
.ic2-glow-l{position:absolute;left:-20%;top:30%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(46,139,110,0.18) 0%,transparent 70%);pointer-events:none;filter:blur(60px)}
.ic2-glow-r{position:absolute;right:-15%;bottom:10%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(46,139,110,0.1) 0%,transparent 70%);pointer-events:none;filter:blur(50px)}
.ic2-inner{max-width:1320px;margin:0 auto;padding:3.25rem 1.25rem;position:relative;z-index:1}
.ic2-header{text-align:center;margin-bottom:1.5rem}
.ic2-sup{font-family:'Cinzel',serif;font-size:0.6rem;font-weight:600;letter-spacing:0.4em;color:#8CD7BE;text-transform:uppercase;display:block;margin-bottom:1.1rem}
.ic2-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4.5vw,3rem);color:#2E8B6E;background:linear-gradient(145deg,#c2e8d4 0%,#7ecfae 35%,#2E8B6E 70%,#1a6b52 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.15;margin-bottom:0.6rem}
.ic2-tagline{font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:#B8DCCE;font-style:italic;letter-spacing:0.04em;max-width:520px;margin:0 auto 1rem}
.ic2-divider{display:flex;align-items:center;gap:1rem;justify-content:center;margin-bottom:2.5rem}
.ic2-div-line{width:60px;height:1px;background:linear-gradient(to right,transparent,rgba(46,139,110,0.45))}
.ic2-div-line.r{background:linear-gradient(to left,transparent,rgba(46,139,110,0.45))}
.ic2-div-sym{font-family:'Cinzel',serif;font-size:0.55rem;color:#8CD7BE;letter-spacing:0.5em}

/* Tier cards */
.ic2-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:3rem}
.ic2-tier{border:1px solid rgba(46,139,110,0.2);background:rgba(255,255,255,0.03);padding:0;position:relative;overflow:hidden;transition:all 0.45s cubic-bezier(0.16,1,0.3,1);display:flex;flex-direction:column}
.ic2-tier::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 5%,rgba(46,139,110,0.6) 50%,transparent 95%);opacity:0;transition:opacity 0.4s}
.ic2-tier:hover{background:rgba(255,255,255,0.055);border-color:rgb(40,122,97);transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,0.35),0 0 30px rgba(46,139,110,0.08)}.ic2-tier:hover::before{opacity:1}
.ic2-tier.ic2-featured{border-color:rgb(40,122,97);background:rgba(46,139,110,0.06)}
.ic2-tier.ic2-featured::before{opacity:1}
.ic2-tier-badge{position:absolute;top:0;right:0;font-family:'Cinzel',serif;font-size:0.44rem;letter-spacing:0.28em;color:rgba(15,35,25,0.9);background:linear-gradient(135deg,rgba(46,139,110,0.9),rgba(30,112,80,0.95));padding:0.32rem 0.9rem;text-transform:uppercase}
.ic2-tier-body{padding:2.2rem 2rem 1.8rem;flex:1}
.ic2-tier-icon{width:46px;height:46px;border:1px solid rgba(46,139,110,0.28);background:rgba(46,139,110,0.08);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}
.ic2-tier-name{font-family:'Cinzel',serif;font-size:0.78rem;letter-spacing:0.22em;color:#B8DCCE;text-transform:uppercase;display:block;margin-bottom:0.35rem}
.ic2-tier-price{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:700;color:#8CD7BE;display:block;line-height:1;margin-bottom:0.3rem}
.ic2-tier-period{font-family:'Cinzel',serif;font-size:0.48rem;letter-spacing:0.25em;color:#B8DCCE;text-transform:uppercase;display:block;margin-bottom:1.4rem}
.ic2-tier-features{list-style:none;padding:0;margin:0}
.ic2-tier-features li{font-family:'Cormorant Garamond',serif;font-size:0.94rem;color:#B8DCCE;line-height:1;padding:0.55rem 0;border-bottom:1px solid rgba(46,139,110,0.1);display:flex;align-items:flex-start;gap:0.65rem}
.ic2-tier-features li:last-child{border-bottom:none}
.ic2-check{width:14px;height:14px;border:1px solid rgba(140,215,190,0.45);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;font-size:0.5rem;color:#8CD7BE}
.ic2-tier.ic2-featured .ic2-check{background:rgba(46,139,110,0.15);border-color:rgb(40,122,97)}
.ic2-tier-foot{padding:1.4rem 2rem 2rem}
.ic2-tier-btn{width:100%;font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;padding:0.85rem;border:1px solid rgba(46,139,110,0.35);background:transparent;color:#B8DCCE;cursor:pointer;transition:all 0.3s;position:relative;overflow:hidden}
.ic2-tier-btn::before{content:'';position:absolute;inset:0;background:rgba(46,139,110,0.12);opacity:0;transition:opacity 0.3s}
.ic2-tier-btn:hover{border-color:rgb(40,122,97);color:#C8F0DC}.ic2-tier-btn:hover::before{opacity:1}
.ic2-tier.ic2-featured .ic2-tier-btn{background:rgba(46,139,110,0.18);border-color:rgb(40,122,97);color:#D2F8E8}
.ic2-tier.ic2-featured .ic2-tier-btn:hover{background:rgba(46,139,110,0.3)}
/* Bottom note */
.ic2-note{text-align:center;font-family:'Cinzel',serif;font-size:0.5rem;letter-spacing:0.3em;color:#B8DCCE;text-transform:uppercase}
@media(max-width:768px){.ic2-tiers{grid-template-columns:1fr}}

/* ══════════════════════════════════════════════════
   NEWSLETTER SECTION — LUXURY
══════════════════════════════════════════════════ */
.nl-section{position:relative;z-index:1;overflow:hidden;border-top:1px solid var(--border)}
.nl-section::before{content:'';position:absolute;inset:0;background:linear-gradient(160deg,var(--bg3) 0%,var(--bg2) 45%,var(--bg3) 100%)}
.nl-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:300px;background:radial-gradient(ellipse,rgba(46,139,110,0.08) 0%,transparent 70%);pointer-events:none;filter:blur(30px)}
.nl-inner{max-width:620px;margin:0 auto;padding:3.25rem 2rem;position:relative;z-index:1;text-align:center}
.nl-ornament{display:flex;align-items:center;justify-content:center;gap:0.8rem;margin-bottom:1.2rem}
.nl-orn-line{width:36px;height:1px;background:linear-gradient(to right,transparent,rgba(46,139,110,0.4))}
.nl-orn-line.r{background:linear-gradient(to left,transparent,rgba(46,139,110,0.4))}
.nl-orn-sym{font-family:'Cinzel',serif;font-size:0.55rem;letter-spacing:0.5em;color:var(--gold-dk)}
.nl-sup{font-family:'Cinzel',serif;font-size:0.54rem;letter-spacing:0.45em;color:var(--gold-dk);text-transform:uppercase;display:block;margin-bottom:0.6rem}
.nl-title{font-family:'Playfair Display',serif;font-size:clamp(1.35rem,3vw,1.9rem);color:var(--gold-dk);background:linear-gradient(145deg,var(--text) 0%,var(--gold) 55%,var(--gold-dk) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:0.7rem;line-height:1.2}
.nl-desc{font-family:'Cormorant Garamond',serif;font-size:0.98rem;color:var(--text-muted);font-style:italic;line-height:1.7;max-width:460px;margin:0 auto 1.4rem;letter-spacing:0.02em}
/* Perks: compact single-line strip, no boxes */
.nl-perks{display:flex;justify-content:center;align-items:center;gap:0.9rem;margin-bottom:1.6rem;flex-wrap:wrap}
.nl-perk{display:flex;align-items:center;gap:0.35rem;padding:0}
.nl-perk-icon{font-family:'Cinzel',serif;font-size:0.75rem;color:var(--gold);opacity:0.75}
.nl-perk-label{font-family:'Cinzel',serif;font-size:0.46rem;letter-spacing:0.18em;color:var(--text-dim);text-transform:uppercase;white-space:nowrap}
.nl-perk-label br{display:none}
.nl-perk:not(:last-child)::after{content:'·';color:var(--border-bright);margin-left:0.9rem;font-size:0.7rem}
/* Form */
.nl-form{display:flex;gap:0;max-width:420px;margin:0 auto 0.9rem;border:1px solid var(--border);background:rgba(255,255,255,0.7);overflow:hidden;transition:border-color 0.3s,box-shadow 0.3s;border-radius:6px}
.nl-form:focus-within{border-color:var(--border-bright);box-shadow:0 0 0 3px rgba(46,139,110,0.08)}
.nl-input{flex:1;background:transparent;border:none;font-family:'Cormorant Garamond',serif;font-size:0.92rem;color:var(--text);padding:0.7rem 1rem;outline:none}
.nl-input::placeholder{color:var(--text-dim);font-style:italic}
.nl-submit{background:linear-gradient(135deg,var(--gold-dk),var(--gold));color:white;font-family:'Cinzel',serif;font-size:0.58rem;letter-spacing:0.18em;padding:0 1.3rem;border:none;cursor:pointer;text-transform:uppercase;transition:all 0.3s;white-space:nowrap;flex-shrink:0}
.nl-submit:hover{background:linear-gradient(135deg,var(--gold),var(--gold-dk));box-shadow:inset 0 0 20px rgba(255,255,255,0.1)}
.nl-disclaimer{font-family:'Cinzel',serif;font-size:0.46rem;letter-spacing:0.24em;color:var(--text-dim);text-transform:uppercase;display:block}
@media(max-width:600px){.nl-form{flex-direction:column}.nl-submit{padding:0.7rem}.nl-perks{gap:0.6rem}.nl-perk:not(:last-child)::after{margin-left:0.6rem}}

/* ══════════════════════════════════════════════════
   OCULTT NEWS v2 — HORIZONTAL SCROLL
══════════════════════════════════════════════════ */
.news2-section{position:relative;z-index:1;overflow:hidden;border-top:1px solid var(--border)}
.news2-section::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 55%,var(--bg) 100%)}
.news2-inner{max-width:1320px;margin:0 auto;padding:3.25rem 1.25rem;position:relative;z-index:1}
.news2-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}
.news2-eyebrow{font-family:'Cinzel',serif;font-size:0.54rem;letter-spacing:0.48em;color:var(--gold-dk);text-transform:uppercase;display:block;margin-bottom:0.55rem}
.news2-title{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,3.2vw,2rem);color:var(--gold-dk);background:linear-gradient(145deg,var(--text) 0%,var(--gold) 60%,var(--gold-dk) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0;line-height:1.2}
.news2-all{font-family:'Cinzel',serif;font-size:0.56rem;letter-spacing:0.3em;color:var(--gold);text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:0.4rem;border-bottom:1px solid rgba(46,139,110,0.25);padding-bottom:0.12rem;transition:opacity 0.3s;flex-shrink:0}.news2-all:hover{opacity:0.65}
/* Featured + grid layout */
.news2-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:1.4rem}
.news2-featured{border:1px solid var(--border);background:linear-gradient(155deg,rgba(255,255,255,0.97),rgba(237,245,241,0.75));position:relative;overflow:hidden;cursor:pointer;transition:all 0.42s cubic-bezier(0.16,1,0.3,1);display:flex;flex-direction:column;border-radius:8px}
.news2-featured::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent 5%,rgba(46,139,110,0.7) 50%,transparent 95%);opacity:0;transition:opacity 0.35s}
.news2-featured:hover{transform:translateY(-4px);border-color:rgb(40,122,97);box-shadow:0 16px 44px rgba(46,139,110,0.1)}.news2-featured:hover::before{opacity:1}
.news2-img-ph{height:200px;background:linear-gradient(145deg,rgba(210,238,226,0.8),rgba(185,225,208,0.5));position:relative;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.news2-img-ph::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(46,139,110,0.12),transparent 70%)}
.news2-img-geo{opacity:0.15;animation:news2Spin 80s linear infinite}
@keyframes news2Spin{to{transform:rotate(360deg)}}
.news2-feat-body{padding:2rem 2rem 1.8rem;flex:1;display:flex;flex-direction:column}
.news2-cat{font-family:'Cinzel',serif;font-size:0.48rem;letter-spacing:0.42em;color:var(--gold-dk);text-transform:uppercase;display:block;margin-bottom:0.75rem}
.news2-feat-title{font-family:'Cinzel',serif;font-size:1rem;letter-spacing:0.1em;color:var(--gold);line-height:1.55;margin-bottom:0.8rem}
.news2-feat-exc{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--text-readable);line-height:1.9;font-style:italic;flex:1;margin-bottom:1.2rem}
.news2-meta{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid rgba(46,139,110,0.1)}
.news2-date{font-family:'Cinzel',serif;font-size:0.5rem;letter-spacing:0.25em;color:var(--text-dim);text-transform:uppercase}
.news2-read{font-family:'Cinzel',serif;font-size:0.52rem;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;display:flex;align-items:center;gap:0.3rem;opacity:1;transition:opacity 0.3s}
/* Side stack */
.news2-stack{display:flex;flex-direction:column;gap:1.1rem}
.news2-item{border:1px solid var(--border);background:linear-gradient(155deg,rgba(255,255,255,0.96),rgba(237,245,241,0.7));padding:1.6rem 1.8rem;cursor:pointer;position:relative;overflow:hidden;transition:all 0.4s cubic-bezier(0.16,1,0.3,1);flex:1;border-radius:8px}
.news2-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,rgba(46,139,110,0.6),transparent);opacity:0;transition:opacity 0.35s}
.news2-item:hover{transform:translateX(3px);border-color:rgb(40,122,97);box-shadow:0 8px 28px rgba(46,139,110,0.08)}.news2-item:hover::before{opacity:1}
.news2-item-cat{font-family:'Cinzel',serif;font-size:0.45rem;letter-spacing:0.38em;color:var(--gold-dk);text-transform:uppercase;display:block;margin-bottom:0.5rem}
.news2-item-title{font-family:'Cinzel',serif;font-size:0.8rem;letter-spacing:0.1em;color:var(--gold);line-height:1.5;margin-bottom:0.55rem}
.news2-item-exc{font-family:'Cormorant Garamond',serif;font-size:0.92rem;color:var(--text-readable);line-height:1.8;font-style:italic;margin-bottom:0.8rem}
.news2-item-date{font-family:'Cinzel',serif;font-size:0.46rem;letter-spacing:0.25em;color:var(--text-dim);text-transform:uppercase}
@media(max-width:768px){.news2-layout{grid-template-columns:1fr}.news2-top{flex-direction:column;align-items:flex-start}}

/* ══════════════════════════════════════════════════
   ECOMMERCE PREVIEW — THE OCULTT SHOP
══════════════════════════════════════════════════ */
.shop-section{position:relative;z-index:1;overflow:hidden;border-top:1px solid var(--border)}
.shop-section::before{content:'';position:absolute;inset:0;background:linear-gradient(165deg,rgba(20,42,32,0.96) 0%,rgba(10,24,18,0.99) 55%,rgba(16,36,26,0.97) 100%)}
.shop-section::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(46,139,110,0.1) 0%,transparent 70%);pointer-events:none}
.shop-geo{position:absolute;bottom:-100px;right:-100px;opacity:0.05;pointer-events:none;animation:shopGeoRot 100s linear infinite}
@keyframes shopGeoRot{to{transform:rotate(360deg)}}
.shop-inner{max-width:1320px;margin:0 auto;padding:3.25rem 1.25rem;position:relative;z-index:1}
.shop-header{text-align:center;margin-bottom:3rem}
.shop-sup{font-family:'Cinzel',serif;font-size:0.6rem;font-weight:600;letter-spacing:0.4em;color:#8CD7BE;text-transform:uppercase;display:block;margin-bottom:1rem}
.shop-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4.5vw,3rem);color:#2E8B6E;background:linear-gradient(145deg,#c2e8d4 0%,#7ecfae 35%,#2E8B6E 70%,#1a6b52 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:0.7rem;line-height:1.15}
.shop-tagline{font-family:'Cormorant Garamond',serif;font-size:1.12rem;color:#D2EBE1;font-style:italic;max-width:480px;margin:0 auto 0.5rem;line-height:1.9}
/* Coming soon badge */
.shop-badge{display:inline-flex;align-items:center;gap:0.5rem;font-family:'Cinzel',serif;font-size:0.54rem;font-weight:600;letter-spacing:0.28em;color:#8CD7BE;text-transform:uppercase;border:1px solid rgba(140,215,190,0.4);padding:0.4rem 1.15rem;margin:1.5rem auto 0;background:rgba(140,215,190,0.08)}
.shop-badge-dot{width:6px;height:6px;background:rgba(46,139,110,0.7);border-radius:50%;animation:shopBlink 2s ease-in-out infinite}
@keyframes shopBlink{0%,100%{opacity:0.4}50%{opacity:1}}
/* Product grid */
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-bottom:3.5rem}
.sprod{border:1px solid rgba(46,139,110,0.2);background:rgba(255,255,255,0.04);position:relative;overflow:hidden;transition:all 0.42s cubic-bezier(0.16,1,0.3,1);cursor:default;display:flex;flex-direction:column}
.sprod::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 8%,rgba(46,139,110,0.55) 50%,transparent 92%);opacity:0;transition:opacity 0.35s}
.sprod:hover{background:rgba(255,255,255,0.06);border-color:rgb(40,122,97);transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,0.3),0 0 20px rgba(46,139,110,0.06)}.sprod:hover::before{opacity:1}
.sprod-img{height:160px;background:rgba(46,139,110,0.07);display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(46,139,110,0.1);position:relative;overflow:hidden;flex-shrink:0}
.sprod-img::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 50% 40%,rgba(46,139,110,0.1),transparent 70%)}
.sprod-soon{position:absolute;top:0.6rem;right:0.6rem;font-family:'Cinzel',serif;font-size:0.4rem;letter-spacing:0.22em;color:#8CD7BE;border:1px solid rgba(46,139,110,0.4);padding:0.2rem 0.6rem;background:rgba(15,35,25,0.8);text-transform:uppercase}
.sprod-body{padding:1.4rem 1.4rem 1.2rem;flex:1;display:flex;flex-direction:column}
.sprod-cat{font-family:'Cinzel',serif;font-size:0.44rem;letter-spacing:0.38em;color:#82D2B9;text-transform:uppercase;display:block;margin-bottom:0.4rem}
.sprod-name{font-family:'Cinzel',serif;font-size:0.78rem;letter-spacing:0.12em;color:#C8EBD7;line-height:1.45;margin-bottom:0.5rem}
.sprod-desc{font-family:'Cormorant Garamond',serif;font-size:0.88rem;color:#D4EBE1;line-height:1.75;font-style:italic;flex:1;margin-bottom:1rem}
.sprod-foot{display:flex;align-items:center;justify-content:space-between;padding:0.85rem 1.4rem;margin:0.9rem -1.4rem -1.2rem;background:linear-gradient(135deg,#1A7055,#0F4A38);border-top:1px solid rgba(255,255,255,0.1)}
.sprod-price{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:#FFFFFF}
.sprod-price-note{font-family:'Cinzel',serif;font-size:0.42rem;letter-spacing:0.22em;color:rgba(255,255,255,0.75);text-transform:uppercase;display:block;margin-top:0.1rem}
.sprod-notify{font-family:'Cinzel',serif;font-size:0.54rem;font-weight:600;letter-spacing:0.16em;color:#FFFFFF;text-transform:uppercase;border:1px solid rgba(255,255,255,0.55);padding:0.4rem 0.8rem;cursor:pointer;transition:all 0.3s;background:rgba(255,255,255,0.08);border-radius:3px}
.sprod-notify:hover{border-color:#FFFFFF;color:#0F4A38;background:#FFFFFF}
/* Shop CTA */
.shop-cta-row{text-align:center}
.shop-cta-text{font-family:'Cormorant Garamond',serif;font-size:1.06rem;color:#D2EBE1;font-style:italic;margin-bottom:1.5rem;line-height:1.9}
.btn-shop{font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.25em;text-transform:uppercase;padding:1rem 2.8rem;background:transparent;border:1px solid rgba(46,139,110,0.45);color:#B8DCCE;cursor:pointer;transition:all 0.35s;position:relative;overflow:hidden}
.btn-shop::before{content:'';position:absolute;inset:0;background:rgba(46,139,110,0.1);opacity:0;transition:opacity 0.3s}
.btn-shop:hover{border-color:rgb(40,122,97);color:#D2F8E8;box-shadow:0 0 24px rgba(46,139,110,0.15)}.btn-shop:hover::before{opacity:1}
@media(max-width:768px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.shop-grid{grid-template-columns:1fr}}

/* ── FIX 4: Toast notification — 6s minimum visibility, close button
   V27: Improved close button contrast, wider gap, no white-space:nowrap
   on mobile, cleaner layout.                                          */
#ocultt-toast{
  position:fixed;
  bottom:2rem;
  left:50%;
  transform:translateX(-50%);
  background:linear-gradient(135deg,rgba(26,112,85,0.98),rgba(15,74,56,0.99));
  color:#D2F8E8;
  font-family:'Cinzel',serif;
  font-size:0.68rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  padding:0.9rem 1rem 0.9rem 1.8rem;
  border:1px solid rgba(46,139,110,0.6);
  box-shadow:0 8px 32px rgba(0,0,0,0.3),0 0 0 1px rgba(46,139,110,0.15);
  z-index:9999;
  opacity:0;
  pointer-events:none;
  transition:opacity 0.5s ease, transform 0.5s ease;
  transform:translateX(-50%) translateY(8px);
  max-width:90vw;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  border-radius:2px;
}
#ocultt-toast.toast-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
#ocultt-toast-msg{flex:1;line-height:1.5}
#ocultt-toast-close{
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.2);
  color:#D2F8E8;
  font-family:'Cinzel',serif;
  font-size:0.58rem;
  letter-spacing:0.08em;
  cursor:pointer;
  flex-shrink:0;
  padding:0.28rem 0.6rem;
  line-height:1;
  transition:background 0.2s,border-color 0.2s;
  border-radius:1px;
}
#ocultt-toast-close:hover{background:rgba(255,255,255,0.22);border-color:#FFFFFF}
@media(max-width:520px){
  #ocultt-toast{
    font-size:0.6rem;
    padding:0.85rem 0.9rem 0.85rem 1.2rem;
    letter-spacing:0.12em;
    max-width:calc(100vw - 2rem);
    bottom:1.25rem;
  }
}

/* ── FLOATING AI GUIDE BUTTON (premium placeholder, not a chatbot) ── */
#aiGuideBtn{
  position:fixed;
  bottom:1.8rem;
  right:1.8rem;
  width:58px;
  height:58px;
  border-radius:50%;
  background:linear-gradient(145deg,var(--gold-dk),var(--gold));
  border:1px solid rgba(255,255,255,0.25);
  box-shadow:0 8px 28px rgba(46,139,110,0.35),0 0 0 1px rgba(46,139,110,0.1);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:950;
  transition:transform 0.3s cubic-bezier(0.22,1,0.36,1),box-shadow 0.3s,opacity 0.25s;
/* Hidden during the booking flow — it was overlapping the calendar/payment
   continue buttons, and a competing CTA during checkout adds friction. */
}
#aiGuideBtn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 12px 34px rgba(46,139,110,0.45),0 0 0 1px rgba(46,139,110,0.15)}
#aiGuideBtn.ai-guide-hidden{opacity:0;pointer-events:none;}
#aiGuideBtn svg{width:26px;height:26px;position:relative;z-index:1}
#aiGuideBtn::before{
  content:'';
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:1px solid rgba(46,139,110,0.35);
  animation:aiGuidePulse 2.6s ease-out infinite;
}
@keyframes aiGuidePulse{
  0%{transform:scale(0.92);opacity:0.7}
  70%{transform:scale(1.18);opacity:0}
  100%{transform:scale(1.18);opacity:0}
}
#aiGuideLabel{
  position:fixed;
  bottom:2.4rem;
  right:6.2rem;
  background:rgba(15,42,33,0.92);
  color:#DFF0E7;
  font-family:'Cinzel',serif;
  font-size:0.58rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  padding:0.5rem 0.85rem;
  border-radius:3px;
  white-space:nowrap;
  z-index:949;
  opacity:0;
  pointer-events:none;
  transform:translateX(6px);
  transition:opacity 0.3s,transform 0.3s;
}
#aiGuideBtn:hover + #aiGuideLabel,#aiGuideLabel.show-hint{opacity:1;transform:translateX(0)}
#aiGuidePanel{
  position:fixed;
  bottom:6.2rem;
  right:1.8rem;
  width:300px;
  max-width:calc(100vw - 2.4rem);
  background:linear-gradient(165deg,rgba(20,52,41,0.98),rgba(13,36,28,0.99));
  border:1px solid rgba(46,139,110,0.45);
  box-shadow:0 20px 60px rgba(0,0,0,0.35),0 0 0 1px rgba(46,139,110,0.12);
  border-radius:6px;
  z-index:951;
  padding:1.6rem 1.5rem 1.4rem;
  opacity:0;
  pointer-events:none;
  transform:translateY(12px) scale(0.97);
  transition:opacity 0.3s cubic-bezier(0.22,1,0.36,1),transform 0.3s cubic-bezier(0.22,1,0.36,1);
}
#aiGuidePanel.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.aig-close{position:absolute;top:0.7rem;right:0.7rem;background:transparent;border:none;color:#B8DCCE;font-size:0.85rem;cursor:pointer;line-height:1;padding:0.3rem;transition:color 0.2s}
.aig-close:hover{color:#B8DCCE}
.aig-sigil{width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,var(--gold-dk),var(--gold));display:flex;align-items:center;justify-content:center;margin-bottom:0.9rem}
.aig-sigil svg{width:18px;height:18px}
.aig-title{font-family:'Playfair Display',serif;font-size:1rem;color:#dff0e7;margin-bottom:0.5rem;letter-spacing:0.02em}
.aig-badge{display:inline-block;font-family:'Cinzel',serif;font-size:0.5rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold-dk);background:rgba(46,139,110,0.18);border:1px solid rgba(46,139,110,0.4);padding:0.25rem 0.6rem;border-radius:2px;margin-bottom:0.85rem}
.aig-desc{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:0.9rem;line-height:1.7;color:#DFF0E7;margin-bottom:1.1rem}
.aig-cta{display:block;width:100%;background:linear-gradient(135deg,var(--gold-dk),var(--gold));color:white;font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;padding:0.7rem 1rem;border:none;border-radius:3px;cursor:pointer;text-align:center;transition:all 0.3s}
.aig-cta:hover{box-shadow:0 4px 18px rgba(46,139,110,0.35)}
@media(max-width:600px){
  #aiGuideBtn{width:52px;height:52px;bottom:1.4rem;right:1.4rem}
  #aiGuideBtn svg{width:23px;height:23px}
  #aiGuideLabel{display:none}
  #aiGuidePanel{bottom:5.6rem;right:1.1rem;width:calc(100vw - 2.2rem)}
}

/* Tarot topic pills */
.reading-format-divider{position:relative;display:flex;align-items:center;justify-content:center;min-width:2.5rem}
.reading-format-divider::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--border)}
.reading-format-divider span{position:relative;z-index:1;background:#fdfefe;padding:0.5rem 0;font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase}
.tarot-topic-pill{font-family:'Cinzel',serif;font-size:0.58rem;font-weight:600;letter-spacing:0.12em;color:var(--gold-dk);border:1px solid rgba(46,139,110,0.4);padding:0.4rem 0.8rem;background:rgba(46,139,110,0.06);cursor:default;pointer-events:none;transition:all 0.25s;border-radius:4px;font-weight:600}
.tarot-topic-pill:hover{background:rgba(46,139,110,0.05);border-color:rgb(40,122,97);transform:none}
.tarot-topic-pill.active{background:#1A7055;color:#fff;border-color:#1A7055}

/* ═══════════════════════════════════════════════════════════════
   DASHBOARD & ADMIN — MOBILE RESPONSIVE (Issues 14, 15, 16)
   Target: 360px–768px (Samsung S, iPhone SE/14, Pixel)
═══════════════════════════════════════════════════════════════ */

/* All admin tables: always scroll inside their container, never page */
.admin-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.admin-table-wrap table { min-width: 520px; }

/* ── 768px: tablet ── */
@media (max-width: 768px) {
  /* Layout: sidebar collapses to a horizontal scrollable top bar */
  .admin-layout { grid-template-columns: 1fr; padding-top: 60px; }
  .admin-sidebar {
    display: flex !important;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    height: auto;
    position: sticky;
    top: 60px;
    z-index: 80;
    padding: 0;
    border-right: none;
    border-bottom: 1px solid var(--border);
    -webkit-overflow-scrolling: touch;
  }
  .admin-sidebar::-webkit-scrollbar { display: none; }
  .admin-sidebar-brand { display: none; }
  .admin-notif-wrap { top: 95px; right: 12px; }
  .admin-notif-bell { padding: 0.28rem 0.55rem; font-size: 0.56rem; gap: 0.35rem; }
  .admin-notif-label { display: none; }
  .admin-notif-badge { min-width: 15px; height: 15px; font-size: 0.55rem; }
  .admin-notif-panel { width: calc(100vw - 24px); right: -6px; top: calc(100% + 14px); }
  .admin-nav-item {
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.65rem 1rem;
    font-size: 0.55rem;
    letter-spacing: 0.08em;
    border-left: none;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .admin-nav-item.active { border-bottom-color: var(--gold); border-left: none; }
  .admin-nav-item span:first-child { font-size: 1.1rem; }

  /* Greeting: compact */
  .admin-header { margin-bottom: 1.25rem; }
  .admin-header h1 { font-size: 1.05rem !important; margin-bottom: 0.25rem; }
  .admin-header p { font-size: 0.8rem; }

  /* Stats: 2 columns */
  .stats-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 0.75rem; margin-bottom: 1.5rem; }
  .stat-card { padding: 1rem; }
  .stat-card .value { font-size: 1.5rem; }
  .stat-card .label { font-size: 0.55rem; margin-bottom: 0.4rem; }

  /* Admin content padding */
  .admin-content { padding: 1.25rem 1rem; }

  /* Tables: scroll inside wrapper, never overflow page */
  .admin-table-wrap table { min-width: 480px; }
  .admin-table-wrap th, .admin-table-wrap td { padding: 0.6rem 0.7rem; font-size: 0.78rem; }
  .admin-table-header { padding: 0.9rem 1rem; flex-wrap: wrap; gap: 0.5rem; }
  .admin-table-header .actions { flex-wrap: wrap; gap: 0.5rem; width: 100%; }
  .search-input { width: 100%; }

  /* Spell video modal */
  #spell-video-modal > div { max-width: 98vw; margin: 0.5rem; }
}

/* ── 480px: small phones ── */
@media (max-width: 480px) {
  /* Stats: stack to 1 column for very small screens */
  .stats-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 0.6rem; }
  .stat-card { padding: 0.85rem; }
  .stat-card .value { font-size: 1.3rem; }

  /* Greeting: minimal */
  .admin-header h1 { font-size: 0.9rem !important; }
  .admin-header p { font-size: 0.75rem; }

  /* Admin content: full-width breathing room */
  .admin-content { padding: 1rem 0.75rem; }

  /* Tables: tighter cells */
  .admin-table-wrap table { min-width: 420px; font-size: 0.75rem; }
  .admin-table-wrap th, .admin-table-wrap td { padding: 0.5rem 0.55rem; font-size: 0.72rem; }

  /* Client cell: stack name and email */
  .client-cell { flex-direction: column; align-items: flex-start; gap: 0.1rem; }
  .client-name { font-size: 0.75rem; }
  .client-email { font-size: 0.65rem; }
  .avatar { width: 28px; height: 28px; font-size: 0.55rem; flex-shrink: 0; }

  /* Nav tabs: even tighter */
  .admin-nav-item { padding: 0.55rem 0.75rem; font-size: 0.5rem; }
  .admin-nav-item span:first-child { font-size: 0.95rem; }
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE QA — ALL PAGES (Issue 16)
═══════════════════════════════════════════════════════════════ */

/* Booking pages: no horizontal overflow at any width */
.booking-page, .simple-form-page { max-width: 100%; overflow-x: hidden; }

@media (max-width: 640px) {
  /* Form grid: always 1 column on phone */
  .form-grid { grid-template-columns: 1fr !important; }
  .form-card { padding: 1.2rem; }
  .form-card h2 { font-size: 0.85rem; }

  /* Service select grids: 1 column */
  .service-select-grid { grid-template-columns: 1fr !important; }
  #page-spell-booking .service-select-grid { grid-template-columns: 1fr !important; }
  #page-numerology-booking .service-select-grid { grid-template-columns: 1fr !important; }
  #page-tarot-booking .service-select-grid { grid-template-columns: 1fr !important; }
  #page-energy-healing .service-select-grid { grid-template-columns: 1fr !important; }

  /* Tarot pricing grid: stack to 1 column */
  #page-tarot-booking > .booking-page > .form-card > div[style*="grid-template-columns:1fr 1fr"],
  .form-card div[style*="grid-template-columns:1fr 1fr"],
  .reading-format-grid {
    grid-template-columns: 1fr !important;
  }

  /* OR divider: horizontal line + centered label when stacked */
  .reading-format-divider { min-width:0; padding:0.4rem 0; }
  .reading-format-divider::before { top:50%; bottom:auto; left:0; right:0; width:auto; height:1px; }
  .reading-format-divider span { padding:0 0.8rem; }

  /* Booking header: tighter */
  .booking-header { padding: 5.5rem 1.2rem 1.2rem; }
  .booking-header h1 { font-size: clamp(1.4rem, 7vw, 2rem); }

  /* Progress bar: all 5 steps fit */
  .progress-bar { gap: 0; }
  .progress-step { min-width: 44px; flex: 1; }
  .step-label { font-size: 0.42rem; }

  /* About/Founder section stacks */
  .about-ak-inner { flex-direction: column !important; gap: 2rem !important; }
  .about-ak-portrait-wrap { max-width: 200px !important; margin: 0 auto !important; }
  .about-ak-credentials { flex-wrap: wrap !important; }

  /* Testimonials: marquee card scales for small phones */
  .testimonial { width: min(300px,80vw) !important; }

  /* Trust section scrollable on mobile — no clip */
  .trust-scroll-wrap { overflow: hidden; }
  .trust-pillars { flex-wrap: nowrap; }

  /* CTA section */
  .cta-section { padding: 2.5rem 1.2rem; }

  /* Checkout / payment */
  .payment-card { padding: 1.2rem; }
  .confirm-card { padding: 1.5rem; }
  .success-message { padding: 1.5rem; }

  /* Buttons: full width on phone */
  .form-nav { flex-direction: column-reverse; gap: 0.75rem; }
  .form-nav .btn-primary, .form-nav .btn-secondary { width: 100%; text-align: center; }

  /* Energy healing: 1-col on phone */
  #page-energy-healing .form-card div[style*="grid-template-columns:1fr 1fr 1fr"],
  #page-energy-healing .form-card div[style*="grid-template-columns:repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Spell category grid: 2 columns on phone */
  #spell-step-category .service-select-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* Numerology report includes: 1 col on phone */
  .form-card div[style*="grid-template-columns:1fr 1fr;gap:0.5rem"] { 
    grid-template-columns: 1fr !important;
  }

  /* Audio/Phone pricing split: stack on phone */
  #page-tarot-booking .form-card > div[style*="grid-template-columns:1fr 1fr;gap:2rem"] {
    grid-template-columns: 1fr !important;
  }

  /* Bay leaf ritual tiers: 2 per row */
  #page-energy-healing div[style*="repeat(4,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 380px) {
  /* Smallest phones: spell grid 1-col */
  #spell-step-category .service-select-grid { grid-template-columns: 1fr !important; }
  .form-nav { gap: 0.5rem; }
}

/* ═══════════════════════════════════════════════════════════════
   TABLE MOBILE POLISH (Issue 15)
   Responsive tables — scroll inside container, never page
═══════════════════════════════════════════════════════════════ */
/* Already have overflow-x:auto on .admin-table-wrap */
/* Extra: ensure table cells don't break layout */
table { border-collapse: collapse; width: 100%; }
th, td { white-space: nowrap; }
/* Client/service columns: allow wrapping to save space */
td.wrap, th.wrap { white-space: normal; min-width: 100px; }

/* Empty state polish */
[style*="padding:3rem;text-align:center"] {
  padding: 2.5rem 1.5rem !important;
}



/* ══════════════════════════════════════════════════════════
   SUPPLEMENTAL STYLES (Google Auth, floating UI, CRM extras)
   ══════════════════════════════════════════════════════════ */


/* ── GOOGLE AUTH ── */
.nav-auth{display:flex;align-items:center;gap:0.75rem;margin-right:0.75rem}
/* ── FLOATING BACK PILL — always reachable, no scrolling needed ── */
.floating-back-pill{
  position:fixed;
  left:1.1rem;
  top:50%;
  transform:translateY(-50%) translateX(0);
  display:none;
  align-items:center;
  gap:0.45rem;
  font-family:'Cinzel',serif;
  font-size:0.62rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gold-dk);
  background:rgba(255,255,255,0.92);
  border:1px solid var(--border-bright);
  padding:0.6rem 0.9rem 0.6rem 0.7rem;
  border-radius:20px;
  cursor:pointer;
  z-index:940;
  box-shadow:0 4px 16px rgba(46,139,110,0.14);
  transition:all 0.3s cubic-bezier(0.22,0.8,0.32,1);
}
.floating-back-pill.show{display:flex}
.floating-back-pill:hover{background:var(--gold);color:#fff;border-color:var(--gold);box-shadow:0 6px 20px rgba(46,139,110,0.28);transform:translateY(-50%) translateX(3px)}
.floating-back-pill svg{flex-shrink:0;transition:transform 0.3s}
.floating-back-pill:hover svg{transform:translateX(-2px)}
@media(max-width:768px){
  .floating-back-pill{
    left:1rem;right:auto;top:auto;bottom:1.1rem;
    transform:none;
    padding:0.55rem 0.85rem 0.55rem 0.65rem;
  }
  .floating-back-pill:hover{transform:none}
}

.nav-user-pill{display:flex;align-items:center;gap:0.6rem;font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.16em;color:var(--text-muted);text-transform:uppercase;padding:0.45rem 0.9rem 0.45rem 0.5rem;border:1px solid var(--border);background:rgba(255,255,255,0.7);cursor:default;transition:border-color 0.3s;border-radius:20px}
.nav-user-pill:hover{border-color:var(--border-bright)}
.nav-user-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1px solid var(--border);flex-shrink:0}
.nav-user-avatar-init{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--gold-dk),var(--gold));display:flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-size:0.52rem;color:#FFFFFF;flex-shrink:0;border:1px solid rgba(46,139,110,0.3);letter-spacing:0}
.nav-logout{font-family:'Cinzel',serif;font-size:0.58rem;letter-spacing:0.18em;color:var(--text-dim);text-transform:uppercase;cursor:pointer;padding:0.45rem 0.75rem;border:1px solid var(--border);background:transparent;transition:all 0.3s;border-radius:4px}
.nav-logout:hover{color:var(--gold);border-color:var(--border-bright)}
.nav-user-pill{display:flex;align-items:center;gap:0.5rem}
.nav-user-avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,rgba(46,139,110,0.55),rgba(46,139,110,0.2));border:1px solid var(--border-bright);display:flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-size:0.55rem;color:var(--gold);letter-spacing:0.05em;text-transform:uppercase;flex-shrink:0}
.nav-user-name{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.16em;color:var(--text-muted);text-transform:uppercase}

/* Google sign-in modal overlay */
.gauth-overlay{position:fixed;inset:0;z-index:999;background:rgba(26,51,41,0.75);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.35s}
.gauth-overlay.open{opacity:1;pointer-events:all}
.gauth-modal{background:var(--bg);border:1px solid var(--border-bright);max-width:400px;width:90%;padding:0;position:relative;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,0.18),0 8px 20px rgba(46,139,110,0.1);animation:modalIn 0.4s cubic-bezier(0.16,1,0.3,1)}
@keyframes modalIn{from{opacity:0;transform:scale(0.93) translateY(16px)}to{opacity:1;transform:none}}
.gauth-modal-band{height:3px;background:linear-gradient(to right,transparent,rgba(46,139,110,0.65),transparent)}
.gauth-modal-body{padding:2.8rem 2.4rem 2.4rem;text-align:center}
.gauth-modal-sigil{font-family:'Playfair Display',serif;font-size:2.2rem;color:var(--gold);opacity:0.3;display:block;margin-bottom:1rem;line-height:1}
.gauth-modal-eyebrow{font-family:'Cinzel',serif;font-size:0.52rem;letter-spacing:0.45em;color:var(--gold-dk);text-transform:uppercase;display:block;margin-bottom:0.7rem}
.gauth-modal-title{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--gold);margin-bottom:0.6rem;line-height:1.25}
.gauth-modal-desc{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--text-muted);font-style:italic;line-height:1.85;margin-bottom:2rem}
.gauth-modal-rule{display:flex;align-items:center;gap:0.75rem;margin-bottom:1.75rem}
.gauth-modal-rule-line{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(46,139,110,0.25))}
.gauth-modal-rule-line.r{background:linear-gradient(to left,transparent,rgba(46,139,110,0.25))}
.gauth-modal-rule-sym{font-family:'Cinzel',serif;font-size:0.52rem;color:var(--gold-dk);letter-spacing:0.4em}
/* Google button container — GIS renders into this */
#gauth-google-btn{display:flex;justify-content:center;margin-bottom:1.2rem}
.gauth-modal-close{position:absolute;top:0.9rem;right:1rem;font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.15em;color:var(--text-dim);cursor:pointer;background:none;border:none;transition:color 0.3s;padding:0.25rem}
.gauth-modal-close:hover{color:var(--gold)}
.gauth-disclaimer{font-family:'Cinzel',serif;font-size:0.46rem;letter-spacing:0.22em;color:var(--text-dim);text-transform:uppercase;display:block}

/* ── INLINE VALIDATION MESSAGES (C-06 fix) ── */
.field-error{
  display:none;
  font-family:'Cinzel',serif;
  font-size:0.55rem;
  letter-spacing:0.18em;
  color:#c0392b;
  text-transform:uppercase;
  margin-top:0.4rem;
  padding:0.35rem 0.7rem;
  border:1px solid rgba(192,57,43,0.25);
  background:rgba(192,57,43,0.05);
  line-height:1.5;
}
.field-error.is-visible{display:block}
input.field-invalid,select.field-invalid,textarea.field-invalid{border-color:rgb(192,57,43)!important}
input.field-invalid:focus,select.field-invalid:focus,textarea.field-invalid:focus{border-color:#c0392b!important}

/* Step-level banner for selection steps */
.step-error-banner{
  display:none;
  font-family:'Cinzel',serif;
  font-size:0.6rem;
  letter-spacing:0.22em;
  color:#c0392b;
  text-transform:uppercase;
  padding:0.8rem 1.2rem;
  border:1px solid rgba(192,57,43,0.3);
  background:rgba(192,57,43,0.06);
  margin-top:1rem;
  margin-bottom:0.5rem;
  text-align:center;
  line-height:1.6;
  width:100%;
}
.step-error-banner.is-visible{display:block}
.nav-signin-link{font-family:'Cinzel',serif;font-size:0.74rem;font-weight:600;letter-spacing:0.18em;color:var(--gold-dk);text-decoration:none;cursor:pointer;transition:color 0.3s;text-transform:uppercase;display:flex;align-items:center;gap:0.4rem}
.nav-signin-link:hover{color:var(--gold)}
.nav-signin-link::before{content:'◇';font-size:0.55rem;opacity:0.6}

@media(max-width:768px){
  .nav-user-pill span.nav-user-name{display:none}
  .nav-logout{font-size:0;padding:0.45rem 0.55rem}
  .nav-logout::after{content:'↩';font-size:0.75rem}
  .nav-auth{gap:0.4rem}
}

/* ══════════════════════════════════════════════════════════════
   V34 — POLISH, RESPONSIVENESS & UX IMPROVEMENTS
   Preserves all V33 design, branding, identity and structure.
   Only refines, optimises and fixes.
══════════════════════════════════════════════════════════════ */

/* ── HERO: SAFE ZONE FOR FLOATING CARDS ─────────────────────── */
/* On wide screens ensure cards stay in outer columns only */
@media(min-width:1024px){
  .cards-float { pointer-events:none }
  /* Guard central 36%–64% horizontally with a transparent blocked zone */
  .hero-content-guard {
    position:absolute;
    top:0;bottom:0;
    left:36%;right:36%;
    z-index:4;
    pointer-events:none;
  }
}
/* Mobile: hide far layer already done; reduce mid opacity further */
@media(max-width:480px){
  .float-card.layer-mid { opacity: 0.45 !important; }
  .float-card.layer-near { opacity: 0.55 !important; }
}

/* ── HERO TITLE: ALLOW WRAP ON SMALL TABLETS ────────────────── */
@media(max-width:900px) and (min-width:601px){
  .hero-title { font-size: clamp(2.6rem, 7vw, 4rem); white-space:normal; }
  .hero { padding: 7rem 1.5rem 4rem; }
}

/* ── HERO BUTTONS: LARGER TOUCH TARGETS ON MOBILE ──────────── */
@media(max-width:600px){
  .btn-primary, .btn-secondary {
    font-size: 0.72rem !important;
    padding: 0.9rem 1.8rem !important;
    letter-spacing: 0.16em !important;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
    display: block;
  }
  .hero-ctas {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    width: min(280px, 85vw);
    margin-left: auto;
    margin-right: auto;
  }
}

/* ── SERVICES SECTION: BETTER SPACING ───────────────────────── */
/* Services padding already normalized above (inline style removed) */
#services { padding-top: 2rem !important; }

/* Tablet: 2-col services grid */
@media(max-width:1023px) and (min-width:769px){
  .services-grid { grid-template-columns: repeat(2,1fr) !important; gap: 1.4rem !important; }
}

/* ── SECTION TITLES: PREVENT GRADIENT CLIP CUTTING OFF ──────── */
.section-title { 
  padding-bottom: 0.1em; /* prevent bottom of letters clipping */
  -webkit-text-fill-color: transparent; 
}

/* ── TESTIMONIALS: BETTER READABILITY ───────────────────────── */
.testimonial-text {
  color: #2e5a49 !important; /* slightly darker than text-readable */
  font-size: 1.02rem !important;
  line-height: 2.05 !important;
}
/* Testimonial card width on tablets */
@media(max-width:1023px) and (min-width:601px){
  .testimonial { width: min(360px,42vw) !important; }
}

/* ── CREDIBILITY BAR: TABLET FIX ────────────────────────────── */
@media(max-width:1023px) and (min-width:769px){
  .cred-inner { flex-wrap: wrap !important; }
  .cred-stat { flex: 1 1 30% !important; min-width: 140px; padding: 1.6rem 0.85rem !important; }
}

/* ── SCROLLABLE SECTIONS: VISUAL FADE INDICATORS ────────────── */
.journey-scroll-wrap,
.trust-scroll-wrap,
.featured-strip-inner {
  position: relative;
}

/* Left fade – indicates more content to the left */
.journey-scroll-wrap::before,
.trust-scroll-wrap::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 1.5rem;
  width: 42px;
  background: linear-gradient(to right, rgba(247,250,248,0.88), transparent);
  z-index: 5;
  pointer-events: none;
  opacity: 0; /* only shown when not at start — JS controls */
  transition: opacity 0.3s;
}
/* Right fade – indicates more content to the right */
.journey-scroll-wrap::after,
.trust-scroll-wrap::after {
  content: '';
  position: absolute;
  right: 0; top: 0; bottom: 1.5rem;
  width: 42px;
  background: linear-gradient(to left, rgba(247,250,248,0.88), transparent);
  z-index: 5;
  pointer-events: none;
  transition: opacity 0.3s;
}
/* Show right-fade by default (user hasn't scrolled yet) */
.journey-scroll-wrap.has-right::after { opacity: 1; }
.journey-scroll-wrap.has-left::before { opacity: 1; }
.trust-scroll-wrap.has-right::after { opacity: 1; }
.trust-scroll-wrap.has-left::before { opacity: 1; }

/* Mobile scroll hint text under scroll rows */
.scroll-swipe-hint {
  display: none;
  text-align: center;
  font-family: 'Cinzel', serif;
  font-size: 0.46rem;
  letter-spacing: 0.32em;
  color: var(--text-dim);
  text-transform: uppercase;
  margin-top: 0.65rem;
}
@media(max-width:768px){
  .scroll-swipe-hint { display: block; }
}

/* ── FEATURED STRIP: SCROLL INDICATORS ──────────────────────── */
.featured-scroll-row-wrap {
  position: relative;
}
.featured-scroll-row-wrap::after {
  content: '';
  position: absolute;
  right: 0; top: 0; bottom: 1rem;
  width: 48px;
  background: linear-gradient(to left, rgba(247,250,248,0.9), transparent);
  z-index: 3;
  pointer-events: none;
}
@media(max-width:768px){
  .featured-scroll-row-wrap::after { width: 32px; }
}

/* ── ABOUT AKANKSHA: COMPACT THE PORTRAIT ───────────────────── */
/* Reduce the visual weight — brand focus over personal photo */
.about-ak-portrait {
  aspect-ratio: 4/3.5 !important; /* was 5/4 — slightly squarer, less towering */
  max-width: 280px !important; /* was 320px */
}
@media(max-width:1440px) and (min-width:1025px){
  .about-ak-grid { gap: 4rem !important; }
}
@media(max-width:768px){
  .about-ak-portrait { max-width: 200px !important; aspect-ratio: 1/1 !important; }
}
/* More breathing room for text column */
.about-ak-body { line-height: 2 !important; margin-bottom: 1.2rem !important; }

/* ── RETURN SECTION (WHY CLIENTS RETURN): TABLET 2-COL ──────── */
@media(max-width:1023px) and (min-width:601px){
  .return-grid { grid-template-columns: repeat(2,1fr) !important; }
}
@media(max-width:600px){
  .return-grid { grid-template-columns: 1fr !important; }
}

/* ── INNER CIRCLE SECTION: BETTER TABLET LAYOUT ─────────────── */
@media(max-width:1023px) and (min-width:601px){
  .ic2-tiers { grid-template-columns: repeat(2,1fr) !important; }
}

/* ── CIRCLE BENEFITS: 2-COL ALWAYS ON TABLET ────────────────── */
@media(max-width:1023px) and (min-width:601px){
  .circle-benefits { grid-template-columns: repeat(2,1fr) !important; }
}

/* ── NEWS SECTION: TABLET RESPONSIVE ────────────────────────── */
@media(max-width:1023px) and (min-width:601px){
  .news-grid { grid-template-columns: 1fr 1fr !important; }
  .ncard.ncard-featured { grid-column: 1 / -1 !important; }
}

/* ── SHOP GRID: BETTER TABLET ────────────────────────────────── */
@media(max-width:1023px) and (min-width:769px){
  .shop-grid { grid-template-columns: repeat(2,1fr) !important; }
}

/* ── FOOTER: CONTACT STYLING ─────────────────────────────────── */
.footer-contact-email {
  display: block;
  color: var(--text-dim);
  font-family: 'Cinzel', serif;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  margin-top: 0.75rem;
  transition: color 0.3s;
}
.footer-contact-email:hover { color: var(--gold); }

/* Social link icons */
.social-link svg { display: block; }

/* ── POPUP / TOAST: READABLE ON NARROW ──────────────────────── */
/* Already has 6s timer — just ensure line-height on narrow */
@media(max-width:380px){
  #ocultt-toast { font-size: 0.56rem !important; letter-spacing: 0.1em !important; }
}

/* ── BOOKING PAGES: BETTER ON LARGE SCREENS ─────────────────── */
@media(min-width:1400px){
  .booking-page { max-width: 800px !important; }
  .simple-form-page { max-width: 700px !important; }
}

/* ── LARGE SCREEN IMPROVEMENTS ───────────────────────────────── */
@media(min-width:1600px){
  .featured-strip-inner, .journey-inner, .trust-inner,
  .news-inner, .news2-inner, .shop-inner, .ic2-inner,
  .about-ak-inner, .return-inner, .circle-inner { max-width: 1200px; }
  .cred-inner { max-width: 1200px; }
  .hero-title { font-size: clamp(3rem, 5.5vw, 7rem); }
}

/* ── ULTRA-WIDE PREVENTION: cap hero card drift ─────────────── */
@media(min-width:1400px){
  /* Push any near-layer cards further from center */
  .float-card.layer-near { max-width: 70px !important; }
  .float-card.layer-mid  { max-width: 55px !important; }
}

/* ── IPAD / TABLET PORTRAIT: SPECIFIC FIXES ─────────────────── */
/* iPad portrait ~768px */
@media(max-width:820px) and (min-width:768px){
  .about-ak-grid { grid-template-columns: 1fr !important; }
  .about-ak-portrait { max-width: 200px !important; margin: 0 auto; }
  .about-grid { grid-template-columns: 1fr !important; }
  .about-visual { margin-bottom: 1.5rem !important; }
}

/* ── GENERAL TOUCH IMPROVEMENTS ─────────────────────────────── */
/* Minimum 44px touch targets for all buttons */
.btn-primary, .btn-secondary, .nav-book, .nav-drawer-book-btn,
.btn-circle, .btn-shop { min-height: 44px; }

/* Prevent text selection while interacting with scroll cards */
.journey-scroll, .trust-pillars, .featured-scroll-row {
  -webkit-user-select: none;
  user-select: none;
}

/* ── PREVENT LAYOUT SHIFT FROM ANIMATIONS ON LOW-POWER DEVICES ─ */
@media(prefers-reduced-motion: reduce){
  *, ::before, ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .float-card { display: none !important; }
  .hero-orbit { display: none !important; }
  .hero-sigil-glow { display: none !important; }
  .reveal, .reveal-left, .reveal-scale, .reveal-up,
  .v7-reveal, .v7-reveal-l, .v7-reveal-r, .v7-reveal-scale {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ── ANDROID CHROME: FIX BOTTOM SAFE AREA ───────────────────── */
#aiGuideBtn {
  bottom: calc(1.8rem + env(safe-area-inset-bottom, 0px));
}
#aiGuidePanel {
  bottom: calc(6.2rem + env(safe-area-inset-bottom, 0px));
}
#ocultt-toast {
  bottom: calc(2rem + env(safe-area-inset-bottom, 0px));
}
@media(max-width:600px){
  #aiGuideBtn { bottom: calc(1.4rem + env(safe-area-inset-bottom, 0px)); }
  #aiGuidePanel { bottom: calc(5.6rem + env(safe-area-inset-bottom, 0px)); }
}

/* ── NEWS SECTION: DATE UPDATE 2026 ────────────────────────── */
/* Already set to 2026 in content — no CSS needed */

/* ── SCROLLABLE SECTION: DOTS ALWAYS VISIBLE ────────────────── */
.journey-dots, .featured-dots {
  position: relative;
  z-index: 2;
}

/* ── JCARD/TRUST CARD TABLET ─────────────────────────────────── */
@media(max-width:1023px) and (min-width:769px){
  .jcard { flex: 0 0 260px !important; }
  .trust-pillar { flex: 0 0 260px !important; }
}

/* ── BETTER LINK CURSOR ──────────────────────────────────────── */
.footer-col ul li a { cursor: pointer; }

/* ── REMOVE HORIZONTAL SCROLL ON BODY ───────────────────────── */
body { max-width: 100vw; }

/* ── IMPROVE AI GUIDE BUTTON ON TABLET ──────────────────────── */
@media(max-width:1023px) and (min-width:601px){
  #aiGuideBtn { width: 54px !important; height: 54px !important; }
}

/* ── CRM INLINE PROMPT MODAL (replaces native prompt/alert) ────── */
#_crm-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:100000;display:flex;align-items:center;justify-content:center;padding:1rem}
#_crm-modal-box{background:var(--bg);border:1px solid var(--border);padding:1.8rem 1.6rem;max-width:460px;width:100%;box-shadow:0 8px 40px rgba(0,0,0,0.3)}
#_crm-modal-box h4{font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold-dk);margin:0 0 1rem}
#_crm-modal-box textarea,#_crm-modal-box input[type=text],#_crm-modal-box input[type=date]{width:100%;font-family:'Cormorant Garamond',serif;font-size:0.95rem;color:var(--text);background:transparent;border:1px solid var(--border);padding:0.55rem 0.7rem;resize:vertical;margin-bottom:0.75rem;box-sizing:border-box}
#_crm-modal-box textarea{min-height:80px}
._crm-modal-btns{display:flex;gap:0.6rem;justify-content:flex-end;margin-top:0.5rem}
._crm-modal-btns button{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.12em;padding:0.5rem 1rem;border:1px solid var(--border);background:transparent;cursor:pointer;color:var(--text);text-transform:uppercase}
._crm-modal-btns button.primary{background:var(--gold-dk);color:#fff;border-color:var(--gold-dk)}

