/* Loaded only by Find My Ritual. Decorative movement never determines the result. */
.ritual-finder [hidden]{display:none!important}
.ritual-finder{padding-bottom:5rem}
.ritual-finder__hero{min-height:390px}
.ritual-finder__hero .ritual-finder__intro{padding-block:3.5rem;gap:1.5rem 3rem}
.ritual-finder__intro h1{font-size:clamp(3.8rem,6.8vw,6rem);line-height:.91}
.ritual-finder__intro .eyebrow{grid-column:1;grid-row:auto;color:#d6bb8d;font-size:.69rem}
.ritual-finder__intro>p:not(.eyebrow){font-size:.96rem}
.ritual-finder__intro .finder-progress{margin-top:1rem}
.finder-shell{margin-top:2rem;scroll-margin-top:7rem}
.finder-form{padding:clamp(1.3rem,3.5vw,3rem);border-color:#ad8c5745;box-shadow:0 14px 36px #34251c0a}
.finder-bearing{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1.4rem;border-bottom:1px solid #b79a5d45}
.finder-bearing>div{display:grid;gap:.4rem;flex:1;min-width:0}
.finder-bearing small{color:#765d38;letter-spacing:.13em;text-transform:uppercase;font-size:.6rem;line-height:1.6}
.finder-bearing [data-finder-bearing]{color:#594439;font-family:var(--display);font-size:1.25rem;line-height:1.25}
.finder-bearing__count{align-self:flex-start;color:#806744;font-size:.65rem;letter-spacing:.12em;white-space:nowrap}
.finder-compass{position:relative;display:block;flex:0 0 58px;height:58px;border:1px solid #947445;border-radius:50%;box-shadow:inset 0 0 0 3px #eadbc1,inset 0 0 0 4px #b99e7066;background:radial-gradient(circle,#efe2cc,#e0ceac)}
.finder-compass:before,.finder-compass:after{content:"";position:absolute;inset:9px 50%;width:1px;background:#92734866}
.finder-compass:after{transform:rotate(90deg)}
.finder-compass i{position:absolute;inset:10px 25px;z-index:1;display:block;background:linear-gradient(#701c2a 50%,#96784e 50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transform:rotate(-24deg);transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.finder-step legend{font-size:clamp(2rem,3.3vw,2.9rem);line-height:1.06;scroll-margin-top:7rem}
.finder-step legend small{font-size:.65rem;margin-bottom:.85rem}
.finder-options{gap:.75rem;margin-top:1.5rem}
.finder-options label>span{min-height:104px;padding:1rem 1.2rem;transition:background .2s,border-color .2s,box-shadow .2s}
.finder-options b{font-size:1.35rem;line-height:1.2}
.finder-options small{color:#65544a;font-size:.79rem;line-height:1.5}
.finder-options input:focus-visible+span{outline:2px solid #701c2a;outline-offset:3px}
.finder-options input:checked+span{background:#eee1d5;box-shadow:inset 3px 0 #701c2a,inset 0 0 28px #b79a5d0f}
.finder-result{grid-template-columns:minmax(240px,.7fr) 1.3fr;border:1px solid #a7875055;box-shadow:0 20px 50px #34251c12;animation:finder-unfold .5s ease both;scroll-margin-top:7rem}
.finder-result__visual{min-height:480px}
.finder-result__body{background:#f2e9db;color:#30241e;padding:clamp(1.6rem,3.5vw,3.2rem)}
.finder-result__eyebrow{color:#70532f;font-size:.64rem}
.finder-result h2{font-size:clamp(2.6rem,4.1vw,4rem);line-height:.98;letter-spacing:-.025em}
.finder-result h2 em{color:#701c2a}
.finder-result p{color:#635348;font-size:.91rem;line-height:1.75}
.finder-result__reason{background:none;border-block:1px solid #a88b5840;gap:1rem;margin:1.6rem 0}
.finder-result__reason div{background:none;padding:1rem 0}
.finder-result__reason small{color:#785c34;line-height:1.5;font-size:.63rem}
.finder-result__reason strong{color:#30241e;font-size:1.35rem}
.finder-result__actions .button--light{background:#701c2a;border-color:#701c2a;color:#fff}
.finder-result__actions .button--outline{color:#49382b;border-color:#a18a66}
.finder-result__restart{color:#70532f;min-height:40px;font-size:.78rem;text-underline-offset:4px}
.finder-result h2:focus{outline:none}.finder-result a:focus-visible,.finder-result button:focus-visible{outline:2px solid #701c2a;outline-offset:4px}
@keyframes finder-unfold{from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:none}}
.finder-question-hint{max-width:660px;color:#67564b;font-size:.91rem;line-height:1.7;margin:1rem 0 0}
.finder-step legend:focus-visible{outline:2px solid #967247;outline-offset:7px}
.finder-writing{margin-top:1.5rem}.finder-writing>label{display:block;color:#513b31;font-size:.81rem;font-weight:600;margin-bottom:.6rem}
.finder-writing textarea,.finder-transfer-fallback textarea{box-sizing:border-box;display:block;resize:vertical;min-height:160px;width:100%;border:1px solid #a18b6d;background:#fffaf1;color:#30241e;padding:1rem;font:inherit;font-size:1rem;line-height:1.75;border-radius:0;transition:border-color .2s,box-shadow .2s}
.finder-writing textarea:focus-visible,.finder-transfer-fallback textarea:focus-visible{outline:2px solid #701c2a;outline-offset:3px;box-shadow:0 0 0 5px #701c2a09}
.finder-writing textarea::placeholder{color:#8a7869}.finder-writing__meta{display:flex;justify-content:space-between;gap:1rem;margin-top:.7rem;font-size:.72rem;color:#776552;line-height:1.5}.finder-writing__meta>span:first-child{max-width:530px}.finder-writing__meta>span:last-child{white-space:nowrap}
.finder-privacy{max-width:710px;margin:1.8rem 0 0;padding-top:1.2rem;border-top:1px solid #a88b5830;color:#746250;font-size:.73rem;line-height:1.7}
.finder-error{color:#701c2a;font-size:.9rem;margin:1.3rem 0 0}
.finder-result{align-items:stretch}.finder-envelope{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;min-height:460px;padding:3rem 2rem;overflow:hidden;text-align:center;background:linear-gradient(150deg,#f3e9d7,#e4d2b5);color:#35251c}
.finder-envelope:before{content:"";position:absolute;inset:16px;border:1px solid #a48b614d;pointer-events:none}.finder-envelope h2{position:relative;font-size:clamp(2.7rem,4vw,3.8rem);max-width:400px;line-height:1.03;margin:.4rem 0}.finder-envelope p{position:relative;color:#68533e;font-size:.83rem;max-width:350px}.finder-envelope .finder-result__eyebrow{font-size:.65rem}
.finder-seal{position:relative;width:112px;min-height:112px;margin:1.1rem 0;border:7px double #a24959;border-radius:47% 53% 49% 51%;background:radial-gradient(circle at 35% 30%,#9d384b,#701c2a 66%,#4b1120);box-shadow:0 5px 1px #45131c,0 12px 24px #361a2038,inset 0 0 0 2px #ba65705c;color:#fff1d7;font-family:var(--display);font-size:1.35rem;line-height:1;cursor:pointer;transition:transform .25s,box-shadow .25s;padding:1rem}
.finder-seal:hover{transform:translateY(-3px) rotate(-3deg);box-shadow:0 6px 1px #45131c,0 18px 30px #361a2045,inset 0 0 0 2px #ba65705c}.finder-seal:active{transform:translateY(1px)}
.finder-letter{animation:finder-letter-open .65s cubic-bezier(.16,.7,.2,1) both;transform-origin:top center}.finder-letter__label{display:block;color:#80633d;font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.11em;margin-top:1.5rem}
.finder-letter__words{margin:.65rem 0 1rem;padding:.8rem 0 .8rem 1rem;border-left:2px solid #ac8a57;color:#4a3026;font-family:var(--display);font-size:1.5rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.finder-letter .finder-letter__note,.finder-letter .finder-letter__privacy{font-size:.75rem;line-height:1.65;color:#76634f}.finder-result__reason strong{font-size:1.18rem;line-height:1.35}.finder-result__actions .button{white-space:normal;min-height:46px}
.finder-transfer-fallback{margin-top:1.2rem;padding:1rem;border:1px solid #ad8d60;background:#f8efdf}.finder-transfer-fallback p{font-size:.83rem}.finder-transfer-fallback .text-link{display:block;margin-top:.85rem}.finder-transfer-fallback textarea{font-size:.9rem;min-height:130px}
.finder-edit{margin-top:1.5rem;padding-block:1rem;border-block:1px solid #a88b5840;color:#60462f}.finder-edit summary{cursor:pointer;min-height:28px;font-size:.83rem}.finder-edit__list{display:grid;gap:.45rem;margin-top:1rem}.finder-edit .text-link{text-align:left;min-height:40px;font-size:.79rem;padding:.4rem 0}.finder-edit p{font-size:.75rem;margin-bottom:0}.finder-edit summary:focus-visible{outline:2px solid #701c2a;outline-offset:4px}
@keyframes finder-letter-open{from{opacity:.35;transform:perspective(1000px) rotateX(-5deg) translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:600px){.finder-writing__meta{display:block}.finder-writing__meta>span{display:block;margin-bottom:.35rem}.finder-envelope{padding:2.5rem 1.5rem;min-height:440px}.finder-result__visual{height:180px!important}.finder-letter__words{font-size:1.32rem}.finder-result__reason{grid-template-columns:1fr}.finder-question-hint{font-size:.86rem}.finder-privacy{font-size:.72rem}.finder-result__body{padding:1.3rem}.finder-nav{align-items:stretch}.finder-nav .button{min-width:0}}
@media(prefers-reduced-motion:reduce){.finder-letter{animation:none}.finder-seal,.finder-writing textarea{transition:none}.finder-seal:hover{transform:none}}
@media(max-width:800px){.ritual-finder__hero{min-height:0;background-position:67% center}.ritual-finder__hero .ritual-finder__intro{display:block;padding-block:2.5rem}.ritual-finder__intro h1{font-size:clamp(3.4rem,13vw,4.7rem);margin:1rem 0 1.2rem}.ritual-finder__intro .eyebrow{font-size:.63rem}.ritual-finder__intro>p:not(.eyebrow){max-width:420px;font-size:.9rem;line-height:1.65}.ritual-finder__intro .finder-progress{margin-top:1.75rem}.finder-bearing{gap:.8rem;margin-bottom:1.5rem}.finder-bearing__count{font-size:.58rem}.finder-bearing [data-finder-bearing]{font-size:1.12rem}.finder-compass{flex-basis:48px;height:48px}.finder-compass i{inset:8px 21px}.finder-options label>span{min-height:88px}.finder-result{grid-template-columns:1fr}.finder-result__visual{min-height:0;height:240px;background-position:center 47%}.finder-result__body{padding:1.6rem}.finder-result h2{font-size:2.65rem}.finder-result__reason{grid-template-columns:1fr 1fr}.finder-result__actions{display:grid}.finder-shell{margin-top:1.25rem}.ritual-finder{padding-bottom:3rem}}
@media(prefers-reduced-motion:reduce){.finder-compass i,.finder-options label>span,.finder-progress span{transition:none}.finder-step.is-active,.finder-result{animation:none}.ritual-finder *{scroll-behavior:auto!important}}
