@font-face{
  font-family:LunicSerif;
  src:local('Baskerville');
  font-style:normal;
  font-display:swap
}
:root{
  --ink:#241b21;
  --bg:#21181f;
  --bg-deep:#1b151b;
  --cream:#f0e7d9;
  --muted:#b5a7ab;
  --copper:#c3a083;
  --line:rgba(234,217,201,.16);
  --serif:LunicSerif,'Baskerville','Iowan Old Style','Palatino Linotype',Georgia,serif;
  --sans:'Avenir Next','Segoe UI',Arial,sans-serif
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth;
  scroll-padding-top:95px
}
body{
  margin:0;
  background:var(--bg);
  color:var(--cream);
  font-family:var(--sans);
  font-size:14px;
  -webkit-font-smoothing:antialiased
}
body.dialog-open{
  overflow:hidden
}
button,input,textarea,select{
  font:inherit
}
button,a,input,textarea,select{
  -webkit-tap-highlight-color:transparent
}
button{
  color:inherit;
  cursor:pointer
}
a{
  color:inherit;
  text-decoration:none
}
button{
  background:none;
  border:0
}
img{
  display:block;
  width:100%
}
svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.3;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0
}
.inline-icon{
  display:inline-block;
  width:1em;
  height:1em;
  vertical-align:-.12em
}
button:focus-visible,a:focus-visible,summary:focus-visible{
  outline:2px solid var(--copper);
  outline-offset:6px
}
::selection{
  background:#ad7f66;
  color:#fff
}
h1,h2,h3,p{
  margin:0
}
h1,h2,h3{
  font-weight:400
}
h1,h2,h3,.brand{
  font-family:var(--serif)
}
em{
  font-weight:400;
  color:var(--copper)
}
[hidden]{
  display:none!important
}
.svg-library{
  position:absolute;
  width:0;
  height:0;
  overflow:hidden
}
.skip-link{
  position:fixed;
  top:8px;
  left:8px;
  padding:12px;
  background:var(--cream);
  color:var(--ink);
  z-index:1000;
  transform:translateY(-150%)
}
.skip-link:focus{
  transform:translateY(0)
}
.announcement{
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:25px;
  background:#bfa087;
  color:#291e22;
  font-size:10px;
  letter-spacing:1.7px
}
.tiny-star{
  font-size:10px
}
.site-header{
  height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 5.2%;
  position:sticky;
  top:0;
  z-index:20;
  border-bottom:1px solid var(--line);
  background:#21181ff5;
  backdrop-filter:blur(16px)
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:31px;
  letter-spacing:5px;
  white-space:nowrap
}
.brand-dot{
  color:var(--copper);
  letter-spacing:0
}
.brand-symbol{
  width:31px;
  height:33px;
  position:relative;
  display:block;
  transform:rotate(-18deg)
}
.brand-symbol:before{
  content:'';
  position:absolute;
  inset:1px 5px 1px 0;
  border-radius:50%;
  background:#dfc7ab
}
.brand-symbol:after{
  content:'';
  position:absolute;
  inset:-1px -1px 8px 8px;
  border-radius:50%;
  background:var(--bg)
}
.brand-symbol span{
  position:absolute;
  z-index:2;
  right:-3px;
  top:5px;
  width:6px;
  height:6px;
  background:#c3a083;
  transform:rotate(45deg)
}
.desktop-nav{
  display:flex;
  gap:29px;
  font-size:12px;
  letter-spacing:.15px
}
.desktop-nav a{
  color:#c6bdbd;
  position:relative;
  padding:10px 0;
  white-space:nowrap
}
.desktop-nav a:after{
  content:'';
  position:absolute;
  bottom:2px;
  height:1px;
  left:0;
  width:0;
  background:var(--copper);
  transition:width .25s
}
.desktop-nav a:hover{
  color:var(--cream)
}
.desktop-nav a:hover:after{
  width:100%
}
.header-actions{
  display:flex;
  gap:21px;
  align-items:center
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  font-size:11px;
  font-weight:500;
  letter-spacing:.15px;
  border:1px solid var(--copper);
  padding:16px 22px;
  transition:background .25s,color .25s,transform .25s
}
.button svg{
  width:15px;
  height:15px
}
.button:hover{
  background:var(--copper);
  color:var(--ink);
  transform:translateY(-2px)
}
.header-cta{
  padding:12px 16px;
  font-size:10px;
  gap:20px
}
.button-cream{
  background:var(--cream);
  border-color:var(--cream);
  color:var(--ink)
}
.button-cream:hover{
  background:#d4b494;
  border-color:#d4b494
}
.icon-button{
  width:32px;
  height:36px;
  padding:5px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative
}
.bag-count{
  position:absolute;
  right:-6px;
  top:0;
  font-size:8px;
  background:var(--copper);
  color:var(--ink);
  width:15px;
  height:15px;
  display:grid;
  place-items:center;
  border-radius:50%
}
.menu-button{
  display:none
}
.mobile-nav{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  padding:25px;
  background:var(--bg);
  border-bottom:1px solid var(--line)
}
.mobile-nav a{
  display:block;
  padding:14px 0;
  border-bottom:1px solid var(--line)
}
.hero{
  height:min(760px,calc(100svh - 122px));
  min-height:700px;
  position:relative;
  overflow:hidden;
  background:#21161e
}
.hero-art{
  position:absolute;
  inset:0;
  background-image:url('./assets/lunar-hero.webp');
  background-position:center 51%;
  background-size:cover;
  opacity:.97;
  animation:heroDrift 20s ease-out both
}
.hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(28,19,26,.96) 0%,rgba(28,19,26,.76) 24%,rgba(28,19,26,.14) 54%,transparent 75%),linear-gradient(0deg,rgba(28,19,26,.65),transparent 30%)
}
.hero-content{
  position:relative;
  padding:77px 0 0 8.3%;
  max-width:740px
}
.eyebrow,.section-kicker{
  font-size:9px;
  letter-spacing:2.1px;
  display:flex;
  align-items:center;
  gap:14px;
  line-height:1.8;
  font-weight:500
}
.eyebrow{
  color:#c5ab96
}
.line{
  display:inline-block;
  width:30px;
  height:1px;
  background:#c5ab96
}
h1{
  font-size:clamp(88px,8.7vw,133px);
  line-height:.94;
  letter-spacing:-4px;
  margin:28px 0 24px
}
h1 em{
  color:#e4c7ac
}
h1 em,h2 em{
  display:inline-block
}
.hero-content>p{
  font-size:17px;
  line-height:1.7;
  color:#e1d5d1;
  letter-spacing:.1px
}
.hero-description{
  font-size:11px;
  line-height:1.9;
  color:#b9a9ad;
  margin-top:15px
}
.hero-buttons{
  display:flex;
  align-items:center;
  gap:28px;
  margin-top:29px
}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:20px;
  font-size:11px;
  line-height:1.6;
  padding:6px 0;
  position:relative
}
.text-link:after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:currentColor;
  opacity:.4;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s
}
.text-link:hover:after{
  transform:scaleX(1)
}
.text-link span{
  font-size:17px
}
.hero-buttons>.text-link{
  font-size:10px
}
.hero-signature{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:33px;
  font-size:9px;
  color:#baaaa9;
  letter-spacing:.1px
}
.mini-orbit{
  width:29px;
  height:29px;
  border:1px solid #8c7568;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:20px;
  color:#c5aa8f
}
.orbit-label{
  position:absolute;
  right:6.3%;
  top:46%;
  display:flex;
  align-items:center;
  gap:9px;
  font-size:8px;
  letter-spacing:2px;
  writing-mode:vertical-rl;
  color:#cab6a3
}
.orbit-dot{
  width:4px;
  height:4px;
  background:#cfaf92;
  border-radius:50%;
  box-shadow:0 0 9px #cfaf92
}
.hero-scroll{
  position:absolute;
  bottom:32px;
  left:8.3%;
  display:flex;
  gap:16px;
  align-items:center;
  font-size:8px;
  letter-spacing:1.5px;
  color:#bba6a1
}
.scroll-line{
  width:45px;
  height:1px;
  background:#8d7366;
  position:relative
}
.scroll-line:after{
  content:'';
  position:absolute;
  right:0;
  top:-3px;
  width:7px;
  height:7px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(-45deg)
}
.hero-coordinate{
  position:absolute;
  right:8.3%;
  bottom:33px;
  color:#c4afa2;
  font-size:8px;
  letter-spacing:1.5px;
  display:flex;
  gap:42px
}
.hero-coordinate span{
  color:#a39088
}
.hero-stars{
  position:absolute;
  inset:0;
  pointer-events:none
}
.hero-stars i{
  position:absolute;
  width:2px;
  height:2px;
  border-radius:50%;
  background:#e8d7c8;
  opacity:.45;
  animation:twinkle 4s infinite alternate
}
.values-strip{
  padding:25px 7%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  gap:25px;
  background:#251c23
}
.values-strip span{
  display:flex;
  gap:14px;
  align-items:center;
  font-size:10px;
  color:#c5b7b6;
  white-space:nowrap
}
.values-strip svg{
  width:15px;
  height:15px;
  color:var(--copper)
}
.section-shell{
  max-width:1280px;
  width:84%;
  margin:0 auto
}
.section-kicker{
  color:var(--copper);
  font-size:9px
}
.section-number{
  opacity:.6;
  font-size:10px;
  letter-spacing:1px
}
h2{
  font-size:clamp(44px,4.5vw,67px);
  line-height:1.05;
  letter-spacing:-1.6px
}
h2 em{
  color:var(--copper)
}
.philosophy{
  padding-top:96px;
  padding-bottom:94px
}
.philosophy-layout{
  display:grid;
  grid-template-columns:.94fr 1fr;
  gap:10%;
  align-items:center
}
.philosophy-art{
  height:340px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center
}
.philosophy-orbit{
  border:1px solid #77604f;
  border-radius:50%;
  position:absolute;
  width:280px;
  height:280px;
  opacity:.45
}
.orbit-two{
  width:360px;
  height:130px;
  transform:rotate(-32deg)
}
.orbit-three{
  width:130px;
  height:360px;
  transform:rotate(-32deg)
}
.philosophy-moon{
  font-size:175px;
  line-height:1;
  font-family:Georgia;
  color:#d2bda4;
  text-shadow:0 0 70px #95704c50;
  transform:rotate(-16deg);
  padding-bottom:25px
}
.philosophy-star{
  position:absolute;
  right:22%;
  top:14%;
  color:var(--copper);
  font-size:33px
}
.philosophy-caption{
  position:absolute;
  bottom:0;
  font-size:7px;
  letter-spacing:2.2px;
  color:#9c8d8b
}
.philosophy-copy{
  padding-top:30px
}
.philosophy-copy>p{
  color:var(--muted);
  font-size:13px;
  line-height:1.95;
  max-width:440px;
  margin-top:23px
}
.philosophy-copy>p+p{
  margin-top:15px
}
.philosophy-copy .text-link{
  margin-top:20px;
  color:#d8b99d
}
.section-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:35px;
  margin-bottom:36px
}
.section-heading h2{
  margin-top:20px
}
.section-heading>p{
  font-size:13px;
  line-height:1.9;
  color:var(--muted);
  padding-bottom:6px;
  max-width:340px
}
.consultations{
  padding-top:44px;
  padding-bottom:88px;
  border-top:1px solid var(--line)
}
.intention-picker{
  display:flex;
  gap:25px;
  align-items:center;
  margin:35px 0 27px;
  flex-wrap:wrap
}
.intention-picker>span{
  font-size:10px;
  color:var(--muted)
}
.intention-picker>div{
  display:flex;
  gap:7px;
  flex-wrap:wrap
}
.intention{
  font-size:9px;
  padding:9px 15px;
  border:1px solid var(--line);
  border-radius:30px;
  color:#b5a7ab;
  transition:all .2s
}
.intention.active,.intention:hover{
  color:var(--cream);
  border-color:#b7977b;
  background:#b7977b15
}
.consultation-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px
}
.consultation-card{
  border:1px solid var(--line);
  padding:27px 23px 22px;
  display:flex;
  flex-direction:column;
  position:relative;
  transition:transform .3s,border-color .3s,background .3s;
  min-height:480px
}
.consultation-card:hover{
  transform:translateY(-6px);
  border-color:#9d7d69
}
.consultation-card.featured{
  background:linear-gradient(140deg,#49322e,#322329);
  border-color:#9b7660
}
.consultation-card.recommended{
  border-color:#e4c4a4;
  background:#70513b24;
  box-shadow:0 0 0 1px #e4c4a4
}
.plan-badge{
  position:absolute;
  right:17px;
  top:19px;
  font-size:7px;
  letter-spacing:1.3px;
  color:var(--copper)
}
.card-moon{
  height:44px;
  width:44px;
  margin-bottom:22px;
  border-radius:50%;
  position:relative;
  overflow:hidden;
  border:1px solid #9c826d;
  background:#d4b99d;
  box-shadow:inset 0 0 12px #6a5149
}
.card-moon:after{
  content:'';
  position:absolute;
  inset:-1px;
  background:var(--bg);
  border-radius:50%;
  transform:translate(12px,-7px)
}
.card-moon.quarter:after{
  transform:translate(23px,0)
}
.card-moon.gibbous:after{
  transform:translate(36px,-1px);
  background:#3c2b2b
}
.card-moon.full:after{
  display:none
}
.card-moon.full{
  box-shadow:0 0 19px #b3916822,inset -7px -4px 12px #92745b
}
.consultation-card h3{
  font-size:30px;
  letter-spacing:-.6px;
  line-height:1.1;
  margin-bottom:8px
}
.plan-subtitle{
  font-size:8px;
  letter-spacing:1.4px;
  color:#bca5a0;
  text-transform:uppercase
}
.plan-description{
  font-size:12px;
  line-height:1.85;
  color:#b5a5a8;
  margin:19px 0 17px;
  min-height:86px
}
.plan-features{
  display:flex;
  flex-direction:column;
  gap:8px;
  color:#cfc1bc;
  margin-bottom:24px;
  font-size:10px
}
.plan-features span{
  display:flex;
  gap:7px;
  align-items:center
}
.plan-features svg{
  width:11px;
  height:11px;
  color:var(--copper)
}
.plan-bottom{
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid var(--line)
}
.plan-price{
  font-family:var(--serif);
  font-size:35px;
  letter-spacing:-1px
}
.plan-price small{
  font-family:var(--sans);
  font-size:8px;
  letter-spacing:0;
  color:#aa989b;
  margin-left:6px
}
.plan-button{
  margin-top:17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  font-size:11px;
  padding:0
}
.plan-button svg{
  width:16px;
  height:16px;
  transition:transform .2s
}
.plan-button:hover svg{
  transform:translate(3px,-3px)
}
.consultation-note{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  font-size:9px;
  color:#a8979a;
  margin-top:25px
}
.consultation-note svg{
  width:12px;
  height:12px;
  color:#c3a083
}
.collection{
  background:#eee8de;
  color:var(--ink);
  padding:83px 0 50px
}
.collection .section-kicker{
  color:#8b6650
}
.collection h2 em{
  color:#8c6958
}
.collection .section-heading>p{
  color:#7d7072
}
.collection-toolbar{
  border-bottom:1px solid #2d202322;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:36px 0 30px;
  gap:20px
}
.collection-filters{
  display:flex;
  gap:27px
}
.filter{
  font-size:10px;
  color:#827373;
  position:relative;
  padding:0 0 16px
}
.filter span{
  font-size:8px;
  vertical-align:super;
  margin-left:3px
}
.filter:after{
  content:'';
  position:absolute;
  bottom:-1px;
  left:0;
  right:0;
  height:2px;
  background:#7c5144;
  transform:scaleX(0);
  transition:transform .2s
}
.filter.active{
  color:#3b292b
}
.filter.active:after{
  transform:scaleX(1)
}
.filter:hover{
  color:#3b292b
}
.collection-count{
  font-size:8px;
  color:#897b79;
  margin-bottom:15px
}
.product-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px 24px
}
.product-card{
  min-width:0;
  animation:fadeIn .4s both
}
.product-image{
  position:relative;
  overflow:hidden;
  background:#312328;
  aspect-ratio:1.16
}
.product-image>button:first-child{
  display:block;
  width:100%;
  height:100%;
  padding:0
}
.product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s
}
.product-card:hover .product-image img{
  transform:scale(1.06)
}
.product-tag{
  position:absolute;
  left:14px;
  top:14px;
  color:#eadccf;
  background:#30222c80;
  backdrop-filter:blur(8px);
  font-size:7px;
  letter-spacing:1.2px;
  padding:7px 9px;
  pointer-events:none
}
.save-product{
  position:absolute;
  right:12px;
  top:12px;
  color:#e6d6c7;
  border:1px solid #e6d6c740;
  border-radius:50%;
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  background:#241b2140;
  transition:all .2s
}
.save-product svg{
  width:13px;
  height:13px
}
.save-product:hover,.save-product.saved{
  background:#e6d6c7;
  color:#2c2026
}
.product-info{
  padding-top:17px
}
.product-category{
  color:#8a7166;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:1.3px
}
.product-title-row{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  margin-top:8px
}
.product-title-row h3{
  font-size:25px;
  letter-spacing:-.4px
}
.product-title-row button{
  padding:0;
  text-align:left
}
.product-title-row .product-open svg{
  height:15px;
  width:15px;
  color:#8b6857
}
.product-subtitle{
  font-size:12px;
  color:#877a77;
  margin-top:7px;
  line-height:1.7
}
.product-inquiry{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:17px;
  border-top:1px solid #2d202322;
  padding-top:12px;
  font-size:8px;
  color:#7b6c68
}
.product-inquiry :is(button,a){
  display:flex;
  align-items:center;
  gap:8px;
  font-size:9px;
  padding:0;
  color:#52372f
}
.product-inquiry svg{
  width:11px;
  height:11px
}
.product-inquiry :is(button,a):hover{
  text-decoration:underline
}
.collection-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid #2d202322;
  margin-top:36px;
  padding-top:22px;
  gap:20px
}
.collection-footer>span{
  font-size:8px;
  color:#877775;
  line-height:1.7
}
.collection-footer .text-link{
  font-size:10px;
  color:#6d4d3f
}
.moon-section{
  padding-top:90px;
  padding-bottom:90px
}
.moon-experience{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid #71554c;
  position:relative;
  overflow:hidden;
  background:radial-gradient(ellipse at 80% 20%,#75513b1c,transparent 70%)
}
.moon-experience-copy{
  padding:65px 12%
}
.moon-experience-copy h2{
  font-size:52px;
  margin-top:30px
}
.moon-experience-copy>p{
  font-size:13px;
  color:var(--muted);
  line-height:1.9;
  margin-top:22px;
  max-width:320px
}
.explore-hint{
  display:flex;
  align-items:center;
  gap:30px;
  font-size:7px;
  letter-spacing:1.4px;
  color:var(--copper);
  margin-top:35px
}
.explore-hint>span{
  font-size:23px
}
.moon-interactive{
  padding:20px 34px 28px;
  text-align:center;
  position:relative
}
.phase-visual{
  height:203px;
  display:grid;
  place-items:center;
  position:relative
}
.phase-orbit{
  position:absolute;
  width:250px;
  height:154px;
  border:1px solid #b2966e2b;
  border-radius:50%;
  transform:rotate(-22deg)
}
.phase-orbit-secondary{
  width:195px;
  height:195px;
  transform:rotate(15deg);
  border-color:#b2966e20
}
.interactive-moon{
  width:115px;
  height:115px;
  position:relative;
  border-radius:50%;
  overflow:hidden;
  box-shadow:0 0 50px #bea37c20;
  border:1px solid #bda18455;
  background:#d8c1a0;
  transition:box-shadow .8s
}
.moon-surface{
  position:absolute;
  inset:0;
  opacity:.9;
  background:radial-gradient(ellipse at 32% 24%,#a58a6a 3%,transparent 16%),radial-gradient(ellipse at 65% 40%,#8f7655 1%,transparent 12%),radial-gradient(ellipse at 34% 65%,#af997b 10%,transparent 25%),radial-gradient(ellipse at 80% 80%,#98734b 4%,transparent 10%),radial-gradient(ellipse at 22% 70%,#c3ac8a 5%,transparent 8%),radial-gradient(ellipse at 80% 12%,#6f5648 5%,transparent 16%),radial-gradient(circle at 40% 40%,#e3d4b9,#ab8968)
}
.moon-shadow{
  position:absolute;
  inset:-2px;
  background:#241b21;
  border-radius:50%;
  transform:translateX(0);
  box-shadow:0 0 9px 4px #241b21;
  transition:transform 1s,opacity 1s
}
.interactive-moon[data-phase='waxing'] .moon-shadow{
  transform:translateX(-40px)
}
.interactive-moon[data-phase='full'] .moon-shadow{
  transform:translateX(-130px);
  opacity:0
}
.interactive-moon[data-phase='full']{
  box-shadow:0 0 60px #c1a58045
}
.interactive-moon[data-phase='waning'] .moon-shadow{
  transform:translateX(40px)
}
.phase-spark{
  position:absolute;
  color:#b39879;
  font-size:14px
}
.phase-spark.one{
  top:37px;
  right:15%
}
.phase-spark.two{
  bottom:26px;
  left:20%;
  font-size:21px
}
.phase-sanskrit{
  font-size:7px;
  letter-spacing:2.5px;
  color:var(--copper)
}
.phase-content h3{
  font-size:26px;
  margin-top:10px
}
.phase-content p{
  font-size:12px;
  color:#ad9ea1;
  line-height:1.8;
  max-width:330px;
  margin:9px auto 0;
  min-height:68px
}
.phase-select{
  display:flex;
  justify-content:space-between;
  gap:12px;
  max-width:345px;
  margin:20px auto 0;
  padding-top:20px;
  border-top:1px solid var(--line)
}
.phase-select button{
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:10px;
  color:#928388;
  font-size:8px;
  transition:color .2s
}
.phase-select button:hover,.phase-select button.active{
  color:#e7d7c2
}
.phase-icon{
  width:20px;
  height:20px;
  border-radius:50%;
  border:1px solid #b49a7a;
  position:relative;
  overflow:hidden;
  background:#b9a083;
  opacity:.65
}
.phase-select .active .phase-icon{
  opacity:1;
  box-shadow:0 0 14px #c4ab8340
}
.phase-icon.new{
  background:var(--bg)
}
.phase-icon.waxing:after,.phase-icon.waning:after{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:50%;
  background:var(--bg);
  transform:translateX(-8px)
}
.phase-icon.waning:after{
  transform:translateX(8px)
}
.journal{
  padding-top:10px;
  padding-bottom:86px
}
.journal-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:25px
}
.journal-card{
  text-align:left;
  padding:0;
  width:100%
}
.journal-art{
  aspect-ratio:1.65;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:filter .3s
}
.journal-card:hover .journal-art{
  filter:brightness(1.15)
}
.journal-moon{
  background:radial-gradient(ellipse at 50% 100%,#765445,#38242c 70%)
}
.journal-moon>span{
  font-size:125px;
  line-height:1;
  color:#d3b89a;
  transform:rotate(-20deg);
  position:relative;
  z-index:2;
  text-shadow:0 0 45px #b39c7560;
  padding-bottom:20px
}
.journal-moon>div{
  position:absolute;
  width:190px;
  height:75px;
  border:1px solid #b3966940;
  border-radius:50%;
  transform:rotate(-25deg)
}
.journal-yantra{
  background:radial-gradient(ellipse at 20% 0,#876e4c,#4c4037 70%)
}
.yantra-lines{
  position:relative;
  width:110px;
  height:110px;
  border:1px solid #d4b58870;
  transform:rotate(45deg)
}
.yantra-lines:before,.yantra-lines:after{
  content:'';
  position:absolute;
  inset:12px;
  border:1px solid #d4b58870
}
.yantra-lines:after{
  inset:25px;
  transform:rotate(45deg)
}
.yantra-lines i{
  position:absolute;
  inset:10px 23px;
  border:1px solid #d4b58870;
  transform:rotate(30deg)
}
.yantra-lines i:nth-child(2){
  transform:rotate(60deg)
}
.yantra-lines i:nth-child(3){
  transform:rotate(90deg)
}
.yantra-lines i:nth-child(4){
  transform:rotate(120deg)
}
.yantra-lines i:nth-child(5){
  transform:rotate(150deg)
}
.journal-chart{
  background:radial-gradient(ellipse at 80% 100%,#5c4e55,#302830 80%)
}
.chart-lines{
  width:135px;
  height:135px;
  transform:rotate(45deg);
  border:1px solid #cab3a95c;
  position:relative
}
.chart-lines:after,.chart-lines:before{
  content:'';
  position:absolute;
  left:50%;
  top:0;
  width:1px;
  height:100%;
  background:#cab3a95c
}
.chart-lines:after{
  transform:rotate(90deg)
}
.chart-lines span{
  font-size:30px;
  color:#c5a994;
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  transform:rotate(-45deg)
}
.chart-corner{
  position:absolute;
  color:#baa49a;
  font-family:var(--serif);
  font-size:15px
}
.c1{
  left:50%;
  top:13%
}
.c2{
  right:22%;
  top:45%
}
.c3{
  left:49%;
  bottom:13%
}
.c4{
  left:21%;
  top:45%
}
.article-meta{
  display:flex;
  justify-content:space-between;
  font-size:7px;
  letter-spacing:1px;
  color:var(--copper);
  margin-top:20px
}
.article-meta span{
  color:#8e7e84;
  font-size:6px
}
.journal-card h3{
  font-size:24px;
  line-height:1.2;
  position:relative;
  margin-top:13px;
  padding-right:24px;
  letter-spacing:-.2px
}
.journal-card h3 svg{
  position:absolute;
  right:0;
  bottom:4px;
  width:15px;
  height:15px;
  color:var(--copper)
}
.faq{
  padding-top:60px;
  padding-bottom:95px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:10%
}
.faq h2{
  margin-top:20px;
  font-size:53px
}
.faq-intro>p{
  font-size:13px;
  color:var(--muted);
  line-height:1.9;
  margin-top:24px
}
.faq-intro .text-link{
  color:var(--copper);
  margin-top:18px
}
.faq-list{
  padding-top:10px
}
.faq-list details{
  border-bottom:1px solid var(--line)
}
.faq-list summary{
  padding:21px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  cursor:pointer;
  list-style:none;
  font-size:13px;
  line-height:1.6
}
.faq-list summary::-webkit-details-marker{
  display:none
}
.faq-list summary svg{
  width:14px;
  height:14px;
  color:var(--copper);
  transition:transform .3s
}
.faq-list details[open] summary svg{
  transform:rotate(45deg)
}
.faq-list details p{
  font-size:12px;
  line-height:1.9;
  color:var(--muted);
  padding:0 25px 23px 0
}
.closing{
  padding:75px 20px 80px;
  background:#32242b;
  text-align:center;
  position:relative;
  overflow:hidden;
  border-top:1px solid #c1a88a17;
  border-bottom:1px solid #c1a88a17
}
.closing .section-kicker{
  justify-content:center;
  position:relative;
  font-size:8px
}
.closing h2{
  font-size:75px;
  position:relative;
  margin-top:24px;
  line-height:1
}
.closing .button{
  margin-top:28px;
  position:relative;
  font-size:10px;
  padding:15px 21px
}
.closing-orbit{
  position:absolute;
  width:750px;
  height:750px;
  border:1px solid #b69c8520;
  border-radius:50%;
  left:50%;
  top:-150px;
  transform:translateX(-50%)
}
.closing-orbit:before,.closing-orbit:after{
  content:'';
  position:absolute;
  inset:50px;
  border:1px solid #b69c8514;
  border-radius:50%
}
.closing-orbit:after{
  inset:100px
}
.closing-star{
  position:absolute;
  right:24%;
  top:90px;
  font-size:25px;
  color:#b99b7e
}
.site-footer{
  max-width:1280px;
  width:84%;
  margin:auto;
  padding-top:55px
}
.footer-main{
  display:flex;
  justify-content:space-between;
  gap:50px;
  padding-bottom:48px
}
.footer-brand .brand{
  font-size:29px
}
.footer-brand p{
  margin-top:20px;
  font-size:11px;
  line-height:1.8;
  color:#a29399
}
.footer-links{
  display:flex;
  gap:75px
}
.footer-links>div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px
}
.footer-links>div>span{
  font-size:7px;
  letter-spacing:1.5px;
  color:#c3a083;
  margin-bottom:5px
}
.footer-links a,.footer-links button{
  font-size:10px;
  color:#b2a3a8;
  padding:0
}
.footer-links a:hover,.footer-links button:hover{
  color:var(--cream)
}
.footer-mantra p{
  font-family:var(--serif);
  font-size:27px;
  line-height:1.2;
  color:#bbaeac
}
.footer-bottom{
  border-top:1px solid var(--line);
  padding:20px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:7px;
  color:#8c7d83
}
.footer-bottom>div{
  display:flex;
  gap:20px;
  align-items:center
}
.footer-bottom button{
  font-size:7px;
  padding:0
}
.footer-location{
  letter-spacing:1px;
  margin-left:20px
}
.footer-location span{
  color:var(--copper);
  margin-left:10px
}
.footer-credit{
  margin:0;
  padding:0 0 14px;
  text-align:center;
  font-size:11px;
  line-height:1.8;
  color:#a89599
}
.footer-credit a{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:44px;
  color:var(--copper)
}
.footer-credit a:hover{
  color:var(--cream);
  text-decoration:underline;
  text-underline-offset:4px
}
.main-dialog{
  padding:0;
  border:1px solid #8b6b57;
  background:var(--cream);
  color:var(--ink);
  max-width:760px;
  width:calc(100% - 40px);
  max-height:90svh;
  box-shadow:0 25px 100px #0008;
  overflow:auto
}
.main-dialog::backdrop{
  background:#100b11c7;
  backdrop-filter:blur(9px)
}
.dialog-shell{
  position:relative
}
.dialog-close{
  position:absolute;
  right:17px;
  top:15px;
  z-index:5;
  background:#f0e7d9e8;
  border-radius:50%;
  width:32px;
  height:32px;
  color:#3d2a2d
}
.dialog-content-padded{
  padding:43px
}
.dialog-eyebrow{
  font-size:8px;
  letter-spacing:1.6px;
  color:#8b6958;
  line-height:1.8;
  margin-bottom:13px
}
.main-dialog h2{
  font-size:43px;
  line-height:1.05;
  color:#35282d;
  letter-spacing:-1px;
  padding-right:15px
}
.main-dialog h3{
  font-size:25px;
  margin:25px 0 10px
}
.dialog-description{
  font-size:13px;
  line-height:1.9;
  color:#7b6c6b;
  margin:17px 0 24px
}
.dialog-product{
  display:grid;
  grid-template-columns:.9fr 1fr
}
.dialog-product-image{
  height:100%;
  min-height:460px;
  object-fit:cover;
  background:#302228
}
.dialog-product-copy{
  padding:52px 29px 30px
}
.dialog-product-copy h2{
  font-size:39px
}
.detail-chips{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin:19px 0
}
.detail-chips span{
  font-size:8px;
  padding:6px 8px;
  border:1px solid #987d6c50;
  color:#8b6b5e
}
.dialog-product-copy .button{
  width:100%;
  font-size:10px;
  background:#39282f;
  color:#f0e7d9;
  border-color:#39282f;
  margin-top:13px;
  padding:14px
}
.dialog-product-copy .secondary-button{
  background:transparent;
  color:#513a38;
  border-color:#a58b7b80
}
.dialog-small{
  font-size:11px;
  line-height:1.8;
  color:#8f7c73;
  margin-top:15px
}
.inquiry-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:25px
}
.field label{
  display:block;
  font-size:11px;
  color:#705b56;
  margin-bottom:8px
}
.field input,.field textarea,.field select{
  width:100%;
  background:#ffffff35;
  border:1px solid #9e837c55;
  color:#33272b;
  padding:12px;
  border-radius:0;
  font-size:13px;
  outline:0
}
.field input:focus,.field textarea:focus,.field select:focus{
  border-color:#785745;
  box-shadow:0 0 0 2px #78574514
}
.field textarea{
  resize:vertical;
  min-height:90px;
  line-height:1.7
}
.field input::placeholder,.field textarea::placeholder{
  color:#a69790
}
.full-width{
  grid-column:1/-1
}
.form-note{
  font-size:11px;
  line-height:1.8;
  color:#8e7970;
  grid-column:1/-1
}
.inquiry-form>.button{
  grid-column:1/-1;
  background:#39282f;
  color:var(--cream);
  border-color:#39282f;
  margin-top:2px;
  justify-content:center
}
.inquiry-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:22px 0 0;
  border-top:1px solid #a3897738;
  border-bottom:1px solid #a3897738;
  padding:16px 0;
  gap:20px;
  font-size:10px;
  color:#7e665c
}
.inquiry-summary strong{
  font-family:var(--serif);
  font-size:26px;
  font-weight:400;
  color:#3d2b2d
}
.ready-symbol{
  width:49px;
  height:49px;
  border:1px solid #b09276;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#886745;
  margin-bottom:23px
}
.message-preview{
  white-space:pre-wrap;
  background:#e4d9cb;
  border:1px solid #c2ad9860;
  padding:20px;
  font-size:12px;
  line-height:1.8;
  color:#69544d;
  max-height:250px;
  overflow:auto;
  font-family:var(--sans)
}
.inquiry-actions{
  display:flex;
  gap:10px;
  margin-top:22px;
  flex-wrap:wrap
}
.inquiry-actions .button{
  background:#39282f;
  color:var(--cream);
  border-color:#39282f;
  font-size:10px
}
.inquiry-actions .secondary-button{
  background:transparent;
  color:#553d34;
  border-color:#a78b74
}
.article-body p{
  font-size:13px;
  line-height:1.95;
  color:#77645f;
  margin-top:16px
}
.article-body h3{
  font-size:26px;
  color:#4b3331
}
.article-body ul{
  font-size:12px;
  color:#77645f;
  line-height:1.9;
  padding-left:18px
}
.article-body .article-footnote{
  border-top:1px solid #a3897740;
  margin-top:25px;
  padding-top:18px;
  font-size:9px
}
.bag-list{
  margin-top:25px
}
.bag-item{
  display:flex;
  align-items:center;
  gap:17px;
  border-bottom:1px solid #a3897740;
  padding:14px 0
}
.bag-item img{
  width:65px;
  height:65px;
  object-fit:cover
}
.bag-item h3{
  font-size:22px;
  margin:0 0 7px
}
.bag-item p{
  font-size:9px;
  color:#96796b
}
.bag-item>button{
  margin-left:auto;
  color:#8b7066;
  font-size:9px;
  text-decoration:underline
}
.bag-total{
  font-size:10px;
  color:#8b7369;
  padding-top:22px;
  line-height:1.8
}
.empty-bag{
  padding:35px 0;
  color:#8b7369;
  font-size:12px;
  line-height:1.8
}
.toast{
  position:fixed;
  left:50%;
  bottom:25px;
  transform:translate(-50%,20px);
  opacity:0;
  pointer-events:none;
  z-index:100;
  background:#f0e7d9;
  color:#3a292a;
  box-shadow:0 4px 40px #0004;
  border:1px solid #b59b85;
  padding:14px 25px;
  font-size:11px;
  transition:opacity .25s,transform .25s;
  max-width:calc(100% - 35px);
  text-align:center;
  line-height:1.7
}
.toast.visible{
  opacity:1;
  transform:translate(-50%,0)
}
.js-reveals .reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .7s,transform .7s
}
.js-reveals .reveal.visible{
  opacity:1;
  transform:translateY(0)
}
@keyframes heroDrift{
  from{
    transform:scale(1.035)
  }
  to{
    transform:scale(1)
  }
}
@keyframes twinkle{
  from{
    opacity:.15;
    transform:scale(.6)
  }
  to{
    opacity:.7;
    transform:scale(1.2)
  }
}
@keyframes fadeIn{
  from{
    opacity:0;
    transform:translateY(10px)
  }
  to{
    opacity:1;
    transform:translateY(0)
  }
}
@media(min-width:1600px){
  .hero-content{
    padding-top:85px
  }
  .hero-art{
    background-position:center 52%
  }
  .hero{
    max-height:820px
  }
  .section-shell,.site-footer{
    width:84%
  }
}
@media(max-width:1150px){
  .desktop-nav{
    gap:18px;
    font-size:10px
  }
  .site-header{
    padding:0 4%
  }
  .header-actions{
    gap:14px
  }
  .header-cta{
    font-size:9px;
    padding:11px 12px;
    gap:13px
  }
  .hero-content{
    padding-left:7%;
    padding-top:75px
  }
  h1{
    font-size:112px
  }
  .hero-art{
    background-position:56% 50%
  }
  .section-shell,.site-footer{
    width:86%
  }
  .values-strip{
    padding-left:5%;
    padding-right:5%;
    gap:15px
  }
  .values-strip span{
    font-size:8px;
    gap:9px
  }
  .consultation-card{
    padding:24px 17px 20px
  }
  .consultation-card h3{
    font-size:27px
  }
  .plan-description{
    font-size:11px
  }
  .plan-features{
    font-size:9px
  }
  .moon-experience-copy{
    padding:55px 10%
  }
  .moon-experience-copy h2{
    font-size:46px
  }
  .footer-links{
    gap:40px
  }
  .philosophy-layout{
    gap:7%
  }
  .orbit-two{
    width:315px
  }
  .philosophy-star{
    right:15%
  }
  .collection-filters{
    gap:22px
  }
}
@media(max-width:900px){
  .desktop-nav{
    gap:15px
  }
  .desktop-nav a:first-child{
    display:none
  }
  .brand{
    font-size:27px;
    gap:9px
  }
  .brand-symbol{
    width:27px;
    height:30px
  }
  .header-actions{
    gap:12px
  }
  .hero{
    min-height:700px;
    max-height:740px;
    height:calc(100svh - 115px)
  }
  .hero-content{
    padding-left:7%;
    max-width:560px;
    padding-top:80px
  }
  .hero-art{
    background-position:57% center
  }
  .hero-shade{
    background:linear-gradient(90deg,#1c131aef 0%,#1c131aa0 35%,#1c131a15 80%),linear-gradient(0deg,#1c131a80,transparent 35%)
  }
  h1{
    font-size:101px
  }
  .hero-content>p{
    font-size:16px
  }
  .hero-description{
    font-size:10px
  }
  .hero-buttons{
    gap:20px
  }
  .hero-buttons .button{
    font-size:10px;
    padding:15px 18px;
    gap:25px
  }
  .hero-buttons .text-link{
    font-size:9px;
    gap:8px
  }
  .hero-coordinate{
    display:none
  }
  .orbit-label{
    right:4%;
    font-size:7px
  }
  .values-strip{
    display:grid;
    grid-template-columns:1fr 1fr;
    row-gap:20px;
    padding:22px 7%
  }
  .values-strip span{
    font-size:9px;
    justify-content:center
  }
  .philosophy{
    padding-top:70px;
    padding-bottom:70px
  }
  .philosophy-art{
    height:300px
  }
  .philosophy-orbit{
    width:220px;
    height:220px
  }
  .orbit-two{
    width:275px;
    height:110px
  }
  .orbit-three{
    height:275px;
    width:100px
  }
  .philosophy-moon{
    font-size:140px
  }
  .philosophy-copy h2{
    font-size:44px
  }
  .philosophy-copy>p{
    font-size:11px
  }
  .consultation-grid{
    grid-template-columns:repeat(2,1fr);
    gap:18px
  }
  .consultation-card{
    min-height:440px;
    padding:27px
  }
  .plan-description{
    font-size:11px;
    min-height:40px
  }
  .plan-features{
    font-size:10px
  }
  .plan-subtitle{
    font-size:9px
  }
  .plan-price{
    font-size:35px
  }
  .plan-button{
    font-size:11px
  }
  .consultation-card h3{
    font-size:34px
  }
  .plan-badge{
    font-size:8px;
    right:22px;
    top:24px
  }
  .section-heading h2{
    font-size:50px
  }
  .section-heading>p{
    font-size:10px;
    max-width:240px
  }
  .collection-filters{
    gap:17px
  }
  .filter{
    font-size:9px
  }
  .collection-count{
    font-size:7px
  }
  .product-grid{
    gap:27px 18px
  }
  .product-title-row h3{
    font-size:22px
  }
  .product-subtitle{
    font-size:11px
  }
  .product-tag{
    font-size:6px;
    left:9px;
    top:9px
  }
  .save-product{
    top:8px;
    right:8px;
    width:25px;
    height:25px
  }
  .product-inquiry{
    font-size:7px
  }
  .product-inquiry :is(button,a){
    font-size:8px
  }
  .moon-experience-copy{
    padding:50px 30px
  }
  .moon-experience-copy h2{
    font-size:43px
  }
  .moon-interactive{
    padding-left:15px;
    padding-right:20px
  }
  .phase-content h3{
    font-size:24px
  }
  .phase-select{
    gap:7px
  }
  .phase-select button{
    font-size:7px
  }
  .journal-card h3{
    font-size:21px
  }
  .article-meta{
    font-size:6px;
    letter-spacing:.5px
  }
  .article-meta span{
    font-size:5px
  }
  .journal-grid{
    gap:18px
  }
  .faq{
    gap:7%
  }
  .faq h2{
    font-size:43px
  }
  .footer-links{
    gap:27px
  }
  .footer-mantra{
    display:none!important
  }
  .footer-location{
    margin-left:0;
    font-size:6px
  }
  .footer-bottom>div{
    gap:12px
  }
}
@media(max-width:650px){
  html{
    scroll-padding-top:85px
  }
  .announcement{
    height:29px;
    font-size:8px;
    letter-spacing:1.2px;
    gap:18px
  }
  .site-header{
    height:75px;
    padding:0 6%
  }
  .brand{
    font-size:27px;
    gap:10px;
    letter-spacing:4px
  }
  .brand-symbol{
    width:27px;
    height:30px
  }
  .desktop-nav,.header-cta{
    display:none
  }
  .header-actions{
    gap:18px
  }
  .menu-button{
    display:flex
  }
  .hero{
    height:760px;
    min-height:0;
    max-height:none
  }
  .hero-art{
    background-position:65% center;
    inset:0 -35% 0 -20%;
    opacity:.8
  }
  .hero-shade{
    background:linear-gradient(90deg,#1c131ac9,#1c131a30),linear-gradient(0deg,#1c131ad9 2%,#1c131a05 45%,#1c131a25 75%)
  }
  .hero-content{
    padding:66px 7% 0;
    max-width:none
  }
  .eyebrow{
    font-size:8px;
    letter-spacing:1.8px;
    gap:12px
  }
  .eyebrow .line{
    width:23px
  }
  h1{
    font-size:clamp(64px,20vw,87px);
    line-height:.96;
    letter-spacing:-3px;
    margin-top:28px;
    margin-bottom:24px
  }
  .hero-content>p{
    font-size:16px;
    line-height:1.6
  }
  .hero-description{
    font-size:10px;
    line-height:1.9;
    margin-top:18px;
    max-width:270px
  }
  .desktop-break{
    display:none
  }
  .hero-buttons{
    align-items:flex-start;
    flex-direction:column;
    gap:15px;
    margin-top:27px
  }
  .hero-buttons .button{
    font-size:11px;
    padding:16px 21px;
    gap:35px
  }
  .hero-buttons .text-link{
    font-size:10px;
    gap:20px
  }
  .hero-signature{
    font-size:8px;
    margin-top:27px;
    gap:8px
  }
  .mini-orbit{
    width:25px;
    height:25px;
    font-size:18px
  }
  .hero-scroll{
    left:7%;
    bottom:26px;
    font-size:7px
  }
  .orbit-label{
    right:5%;
    top:32%;
    font-size:6px;
    letter-spacing:1.5px
  }
  .values-strip{
    padding:22px 5%;
    gap:18px 10px
  }
  .values-strip span{
    font-size:7px;
    gap:8px
  }
  .values-strip svg{
    width:12px;
    height:12px
  }
  .section-shell,.site-footer{
    width:86%
  }
  .section-kicker{
    font-size:7px;
    letter-spacing:1.5px;
    gap:10px
  }
  .section-number{
    font-size:8px
  }
  .philosophy{
    padding-top:53px;
    padding-bottom:58px
  }
  .philosophy-layout{
    grid-template-columns:1fr;
    gap:10px
  }
  .philosophy-art{
    height:270px;
    order:2;
    margin-top:22px
  }
  .philosophy-copy{
    padding-top:23px
  }
  .philosophy-copy h2{
    font-size:49px
  }
  .philosophy-copy>p{
    font-size:12px;
    margin-top:20px;
    max-width:none
  }
  .philosophy-copy .text-link{
    font-size:11px;
    margin-top:15px
  }
  .philosophy-orbit{
    width:220px;
    height:220px
  }
  .orbit-two{
    width:285px;
    height:110px
  }
  .orbit-three{
    width:100px;
    height:275px
  }
  .philosophy-moon{
    font-size:145px
  }
  .philosophy-star{
    right:22%;
    top:11%
  }
  .philosophy-caption{
    font-size:6px;
    bottom:0
  }
  .section-heading{
    display:block;
    margin-bottom:25px
  }
  .section-heading h2{
    font-size:47px;
    margin-top:16px;
    letter-spacing:-1.3px
  }
  .section-heading>p{
    font-size:13px;
    margin-top:20px;
    max-width:310px;
    line-height:1.8
  }
  .consultations{
    padding-top:39px;
    padding-bottom:52px
  }
  .intention-picker{
    gap:13px;
    margin:20px 0 24px
  }
  .intention-picker>span{
    font-size:9px
  }
  .intention-picker>div{
    gap:6px
  }
  .intention{
    font-size:8px;
    padding:8px 11px
  }
  .consultation-grid{
    grid-template-columns:1fr;
    gap:17px
  }
  .consultation-card{
    padding:27px;
    min-height:430px
  }
  .card-moon{
    width:42px;
    height:42px;
    margin-bottom:22px
  }
  .card-moon.quarter:after{
    transform:translate(17px,0)
  }
  .card-moon.gibbous:after{
    transform:translate(27px,0)
  }
  .consultation-card h3{
    font-size:36px;
    letter-spacing:-.7px
  }
  .plan-subtitle{
    font-size:8px;
    letter-spacing:1px;
    line-height:1.8
  }
  .plan-description{
    font-size:12px;
    margin:18px 0;
    line-height:1.85;
    min-height:0
  }
  .plan-features{
    font-size:11px;
    gap:10px;
    line-height:1.6;
    margin-bottom:22px
  }
  .plan-features span{
    gap:4px;
    align-items:flex-start
  }
  .plan-features svg{
    width:10px;
    height:10px;
    margin-top:1px
  }
  .plan-price{
    font-size:35px;
    line-height:1.2
  }
  .plan-price small{
    display:inline;
    margin:0 0 0 8px;
    font-size:9px
  }
  .plan-bottom{
    padding-top:16px
  }
  .plan-button{
    font-size:12px;
    margin-top:21px
  }
  .plan-button svg{
    width:13px;
    height:13px
  }
  .plan-badge{
    font-size:7px;
    letter-spacing:1px;
    right:25px;
    top:27px;
    text-align:right
  }
  .consultation-note{
    font-size:7px;
    gap:6px;
    line-height:1.8
  }
  .consultation-note svg{
    width:10px;
    height:10px
  }
  .collection{
    padding:53px 0 32px
  }
  .collection-toolbar{
    margin:20px 0 24px;
    display:block
  }
  .collection-filters{
    gap:20px;
    overflow-x:auto;
    padding-top:8px;
    white-space:nowrap
  }
  .filter{
    font-size:9px;
    padding-bottom:13px
  }
  .filter span{
    font-size:6px
  }
  .collection-count{
    display:none
  }
  .product-grid{
    grid-template-columns:repeat(2,1fr);
    gap:26px 14px
  }
  .product-image{
    aspect-ratio:.9
  }
  .product-tag{
    font-size:6px;
    letter-spacing:.5px;
    left:8px;
    top:9px;
    padding:5px 6px;
    max-width:68%
  }
  .save-product{
    width:30px;
    height:30px;
    right:6px;
    top:7px
  }
  .save-product svg{
    width:11px;
    height:11px
  }
  .product-info{
    padding-top:12px
  }
  .product-category{
    font-size:7px;
    letter-spacing:.9px
  }
  .product-title-row{
    margin-top:7px;
    gap:5px
  }
  .product-title-row h3{
    font-size:22px;
    line-height:1.1
  }
  .product-title-row .product-open svg{
    width:11px;
    height:11px
  }
  .product-subtitle{
    font-size:10px;
    line-height:1.7;
    margin-top:7px;
    min-height:34px
  }
  .product-inquiry{
    margin-top:11px;
    padding-top:10px;
    display:block;
    font-size:7px
  }
  .product-inquiry :is(button,a){
    font-size:8px;
    margin-top:9px
  }
  .collection-footer{
    display:block;
    margin-top:28px;
    padding-top:18px
  }
  .collection-footer>span{
    font-size:7px;
    display:block
  }
  .collection-footer .text-link{
    font-size:9px;
    margin-top:10px
  }
  .moon-section{
    padding-top:53px;
    padding-bottom:55px
  }
  .moon-experience{
    grid-template-columns:1fr
  }
  .moon-experience-copy{
    padding:32px 25px 0
  }
  .moon-experience-copy h2{
    font-size:45px;
    margin-top:21px
  }
  .moon-experience-copy>p{
    font-size:12px;
    margin-top:17px
  }
  .explore-hint{
    font-size:6px;
    margin-top:17px;
    gap:24px
  }
  .moon-interactive{
    padding:0 25px 28px
  }
  .phase-visual{
    height:195px
  }
  .phase-content h3{
    font-size:27px
  }
  .phase-content p{
    font-size:12px;
    max-width:270px;
    min-height:68px
  }
  .phase-select{
    margin-top:15px;
    padding-top:19px
  }
  .phase-select button{
    font-size:8px
  }
  .journal{
    padding-top:0;
    padding-bottom:50px
  }
  .journal-grid{
    grid-template-columns:1fr;
    gap:30px
  }
  .journal-art{
    aspect-ratio:1.7
  }
  .journal-card h3{
    font-size:29px;
    margin-top:11px
  }
  .journal-card h3 svg{
    height:17px;
    width:17px
  }
  .article-meta{
    font-size:7px;
    margin-top:15px
  }
  .article-meta span{
    font-size:6px
  }
  .journal-moon>span{
    font-size:140px
  }
  .journal-moon>div{
    width:220px;
    height:85px
  }
  .journal-chart .chart-lines{
    width:145px;
    height:145px
  }
  .faq{
    grid-template-columns:1fr;
    padding-top:39px;
    padding-bottom:53px;
    gap:18px
  }
  .faq h2{
    font-size:46px;
    margin-top:15px
  }
  .faq-intro>p{
    margin-top:19px;
    font-size:11px
  }
  .faq-intro .text-link{
    margin-top:13px
  }
  .faq-list summary{
    font-size:12px;
    padding:18px 0
  }
  .faq-list details p{
    font-size:12px;
    padding-right:12px
  }
  .closing{
    padding:58px 20px 62px
  }
  .closing .section-kicker{
    font-size:6px;
    letter-spacing:1.5px
  }
  .closing h2{
    font-size:58px;
    margin-top:22px
  }
  .closing .button{
    margin-top:25px
  }
  .closing-orbit{
    width:540px;
    height:540px;
    top:-100px
  }
  .closing-star{
    right:10%;
    top:75px;
    font-size:17px
  }
  .site-footer{
    padding-top:36px
  }
  .footer-main{
    display:block;
    padding-bottom:30px
  }
  .footer-brand .brand{
    font-size:29px
  }
  .footer-brand p{
    font-size:10px;
    margin-top:16px
  }
  .footer-links{
    margin-top:32px;
    gap:0;
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .footer-links>div>span{
    font-size:7px
  }
  .footer-links a,.footer-links button{
    font-size:10px
  }
  .footer-bottom{
    display:block;
    font-size:7px;
    line-height:1.8;
    padding:18px 0
  }
  .footer-bottom>div{
    margin-top:11px;
    flex-wrap:wrap;
    gap:17px
  }
  .footer-bottom button{
    font-size:7px
  }
  .footer-location{
    font-size:5px;
    margin-left:auto
  }
  .dialog-content-padded{
    padding:38px 25px 28px
  }
  .main-dialog{
    width:calc(100% - 24px);
    max-height:93svh
  }
  .main-dialog h2{
    font-size:38px
  }
  .dialog-close{
    right:9px;
    top:9px;
    width:29px;
    height:29px
  }
  .dialog-product{
    grid-template-columns:1fr
  }
  .dialog-product-image{
    height:250px;
    min-height:0;
    object-position:center 48%
  }
  .dialog-product-copy{
    padding:28px 24px
  }
  .dialog-product-copy h2{
    font-size:39px
  }
  .inquiry-form{
    gap:16px 12px
  }
  .field label{
    font-size:10px;
    line-height:1.6
  }
  .field input,.field select,.field textarea{
    font-size:12px;
    padding:11px 9px
  }
  .dialog-description{
    font-size:12px
  }
  .inquiry-summary{
    font-size:9px
  }
  .inquiry-summary strong{
    font-size:25px
  }
  .article-body p{
    font-size:12px
  }
  .article-body h3{
    font-size:25px
  }
  .toast{
    font-size:10px;
    padding:12px 18px;
    bottom:17px
  }
  .inquiry-actions .button{
    font-size:9px;
    padding:13px 17px;
    gap:20px
  }
}
@media(max-width:370px){
  h1{
    font-size:clamp(64px,20vw,74px)
  }
  .hero{
    height:740px
  }
  .hero-content{
    padding-top:58px
  }
  .consultation-card{
    padding-left:12px;
    padding-right:12px
  }
  .consultation-card h3{
    font-size:32px
  }
  .plan-features{
    font-size:10px
  }
  .collection-filters{
    gap:14px
  }
  .filter{
    font-size:8px
  }
  .product-title-row h3{
    font-size:20px
  }
  .footer-location{
    display:none
  }
  .inquiry-form{
    grid-template-columns:1fr
  }
  .field{
    grid-column:1/-1
  }
}
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }
  *,*:before,*:after{
    animation:none!important;
    transition:none!important
  }
  .js-reveals .reveal{
    opacity:1;
    transform:none
  }
}
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.product-card { animation:none; }
.reading-progress { position:absolute; bottom:-1px; left:0; right:0; height:2px; overflow:hidden; pointer-events:none; }
.reading-progress span { display:block; width:100%; height:100%; background:linear-gradient(90deg,#80614e,#d8bc96); transform:scaleX(0); transform-origin:left; }
.site-header { transition:box-shadow .35s,background .35s; }
.site-header.scrolled { box-shadow:0 10px 40px #120b142b; background:#21181ff7; }
.desktop-nav a.current { color:#ead5b9; }
.desktop-nav a.current:after { width:100%; }
.starfield { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.hero-line { display:block; }
.hero-art { translate:0 var(--scroll-parallax,0px); }
body[data-motion="on"] .hero-art { animation:lunic-drift 22s ease-in-out infinite alternate; }
body[data-motion="on"] .hero .eyebrow { animation:lunic-rise 1s .1s both; }
body[data-motion="on"] .hero-line { animation:lunic-title 1.3s .15s both; }
body[data-motion="on"] .hero-line:nth-child(2) { animation-delay:.35s; }
body[data-motion="on"] .hero-content>p { animation:lunic-rise 1s .55s both; }
body[data-motion="on"] .hero-description { animation:lunic-rise 1s .68s both; }
body[data-motion="on"] .hero-buttons { animation:lunic-rise 1s .8s both; }
body[data-motion="on"] .hero-signature { animation:lunic-rise 1s 1s both; }
body[data-motion="on"] .hero-scroll .scroll-line:after { animation:lunic-scroll 2s infinite; }
.hero-compass { position:absolute; right:10%; bottom:92px; display:flex; align-items:center; gap:18px; text-align:left; padding:15px 20px; border:1px solid #d3b69245; background:#21181f45; backdrop-filter:blur(14px); color:#ddc7ad; transition:background .3s,border-color .3s; }
.hero-compass:hover { background:#3a2929aa; border-color:#d3b692; }
.hero-compass>span:last-child { font-size:6px; letter-spacing:1.7px; }
.hero-compass strong { display:flex; align-items:center; gap:24px; font-size:11px; font-weight:400; letter-spacing:.1px; margin-top:8px; }
.hero-compass strong>span { font-size:16px; }
.compass-orbit { display:grid; place-items:center; width:45px; height:45px; border:1px solid #d3b69255; border-radius:50%; position:relative; }
.compass-orbit:after { content:''; position:absolute; width:5px; height:5px; border-radius:50%; top:-3px; left:20px; background:#d3b692; box-shadow:0 0 12px #d3b69280; }
.compass-orbit>span { font-size:22px; }
body[data-motion="on"] .compass-orbit { animation:lunic-spin 16s linear infinite; }
body[data-motion="on"] .compass-orbit>span { animation:lunic-spin 16s linear infinite reverse; }
body[data-motion="on"] .hero:not(.in-view) .hero-art,
body[data-motion="on"] .hero:not(.in-view) .compass-orbit,
body[data-motion="on"] .hero:not(.in-view) .compass-orbit>span,
body[data-motion="on"] .hero:not(.in-view) .scroll-line:after { animation-play-state:paused; }
body[data-page-hidden] *,body[data-page-hidden] *:before,body[data-page-hidden] *:after { animation-play-state:paused!important; }
body.dialog-open main *,body.dialog-open main *:before,body.dialog-open main *:after { animation-play-state:paused!important; }
.button { position:relative; overflow:hidden; isolation:isolate; }
.button-ripple { position:absolute; width:12px; height:12px; border-radius:50%; background:currentColor; opacity:.18; pointer-events:none; animation:lunic-ripple .65s ease-out forwards; }
.button:hover { transform:translate3d(var(--magnet-x,0px),calc(var(--magnet-y,0px) - 2px),0); }
.consultation-card { transform-style:preserve-3d; transition:transform .3s,border-color .3s,box-shadow .3s; }
.consultation-card:after { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(280px circle at var(--glow-x,50%) var(--glow-y,0%),#d6b08b17,transparent 75%); opacity:0; transition:opacity .4s; }
.consultation-card:hover:after { opacity:1; }
.consultation-card:hover { transform:perspective(1000px) translateY(-7px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); box-shadow:0 18px 40px #0d080d40; }
.consultation-card .card-moon { transition:box-shadow .4s,transform .5s; }
.consultation-card:hover .card-moon { transform:translateY(-3px) rotate(-8deg); box-shadow:0 0 28px #ceb18b33; }
.card-moon.tarot { overflow:visible; border:0; border-radius:0; background:none; box-shadow:none; }
.card-moon.tarot:before,.card-moon.tarot:after { position:absolute; inset:0 auto auto 2%; width:65%; height:94%; display:grid; place-items:center; border:1px solid #b89674; border-radius:3px; background:linear-gradient(145deg,#503a3a,#2e202c); color:#e0c3a0; box-shadow:0 3px 8px #140c1830; font-family:var(--serif); font-size:22px; }
.card-moon.tarot:before { content:'✧'; transform:rotate(-13deg); }
.card-moon.tarot:after { content:'☾'; left:30%; transform:rotate(12deg); }
.consultation-card.tarot-consultation { grid-column:1/-1; display:grid; grid-template-columns:70px minmax(0,1fr) minmax(190px,.5fr); column-gap:30px; min-height:0; padding:36px 32px; background:linear-gradient(110deg,#65424926,transparent); }
.tarot-consultation .card-moon { grid-column:1; grid-row:1/5; align-self:center; width:62px; height:72px; margin:0; }
.tarot-consultation .card-moon:before,.tarot-consultation .card-moon:after { font-size:30px; }
.tarot-consultation h3 { grid-column:2; grid-row:1; }
.tarot-consultation .plan-subtitle { grid-column:2; grid-row:2; }
.tarot-consultation .plan-description { grid-column:2; grid-row:3; min-height:0; max-width:560px; margin:15px 0; }
.tarot-consultation .plan-features { grid-column:2; grid-row:4; margin:0; }
.tarot-consultation .plan-bottom { grid-column:3; grid-row:1/5; align-self:center; margin:0; border-top:0; border-left:1px solid var(--line); padding:20px 0 20px 28px; }
@media(max-width:900px) and (min-width:651px) {
  .consultation-card.tarot-consultation { grid-template-columns:52px minmax(0,1fr) 180px; column-gap:22px; padding:36px 27px; }
  .tarot-consultation .card-moon { width:46px; height:58px; }
  .tarot-consultation .plan-bottom { padding-left:22px; }
  .tarot-consultation .plan-price small { display:block; margin:5px 0 0; }
}
@media(max-width:650px) {
  .consultation-card.tarot-consultation { display:flex; padding:32px 27px 27px; }
  .tarot-consultation .card-moon { align-self:flex-start; width:46px; height:54px; margin-bottom:25px; }
  .tarot-consultation .card-moon:before,.tarot-consultation .card-moon:after { font-size:23px; }
  .tarot-consultation .plan-features { margin-bottom:24px; }
  .tarot-consultation .plan-bottom { align-self:stretch; margin-top:auto; border-left:0; border-top:1px solid var(--line); padding:20px 0 0; }
}
.product-image { transition:transform .35s,box-shadow .35s; transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); }
.product-image:hover { box-shadow:0 16px 25px #281b2620; }
.product-look { position:absolute; bottom:20px; left:50%; white-space:nowrap; padding:11px 16px; background:#f0e7d9e8; color:#48332d; font-size:9px; letter-spacing:.5px; opacity:0; transform:translate(-50%,12px); transition:opacity .3s,transform .3s; pointer-events:none; }
.product-image:hover .product-look,.product-image:focus-within .product-look { opacity:1; transform:translate(-50%,0); }
.product-image>button:first-child { position:relative; }
.reading-finder { display:flex; align-items:center; gap:22px; padding:23px 27px; border:1px solid #b6957540; background:linear-gradient(115deg,#a47c5710,transparent 80%); margin:32px 0 22px; }
.finder-emblem { color:var(--copper); font-size:45px; line-height:1; }
.reading-finder>div>span { font-size:7px; color:var(--copper); letter-spacing:1.5px; }
.reading-finder p { font-family:var(--serif); font-size:26px; line-height:1.2; margin-top:7px; letter-spacing:-.25px; }
.reading-finder .button { margin-left:auto; white-space:nowrap; padding:13px 19px; font-size:10px; flex-shrink:0; }
.intention-insight { margin:-7px 0 24px; padding:15px 17px; background:#b38c6510; border-left:1px solid #b69777; display:flex; justify-content:space-between; align-items:center; gap:25px; }
.intention-insight>span { display:flex; align-items:center; gap:12px; font-size:11px; color:#c2b1ae; line-height:1.8; }
.intention-insight>span svg { width:13px; height:13px; color:#c3a083; }
.intention-insight>button { display:flex; align-items:center; gap:13px; color:#d5b99b; font-size:9px; white-space:nowrap; flex-shrink:0; }
.intention-insight>button svg { width:13px; height:13px; }
.collection-toolbar { align-items:flex-end; }
.collection-tools { display:flex; align-items:center; gap:17px; padding-bottom:12px; }
.collection-search { display:flex; align-items:center; gap:9px; border:1px solid #9b7d6755; padding:9px 11px; transition:border-color .25s,background .25s; }
.collection-search:focus-within { border-color:#795a48; background:#fffcf84d; }
.collection-search svg { width:13px; height:13px; color:#8c7464; }
.collection-search input { background:none; border:0; outline:0; color:#44312f; width:162px; min-width:0; font-size:9px; }
.collection-search input::placeholder { color:#927d72; }
.collection-tools .collection-count { margin:0; font-size:7px; white-space:nowrap; }
.collection-empty { grid-column:1/-1; text-align:center; padding:65px 20px 70px; border:1px solid #94796733; }
.collection-empty>span { font-size:45px; color:#a38466; }
.collection-empty h3 { font-size:36px; margin:15px 0; }
.collection-empty p { font-size:12px; color:#8b776d; line-height:1.9; }
.collection-empty .text-link { font-size:11px; margin-top:20px; color:#775342; }
.product-image-stage { overflow:hidden; position:relative; background:#302228; min-width:0; }
.product-image-stage .dialog-product-image { transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.product-image-stage.zoomed .dialog-product-image { transform:scale(1.65); }
.product-zoom { position:absolute; left:50%; bottom:20px; transform:translateX(-50%); color:#ead9c6; background:#271b23b8; backdrop-filter:blur(14px); border:1px solid #e0c4a540; display:flex; align-items:center; gap:10px; font-size:9px; padding:11px 15px; white-space:nowrap; }
.product-zoom svg { width:14px; height:14px; }
.product-zoom:hover { background:#49322fc9; }
.finder-progress { display:flex; align-items:center; gap:16px; border-bottom:1px solid #aa8a6b40; padding-bottom:23px; margin-bottom:30px; }
.finder-progress>span { display:flex; align-items:center; gap:8px; font-size:8px; color:#aa9a8b; flex:1; }
.finder-progress i { display:grid; place-items:center; width:23px; height:23px; border:1px solid #baa58c50; border-radius:50%; font-size:8px; font-style:normal; flex-shrink:0; }
.finder-progress>span.complete { color:#72553e; }
.finder-progress .complete i { border-color:#a3805c; background:#b7956a17; }
.finder-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:26px; }
.finder-options [data-finder-intention="reflection"] { grid-column:1/-1; }
.finder-option { display:flex; align-items:center; text-align:left; padding:24px 18px; gap:15px; color:#62453e; border:1px solid #a5836940; background:#fffbf42b; transition:transform .25s,border-color .25s,background .25s; }
.finder-option:hover { transform:translateY(-3px); background:#ddcbb64d; border-color:#a48161; }
.finder-option-symbol { font-family:Georgia,serif; font-size:32px; color:#a3835d; width:29px; text-align:center; flex-shrink:0; }
.finder-option strong { display:block; font-family:var(--serif); font-weight:400; font-size:27px; letter-spacing:-.5px; }
.finder-option small { display:block; font-size:9px; line-height:1.7; color:#99816f; margin-top:6px; }
.finder-option>svg { margin-left:auto; width:13px; height:13px; }
.finder-duration-options { grid-template-columns:1fr; gap:9px; }
.finder-duration-options .finder-option { padding:16px 20px; gap:20px; }
.finder-duration-options .finder-option strong { font-size:27px; }
.finder-option.suggested { border-color:#a3805c; background:#b7956a14; }
.finder-duration-options .card-moon { margin:0; flex-shrink:0; width:35px; height:35px; }
.finder-duration-options .card-moon:after { background:#eee5d5; }
.finder-duration-options .card-moon.quarter:after { transform:translate(17px,0); }
.finder-duration-options .card-moon.gibbous:after { transform:translate(27px,0); }
.finder-option-price { margin-left:auto; display:flex; align-items:center; gap:25px; font-family:var(--serif); font-size:25px; white-space:nowrap; }
.finder-option-price svg { width:14px; height:14px; }
.finder-back { font-size:10px; color:#8a6650; margin-top:22px; }
.finder-result { text-align:center; }
.finder-result-orbit { width:115px; height:115px; margin:10px auto 30px; position:relative; border:1px solid #b18d6840; border-radius:50%; display:grid; place-items:center; }
.finder-result-orbit:before { content:''; position:absolute; inset:15px -15px; border:1px solid #b18d6840; border-radius:50%; rotate:-35deg; }
.finder-result-orbit>.card-moon { margin:0; width:64px; height:64px; }
.finder-result-orbit .card-moon:after { background:#f0e7d9; transform:translate(19px,-10px); }
.finder-result-orbit .card-moon.quarter:after { transform:translate(32px,0); }
.finder-result-orbit .card-moon.gibbous:after { transform:translate(49px,0); }
.finder-result-orbit>span { position:absolute; right:0; top:0; color:#a58562; font-size:21px; }
body[data-motion="on"] .finder-result-orbit>span { animation:lunic-breathe 3s infinite alternate; }
.finder-result h2 { padding:0; font-size:65px; }
.finder-result .dialog-description { max-width:440px; margin:20px auto; }
.finder-result-price { display:flex; flex-direction:column; align-items:center; gap:10px; padding:15px 0 25px; }
.finder-result-price strong { font-family:var(--serif); font-size:42px; font-weight:400; color:#5b3d32; }
.finder-result-price>span { color:#9b806d; font-size:9px; }
.finder-book { background:#39282f; color:#f0e7d9; border-color:#39282f; font-size:11px; }
.finder-result .finder-back { display:flex; margin-left:auto; margin-right:auto; }
.philosophy-orbit:after,.phase-orbit:after { content:''; width:5px; height:5px; position:absolute; top:-3px; left:50%; background:#d1b28d; border-radius:50%; box-shadow:0 0 12px #c7a47d66; }
.philosophy-orbit,.phase-orbit { animation-play-state:paused; }
body[data-motion="on"] .philosophy-art.in-view .orbit-one { animation:lunic-spin 30s linear infinite; }
body[data-motion="on"] .philosophy-art.in-view .orbit-two { animation:lunic-orbit-a 34s linear infinite; }
body[data-motion="on"] .philosophy-art.in-view .orbit-three { animation:lunic-orbit-a 28s linear infinite reverse; }
body[data-motion="on"] .philosophy-art.in-view .philosophy-moon { animation:lunic-moon-float 6s ease-in-out infinite alternate; }
body[data-motion="on"] .moon-experience.in-view .phase-orbit { animation:lunic-orbit-b 32s linear infinite; }
body[data-motion="on"] .moon-experience.in-view .phase-orbit-secondary { animation:lunic-spin 42s linear infinite reverse; }
body[data-motion="on"] .moon-experience.in-view .phase-spark { animation:lunic-breathe 4s ease-in-out infinite alternate; }
body[data-motion="on"] .moon-experience.in-view .phase-spark.two { animation-delay:2s; }
body[data-motion="on"] .closing.in-view .closing-star { animation:lunic-breathe 4s ease-in-out infinite alternate; }
.interactive-moon { width:130px; height:130px; box-shadow:0 0 calc(25px + var(--illumination,0) * 45px) #c1a58038; }
.moon-surface { background-image:url('./assets/lunar-hero.webp'); background-size:310% auto; background-position:89% 17%; opacity:1; filter:saturate(.45) brightness(.9); }
.moon-shadow { inset:0; box-shadow:none; transition:none; filter:blur(.3px); }
.lunar-scrubber { margin:24px auto 0; padding-top:18px; border-top:1px solid var(--line); max-width:345px; }
.lunar-scrubber-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:6px; letter-spacing:1.1px; color:#a9907d; }
.lunar-scrubber-heading output { color:#c5ac92; font-size:8px; letter-spacing:0; }
.lunar-scrubber input { display:block; width:100%; height:30px; margin:10px 0 3px; padding:0; appearance:none; background:transparent; cursor:ew-resize; touch-action:pan-y; }
.lunar-scrubber input::-webkit-slider-runnable-track { height:2px; background:linear-gradient(to right,#c4a37c var(--range-progress,0%),#8d6f5633 var(--range-progress,0%)); }
.lunar-scrubber input::-moz-range-track { height:2px; background:#8d6f5655; }
.lunar-scrubber input::-moz-range-progress { height:2px; background:#c4a37c; }
.lunar-scrubber input::-webkit-slider-thumb { appearance:none; width:13px; height:13px; margin-top:-5px; border-radius:50%; border:2px solid #d3b18a; background:#40302b; box-shadow:0 0 15px #c4a37c44; }
.lunar-scrubber input::-moz-range-thumb { width:10px; height:10px; border-radius:50%; border:2px solid #d3b18a; background:#40302b; }
.lunar-scrubber input:focus-visible { outline:1px solid #c4a37c; outline-offset:4px; }
.lunar-scrubber-footer { display:flex; justify-content:space-between; align-items:center; color:#7c6968; font-size:5px; letter-spacing:1px; }
.lunar-scrubber-footer button { display:flex; align-items:center; gap:8px; color:#c2a58c; font-size:8px; letter-spacing:.1px; padding:5px 9px; }
.lunar-scrubber-footer button svg { width:11px; height:11px; }
.lunar-scrubber-footer button:disabled { opacity:.35; cursor:default; }
.lunar-cycle-note { font-size:6px; color:#867578; margin-top:10px; letter-spacing:.2px; }
.moon-experience-copy { align-self:center; }
.moon-interactive { padding-bottom:30px; }
.motion-control,.back-to-top { position:fixed; bottom:22px; z-index:25; border:1px solid #c3a08355; background:#21181fe8; backdrop-filter:blur(12px); color:#d8bfa3; display:flex; align-items:center; justify-content:center; transition:opacity .3s,transform .3s,background .3s; }
.motion-control { left:22px; gap:8px; padding:10px 12px; font-size:8px; letter-spacing:.2px; }
.motion-control svg { width:12px; height:12px; }
.motion-control:disabled { cursor:default; opacity:.65; }
.motion-control:hover:not(:disabled),.back-to-top:hover { background:#49332b; }
.back-to-top { right:22px; width:38px; height:38px; opacity:0; visibility:hidden; transform:translateY(12px); }
.back-to-top.visible { visibility:visible; opacity:1; transform:translateY(0); }
.back-to-top svg { width:16px; height:16px; rotate:-45deg; }
@keyframes lunic-title { from { opacity:0; transform:translateY(35px) rotate(1deg); filter:blur(5px); } to { opacity:1; transform:translateY(0) rotate(0); filter:blur(0); } }
@keyframes lunic-rise { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@keyframes lunic-drift { from { transform:scale(1.015); } to { transform:scale(1.07) translate(-4px,-5px); } }
@keyframes lunic-spin { from { transform:rotate(0); } to { transform:rotate(360deg); } }
@keyframes lunic-orbit-a { from { transform:rotate(-32deg); } to { transform:rotate(328deg); } }
@keyframes lunic-orbit-b { from { transform:rotate(-22deg); } to { transform:rotate(338deg); } }
@keyframes lunic-moon-float { from { transform:translateY(0) rotate(-16deg); } to { transform:translateY(-10px) rotate(-10deg); } }
@keyframes lunic-breathe { from { opacity:.4; scale:.85; } to { opacity:1; scale:1.12; } }
@keyframes lunic-scroll { 0%,100% { translate:0 0; opacity:.5; } 50% { translate:0 5px; opacity:1; } }
@keyframes lunic-ripple { from { transform:translate(-50%,-50%) scale(1); opacity:.16; } to { transform:translate(-50%,-50%) scale(35); opacity:0; } }
@media(max-width:1100px) {
  .collection-tools .collection-count { display:none; }
  .hero-compass { right:8%; bottom:95px; }
  .reading-finder p { font-size:23px; }
}
@media(max-width:900px) {
  .hero-compass { right:7%; bottom:92px; padding:12px 15px; gap:12px; }
  .compass-orbit { width:35px; height:35px; }
  .compass-orbit:after { left:15px; }
  .hero-compass strong { font-size:9px; gap:15px; }
  .hero-compass>span:last-child { font-size:5px; }
  .reading-finder { flex-wrap:wrap; gap:14px; padding:20px; }
  .reading-finder p { font-size:22px; }
  .reading-finder>div>span { font-size:6px; }
  .reading-finder .button { font-size:9px; padding:12px 15px; }
  .finder-emblem { font-size:35px; }
  .collection-filters { gap:15px; }
  .collection-search input { width:145px; }
  .intention-insight { align-items:flex-start; flex-direction:column; gap:12px; }
  .intention-insight>span { font-size:10px; }
  .moon-experience-copy { padding-left:28px; padding-right:15px; }
}
@media(max-width:650px) {
  .hero-compass { display:none; }
  .reading-finder { margin-top:25px; padding:20px; gap:13px; }
  .finder-emblem { font-size:35px; align-self:flex-start; margin-top:12px; }
  .reading-finder>div { flex:1; }
  .reading-finder>div>span { font-size:6px; letter-spacing:1.1px; line-height:1.8; display:block; }
  .reading-finder p { font-size:25px; margin-top:9px; }
  .reading-finder .button { margin-top:4px; width:100%; justify-content:space-between; padding:14px 16px; font-size:11px; }
  .intention-insight { margin-top:-7px; padding:14px; margin-bottom:22px; }
  .intention-insight>span { font-size:11px; align-items:flex-start; gap:8px; }
  .intention-insight>span svg { margin-top:4px; }
  .intention-insight>button { font-size:10px; padding-left:21px; }
  .collection-tools { flex-direction:column; align-items:stretch; gap:10px; padding:15px 0 12px; }
  .collection-search { padding:12px; }
  .collection-search input { width:100%; font-size:11px; }
  .collection-search svg { width:15px; height:15px; }
  .collection-tools .collection-count { display:block; text-align:right; font-size:7px; }
  .collection-empty { padding:40px 15px; }
  .collection-empty h3 { font-size:31px; }
  .collection-empty p { font-size:11px; }
  .product-look { display:none; }
  .product-image-stage { height:250px; }
  .product-image-stage .dialog-product-image { height:250px; object-position:center; }
  .product-zoom { padding:9px 12px; bottom:14px; font-size:8px; }
  .finder-progress { gap:6px; margin-bottom:25px; padding-bottom:20px; }
  .finder-progress>span { font-size:6px; gap:5px; }
  .finder-progress i { width:19px; height:19px; font-size:6px; }
  .finder-dialog { padding-top:43px; }
  .finder-options { grid-template-columns:1fr; gap:9px; margin-top:22px; }
  .finder-option { padding:17px; gap:15px; }
  .finder-option strong { font-size:28px; }
  .finder-option small { font-size:10px; }
  .finder-option-symbol { font-size:28px; width:24px; }
  .finder-duration-options .finder-option { padding:16px 12px; gap:12px; }
  .finder-duration-options .finder-option strong { font-size:24px; }
  .finder-duration-options .finder-option small { font-size:8px; max-width:145px; }
  .finder-duration-options .card-moon { width:28px; height:28px; }
  .finder-duration-options .card-moon.quarter:after { transform:translate(14px,0); }
  .finder-duration-options .card-moon.gibbous:after { transform:translate(22px,0); }
  .finder-option-price { font-size:21px; gap:7px; }
  .finder-option-price svg { width:10px; height:10px; }
  .finder-result h2 { font-size:53px; }
  .finder-result-orbit { margin-bottom:28px; width:100px; height:100px; }
  .finder-book { font-size:10px; padding:15px; width:100%; }
  .finder-result .finder-back { font-size:10px; }
  .moon-experience-copy { padding:32px 25px 0; }
  .lunar-scrubber { margin-top:20px; }
  .motion-control { left:12px; bottom:12px; width:40px; height:40px; padding:0; }
  .motion-control>span { display:none; }
  .back-to-top { right:12px; bottom:12px; width:34px; height:34px; }
  .toast { bottom:57px; }
}
@media(max-width:370px) {
  .finder-duration-options .finder-option { padding:14px 9px; gap:8px; }
  .finder-duration-options .finder-option strong { font-size:21px; }
  .finder-duration-options .finder-option small { font-size:7px; max-width:115px; }
  .finder-option-price { font-size:19px; }
  .finder-option-price svg { display:none; }
  .finder-duration-options .card-moon { width:24px; height:24px; }
}
body[data-motion="off"] *,body[data-motion="off"] *:before,body[data-motion="off"] *:after { animation:none!important; transition-duration:0s!important; }
body[data-motion="off"] .reveal { opacity:1!important; transform:none!important; }
body[data-motion="off"] .consultation-card:hover,body[data-motion="off"] .product-image,body[data-motion="off"] .button:hover,body[data-motion="off"] .finder-option:hover { transform:none; }
@media(prefers-reduced-motion:reduce) {
  .hero-line { opacity:1; filter:none; transform:none; }
  .product-image,.button:hover,.finder-option:hover,.consultation-card:hover { transform:none; }
}
.gemstone-intro { display:flex; align-items:center; justify-content:space-between; gap:35px; border:1px solid #a6896a40; background:linear-gradient(115deg,#c9ad8e18,transparent 85%); padding:26px 30px; margin:28px 0 25px; }
.gemstone-story>span { display:block; font-size:7px; color:#927356; letter-spacing:1.6px; }
.gemstone-story h3 { font-size:34px; letter-spacing:-.8px; color:#624539; margin-top:12px; }
.gemstone-story p { font-size:11px; color:#917d71; line-height:1.8; margin-top:10px; max-width:500px; }
.gemstone-story a { display:inline-block; font-size:8px; color:#977759; border-bottom:1px solid #97775940; margin-top:13px; padding-bottom:3px; }
.gemstone-story a:hover { color:#5d3f2e; border-color:#5d3f2e; }
.navaratna-palette { display:grid; grid-template-columns:repeat(3,19px); gap:13px; padding:6px 20px; flex-shrink:0; }
.navaratna-palette i { width:19px; height:19px; display:block; border-radius:5px; rotate:45deg; background:radial-gradient(ellipse at 22% 22%,#ffffff80,transparent 65%),var(--gem); box-shadow:inset -3px -3px 4px #241b212b,0 3px 10px #241b2114; border:1px solid #ffffff66; }
.collection-toolbar { flex-wrap:wrap; row-gap:12px; }
.collection-tools { margin-left:auto; }
.product-local-name { display:block; font-family:var(--sans); font-size:9px; color:#a38470; letter-spacing:.4px; margin-top:6px; }
.product-title-row>button:first-child { min-height:45px; }
.dialog-gem-name { font-size:10px; color:#a0836b; margin-top:11px; letter-spacing:.8px; }
.collection-pagination { display:flex; flex-direction:column; align-items:center; gap:17px; padding:35px 0 0; }
.collection-pagination>span { font-size:9px; letter-spacing:.4px; color:#9b8677; }
.collection-pagination .button { border-color:#a58a725e; color:#71513f; font-size:10px; gap:35px; min-width:235px; padding:14px 20px; }
.collection-pagination .button svg { width:13px; height:13px; }
.collection-pagination .button:hover { background:#5c4033; border-color:#5c4033; color:#f0e7d9; }
@media(max-width:900px) {
  .gemstone-intro { padding:23px; gap:25px; }
  .gemstone-story h3 { font-size:30px; }
  .navaratna-palette { padding:0 10px; gap:11px; grid-template-columns:repeat(3,16px); }
  .navaratna-palette i { width:16px; height:16px; }
}
@media(max-width:650px) {
  .gemstone-intro { padding:20px 18px; gap:20px; align-items:flex-start; }
  .gemstone-story>span { font-size:6px; letter-spacing:1.2px; line-height:1.8; }
  .gemstone-story h3 { font-size:29px; line-height:1.05; margin-top:10px; }
  .gemstone-story p { font-size:10px; margin-top:12px; }
  .gemstone-story a { font-size:7px; line-height:1.8; }
  .navaratna-palette { grid-template-columns:repeat(3,11px); gap:8px; padding:8px 0 0; }
  .navaratna-palette i { width:11px; height:11px; border-radius:3px; }
  .collection-tools { margin-left:0; }
  .collection-filters { gap:20px; }
  .collection-filters .filter { flex-shrink:0; }
  .product-local-name { font-size:8px; margin-top:5px; }
  .product-title-row>button:first-child { min-height:62px; }
  .collection-pagination { padding-top:28px; gap:14px; }
  .collection-pagination .button { width:100%; padding:15px 20px; font-size:11px; }
}
.gemstone-intro[hidden],.collection-subfilters[hidden] { display:none; }
.yantra-intro { background:linear-gradient(115deg,#b48a5b1c,transparent 85%); }
.yantra-intro-mark { width:108px; height:108px; flex-shrink:0; stroke:#a17c54; stroke-width:.8; margin:0 14px; }
.yantra-context-link { display:inline-block; font-size:8px; color:#977759; border-bottom:1px solid #97775940; margin-top:13px; padding-bottom:3px; text-align:left; }
.yantra-context-link:hover { color:#5d3f2e; border-color:#5d3f2e; }
.collection-subfilters { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid #a6896a2b; margin:-4px 0 25px; padding-top:17px; }
.collection-subfilters>span { font-size:7px; color:#987d66; letter-spacing:1.6px; }
.collection-subfilters>div { display:flex; gap:7px; flex-wrap:wrap; }
.collection-subfilters button { display:flex; gap:10px; align-items:center; border:1px solid #a6896a40; border-radius:2px; padding:9px 13px; color:#93765e; font-size:9px; transition:background .2s,color .2s,border-color .2s; }
.collection-subfilters button>span { opacity:.6; font-size:8px; }
.collection-subfilters button.active { background:#6a493b; border-color:#6a493b; color:#f0e7d9; }
.collection-subfilters button:not(.active):hover { border-color:#977759; background:#b48a5b12; }
.product-title-row h3 { overflow-wrap:anywhere; }
@media(max-width:650px) {
  .yantra-intro-mark { width:63px; height:63px; margin:5px 0 0; }
  .yantra-context-link { font-size:7px; line-height:1.8; }
  .collection-subfilters { gap:12px; margin-bottom:23px; }
  .collection-subfilters>div { width:100%; gap:6px; }
  .collection-subfilters button { gap:7px; padding:9px 10px; font-size:8px; }
}
:is(.yantra-detail,.rudraksha-detail,.vastu-detail) .product-image-stage { display:flex; align-items:center; background:#1f141a; }
:is(.yantra-detail,.rudraksha-detail,.vastu-detail) .product-image-stage .dialog-product-image { width:100%; height:auto; min-height:0; aspect-ratio:1; object-fit:contain; object-position:center; }
@media(max-width:650px) {
  :is(.yantra-detail,.rudraksha-detail,.vastu-detail) .product-image-stage { height:auto; }
}
.rudraksha-filters[hidden] { display:none; }
.rudraksha-intro { background:linear-gradient(115deg,#98734e1c,transparent 85%); }
.rudraksha-portraits { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.rudraksha-portraits figure { width:100px; margin:0; text-align:center; }
.rudraksha-portraits img { width:100px; height:100px; object-fit:cover; border:1px solid #9a775149; }
.rudraksha-portraits figcaption { color:#917356; letter-spacing:1.4px; font-size:7px; padding-top:10px; }
.rudraksha-filters { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; border-top:1px solid #a6896a2b; padding-top:17px; margin:-4px 0 25px; }
.rudraksha-origins { display:flex; gap:7px; }
.rudraksha-origins button,.rudraksha-origin-switch button { display:flex; align-items:center; gap:10px; border:1px solid #a6896a40; border-radius:2px; padding:10px 14px; color:#93765e; font-size:10px; transition:background .2s,color .2s,border-color .2s; }
.rudraksha-origins button>span { opacity:.6; font-size:8px; }
.rudraksha-origins button.active,.rudraksha-origin-switch button.active { background:#6a493b; border-color:#6a493b; color:#f0e7d9; }
.rudraksha-origins button:not(.active):hover,.rudraksha-origin-switch button:not(.active):hover { border-color:#977759; background:#b48a5b12; }
.rudraksha-mukhi-label { display:flex; align-items:center; gap:12px; color:#987d66; font-size:7px; letter-spacing:1px; margin-left:auto; }
.rudraksha-mukhi-label select { border:1px solid #a6896a50; border-radius:2px; color:#795e49; padding:10px 30px 10px 12px; background:transparent; font:10px var(--sans); letter-spacing:0; cursor:pointer; max-width:100%; }
.rudraksha-preview-note { flex-basis:100%; color:#a18a79; font-size:8px; letter-spacing:.2px; }
.rudraksha-origin-switch { display:flex; gap:7px; flex-wrap:wrap; margin-top:20px; }
.rudraksha-origin-switch button { font-size:9px; padding:9px 12px; }
@media(max-width:900px) {
  .rudraksha-portraits { gap:10px; }
  .rudraksha-portraits figure,.rudraksha-portraits img { width:75px; }
  .rudraksha-portraits img { height:75px; }
}
@media(max-width:650px) {
  .rudraksha-intro { flex-wrap:wrap; gap:18px; }
  .rudraksha-portraits { width:100%; justify-content:flex-start; gap:12px; }
  .rudraksha-portraits figure { display:flex; align-items:center; width:auto; gap:9px; }
  .rudraksha-portraits img { width:45px; height:45px; }
  .rudraksha-portraits figcaption { font-size:7px; padding:0; }
  .rudraksha-filters { gap:14px; }
  .rudraksha-origins { width:100%; gap:6px; }
  .rudraksha-origins button { flex:1; justify-content:center; gap:8px; padding:10px 9px; font-size:9px; }
  .rudraksha-mukhi-label { width:100%; margin-left:0; justify-content:space-between; }
  .rudraksha-mukhi-label select { flex:1; max-width:70%; }
  .rudraksha-preview-note { font-size:7px; line-height:1.7; }
}
.product-image-note { font-size:9px; line-height:1.6; color:#927c6d; margin-top:9px; }
@media(max-width:650px) {
  .product-image-note { font-size:8px; line-height:1.7; margin-top:7px; }
}
.vastu-intro { background:linear-gradient(115deg,#bb9a721b,transparent 85%); }
.vastu-intro-mark { width:115px; height:115px; flex-shrink:0; stroke:#a17c54; stroke-width:.8; margin:0 14px; }
.vastu-families>div { justify-content:flex-start; }
.vastu-families { gap:15px 20px; }
@media(max-width:900px) {
  .vastu-families>span { flex-basis:100%; }
  .vastu-families>div { width:100%; }
}
@media(max-width:650px) {
  .vastu-intro-mark { width:65px; height:65px; margin:5px 0 0; }
  .vastu-families>div { flex-wrap:wrap; gap:6px; }
  .vastu-families button { flex:1 0 auto; justify-content:center; }
}
.dialog-illustration-note { color:#8b7160; font-size:9px; line-height:1.7; margin-top:12px; max-width:360px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.consultations { padding-top:80px; padding-bottom:72px; }
.reading-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:45px; }
.reading-section-heading h2 { font-size:clamp(54px,6.4vw,88px); line-height:1.02; letter-spacing:-2.6px; margin:25px 0 0; }
.reading-section-intro { max-width:310px; padding-bottom:8px; }
.reading-section-intro>p { font-size:14px; line-height:1.9; color:#c1b1b6; }
.reading-finder-link,.reading-compare-link { display:inline-flex; align-items:center; gap:15px; font-size:11px; color:#e2c6a5; }
.reading-finder-link { border-bottom:1px solid #a6836570; padding:0 0 10px; margin-top:23px; }
.reading-finder-link svg,.reading-compare-link svg { width:14px; height:14px; }
.reading-finder-link:hover svg { transform:translate(2px,-2px); }
.reading-assurances { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin:29px 0 37px; color:#b9a9af; font-size:10px; }
.reading-assurances>span { display:flex; align-items:center; gap:10px; }
.reading-assurances>span+span:before { content:'·'; margin-right:7px; color:#bc997c; }
.reading-assurances svg { width:13px; height:13px; color:#d0ae88; }
.reading-controls { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:25px; }
.reading-controls .intention-picker { display:block; margin:0; }
.reading-controls .intention-picker>span { display:block; font-size:8px; letter-spacing:1.7px; color:#b79f96; margin-bottom:15px; }
.reading-controls .intention-picker>div { gap:7px; }
.reading-controls .intention { font-size:10px; padding:10px 15px; }
.reading-compare-link { font-size:10px; gap:9px; white-space:nowrap; padding:10px 0; flex-shrink:0; }
.reading-compare-link:hover { color:#fff1dc; }
.reading-guidance { font-size:11px; color:#a995a1; line-height:1.7; min-height:19px; margin:16px 0 23px; transition:color .3s; }
.reading-guidance.has-recommendation { color:#dfc2a0; }
.reading-mobile-hint,.reading-mobile-bookbar { display:none; }
.reading-phase-rail { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-bottom:15px; }
.reading-choice { padding:17px 18px 15px; text-align:left; border:1px solid #c4a08535; background:#30212c70; position:relative; transition:background .3s,border-color .3s,color .3s; min-width:0; }
.reading-choice:before { content:''; position:absolute; height:2px; bottom:-9px; width:0; left:50%; transform:translateX(-50%); background:#d4b490; transition:width .3s; }
.reading-choice:hover { border-color:#b99679; background:#48303b; }
.reading-choice[aria-selected="true"] { background:#eee4d4; color:#34242a; border-color:#eee4d4; }
.reading-choice[aria-selected="true"]:before { width:36%; }
.reading-choice-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; min-height:38px; }
.reading-choice-top>span:first-child { max-width:90px; font-size:7px; line-height:1.7; text-transform:uppercase; letter-spacing:1.2px; color:#bda799; }
.reading-choice[aria-selected="true"] .reading-choice-top>span:first-child { color:#8c715a; }
.reading-choice .card-moon { width:25px; height:25px; margin:0; flex-shrink:0; background:#c8ac89; box-shadow:inset 0 0 9px #6a5149; }
.reading-choice .card-moon:after { background:#30212c; transform:translate(7px,-4px); }
.reading-choice .card-moon.quarter:after { transform:translate(12px,0); }
.reading-choice .card-moon.gibbous:after { transform:translate(20px,0); }
.reading-choice[aria-selected="true"] .card-moon:after { background:#eee4d4; }
.reading-choice .card-moon.tarot { background:none; box-shadow:none; height:28px; }
.reading-choice .card-moon.tarot:before,.reading-choice .card-moon.tarot:after { background:#4b333e; font-size:13px; border-radius:2px; }
.reading-choice .card-moon.tarot:after { transform:rotate(12deg); }
.reading-choice strong { display:block; font-family:var(--serif); font-size:25px; font-weight:400; line-height:1.08; min-height:54px; margin:7px 0 12px; letter-spacing:-.55px; }
.reading-choice-bottom { display:flex; justify-content:space-between; align-items:center; gap:6px; color:#d7bd9e; font-size:13px; }
.reading-choice-bottom>svg { width:17px; height:17px; }
.reading-choice[aria-selected="true"] .reading-choice-bottom { color:#785541; }
.reading-panel { display:grid; grid-template-columns:.9fr 1.1fr; min-height:566px; border:1px solid #b48d6857; }
.reading-cosmos { background:radial-gradient(ellipse at 50% 40%,#78534a40,transparent 62%),linear-gradient(145deg,#33222f,#251c29 70%); position:relative; display:flex; flex-direction:column; padding:27px 30px; overflow:hidden; isolation:isolate; min-width:0; }
.reading-cosmos:before { content:''; position:absolute; inset:0; z-index:-1; background-image:radial-gradient(1px 1px at 13% 24%,#f2d3ac80 90%,transparent),radial-gradient(1px 1px at 80% 18%,#f2d3ac 90%,transparent),radial-gradient(1px 1px at 76% 71%,#f2d3ac99 90%,transparent),radial-gradient(1px 1px at 17% 82%,#f2d3ac80 90%,transparent),radial-gradient(1px 1px at 89% 49%,#f2d3ac80 90%,transparent),radial-gradient(1px 1px at 40% 63%,#f2d3ac80 90%,transparent); }
.reading-cosmos:after { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(250px circle at var(--glow-x,50%) var(--glow-y,40%),#d9b18b10,transparent 80%); }
.cosmos-caption { display:flex; justify-content:space-between; align-items:center; color:#b79d90; font-size:7px; letter-spacing:2px; gap:10px; }
.cosmos-caption>span:last-child { color:#dabb93; font-size:19px; }
.reading-moon-scene { position:relative; width:100%; min-height:330px; flex:1; display:grid; place-items:center; transform:perspective(850px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .5s; }
.reading-orbit { position:absolute; width:320px; height:320px; top:50%; left:50%; margin:-160px; border:1px solid #bd9c7d29; border-radius:50%; }
.reading-orbit:after { content:''; width:5px; height:5px; background:#d7b58b; border-radius:50%; position:absolute; top:50px; left:39px; box-shadow:0 0 14px #d7b58b80; }
.reading-orbit.orbit-inner { width:250px; height:310px; margin:-155px -125px; rotate:-37deg; border-style:dashed; opacity:.7; }
.reading-orbit.orbit-inner:after { display:none; }
.reading-orb { position:relative; width:200px; height:200px; border-radius:50%; overflow:hidden; background:#c6ad8d url('./assets/lunar-hero.webp') 89% 17% / 310% auto; box-shadow:0 0 80px #bd966a20,inset -22px -15px 30px #35222e80,inset 2px 1px 5px #ffebc8a0; filter:saturate(.6); }
.reading-orb>span { position:absolute; inset:-1px; background:radial-gradient(ellipse at 15% 25%,#362633,#261c29 80%); border-radius:50%; transform:translate(48px,-30px); box-shadow:-5px 2px 10px #39253660; }
.reading-orb.quarter>span { transform:translate(96px,0); }
.reading-orb.gibbous>span { transform:translate(156px,0); }
.reading-orb.full>span { display:none; }
.cosmos-star { position:absolute; color:#d2af85; font-style:normal; }
.cosmos-star.star-one { left:13%; top:21%; font-size:25px; }
.cosmos-star.star-two { right:9%; bottom:24%; font-size:17px; }
.cosmos-star.star-three { left:32%; bottom:12%; font-size:22px; }
.cosmos-coordinate { position:absolute; top:50%; font-size:6px; letter-spacing:2px; color:#ac8c7d; writing-mode:vertical-rl; }
.coordinate-left { left:0; transform:translateY(-50%) rotate(180deg); }
.coordinate-right { right:0; transform:translateY(-50%); }
.cosmos-footer { text-align:center; position:relative; padding:10px 0 5px; }
.cosmos-footer>span { font-family:var(--serif); font-size:38px; color:#eadac6; letter-spacing:-.8px; }
.cosmos-footer>p { font-size:10px; color:#bda99f; line-height:1.7; margin-top:9px; }
.cosmos-dots { display:flex; justify-content:center; gap:10px; margin-top:21px; }
.cosmos-dots>i { width:4px; height:4px; border-radius:50%; background:#ae8f7850; }
.cosmos-dots>i.active { background:#d9b58f; box-shadow:0 0 9px #d9b58f70; }
.reading-copy { background:#eee6d9; color:#402d31; padding:35px 38px 26px; display:flex; flex-direction:column; min-width:0; }
.reading-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#795e49; font-size:8px; letter-spacing:1px; text-transform:uppercase; line-height:1.5; }
.reading-time { padding:7px 10px; border:1px solid #b8997b70; letter-spacing:.2px; white-space:nowrap; }
.reading-title-row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:20px; }
.reading-title-row>h3 { font-size:58px; font-weight:400; letter-spacing:-1.5px; line-height:1.05; }
.reading-title-row>svg { width:31px; height:31px; color:#b3987c; }
.reading-lead { font-family:var(--serif); font-size:22px; line-height:1.4; color:#795b4b; margin-top:10px; max-width:390px; }
.reading-best { font-size:13px; line-height:1.8; color:#796150; margin:22px 0 16px; }
.reading-best>span { display:block; color:#7d6350; font-size:8px; letter-spacing:1.7px; margin-bottom:8px; }
.reading-note-tabs { display:flex; gap:20px; border-bottom:1px solid #ad90744d; }
.reading-note-tabs>button { position:relative; font-size:10px; color:#795e49; padding:10px 0; }
.reading-note-tabs>button:after { content:''; height:1px; position:absolute; bottom:-1px; left:0; right:0; background:#73513c; transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.reading-note-tabs>button[aria-selected="true"] { color:#624638; }
.reading-note-tabs>button[aria-selected="true"]:after { transform:scaleX(1); }
.reading-notes { list-style:none; display:flex; flex-direction:column; gap:10px; min-height:102px; margin:0; padding:18px 0 22px; }
.reading-notes>li { display:flex; align-items:flex-start; gap:10px; font-size:11px; line-height:1.75; color:#796150; }
.reading-notes svg { width:12px; height:12px; flex-shrink:0; color:#997451; margin-top:3px; }
.reading-reserve { display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid #ad90744d; padding-top:20px; margin-top:auto; }
.reading-fee { display:flex; flex-direction:column; gap:4px; flex-shrink:0; }
.reading-fee strong { font-family:var(--serif); font-weight:400; font-size:43px; letter-spacing:-1.3px; line-height:1; color:#54372f; }
.reading-fee>span { font-size:10px; color:#796150; }
.reading-book.button { color:#f5ead9; background:#3b2731; border:1px solid #3b2731; font-size:10px; padding:15px 16px; gap:18px; justify-content:space-between; text-align:left; line-height:1.5; }
.reading-book.button:hover { background:#583b43; }
.reading-book svg { width:15px; height:15px; flex-shrink:0; }
.reading-book-note { font-size:10px; color:#796150; line-height:1.75; margin-top:16px; }
.reading-deck { position:relative; width:200px; height:215px; }
.celestial-card { position:absolute; inset:0 24px; display:grid; place-items:center; border:1px solid #b99a76; border-radius:6px; color:#d1ad82; font-family:var(--serif); font-size:68px; box-shadow:0 10px 30px #140b1b50; background:repeating-linear-gradient(45deg,transparent 0 9px,#b89a7311 9px 10px),#392936; }
.celestial-card:before { content:''; position:absolute; inset:10px; border:1px solid #c3a0785e; border-radius:3px; }
.card-back { transform:translate(-25px,3px) rotate(-17deg); }
.card-middle { transform:translate(23px,7px) rotate(16deg); }
.celestial-card.card-front { transform:rotate(-2deg); background:radial-gradient(ellipse at 50% 35%,#dac6a2,#bba17e); color:#6b4c41; border-color:#e3cdac; box-shadow:0 10px 40px #140b1b80; }
.card-front:before { border-color:#83604470; }
.card-front>span { border:1px solid #8a694354; border-radius:50%; width:91px; height:91px; display:grid; place-items:center; padding-bottom:8px; }
.card-front>small { position:absolute; bottom:28px; font-family:var(--sans); font-size:6px; letter-spacing:2px; }
.reading-question-lab { display:grid; grid-template-columns:.7fr 1.3fr; gap:50px; padding:35px 0; border-bottom:1px solid var(--line); }
.reading-small-label { font-size:7px; color:#b39886; letter-spacing:1.8px; line-height:1.7; }
.reading-question-heading h3,.reading-journey-heading h3 { font-size:35px; font-weight:400; letter-spacing:-.6px; margin-top:12px; }
.reading-question-heading p,.reading-journey-heading p { color:#af9ba5; font-size:11px; line-height:1.8; margin-top:10px; }
.reading-theme-options { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:22px; }
.reading-theme-options>button { font-size:10px; color:#bfa9ad; border:1px solid #b5967f40; padding:9px 12px; transition:background .25s,border-color .25s,color .25s; }
.reading-theme-options>button:hover { border-color:#c8a784; }
.reading-theme-options>button[aria-pressed="true"] { color:#eedac2; border-color:#c3a083; background:#b58b6530; }
.reading-question-preview { border-left:1px solid #a27a5a70; padding-left:20px; }
.reading-question-preview p { font-family:var(--serif); font-size:25px; line-height:1.5; color:#dbc9bb; margin-top:9px; }
.reading-question-preview small { display:block; color:#aa949b; font-size:9px; line-height:1.85; margin-top:12px; }
.reading-journey { display:grid; grid-template-columns:.7fr 1.3fr; gap:50px; padding:35px 0; }
.reading-journey-steps>details { border-bottom:1px solid var(--line); }
.reading-journey-steps summary { display:flex; align-items:center; list-style:none; gap:18px; padding:19px 0; cursor:pointer; }
.reading-journey-steps summary::-webkit-details-marker { display:none; }
.reading-journey-steps summary>span { font-family:var(--serif); font-size:20px; color:#b99a7a; }
.reading-journey-steps summary>strong { font-size:12px; font-weight:400; color:#d6c2bf; }
.reading-journey-steps summary>svg { width:12px; height:12px; margin-left:auto; color:#bfa086; transition:rotate .25s; }
.reading-journey-steps details[open] summary>svg { rotate:45deg; }
.reading-journey-steps details>p { color:#b09ca6; font-size:11px; line-height:1.9; padding:0 24px 20px 40px; }
.reading-care-note { display:flex; justify-content:center; align-items:flex-start; text-align:center; gap:15px; border-top:1px solid var(--line); padding-top:28px; }
.reading-care-note svg { width:14px; height:14px; color:#bfa082; margin-top:5px; flex-shrink:0; }
.reading-care-note p { font-size:12px; line-height:1.8; color:#c9b6b8; }
.reading-care-note p>span { display:block; font-size:9px; color:#a58e99; margin-top:5px; }
.main-dialog:has(.comparison-dialog) { max-width:1120px; width:92vw; }
.comparison-dialog h2 { font-size:56px; }
.reading-compare-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:30px; }
.reading-compare-card { display:flex; flex-direction:column; padding:19px 15px; border:1px solid #a3876850; min-width:0; }
.reading-compare-card.is-current { border-color:#8b694e; background:#b08c6012; }
.compare-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.compare-card-top .card-moon { margin:0; width:30px; height:30px; flex-shrink:0; }
.compare-card-top .card-moon:after { background:#f0e7d9; transform:translate(9px,-5px); }
.compare-card-top .card-moon.quarter:after { transform:translate(15px,0); }
.compare-card-top .card-moon.gibbous:after { transform:translate(23px,0); }
.compare-card-top .card-moon.tarot:after { background:#49313a; transform:rotate(12deg); }
.compare-card-top>span { font-size:6px; color:#9e8065; letter-spacing:1px; text-align:right; }
.reading-compare-card h3 { font-size:27px; font-weight:400; line-height:1.1; letter-spacing:-.6px; min-height:60px; margin:22px 0 8px; color:#624539; }
.reading-compare-card p { font-size:11px; line-height:1.85; color:#796150; margin:0 0 19px; }
.reading-compare-card .compare-time { color:#806047; min-height:36px; }
.compare-card-bottom { margin-top:auto; border-top:1px solid #a3876840; padding-top:17px; }
.compare-card-bottom>strong { font-family:var(--serif); font-size:30px; font-weight:400; color:#684831; }
.compare-card-bottom>button { display:flex; justify-content:space-between; width:100%; gap:10px; margin-top:18px; color:#75513c; font-size:10px; }
.compare-card-bottom svg { width:13px; height:13px; }
.compare-footnote { font-size:11px; line-height:1.9; color:#796150; margin-top:22px; }
body[data-motion="on"] .reading-studio.in-view .reading-orbit.orbit-outer { animation:reading-revolve 40s linear infinite; }
body[data-motion="on"] .reading-studio.in-view .cosmos-star.star-one { animation:lunic-breathe 5s infinite alternate; }
body[data-motion="off"] .reading-moon-scene { transform:none; }
@keyframes reading-revolve { from { transform:rotate(0); } to { transform:rotate(360deg); } }
@media(min-width:1450px) {
  .reading-panel { min-height:620px; }
  .reading-copy { padding:44px 46px 33px; }
  .reading-title-row>h3 { font-size:68px; }
  .reading-lead { font-size:25px; }
  .reading-best { font-size:14px; }
  .reading-notes>li { font-size:12px; }
}
@media(max-width:1100px) {
  .reading-controls { flex-wrap:wrap; row-gap:10px; }
  .reading-controls .intention-picker { flex:1 0 auto; max-width:100%; }
  .reading-choice { padding:14px 14px 13px; }
  .reading-choice strong { font-size:23px; }
  .reading-copy { padding:30px 28px 25px; }
  .reading-title-row>h3 { font-size:49px; }
  .reading-meta { font-size:7px; gap:8px; }
  .reading-cosmos { padding:25px 23px; }
  .reading-orbit { width:270px; height:270px; margin:-135px; }
  .reading-orbit.orbit-inner { width:215px; height:270px; margin:-135px -107.5px; }
  .reading-orb { width:180px; height:180px; }
  .reading-orb.quarter>span { transform:translate(87px,0); }
  .reading-orb.gibbous>span { transform:translate(142px,0); }
  .reading-fee strong { font-size:37px; }
  .reading-book.button { font-size:9px; padding:13px 14px; gap:12px; }
  .reading-question-lab,.reading-journey { gap:30px; }
  .reading-theme-options>button { font-size:9px; padding:9px 10px; }
}
@media(max-width:900px) {
  .consultations { padding-top:55px; }
  .reading-section-heading { gap:25px; }
  .reading-section-heading h2 { font-size:65px; }
  .reading-section-intro { max-width:255px; }
  .reading-section-intro>p { font-size:12px; }
  .reading-finder-link { font-size:10px; }
  .reading-choice-top { min-height:35px; }
  .reading-choice-top>span:first-child { font-size:6px; letter-spacing:.8px; }
  .reading-choice strong { font-size:22px; }
  .reading-panel { grid-template-columns:.78fr 1.22fr; }
  .reading-cosmos { padding:23px 20px; }
  .cosmos-caption { font-size:6px; letter-spacing:1.4px; }
  .reading-orbit { width:230px; height:230px; margin:-115px; }
  .reading-orbit.orbit-inner { width:190px; height:235px; margin:-117.5px -95px; }
  .reading-orb { width:157px; height:157px; }
  .reading-orb.quarter>span { transform:translate(76px,0); }
  .reading-orb.gibbous>span { transform:translate(124px,0); }
  .cosmos-coordinate { font-size:5px; letter-spacing:1.4px; }
  .cosmos-footer>span { font-size:32px; }
  .cosmos-footer>p { font-size:9px; }
  .reading-copy { padding:29px 26px 23px; }
  .reading-title-row>h3 { font-size:46px; }
  .reading-lead { font-size:21px; }
  .reading-reserve { gap:14px; }
  .reading-deck { scale:.8; }
  .reading-question-heading h3,.reading-journey-heading h3 { font-size:30px; }
  .reading-question-preview p { font-size:23px; }
  .reading-compare-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .reading-compare-card h3 { min-height:30px; }
  .reading-compare-card .compare-time { min-height:18px; }
}
@media(max-width:700px) {
  .reading-mobile-hint { display:flex; justify-content:space-between; gap:15px; font-size:7px; letter-spacing:1.2px; color:#b49a87; margin-bottom:12px; }
  .reading-section-heading { display:block; }
  .reading-section-heading h2 { font-size:57px; letter-spacing:-1.8px; }
  .reading-section-intro { max-width:100%; margin-top:23px; }
  .reading-section-intro>p { font-size:13px; }
  .reading-section-intro>p br { display:none; }
  .reading-finder-link { margin-top:17px; font-size:11px; }
  .reading-assurances { gap:10px 17px; font-size:9px; margin:24px 0 30px; }
  .reading-assurances>span+span:before { margin-right:0; }
  .reading-controls .intention { font-size:10px; padding:10px 13px; min-height:44px; }
  .reading-compare-link,.reading-finder-link { min-height:44px; }
  .reading-guidance { font-size:10px; margin-top:12px; min-height:34px; }
  .reading-phase-rail { display:flex; overflow-x:auto; gap:8px; padding-bottom:12px; margin-bottom:0; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#a17e5e50 transparent; }
  .reading-choice { flex:0 0 140px; scroll-snap-align:start; padding:14px; }
  .reading-choice strong { font-size:23px; min-height:50px; }
  .reading-choice-top>span:first-child { font-size:6px; }
  .reading-choice:before { bottom:-6px; }
  .reading-panel { grid-template-columns:1fr; }
  .reading-cosmos { min-height:290px; padding:20px 24px; }
  .reading-moon-scene { min-height:180px; }
  .reading-orbit { width:210px; height:210px; margin:-105px; }
  .reading-orbit.orbit-inner { width:160px; height:205px; margin:-102.5px -80px; }
  .reading-orb { width:128px; height:128px; }
  .reading-orb>span { transform:translate(31px,-19px); }
  .reading-orb.quarter>span { transform:translate(62px,0); }
  .reading-orb.gibbous>span { transform:translate(102px,0); }
  .cosmos-footer { padding:0; }
  .cosmos-footer>span { font-size:28px; }
  .cosmos-footer>p { font-size:9px; margin-top:4px; }
  .cosmos-dots { display:none; }
  .reading-deck { height:160px; width:154px; scale:1; }
  .celestial-card { inset:0 22px; font-size:45px; }
  .card-front>span { width:68px; height:68px; padding-bottom:5px; }
  .card-front>small { font-size:4px; letter-spacing:1.2px; bottom:23px; }
  .card-back { transform:translate(-19px,2px) rotate(-17deg); }
  .card-middle { transform:translate(17px,5px) rotate(16deg); }
  .reading-copy { padding:27px 24px 23px; }
  .reading-meta { font-size:9px; flex-wrap:wrap; }
  .reading-title-row { margin-top:23px; }
  .reading-title-row>h3 { font-size:48px; }
  .reading-lead { font-size:22px; }
  .reading-best { font-size:14px; margin-top:22px; }
  .reading-note-tabs>button { font-size:11px; min-height:44px; }
  .reading-notes { min-height:128px; }
  .reading-notes>li { font-size:13px; }
  .reading-reserve { align-items:stretch; flex-direction:column; gap:19px; }
  .reading-fee { flex-direction:row; align-items:flex-end; gap:12px; }
  .reading-fee strong { font-size:43px; }
  .reading-fee>span { font-size:10px; padding-bottom:4px; }
  .reading-book.button { font-size:11px; padding:16px 18px; width:100%; }
  .reading-book-note { font-size:11px; }
  .reading-question-lab,.reading-journey { grid-template-columns:1fr; padding:29px 0; gap:21px; }
  .reading-question-heading h3,.reading-journey-heading h3 { font-size:35px; margin-top:9px; }
  .reading-question-heading p,.reading-journey-heading p { font-size:11px; margin-top:7px; }
  .reading-theme-options { gap:7px; margin-bottom:21px; }
  .reading-theme-options>button { font-size:11px; padding:11px 13px; min-height:44px; }
  .reading-question-preview p { font-size:25px; }
  .reading-question-preview small { font-size:9px; }
  .reading-care-note { gap:12px; padding-top:23px; }
  .reading-care-note p { font-size:11px; }
  .reading-compare-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .comparison-dialog h2 { font-size:45px; }
  .reading-mobile-bookbar:not([hidden]) { position:fixed; bottom:0; left:0; right:0; z-index:29; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 7% calc(14px + env(safe-area-inset-bottom)); background:#eee6d9f7; border-top:1px solid #b89a7b; backdrop-filter:blur(18px); box-shadow:0 -8px 28px #140c1a20; color:#493136; }
  .reading-mobile-bookbar>div { display:flex; flex-direction:column; gap:4px; }
  .reading-mobile-bookbar strong { font-family:var(--serif); font-size:22px; font-weight:400; letter-spacing:-.3px; line-height:1.1; }
  .reading-mobile-bookbar .mobile-reading-price { color:#8c6850; font-size:12px; }
  .reading-mobile-bookbar>button { display:flex; align-items:center; justify-content:space-between; gap:25px; min-height:46px; padding:12px 17px; background:#3b2731; color:#f0e1cc; font-size:12px; }
  .reading-mobile-bookbar svg { width:14px; height:14px; }
  body.dialog-open .reading-mobile-bookbar,body:has(.menu-button[aria-expanded="true"]) .reading-mobile-bookbar { display:none; }
  body.reading-bar-visible .motion-control,body.reading-bar-visible .back-to-top { bottom:calc(100px + env(safe-area-inset-bottom)); }
}
@media(max-width:450px) {
  .reading-compare-grid { grid-template-columns:1fr; }
  .reading-compare-card { padding:22px; }
  .reading-compare-card h3 { min-height:0; margin-top:18px; font-size:32px; }
  .reading-compare-card p { font-size:12px; }
  .compare-card-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; }
  .compare-card-bottom>button { margin-top:0; width:auto; gap:20px; font-size:12px; min-height:44px; }
  .compare-card-top>span { font-size:7px; }
  .comparison-dialog h2 { font-size:40px; }
}
@media(max-width:370px) {
  .reading-section-heading h2 { font-size:50px; }
  .reading-copy { padding:25px 20px 22px; }
  .reading-title-row>h3 { font-size:42px; }
  .reading-lead { font-size:21px; }
  .reading-note-tabs { gap:16px; }
  .reading-note-tabs>button { font-size:10px; }
  .reading-assurances { font-size:8px; column-gap:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .reading-orbit,.cosmos-star { animation:none !important; }
  .reading-moon-scene { transform:none; }
  .reading-choice,.reading-note-tabs>button:after { transition:none; }
}
@media(max-width:1100px) {
  .header-cta { display:none; }
}
@media(max-width:650px) {
  .site-header .header-actions { gap:6px; }
  .site-header .icon-button { width:44px; height:44px; }
  .site-header .bag-count { right:0; top:1px; }
  .dialog-close { width:44px; height:44px; top:4px; right:4px; }
  .main-dialog { max-height:calc(100dvh - 24px); overscroll-behavior:contain; }
  .field input,.field textarea,.field select,.collection-search input,.rudraksha-mukhi-label select { font-size:16px; min-height:46px; }
  .field label { font-size:11px; }
  .inquiry-form>.button,.inquiry-actions>.button,.dialog-product-copy>.button { min-height:48px; font-size:12px; }
  .collection-filters { flex-wrap:wrap; gap:4px 18px; }
  .collection-filters .filter { min-height:44px; padding:10px 0; font-size:11px; }
  .product-inquiry :is(button,a) { display:flex; justify-content:space-between; align-items:center; gap:8px; width:100%; min-height:44px; font-size:11px; line-height:1.45; text-align:left; }
  .product-inquiry svg { width:12px; height:12px; }
  .save-product { width:44px; height:44px; }
  .product-tag { max-width:calc(100% - 64px); }
  .product-title-row>button:first-child { width:100%; min-width:0; min-height:44px; }
  .product-title-row .product-open { display:none; }
  .product-zoom,.phase-select button,.lunar-scrubber-footer button { min-width:44px; min-height:44px; }
  .text-link { min-height:44px; }
  .product-subtitle { font-size:11px; color:#7b6254; }
  .collection-subfilters button,.rudraksha-origins button,.rudraksha-origin-switch button,.vastu-family-options button { min-height:44px; }
  .collection-pagination .button { min-height:48px; }
  .faq-list summary { min-height:56px; line-height:1.6; padding-right:5px; }
  .motion-control { width:44px; height:44px; min-height:44px; }
  .back-to-top { width:44px; height:44px; }
  .finder-option { min-height:65px; }
  .finder-option small { font-size:11px; color:#795e49; }
  .form-note { font-size:12px; color:#796150; }
  .finder-back { min-height:44px; }
  .footer-credit { padding-bottom:86px; }
}
.mobile-nav { max-height:calc(100dvh - 100%); overflow-y:auto; overscroll-behavior:contain; }
@media(min-width:651px) { .mobile-nav { display:none; } }
.reading-mobile-hint>span:first-child { display:flex; align-items:center; gap:6px; }
.reading-mobile-hint svg { width:13px; height:13px; }
.finder-back svg { width:14px; height:14px; }
.hero-compass strong>svg { width:16px; height:16px; }
@media(max-width:900px), (pointer:coarse) {
  .site-header,.motion-control,.back-to-top,.hero-compass,.product-zoom,
  .reading-mobile-bookbar:not([hidden]),.main-dialog::backdrop { backdrop-filter:none; -webkit-backdrop-filter:none; }
  .site-header,.site-header.scrolled { background:#21181f; }
  .reading-mobile-bookbar:not([hidden]) { background:#eee6d9; }
  .main-dialog::backdrop { background:#140d18c9; }
  body[data-motion="on"] .hero-art,
  body[data-motion="on"] :is(.compass-orbit,.compass-orbit>span,.philosophy-orbit,.philosophy-moon,.phase-orbit,.phase-spark,.closing-star,.reading-orbit,.cosmos-star) { animation:none; }
  .hero-art { animation:none; translate:none; transform:none; }
  body[data-motion="on"] .hero-line { animation-name:lunic-rise; animation-duration:.45s; animation-delay:0s; }
  body[data-motion="on"] .hero :is(.eyebrow,.hero-content>p,.hero-description,.hero-buttons,.hero-signature) { animation-duration:.4s; animation-delay:0s; }
  .js-reveals .reveal { opacity:1; transform:none; transition:none; }
  .product-image,.product-image:hover,.button:hover,.finder-option:hover,.consultation-card:hover { transform:none; box-shadow:none; }
  .product-image img { transition:none; }
  .reading-phase-rail { scroll-snap-type:x proximity; }
  .interactive-moon { box-shadow:0 0 25px #c1a58038; }
}
.birth-details { grid-column:1/-1; min-width:0; margin:5px 0; padding:20px 21px 17px; border:1px solid #ad8d704f; background:#b8956410; }
.birth-details>legend { font-family:var(--serif); font-size:26px; color:#604237; letter-spacing:-.4px; padding:0 9px; margin-left:-9px; }
.birth-details>legend>span { display:inline-block; font-family:var(--sans); color:#80604b; font-size:9px; letter-spacing:.1px; margin-left:8px; vertical-align:middle; }
.birth-intro { font-size:12px; line-height:1.8; color:#796150; margin-bottom:20px; }
.birth-grid { display:grid; grid-template-columns:1fr 1fr; gap:21px 18px; }
.birth-grid>.field { min-width:0; }
.birth-details .field>label { color:#755b4c; }
.birth-details .field>label [data-birth-marker] { color:#80604b; }
.birth-details .field>.birth-accuracy-label { font-size:10px; margin-top:12px; color:#80604b; }
.birth-details .field>select[data-birth-accuracy] { font-size:12px; min-height:41px; color:#664b3e; background-color:#eee6d940; }
.birth-details input:disabled { opacity:.6; cursor:not-allowed; }
.birth-details [hidden] { display:none !important; }
.birth-field-hint { display:block; font-size:10px; color:#796150; line-height:1.75; margin-top:8px; }
.birth-place-field,.birth-details-notes { grid-column:1/-1; }
.birth-place-search { position:relative; }
.birth-search-icon { position:absolute; top:13px; left:12px; color:#937055; display:flex; pointer-events:none; }
.birth-search-icon svg { width:17px; height:17px; }
.birth-place-search>input { padding-left:37px; width:100%; }
.birth-place-options { position:absolute; top:100%; left:0; right:0; z-index:5; list-style:none; margin:5px 0 0; padding:5px; background:#f6ede0; border:1px solid #b29576; box-shadow:0 12px 25px #4b2f291a; max-height:265px; overflow-y:auto; overscroll-behavior:contain; }
.birth-place-options li { padding:0; margin:0; }
.birth-place-options button { display:flex; align-items:center; gap:12px; text-align:left; width:100%; min-height:61px; padding:11px 10px; color:#604334; border:1px solid transparent; }
.birth-place-options button:hover,.birth-place-options button[aria-selected="true"] { background:#d8bf9d33; border-color:#b3946f66; }
.birth-place-options button>svg { width:17px; height:17px; color:#9b754f; }
.birth-place-options strong { display:block; font-size:13px; font-weight:500; line-height:1.5; }
.birth-place-options small { display:block; font-size:11px; line-height:1.6; color:#80634f; margin-top:2px; }
.birth-place-status { color:#796150; font-size:11px; line-height:1.7; margin-top:6px; }
.birth-place-status:empty { display:none; }
.birth-location-preview { padding:14px; margin-top:15px; border:1px solid #b0947645; background:#f4eadc66; }
.birth-location-label { display:flex; align-items:flex-start; gap:10px; }
.birth-location-label>svg { width:16px; height:16px; margin-top:3px; color:#9b754f; }
.birth-location-label strong { display:block; font-size:12px; color:#654735; font-weight:500; line-height:1.6; }
.birth-location-label small { display:block; font-size:10px; color:#796150; line-height:1.7; margin-top:4px; }
.birth-map-actions { display:flex; flex-wrap:wrap; gap:5px 20px; margin-top:10px; }
.birth-map-actions :is(button,a) { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#79563e; font-size:11px; min-height:40px; padding:8px 0; }
.birth-map-actions svg { width:12px; height:12px; }
.birth-map-frame { margin-top:12px; background:#d9d6c9; border:1px solid #b69c8050; }
.birth-map-frame iframe { display:block; width:100%; height:215px; border:0; }
.birth-place-credit { font-size:9px; color:#806a58; line-height:1.8; margin-top:12px; }
.birth-place-credit a { text-decoration:underline; text-underline-offset:2px; }
.birth-details-notes textarea { min-height:78px; }
.birth-privacy-note { font-size:10px; color:#796150; line-height:1.85; margin-top:18px; border-top:1px solid #b0947635; padding-top:14px; }
@media(max-width:650px) {
  .birth-details { padding:17px 15px; }
  .birth-details>legend { font-size:27px; max-width:100%; }
  .birth-details>legend>span { display:block; margin:5px 0 0; font-size:10px; }
  .birth-intro { font-size:12px; }
  .birth-grid { grid-template-columns:1fr; gap:23px; }
  .birth-details .field>label { font-size:12px; }
  .birth-details .field>select[data-birth-accuracy] { font-size:16px; min-height:46px; }
  .birth-details .field>.birth-accuracy-label { font-size:11px; }
  .birth-field-hint,.birth-place-status { font-size:11px; }
  .birth-place-search>input { padding-left:36px; }
  .birth-search-icon { top:14px; }
  .birth-map-actions { column-gap:16px; }
  .birth-map-actions :is(button,a) { min-height:44px; font-size:12px; }
  .birth-location-preview { padding:12px; }
  .birth-location-label strong { font-size:13px; }
  .birth-place-credit { font-size:10px; }
  .birth-privacy-note { font-size:11px; }
  .birth-details-notes textarea { font-size:16px; }
  .birth-map-frame iframe { height:205px; }
}
.whatsapp-chat { position:fixed; right:22px; bottom:calc(22px + env(safe-area-inset-bottom)); z-index:28; display:flex; align-items:center; justify-content:center; gap:11px; min-height:56px; padding:13px 19px 13px 15px; border:1px solid #8bc6a780; border-radius:32px; background:#1f6d4b; color:#fff9ee; box-shadow:0 7px 26px #0c241f45; transition:background .2s,transform .2s,box-shadow .2s; }
.whatsapp-chat[hidden] { display:none; }
.whatsapp-chat>svg { width:28px; height:28px; stroke-width:1.5; }
.whatsapp-chat>span { font-size:12px; font-weight:500; letter-spacing:.15px; white-space:nowrap; }
.whatsapp-chat:hover { background:#185e40; box-shadow:0 9px 30px #0c241f55; transform:translateY(-2px); }
.whatsapp-chat:focus-visible { outline:2px solid #d8bd98; outline-offset:5px; }
body:has(.site-header.scrolled) .whatsapp-chat { width:56px; height:56px; min-height:56px; padding:13px; }
body:has(.site-header.scrolled) .whatsapp-chat>span { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.back-to-top { bottom:calc(92px + env(safe-area-inset-bottom)); }
body.dialog-open .whatsapp-chat,body:has(.menu-button[aria-expanded="true"]) .whatsapp-chat { display:none; }
@media(max-width:700px) {
  .whatsapp-chat { width:56px; height:56px; min-height:56px; padding:13px; right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); }
  .whatsapp-chat>span { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  .back-to-top { right:22px; bottom:calc(86px + env(safe-area-inset-bottom)); }
  body.reading-bar-visible .whatsapp-chat { right:12px; bottom:calc(9px + env(safe-area-inset-bottom)); z-index:30; }
  body.reading-bar-visible .reading-mobile-bookbar:not([hidden]) { padding-left:16px; padding-right:84px; gap:12px; }
  body.reading-bar-visible .reading-mobile-bookbar>div { min-width:0; }
  body.reading-bar-visible .reading-mobile-bookbar strong { font-size:18px; }
  body.reading-bar-visible .reading-mobile-bookbar>button { padding:12px 14px; gap:12px; flex-shrink:0; }
  body.reading-bar-visible .back-to-top { visibility:hidden; }
}
body[data-motion="off"] .whatsapp-chat:hover { transform:none; }
@media(prefers-reduced-motion:reduce) {
  .whatsapp-chat { transition:none; }
  .whatsapp-chat:hover { transform:none; }
}
.product-inquiry a[data-whatsapp-product] { justify-content:flex-start; gap:7px; }
.product-inquiry a[data-whatsapp-product]>svg { width:17px; height:17px; flex-shrink:0; stroke-width:1.6; color:#26734d; }
.product-inquiry a[data-whatsapp-product]>span { min-width:0; }
.button:has(use[href="#i-whatsapp"]) { justify-content:center; gap:10px; }
.button:has(use[href="#i-whatsapp"])>svg { width:20px; height:20px; flex-shrink:0; stroke-width:1.6; }
.reading-phase-rail { grid-template-columns:repeat(6,minmax(0,1fr)); }
.reading-compare-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.reserve-intention { border-color:#b8975e80; color:#dac199; }
.reserve-intention>span { margin-left:5px; color:#d5b57c; }
.reading-choice.reserve-choice { border-color:#a9864d80; background:linear-gradient(145deg,#443329,#241b24 70%); }
.reading-choice.reserve-choice[aria-selected="true"] { border-color:#dac18d; color:#f0dcad; background:linear-gradient(135deg,#614d34,#30232b 75%); box-shadow:inset 0 0 25px #d8b5780d; }
.reading-choice.reserve-choice[aria-selected="true"] :is(.reading-choice-bottom,.reading-choice-top>span:first-child) { color:#ead3a2; }
.card-moon.reserve { background:linear-gradient(135deg,#f3dfaf,#8e6b39); box-shadow:0 0 13px #d5b57e40; border-color:#d6b57d; }
.card-moon.reserve:after,.reading-choice[aria-selected="true"] .card-moon.reserve:after { inset:3px; transform:none; background:#251c27; box-shadow:inset 0 0 5px #ad86513d; }
.reading-panel[data-reading="reserve"] { border-color:#ac8a55; box-shadow:0 15px 65px #0c071c30; }
.reading-panel[data-reading="reserve"] .reading-cosmos { background:radial-gradient(ellipse at 50% 42%,#bb91521f,transparent 63%),linear-gradient(145deg,#211b24,#121018); }
.reading-panel[data-reading="reserve"] .reading-copy { background:linear-gradient(145deg,#332730,#241c27); color:#f0dbb4; padding-top:27px; }
.reserve-kicker { display:flex; align-items:center; gap:9px; font-size:7px; letter-spacing:2px; color:#cfb17b; border-bottom:1px solid #b99a6435; padding-bottom:15px; margin-bottom:17px; }
.reserve-kicker>span { font-size:16px; }
.reading-panel[data-reading="reserve"] .reading-meta { color:#d7be95; }
.reading-panel[data-reading="reserve"] .reading-time { border-color:#bd9e654f; }
.reading-panel[data-reading="reserve"] .reading-title-row { margin-top:18px; }
.reading-panel[data-reading="reserve"] .reading-title-row>h3 { color:#f1d8a8; font-size:clamp(44px,4.6vw,66px); }
.reading-panel[data-reading="reserve"] .reading-title-row>span { color:#b99a63; }
.reading-panel[data-reading="reserve"] .reading-lead { color:#d4b78b; }
.reading-panel[data-reading="reserve"] .reading-best { color:#d4c1b3; }
.reading-panel[data-reading="reserve"] .reading-best>span { color:#c6a96f; }
.reading-panel[data-reading="reserve"] .reading-note-tabs { border-color:#b99a6435; }
.reading-panel[data-reading="reserve"] .reading-note-tabs>button { color:#c4ad99; }
.reading-panel[data-reading="reserve"] .reading-note-tabs>button[aria-selected="true"] { color:#f1d6a5; }
.reading-panel[data-reading="reserve"] .reading-note-tabs>button:after { background:#d7b77f; }
.reading-panel[data-reading="reserve"] .reading-notes>li { color:#d4c1b3; }
.reading-panel[data-reading="reserve"] .reading-notes svg { color:#ceb27d; }
.reading-panel[data-reading="reserve"] .reading-reserve { border-color:#b99a6435; }
.reading-panel[data-reading="reserve"] .reading-fee strong { color:#f3d9aa; }
.reading-panel[data-reading="reserve"] .reading-fee>span,.reading-panel[data-reading="reserve"] .reading-book-note { color:#c6ad98; }
.reading-panel[data-reading="reserve"] .reading-book.button { background:#e4c99a; color:#37242b; border-color:#e4c99a; }
.reading-panel[data-reading="reserve"] .reading-book.button:hover { background:#f0dbb7; }
.reading-panel[data-reading="reserve"] .cosmos-caption { color:#c4aa7d; }
.reading-panel[data-reading="reserve"] .cosmos-footer>span { color:#ebd1a0; }
.reading-panel[data-reading="reserve"] .cosmos-footer>p { color:#baa993; }
.reading-panel[data-reading="reserve"] .reading-orbit { border-color:#c9aa6f38; }
.reserve-corona { position:absolute; width:275px; height:275px; border-radius:50%; background:radial-gradient(circle,#d7ba7e08 50%,#dfbd7c30 54%,#d8b27208 61%,transparent 73%); }
.reserve-seal { position:relative; width:196px; height:196px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; background:radial-gradient(ellipse at 30% 20%,#342b2a,#16131b 70%); border:1px solid #dfc594; box-shadow:0 0 0 5px #1d1920,0 0 0 6px #ad8a4d80,0 0 60px #c7a36630,inset -10px -5px 30px #08070d; }
.reserve-seal:before { content:''; position:absolute; inset:12px; border:1px solid #c7a56c40; border-radius:50%; }
.reserve-seal-top,.reserve-seal-bottom { font-size:6px; letter-spacing:3px; color:#c9aa71; }
.reserve-monogram { display:flex; align-items:center; margin:12px 0 9px; color:#e8d1a3; font-family:var(--serif); font-size:80px; line-height:.9; font-style:italic; letter-spacing:-12px; padding-right:14px; }
.reserve-monogram>span { font-size:69px; transform:translateY(9px); }
.reserve-experience { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:28px; background:#b7934f0c; border:1px solid #ad8a4d50; border-top:0; }
.reserve-experience[hidden] { display:none; }
.reserve-experience>div+div { border-left:1px solid #ad8a4d40; padding-left:25px; }
.reserve-experience>div>span { font-size:7px; letter-spacing:1.4px; color:#ceb17d; }
.reserve-experience h4 { font-family:var(--serif); font-size:24px; font-weight:400; color:#e5cfab; letter-spacing:-.4px; margin:12px 0 9px; line-height:1.25; }
.reserve-experience p { font-size:11px; line-height:1.85; color:#baa69d; }
.reserve-invitation { display:grid; grid-template-columns:92px minmax(0,1fr) auto; align-items:center; gap:30px; padding:35px 30px; margin-top:32px; border:1px solid #b390534f; background:radial-gradient(ellipse at 10% 30%,#d4ac6312,transparent 55%),#1c1620; position:relative; }
.reserve-invitation:before,.reserve-invitation:after { content:''; width:12px; height:12px; position:absolute; pointer-events:none; border-color:#c9a66b; border-style:solid; }
.reserve-invitation:before { top:-1px; left:-1px; border-width:1px 0 0 1px; }
.reserve-invitation:after { bottom:-1px; right:-1px; border-width:0 1px 1px 0; }
.reserve-invitation-symbol { display:grid; place-items:center; width:85px; height:85px; border:1px solid #ad8a4d70; border-radius:50%; font-family:var(--serif); font-size:55px; color:#d7b97f; box-shadow:0 0 0 8px #ad8a4d09; }
.reserve-invitation-copy>span { color:#cfb17b; font-size:7px; letter-spacing:1.8px; }
.reserve-invitation-copy h3 { font-size:35px; line-height:1.15; letter-spacing:-.7px; font-weight:400; color:#ecd8b5; margin:13px 0; }
.reserve-invitation-copy h3 em { color:#bda06d; }
.reserve-invitation-copy p { font-size:11px; color:#baa69f; line-height:1.8; max-width:365px; }
.reserve-invitation-action { display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.reserve-invitation-action>strong { font-family:var(--serif); font-size:40px; color:#e8cd9f; font-weight:400; letter-spacing:-1px; }
.reserve-invitation-action>span { color:#bda68a; font-size:9px; }
.reserve-invitation-action>button { display:flex; align-items:center; justify-content:space-between; gap:18px; font-size:10px; color:#efd6ac; border-bottom:1px solid #a9854d70; padding:10px 0; margin-top:10px; }
.reserve-invitation-action svg { width:13px; height:13px; }
.reading-compare-card.reserve-compare { background:linear-gradient(145deg,#3b2b30,#231c27); border-color:#a78952; }
.reading-compare-card.reserve-compare h3,.reserve-compare .compare-card-bottom>strong { color:#efd5a5; }
.reading-compare-card.reserve-compare p,.reserve-compare .compare-card-top>span { color:#d0b99a; }
.reserve-compare .compare-card-bottom { border-color:#b99a6440; }
.reserve-compare .compare-card-bottom>button { color:#e4c79a; }
.finder-options [data-finder-intention="reflection"] { grid-column:auto; }
.finder-options [data-finder-intention="private"],.finder-option[data-finder-plan="reserve"] { border-color:#b18b50a0; background:#be98551a; }
.reserve-inquiry .dialog-eyebrow { color:#8e6a38; letter-spacing:1.8px; }
.reserve-inquiry .inquiry-summary { border-color:#aa834866; }
@media(max-width:1100px) {
  .reserve-invitation { grid-template-columns:70px minmax(0,1fr) auto; gap:22px; padding:30px 25px; }
  .reserve-invitation-symbol { width:65px; height:65px; font-size:43px; }
  .reserve-invitation-copy h3 { font-size:31px; }
  .reserve-invitation-action>strong { font-size:35px; }
}
@media(min-width:701px) and (max-width:900px) {
  .reading-choice { padding-left:11px; padding-right:11px; }
  .reading-choice strong { font-size:20px; }
  .reading-choice .card-moon { width:22px; height:22px; }
  .reading-choice-top { gap:6px; }
  .reserve-experience { gap:19px; padding:24px; }
  .reserve-experience>div+div { padding-left:19px; }
  .reserve-experience h4 { font-size:22px; }
  .reserve-invitation { grid-template-columns:1fr auto; }
  .reserve-invitation-symbol { display:none; }
}
@media(max-width:700px) {
  .reading-compare-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reading-panel[data-reading="reserve"] .reading-cosmos { min-height:330px; }
  .reading-panel[data-reading="reserve"] .reading-moon-scene { min-height:218px; }
  .reserve-seal { width:143px; height:143px; }
  .reserve-corona { width:210px; height:210px; }
  .reserve-monogram { font-size:60px; margin:9px 0 7px; }
  .reserve-monogram>span { font-size:52px; transform:translateY(6px); }
  .reserve-seal-top,.reserve-seal-bottom { font-size:5px; letter-spacing:2px; }
  .reading-panel[data-reading="reserve"] .reading-title-row>h3 { font-size:47px; }
  .reserve-kicker { font-size:7px; }
  .reserve-experience { grid-template-columns:1fr; gap:23px; padding:27px 24px; }
  .reserve-experience>div+div { border-left:0; border-top:1px solid #ad8a4d35; padding:23px 0 0; }
  .reserve-experience p { font-size:12px; }
  .reserve-experience h4 { font-size:28px; }
  .reserve-invitation { grid-template-columns:1fr; gap:24px; padding:30px 25px; }
  .reserve-invitation-symbol { width:57px; height:57px; font-size:38px; }
  .reserve-invitation-copy h3 { font-size:34px; }
  .reserve-invitation-copy p { font-size:12px; }
  .reserve-invitation-action { align-items:flex-start; border-top:1px solid #ad8a4d40; padding-top:22px; }
  .reserve-invitation-action>strong { font-size:40px; }
  .reserve-invitation-action>button { min-height:44px; font-size:12px; width:100%; }
  .reading-mobile-bookbar.is-reserve:not([hidden]) { color:#f1d6a5; background:#251c27f7; border-color:#b99a6460; }
  .reading-mobile-bookbar.is-reserve .mobile-reading-price { color:#d4b888; }
  .reading-mobile-bookbar.is-reserve>button { background:#e1c697; color:#37242c; }
}
@media(max-width:450px) {
  .reading-compare-grid { grid-template-columns:1fr; }
}
@media(max-width:370px) {
  .reading-panel[data-reading="reserve"] .reading-title-row>h3 { font-size:43px; }
  .reserve-invitation { padding:27px 20px; }
  .reserve-invitation-copy h3 { font-size:30px; }
}
.timing-entry { display:inline-flex; align-items:center; gap:8px; }
.timing-entry svg { width:12px; height:12px; }
.timing-section { background:#cbb490; color:#30232a; border-top:1px solid #ead4af; border-bottom:1px solid #ead4af; position:relative; overflow:hidden; }
.timing-shell { max-width:1600px; margin:auto; padding:43px 7% 35px; }
.timing-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:25px; border-bottom:1px solid #63473245; font-size:9px; letter-spacing:2px; line-height:1.6; }
.timing-topline>span:first-child { font-size:12px; letter-spacing:3px; font-weight:600; }
.timing-hero { display:grid; grid-template-columns:1.5fr 1fr; align-items:center; gap:55px; padding:55px 0 50px; }
.timing-intro h2 { font-size:clamp(56px,6.1vw,95px); font-weight:500; letter-spacing:-3.5px; line-height:1.02; }
.timing-intro h2 em { color:#674534; }
.timing-intro>p { max-width:480px; margin-top:25px; font-size:14px; line-height:1.85; color:#594334; }
.timing-seal { position:relative; text-align:center; padding:58px 20px; justify-self:center; width:100%; max-width:365px; display:flex; flex-direction:column; align-items:center; }
.timing-seal-orbit { position:absolute; width:270px; height:270px; border:1px solid #70553a60; border-radius:50%; top:50%; left:50%; transform:translate(-50%,-50%) rotate(-25deg); pointer-events:none; }
.timing-seal-orbit:before { content:''; position:absolute; inset:10px -25px; border:1px solid #70553a40; border-radius:50%; transform:rotate(62deg); }
.timing-seal-orbit>span { position:absolute; top:14px; left:26px; width:34px; height:34px; background:#604431; border-radius:50%; box-shadow:inset 10px 3px 0 #e7cfaa; }
.timing-seal-orbit>i { position:absolute; bottom:7px; right:65px; width:6px; height:6px; border-radius:50%; background:#6e4e37; }
.timing-seal>span:first-of-type { font-size:7px; letter-spacing:2px; }
.timing-seal>strong { display:block; font:72px/1.15 var(--serif); letter-spacing:-2px; margin:9px 0 5px; }
.timing-seal>small { font-size:11px; line-height:1.6; }
.timing-seal .timing-seal-note { font-size:8px; margin-top:21px; line-height:1.6; color:#664c36; }
.timing-planner { display:grid; grid-template-columns:1fr 1.15fr; background:#261c25; color:#e9d7bb; border:1px solid #4c3540; }
.timing-occasion-column { padding:32px; border-right:1px solid #c6a88230; }
.timing-step { display:flex; align-items:center; gap:12px; color:#c8ad8d; font-size:8px; letter-spacing:1.6px; line-height:1.7; }
.timing-step>span { color:#98785c; }
.timing-occasions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:26px; }
.timing-occasions>button { min-height:94px; border:1px solid #ba977344; padding:16px; text-align:left; font-size:12px; line-height:1.5; position:relative; transition:background .2s,border-color .2s,color .2s; }
.timing-occasions>button>span { display:block; color:#b29577; font-size:8px; margin-bottom:13px; }
.timing-occasions>button svg { position:absolute; width:15px; height:15px; right:12px; top:15px; color:#bca07e; }
.timing-occasions>button:hover { border-color:#d0b18a; background:#49333b; }
.timing-occasions>button[aria-pressed="true"] { background:#dfc6a0; color:#35252b; border-color:#dfc6a0; }
.timing-occasions>button[aria-pressed="true"] :is(span,svg) { color:#755238; }
.timing-orbit-label { display:flex; align-items:center; gap:9px; color:#bfa488; font-size:9px; line-height:1.6; margin-top:22px; }
.timing-orbit-dot { width:5px; height:5px; border-radius:50%; background:#ccb18e; }
.timing-detail { display:flex; flex-direction:column; padding:32px 38px; background:linear-gradient(135deg,#59403655,transparent 80%); }
.timing-detail-copy { min-height:213px; }
.timing-detail h3 { font-size:36px; letter-spacing:-.6px; line-height:1.13; margin:25px 0 16px; max-width:370px; }
.timing-detail-copy p { font-size:12px; line-height:1.85; color:#c2afa7; max-width:410px; }
.timing-requirements { display:flex; flex-wrap:wrap; gap:13px; margin:24px 0; padding-top:18px; border-top:1px solid #b5927533; }
.timing-requirements>span { font-size:9px; color:#d2bba0; display:flex; align-items:center; gap:6px; }
.timing-requirements i { color:#a3856b; font-size:7px; font-style:normal; }
.timing-enquire.button { justify-content:space-between; width:100%; min-height:52px; color:#31232a; background:#dfc6a0; border-color:#dfc6a0; font-size:12px; margin-top:auto; }
.timing-enquire.button:hover { background:#eed9b7; border-color:#eed9b7; }
.timing-appointment-note { font-size:9px; line-height:1.7; color:#bca49a; margin-top:12px; }
.timing-panchanga { display:grid; grid-template-columns:.75fr 1.25fr; gap:38px; padding:30px 0 24px; border-bottom:1px solid #63473245; }
.timing-panchanga>div>span { font-size:7px; letter-spacing:1.5px; font-weight:600; line-height:1.7; }
.timing-panchanga p { font-size:11px; line-height:1.8; color:#604b3a; margin-top:10px; max-width:340px; }
.timing-elements { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.timing-elements>span { font-size:8px!important; font-weight:400!important; letter-spacing:0!important; line-height:1.7; color:#634b36; }
.timing-elements b { display:block; font:22px/1.4 var(--serif); color:#3e2c2b; margin-bottom:6px; }
.timing-care { color:#664e3b; font-size:9px; line-height:1.8; padding-top:17px; }
.timing-form-fields { margin:0; padding:20px; border:1px solid #ac8d6c60; background:#d5b88b12; }
.timing-form-fields legend { padding:0 7px; font-family:var(--serif); font-size:24px; color:#5b3e32; }
.timing-form-fields legend>span { display:block; font:8px var(--sans); color:#8c7055; margin-top:5px; }
.timing-form-fields .field { margin-bottom:17px; }
.timing-form-fields small,.timing-form-fields>p { display:block; color:#80654f; font-size:10px; line-height:1.75; margin-top:6px; }
@media(max-width:1000px) {
  .timing-hero { grid-template-columns:1.3fr 1fr; gap:25px; }
  .timing-intro h2 { font-size:65px; }
  .timing-occasion-column,.timing-detail { padding:25px; }
  .timing-panchanga { grid-template-columns:1fr; gap:24px; }
  .timing-panchanga p { max-width:600px; }
}
@media(max-width:650px) {
  .timing-shell { padding:29px 7% 28px; }
  .timing-topline { gap:10px; flex-wrap:wrap; font-size:7px; letter-spacing:1px; padding-bottom:19px; }
  .timing-topline>span:first-child { flex-basis:100%; font-size:11px; letter-spacing:2.5px; }
  .timing-hero { grid-template-columns:1fr; gap:18px; padding:32px 0 34px; }
  .timing-intro h2 { font-size:clamp(46px,11.7vw,66px); letter-spacing:-2px; }
  .timing-intro>p { font-size:13px; margin-top:20px; }
  .timing-seal { padding:37px 10px; margin-top:7px; max-width:320px; }
  .timing-seal-orbit { width:225px; height:225px; }
  .timing-seal-orbit:before { inset:15px -14px; }
  .timing-seal>strong { font-size:66px; }
  .timing-seal>small { font-size:10px; }
  .timing-seal .timing-seal-note { font-size:7px; margin-top:16px; }
  .timing-planner { grid-template-columns:1fr; }
  .timing-occasion-column { padding:24px 18px; border-right:0; border-bottom:1px solid #c6a88230; }
  .timing-step { font-size:7px; letter-spacing:1.1px; gap:9px; }
  .timing-occasions { gap:8px; margin-top:20px; }
  .timing-occasions>button { padding:13px 11px; min-height:91px; font-size:11px; }
  .timing-occasions>button svg { width:13px; height:13px; top:13px; right:10px; }
  .timing-detail { padding:25px 20px; }
  .timing-detail h3 { font-size:32px; margin-top:22px; }
  .timing-detail-copy { min-height:220px; }
  .timing-detail-copy p { font-size:12px; }
  .timing-requirements { gap:12px; }
  .timing-enquire.button { min-height:52px; padding:16px; }
  .timing-elements { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 10px; }
  .timing-elements b { font-size:23px; margin-bottom:3px; }
  .timing-care { font-size:10px; }
  .timing-form-fields { padding:16px; min-width:0; }
  .timing-form-fields .field :is(input,select,textarea) { font-size:16px; }
}
.analytics-choice { position:fixed; z-index:80; left:24px; bottom:82px; width:min(470px,calc(100vw - 48px)); padding:25px; border:1px solid #c3a08380; border-radius:12px; background:#2c2129; box-shadow:0 12px 45px #100c1555; color:var(--cream); }
.analytics-choice-kicker { font-size:9px; letter-spacing:1.8px; color:var(--copper); }
.analytics-choice h2 { margin:10px 0; font-size:25px; line-height:1.15; }
.analytics-choice p { font-size:12px; line-height:1.7; color:#d4c6c9; }
.analytics-choice-status { display:block; margin-top:9px; font-size:10px; color:var(--copper); }
.analytics-choice-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:17px; }
.analytics-choice-actions>button { min-height:44px; padding:10px 16px; border:1px solid #c3a08399; border-radius:5px; font-size:11px; }
.analytics-choice-actions>button:first-child { background:var(--cream); border-color:var(--cream); color:var(--ink); }
.analytics-choice-actions>.analytics-privacy-link { border:0; padding:0; min-height:32px; font-size:10px; text-decoration:underline; text-underline-offset:3px; }
body.dialog-open .analytics-choice,body:has(.menu-button[aria-expanded="true"]) .analytics-choice { display:none; }
@media(max-width:650px) {
  .analytics-choice { left:12px; bottom:calc(86px + env(safe-area-inset-bottom)); width:calc(100vw - 24px); max-height:calc(100dvh - 115px); overflow:auto; overscroll-behavior:contain; padding:20px; }
  .analytics-choice h2 { font-size:24px; }
  .analytics-choice-actions>button:not(.analytics-privacy-link) { flex:1; padding:11px 9px; }
  .analytics-choice-actions>.analytics-privacy-link { flex-basis:100%; text-align:left; }
}
