/* Home presentation only. Original header controls retain their handlers. */
body.sanctuary-home-page #view .home-sanctuary .sanctuary-topbar{display:none!important;border:0!important}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-welcome .sanctuary-brand{display:block;position:static!important;margin:auto}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-welcome .sanctuary-brand img{width:clamp(240px,30vw,440px)!important;height:auto!important;max-height:150px;max-width:100%;margin:auto;object-fit:contain}
body.sanctuary-home-page #view .sanctuary-foreground .sanctuary-mandate,
body.sanctuary-home-page #view .sanctuary-foreground .sanctuary-conversations{border:0!important;box-shadow:none!important;background:linear-gradient(145deg,#192035a8,#080d21c0)}
body.sanctuary-home-page .shell>main>header{max-width:290px;border-bottom:0!important;box-shadow:none!important}
body.sanctuary-home-page .shell>main>header .search{padding:6px 10px!important;min-height:40px}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal strong{font-size:clamp(10px,.92vw,15px)!important}
/* Reuse the scene foreground as an occlusion layer, not another illustration.
   Its waterline shrubs paint over the lower doorway surfaces, never receive clicks. */
@media(min-width:1101px) and (pointer:fine){
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-courtyard:after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background: url('assets/home-sanctuary-v4.png') center/100% 100% no-repeat;
  -webkit-mask-image:linear-gradient(transparent 49%,#000 54%,#000 57%,transparent 59%);
  mask-image:linear-gradient(transparent 49%,#000 54%,#000 57%,transparent 59%);
 }
}
@media(max-width:1100px),(pointer:coarse){
 body.sanctuary-home-page .shell>main>header{margin-left:auto!important;max-width:330px;width:100%}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal strong{font-size:15px!important}
}

body.sanctuary-home-page #view .sanctuary-mandate .realm-declaration{font:500 24px/1.2 'Playfair Display',serif!important;white-space:normal!important;letter-spacing:0!important;max-width:100%!important;margin:0 0 10px!important}
body.sanctuary-home-page #view .sanctuary-mandate .realm-declaration span{font:12px/1.4 'DM Sans',sans-serif!important;display:block}
body.sanctuary-home-page #view .sanctuary-mandate .realm-purpose{font-size:13px!important;line-height:1.55!important;max-width:none!important}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-brand img{width:270px!important;height:90px!important;object-fit:contain}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-standard-nav{display:none!important}
body.sanctuary-home-page .shell>main>header{display:flex!important;position:absolute!important;top:24px!important;right:22px!important;left:auto!important;width:340px;height:auto!important;z-index:25;gap:12px;padding:0!important}
body.sanctuary-home-page main>header .menu{display:none!important}
body.sanctuary-home-page main>header .search{display:flex!important;width:auto;flex:1;min-width:0;background:#080d21d9!important;border:1px solid #f4ca8266!important;border-radius:25px}
body.sanctuary-home-page main>header .search input{font-size:16px}
body.sanctuary-home-page main>header .header-actions{display:flex;gap:8px;align-items:center}
body.sanctuary-home-page main>header .header-actions>[data-view="settings"]{display:none}
.sanctuary-member{display:none}
body.sanctuary-home-page main>header .icon{display:grid;place-items:center;min-width:44px;height:44px;border-radius:50%;margin:0!important;border-color:#f4ca8266;color:var(--gold)}
body.sanctuary-home-page main>header .notifications,body.sanctuary-home-page main>header .search-results{top:58px;right:0;left:auto;width:min(360px,calc(100vw - 32px));max-height:60vh;overflow:auto;background:#10172af5;border:1px solid var(--gold)}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-topbar{padding-right:390px!important;min-height:100px}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-standard-nav{gap:2px!important}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-standard-nav a{padding:7px 9px;letter-spacing:0}
body.sanctuary-home-page #view .home-sanctuary{min-height:920px}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal{isolation:isolate;transform:none!important;--portal-light:244,202,130;transition:none!important}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(2n){--portal-light:140,192,240}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:before{display:block!important;content:"";position:absolute;inset:0!important;z-index:-1;border:1px solid rgba(var(--portal-light),.9)!important;border-radius:50% 50% 3px 3px!important;background:radial-gradient(ellipse at 50% 95%,rgba(var(--portal-light),.7),transparent 50%),linear-gradient(180deg,rgba(var(--portal-light),.18),#080d2140 45%,rgba(var(--portal-light),.3));box-shadow:inset 0 0 18px rgba(var(--portal-light),.5),0 0 9px rgba(var(--portal-light),.45);opacity:.7;transition:opacity .3s ease}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:after{display:block!important;content:"";position:absolute;inset:2px!important;z-index:-1;border-radius:50% 50% 3px 3px;background:radial-gradient(ellipse at 50% 90%,rgba(var(--portal-light),.75),transparent 65%);box-shadow:0 0 22px rgba(var(--portal-light),.7),inset 0 0 26px rgba(var(--portal-light),.65);opacity:0;transition:opacity .32s ease;pointer-events:none}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:is(:hover,:focus-visible,.is-entering){background:transparent!important;box-shadow:none!important}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:is(:hover,:focus-visible,.is-entering):after{opacity:1}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal strong,body.sanctuary-home-page #view .home-sanctuary .sanctuary-icon{color:#fff3db;text-shadow:0 2px 4px #000,0 0 10px rgba(var(--portal-light),.85)}
body.sanctuary-home-page .sanctuary-foreground{position:absolute;bottom:22px;left:23%;right:10%;display:grid;grid-template-columns:1.5fr 1fr;gap:18px;z-index:3}
body.sanctuary-home-page .sanctuary-mandate,body.sanctuary-home-page .sanctuary-conversations{min-width:0;padding:19px 22px;border:1px solid #f4ca8280;border-radius:15px;background:linear-gradient(145deg,#192035e8,#080d21f2);box-shadow:inset 0 1px 0 #fff3db40,0 0 18px #f4ca8226;color:var(--ink)}
body.sanctuary-home-page .sanctuary-mandate .eyebrow{display:none}
body.sanctuary-home-page .sanctuary-mandate h1{font:500 24px 'Playfair Display',serif;margin:0 0 10px;color:var(--gold)}
body.sanctuary-home-page .sanctuary-mandate h1 span{display:block;font:12px 'DM Sans',sans-serif;margin-top:5px}
body.sanctuary-home-page .sanctuary-mandate .realm-purpose{font-size:12px;line-height:1.6;margin:0 0 12px;color:var(--ink);max-width:none}
body.sanctuary-home-page .sanctuary-conversations #home-chat-preview,body.sanctuary-home-page .sanctuary-conversations #home-member-access{position:static!important;width:auto!important;max-width:none!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
body.sanctuary-home-page .sanctuary-conversations #home-chat-preview[hidden],body.sanctuary-home-page .sanctuary-conversations #home-member-access[hidden]{display:none!important}
body.sanctuary-home-page .sanctuary-conversations .home-chat-lines{max-height:80px;overflow:auto}
body.sanctuary-home-page .sanctuary-conversations .eyebrow{color:var(--gold)}
body.sanctuary-home-page .sanctuary-foreground button{border:1px solid #f4ca8266;background:#f4ca8215;box-shadow:none;color:var(--gold);min-height:44px}
body.sanctuary-home-page .sanctuary-pulse-light{position:absolute;left:4%;bottom:16%;display:grid;justify-items:center;gap:12px;z-index:3;text-decoration:none;color:var(--gold);font-size:12px;min-width:80px;min-height:80px}
body.sanctuary-home-page .sanctuary-pulse-light span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font-size:30px;background:radial-gradient(circle,#fff3db,#f4ca82 15%,#f4ca8230 45%,transparent 70%);box-shadow:0 0 28px #f4ca8280;animation:sanctuary-beacon 3s ease-in-out infinite}
@keyframes sanctuary-beacon{50%{opacity:.65;transform:scale(.92)}}
@media(max-width:1100px),(pointer:coarse){
 body.sanctuary-home-page .shell>main>header{position:relative!important;top:auto!important;right:auto!important;width:auto;margin:0!important;padding:12px max(18px,env(safe-area-inset-right)) 12px max(18px,env(safe-area-inset-left))!important;background:#080d21}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-topbar{padding-right:18px!important}
 body.sanctuary-home-page #view .home-sanctuary{min-height:100svh}
 body.sanctuary-home-page .sanctuary-foreground{position:relative;inset:auto;margin-top:32px;grid-template-columns:1fr 1fr}
 body.sanctuary-home-page .sanctuary-pulse-light{position:relative;inset:auto;margin:24px auto;width:max-content}
 body.sanctuary-home-page .sanctuary-mandate .realm-purpose{font-size:14px}
}
@media(max-width:600px){body.sanctuary-home-page .sanctuary-foreground{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body.sanctuary-home-page .sanctuary-pulse-light span{animation:none}body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:before,body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:after{transition:none}}
body.sanctuary-paused .sanctuary-pulse-light span{animation-play-state:paused}
/* Register the interaction surfaces inside the photographed door openings.
   No separate outlined card: the artwork supplies the architectural frame. */
@media(min-width:1101px) and (pointer:fine){
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal{overflow:hidden!important;border-radius:50% 50% 0 0 / 32% 32% 0 0!important;padding:18px 2px 6px!important}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(1){--x:6.95%;--y:30%;--h:25.6%}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(2){--x:16.6%;--y:34.1%;--h:21.5%}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(3){--x:25.7%;--y:36.9%;--h:18.7%}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(4){--x:34.8%;--y:38.6%;--h:17%}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(5){--x:60%;--y:38.6%;--h:17%}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(6){--x:68.9%;--y:36.9%;--h:18.7%}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(7){--x:78%;--y:34.1%;--h:21.5%}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(8){--x:87.5%;--y:30%;--h:25.6%}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:before,
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:after{border:0!important;box-shadow:none!important;border-radius:inherit!important;inset:0!important}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:before{background:radial-gradient(ellipse at 50% 100%,rgba(var(--portal-light),.28),transparent 65%)!important;opacity:.5!important}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:after{background:radial-gradient(ellipse at 50% 95%,rgba(var(--portal-light),.68),rgba(var(--portal-light),.12) 45%,transparent 75%)!important}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal small{border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;padding:4px 0!important}
}
/* Destination artwork is decorative; real labels and routes remain HTML. */
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal{--destination-scene:url('assets/realm-community.png')}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal[data-sanctuary-destination="pulse"],
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal[data-sanctuary-destination="prayer"]{--destination-scene:url('assets/realm-prayer.png')}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal[data-sanctuary-destination="study"],
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal[data-sanctuary-destination="marketplace"]{--destination-scene:url('assets/realm-word.png')}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal[data-sanctuary-destination="live"]{--destination-scene:url('assets/realm-live.png')}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal[data-sanctuary-destination="prayer-radar"]{--destination-scene:url('assets/realm-nearby.png')}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:after{
 background-image:linear-gradient(180deg,#080d2120,#080d2170 45%,#080d2133),var(--destination-scene)!important;
 background-size:cover!important;background-position:center 28%!important;background-repeat:no-repeat!important;
 opacity:.32;transition:opacity .28s ease!important;pointer-events:none;
}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:is(:hover,:focus-visible,.is-entering):after{opacity:.52}
/* Keep the destination and glow inside each entrance, including touch layouts. */
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal{
 overflow:hidden!important;isolation:isolate;contain:paint;
 backdrop-filter:none!important;filter:none!important;
}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:before{
 box-shadow:inset 0 0 14px rgba(var(--portal-light),.24)!important;
}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:after{
 border-radius:inherit!important;inset:0!important;
 box-shadow:inset 0 0 18px rgba(var(--portal-light),.3)!important;
}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:focus-visible{
 outline:2px solid var(--gold)!important;outline-offset:-3px!important;
}
@media(min-width:1101px) and (pointer:fine){
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal{
  transform:skewY(var(--door-angle,0deg))!important;transform-origin:50% 100%;
 }
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(1){--door-angle:7deg}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(2){--door-angle:5deg}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(3){--door-angle:3deg}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(4){--door-angle:1.5deg}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(5){--door-angle:-1.5deg}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(6){--door-angle:-3deg}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(7){--door-angle:-5deg}
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:nth-child(8){--door-angle:-7deg}
}
@media(prefers-reduced-motion:reduce){body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:after{transition:none!important}}

/* Mobile home entrances: compact sans labels without the drawn arch outline. */
@media(max-width:600px){
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
 }
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:before,
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:after{
  border:0!important;
  box-shadow:none!important;
 }
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0 3px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(11px,3.25vw,13px)!important;
  font-weight:600!important;
  line-height:1.18!important;
  letter-spacing:.01em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
  text-align:center!important;
 }
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal small{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:9px!important;
  letter-spacing:.08em!important;
 }
 body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal:focus-visible{outline:0!important}
}

/* Home navigation typography: crisp sans-serif labels at every viewport size. */
body.sanctuary-home-page #view .home-sanctuary .sanctuary-standard-nav a,
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal strong,
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal small,
body.sanctuary-home-page #view .home-sanctuary .water-library-open{
 font-family:Arial,Helvetica,sans-serif!important;
}
body.sanctuary-home-page #view .home-sanctuary .sanctuary-portal strong{
 font-weight:600!important;
 letter-spacing:0!important;
}

/* The desktop pool is the one intentionally animated interaction on Home. */
@media(min-width:761px) and (hover:hover){
 html body #sanctuary-library-door.sanctuary-library-door{
  top:54%!important;
  width:min(520px,42vw)!important;
  height:clamp(130px,13vw,180px)!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(216,173,102,.34)!important;
  border-radius:50% / 46%!important;
  background:#071020!important;
  box-shadow:0 14px 34px rgba(0,0,0,.34)!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translate(-50%,10px) scale(.97)!important;
  transition:opacity .32s ease,transform .42s cubic-bezier(.22,.72,.24,1),box-shadow .42s ease!important;
  will-change:opacity,transform;
  pointer-events:none!important;
 }
 html body .sanctuary-water:hover + #sanctuary-library-door.sanctuary-library-door,
 html body #sanctuary-library-door.sanctuary-library-door:hover,
 html body #sanctuary-library-door.sanctuary-library-door:focus-visible{
  opacity:1!important;
  visibility:visible!important;
  transform:translate(-50%,0) scale(1)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.42),0 0 28px rgba(92,165,216,.22)!important;
  pointer-events:auto!important;
 }
 html body #sanctuary-library-door.sanctuary-library-door img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 42%!important;
  filter:saturate(.82) brightness(.8)!important;
  transform:scale(1.055)!important;
  transition:transform .6s cubic-bezier(.22,.72,.24,1),filter .42s ease!important;
 }
 html body .sanctuary-water:hover + #sanctuary-library-door.sanctuary-library-door img,
 html body #sanctuary-library-door.sanctuary-library-door:hover img,
 html body #sanctuary-library-door.sanctuary-library-door:focus-visible img{
  filter:saturate(1) brightness(.96)!important;
  transform:scale(1)!important;
 }
 html body #sanctuary-library-door .water-library-open{
  bottom:15px!important;
  padding:5px 10px!important;
  border-radius:999px;
  background:rgba(4,10,21,.48);
 }
}
