/* Phone layout: respect browser chrome and notches, reserve space for navigation. */
@media (max-width:800px), (max-height:500px) and (pointer:coarse){
 :root{--phone-left:max(18px,env(safe-area-inset-left));--phone-right:max(18px,env(safe-area-inset-right));--phone-bottom:max(12px,env(safe-area-inset-bottom));--phone-top:env(safe-area-inset-top,0px)}
 html,body{width:100%;height:100%;overscroll-behavior:none}
 main{height:100dvh;bottom:auto}header{height:calc(64px + var(--phone-top));padding:var(--phone-top) var(--phone-right) 0 var(--phone-left);gap:10px}
 .brand{font-size:clamp(15px,4.2vw,19px);gap:7px;min-width:0}.brand svg{width:25px;height:30px;flex-shrink:0}
 #menu{display:block;flex-shrink:0;min-width:58px;min-height:44px;padding:8px;font-size:11px;margin-left:auto}header>.donate{display:none}
 header nav{display:none;position:absolute;top:calc(64px + var(--phone-top));left:var(--phone-left);right:var(--phone-right);max-height:calc(100dvh - 90px - var(--phone-top));overflow-y:auto;padding:10px;background:#0b100ff5;border:1px solid #a98443;grid-template-columns:1fr 1fr;gap:0}header nav.open{display:grid}header nav a{min-height:44px;padding:13px 10px;font-size:12px}
 .hero-copy,.copy,.temple .copy,.doors .copy,.sanctum .copy{left:var(--phone-left);right:var(--phone-right);width:auto;max-width:none;top:auto;bottom:calc(146px + var(--phone-bottom));transform:none}
 .hero h1{font-size:clamp(32px,9vw,43px);max-width:360px;line-height:1.06}.hero .om{font-size:34px;margin:12px 0}.hero .chapter{font-size:8px;letter-spacing:1.6px;line-height:1.6}.hero .subtitle{font-size:10px;letter-spacing:1.8px;margin-top:16px}.hero .button{margin-top:22px}
 .scene h2{font-size:clamp(28px,8vw,36px);max-width:360px;line-height:1.12}.scene .tracking{font-size:10px;letter-spacing:1.8px;line-height:1.7;margin-top:12px}.scene .subtitle{font-size:10px;line-height:1.7;letter-spacing:1.5px}
 .scene .button,.scene .quiet{min-height:44px;max-width:100%;font-size:10px;letter-spacing:1.2px;line-height:1.5}.scene .button{margin-top:20px;padding:12px 18px}.scene .quiet{display:inline-flex;align-items:center;margin-top:12px}
 .mantra{top:calc(90px + var(--phone-top));right:var(--phone-right);left:var(--phone-left);bottom:auto;text-align:right}.mantra>p{font-size:clamp(23px,7vw,31px);margin-bottom:7px}.mantra .tracking{font-size:8px;letter-spacing:1.5px}
 .scroll{display:none}.origin{display:none}.scene blockquote{display:none}
 .stages,.at-end .stages{top:auto;bottom:calc(66px + var(--phone-bottom));left:50%;right:auto;transform:translateX(-50%);display:flex;gap:0;width:min(100% - 36px,300px);justify-content:space-between}
 .stages a{min-width:44px;min-height:44px;justify-content:center;font-size:0;gap:0}.stages a:before{width:8px;height:8px}.stages:before{display:none}
 .journey-controls{left:var(--phone-left);right:var(--phone-right);bottom:var(--phone-bottom);gap:8px;padding-top:8px;min-height:53px;background:linear-gradient(transparent,#03060980)}
 .journey-controls button{min-width:44px;min-height:44px;padding:8px;font-size:18px}#scene-label{max-width:none;min-width:0;flex:1;font-size:8px;letter-spacing:.6px;line-height:1.6;text-align:center}
 .hero .scene-video,.hero>img{object-position:60% center!important}.nandi .scene-video,.nandi>img{object-position:30% center!important}
 .nandi-copy{left:var(--phone-left);right:var(--phone-right);top:calc(84px + var(--phone-top));width:auto;text-align:left}.nandi h2{font-size:28px;max-width:300px}.nandi-copy .subtitle{margin-top:8px}.nandi-copy .tracking{display:none}
 .nandi .visit{left:var(--phone-left);right:var(--phone-right);width:auto;top:calc(186px + var(--phone-top));bottom:auto;display:flex;flex-direction:row;justify-content:flex-start;gap:16px;height:auto;padding:0}.nandi .visit .button{margin:0;min-height:44px;padding:10px 14px}#restart{min-height:44px;font-size:10px;padding:8px 0}
 .explore{left:var(--phone-left);right:var(--phone-right);bottom:calc(120px + var(--phone-bottom));height:172px;padding:10px 4px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 0;overflow-y:auto;overscroll-behavior:contain;align-content:stretch}
 .explore a{min-width:0;min-height:66px;padding:4px 2px;gap:4px;font-size:8px;letter-spacing:.2px;justify-content:center}.explore svg{width:23px;height:23px;margin:0}.explore small{font-size:8px;line-height:1.3;letter-spacing:0}.explore a:nth-child(4){border:0}
 dialog{width:calc(100% - 28px);max-height:calc(100dvh - 32px - var(--phone-top) - var(--phone-bottom));padding:48px 20px 24px;overflow-y:auto}dialog .close{min-width:44px;min-height:44px;top:2px;right:4px}dialog h2{font-size:26px}dialog .button{max-width:100%;white-space:normal}dl>div{flex-wrap:wrap;gap:6px 12px}
}
@media(max-width:800px) and (max-height:650px) and (orientation:portrait){
 .hero-copy,.copy,.temple .copy,.doors .copy,.sanctum .copy{bottom:calc(124px + var(--phone-bottom))}.hero h1{font-size:32px}.hero .om{font-size:28px;margin:8px 0}.hero .chapter{display:none}.scene h2{font-size:28px}.scene .tracking{font-size:9px}.mantra{top:calc(76px + var(--phone-top))}.mantra>p{font-size:23px}.nandi-copy{top:calc(76px + var(--phone-top))}.nandi h2{font-size:26px}.nandi .visit{top:calc(170px + var(--phone-top))}.explore{height:152px}.explore small{display:none}
}
@media(max-height:500px) and (orientation:landscape) and (max-width:1000px){
 header{height:calc(54px + var(--phone-top))}.brand{font-size:17px}header nav{top:calc(54px + var(--phone-top))}
 .hero-copy,.copy,.temple .copy,.doors .copy,.sanctum .copy{left:var(--phone-left);right:auto;width:55%;bottom:calc(110px + var(--phone-bottom))}.hero .chapter,.hero .om,.scene .tracking,.scene .subtitle{display:none}.scene h2,.hero h1{font-size:26px;max-width:360px}.scene .button,.hero .button,.scene .quiet{margin-top:10px}.mantra{left:auto;top:76px;right:var(--phone-right)}.mantra>p{font-size:23px}
 .nandi-copy{top:74px;width:43%;right:auto}.nandi h2{font-size:25px}.nandi .visit{top:auto;bottom:calc(116px + var(--phone-bottom));right:auto;width:44%;gap:12px}
 .explore{left:50%;right:var(--phone-right);top:68px;bottom:calc(116px + var(--phone-bottom));height:auto;min-height:96px;grid-template-columns:repeat(4,minmax(0,1fr));padding:4px;gap:2px}.explore a{min-height:48px;font-size:8px}.explore small{display:none}.explore svg{width:18px;height:18px}
}
