/* Lady Astro Parmila Sharma (USA) | styles
   Direction: "Celestial editorial". Proof-first landing page for paid traffic.
   Midnight ink + antique gold + ivory. DM Serif Display (display) + DM Sans (text).
   Rules: client's real logo and photos only; nothing overlaps anything else; no pricing. */

:root{
  --ink:#121114; --ink-2:#1C1B20; --ink-3:#26242B; --ink-line:rgba(255,255,255,.09);
  --ivory:#121114; --paper:#1E1D22; --sand:#17161A; --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.15);
  --gold:#D9467C; --gold-2:#F28DB1; --gold-txt:#F28DB1; --gold-lg:#F28DB1;
  --gold-grad:linear-gradient(135deg,#F27DA4 0%,#D9467C 48%,#A3306A 100%);
  --rose-card:linear-gradient(150deg,#86305A 0%,#5A2141 55%,#33182A 100%);
  --text:#F5F2F6; --text-2:#C9C5CF; --muted:#918D99; --head-dim:#8A8693; --star:#F5F2F6; --star-2:rgba(245,242,246,.72);
  --err:#FF7FA0; --wa:#25D366;
  --display:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --sans:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:24px; --r-sm:14px;
  --glass:linear-gradient(160deg,rgba(255,255,255,.065),rgba(255,255,255,.015));
  --shadow:0 20px 44px rgba(0,0,0,.38);
  --shadow-lg:0 34px 80px rgba(0,0,0,.55);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.65;color:var(--text);background:var(--ivory);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-txt)}
h1,h2,h3,h4{margin:0;font-weight:400}
p{margin:0 0 1em}
button{font-family:inherit}
.container{width:100%;max-width:1220px;margin:0 auto;padding:0 28px}
.container.narrow{max-width:1000px}
.center{text-align:center}
.skip{position:absolute;left:-9999px;top:0;background:var(--gold);color:var(--ink);padding:8px 14px;z-index:300}
.skip:focus{left:12px;top:12px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.ic{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ic-fill{fill:currentColor;stroke:none}
.flag{display:inline-block;height:13px;width:auto;vertical-align:-2px;margin-right:6px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.flag-np{height:16px;border-radius:0;box-shadow:none;vertical-align:-3px}

/* ---------- type ---------- */
.overline{font:600 12.5px/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-txt);margin:0 0 18px;display:flex;align-items:center;gap:14px}
.overline::before{content:"";width:34px;height:1px;background:currentColor;opacity:.7}
.overline .idx{order:-1;font:400 15px/1 var(--display);letter-spacing:.04em;color:var(--gold-lg)}
.overline:has(.idx)::before{order:0}
.center .overline,.sec-head.center .overline,.overline.center{justify-content:center}
.sec-head.center .overline::after,.overline.center::after{content:"";width:34px;height:1px;background:currentColor;opacity:.7}
.h2{font-family:var(--display);font-weight:400;font-size:clamp(38px,5vw,66px);line-height:1.04;letter-spacing:-.015em;color:var(--text);margin:0 0 18px}
.h3{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.4vw,44px);line-height:1.1;letter-spacing:-.01em;margin:0 0 10px}
.accent{font-style:italic;color:var(--gold-lg);font-family:var(--display);font-weight:400}
.lead{font-size:20px;line-height:1.55;color:var(--star-2);max-width:560px}
.lead.dark{color:var(--muted)}
.sec-sub{font-size:18.5px;color:var(--muted);max-width:660px;margin:0 auto}
.sec-head{margin-bottom:48px;max-width:760px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.fine{font-size:13.5px;color:var(--muted);margin-top:22px}
.fine.light{color:rgba(245,238,226,.6)}
.muted{color:rgba(245,238,226,.55)}

/* editorial section header: title left, intro right, hairline under */
.shead{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:end;margin:0 0 64px;padding-bottom:30px;border-bottom:1px solid var(--line-2);position:relative}
.shead::after{content:"";position:absolute;left:0;bottom:-1px;width:120px;height:1px;background:var(--gold)}
.shead .h2{margin:0}
.shead-sub{margin:0;font-size:18px;line-height:1.6;color:var(--muted);max-width:460px;justify-self:end}

/* ---------- buttons ---------- */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:16px 30px;border-radius:999px;font:600 13.5px/1 var(--sans);letter-spacing:.15em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);touch-action:manipulation}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-gold{background:var(--gold-grad);color:var(--ink);box-shadow:0 14px 30px rgba(217,70,124,0.32),inset 0 1px 0 rgba(255,255,255,.45)}
.btn-gold::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .6s var(--ease);pointer-events:none}
.btn-gold:hover{box-shadow:0 18px 38px rgba(217,70,124,0.42),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-gold:hover::after{left:120%}
.btn-line{border-color:rgba(242,141,177,0.413);color:var(--star);background:rgba(255,255,255,.03)}
.btn-line:hover{background:rgba(242,141,177,0.09);border-color:var(--gold-2)}
.btn-dark{background:var(--ink);color:var(--star)}
.btn-dark:hover{background:var(--ink-3)}
.btn-line-dark{border-color:var(--text);color:var(--text);background:transparent}
.btn-line-dark:hover{background:var(--text);color:var(--ivory)}
.btn-line .ic,.btn-line-dark .ic{color:var(--wa)}
.btn-sm{min-height:44px;padding:12px 20px;font-size:12px}
.btn-block{width:100%}

/* ---------- chrome ---------- */
.staging-bar{background:var(--gold-2);color:var(--ink);font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:6px 12px}
.nav{background:rgba(13,12,15,.84);position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line);backdrop-filter:saturate(1.2) blur(10px)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px}
.logo{display:block;flex:none}
.logo img{height:58px;width:auto}
.nav-links{display:flex;gap:30px}
.nav-links a{color:var(--text-2);text-decoration:none;font-weight:500;font-size:15px;letter-spacing:.02em;position:relative;padding:8px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .2s var(--ease)}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-cta{display:flex;align-items:center;gap:10px}
.nav-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);color:var(--text-2);text-decoration:none;background:#fff}
.nav-icon:hover{border-color:var(--gold)}
.nav-wa{color:var(--wa)}

/* night sky + grain textures (CSS only, behind content) */
.hero-sky{position:absolute;inset:0;pointer-events:none;z-index:0;background-image:
 radial-gradient(1.2px 1.2px at 6% 18%,var(--star) 50%,transparent 52%),radial-gradient(1px 1px at 14% 62%,var(--star) 50%,transparent 52%),
 radial-gradient(1.4px 1.4px at 22% 34%,var(--star) 50%,transparent 52%),radial-gradient(1px 1px at 29% 82%,var(--star) 50%,transparent 52%),
 radial-gradient(1px 1px at 36% 12%,var(--star) 50%,transparent 52%),radial-gradient(1.6px 1.6px at 43% 54%,var(--gold-2) 50%,transparent 52%),
 radial-gradient(1px 1px at 51% 26%,var(--star) 50%,transparent 52%),radial-gradient(1.2px 1.2px at 57% 88%,var(--star) 50%,transparent 52%),
 radial-gradient(1px 1px at 64% 8%,var(--star) 50%,transparent 52%),radial-gradient(1.3px 1.3px at 71% 44%,var(--star) 50%,transparent 52%),
 radial-gradient(1px 1px at 78% 72%,var(--star) 50%,transparent 52%),radial-gradient(1.5px 1.5px at 84% 20%,var(--gold-2) 50%,transparent 52%),
 radial-gradient(1px 1px at 90% 58%,var(--star) 50%,transparent 52%),radial-gradient(1.2px 1.2px at 96% 86%,var(--star) 50%,transparent 52%);opacity:.85}
.hero-sky.soft{opacity:.4}
.grain{position:relative;isolation:isolate}
.grain::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.grain>.container{position:relative;z-index:1}

/* ---------- scroll reveal (JS adds .in; content stays visible without JS) ---------- */
.js [data-r]{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js [data-r].in{opacity:1;transform:none}

/* ---------- HERO ---------- */
.hero{overflow:hidden;color:var(--star);padding:76px 0 92px;background:radial-gradient(1000px 640px at 18% 20%,#4A1D38 0%,rgba(74,29,56,0) 70%),radial-gradient(800px 600px at 100% 100%,#3A1730 0%,rgba(58,23,48,0) 70%),var(--ink)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:72px;align-items:center}
.hero-id{display:none}
.eyebrow{font:600 13px/1.3 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin:0 0 22px;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor;opacity:.8}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(42px,4.9vw,70px);line-height:1.1;letter-spacing:0;color:var(--star);margin:0 0 24px;max-width:13em;text-wrap:balance}
.hero h1 .accent{color:var(--gold-2);display:block;margin-top:.04em}
.hero h1.h1-long{font-size:clamp(36px,3.7vw,54px);line-height:1.14}
.hero h1.h1-statement{font-size:clamp(36px,3.6vw,52px);line-height:1.14;max-width:none;text-wrap:pretty}
.hero h1.h1-statement .accent{display:inline;margin:0}
.hero h1 .h1-name{display:block;color:var(--star);margin-bottom:.16em}
.hero-sub{font-size:19.5px;line-height:1.6;color:var(--star-2);max-width:580px;margin-bottom:30px}
/* hero two-step form: lives in its own column, on the ink background */
.hero-form{margin:0 0 30px;padding:26px 26px 22px;border:1px solid rgba(242,141,177,0.24);border-radius:26px;background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));box-shadow:0 30px 70px rgba(0,0,0,.28);scroll-margin-top:110px}
.step-lbl{display:flex;align-items:center;gap:12px;font:600 13px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);margin:0 0 14px}
.step-dot{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gold-grad);color:var(--ink);font:400 15px/1 var(--display);font-style:italic;letter-spacing:0}
.hero-form .field{margin-bottom:14px}
.hero-form .topic-opts{display:flex;flex-wrap:wrap;gap:8px}
.hero-form .topic-opt{flex:0 0 auto}
.hero-form .topic-card{min-height:44px;padding:9px 16px;border-radius:999px;border-color:rgba(242,141,177,0.3);background:rgba(255,255,255,.03);color:var(--star);font-size:14.5px}
.hero-form .topic-card::before{width:12px;height:12px;border-color:rgba(242,141,177,0.45)}
.hero-form .topic-opt:hover .topic-card{border-color:var(--gold-2);background:rgba(242,141,177,0.075)}
.hero-form .topic-opt input:checked+.topic-card{background:var(--gold-2);border-color:var(--gold-2);color:var(--ink)}
.hero-form .topic-opt input:checked+.topic-card::before{border-color:var(--ink);background:var(--ink);box-shadow:inset 0 0 0 2px var(--gold-2)}
.hero-form .field.err .topic-card{border-color:#E59AAE}
.hero-form .fmsg{color:#F2A7B8}
.step-hint{display:none;align-items:center;gap:6px;margin:12px 0 0;font-size:14px;color:rgba(245,238,226,.6)}
.step-hint .ic{width:14px;height:14px;transform:rotate(90deg)}
.step2{padding-top:18px;margin-top:4px;border-top:1px solid var(--ink-line)}
.js #leadForm:not(.s2) .step2{display:none}
.js #leadForm:not(.s2) .step-hint{display:flex}
.js #leadForm.s2 .step2{animation:rise .45s var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hero-form .field label{color:rgba(245,238,226,.86)}
.hero-form .lbl-hint{color:rgba(245,238,226,.5)}
.hero-form .field input{border-color:transparent}
.hero-form .btn-block{min-height:58px;margin-top:4px}
.hero-form .form-assure li{color:rgba(245,238,226,.75)}
.hero-form .form-assure .ic{color:var(--gold-2)}
.hero-form .form-legal,.hero-form .form-legal a{color:rgba(245,238,226,.5)}
.form-alt{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin:16px 0 0;font-size:14px;color:rgba(245,238,226,.66)}
.form-alt>.ic{color:var(--gold);width:16px;height:16px;margin-right:-8px}
.form-alt a{display:inline-flex;align-items:center;gap:6px;color:var(--star);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(242,141,177,0.375);padding:4px 0}
.form-alt a .ic{color:var(--wa)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}
.stats{display:flex;gap:26px;flex-wrap:wrap;margin:0 0 24px;color:var(--star-2)}
.stats b{font-family:var(--display);font-size:30px;color:var(--gold-2);font-weight:400;margin-right:6px}

.hero-visual{position:relative;max-width:480px;width:100%;justify-self:end;display:flex;flex-direction:column;align-items:center}

/* ---------- PROOF RIBBON ---------- */
.ribbon{background:var(--sand);border-bottom:1px solid var(--line);padding:34px 0 40px;overflow:hidden}
.ribbon-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.ribbon-head p{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:15px;color:var(--muted)}
.ribbon-head p>.ic{color:var(--wa);width:20px;height:20px}
.ribbon-head b{font-family:var(--display);font-weight:400;font-size:24px;color:var(--text)}
.ribbon-flags{flex:none}
.ribbon-flags .flag{height:16px;margin-right:4px}
.ribbon-flags .flag-np{height:19px}
.mq-toggle{margin-left:12px;min-height:36px;padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--text-2);font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.mq-toggle:hover{border-color:var(--gold)}
.marquee{overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.mq-track{display:flex;width:max-content}
.mq-track.run{animation:mq 70s linear infinite}
.marquee::-webkit-scrollbar{display:none}
.js .marquee{overflow:hidden}
.mq-set{display:flex;gap:18px;padding-right:18px}
.marquee:hover .mq-track,.marquee:focus-within .mq-track,.ribbon.paused .mq-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.mq-card{flex:none;width:260px;height:250px;margin:0;border-radius:18px;display:flex;flex-direction:column;overflow:hidden}
.mq-shot{all:unset;box-sizing:border-box;flex:none;width:260px;height:250px;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;cursor:zoom-in;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .25s var(--ease)}
.mq-shot:hover{transform:translateY(-3px)}
.mq-shot:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.mq-shot img{width:100%;flex:1;min-height:0;object-fit:cover;object-position:center top}
.mq-phone{background:linear-gradient(160deg,var(--ink-2),var(--ink))}
.mq-phone img{object-fit:cover;object-position:center 22%}
.mq-cap{flex:none;padding:11px 14px;font:600 11px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-txt);background:#fff;border-top:1px solid var(--line)}
.mq-quote{background:var(--ink);color:var(--star);padding:26px 24px 20px;justify-content:space-between;box-shadow:var(--shadow)}
.mq-quote blockquote{margin:0;font-family:var(--display);font-style:italic;font-size:20px;line-height:1.4}
.mq-quote figcaption{font-size:13.5px;font-weight:600;color:var(--gold-2);border-top:1px solid var(--ink-line);padding-top:12px}

/* ---------- sections ---------- */
main [id]{scroll-margin-top:100px}
.sec{position:relative;padding:120px 0}
.sec-sand{background:var(--sand)}
.sec-sand .shead{border-bottom-color:rgba(255,255,255,.12)}
.sec-ink{background:var(--ink);color:var(--star);overflow:hidden}
.sec-ink .h2,.sec-ink .h3{color:var(--star)}
.sec-ink .accent{color:var(--gold-2)}
.sec-ink .overline{color:var(--gold)}
.sec-ink .overline .idx{color:var(--gold-2)}
.sec-ink .sec-sub{color:var(--star-2)}

/* ---------- 01 stories ---------- */
.story{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:80px;align-items:center;padding:0 0 88px;margin:0 0 88px;border-bottom:1px solid var(--line)}
.story-alt{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
.story-alt .phone{order:2}
.phone{all:unset;box-sizing:border-box;display:block;cursor:zoom-in;max-width:330px;width:100%;justify-self:center;padding:26px 9px 9px;background:#0B0A0D;border-radius:44px;box-shadow:0 40px 80px rgba(8,7,10,0.28),inset 0 0 0 1px rgba(255,255,255,.08);position:relative;transition:transform .3s var(--ease)}
.phone::before{content:"";position:absolute;top:10px;left:50%;width:70px;height:6px;margin-left:-35px;border-radius:6px;background:#262A3A}
.phone:hover{transform:translateY(-4px) rotate(-.6deg)}
.phone:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.phone img{width:100%;height:auto;border-radius:0 0 34px 34px}
.story-kicker{display:flex;align-items:center;font:600 12.5px/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-txt);margin:0 0 18px}
.story-kicker .flag{height:15px;margin-right:10px}
.story-title{font-family:var(--display);font-weight:400;font-size:clamp(34px,4vw,56px);line-height:1.06;letter-spacing:-.015em;margin:0 0 20px;color:var(--text)}
.story-copy>p{color:var(--text-2);font-size:18px;max-width:560px}
.story-tags{list-style:none;padding:0;margin:6px 0 28px;display:flex;flex-wrap:wrap;gap:8px}
.story-tags li{font:600 11.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-txt);border:1px solid var(--line-2);border-radius:999px;padding:9px 13px;background:var(--paper)}
.story-copy .fine{margin-top:18px}
.wall{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.wall-chat{all:unset;box-sizing:border-box;cursor:zoom-in;display:flex;flex-direction:column;align-items:center;gap:18px;background:linear-gradient(160deg,var(--ink-2),var(--ink));border-radius:24px;padding:30px 30px 22px;transition:transform .25s var(--ease)}
.wall-chat:hover{transform:translateY(-4px)}
.wall-chat:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wall-chat img{width:100%;max-width:240px;filter:drop-shadow(0 18px 26px rgba(0,0,0,.5))}
.wall-cap{font:600 11.5px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);text-align:center}

/* ---------- 02 how it works (ink) ---------- */
.how{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:88px;align-items:center}
.how .h2{margin-bottom:20px}
.how .lead{margin-bottom:38px}
.steps{list-style:none;padding:0;margin:0 0 34px;display:grid;gap:0;position:relative}
.steps li{display:flex;gap:18px;align-items:flex-start;padding:0 0 26px;position:relative}
.steps li:not(:last-child)::before{content:"";position:absolute;left:21px;top:46px;bottom:4px;width:1px;background:linear-gradient(var(--gold),rgba(217,70,124,0.15))}
.step-n{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);font:400 19px/1 var(--display);font-style:italic;color:var(--gold-2);background:var(--ink)}
.steps b{display:block;font-weight:600;font-size:17px;color:var(--star);margin:9px 0 2px}
.steps div{color:var(--star-2);font-size:15.5px;line-height:1.45}
.how-note{display:flex;gap:10px;align-items:flex-start;margin:22px 0 0;font-size:14.5px;color:rgba(245,238,226,.66);max-width:480px}
.how-note .ic{color:var(--gold);margin-top:3px}
.how-visual{max-width:480px;width:100%;justify-self:end}
.book-photos{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-bottom:22px}
.book-photos img{width:100%;height:230px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow-lg)}
.gets{list-style:none;padding:22px 24px;margin:0;display:grid;gap:14px;border:1px solid var(--ink-line);border-radius:20px;background:rgba(255,255,255,.03)}
.gets li{display:flex;gap:12px;align-items:center;font-weight:500;color:var(--star)}
.gets .ic{color:var(--gold-2);width:20px;height:20px}
.form-card{background:var(--paper);color:var(--text);border-radius:26px;padding:38px 34px 28px;box-shadow:0 40px 90px rgba(0,0,0,.45),0 0 0 1px rgba(242,141,177,0.262);position:sticky;top:104px;scroll-margin-top:110px}
.form-kicker{display:flex;align-items:center;gap:8px;font:600 11.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-txt);margin:0 0 10px}
.form-kicker .ic{width:15px;height:15px}
.form-title{font-family:var(--display);font-weight:400;font-size:36px;line-height:1.1;margin:0 0 6px}
.form-sub{color:var(--muted);font-size:15.5px;margin:0 0 22px}
.field{margin-bottom:16px}
.field label,.field .lbl{display:block;font-weight:600;font-size:14px;letter-spacing:.01em;margin-bottom:7px;color:var(--text-2)}
.lbl-hint{font-weight:400;color:var(--muted);font-size:13px;margin-left:4px}
.field input{width:100%;min-height:52px;padding:13px 16px;border:1px solid var(--line);border-radius:var(--r-sm);font:16px var(--sans);color:var(--text);background:#fff;transition:border-color .15s,box-shadow .15s}
.field input::placeholder{color:#6E6A76}
.field input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 4px rgba(217,70,124,0.2)}
.fmsg{display:none;color:var(--err);font-size:13px;margin-top:6px;font-weight:500}
.field.err input{border-color:var(--err)}
.field.err .fmsg{display:block}
.topic-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.topic-opt,.field .topic-opt{position:relative;display:flex;margin:0}
.topic-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;z-index:1}
.topic-card{flex:1;display:flex;align-items:center;gap:10px;min-height:50px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-weight:500;font-size:14.5px;line-height:1.3;color:var(--text-2);transition:all .15s var(--ease)}
.topic-card::before{content:"";flex:none;width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);transition:all .15s}
.topic-opt:hover .topic-card{border-color:var(--gold)}
.topic-opt input:checked+.topic-card{border-color:var(--ink);background:var(--ink);color:var(--star)}
.topic-opt input:checked+.topic-card::before{border-color:var(--gold-2);background:var(--gold-2);box-shadow:inset 0 0 0 3px var(--ink)}
.topic-opt input:focus-visible+.topic-card{outline:2px solid var(--gold);outline-offset:2px}
.field.err .topic-card{border-color:#FF7FA0}
.form-card .btn-block{margin-top:6px;min-height:58px}
.btn-block[disabled]{opacity:.6;cursor:wait}
.form-assure{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}
.form-assure li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--text-2);line-height:1.4}
.form-assure .ic{color:var(--gold-txt);width:16px;height:16px;margin-top:1px}
.form-legal{font-size:12px;color:#8E8A96;margin:12px 0 0;line-height:1.5}
.form-legal a{color:#8E8A96}

/* ---------- 03 services ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line-2);border-left:1px solid var(--line-2)}
.svc{display:flex;flex-direction:column;padding:44px 44px 36px;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);transition:background .3s var(--ease)}
.svc:hover{background:var(--paper)}
.svc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.svc-ic{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--ink);color:var(--gold-2);flex:none}
.svc-ic .ic{width:24px;height:24px}
.svc-n{font:400 44px/1 var(--display);font-style:italic;color:var(--gold);opacity:.75}
.svc h3{font-family:var(--display);font-weight:400;font-size:30px;line-height:1.12;color:var(--text);margin:0 0 10px}
.svc-intro{color:var(--muted);font-size:16px;margin:0 0 20px}
.svc-list{list-style:none;padding:20px 0 0;margin:0 0 24px;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;flex:1;align-content:start;border-top:1px solid var(--line)}
.svc-list li{display:flex;gap:9px;align-items:flex-start;font-weight:500;font-size:15.5px;line-height:1.35;color:var(--text)}
.svc-list .ic{color:var(--gold-txt);margin-top:2px;width:16px;height:16px}
.svc-go{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;min-height:44px;font:600 12.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--text);text-decoration:none;border-bottom:1px solid var(--gold)}
.svc-go:hover{color:var(--gold-txt)}
.svc-go .ic{transition:transform .2s}
.svc-go:hover .ic{transform:translateX(3px)}
.svc-note{text-align:center;max-width:780px;margin:36px auto 0;font-size:13.5px;color:var(--muted)}

/* ---------- 04 about + credentials (ink) ---------- */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:88px;align-items:center}
.collage{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:1fr 1fr;gap:14px;max-width:540px;width:100%;margin:0 auto}
.c-main{grid-row:1 / span 2;width:100%;height:100%;min-height:440px;object-fit:cover;border-radius:999px 999px 22px 22px;box-shadow:var(--shadow-lg)}
.c-side{width:100%;height:100%;object-fit:cover;border-radius:18px;box-shadow:var(--shadow-lg)}
.c-round{width:100%;height:100%;object-fit:cover;object-position:22% 40%;border-radius:18px;box-shadow:var(--shadow-lg)}
.about-copy .lead{font-family:var(--display);font-style:italic;font-size:24px;line-height:1.4;color:var(--gold-2);margin-bottom:22px}
.about-copy>p{color:var(--star-2)}
.facts{list-style:none;padding:22px 0 0;margin:26px 0 32px;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;border-top:1px solid var(--ink-line)}
.facts li{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:15px;color:var(--star)}
.facts .ic{color:var(--gold);margin-top:3px}
:where(.zoom){all:unset;cursor:zoom-in;display:block;box-sizing:border-box}
:where(.zoom):focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- 05 readings ---------- */
.menu{border-top:1px solid var(--text)}
.menu-row{display:grid;grid-template-columns:56px minmax(0,1.05fr) minmax(0,1.6fr) auto;gap:30px;align-items:center;padding:32px 0;border-bottom:1px solid rgba(255,255,255,.12);transition:background .2s var(--ease)}
.menu-n{font:400 26px/1 var(--display);font-style:italic;color:var(--gold-lg)}
.menu-name h3{font-family:var(--display);font-weight:400;font-size:28px;line-height:1.15;margin:0 0 10px}
.tag{display:inline-block;font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:7px 11px}
.tag-gold{color:var(--ink);background:var(--gold-2);border-color:var(--gold-2)}
.menu-row p{margin:0;color:var(--text-2)}
.menu-go{display:inline-flex;align-items:center;gap:6px;min-height:44px;font:600 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--text);text-decoration:none;border-bottom:1px solid var(--gold)}
.menu-go:hover{color:var(--gold-txt)}
.session-facts{list-style:none;padding:0;margin:32px 0 0;display:flex;flex-wrap:wrap;gap:12px 28px}
.session-facts li{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--text-2)}
.session-facts .ic{color:var(--gold-txt)}

/* ---------- 06 method ---------- */
.method{list-style:none;padding:0;margin:0 0 48px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-2)}
.method li{padding:40px 36px 8px 0;margin-right:36px;border-right:1px solid var(--line)}
.method li:last-child{border-right:0;margin-right:0;padding-right:0}
.method-n{display:block;font:400 76px/1 var(--display);color:transparent;-webkit-text-stroke:1px var(--gold);margin-bottom:22px}
.method h3{font-family:var(--display);font-weight:400;font-size:26px;line-height:1.2;margin:0 0 10px}
.method p{color:var(--muted);margin:0}
.honest{display:flex;gap:16px;align-items:flex-start;background:var(--ink);color:var(--star);border-radius:var(--r);padding:26px 30px}
.honest .ic{color:var(--gold-2);width:26px;height:26px;margin-top:2px}
.honest p{margin:0;font-size:16.5px;color:var(--star-2)}
.honest b{color:var(--star)}

/* ---------- videos ---------- */
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.yt-facade{position:relative;aspect-ratio:16/9;background:#000 center/cover no-repeat;border-radius:14px;cursor:pointer;overflow:hidden;border:0;padding:0;width:100%}
.yt-facade .play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:rgba(8,7,10,0.35);font-size:48px}

/* ---------- 07 zodiac match ---------- */
.zod-block{max-width:860px;margin:0 auto;position:relative}
.zod-label{font:600 12.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.zodiac{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:26px}
.zod{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:64px;padding:12px 4px 10px;border:1px solid var(--ink-line);border-radius:14px;color:rgba(245,238,226,.82);transition:all .15s var(--ease);text-align:center;background:rgba(255,255,255,.02)}
.zod .n{font-family:var(--display);font-size:18px;line-height:1.1;color:var(--gold-2)}
.zod .d{font-size:11.5px;letter-spacing:.02em;color:rgba(245,238,226,.72)}
.zod:hover{border-color:var(--gold)}
.zod[aria-checked="true"]{background:var(--gold-2);border-color:var(--gold-2);color:var(--ink)}
.zod[aria-checked="true"] .n,.zod[aria-checked="true"] .d{color:var(--ink)}
.zod:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
.match-result{display:none;text-align:center;background:var(--ink-2);border:1px solid var(--ink-line);border-radius:var(--r);padding:30px 26px}
.match-result.show{display:block}
.match-score{font-family:var(--display);font-style:italic;font-size:48px;line-height:1;color:var(--gold-2);margin:0 0 8px}
.match-result h3{font-family:var(--display);font-size:26px;margin:0 0 8px;color:var(--star)}
.match-result p{color:var(--star-2);max-width:560px;margin:0 auto 20px}

/* ---------- 08 faq ---------- */
.faq-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px;align-items:start}
.faq-side{position:sticky;top:120px}
.faq-side .lead{margin-bottom:26px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--text)}
.faq summary{list-style:none;cursor:pointer;padding:24px 50px 24px 0;font-family:var(--display);font-weight:400;font-size:22px;line-height:1.3;position:relative;color:var(--text);transition:color .2s}
.faq summary:hover{color:var(--gold-lg)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:11px;height:11px;border-right:1.5px solid var(--gold-txt);border-bottom:1.5px solid var(--gold-txt);transform:translateY(-70%) rotate(45deg);transition:transform .2s var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details>div{padding:0 34px 24px 0;color:var(--text-2)}

/* ---------- closing ---------- */
.closing{overflow:hidden;background:radial-gradient(900px 460px at 30% 10%,#4A1D38 0%,rgba(74,29,56,0) 70%),var(--ink);color:var(--star);padding:120px 0}
.closing-in{display:grid;grid-template-columns:360px minmax(0,1fr);gap:80px;align-items:center;max-width:1060px}
.closing .overline{color:var(--gold)}
.closing .h2{color:var(--star);font-size:clamp(44px,6vw,80px)}
.closing .accent{color:var(--gold-2)}
.closing .lead{margin-bottom:30px}
.closing-ctas{display:flex;gap:12px;flex-wrap:wrap}
.closing-note{display:flex;align-items:center;gap:8px;margin:22px 0 0;font-size:14px;color:rgba(245,238,226,.6)}
.closing-note .ic{color:var(--gold)}

/* ---------- footer ---------- */
.foot{background:var(--ink-2);color:rgba(245,238,226,.75);padding:70px 0 0;font-size:15.5px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:44px;border-bottom:1px solid var(--ink-line)}
.logo-plate{display:inline-block;background:var(--ivory);border-radius:12px;padding:10px 14px}
.logo-plate img{height:56px;width:auto}
.foot-brand p{margin-top:18px;max-width:340px}
.foot h4{font:600 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:6px 0 18px}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.foot a{color:rgba(245,238,226,.85);text-decoration:none}
.foot a:hover{color:var(--gold-2)}
.foot-legal{padding-top:26px;padding-bottom:28px;font-size:13px;line-height:1.6;color:rgba(245,238,226,.58)}
.foot-legal strong{color:rgba(245,238,226,.88)}
.foot-legal a{color:var(--gold-2)}
.copy{margin:14px 0 0;color:rgba(245,238,226,.45)}

/* ---------- mobile quick-action bar ---------- */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;transition:transform .25s var(--ease);gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(8,7,10,0.97);border-top:1px solid var(--ink-line);backdrop-filter:blur(8px)}
.mbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 10px;border-radius:999px;font:600 13px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.mbar-book{flex:1.4 !important;background:var(--gold-grad);color:var(--ink)}
.mbar-wa{border:1px solid rgba(242,141,177,0.375);color:var(--star)}
.mbar-wa .ic{color:var(--wa)}
body.mbar-off .mbar{transform:translateY(110%)}

/* ---------- cookie notice: in-flow strip at the top, never overlays content ---------- */
.cookie{display:none;background:var(--ink-2);color:rgba(245,238,226,.86);border-bottom:1px solid var(--ink-line);font-size:14px}
.cookie.show,.cc-pending .cookie{display:block}
.cookie-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px}
.cookie p{margin:0}
.cookie a{color:var(--gold-2)}
.cookie-row{display:flex;gap:8px;flex:none}
.cookie button{font:600 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;min-height:40px;padding:10px 14px;border-radius:999px;border:1px solid rgba(242,141,177,0.338);background:transparent;color:var(--star);cursor:pointer}
.cookie button.ok{background:var(--gold-2);border-color:var(--gold-2);color:var(--ink)}

/* ---------- modals ---------- */
.modal{position:fixed;inset:0;background:rgba(6,5,8,.82);display:none;align-items:center;justify-content:center;z-index:150;padding:20px;backdrop-filter:blur(3px)}
.modal.show{display:flex}
.modal-card{background:var(--paper);border-radius:22px;max-width:460px;width:100%;padding:38px 32px 32px;text-align:center;position:relative}
.modal-card .overline{justify-content:center}
.modal-card .h2{font-size:40px}
.modal-card p{color:var(--muted)}
.modal-x{position:absolute;top:8px;right:10px;background:none;border:0;cursor:pointer;font-size:28px;color:var(--muted);width:44px;height:44px;line-height:1}
.modal-x-light{color:var(--star);font-size:36px}
.lightbox img{max-height:88vh;width:auto;border-radius:8px}

/* live toast (real entries only) */
.live-toast{position:fixed;left:22px;bottom:96px;max-width:calc(100% - 44px);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 14px;box-shadow:var(--shadow);opacity:0;transition:opacity .4s;z-index:80;font-size:14px;pointer-events:none}
.live-toast.show{opacity:1}

/* ---------- inner pages ---------- */
.page-hero{position:relative;overflow:hidden;background:radial-gradient(800px 360px at 15% 0%,#4A1D38 0%,rgba(74,29,56,0) 70%),var(--ink);color:var(--star);padding:70px 0 60px}
.page-hero .container{position:relative}
.page-hero h1{font-family:var(--display);font-weight:400;font-size:clamp(38px,5vw,60px);line-height:1.08;letter-spacing:-.01em;margin:0}
.page-hero p{margin:12px 0 0;color:rgba(245,238,226,.78)}
.prose{max-width:780px;margin:0 auto;padding:60px 24px 90px}
.prose h2{font-family:var(--display);font-weight:400;font-size:27px;line-height:1.25;margin:34px 0 10px;color:var(--text)}
.prose ul{padding-left:20px}
.prose li{margin-bottom:6px}
.ty-steps{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}
.ty-steps li{display:flex;gap:16px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.ty-steps .num{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--gold);font:400 18px/1 var(--display);font-style:italic;color:var(--gold-txt)}
.prose .btn-wa,.prose .btn-red{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:15px 26px;border-radius:999px;font:600 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;background:var(--ink);color:var(--star)}
.prose .btn-wa .ic{color:var(--wa)}
.ty-more{margin:26px 0;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:16px}
.ty-more label{display:block;font-weight:600;margin-bottom:8px}
.ty-more textarea{width:100%;min-height:120px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:16px/1.5 var(--sans);resize:vertical}
.ty-more textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(217,70,124,0.2)}
.starters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.starters button{all:unset;cursor:pointer;font-size:13.5px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--text-2);background:#fff}
.starters button:hover{border-color:var(--gold)}
.ty-more .btn{margin-top:12px}
.ty-ok{display:none;color:#2E6B4A;font-weight:600;margin-top:10px}

/* ---------- motion preferences ---------- */
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;scroll-behavior:auto !important}
  .js [data-r]{opacity:1;transform:none}
  .marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .mq-set[aria-hidden="true"],.mq-toggle{display:none}
}

/* ---------- responsive ---------- */
@media (max-width:1160px){
  .nav-links{gap:20px}
  .hero-grid{gap:48px}
}
@media (max-width:1080px){
  .foot-grid{grid-template-columns:1fr 1fr}
  .menu-row{grid-template-columns:44px minmax(0,1fr) auto;gap:8px 24px}
  .menu-row p{grid-column:2 / 3}
  .menu-go{grid-column:3;grid-row:1}
}
@media (max-width:960px){
  .nav-links{display:none}
  .hero{padding:30px 0 60px}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .hero-id{display:flex;align-items:center;gap:14px;margin:0 0 24px}
  .hero-id img{width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--ink),0 0 0 3px var(--gold)}
  .hero-id p{margin:0;display:flex;flex-direction:column;line-height:1.3}
  .hero-id b{font-family:var(--display);font-weight:400;font-size:18px;color:var(--star)}
  .hero-id span{font-size:13px;color:rgba(245,238,226,.66)}
  .hero-visual{max-width:440px;justify-self:center}
  .shead{grid-template-columns:1fr;gap:18px;margin-bottom:48px}
  .shead-sub{justify-self:start;max-width:620px}
  .story,.story-alt{grid-template-columns:1fr;gap:40px;padding-bottom:64px;margin-bottom:64px}
  .story-alt .phone{order:0}
  .phone{max-width:300px}
  .how,.about,.faq-wrap{grid-template-columns:1fr;gap:56px}
  .how-visual{justify-self:start}
  .faq-side{position:static}
  .method{grid-template-columns:1fr;border-top:0}
  .method li{border-right:0;margin-right:0;padding:28px 0;border-top:1px solid var(--line-2);display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:20px}
  .method-n{grid-row:1 / span 2;font-size:56px;margin:0}
  .closing-in{grid-template-columns:1fr;text-align:center;gap:44px}
  .closing .overline,.closing-note,.closing-ctas{justify-content:center}
  .closing .lead{margin-left:auto;margin-right:auto}
  .ribbon-head{flex-direction:column;align-items:flex-start;gap:12px}
}
@media (max-width:860px){
  .mbar{display:flex}
  body{padding-bottom:74px}
  .live-toast{bottom:88px}
  .cookie-in{flex-direction:column;align-items:flex-start;gap:8px}
  .cookie-row{align-self:stretch}
  .cookie-row button{flex:1}
  .wall{grid-template-columns:1fr 1fr}
  .wall-chat:last-child{display:none}
  .svc-grid{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .container{padding:0 18px}
  .sec{padding:84px 0}
  .nav-in{min-height:70px}
  .logo img{height:46px}
  .nav-cta .btn-sm{display:none}
  .hero h1{font-size:40px;line-height:1.12}
  .eyebrow{font-size:11.5px;letter-spacing:.12em;line-height:1.5;margin-bottom:16px}
  .eyebrow::before{display:none}
  .hero h1.h1-long{font-size:34px}
  .hero h1.h1-statement{font-size:32px;line-height:1.18}
  .hero-id b{font-size:17px}
  .hero-sub{font-size:17.5px}
  .hero-visual{max-width:380px;gap:10px}
  .ribbon{padding:28px 0 32px}
  .ribbon-head b{font-size:21px}
  .mq-card,.mq-shot{width:220px;height:230px}
  .mq-quote blockquote{font-size:18px}
  .story-title{font-size:34px}
  .story-copy>p{font-size:17px}
  .wall{grid-template-columns:1fr;max-width:320px;margin:0 auto}
  .wall-chat:last-child{display:flex}
  .hero-form{padding:20px 16px 18px;border-radius:22px;margin-left:-4px;margin-right:-4px}
  .hero-form .topic-opts{gap:7px}
  .hero-form .topic-card{font-size:14px;padding:9px 13px}
  .step-lbl{font-size:12px;letter-spacing:.1em}
  .book-photos img{height:150px}
  .svc{padding:30px 20px 26px}
  .svc h3{font-size:26px}
  .svc-list{grid-template-columns:1fr}
  .collage{gap:10px}
  .c-main{min-height:320px}
  .about-copy .lead{font-size:21px}
  .facts{grid-template-columns:1fr}
  .menu-row{grid-template-columns:1fr;gap:10px}
  .menu-row p,.menu-go{grid-column:auto;grid-row:auto}
  .menu-go{justify-self:start}
  .zodiac{grid-template-columns:repeat(3,1fr)}
  .zod{padding:10px 6px 9px}
  .zod .n{font-size:16px}
  .closing{padding:88px 0}
  .faq summary{font-size:19px}
  .honest{padding:22px 20px}
}
.shead+.menu,.shead+.method{border-top:0}
.shead+.method li{padding-top:8px}
@media (max-width:640px){
  .hero-form .topic-opts{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .hero-form .topic-card{border-radius:14px;padding:9px 10px;font-size:13.5px;min-height:50px;gap:8px}
  .wall{grid-template-columns:1fr 1fr;max-width:none;gap:12px}
  .wall-chat{padding:18px 12px 14px;gap:12px;border-radius:18px}
  .wall-chat:last-child{display:none}
  .wall-cap{font-size:10px;letter-spacing:.1em}
}


/* ---------- v3: round portrait with gold rings ---------- */
.halo{position:relative;width:100%;max-width:470px;aspect-ratio:1/1;isolation:isolate}
.halo::before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,rgba(242,141,177,0.225),rgba(242,141,177,0.0) 70%);filter:blur(26px);z-index:-1;pointer-events:none}
.halo-rings{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.halo-rings circle{fill:none}
.r-out{stroke:rgba(242,141,177,0.15);stroke-width:1}
.r-orbit>circle:first-child{stroke:rgba(242,141,177,0.375);stroke-width:1;stroke-dasharray:2 8}
.r-orbit .dot{fill:rgba(242,141,177,0.562);stroke:none}
.r-orbit .dot-lg{fill:var(--gold-2)}
.r-in{stroke:var(--gold);stroke-width:1.4}
.r-orbit{transform-box:view-box;transform-origin:300px 300px;animation:orbit 140s linear infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
.halo-img{position:absolute;top:13%;left:13%;width:74%;height:74%;border-radius:50%;object-fit:cover;background:var(--ink-2);box-shadow:0 34px 80px rgba(0,0,0,.55),0 0 0 7px rgba(8,7,10,0.9)}
.hero-name{margin:8px 0 24px;display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-name b{font-family:var(--display);font-weight:400;font-size:30px;line-height:1.15;color:var(--star)}
.hero-name span{font:600 11.5px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);margin-top:6px}
.medals{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%}
.medals li{display:flex}
.medal{all:unset;box-sizing:border-box;width:100%;cursor:zoom-in;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:18px 8px 15px;border:1px solid var(--ink-line);border-radius:18px;background:rgba(255,255,255,.03);transition:border-color .2s var(--ease),transform .2s var(--ease),background .2s var(--ease)}
.medal:hover{border-color:rgba(242,141,177,0.45);background:rgba(242,141,177,0.045);transform:translateY(-2px)}
.medal:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
.medal-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--gold-grad);color:var(--ink);margin-bottom:8px;box-shadow:0 8px 18px rgba(217,70,124,0.25)}
.medal-ic .ic{width:20px;height:20px}
.medal b{font:600 13.5px/1.25 var(--sans);color:var(--star)}
.medal small{font-size:12px;line-height:1.3;color:rgba(245,238,226,.6)}
.halo-sm{max-width:340px;margin:0 auto}

/* New York proof line under the form */
.hero-proof{all:unset;box-sizing:border-box;cursor:zoom-in;display:flex;align-items:center;gap:14px;width:100%;padding:12px 18px 12px 12px;border-radius:20px;border:1px solid var(--ink-line);background:rgba(255,255,255,.03);transition:border-color .2s var(--ease),background .2s var(--ease)}
.hero-proof:hover{border-color:rgba(242,141,177,0.413);background:rgba(242,141,177,0.038)}
.hero-proof:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
.hero-proof>img{flex:none;width:66px;height:66px;object-fit:cover;object-position:center top;border-radius:14px}
.hero-proof b{display:block;font-family:var(--display);font-weight:400;font-style:italic;font-size:18px;line-height:1.35;color:var(--star)}
.hero-proof small{display:flex;align-items:center;flex-wrap:wrap;font-size:12.5px;line-height:1.4;color:rgba(245,238,226,.6);margin-top:5px}

/* form panel header */
.form-head{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--ink-line)}
.form-head b{font-family:var(--display);font-weight:400;font-size:25px;line-height:1.15;color:var(--star)}
.form-head span{display:inline-flex;align-items:center;gap:7px;font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2)}
.form-head .ic{width:14px;height:14px}

/* ---------- v3: award spotlight ---------- */
.spot-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:96px;align-items:center}
.spot-cert{margin:0;width:100%;max-width:400px;justify-self:center;text-align:center}
.spot-cert .zoom{padding:14px;background:#fff;border-radius:10px;box-shadow:0 44px 100px rgba(0,0,0,.55),0 0 0 1px rgba(242,141,177,0.338);transition:transform .3s var(--ease)}
.spot-cert .zoom:hover{transform:translateY(-5px)}
.spot-cert img{width:100%;height:auto;border-radius:4px}
.spot-cert figcaption{margin-top:18px;font:600 11.5px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:rgba(245,238,226,.5)}
.spot-copy .lead{margin-bottom:34px}
.spot-list{list-style:none;padding:0;margin:0 0 36px;display:grid;gap:12px;max-width:540px}
.spot-list li{display:flex;align-items:center;gap:18px;padding:12px 18px 12px 12px;border:1px solid var(--ink-line);border-radius:18px;background:rgba(255,255,255,.03)}
.spot-thumb{flex:none;width:96px;padding:4px;background:#fff;border-radius:8px;transition:transform .2s var(--ease)}
.spot-thumb:hover{transform:scale(1.04)}
.spot-thumb img{width:100%;height:auto;border-radius:4px}
.spot-list b{display:block;font-family:var(--display);font-weight:400;font-size:21px;line-height:1.2;color:var(--star)}
.spot-list span{font-size:14px;color:var(--star-2)}

@media (max-width:960px){
  .hero-visual{justify-self:center}
  .halo{max-width:400px}
  .spot-grid{grid-template-columns:1fr;gap:52px}
  .spot-cert{max-width:340px}
}
@media (max-width:640px){
  .halo{max-width:310px}
  .hero-name b{font-size:24px}
  .hero-name span{font-size:10px;letter-spacing:.16em}
  .medals{gap:8px}
  .medal{padding:14px 5px 12px;border-radius:14px}
  .medal-ic{width:36px;height:36px;margin-bottom:6px}
  .medal b{font-size:12px}
  .medal small{font-size:11px}
  .hero-proof{padding:10px 12px 10px 10px;gap:12px}
  .hero-proof>img{width:56px;height:56px}
  .hero-proof b{font-size:15.5px}
  .form-head b{font-size:21px}
  .spot-cert{max-width:280px}
  .spot-list li{gap:14px;padding:10px 14px 10px 10px}
  .spot-thumb{width:78px}
  .spot-list b{font-size:18px}
  .halo-sm{max-width:260px}
}


/* =====================================================================
   v4: dark "cosmic rose" theme, after the AstroNex reference.
   Charcoal base, rose/plum glows, glass cards, DM Sans headings with
   dim-grey text and white key words. Nothing overlaps anything.
   ===================================================================== */
body{background:var(--ink);color:var(--text-2)}
a{color:var(--gold-2)}
h1,h2,h3,h4{letter-spacing:-.02em}
.h2{font-weight:400;color:var(--head-dim);font-size:clamp(36px,4.5vw,60px);line-height:1.1;letter-spacing:-.035em}
.h3{font-weight:400;color:var(--head-dim);letter-spacing:-.025em}
.accent,.sec-ink .accent,.closing .accent{font-style:normal;color:var(--text);font-family:inherit}
.sec-ink .h2,.sec-ink .h3,.closing .h2{color:var(--head-dim)}
.lead{color:var(--text-2)}
.lead.dark,.shead-sub,.sec-sub,.fine,.svc-note{color:var(--muted)}

/* silver-rose gem before big statements (inline, never on top of text) */
.shead .h2::before,.spot-copy .h2::before,.about-copy .h2::before,.how-copy .h2::before,.faq-side .h2::before,.closing .h2::before,.sec-head .h2::before{content:"";display:inline-block;width:.46em;height:.46em;margin:0 .55em .1em .16em;vertical-align:middle;transform:rotate(45deg);border-radius:.07em;background:linear-gradient(135deg,#FFFFFF 0%,#EBCBD8 30%,#B4698B 62%,#F7DFE9 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 6px 18px rgba(217,70,124,.4)}

/* section label rows: icon + label left, number right, hairline under */
.overline{font:500 14.5px/1.2 var(--sans);letter-spacing:0;text-transform:none;color:var(--text);display:flex;align-items:center;gap:10px;margin:0 0 34px;padding-bottom:16px;border-bottom:1px solid var(--line-2)}
.overline::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;border:1px solid var(--gold-2);background:radial-gradient(circle,var(--gold-2) 0 2px,transparent 2.6px);opacity:1}
.overline .idx{order:3;margin-left:auto;font:500 14.5px/1 var(--sans);letter-spacing:.02em;color:var(--text)}
.overline:has(.idx)::before{order:0}
.sec-ink .overline,.closing .overline,.sec-ink .overline .idx{color:var(--text)}
.sec-head.center .overline,.overline.center{justify-content:center;border-bottom:0;padding-bottom:0}
.sec-head.center .overline::after,.overline.center::after{display:none}
.shead{border-bottom:0;padding-bottom:0;margin-bottom:72px;row-gap:26px}
.shead::after{display:none}
.shead>.overline{grid-column:1/-1;margin:0}

/* buttons: sentence case pills */
.btn{font:500 15.5px/1 var(--sans);letter-spacing:.005em;text-transform:none;min-height:54px;padding:16px 28px}
.btn-sm{font-size:14px;min-height:44px;padding:12px 20px}
.btn-gold{background:var(--gold-grad);color:#fff;box-shadow:0 14px 34px rgba(217,70,124,.34),inset 0 1px 0 rgba(255,255,255,.28)}
.btn-gold:hover{box-shadow:0 18px 42px rgba(217,70,124,.46),inset 0 1px 0 rgba(255,255,255,.32)}
.btn-dark{background:#25232A;color:var(--text);border-color:var(--line-2)}
.btn-dark:hover{background:#2E2C33}
.btn-line,.btn-line-dark{border-color:var(--line-2);color:var(--text);background:rgba(255,255,255,.04)}
.btn-line:hover,.btn-line-dark:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.28);color:var(--text)}

/* chrome */
.staging-bar{background:#2B1823;color:var(--gold-2)}
.nav{background:rgba(13,12,15,.84);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.3) blur(14px)}
.nav .logo{background:#FAF7F1;border-radius:12px;padding:5px 10px}
.nav .logo img{height:46px}
.nav-links a{color:var(--text-2)}
.nav-links a:hover{color:#fff}
.nav-links a::after{background:var(--gold-2)}
.nav-icon{background:rgba(255,255,255,.05);border-color:var(--line-2);color:var(--text)}
.nav-wa{color:var(--wa)}
.cookie{background:#18171B}
.mbar{background:rgba(13,12,15,.96)}
.mbar a{font:500 14.5px/1 var(--sans);letter-spacing:0;text-transform:none}
.mbar-book{color:#fff}
.mbar-wa{border-color:var(--line-2)}

/* section backgrounds: charcoal steps with rose glows */
.sec{background:var(--ink)}
.sec-sand{background:var(--sand)}
.sec-ink{background:radial-gradient(640px 400px at 6% 40%,rgba(122,38,78,.30),rgba(122,38,78,0) 70%),radial-gradient(560px 380px at 94% 64%,rgba(90,30,66,.24),rgba(90,30,66,0) 70%),#0E0D10}
.hero-sky{opacity:.55}.hero-sky.soft{opacity:.25}

/* hero */
.hero{background:radial-gradient(900px 640px at 12% 8%,rgba(128,40,82,.5) 0%,rgba(128,40,82,0) 70%),radial-gradient(760px 620px at 88% 42%,rgba(96,32,72,.42) 0%,rgba(96,32,72,0) 70%),#0D0C0F;padding-bottom:160px}
.hero::before{content:"";position:absolute;left:50%;bottom:-1660px;width:2200px;height:1780px;margin-left:-1100px;border-radius:50%;background:radial-gradient(closest-side,#191317 93%,#0D0C0F 100%);box-shadow:0 -1px 0 rgba(242,125,164,.6),0 -26px 90px rgba(217,70,124,.26);z-index:0;pointer-events:none}
.eyebrow{font:500 14.5px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--text-2);gap:10px}
.eyebrow::before{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px rgba(217,70,124,.9);opacity:1}
.hero h1{font-weight:500;color:var(--text);letter-spacing:-.035em}
.hero h1.h1-statement{font-size:clamp(34px,3.5vw,50px);line-height:1.12}
.hero h1 .accent{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero h1 .h1-name{color:var(--text)}
.hero-sub{color:var(--text-2)}
.hero-id b{font-family:var(--sans);font-weight:500;color:var(--text)}
.hero-form{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02)),rgba(20,19,23,.6);border-color:rgba(255,255,255,.12);box-shadow:0 30px 70px rgba(0,0,0,.45);backdrop-filter:blur(8px)}
.form-head{border-bottom-color:var(--line)}
.form-head b{font-weight:500;font-size:22px;letter-spacing:-.02em}
.step-lbl{font:500 14px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--text)}
.step-dot{background:var(--gold-grad);color:#fff;font:600 13px/1 var(--sans)}
.hero-form .topic-card{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.035);color:var(--text-2)}
.hero-form .topic-card::before{border-color:rgba(255,255,255,.35)}
.hero-form .topic-opt:hover .topic-card{border-color:rgba(242,141,177,.6);background:rgba(217,70,124,.1);color:var(--text)}
.hero-form .topic-opt input:checked+.topic-card{background:var(--gold-grad);border-color:transparent;color:#fff}
.hero-form .topic-opt input:checked+.topic-card::before{border-color:#fff;background:#fff;box-shadow:inset 0 0 0 3px #C23B6E}
.field input{background:#161519;border:1px solid var(--line-2);color:var(--text)}
.hero-form .field input{border-color:var(--line-2)}
.field input::placeholder{color:#6E6A76}
.field input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(217,70,124,.22)}
.hero-form .field label{color:var(--text-2)}
.hero-proof{background:rgba(255,255,255,.035);border-color:var(--line)}
.hero-proof b{font-style:normal;font-weight:500;font-size:16.5px;letter-spacing:-.01em}
.halo::before{background:radial-gradient(circle,rgba(217,70,124,.38),rgba(217,70,124,0) 70%)}
.r-in{stroke:rgba(242,141,177,.75)}
.r-orbit .dot-lg{fill:var(--gold-2)}
.hero-name b{font-family:var(--sans);font-weight:500;font-size:28px;letter-spacing:-.02em}
.hero-name span{font:500 13.5px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--text-2)}
.medal{background:var(--glass);border-color:var(--line)}
.medal:hover{border-color:rgba(242,141,177,.5);background:linear-gradient(160deg,rgba(217,70,124,.14),rgba(255,255,255,.02))}
.medal-ic{background:var(--gold-grad);color:#fff;box-shadow:0 8px 20px rgba(217,70,124,.3)}
.medal b{font-weight:500}

/* proof ribbon */
.ribbon{background:var(--sand);border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
.ribbon-head b{font-family:var(--sans);font-weight:500;font-size:22px;letter-spacing:-.02em;color:var(--text)}
.mq-toggle{border-color:var(--line-2);color:var(--text-2);font:500 13px/1 var(--sans);letter-spacing:0;text-transform:none}
.mq-shot{background:#1E1D22;border-color:var(--line);box-shadow:none}
.mq-phone{background:linear-gradient(160deg,#211F26,#141317)}
.mq-cap{background:#1E1D22;border-top-color:var(--line);color:var(--gold-2);font:500 12.5px/1.25 var(--sans);letter-spacing:0;text-transform:none}
.mq-quote{background:var(--rose-card);box-shadow:none}
.mq-quote blockquote{font-family:var(--sans);font-style:normal;font-weight:400;font-size:18px;line-height:1.45;letter-spacing:-.01em}
.mq-quote figcaption{color:#fff;border-top-color:rgba(255,255,255,.18)}

/* award spotlight */
.spot-cert figcaption{font:500 13px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}
.spot-list li{background:var(--glass);border-color:var(--line)}
.spot-list b{font-family:var(--sans);font-weight:500;font-size:19px;letter-spacing:-.015em}

/* stories */
.story{border-bottom-color:var(--line)}
.story-kicker{font:500 14px/1.2 var(--sans);letter-spacing:0;text-transform:none;color:var(--gold-2)}
.story-title{font-weight:400;color:var(--head-dim);letter-spacing:-.035em}
.story-copy>p{color:var(--text-2)}
.story-tags li{background:rgba(255,255,255,.04);border-color:var(--line-2);color:var(--text-2);font:500 13px/1 var(--sans);letter-spacing:0;text-transform:none}
.phone{box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.1),0 0 80px rgba(217,70,124,.12)}
.wall-chat{background:linear-gradient(160deg,#1F1D24,#141317);border:1px solid var(--line)}
.wall-cap{font:500 13px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--gold-2)}

/* how it works */
.step-n{background:#141317;border-color:rgba(242,141,177,.6);color:var(--gold-2);font:500 17px/1 var(--sans)}
.steps b{color:var(--text)}
.gets{background:var(--glass);border-color:var(--line)}

/* services: glass cards */
.svc-grid{border:0;gap:20px}
.svc{background:var(--glass),#17161B;border:1px solid var(--line);border-radius:26px;padding:38px 36px 30px}
.svc:hover{background:linear-gradient(160deg,rgba(217,70,124,.14),rgba(255,255,255,.015)),#17161B;border-color:rgba(242,141,177,.32)}
.svc-ic{background:var(--gold-grad);color:#fff;box-shadow:0 10px 24px rgba(217,70,124,.3)}
.svc-n{font:300 40px/1 var(--sans);font-style:normal;color:var(--gold-2);opacity:.85}
.svc h3{font-weight:500;color:var(--text);letter-spacing:-.025em}
.svc-intro{color:var(--muted)}
.svc-list{border-top-color:var(--line)}
.svc-list li{color:var(--text-2)}
.svc-list .ic{color:var(--gold-2)}
.svc-go{color:var(--text);border-bottom-color:var(--gold);font:500 14.5px/1 var(--sans);letter-spacing:0;text-transform:none}

/* about */
.about-copy .lead{font-family:var(--sans);font-style:normal;font-weight:400;font-size:22px;color:var(--text);letter-spacing:-.015em}
.facts{border-top-color:var(--line)}
.facts li{color:var(--text)}
.facts .ic{color:var(--gold-2)}

/* readings */
.menu{border-top:1px solid var(--line-2)}
.menu-row{border-bottom-color:var(--line)}
.menu-n{font:300 30px/1 var(--sans);font-style:normal;color:var(--gold-2)}
.menu-name h3{font-weight:500;color:var(--text);letter-spacing:-.02em}
.tag{border-color:var(--line-2);color:var(--muted);font:500 12px/1 var(--sans);letter-spacing:0;text-transform:none}
.tag-gold{background:var(--gold-grad);color:#fff;border-color:transparent}
.menu-row p{color:var(--text-2)}
.menu-go{color:var(--text);border-bottom-color:var(--gold);font:500 14.5px/1 var(--sans);letter-spacing:0;text-transform:none}
.session-facts li{color:var(--text-2)}
.session-facts .ic{color:var(--gold-2)}

/* method */
.method,.method li{border-color:var(--line)}
.method-n{font-family:var(--sans);font-weight:300;-webkit-text-stroke:1px var(--gold-2)}
.method h3{font-weight:500;color:var(--text);letter-spacing:-.02em}
.method p{color:var(--muted)}
.honest{background:var(--rose-card);border:1px solid rgba(255,255,255,.08)}
.honest .ic{color:#fff}
.honest p{color:rgba(255,255,255,.82)}
.honest b{color:#fff}

/* love match */
.zod-label{font:500 14px/1 var(--sans);letter-spacing:0;text-transform:none;color:var(--text-2)}
.zod{background:rgba(255,255,255,.03);border-color:var(--line)}
.zod .n{font-family:var(--sans);font-weight:500;color:var(--text)}
.zod .d{color:var(--muted)}
.zod:hover{border-color:rgba(242,141,177,.55)}
.zod[aria-checked="true"]{background:var(--gold-grad);border-color:transparent}
.zod[aria-checked="true"] .n,.zod[aria-checked="true"] .d{color:#fff}
.match-result{background:var(--glass),#17161B;border-color:var(--line)}
.match-score{font-family:var(--sans);font-style:normal;font-weight:300;color:var(--gold-2)}
.match-result h3{font-family:var(--sans);font-weight:500}

/* faq */
.faq details{border-bottom-color:var(--line)}
.faq details:first-child{border-top-color:var(--line-2)}
.faq summary{font-family:var(--sans);font-weight:500;font-size:19.5px;letter-spacing:-.015em;color:var(--text)}
.faq summary:hover{color:var(--gold-2)}
.faq summary::after{border-color:var(--gold-2)}
.faq details>div{color:var(--text-2)}

/* closing + footer */
.closing{background:radial-gradient(760px 380px at 24% 50%,rgba(128,40,82,.45) 0%,rgba(128,40,82,0) 70%),radial-gradient(600px 340px at 90% 55%,rgba(96,32,72,.3),rgba(96,32,72,0) 70%),#0D0C0F}
.foot{background:#0A090C;border-top:1px solid var(--line)}
.foot h4{font:500 14px/1 var(--sans);letter-spacing:0;text-transform:none;color:var(--text)}

/* inner pages */
.page-hero{background:radial-gradient(800px 360px at 15% 0%,rgba(128,40,82,.5) 0%,rgba(128,40,82,0) 70%),#0D0C0F}
.page-hero h1{font-weight:500;letter-spacing:-.03em}
.prose{color:var(--text-2)}
.prose h2{font-weight:500;color:var(--text);letter-spacing:-.02em}
.ty-steps li,.ty-more{background:var(--glass),#17161B;border-color:var(--line)}
.ty-steps .num{font-family:var(--sans);font-style:normal;font-weight:500;border-color:var(--gold-2);color:var(--gold-2)}
.ty-more textarea{background:#161519;border-color:var(--line-2);color:var(--text)}
.starters button{background:rgba(255,255,255,.04);border-color:var(--line-2);color:var(--text-2)}
.prose .btn-wa,.prose .btn-red{font:500 15px/1 var(--sans);letter-spacing:0;text-transform:none;background:#25232A;border:1px solid var(--line-2)}
.ty-ok{color:#7FE0B0}
.modal-card{background:#1A191E;color:var(--text)}

@media (max-width:960px){
  .hero{padding-bottom:150px}
}
@media (max-width:640px){
  .nav .logo img{height:36px}
  .nav .logo{padding:4px 8px}
  .hero h1.h1-statement{font-size:31px;line-height:1.16}
  .hero-name b{font-size:23px}
  .overline{margin-bottom:26px}
  .shead{margin-bottom:48px}
  .svc{padding:28px 20px 24px}
}

.logo-plate{background:#FAF7F1}
.svc-n{letter-spacing:.02em}
.form-head span{font:500 13px/1 var(--sans);letter-spacing:0;text-transform:none}
.cookie button{font:500 13.5px/1 var(--sans);letter-spacing:0;text-transform:none}
.cookie button.ok{background:var(--gold-grad);border-color:transparent;color:#fff}


/* ---------- v5: featured cutout of Parmila in the hero ---------- */
.hero-grid{grid-template-areas:"copy ." "copy stage" "copy meta" "copy .";grid-template-rows:1fr auto auto 1fr;row-gap:0}
.hero-copy{grid-area:copy}
.hero-stage{grid-area:stage;align-self:end;justify-self:end;width:100%;max-width:540px;display:flex;flex-direction:column;align-items:center}
.hero-meta{grid-area:meta;align-self:start;justify-self:end;width:100%;max-width:470px;display:flex;flex-direction:column;align-items:center}
.stage-visual{position:relative;width:100%;aspect-ratio:10/11;isolation:isolate}
.stage-visual::before{content:"";position:absolute;left:6%;right:6%;top:8%;height:72%;border-radius:50%;background:radial-gradient(circle,rgba(217,70,124,.5) 0%,rgba(150,40,95,.22) 45%,rgba(217,70,124,0) 72%);filter:blur(26px);z-index:-1;pointer-events:none}
.stage-rings{position:absolute;left:12%;top:.6%;width:74%;height:auto;aspect-ratio:1/1;overflow:visible;pointer-events:none;z-index:0}
.stage-rings circle{fill:none}
.stage-img{position:absolute;left:7%;bottom:0;width:86%;height:auto;z-index:1;-webkit-mask-image:linear-gradient(to bottom,#000 50%,rgba(0,0,0,.55) 72%,transparent 90%);mask-image:linear-gradient(to bottom,#000 50%,rgba(0,0,0,.55) 72%,transparent 90%);filter:drop-shadow(0 24px 40px rgba(0,0,0,.45))}
.stage-tag{display:none;align-items:center;gap:8px;margin:6px 0 0;padding:9px 16px;border-radius:999px;border:1px solid rgba(242,141,177,.35);background:rgba(217,70,124,.12);font:500 13.5px/1.3 var(--sans);color:var(--text);text-align:center}
.stage-tag .ic{width:15px;height:15px;color:var(--gold-2);flex:none}
.hero-meta .hero-name{margin-top:6px}
@media (max-width:960px){
  .hero-grid{grid-template-areas:"stage" "copy" "meta";grid-template-rows:auto;row-gap:30px}
  .hero-stage,.hero-meta{justify-self:center}
  .hero-stage{max-width:340px}
  .hero-meta{max-width:440px}
  .stage-tag{display:inline-flex}
}
@media (max-width:640px){
  .hero{padding-top:18px}
  .hero-stage{max-width:290px}
  .hero-meta{max-width:none}
  .stage-tag{font-size:12.5px;padding:8px 14px}
}


/* ---------- v6: problem cards (Freepik banners) ---------- */
.probs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.prob{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--glass),#17161B;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.prob:hover{border-color:rgba(242,141,177,.42);transform:translateY(-4px);box-shadow:0 24px 50px rgba(0,0,0,.45),0 0 40px rgba(217,70,124,.12)}
.prob:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
.prob-img{display:block;overflow:hidden;aspect-ratio:4/3;background:#1E1D22}
.prob-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.prob:hover .prob-img img{transform:scale(1.05)}
.prob-body{display:flex;flex-direction:column;gap:6px;flex:1;padding:18px 18px 20px}
.prob-title{font:500 18.5px/1.25 var(--sans);letter-spacing:-.015em;color:var(--text)}
.prob-text{font-size:14.5px;line-height:1.5;color:var(--muted);flex:1}
.prob-go{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font:500 14px/1 var(--sans);color:var(--gold-2)}
.prob-go .ic{width:14px;height:14px;transition:transform .2s var(--ease)}
.prob:hover .prob-go .ic{transform:translateX(3px)}
.probs + .fine{margin-top:26px}
@media (max-width:1080px){.probs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .probs{gap:10px}
  .prob{border-radius:16px}
  .prob-body{padding:12px 12px 14px;gap:4px}
  .prob-title{font-size:15px}
  .prob-text{font-size:12.5px}
  .prob-go{font-size:13px;margin-top:6px}
}

/* ---------- v7: spacing rhythm (8pt scale: 8/16/24/32/48/56/64/88) ---------- */
.sec{padding:88px 0}
.closing{padding:88px 0}
.hero{padding-top:64px;padding-bottom:112px}
.hero::before{bottom:-1708px}
.overline{margin-bottom:24px}
.shead{margin-bottom:48px;row-gap:20px}
.story,.story-alt{padding-bottom:56px;margin-bottom:56px}
.spot-grid{gap:72px}
.about{gap:72px}
.how{gap:72px}
.faq-wrap{gap:64px}
.method{margin-bottom:32px}
.method li{padding-top:28px}
.menu-row{padding:26px 0}
.probs + .fine{margin-top:20px}
.svc-note{margin-top:28px}
.session-facts{margin-top:24px}
.wall + .fine{margin-top:20px}
@media (max-width:960px){
  .sec{padding:72px 0}
  .closing{padding:72px 0}
  .hero{padding-bottom:104px}
  .story,.story-alt{padding-bottom:44px;margin-bottom:44px;gap:28px}
  .spot-grid,.about,.how,.faq-wrap{gap:44px}
}
@media (max-width:640px){
  .sec{padding:56px 0}
  .closing{padding:56px 0}
  .hero{padding-top:16px;padding-bottom:104px}
  .hero-grid{row-gap:24px}
  .overline{margin-bottom:20px;padding-bottom:12px}
  .shead{margin-bottom:32px;row-gap:16px}
  .story,.story-alt{padding-bottom:36px;margin-bottom:36px;gap:24px}
  .spot-grid,.about,.how,.faq-wrap{gap:36px}
  .menu-row{padding:20px 0}
  .faq summary{padding:18px 44px 18px 0}
  .faq details>div{padding-bottom:18px}
  .method li{padding:20px 0}
  .ribbon{padding:24px 0 28px}
  .ribbon-head{margin-bottom:16px}
  .halo-sm{max-width:240px}
}
.sec,.closing{padding:72px 0}
@media (max-width:960px){.sec,.closing{padding:60px 0}}
@media (max-width:640px){.sec,.closing{padding:48px 0}}


/* ---------- v8: topic picker with progressive "More topics" ---------- */
.js #leadForm:not(.more) .topic-more{display:none}
html:not(.js) .topic-toggle{display:none}
.topic-toggle{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin-top:10px;padding:9px 18px;border-radius:999px;border:1px dashed rgba(242,141,177,.55);color:var(--gold-2);font:500 14px/1 var(--sans);transition:background .2s var(--ease),border-color .2s var(--ease)}
.topic-toggle:hover{background:rgba(217,70,124,.1);border-color:var(--gold-2)}
.topic-toggle:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
@media (max-width:640px){.topic-toggle{width:100%}}


/* ---------- v9: phone country picker (intl-tel-input), dark theme ---------- */
:root{--iti-border-color:rgba(255,255,255,.14);--iti-country-selector-bg:#1C1B20;--iti-hover-color:rgba(217,70,124,.18);--iti-icon-color:#C9C5CF;--iti-strict-reject-flash-color:rgba(255,127,160,.22);--iti-spacer-horizontal:12px}
.iti{display:block;width:100%}
.iti__selected-country{border-radius:var(--r-sm) 0 0 var(--r-sm)}
.iti__selected-country-primary:hover,.iti__selected-country:focus-visible .iti__selected-country-primary{background:rgba(255,255,255,.05)}
.iti__selected-dial-code{color:var(--text);font-size:16px}
.iti__country-selector{color:var(--text);border-radius:14px;box-shadow:0 24px 50px rgba(0,0,0,.55)}
.iti__search-input{background:#16151A;color:var(--text);font:16px var(--sans)}
.iti__search-input::placeholder{color:#6E6A76}
.iti__country{color:var(--text-2);font-size:15px}
.iti__country.iti__highlight{color:var(--text)}
.iti__dial-code{color:var(--muted)}
.iti__no-results{color:var(--muted)}
.field.err .iti input{border-color:var(--err)}


/* ---------- v10: animated zodiac backdrop behind the hero cutout ---------- */
.stage-wheel{position:absolute;left:10%;top:-1.2%;width:78%;height:auto;aspect-ratio:1/1;overflow:visible;pointer-events:none;z-index:0;animation:wheel-in 1.4s var(--ease) both}
.stage-wheel *{vector-effect:non-scaling-stroke}
.w-ring{fill:none;stroke:rgba(242,141,177,.28);stroke-width:1}
.w-outer{stroke:rgba(242,141,177,.16)}
.w-band{stroke:rgba(242,141,177,.32)}
.w-mid{stroke:rgba(242,141,177,.42)}
.w-inner{stroke:rgba(242,141,177,.3)}
.w-ticks line{stroke:rgba(242,141,177,.35);stroke-width:1}
.w-ticks .tk-major{stroke:rgba(255,190,214,.7);stroke-width:1.4}
.w-divs line{stroke:rgba(242,141,177,.35);stroke-width:1}
.w-gems rect{fill:rgba(255,196,218,.75)}
.w-dash{fill:none;stroke:rgba(242,141,177,.45);stroke-width:1;stroke-dasharray:2 9}
.w-trail{fill:none;stroke:rgba(255,170,205,.85);stroke-width:2;stroke-linecap:round;stroke-dasharray:90 1600;filter:drop-shadow(0 0 6px rgba(242,125,164,.9))}
.w-head{fill:#FFE3EE;filter:drop-shadow(0 0 8px #F27DA4) drop-shadow(0 0 3px #fff)}
.w-spin,.w-counter,.w-comet{transform-box:view-box;transform-origin:300px 300px}
.w-spin{animation:spin 90s linear infinite}
.w-counter{animation:spin 60s linear infinite reverse}
.w-comet{animation:spin 11s linear infinite}
.w-comet .w-trail{transform-box:view-box;transform-origin:300px 300px;transform:rotate(-109deg)}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes wheel-in{from{opacity:0;transform:scale(.88) rotate(-25deg)}to{opacity:1;transform:none}}
/* breathing aura + twinkling stars */
.stage-visual::before{animation:aura 6s ease-in-out infinite alternate}
@keyframes aura{from{transform:scale(.92);opacity:.75}to{transform:scale(1.06);opacity:1}}
.stage-visual::after{content:"";position:absolute;inset:-4% -6% 20% -6%;z-index:0;pointer-events:none;background-image:
 radial-gradient(1.6px 1.6px at 8% 22%,#fff 50%,transparent 55%),radial-gradient(1.2px 1.2px at 90% 14%,#FFD3E3 50%,transparent 55%),
 radial-gradient(2px 2px at 94% 46%,#fff 50%,transparent 55%),radial-gradient(1.3px 1.3px at 4% 58%,#FFD3E3 50%,transparent 55%),
 radial-gradient(1.5px 1.5px at 20% 4%,#fff 50%,transparent 55%),radial-gradient(1.2px 1.2px at 78% 2%,#fff 50%,transparent 55%);
 animation:twinkle 3.6s ease-in-out infinite alternate}
@keyframes twinkle{0%{opacity:.25}50%{opacity:1}100%{opacity:.45}}
/* photo: gentle rise on load (transform only, so it never delays first paint) + softer shoulder edges */
.stage-img{animation:rise-in 1.1s var(--ease) both;
 -webkit-mask-image:linear-gradient(to bottom,#000 52%,rgba(0,0,0,.5) 74%,transparent 92%),radial-gradient(ellipse 66% 82% at 50% 32%,#000 64%,transparent 100%);
 mask-image:linear-gradient(to bottom,#000 52%,rgba(0,0,0,.5) 74%,transparent 92%),radial-gradient(ellipse 66% 82% at 50% 32%,#000 64%,transparent 100%);
 -webkit-mask-composite:source-in;mask-composite:intersect}
@keyframes rise-in{from{transform:translateY(22px) scale(.97)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.stage-wheel,.stage-img,.stage-visual::before,.stage-visual::after{animation:none}}
/* v10b: a little more presence for the wheel and comet */
.w-band{stroke:rgba(242,141,177,.45)}
.w-mid{stroke:rgba(242,141,177,.55)}
.w-ticks line{stroke:rgba(242,141,177,.5)}
.w-ticks .tk-major{stroke:rgba(255,200,222,.9);stroke-width:1.6}
.w-divs line{stroke:rgba(242,141,177,.5)}
.w-gems rect{fill:rgba(255,206,226,.9)}
.w-trail{stroke-dasharray:150 1540;stroke-width:2.4}
.w-comet .w-trail{transform:rotate(-122deg)}
.w-head{r:5}
