/* A light architectural passage. Only the closing section is affected. */
.journey.journey--rings{--journey-full-height:660svh;--journey-sticky-height:max(100svh,650px);height:calc(var(--journey-sticky-height) + (var(--journey-full-height) - var(--journey-sticky-height))*var(--journey-scroll-scale,1))}
.no-motion .journey.journey--rings{height:165svh}
.journey--rings .travel-copy,.journey--rings .portal-signal{display:none}
.journey--rings .portal-frame,.journey--rings .portal-viewport{background:#efeee8}
.journey--rings .ring-canvas{inset:auto;right:auto;bottom:auto;transform-origin:center;contain:strict;will-change:transform;box-shadow:0 24px 65px -40px #15203570}
.journey--rings .ring-canvas[hidden]{display:none}
.journey--rings .threshold-ready .portal-frame{display:none}
.journey--rings .landing{color:#243c40;z-index:4;padding:0;display:block}
.journey--rings .contact-heading{position:absolute;top:8%;left:10%;right:10%;text-align:center;pointer-events:none}
.journey--rings .contact-heading p{font-size:11px;letter-spacing:.025em;color:#56675f;margin-bottom:14px}
.journey--rings .landing h2{font-size:clamp(36px,3.4vw,49px);line-height:1.03;letter-spacing:-.055em}
.journey--rings .landing h2 em{font-family:Georgia,serif;font-weight:400}
.contact-particle-stage{position:absolute;top:28%;height:47%;left:calc(50% - 230px);width:460px;touch-action:pan-y;cursor:grab;border-radius:50%;outline-offset:12px;display:grid;place-items:center}
.contact-particle-stage:active{cursor:grabbing}
.contact-particle-stage:focus{outline:none}
.contact-particle-stage:focus-visible{outline:1px dashed #6c887a;outline-offset:8px}
.contact-direction{position:absolute;top:55%;transform:translateY(-50%);width:56px;height:56px;border:1px solid #819b8a65;border-radius:50%;display:grid;place-items:center;color:#405950;background:transparent;transition:border-color .2s,background .2s}
.contact-direction:hover{border-color:#496b5e;background:#eff8f066}
.contact-direction svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.3}
.contact-direction--prev{left:max(8%,calc(50% - 330px))}
.contact-direction--next{right:max(8%,calc(50% - 330px))}
.contact-destination{position:absolute;top:86%;left:8%;right:8%;text-align:center}
.contact-destination>div>p{font-size:11px;letter-spacing:.035em;color:#354a48;margin:0 0 8px}
.contact-destination a,.contact-destination button{font-size:clamp(17px,2vw,26px);line-height:1.4;letter-spacing:-.03em;padding-bottom:8px;border-bottom:1px solid #789a8766;display:inline-flex;align-items:center;gap:25px}
.contact-destination svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.contact-destination a:hover,.contact-destination button:hover{color:#1b493d;border-color:#1b493d}
.contact-unlinked{font-size:clamp(17px,2vw,26px);line-height:1.4;letter-spacing:-.03em;display:inline-block;padding-bottom:9px}
.contact-count{display:block;font-size:10px;color:#52665e;letter-spacing:.12em;margin-top:12px;font-variant-numeric:tabular-nums}
.contact-destination [hidden]{display:none!important}
.journey--rings .journey-status{z-index:6}
.journey--rings .landing[aria-hidden="false"]~.journey-status .progress-line{opacity:0}
.journey--rings .landing:not([aria-hidden="false"]) .contact-particle-stage{pointer-events:none}
@media(max-width:650px){
 .journey.journey--rings{--journey-full-height:620svh;--journey-sticky-height:max(100svh,640px)}
 .no-motion .journey.journey--rings{height:165svh}
 .journey--rings .contact-heading{top:12%;left:6%;right:6%}
 .journey--rings .landing h2{font-size:clamp(36px,10vw,45px)}
 .journey--rings .contact-heading p{font-size:10px;margin-bottom:18px}
 .contact-particle-stage{width:74%;left:13%;top:36%;height:35%}
 .contact-direction{width:42px;height:42px;top:55%}
 .contact-direction--prev{left:5%}.contact-direction--next{right:5%}
 .contact-destination{top:76%;left:5%;right:5%}
 .contact-destination a,.contact-destination button{font-size:18px;gap:12px}
 .contact-count{margin-top:20px}
}
@media(max-height:650px) and (min-width:651px){.journey--rings .contact-heading{top:8%}.journey--rings .landing h2{font-size:43px}.journey--rings .contact-heading p{margin-bottom:10px}.contact-destination{top:84%}}
/* Contact remains usable if WebGL cannot initialize or its context is lost. */
.journey--rings .landing{background:#eeeee7}
.journey--rings .threshold-ready .landing{background:transparent}
.contact-fallback{width:min(100%,40svh);aspect-ratio:1;border:1px solid #a3c3b4;border-radius:18px;display:grid;place-items:center;box-shadow:inset 0 0 25px #cee5d980,0 0 18px #cee5d970}
.contact-fallback>img,.contact-fallback>svg{display:none;width:64%;height:75%;object-fit:contain}
.contact-fallback>svg{fill:none;stroke:#41645b;stroke-width:1.4}
.contact-fallback>.fallback-social{fill:#41645b;stroke:none}
[data-selection="emblem"] .fallback-emblem,[data-selection="email"] .fallback-email,[data-selection="x"] .fallback-x{display:block}
.threshold-ready .contact-fallback{display:none}
