/* immersive.css — additive "portal" layer for topcourtiers.ca (preview). Scoped to html.imm (set by immersive.js). */
html.imm{--imm-night:#070d1a;--imm-mid:#0b1630;--imm-navy:#12234a;--imm-gold:#c9a24a;--imm-gold-l:#f1d996;--imm-panel:#fbf8f2;background:var(--imm-night)}
html.imm body{background:radial-gradient(1200px 700px at 50% -10%,#16295a 0,transparent 60%),linear-gradient(180deg,var(--imm-mid) 0,var(--imm-night) 55%,#050a14 100%) fixed;background-color:var(--imm-night)}
/* fixed decorative sky (inserted by JS, aria-hidden) */
.imm-sky{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:strict}
.imm-sky i{position:absolute;inset:-20%;will-change:transform}
.imm-stars1{background-image:radial-gradient(1px 1px at 12% 18%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 33% 72%,#fff7 50%,transparent 51%),radial-gradient(1.5px 1.5px at 58% 34%,#f1d996aa 50%,transparent 51%),radial-gradient(1px 1px at 81% 61%,#fff6 50%,transparent 51%),radial-gradient(1px 1px at 91% 12%,#fff8 50%,transparent 51%),radial-gradient(1.5px 1.5px at 47% 88%,#fff5 50%,transparent 51%);background-size:340px 340px;animation:imm-twinkle 6s ease-in-out infinite alternate}
.imm-stars2{background-image:radial-gradient(1px 1px at 22% 44%,#fff6 50%,transparent 51%),radial-gradient(2px 2px at 68% 15%,#f1d99688 50%,transparent 51%),radial-gradient(1px 1px at 75% 83%,#fff7 50%,transparent 51%),radial-gradient(1px 1px at 5% 92%,#fff5 50%,transparent 51%);background-size:520px 520px;animation:imm-twinkle 9s ease-in-out -3s infinite alternate}
.imm-aurora{background:radial-gradient(40% 30% at 20% 20%,rgba(64,140,170,.20),transparent 70%),radial-gradient(35% 28% at 80% 30%,rgba(201,162,74,.16),transparent 70%),radial-gradient(45% 30% at 50% 85%,rgba(90,70,170,.14),transparent 70%);filter:blur(10px);animation:imm-aurora 26s ease-in-out infinite alternate}
@keyframes imm-twinkle{from{opacity:.45}to{opacity:1}}
@keyframes imm-aurora{from{transform:translate3d(-3%,0,0) rotate(-2deg)}to{transform:translate3d(3%,-2%,0) rotate(2deg)}}
html.imm body>*:not(.imm-sky){position:relative;z-index:1}
html.imm .site-header{position:sticky;z-index:10;background:rgba(7,13,26,.78);border-bottom-color:rgba(201,162,74,.4)}
/* scroll progress */
.imm-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:100;pointer-events:none;transform-origin:0 50%;transform:scaleX(var(--imm-p,0));background:linear-gradient(90deg,#8a6a24,var(--imm-gold),var(--imm-gold-l));box-shadow:0 0 12px rgba(241,217,150,.7)}

/* ===== PORTAL HERO (home .hero, town .page-hero, broker top) ===== */
html.imm .hero,html.imm .page-hero{background:transparent;isolation:isolate;perspective:900px}
html.imm .hero-bg{opacity:.35}
.imm-portal{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.imm-portal .imm-arch{position:absolute;left:50%;bottom:-6%;width:min(78vw,620px);aspect-ratio:3/4;transform:translate3d(-50%,var(--imm-y,0),0);border-radius:50% 50% 0 0/38% 38% 0 0;
 background:radial-gradient(60% 55% at 50% 72%,rgba(255,236,186,.55),rgba(201,162,74,.28) 45%,rgba(18,35,74,0) 75%);
 box-shadow:inset 0 0 0 2px rgba(201,162,74,.55),inset 0 0 60px rgba(241,217,150,.35),0 0 90px rgba(201,162,74,.25);animation:imm-breathe 7s ease-in-out infinite alternate}
.imm-portal .imm-arch::before{content:"";position:absolute;inset:7%;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(241,217,150,.35)}
.imm-portal .imm-arch::after{content:"";position:absolute;left:50%;bottom:0;width:180%;height:45%;transform:translateX(-50%);background:radial-gradient(50% 100% at 50% 100%,rgba(241,217,150,.35),transparent 70%)}
.imm-portal .imm-ring{position:absolute;left:50%;bottom:-6%;width:min(110vw,900px);aspect-ratio:3/4;transform:translate3d(-50%,var(--imm-y2,0),0);border-radius:50% 50% 0 0/38% 38% 0 0;box-shadow:inset 0 0 0 1px rgba(201,162,74,.18)}
.imm-portal .imm-ray{position:absolute;left:50%;bottom:0;width:140%;height:120%;transform:translateX(-50%);background:conic-gradient(from 180deg at 50% 100%,transparent 0 40%,rgba(241,217,150,.08) 44%,transparent 47%,rgba(241,217,150,.06) 52%,transparent 56%,rgba(241,217,150,.07) 60%,transparent 64% 100%);mix-blend-mode:screen}
@keyframes imm-breathe{from{opacity:.8}to{opacity:1}}
/* title emerging from light */
html.imm .hero-title,html.imm .city-h1{text-shadow:0 0 28px rgba(241,217,150,.35),0 2px 12px rgba(0,0,0,.5)}
html.imm.imm-anim .hero-title,html.imm.imm-anim .city-h1,html.imm.imm-anim .profile{animation:imm-emerge 1.3s cubic-bezier(.2,.7,.2,1) both}
@keyframes imm-emerge{from{opacity:0;transform:translate3d(0,24px,0) scale(.94);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}

/* ===== SANCTUM PANELS: content floats as warm ivory glass on the night ===== */
html.imm main>.section>.container,html.imm .home-minis>.container,html.imm main .container.page,html.imm .agent-page>.container~.container{background:var(--imm-panel);color:var(--text);border-radius:26px;padding:clamp(1.1rem,4vw,2.4rem);box-shadow:0 0 0 1px rgba(201,162,74,.35),0 30px 80px rgba(0,0,0,.45),0 0 60px rgba(201,162,74,.08)}
html.imm main>.section{padding:clamp(1.2rem,4vw,2.6rem) 0;background:transparent;border:0}
html.imm .tier-menu{background:transparent}
html.imm .agent-page{background:transparent}
html.imm .agent-page>.container:first-child{padding-top:1.4rem;padding-bottom:1rem}
html.imm .agent-page .profile{box-shadow:0 0 0 1px rgba(201,162,74,.45),0 40px 90px rgba(0,0,0,.5),0 0 80px rgba(201,162,74,.18)}
html.imm .site-footer{background:rgba(5,10,20,.85)}
/* reveal with depth (only when JS marks; content visible without JS) */
html.imm.imm-anim .imm-rv{opacity:0;transform:perspective(1000px) translate3d(0,40px,-60px) scale(.96);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
html.imm.imm-anim .imm-rv.imm-in{opacity:1;transform:none}
/* glowing buttons */
html.imm .btn{transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .3s}
html.imm .btn:hover,html.imm .btn:focus-visible{box-shadow:0 0 0 1px rgba(201,162,74,.6),0 0 22px rgba(201,162,74,.45);transform:translateY(-1px)}
html.imm .btn-gold,html.imm .nav-cta{box-shadow:0 0 18px rgba(201,162,74,.25)}
/* cards: glass + 3D tilt (desktop, fine pointer) */
@media (hover:hover) and (pointer:fine) and (min-width:900px){
 html.imm .card,html.imm .city-tile{transform:perspective(900px) rotateX(var(--imm-rx,0)) rotateY(var(--imm-ry,0));transition:transform .25s ease,box-shadow .3s}
 html.imm .card:hover,html.imm .city-tile:hover{box-shadow:0 0 0 1px rgba(201,162,74,.55),0 24px 50px rgba(14,26,43,.28),0 0 40px rgba(201,162,74,.22)}
}
@media (prefers-reduced-motion:reduce){
 .imm-sky i,.imm-portal .imm-arch{animation:none!important}
 html.imm .hero-title,html.imm .city-h1,html.imm .profile{animation:none!important}
 html.imm .imm-rv{opacity:1!important;transform:none!important;transition:none!important}
 html.imm .card,html.imm .city-tile{transform:none!important}
 .imm-progress{display:none}
}
/* breadcrumbs on the night sky need light ink (AA) */
html.imm .agent-page>.container:first-child .breadcrumbs,html.imm .agent-page>.container:first-child .breadcrumbs a,html.imm .agent-page>.container:first-child .breadcrumbs li{color:#e9e1cf}
html.imm .agent-page>.container:first-child .breadcrumbs [aria-current]{color:var(--imm-gold-l)}
/* shorter heroes: size the doorway by height so its arch top stays visible */
html.imm .page-hero .imm-arch,html.imm .agent-page .imm-arch{width:auto;height:88%;bottom:0;left:72%}
html.imm .page-hero .imm-ring,html.imm .agent-page .imm-ring{width:auto;height:120%;bottom:-10%;left:72%}
@media (max-width:700px){html.imm .page-hero .imm-arch,html.imm .page-hero .imm-ring,html.imm .agent-page .imm-arch,html.imm .agent-page .imm-ring{left:50%}}
html.imm .page-hero .imm-portal,html.imm .agent-page .imm-portal{z-index:0}
html.imm .page-hero>.container,html.imm .agent-page>.container:first-child>:not(.imm-portal){position:relative;z-index:1}

/* window/arch removed (Daniel 2026-10-29) */
.imm-portal{display:none!important}
/* blurred glowing background pane removed (Daniel 2026-10-29): no aurora blur, no soft glow halo behind panels */
.imm-aurora{display:none!important}
html.imm main>.section>.container,html.imm .home-minis>.container,html.imm main .container.page,html.imm .agent-page>.container~.container{box-shadow:0 0 0 1px rgba(201,162,74,.35),0 6px 18px rgba(0,0,0,.25)!important}
html.imm .agent-page .profile{box-shadow:0 0 0 1px rgba(201,162,74,.45),0 6px 18px rgba(0,0,0,.25)!important}
html.imm .hero-title,html.imm .city-h1{text-shadow:0 2px 8px rgba(0,0,0,.45)!important}
