/* A first-visit threshold. All movement is confined to this disposable overlay. */
.story-entrance{position:fixed;inset:0;z-index:10000;isolation:isolate;overflow:hidden;background:#6f9fae;color:#fff;opacity:1;transition:opacity 1s ease;--door-x:70%;--door-y:48%;font-family:inherit}
.story-entrance.is-ready{opacity:1}
.story-entrance__scene,.story-entrance__still,.story-entrance__wind{position:absolute;inset:0;width:100%;height:100%}
.story-entrance__still{object-fit:cover;object-position:70% 50%}
.story-entrance__wind{opacity:0;transition:opacity 1s ease}
.story-entrance.has-wind .story-entrance__wind{opacity:1}
.story-entrance__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(15,46,54,.25),transparent 60%),linear-gradient(0deg,rgba(22,35,25,.2),transparent 30%)}
.story-entrance__copy{position:absolute;left:8%;top:34%;width:43%;max-width:650px;text-shadow:0 2px 30px rgba(29,52,58,.15);pointer-events:none}
.story-entrance__eyebrow{font-family:Arial,sans-serif;font-size:10px;font-weight:400;letter-spacing:.28em;margin:0 0 25px;color:rgba(255,255,255,.85)}
.story-entrance h2{font:400 clamp(40px,5.1vw,82px)/1.08 var(--serif,Georgia,serif);letter-spacing:-.035em;margin:0;text-wrap:balance;color:#fff}
.story-entrance h2 em{font-weight:400}
.story-entrance__door{position:absolute;padding:0;border:0;background:transparent;appearance:none;clip-path:polygon(0 9%,100% 0,100% 100%,0 100%);color:#fff;cursor:pointer;outline:0;-webkit-tap-highlight-color:transparent}
.story-entrance__door:before{content:"";position:absolute;inset:3% 3% 2%;opacity:0;background:radial-gradient(ellipse,rgba(255,250,224,.65),transparent 75%);transition:opacity .7s;box-shadow:inset 0 0 36px rgba(255,255,230,.8)}
.story-entrance__door:hover:before,.story-entrance__door:focus-visible:before{opacity:1}
.story-entrance__door:focus-visible:before{opacity:.15}
.story-entrance__invitation{position:absolute;left:var(--door-x);top:var(--label-y);transform:translateX(-50%);white-space:nowrap;text-align:center;font:400 10px/1.6 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;pointer-events:none;text-shadow:0 1px 12px #38402c;transition:opacity .4s}
.story-entrance__invitation:after{content:"";display:block;width:25px;height:1px;margin:12px auto 0;background:rgba(255,255,255,.7);transform-origin:left;animation:entrance-invite 3s ease-in-out infinite}
.story-entrance__cursor{position:absolute;top:0;left:0;width:8px;height:8px;margin:-4px;border-radius:50%;background:#fff9df;box-shadow:0 0 13px 5px rgba(255,247,211,.6),0 0 38px 14px rgba(255,245,208,.2);pointer-events:none;opacity:0;will-change:transform;transition:opacity .25s,width .3s,height .3s,margin .3s}
.story-entrance__cursor.is-over-door{width:14px;height:14px;margin:-7px;box-shadow:0 0 20px 8px rgba(255,247,211,.75),0 0 55px 22px rgba(255,245,208,.28)}
.story-entrance__bloom{position:absolute;left:var(--door-x);top:var(--door-y);width:4vmax;height:4vmax;transform:translate(-50%,-50%) scale(0);border-radius:50%;background:#fffdf6;box-shadow:0 0 50px 30px #fffdf6;pointer-events:none;opacity:0}
.story-entrance.is-entering .story-entrance__bloom{animation:entrance-bloom 1.3s cubic-bezier(.45,.05,.2,1) forwards}
.story-entrance.is-entering .story-entrance__copy,.story-entrance.is-entering .story-entrance__invitation,.story-entrance.is-entering .story-entrance__cursor{opacity:0;transition:opacity .35s}
.story-entrance.is-leaving{opacity:0;pointer-events:none;transition:opacity .85s ease}
html.story-entrance-open,html.story-entrance-open body{overflow:hidden!important;overscroll-behavior:none}
@media(hover:hover) and (pointer:fine){.story-entrance,.story-entrance__door{cursor:none}.story-entrance.is-pointer-visible .story-entrance__cursor{opacity:1}.story-entrance.is-entering .story-entrance__cursor{opacity:0}}
.story-entrance__door:focus-visible{outline:0}
@media(max-width:700px){.story-entrance__still{object-position:80% 50%}.story-entrance__copy{left:7%;top:9%;width:86%;max-width:470px}.story-entrance h2{font-size:clamp(40px,10.5vw,64px);max-width:410px}.story-entrance__eyebrow{font-size:9px;margin-bottom:18px}.story-entrance__shade{background:linear-gradient(180deg,rgba(20,55,68,.32),transparent 45%,rgba(20,35,22,.16))}.story-entrance__invitation{font-size:9px}}
@media(prefers-reduced-motion:reduce){.story-entrance__wind{display:none}.story-entrance__invitation:after{animation:none}.story-entrance.is-entering .story-entrance__bloom{animation:entrance-bloom .15s linear forwards}.story-entrance.is-leaving{transition-duration:.2s}}
@keyframes entrance-invite{0%,100%{transform:scaleX(.65);opacity:.45}50%{transform:scaleX(1);opacity:1}}
@keyframes entrance-bloom{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}20%{opacity:.85}100%{opacity:1;transform:translate(-50%,-50%) scale(65)}}
