/* Pandit Dharmeshbhai Pandya, v7 "The Thread" */
@font-face{font-family:'Tiro Devanagari Hindi';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/tiro-devanagari-hindi-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Tiro Devanagari Hindi';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/tiro-devanagari-hindi-devanagari-400-normal.woff2) format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:'Mukta';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/mukta-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mukta';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/mukta-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mukta';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/mukta-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --ink:#3A2348;          /* plum ink */
  --ink-2:#6A5476;
  --plum:#5B3478;
  --plum-d:#45265C;
  --marigold:#E39A2D;
  --gold:#F2B84B;
  --kumkum:#B7322C;
  --paper:#FFFBF5;
  --line:rgba(91,52,120,.14);
  --dawn:#FFE9D6;
  --dusk:#E8DCF3;
  --gut:136px;
  --max:1180px;
  --r-lg:34px;
  --r-md:20px;
  --sh-soft:0 1px 0 rgba(255,255,255,.8) inset,0 2px 4px rgba(91,52,120,.06),0 14px 30px -10px rgba(120,60,40,.18),0 40px 70px -30px rgba(91,52,120,.28);
  --sh-lift:0 2px 6px rgba(91,52,120,.08),0 24px 50px -18px rgba(120,60,40,.30),0 60px 90px -40px rgba(91,52,120,.35);
  --serif:"Tiro Devanagari Hindi",Georgia,serif;
  --sans:"Mukta",system-ui,-apple-system,"Segoe UI",sans-serif;
  --tx:22px; /* thread x on mobile */
}
*,*::before,*::after{box-sizing:border-box}
html{background:#FFF6EC;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;color:var(--ink);font:400 18px/1.62 var(--sans);
  background:linear-gradient(180deg,#FFE4CF 0,#FFEEDD 6%,#FFF6EC 16%,#FFF8F0 38%,#FFF5EE 55%,#FBEFF1 66%,#F3E8F4 80%,#ECE1F4 92%,#E6D9F1 100%);
  overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.01em;color:var(--ink)}
p{margin:0}
.dev{font-family:var(--serif)}
.skip{position:absolute;left:-999px;top:8px;background:var(--plum);color:#fff;padding:10px 16px;border-radius:12px;z-index:100}
.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--marigold);outline-offset:3px;border-radius:10px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font:600 17px/1 var(--sans);
  text-decoration:none;border:0;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s}
.btn .wa-logo{width:24px;height:24px;flex:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}
.btn .ph{width:20px;height:20px;flex:none}
.btn-wa{background:linear-gradient(180deg,#6A3F8A,var(--plum) 55%,var(--plum-d));color:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 -2px 0 rgba(0,0,0,.18) inset,0 10px 22px -8px rgba(69,38,92,.6)}
.btn-call,.btn-ghost{background:rgba(255,255,255,.7);color:var(--plum-d);box-shadow:0 0 0 1.5px rgba(91,52,120,.28) inset,0 8px 18px -12px rgba(91,52,120,.4);backdrop-filter:blur(6px)}
@media (hover:hover){.btn:hover{transform:translateY(-2px)}.btn-wa:hover{box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 -2px 0 rgba(0,0,0,.18) inset,0 16px 28px -10px rgba(69,38,92,.7)}}
.btn.sm{min-height:42px;padding:0 16px;font-size:15px;gap:8px}
.btn.sm .wa-logo{width:20px;height:20px}
.btn.big{min-height:58px;padding:0 30px;font-size:18px}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:24px;padding:14px max(24px,calc((100vw - var(--max))/2));
  transition:background .3s,box-shadow .3s,padding .3s}
.hdr.scrolled{background:rgba(255,248,240,.82);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);padding-top:8px;padding-bottom:8px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.1}
.b-name{font-family:var(--serif);font-size:21px}
.b-sub{font-size:13.5px;color:var(--ink-2)}
.nav{display:flex;gap:28px;margin-left:auto}
.nav a{text-decoration:none;font-weight:500;font-size:16px;color:var(--ink);padding:6px 0;background:linear-gradient(var(--marigold),var(--marigold)) 0 100%/0 2px no-repeat;transition:background-size .3s}
.nav a:hover{background-size:100% 2px}
.hdr-act{display:flex;gap:10px}

/* ---------- spine layout ---------- */
.spine{position:relative;padding-top:1px}
.thread-layer{position:absolute;inset:0;pointer-events:none;z-index:0}
.thread{position:absolute;left:0;top:0;overflow:visible}
.thread path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.t-ghost{stroke:rgba(183,50,44,.18);stroke-width:2;stroke-dasharray:2 9}
.t-shadow{stroke:rgba(90,20,20,.18);stroke-width:6;transform:translate(1.5px,2.5px);filter:blur(1.5px)}
.t-red{stroke:#C0392F;stroke-width:4.5}
.t-gold{stroke:#F5BF4A;stroke-width:4.5;stroke-dasharray:6 8}
.beads{position:absolute;inset:0}
.bead{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#FFF3D0,#F2B84B 45%,#B9771E 100%);box-shadow:0 3px 6px rgba(120,60,20,.35),0 0 0 4px rgba(255,255,255,.55);
  transform:scale(.55);opacity:.55;transition:transform .5s cubic-bezier(.2,1.6,.4,1),opacity .4s}
.bead.lit{transform:scale(1);opacity:1}
.bead.knot{width:30px;height:30px;margin:-15px 0 0 -15px;background:radial-gradient(circle at 35% 30%,#FFD2C8,#C0392F 55%,#7E1E19)}
.diya{position:absolute;left:0;top:0;width:58px;height:58px;margin:-44px 0 0 -29px;will-change:transform;z-index:2}
.diya .flame{transform-origin:32px 30px;animation:flick 1.6s ease-in-out infinite alternate}
.diya .flame-in{transform-origin:32px 30px;animation:flick 1.1s ease-in-out infinite alternate-reverse}
@keyframes flick{0%{transform:scale(1,1) rotate(-2deg)}50%{transform:scale(.94,1.06) rotate(2deg)}100%{transform:scale(1.04,.96) rotate(-1deg)}}
.anchor{position:absolute;width:0;height:0}

.spine>section{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding-left:24px;padding-right:24px}
.sec-head{text-align:center;max-width:660px;margin:0 auto 40px;background:radial-gradient(closest-side,rgba(255,248,241,1),rgba(255,248,241,.97) 72%,rgba(255,248,241,0));padding:22px 40px}
.sec-head h2{font-size:clamp(34px,4.2vw,56px);line-height:1.08}
.sec-head p{margin-top:14px;color:var(--ink-2);font-size:19px}

/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:1.08fr var(--gut) .92fr;align-items:center;min-height:100svh;padding-top:110px;padding-bottom:70px}
.hero-text{grid-column:1}
.hello{font-size:17px;color:var(--ink-2);max-width:30em}
.hello-face{display:none}
.hero::before{content:"";position:absolute;z-index:-1;left:-20%;top:-10%;width:80%;height:70%;background:radial-gradient(closest-side,rgba(255,206,140,.45),rgba(255,206,140,0));pointer-events:none}
.hero h1{font-size:clamp(46px,6.3vw,88px);line-height:1;margin:18px 0 22px;letter-spacing:-.02em}
.hero-sub{font-size:20px;max-width:31em;color:#4E3A5C}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-note{margin-top:16px;font-size:15.5px;color:var(--ink-2)}
.anchor.start{left:50%;top:150px}
.hero-pic{grid-column:3;position:relative;margin:0;justify-self:center;width:100%;max-width:430px}
.portrait{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lift);background:#f3e6d6;aspect-ratio:4/5;transform:rotate(1.2deg)}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;scale:1.06}
.float,.ch-med{height:auto;aspect-ratio:1/1}
.float{position:absolute;border-radius:50%;box-shadow:var(--sh-soft);background:#fff}
.f1{width:112px;left:-46px;bottom:56px}
.f2{width:84px;right:-26px;top:38px}

/* ---------- wheel ---------- */
.wheel-sec{padding-top:90px;padding-bottom:110px}
.wheel{position:relative;width:min(640px,92vw);aspect-ratio:1;margin:0 auto}
.ring{position:absolute;inset:0;animation:spin 140s linear infinite}
.wheel:hover .ring,.wheel:focus-within .ring{animation-play-state:paused}
.med{position:absolute;width:15%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:block}
.med-in{display:block;width:100%;height:100%;border-radius:50%;overflow:hidden;background:#fff;box-shadow:var(--sh-soft);
  animation:spin 140s linear infinite reverse;transition:transform .35s cubic-bezier(.2,1.4,.4,1),box-shadow .3s}
.wheel:hover .med-in,.wheel:focus-within .med-in{animation-play-state:paused}
.med img{width:100%;height:100%;object-fit:cover}
.med.on .med-in{box-shadow:0 0 0 4px #fff,0 0 0 7px var(--marigold),var(--sh-lift)}
.med.on{z-index:2}
.med.on .med-in img,.med:hover .med-in img{transform:scale(1.08)}
.med .med-in img{transition:transform .4s}
@keyframes spin{to{transform:rotate(360deg)}}
.hub{position:absolute;inset:23%;border-radius:50%;overflow:hidden;box-shadow:0 0 0 10px rgba(255,255,255,.75),0 0 0 11px rgba(227,154,45,.35),var(--sh-lift);background:#f6e8d8}
.hub img{width:100%;height:100%;object-fit:cover;transition:opacity .45s ease,transform 3.2s ease}
.hub img.fade{opacity:0}
.wheel-cap{display:flex;flex-direction:column;align-items:center;gap:2px;margin:34px auto 0;text-align:center;position:relative;z-index:2;
  background:rgba(255,250,244,.92);border-radius:24px;padding:14px 26px;width:max-content;max-width:92vw;box-shadow:var(--sh-soft)}
.wc-n{font-size:14px;color:var(--ink-2)}
.wc-n::after{content:" of 16"}
.wc-e{font-family:var(--serif);font-size:30px;line-height:1.15}
.wc-t{color:var(--ink-2);font-size:16px}

/* ---------- journey chapters ---------- */
.journey{padding-top:40px;padding-bottom:40px}
.ch{display:grid;grid-template-columns:1fr var(--gut) 1fr;align-items:start;margin-bottom:150px;position:relative}
.ch .anchor{left:50%;top:58px}
.ch-pic{grid-column:1;margin:0;position:sticky;top:110px}
.ch-text{grid-column:3}
.ch.flip .ch-pic{grid-column:3;grid-row:1}
.ch.flip .ch-text{grid-column:1;grid-row:1}
.ch-frame{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lift);aspect-ratio:1;background:#f4e3cf}
.ch-frame img{width:100%;height:100%;object-fit:cover;scale:1.12}
.ch-med{position:absolute;width:30%;right:-6%;bottom:-8%;border-radius:50%;box-shadow:var(--sh-soft);background:#fff}
.ch.flip .ch-med{right:auto;left:-6%}
.stage{font-size:16px;font-weight:600;color:var(--kumkum)}
.ch-text h3{font-size:clamp(34px,3.7vw,54px);line-height:1.05;margin:6px 0 12px}
.ch-line{font-size:20px;color:#4E3A5C;max-width:28em}
.sks{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.sk{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start;padding:12px 14px 12px 12px;border-radius:var(--r-md);background:rgba(255,251,245,.78);box-shadow:0 0 0 1px rgba(91,52,120,.07);scroll-margin-top:120px;transition:box-shadow .5s,background .5s}
.sk.hl{background:#fff;box-shadow:0 0 0 2px var(--marigold),var(--sh-soft)}
.sk img{width:64px;height:64px;border-radius:50%;box-shadow:0 4px 10px -4px rgba(91,52,120,.35)}
.sk h4{font-size:24px;line-height:1.2;display:flex;align-items:baseline;gap:10px}
.sk-n{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--marigold);min-width:1.4em}
.sk-name{font-size:15.5px;color:var(--ink-2);margin-top:2px}
.sk-name .dev{margin-left:6px;font-size:16px}
.sk-x{font-size:16.5px;margin-top:4px;color:#4E3A5C;line-height:1.5}
.ch-svc{margin-top:26px}
.lead-in{font-size:16px;font-weight:600;color:var(--ink-2);margin-bottom:8px}
.svc{list-style:none;margin:0;padding:0}
.svc li a{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:10px 34px 10px 2px;border-bottom:1px solid var(--line);text-decoration:none;position:relative;transition:padding .25s,background .25s}
.svc .nm{font-weight:500;font-size:17.5px}
.svc .gl{color:var(--ink-2);font-size:15.5px}
.svc .gl::before{content:"("}.svc .gl::after{content:")"}
.wa-mini{position:absolute;right:4px;top:50%;width:20px;height:20px;margin-top:-10px;opacity:.35;transition:opacity .25s,transform .25s}
.svc li a:hover .wa-mini,.svc li a:focus-visible .wa-mini{opacity:1;transform:scale(1.1)}
@media (hover:hover){.svc li a:hover{padding-left:10px;background:rgba(255,255,255,.6)}}
.ch-cta{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px}

/* reveal driven by the thread (only when JS is on) */
.js .ch .ch-frame,.js .ch .ch-med{opacity:0;transform:translateY(40px) scale(.96);transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.8,.2,1)}
.js .ch .ch-text{opacity:0;transform:translateY(24px);transition:opacity .9s .15s ease,transform 1.1s .15s cubic-bezier(.2,.8,.2,1)}
.js .ch.lit .ch-frame,.js .ch.lit .ch-med,.js .ch.lit .ch-text{opacity:1;transform:none}

/* ---------- index ---------- */
.index{padding-top:40px;padding-bottom:120px}
.index .anchor{left:50%;top:0}
.cols{display:grid;grid-template-columns:1fr var(--gut) 1fr;align-items:start}
.col:first-child{grid-column:1}.col:last-child{grid-column:3}
.grp{background:rgba(255,251,245,.88);border-radius:var(--r-md);box-shadow:0 0 0 1px rgba(91,52,120,.08),0 10px 24px -18px rgba(91,52,120,.4);margin-bottom:14px;transition:box-shadow .3s,background .3s}
.grp[open]{background:#fff;box-shadow:var(--sh-soft)}
.grp summary{list-style:none;display:grid;grid-template-columns:62px 1fr auto 24px;gap:14px;align-items:center;padding:12px 16px 12px 12px;cursor:pointer;border-radius:var(--r-md)}
.grp summary::-webkit-details-marker{display:none}
.grp summary img{width:62px;height:62px;border-radius:50%;box-shadow:0 4px 10px -4px rgba(91,52,120,.35);transition:transform .4s cubic-bezier(.2,1.4,.4,1)}
.grp summary:hover img{transform:rotate(-6deg) scale(1.06)}
.g-t b{display:block;font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.2}
.g-t span{display:block;font-size:15px;color:var(--ink-2);line-height:1.4;margin-top:2px}
.g-c{font-size:14px;font-weight:600;color:var(--plum);background:#F1E8F8;border-radius:999px;min-width:32px;height:28px;display:grid;place-items:center;padding:0 8px}
.chev{width:22px;height:22px;fill:none;stroke:var(--ink-2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
.grp[open] .chev{transform:rotate(180deg)}
.grp .svc{padding:0 18px 14px 20px}

/* ---------- about ---------- */
.about{display:grid;grid-template-columns:1fr var(--gut) 1fr;align-items:center;padding-top:40px;padding-bottom:140px}
.about .anchor{left:50%;top:40px}
.ab-pic{grid-column:1;margin:0;justify-self:end;width:100%;max-width:460px}
.ab-frame{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lift);aspect-ratio:720/826;transform:rotate(-1.2deg)}
.ab-frame img{width:100%;height:100%;object-fit:cover;scale:1.08}
.ab-text{grid-column:3}
.ab-text h2{font-size:clamp(34px,4vw,52px);line-height:1.08}
.ab-lead{font-size:20px;margin-top:16px;color:#4E3A5C}
.ab-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:14px}
.ab-list li{padding-left:22px;position:relative;font-size:17.5px;color:#4E3A5C}
.ab-list li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--marigold);box-shadow:0 0 0 3px rgba(227,154,45,.2)}
.ab-list b{color:var(--ink);font-weight:600}

/* ---------- booking ---------- */
.book{padding-top:70px;padding-bottom:110px}
.book .anchor{left:50%;top:70px}
.book-card{position:relative;max-width:660px;margin:0 auto;background:var(--paper);border-radius:var(--r-lg);padding:56px 48px 44px;box-shadow:var(--sh-lift)}
.book-card h2{font-size:clamp(32px,3.6vw,46px);line-height:1.1;text-align:center}
.bk-sub{text-align:center;color:var(--ink-2);margin:12px auto 28px;max-width:30em}
#bk-form{display:flex;flex-wrap:wrap;gap:16px 14px}
.f{flex:1 1 100%;display:flex;flex-direction:column;gap:6px}
.f.half{flex:1 1 220px}
.f span{font-size:15.5px;font-weight:500}
.f input,.f select,.f textarea{font:400 17px/1.4 var(--sans);color:var(--ink);background:#fff;border:1.5px solid rgba(91,52,120,.22);border-radius:14px;padding:12px 14px;min-height:50px;width:100%}
.f textarea{resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--plum);box-shadow:0 0 0 4px rgba(91,52,120,.15)}
.f-err{flex-basis:100%;color:var(--kumkum);font-weight:500}
.bk-act{flex-basis:100%;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:10px}

/* ---------- footer ---------- */
.ftr{position:relative;z-index:1;padding:44px 24px 56px;text-align:center;color:var(--ink-2)}
.ftr-in{max-width:var(--max);margin:0 auto;border-top:1px solid var(--line);padding-top:30px}
.f-name{font-family:var(--serif);font-size:22px;color:var(--ink)}
.f-name span{display:block;font-family:var(--sans);font-size:15.5px;color:var(--ink-2)}
.f-links{display:flex;justify-content:center;gap:26px;margin:16px 0 18px}
.f-links a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;color:var(--plum-d)}
.f-links svg{width:20px;height:20px}
.legal{font-size:14px;max-width:46em;margin:0 auto}

/* ---------- mobile dock ---------- */
.dock{display:none}

/* ---------- tablet and mobile ---------- */
@media (max-width:1100px){:root{--gut:90px}.nav{gap:18px}}
@media (max-width:900px){
  body{font-size:17px}
  .nav,.hide-s{display:none}
  .hdr{padding:10px 16px}
  .b-name{font-size:18px}.b-sub{font-size:12.5px}
  .hdr-act{margin-left:auto}
  .spine>section{padding-left:52px;padding-right:18px}
  .spine>.hero{padding-left:20px;padding-right:20px}
  .hero{grid-template-columns:1fr;min-height:0;padding-top:92px;padding-bottom:24px;gap:26px}
  .hero-text,.hero-pic{grid-column:1}
  .hero-pic{max-width:340px;grid-row:2}
  .hero h1{font-size:clamp(40px,11vw,56px);margin:12px 0 16px}
  .hero-sub{font-size:18px}
  .hello{display:flex;align-items:center;gap:12px;font-size:15.5px;line-height:1.4}
  .hello-face{display:block;flex:none;width:58px;height:58px;border-radius:50%;object-fit:cover;object-position:50% 14%;box-shadow:0 0 0 3px #fff,var(--sh-soft)}
  .hero-cta .btn{flex:1 1 100%;justify-content:center}
  .anchor.start{left:var(--tx);top:auto;bottom:0}
  .f1{width:84px;left:-22px;bottom:40px}.f2{width:64px;right:-12px}
  .sec-head{margin-bottom:34px;text-align:left;padding:8px 0;background:none}
  .wheel-sec{padding-top:60px;padding-bottom:70px}
  .wheel{width:min(100%,460px)}
  .wc-e{font-size:24px}
  .ch,.about,.cols{grid-template-columns:1fr}
  .ch{margin-bottom:90px}
  .ch-pic,.ch.flip .ch-pic{grid-column:1;grid-row:1;position:relative;top:0;max-width:420px}
  .ch-text,.ch.flip .ch-text{grid-column:1;grid-row:2;margin-top:34px}
  .ch-med{width:26%;right:-4%}.ch.flip .ch-med{left:auto;right:-4%}
  .ch .anchor,.index .anchor,.about .anchor,.book .anchor{left:var(--tx)}
  .sk{grid-template-columns:52px 1fr;gap:12px}
  .sk img{width:52px;height:52px}
  .sk h4{font-size:21px}
  .col:first-child,.col:last-child{grid-column:1}
  .grp summary{grid-template-columns:50px 1fr auto 20px;gap:10px}
  .grp summary img{width:50px;height:50px}
  .g-t b{font-size:20px}
  .g-c{display:none}
  .grp summary{grid-template-columns:50px 1fr 20px}
  .about{padding-bottom:90px;gap:28px}
  .ab-pic,.ab-text{grid-column:1;justify-self:start}
  .ab-pic{max-width:360px}
  .book-card{padding:40px 20px 28px}
  .book .anchor{top:70px}
  .ftr{padding-bottom:110px}
  .dock{display:flex;gap:10px;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;padding:8px;border-radius:999px;background:rgba(255,248,240,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 30px -10px rgba(69,38,92,.45),0 0 0 1px var(--line);transform:translateY(140%);transition:transform .4s cubic-bezier(.2,.9,.3,1)}
  .dock.show{transform:none}
  .dock .btn{flex:1;justify-content:center;min-height:50px}
  .dock .btn-ghost{flex:.7}
  .hdr .btn-wa span{display:none}
  .hdr .btn-wa{padding:0 12px}
}
@media (max-width:400px){.hdr .b-sub{display:none}}

@media (prefers-reduced-motion:reduce){
  .ring,.med-in,.diya .flame,.diya .flame-in{animation:none!important}
  .js .ch .ch-frame,.js .ch .ch-med,.js .ch .ch-text{opacity:1;transform:none;transition:none}
  .bead{transition:none}
}
