/* COSMYRA animated homepage
   Scoped under .cos-page to avoid conflicts with the existing header and footer.
*/

:root{
  --cos-ink:#17142f;
  --cos-navy:#071126;
  --cos-navy-2:#101442;
  --cos-violet:#7045d4;
  --cos-violet-soft:#9b7cff;
  --cos-gold:#e9c766;
  --cos-gold-light:#fff1aa;
  --cos-cream:#fbf7f2;
  --cos-white:#fff;
  --cos-muted:#655f75;
  --cos-line:rgba(23,20,47,.12);
  --cos-shadow:0 28px 80px rgba(31,22,71,.15);
  --cos-radius:30px;
  --cos-serif:"Cormorant Garamond","Times New Roman",serif;
  --cos-sans:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.cos-page,
.cos-page *{box-sizing:border-box}

.cos-page{
  overflow:hidden;
  color:var(--cos-ink);
  background:var(--cos-cream);
  font-family:var(--cos-sans);
  line-height:1.55;
}

.cos-page img{max-width:100%;display:block}
.cos-page a{text-decoration:none}
.cos-page button,
.cos-page a{font:inherit}
.cos-page svg{display:block}
.cos-svg-defs{position:absolute;width:0;height:0;overflow:hidden}

.cos-container{
  width:min(1440px,calc(100% - 40px));
  margin-inline:auto;
}

.cos-section{
  position:relative;
  padding:clamp(90px,9vw,150px) 0;
}

.cos-kicker,
.cos-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.62rem;
  color:#663af1;
  font-size:.79rem;
  font-weight:850;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.cos-kicker::before{
  content:"";
  width:34px;
  height:1px;
  background:currentColor;
}

.cos-eyebrow{
  color:var(--cos-gold-light);
  letter-spacing:.13em;
}
.cos-eyebrow svg{width:22px;height:22px}

.cos-section-heading{
  max-width:850px;
  margin:0 auto clamp(48px,6vw,78px);
  text-align:center;
}
.cos-section-heading h2,
.cos-about h2,
.cos-process h2,
.cos-review-head h2,
.cos-book-copy h2{
  margin:.6rem 0 1.1rem;
  font-family:var(--cos-serif);
  font-size:clamp(2.8rem,5.5vw,5.9rem);
  line-height:.93;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.cos-section-heading p,
.cos-process-intro>p,
.cos-book-copy>p{
  max-width:720px;
  margin:0 auto;
  color:var(--cos-muted);
  font-size:clamp(1rem,1.4vw,1.2rem);
}

.cos-actions,
.cos-book-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
}

.cos-btn{
  position:relative;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  min-height:56px;
  padding:0 1.55rem;
  border:1px solid transparent;
  border-radius:999px;
  overflow:hidden;
  color:var(--cos-ink);
  font-weight:850;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;
}
.cos-btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  transform:translateX(-110%) skewX(-16deg);
  background:rgba(255,255,255,.32);
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
.cos-btn:hover::before{transform:translateX(110%) skewX(-16deg)}
.cos-btn:hover{transform:translateY(-3px)}
.cos-btn-gold{
  color:#10142f;
  background:linear-gradient(120deg,#d8b550,#fff0a2 48%,#e2bd55);
  box-shadow:0 18px 40px rgba(225,184,75,.25);
}
.cos-btn-gold:hover{box-shadow:0 24px 54px rgba(225,184,75,.38)}
.cos-btn-ghost{
  color:#fff;
  border-color:rgba(255,255,255,.26);
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(12px);
}
.cos-btn-ghost:hover{border-color:rgba(255,255,255,.52);background:rgba(255,255,255,.12)}
.cos-btn-dark{color:#fff;background:var(--cos-ink)}
.cos-btn-light{color:#fff;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08)}
.cos-text-link{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  color:var(--cos-ink);
  font-weight:850;
}
.cos-text-link span{transition:transform .25s ease}
.cos-text-link:hover span{transform:translateX(5px)}

/* HERO */
.cos-hero{
  position:relative;
  min-height:min(900px,92vh);
  display:grid;
  align-items:center;
  padding:clamp(78px,9vw,135px) 0 68px;
  color:#fff;
  background:
    radial-gradient(circle at 78% 50%,rgba(113,68,212,.45),transparent 30%),
    radial-gradient(circle at 28% 20%,rgba(70,42,164,.36),transparent 29%),
    linear-gradient(120deg,#1c145b 0%,#091533 48%,#15133d 100%);
  border-bottom:1px solid rgba(238,200,96,.7);
}
.cos-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:200px;
  background:linear-gradient(to top,rgba(2,8,25,.34),transparent);
  pointer-events:none;
}
.cos-hero-noise{
  position:absolute;
  inset:0;
  opacity:.19;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}
.cos-hero-stars{
  position:absolute;
  inset:0;
  opacity:.6;
  pointer-events:none;
  background-image:
    radial-gradient(circle,rgba(255,246,192,.9) 1px,transparent 1.5px),
    radial-gradient(circle,rgba(163,130,255,.8) 1px,transparent 1.5px);
  background-size:180px 180px,260px 260px;
  background-position:20px 40px,70px 120px;
  animation:cosStars 18s linear infinite;
}
@keyframes cosStars{to{background-position:200px 220px,-190px -140px}}

.cos-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(460px,.98fr);
  gap:clamp(40px,7vw,110px);
  align-items:center;
}

.cos-hero-copy{position:relative;z-index:4}
.cos-hero h1{
  margin:1rem 0 1.35rem;
  font-family:var(--cos-serif);
  font-size:clamp(4.25rem,7.2vw,8.8rem);
  font-weight:600;
  line-height:.76;
  letter-spacing:-.06em;
  text-transform:uppercase;
  color:var(--cos-gold-light);
}
.cos-hero h1 span{display:block}
.cos-hero h1 .cos-title-small{
  margin-bottom:.68rem;
  color:#fff;
  font-family:var(--cos-sans);
  font-size:clamp(.9rem,1.4vw,1.35rem);
  font-weight:850;
  line-height:1;
  letter-spacing:.35em;
}
.cos-hero-copy>p{
  max-width:760px;
  margin:0 0 1.9rem;
  color:rgba(255,255,255,.83);
  font-size:clamp(1.05rem,1.55vw,1.35rem);
  line-height:1.75;
}
.cos-hero .cos-actions{margin-top:1.4rem}
.cos-trust{
  display:flex;
  flex-wrap:wrap;
  gap:11px 22px;
  margin-top:1.6rem;
  color:rgba(255,255,255,.72);
  font-size:.91rem;
}
.cos-trust span{display:flex;align-items:center;gap:.52rem}
.cos-trust i,
.cos-book-meta i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--cos-gold);
  box-shadow:0 0 0 5px rgba(233,199,102,.1);
}

.cos-hero-art{
  position:relative;
  min-height:clamp(480px,56vw,700px);
  display:grid;
  place-items:center;
  perspective:1300px;
}
.cos-aura{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.cos-aura-one{
  width:86%;
  aspect-ratio:1;
  background:radial-gradient(circle,rgba(151,108,255,.42),rgba(67,36,143,.08) 50%,transparent 72%);
  filter:blur(12px);
  animation:cosPulse 5s ease-in-out infinite;
}
.cos-aura-two{
  width:60%;
  aspect-ratio:1;
  background:radial-gradient(circle,rgba(255,233,154,.17),transparent 66%);
  animation:cosPulse 5s ease-in-out infinite reverse;
}
@keyframes cosPulse{50%{transform:scale(1.08);opacity:.72}}

.cos-sloka-wheel{
  position:absolute;
  width:min(95%,690px);
  aspect-ratio:1;
  animation:cosSpin 38s linear infinite;
  filter:drop-shadow(0 0 22px rgba(239,203,98,.12));
}
.cos-sloka-wheel svg{width:100%;height:100%}
.cos-sloka-text{
  fill:rgba(255,239,164,.84);
  font-family:var(--cos-serif);
  font-size:16px;
  letter-spacing:3.2px;
}
@keyframes cosSpin{to{transform:rotate(360deg)}}

.cos-logo-orb{
  position:relative;
  z-index:3;
  width:clamp(230px,29vw,410px);
  aspect-ratio:1;
  padding:14px;
  border-radius:50%;
  transform-style:preserve-3d;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.02));
  box-shadow:
    0 45px 90px rgba(0,0,0,.34),
    inset 0 0 0 1px rgba(255,255,255,.14),
    inset 0 0 55px rgba(157,117,255,.2);
}
.cos-logo-orb img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  transform:translateZ(36px);
  box-shadow:0 0 0 6px rgba(12,18,55,.86),0 0 60px rgba(140,102,255,.36);
}
.cos-orb-rim{
  position:absolute;
  inset:-20px;
  border:1px solid rgba(239,205,108,.32);
  border-radius:50%;
  animation:cosSpin 18s linear infinite reverse;
}
.cos-orb-rim::before,
.cos-orb-rim::after{
  content:"";
  position:absolute;
  top:50%;
  width:10px;
  height:10px;
  margin-top:-5px;
  border-radius:50%;
  background:var(--cos-gold-light);
  box-shadow:0 0 22px var(--cos-gold-light);
}
.cos-orb-rim::before{left:-5px}
.cos-orb-rim::after{right:-5px}
.cos-orb-glow{
  position:absolute;
  inset:10%;
  z-index:-1;
  border-radius:50%;
  box-shadow:0 0 100px 34px rgba(120,75,230,.32);
}

.cos-symbol{
  position:absolute;
  z-index:5;
  width:74px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,233,150,.24);
  border-radius:25px;
  color:var(--cos-gold-light);
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(14px);
  box-shadow:0 20px 50px rgba(0,0,0,.24);
  animation:cosFloat 5.8s ease-in-out infinite;
}
.cos-symbol svg{width:34px;height:34px}
.cos-symbol-one{left:4%;top:16%}
.cos-symbol-two{right:2%;top:23%;animation-delay:-1.2s}
.cos-symbol-three{right:8%;bottom:12%;animation-delay:-2.4s}
.cos-symbol-four{left:8%;bottom:15%;animation-delay:-3.4s}
@keyframes cosFloat{50%{transform:translateY(-14px) rotate(3deg)}}

.cos-scroll-cue{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:20px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.55);
  font-size:.73rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.cos-scroll-cue span{
  width:28px;
  height:42px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:99px;
}
.cos-scroll-cue span::after{
  content:"";
  display:block;
  width:4px;
  height:8px;
  margin:8px auto 0;
  border-radius:5px;
  background:var(--cos-gold);
  animation:cosScroll 1.8s ease-in-out infinite;
}
@keyframes cosScroll{70%{transform:translateY(16px);opacity:0}}

/* MARQUEE */
.cos-marquee-wrap{
  position:relative;
  z-index:5;
  overflow:hidden;
  border-block:1px solid rgba(232,195,92,.6);
  color:#fff;
  background:#070d22;
}
.cos-marquee{
  overflow:hidden;
  padding:15px 0;
  transform:rotate(-1deg) scale(1.02);
}
.cos-marquee-track{
  width:max-content;
  display:flex;
  align-items:center;
  animation:cosMarquee 30s linear infinite;
}
.cos-marquee-wrap:hover .cos-marquee-track{animation-play-state:paused}
.cos-marquee-track a{
  display:inline-flex;
  align-items:center;
  gap:.72rem;
  padding:0 1.4rem;
  color:#fff;
  font-family:var(--cos-serif);
  font-size:clamp(1.2rem,2vw,1.75rem);
  font-weight:700;
  white-space:nowrap;
}
.cos-marquee-track svg{width:27px;height:27px;color:var(--cos-gold)}
.cos-marquee-dot{color:var(--cos-violet-soft)}
@keyframes cosMarquee{to{transform:translateX(-50%)}}

/* ABOUT */
.cos-about{
  background:
    radial-gradient(circle at 18% 16%,rgba(117,71,220,.08),transparent 30%),
    linear-gradient(180deg,#fffaf7,#fbf7f2);
}
.cos-about-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);
  gap:clamp(50px,8vw,125px);
  align-items:center;
}
.cos-about h2{
  max-width:760px;
  margin:.85rem 0 1.4rem;
  font-size:clamp(3.1rem,5.8vw,6.3rem);
}
.cos-about-copy>p{max-width:720px;color:var(--cos-muted);font-size:1.05rem}
.cos-about-copy .cos-lead{color:var(--cos-ink);font-size:clamp(1.15rem,1.7vw,1.38rem)}
.cos-about-points{
  display:grid;
  gap:8px;
  margin:2rem 0;
}
.cos-about-points article{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:18px;
  align-items:start;
  padding:18px 0;
  border-top:1px solid var(--cos-line);
}
.cos-about-points article:last-child{border-bottom:1px solid var(--cos-line)}
.cos-about-points article>span{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#633be5;
  background:#eee8ff;
  font-weight:900;
}
.cos-about-points strong{display:block;margin-bottom:3px;font-size:1.02rem}
.cos-about-points p{margin:0;color:var(--cos-muted)}
.cos-about .cos-actions{margin-top:1.8rem}

.cos-about-art{
  position:relative;
  min-height:650px;
  display:grid;
  place-items:center;
  perspective:1400px;
}
.cos-about-panel{
  position:relative;
  width:min(100%,680px);
  aspect-ratio:1.04;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(238,201,99,.36);
  border-radius:48px;
  color:#e6c86c;
  background:
    radial-gradient(circle at 50% 42%,rgba(102,63,210,.38),transparent 35%),
    linear-gradient(145deg,#0e1737,#11113d 52%,#221254);
  box-shadow:var(--cos-shadow),inset 0 0 80px rgba(131,90,230,.12);
  transform-style:preserve-3d;
}
.cos-about-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.09) 42%,transparent 60%);
  transform:translateX(-120%);
  animation:cosSheen 8s ease-in-out infinite;
}
@keyframes cosSheen{50%,100%{transform:translateX(130%)}}
.cos-about-mandala{position:absolute;inset:1%;animation:cosSpin 52s linear infinite}
.cos-about-mandala svg{width:100%;height:100%}
.cos-about-logo{
  position:relative;
  z-index:2;
  width:45%;
  aspect-ratio:1;
  padding:10px;
  border:1px solid rgba(255,235,157,.38);
  border-radius:50%;
  background:rgba(255,255,255,.05);
  box-shadow:0 30px 90px rgba(0,0,0,.36),0 0 65px rgba(136,93,239,.32);
  transform:translateZ(58px);
}
.cos-about-logo img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.cos-about-badge{
  position:absolute;
  z-index:4;
  left:26px;
  right:26px;
  bottom:24px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  color:#fff;
  background:rgba(8,13,38,.66);
  backdrop-filter:blur(14px);
  transform:translateZ(40px);
}
.cos-about-badge svg{width:34px;height:34px;color:var(--cos-gold)}
.cos-about-badge span{display:grid;color:rgba(255,255,255,.66);font-size:.84rem}
.cos-about-badge b{color:#fff;font-size:1rem}
.cos-floating-note{
  position:absolute;
  z-index:5;
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 16px;
  border:1px solid rgba(117,74,210,.18);
  border-radius:999px;
  color:var(--cos-ink);
  background:rgba(255,255,255,.9);
  box-shadow:0 18px 46px rgba(47,30,94,.16);
  backdrop-filter:blur(8px);
  font-weight:850;
  animation:cosFloat 5s ease-in-out infinite;
}
.cos-floating-note svg{width:24px;height:24px;color:#7044da}
.cos-note-one{left:-36px;top:18%}
.cos-note-two{right:-22px;bottom:22%;animation-delay:-2.4s}

/* REIKI FEATURE */
.cos-reiki-feature{
  color:#fff;
  background:
    radial-gradient(circle at 25% 55%,rgba(118,73,224,.36),transparent 28%),
    linear-gradient(135deg,#080f28,#151247 52%,#0a1532);
}
.cos-section-heading-light .cos-kicker{color:var(--cos-gold)}
.cos-section-heading-light p{color:rgba(255,255,255,.68)}
.cos-reiki-grid{
  display:grid;
  grid-template-columns:minmax(430px,.9fr) minmax(0,1.1fr);
  gap:clamp(50px,8vw,120px);
  align-items:center;
}
.cos-reiki-visual{perspective:1400px}
.cos-reiki-scene{
  position:relative;
  min-height:690px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,231,153,.2);
  border-radius:52px;
  background:
    radial-gradient(circle at 50% 42%,rgba(132,88,231,.3),transparent 35%),
    linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  box-shadow:0 55px 130px rgba(0,0,0,.34),inset 0 0 90px rgba(119,76,220,.08);
  transform-style:preserve-3d;
}
.cos-reiki-scene::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.28;
  background-image:radial-gradient(circle,rgba(255,237,169,.9) 1px,transparent 1.4px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,#000,transparent);
}
.cos-reiki-body{
  position:relative;
  z-index:3;
  width:min(74%,430px);
  filter:drop-shadow(0 25px 50px rgba(0,0,0,.28));
  transform:translateZ(55px);
}
.cos-reiki-halo{
  position:absolute;
  border:1px solid rgba(244,213,125,.23);
  border-radius:50%;
}
.halo-a{width:82%;aspect-ratio:1;animation:cosSpin 38s linear infinite}
.halo-b{width:66%;aspect-ratio:1;animation:cosSpin 28s linear infinite reverse;border-style:dashed}
.halo-c{width:48%;aspect-ratio:1;box-shadow:0 0 80px rgba(143,101,242,.2)}
.cos-energy-tag{
  position:absolute;
  z-index:5;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(8,14,39,.68);
  backdrop-filter:blur(12px);
  color:rgba(255,255,255,.86);
  font-size:.82rem;
  font-weight:800;
  animation:cosFloat 5s ease-in-out infinite;
}
.cos-energy-tag span{width:7px;height:7px;border-radius:50%;background:var(--cos-gold);box-shadow:0 0 13px var(--cos-gold)}
.tag-one{left:6%;top:25%}
.tag-two{right:6%;top:48%;animation-delay:-1.5s}
.tag-three{left:11%;bottom:18%;animation-delay:-3s}

.cos-reiki-copy p{
  margin:0 0 1.25rem;
  color:rgba(255,255,255,.75);
  font-size:clamp(1rem,1.3vw,1.12rem);
}
.cos-reiki-copy>p:first-child{
  color:#fff;
  font-size:clamp(1.15rem,1.55vw,1.35rem);
}
.cos-reiki-note{
  display:flex;
  gap:15px;
  align-items:flex-start;
  margin:1.7rem 0;
  padding:18px;
  border:1px solid rgba(238,201,99,.26);
  border-radius:20px;
  background:rgba(238,201,99,.08);
}
.cos-reiki-note svg{flex:0 0 38px;width:38px;height:38px;color:var(--cos-gold)}
.cos-reiki-note p{margin:0;color:rgba(255,255,255,.72);font-size:.94rem}
.cos-reiki-note strong{display:block;margin-bottom:3px;color:#fff}

/* SERVICES */
.cos-services{
  background:
    radial-gradient(circle at 80% 15%,rgba(111,70,220,.08),transparent 26%),
    #fbf8f4;
}
.cos-service-stack{
  max-width:1220px;
  margin-inline:auto;
  display:grid;
  gap:14px;
}
.cos-service-card{
  position:relative;
  display:grid;
  grid-template-columns:70px 82px minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  min-height:170px;
  padding:28px 32px;
  overflow:hidden;
  border:1px solid var(--cos-line);
  border-radius:26px;
  background:rgba(255,255,255,.72);
  box-shadow:0 12px 34px rgba(41,25,82,.04);
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.cos-service-card:hover{
  transform:translateY(-6px);
  border-color:rgba(112,69,212,.35);
  box-shadow:0 26px 70px rgba(41,25,82,.12);
}
.cos-service-number{
  color:#887f96;
  font-family:var(--cos-serif);
  font-size:1.1rem;
}
.cos-service-icon{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border-radius:24px;
  color:#6b42cf;
  background:#eee8ff;
}
.cos-service-icon svg{width:38px;height:38px}
.cos-service-content>span{
  color:#6b42cf;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.cos-service-content h3{
  margin:.15rem 0 .35rem;
  font-family:var(--cos-serif);
  font-size:clamp(1.8rem,3vw,2.7rem);
  line-height:1;
}
.cos-service-content p{margin:0;color:var(--cos-muted)}
.cos-service-content ul{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin:13px 0 0;
  padding:0;
  list-style:none;
  color:rgba(255,255,255,.68);
  font-size:.86rem;
}
.cos-service-content li::before{content:"✦";margin-right:7px;color:var(--cos-gold)}
.cos-service-card>a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--cos-ink);
  font-weight:900;
}
.cos-service-card>a span{transition:transform .25s ease}
.cos-service-card:hover>a span{transform:translate(4px,-4px)}
.cos-service-featured{
  min-height:230px;
  color:#fff;
  border-color:rgba(240,207,112,.25);
  background:
    radial-gradient(circle at 83% 45%,rgba(128,84,229,.38),transparent 25%),
    linear-gradient(120deg,#0b1532,#151345 55%,#241354);
}
.cos-service-featured .cos-service-number{color:rgba(255,255,255,.5)}
.cos-service-featured .cos-service-icon{color:var(--cos-gold);background:rgba(255,255,255,.08)}
.cos-service-featured .cos-service-content>span{color:var(--cos-gold)}
.cos-service-featured .cos-service-content p{color:rgba(255,255,255,.72)}
.cos-service-featured>a{color:#fff}
.cos-card-orbit{
  position:absolute;
  right:-80px;
  width:330px;
  aspect-ratio:1;
  border:1px solid rgba(239,205,105,.17);
  border-radius:50%;
}
.cos-card-orbit::before,
.cos-card-orbit::after{
  content:"";
  position:absolute;
  border:1px dashed rgba(162,126,255,.2);
  border-radius:50%;
}
.cos-card-orbit::before{inset:40px}
.cos-card-orbit::after{inset:82px}

/* PROCESS */
.cos-process{
  background:#fff;
}
.cos-process-grid{
  display:grid;
  grid-template-columns:minmax(340px,.7fr) minmax(0,1.3fr);
  gap:clamp(50px,8vw,120px);
  align-items:start;
}
.cos-process-intro{position:sticky;top:120px}
.cos-process-intro h2{font-size:clamp(3rem,5vw,5.4rem)}
.cos-process-intro>p{margin:0 0 1.3rem}
.cos-process-steps{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.cos-process-steps article{
  position:relative;
  min-height:270px;
  padding:28px;
  border:1px solid var(--cos-line);
  border-radius:28px;
  background:#fbf8f5;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.cos-process-steps article:hover{
  transform:translateY(-7px);
  border-color:rgba(112,69,212,.3);
  box-shadow:0 24px 65px rgba(46,27,91,.1);
}
.cos-step-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin-bottom:42px;
  border-radius:20px;
  color:#673fce;
  background:#eee8ff;
}
.cos-step-icon svg{width:31px;height:31px}
.cos-process-steps small{
  color:#6a42cf;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.cos-process-steps h3{
  margin:.45rem 0 .55rem;
  font-family:var(--cos-serif);
  font-size:2rem;
  line-height:1;
}
.cos-process-steps p{margin:0;color:var(--cos-muted)}
.cos-step-line{
  position:absolute;
  top:57px;
  right:-17px;
  z-index:2;
  width:34px;
  height:1px;
  background:rgba(103,63,206,.35);
}
.cos-step-line::after{
  content:"";
  position:absolute;
  right:0;
  top:-3px;
  width:7px;
  height:7px;
  border:1px solid #7349d4;
  border-radius:50%;
  background:#fff;
}

/* REVIEWS */
.cos-reviews{
  color:#fff;
  background:
    radial-gradient(circle at 8% 20%,rgba(114,72,219,.32),transparent 24%),
    radial-gradient(circle at 92% 80%,rgba(235,196,86,.12),transparent 24%),
    #081026;
}
.cos-review-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:45px;
}
.cos-review-head .cos-kicker{color:var(--cos-gold)}
.cos-review-head h2{
  max-width:850px;
  margin:.7rem 0 0;
  font-size:clamp(3rem,5.4vw,5.7rem);
}
.cos-review-controls{display:flex;gap:10px}
.cos-review-controls button{
  width:52px;
  height:52px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.06);
  cursor:pointer;
  transition:.25s ease;
}
.cos-review-controls button:hover{color:#14112d;background:var(--cos-gold);transform:translateY(-2px)}
.cos-review-viewport{
  overflow-x:auto;
  scrollbar-width:none;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
}
.cos-review-viewport::-webkit-scrollbar{display:none}
.cos-review-track{
  width:max-content;
  display:flex;
  gap:18px;
  padding:5px 2px 20px;
}
.cos-review-card{
  width:min(390px,82vw);
  min-height:320px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:28px;
  scroll-snap-align:start;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));
  backdrop-filter:blur(12px);
  transition:transform .35s ease,border-color .35s ease;
}
.cos-review-card:hover{transform:translateY(-7px);border-color:rgba(238,201,99,.35)}
.cos-stars{color:var(--cos-gold);letter-spacing:.13em}
.cos-review-card>p{
  margin:2rem 0;
  color:rgba(255,255,255,.84);
  font-family:var(--cos-serif);
  font-size:clamp(1.35rem,2vw,1.72rem);
  line-height:1.35;
}
.cos-review-card footer{display:flex;align-items:center;gap:12px}
.cos-review-card footer>span{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#16122e;
  background:linear-gradient(135deg,#fff4b9,#d8b44c);
  font-weight:900;
}
.cos-review-card footer div{display:grid}
.cos-review-card footer small{color:rgba(255,255,255,.5)}

/* BOOK */
.cos-book-section{
  position:relative;
  min-height:720px;
  display:grid;
  align-items:center;
  overflow:hidden;
  padding:clamp(95px,10vw,160px) 0;
  color:#fff;
  background:
    radial-gradient(circle at 76% 50%,rgba(129,85,230,.46),transparent 28%),
    linear-gradient(125deg,#181247,#080f27 58%,#151246);
}
.cos-book-bg{position:absolute;inset:auto 0 0;opacity:.9}
.cos-book-bg svg{width:100%;height:400px}
.cos-book-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.8fr);
  gap:clamp(50px,8vw,120px);
  align-items:center;
}
.cos-book-copy .cos-kicker{color:var(--cos-gold)}
.cos-book-copy h2{
  max-width:900px;
  margin:.8rem 0 1.35rem;
  color:var(--cos-gold-light);
  font-size:clamp(3.4rem,6vw,6.8rem);
}
.cos-book-copy>p{max-width:760px;margin:0 0 2rem;color:rgba(255,255,255,.72)}
.cos-book-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px 22px;
  margin-top:1.7rem;
  color:rgba(255,255,255,.62);
  font-size:.88rem;
}
.cos-book-meta span{display:flex;align-items:center;gap:8px}

.cos-book-orbit{
  position:relative;
  min-height:520px;
  display:grid;
  place-items:center;
  perspective:1200px;
}
.cos-book-ring{
  position:absolute;
  border:1px solid rgba(239,204,105,.25);
  border-radius:50%;
}
.ring-one{width:92%;aspect-ratio:1;animation:cosSpin 32s linear infinite}
.ring-two{width:70%;aspect-ratio:1;border-style:dashed;animation:cosSpin 23s linear infinite reverse}
.ring-three{width:48%;aspect-ratio:1;box-shadow:0 0 80px rgba(129,87,230,.28)}
.ring-one::before,
.ring-two::before{
  content:"";
  position:absolute;
  left:50%;
  top:-5px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--cos-gold);
  box-shadow:0 0 22px var(--cos-gold);
}
.cos-book-core{
  position:relative;
  z-index:3;
  width:260px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
  padding:30px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035));
  box-shadow:0 35px 80px rgba(0,0,0,.3),inset 0 0 55px rgba(132,87,230,.2);
  backdrop-filter:blur(16px);
  transform-style:preserve-3d;
}
.cos-book-core svg{
  width:78px;
  height:78px;
  margin-bottom:16px;
  color:var(--cos-gold);
  filter:drop-shadow(0 0 18px rgba(238,201,99,.35));
  transform:translateZ(35px);
}
.cos-book-core strong{font-family:var(--cos-serif);font-size:1.65rem;line-height:1}
.cos-book-core span{margin-top:8px;color:rgba(255,255,255,.55);font-size:.76rem}
.cos-book-particle{position:absolute;color:var(--cos-gold-light);font-size:2rem;animation:cosFloat 4.8s ease-in-out infinite}
.p1{top:13%;right:15%}
.p2{left:12%;top:42%;animation-delay:-1.6s}
.p3{right:20%;bottom:12%;animation-delay:-3.2s}

/* REVEAL + TILT */
/* Progressive enhancement: all content stays visible when JavaScript is missing,
   blocked, cached incorrectly or served from a wrong path. */
[data-reveal]{
  opacity:1;
  transform:none;
}
.cos-page.cos-js [data-reveal]{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .85s cubic-bezier(.2,.8,.2,1),transform .85s cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--reveal-delay,0ms);
}
.cos-page.cos-js [data-reveal].is-visible{opacity:1;transform:none}
[data-tilt]{will-change:transform;transition:transform .16s ease-out}

/* RESPONSIVE */
@media (max-width:1180px){
  .cos-hero-grid,
  .cos-about-grid,
  .cos-reiki-grid,
  .cos-book-grid{grid-template-columns:1fr}
  .cos-hero{min-height:auto}
  .cos-hero-copy{padding-top:12px}
  .cos-hero-art{min-height:620px}
  .cos-about-copy{max-width:900px}
  .cos-about-art{min-height:620px}
  .cos-reiki-grid{gap:60px}
  .cos-reiki-visual{max-width:720px;margin-inline:auto;width:100%}
  .cos-book-copy{text-align:center}
  .cos-book-copy>p{margin-inline:auto}
  .cos-book-actions,.cos-book-meta{justify-content:center}
  .cos-book-orbit{min-height:500px}
}

@media (max-width:900px){
  .cos-section{padding:85px 0}
  .cos-process-grid{grid-template-columns:1fr}
  .cos-process-intro{position:relative;top:auto}
  .cos-service-card{grid-template-columns:54px 68px minmax(0,1fr);padding:24px}
  .cos-service-card>a{grid-column:3}
  .cos-service-featured{min-height:260px}
  .cos-step-line{display:none}
}

@media (max-width:680px){
  .cos-container{width:min(100% - 28px,1440px)}
  .cos-hero{padding-top:70px}
  .cos-hero h1{font-size:clamp(3.55rem,18vw,5.5rem);line-height:.79}
  .cos-hero h1 .cos-title-small{letter-spacing:.24em}
  .cos-hero-copy>p{font-size:1rem;line-height:1.7}
  .cos-hero-art{min-height:480px;margin-top:20px}
  .cos-sloka-wheel{width:108%}
  .cos-symbol{width:56px;border-radius:18px}
  .cos-symbol svg{width:27px;height:27px}
  .cos-symbol-one{left:0}
  .cos-symbol-two{right:0}
  .cos-symbol-three{right:2%}
  .cos-symbol-four{left:2%}
  .cos-scroll-cue{display:none}
  .cos-marquee{padding:12px 0}
  .cos-about h2,
  .cos-section-heading h2,
  .cos-process h2,
  .cos-review-head h2,
  .cos-book-copy h2{font-size:clamp(2.65rem,13vw,4.3rem)}
  .cos-about-art{min-height:450px}
  .cos-about-panel{border-radius:30px}
  .cos-about-badge{left:14px;right:14px;bottom:14px}
  .cos-floating-note{font-size:.76rem;padding:9px 11px}
  .cos-note-one{left:-4px;top:10%}
  .cos-note-two{right:-4px;bottom:17%}
  .cos-reiki-scene{min-height:560px;border-radius:34px}
  .cos-energy-tag{font-size:.72rem}
  .cos-service-card,
  .cos-service-featured{
    grid-template-columns:54px 1fr;
    gap:14px;
    min-height:0;
    padding:24px 20px;
  }
  .cos-service-number{grid-row:1}
  .cos-service-icon{width:58px;height:58px;grid-column:2}
  .cos-service-content{grid-column:1/-1}
  .cos-service-card>a{grid-column:1/-1}
  .cos-service-content ul{display:grid}
  .cos-process-steps{grid-template-columns:1fr}
  .cos-process-steps article{min-height:240px}
  .cos-review-head{align-items:start;flex-direction:column}
  .cos-book-orbit{min-height:420px}
  .cos-book-core{width:220px}
  .cos-btn{width:100%}
  .cos-actions,.cos-book-actions{align-items:stretch}
}

@media (prefers-reduced-motion:reduce){
  .cos-page *,
  .cos-page *::before,
  .cos-page *::after{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  [data-reveal]{opacity:1;transform:none}
}
