/* ONIRIC - RECOVERY SESSIONS */
.ors-page { --ors-bg:#050505; --ors-text:#f6f5f2; --ors-muted:rgba(255,255,255,.64); --ors-line:rgba(255,255,255,.15); --ors-blue:#4f9dfb; --ors-yellow:#fdda25; overflow:hidden; color:var(--ors-text); background:var(--ors-bg); }
.ors-page *, .ors-page *::before, .ors-page *::after { box-sizing:border-box; }
.ors-frame { width:min(100% - 3rem, 82rem); margin-inline:auto; }
.ors-eyebrow { margin:0; color:var(--ors-blue); font-size:.67rem; font-weight:600; letter-spacing:.17em; text-transform:uppercase; }
.ors-hero { min-height:52rem; display:flex; align-items:center; padding:8rem 0 6rem; background:radial-gradient(circle at 78% 34%,rgba(31,93,176,.32),transparent 26rem),radial-gradient(circle at 17% 95%,rgba(50,18,90,.25),transparent 35rem),#050506; }
.ors-hero .ors-frame { display:grid; grid-template-columns:minmax(0,1fr) minmax(23rem,.76fr); gap:clamp(3rem,9vw,9rem); align-items:center; }
.ors-hero h1, .ors-section-head h2, .ors-what h2, .ors-boundaries h2, .ors-final h2 { margin:.9rem 0 0; color:#fff; font-weight:300; letter-spacing:-.065em; line-height:.91; }
.ors-hero h1 { max-width:10ch; font-size:clamp(3.35rem,7vw,7.15rem); }
.ors-lead { max-width:45rem; margin:1.65rem 0 0; color:var(--ors-muted); font-size:clamp(1rem,1.35vw,1.18rem); line-height:1.72; }
.ors-actions { display:flex; flex-wrap:wrap; gap:1.3rem; align-items:center; margin-top:2.1rem; }
.ors-button { display:inline-flex; padding:.88rem 1.15rem; border:1px solid rgba(253,218,37,.75); color:#211d10; background:var(--ors-yellow); font-size:.78rem; font-weight:700; text-decoration:none; }
.ors-link { color:inherit; font-size:.84rem; text-decoration:none; opacity:.72; transition:opacity .2s ease; }.ors-link:hover{opacity:1}
.ors-hero__visual { padding:1rem; border:1px solid rgba(255,255,255,.18); border-radius:1.7rem; background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.02)); box-shadow:0 2rem 5rem rgba(0,0,0,.4); }
.ors-map { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:25rem; padding:1rem; overflow:hidden; border-radius:1.05rem; background:linear-gradient(145deg,#061827,#04090f); }
.ors-map::before { position:absolute; inset:0; opacity:.24; background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px); background-size:20px 20px; content:""; }.ors-map span,.ors-map small{position:relative;z-index:1}.ors-map span{font-size:.64rem;letter-spacing:.17em}.ors-map small{color:var(--ors-muted);font-size:.65rem}.ors-map i{position:absolute;border-radius:50%;filter:blur(2px)}.ors-map__shoulder{top:21%;left:20%;width:60%;height:19%;background:radial-gradient(ellipse,rgba(255,76,35,.96),rgba(255,189,34,.72) 28%,rgba(42,206,169,.43) 55%,transparent 70%)}.ors-map__lumbar{top:43%;left:31%;width:38%;height:21%;background:radial-gradient(ellipse,rgba(255,185,30,.86),rgba(38,202,164,.52) 48%,transparent 72%)}.ors-map__pelvis{top:65%;left:22%;width:56%;height:17%;background:radial-gradient(ellipse,rgba(255,77,35,.93),rgba(255,179,27,.71) 30%,rgba(45,205,169,.43) 57%,transparent 73%)}
.ors-process,.ors-what,.ors-boundaries,.ors-final { padding:clamp(4.5rem,10vw,9rem) 0; }.ors-process{background:#080808}.ors-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.62fr);gap:1rem 5rem;align-items:end;margin-bottom:2.3rem}.ors-section-head h2{max-width:13ch;font-size:clamp(2.2rem,4.3vw,4.4rem)}.ors-section-head>p:last-child{margin:0;color:var(--ors-muted);line-height:1.65}.ors-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--ors-line);border-left:1px solid var(--ors-line)}.ors-steps article{min-height:17rem;padding:1.35rem;border-right:1px solid var(--ors-line);border-bottom:1px solid var(--ors-line);background:rgba(255,255,255,.018)}.ors-steps .is-current{background:linear-gradient(160deg,rgba(62,133,221,.2),rgba(255,255,255,.02))}.ors-steps span,.ors-deliverables span{color:var(--ors-blue);font-size:1.25rem;font-weight:300}.ors-steps h3{margin:3.1rem 0 .7rem;color:#fff;font-size:1.1rem;font-weight:400;letter-spacing:-.03em}.ors-steps p{margin:0;color:var(--ors-muted);font-size:.84rem;line-height:1.58}
.ors-what{background:linear-gradient(135deg,#0e061a,#050505)}.ors-what__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(25rem,1fr);gap:3rem 8rem}.ors-what h2,.ors-boundaries h2,.ors-final h2{font-size:clamp(2.3rem,4.8vw,4.8rem);max-width:10ch}.ors-deliverables{border-top:1px solid var(--ors-line)}.ors-deliverables article{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--ors-line)}.ors-deliverables h3{margin:0;color:#fff;font-size:1.1rem;font-weight:400}.ors-deliverables p{margin:.4rem 0 0;color:var(--ors-muted);font-size:.88rem;line-height:1.58}
.ors-boundaries{background:#070707}.ors-boundaries__head{max-width:45rem;margin-bottom:2.3rem}.ors-boundaries__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ors-line);border-left:1px solid var(--ors-line)}.ors-boundaries article{min-height:14rem;padding:1.5rem;border-right:1px solid var(--ors-line);border-bottom:1px solid var(--ors-line)}.ors-boundaries article>span{color:#de8272;font-size:.67rem;font-weight:600;letter-spacing:.14em}.ors-boundaries .is-yes>span{color:var(--ors-yellow)}.ors-boundaries h3{margin:2rem 0 .6rem;color:#fff;font-size:1.18rem;font-weight:400}.ors-boundaries article p{margin:0;color:var(--ors-muted);font-size:.88rem;line-height:1.58}
.ors-final{background:radial-gradient(circle at 74% 50%,rgba(42,101,192,.26),transparent 29rem),#070707}.ors-final__card{max-width:67rem;padding:clamp(2rem,5vw,4.2rem);border:1px solid var(--ors-line);background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.025))}.ors-final h2{max-width:15ch}.ors-final__card>p:not(.ors-eyebrow){max-width:42rem;margin:1.3rem 0 0;color:var(--ors-muted);line-height:1.68}.ors-final small{display:block;margin-top:1.3rem;color:rgba(255,255,255,.43);font-size:.72rem}
@media(max-width:800px){.ors-frame{width:min(100% - 2rem,82rem)}.ors-hero{min-height:auto}.ors-hero .ors-frame,.ors-section-head,.ors-what__grid{grid-template-columns:1fr}.ors-hero__visual{max-width:28rem}.ors-steps{grid-template-columns:1fr 1fr}.ors-steps article{min-height:12rem}.ors-steps h3{margin-top:1.8rem}.ors-boundaries__grid{grid-template-columns:1fr}.ors-boundaries article{min-height:0}}@media(max-width:480px){.ors-steps{grid-template-columns:1fr}.ors-actions{align-items:flex-start;flex-direction:column}}


/* ==========================================================================
   RECOVERY SESSIONS — FIXED HERO AND IMAGE ZOOM
   ========================================================================== */

.oniric-recovery-sessions-page .oniric-home-index-hero {
    position: relative;
    isolation: isolate;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    background-attachment: fixed;
}

.oniric-recovery-sessions-page .oniric-recovery-sessions__media {
    cursor: zoom-in;
    background: radial-gradient(circle at center, rgba(87, 153, 255, .12), rgba(255, 255, 255, .02));
}

.oniric-recovery-sessions__zoom {
    position: absolute;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1;
    padding: .55rem .8rem;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    background: rgba(0, 0, 0, .42);
    color: #fff;
    font-size: .75rem;
    backdrop-filter: blur(8px);
}

.oniric-recovery-sessions-modal {
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 1.25rem;
    background: #08090b;
    color: #f1f1ee;
}

.oniric-recovery-sessions-modal .modal-header {
    align-items: flex-start;
    border-bottom-color: rgba(255, 255, 255, .12);
}

.oniric-recovery-sessions-modal__eyebrow {
    margin: 0 0 .35rem;
    color: #69a7ff;
    font-size: .72rem;
    letter-spacing: .16em;
}

.oniric-recovery-sessions-modal__image {
    display: block;
    width: 100%;
    max-height: 72vh;
    object-fit: contain;
}

@media (max-width: 991.98px), (prefers-reduced-motion: reduce) {
    .oniric-recovery-sessions-page .oniric-home-index-hero {
        background-attachment: scroll;
    }
}
