:root{--ink:#f3eddf;--muted:#b7b1bc;--gold:#d7b67d;--night:#181823;--panel:#22222f;--line:#41404b;--purple:#b4a1c9;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--night);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button:disabled{cursor:default}button{border-radius:0}h1,h2,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(38px,4vw,64px);line-height:1.07;letter-spacing:-1.8px;margin-bottom:24px}h2{line-height:1.2}p{line-height:1.65}.topbar{height:94px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#181823;position:relative;z-index:2}.brand{display:flex;gap:12px;align-items:center;background:none;border:none;padding:0;text-align:left;font-family:Georgia,serif;letter-spacing:2.2px;font-size:15px}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:3px;margin-top:6px}.tools{display:flex;align-items:center;gap:12px}.tools button{background:transparent;border:1px solid var(--line);padding:10px 12px;min-height:44px;font-size:12px}.edition{font-size:9px;letter-spacing:1.7px;color:var(--muted);margin-right:12px}.welcome{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 150px)}.welcome-art{min-height:760px;background:linear-gradient(0deg,#18182399,transparent 50%),linear-gradient(130deg,#43354a,#282c35 65%,#9b705b);background-size:cover;background-position:center;position:relative}.art-caption{position:absolute;bottom:32px;left:40px;letter-spacing:2px;font-size:9px}.welcome-copy{padding:54px clamp(28px,5vw,90px) 42px;max-width:820px}.chapter-mark{color:var(--gold);font-size:32px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--gold);line-height:1.5;margin-bottom:20px}.intro{font-family:Georgia,serif;font-size:21px;line-height:1.55;color:#ddd2e5}.welcome-note{font-size:14px;line-height:1.8;color:var(--muted);max-width:440px;margin-bottom:33px}.stay-label{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:1.3px;margin-bottom:12px}.stay-label span:last-child{color:var(--muted);letter-spacing:0}.durations{display:grid;gap:9px}.durations button{display:flex;align-items:center;gap:20px;border:1px solid #64606b;background:transparent;padding:15px 19px;text-align:left;transition:background .2s,border .2s}.durations button:hover{background:#312b3c;border-color:var(--gold)}.durations strong{font:30px Georgia,serif;min-width:65px}.durations strong small{font:9px Arial,sans-serif;letter-spacing:1px;margin-left:7px;color:var(--gold)}.durations button>span{font-size:13px}.durations b{margin-left:auto;color:var(--gold);font-size:20px;font-weight:400}.fine{color:var(--muted);font-size:11px;line-height:1.8;margin-top:19px}.content-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:20px}.character-layout{max-width:1240px;margin:58px auto;display:grid;grid-template-columns:.88fr 1.12fr;padding:0 30px;gap:65px;align-items:start}.portrait{min-height:720px;background:linear-gradient(160deg,#574459,#2d3036);position:sticky;top:30px;border:1px solid #6b5d69;box-shadow:0 20px 60px #08081080;background-size:cover;background-position:center}.portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111019,transparent 55%);pointer-events:none}.portrait-number{position:absolute;z-index:1;top:25px;left:25px;border:1px solid #d7b67d66;color:var(--gold);padding:8px 12px;font-size:10px;letter-spacing:2px}.portrait-caption{position:absolute;z-index:1;bottom:35px;left:30px;right:30px;display:flex;flex-direction:column;gap:12px}.portrait-caption>span{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--gold)}.portrait-caption strong{font:38px Georgia,serif;font-weight:400}.portrait-caption small{font-size:12px;color:#d9cedc}.character-copy{padding-top:8px}.character-copy h1{font-size:48px}.character-copy .intro{font:15px Arial,sans-serif;color:var(--muted)}.bio h2{font:10px Arial,sans-serif;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px}.bio p{font-size:14px;line-height:1.8;margin-bottom:23px}.objective{border-left:2px solid var(--gold);padding:2px 0 2px 20px;margin:28px 0}.objective strong{font-size:11px;color:var(--gold)}.objective p{font:italic 17px/1.6 Georgia,serif;margin:8px 0}.primary{display:inline-block;background:var(--gold);border:1px solid var(--gold);color:#211c23;padding:16px 23px;font-size:12px;font-weight:600;text-decoration:none;min-height:48px}.primary:hover{background:#e8c998}.secondary{background:transparent;border:1px solid var(--gold);color:var(--gold);padding:14px 20px;font-size:12px;min-height:46px}.text-button{background:transparent;border:0;color:var(--muted);font-size:12px;padding:16px 0;text-decoration:underline;text-underline-offset:4px}.story-layout{display:grid;grid-template-columns:minmax(290px,35%) 1fr;min-height:calc(100vh - 94px)}.story-atmosphere{position:sticky;top:0;height:100vh;max-height:1100px;background:linear-gradient(150deg,#3d3348,#242b30);background-position:center;background-size:cover;display:flex;flex-direction:column;justify-content:space-between;padding:44px 38px;overflow:hidden}.story-atmosphere:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#151421ee,transparent 55%,#151421ee);pointer-events:none}.story-identity,.atmosphere-caption{position:relative;z-index:1}.story-identity h2{font-size:30px;max-width:280px}.story-identity>span:last-child{font-size:11px;color:var(--muted)}.atmosphere-caption>span{letter-spacing:2px;font-size:9px;color:var(--gold)}.atmosphere-caption p{font:italic 16px/1.6 Georgia,serif;margin:12px 0 0;max-width:250px}.ellis-inset{position:absolute;inset:0;background-size:cover;background-position:center}.story-page{padding:54px clamp(28px,6vw,110px) 70px;max-width:1000px;width:100%}.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:1.3px;margin-bottom:12px}.progress{height:2px;background:#383442;margin-bottom:44px}.progress span{display:block;background:var(--gold);height:2px}.story-page h1{font-size:40px;line-height:1.2;letter-spacing:-.9px;margin-bottom:28px}.story-page>.eyebrow{font-size:9px}.prose{font:18px/1.85 Georgia,serif;color:#e3dce2}.prose p{line-height:1.85;margin-bottom:23px}.inspect{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:30px 0}.inspect summary{font-size:11px;padding:16px 0;list-style:none;cursor:pointer;color:var(--gold);display:flex;justify-content:space-between}.inspect summary::-webkit-details-marker{display:none}.inspect p{font:15px/1.8 Georgia,serif;color:var(--muted)}.choices{margin-top:32px}.choices>.eyebrow{font-size:9px;margin-bottom:14px}.choice{width:100%;display:flex;align-items:center;text-align:left;gap:14px;background:transparent;border:1px solid #5c5664;padding:17px 18px;margin-bottom:10px;font:15px/1.5 Georgia,serif;min-height:65px;transition:background .15s}.choice>span:nth-child(2){flex:1}.choice-index{font:10px Arial,sans-serif;color:var(--gold)}.choice>span:last-child{color:var(--gold)}.choice:hover:not(:disabled){background:#302b39;border-color:var(--gold)}.choice:disabled{color:#b1a7b7;border-color:#3e3846}.choice.selected{border-color:var(--gold);background:#342e3a;color:var(--ink)}.response{margin-top:28px;border-left:2px solid var(--gold);padding:9px 0 9px 23px;outline:none}.response>p:not(.eyebrow){font:17px/1.8 Georgia,serif}.response .primary{margin-top:5px}.ending-layout{display:grid;grid-template-columns:35% 65%;min-height:900px}.ending-art{padding:60px 38px;background:linear-gradient(130deg,#5f4c62,#242731);background-size:cover;background-position:center;position:relative}.ending-art h2{font-size:36px;position:sticky;top:80px}.ending-copy{max-width:900px;padding:60px clamp(28px,6vw,100px)}.ending-copy h1{font-size:43px}.checkout-note{background:#eee4d4;color:#322632;box-shadow:0 5px 15px #0002;padding:30px;margin:35px 0;transform:rotate(-.6deg)}.checkout-note .eyebrow{color:#725638;font-size:9px}.checkout-note p:not(.eyebrow){font:italic 20px/1.75 Georgia,serif;margin:0}.book-invitation h2{font-size:28px}.book-invitation p{font-size:14px;color:var(--muted)}.end-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:32px}footer{padding:24px 5vw;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}footer a{text-decoration:none;color:var(--gold)}.loading,.error{padding:100px 10vw}dialog{color:var(--ink);background:var(--panel);border:1px solid var(--gold);padding:36px;max-width:440px;width:calc(100% - 32px)}dialog::backdrop{background:#080711c9}dialog h2{font-size:30px}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap}.dialog-actions>button:not(.primary){background:none;border:1px solid var(--line);padding:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:12px;top:-100px;z-index:10;background:var(--gold);color:#181823;padding:14px}.skip:focus{top:10px}.large-text .prose{font-size:22px}.large-text .bio p{font-size:18px}.large-text .choice{font-size:18px}.large-text .response>p:not(.eyebrow){font-size:21px}@media(min-width:1500px){.welcome-copy{padding-top:80px}.welcome h1{font-size:76px}}@media(max-width:900px){.topbar{padding:0 24px;height:80px}.edition{display:none}.welcome-art{min-height:740px}.welcome-copy{padding:40px 30px}.welcome h1{font-size:49px}.character-layout{gap:30px;padding:0 24px;margin-top:35px}.portrait{min-height:680px}.portrait-caption strong{font-size:30px}.story-layout{grid-template-columns:29% 71%}.story-atmosphere{padding:35px 22px}.story-identity h2{font-size:23px}.story-page{padding:38px 35px}.ending-layout{grid-template-columns:29% 71%}.ending-art{padding:38px 22px}.ending-art h2{font-size:26px}}@media(max-width:650px){.topbar{height:74px;padding:0 18px}.brand{font-size:11px;letter-spacing:1.3px;gap:7px}.brand img{width:26px;height:26px}.brand small{font-size:7px;letter-spacing:2px}.tools{gap:6px}.tools button{padding:8px;font-size:10px}.welcome{display:flex;flex-direction:column}.welcome-art{min-height:300px;height:42vh;max-height:420px;background-position:center 48%}.art-caption{left:22px;bottom:22px;font-size:8px}.welcome-copy{padding:35px 24px}.chapter-mark{display:none}.welcome h1{font-size:58px;margin-bottom:24px}.welcome .eyebrow{font-size:9px}.intro{font-size:20px}.welcome-note{font-size:14px}.durations button{padding:16px 18px}.fine{font-size:11px}.character-layout{display:flex;flex-direction:column;margin:24px auto;gap:30px;padding:0 22px}.portrait{position:relative;top:0;min-height:0;height:430px;width:100%;background-position:center 30%}.portrait-caption strong{font-size:36px}.character-copy h1{font-size:42px}.bio p{font-size:15px}.character-copy .primary{width:100%;text-align:center}.story-layout{display:block}.story-atmosphere{position:relative;height:210px;max-height:210px;padding:25px 24px;background-position:center 45%}.story-identity h2{font-size:24px;max-width:240px}.story-identity .eyebrow{margin-bottom:10px}.story-identity>span:last-child{font-size:10px}.atmosphere-caption{display:none}.story-page{padding:30px 24px 45px}.progress{margin-bottom:28px}.story-page h1{font-size:34px}.prose{font-size:18px}.choice{font-size:16px;padding:16px 13px}.response{padding-left:18px}.response .primary{width:100%;text-align:center}.ending-layout{display:block}.ending-art{height:230px;padding:35px 24px;background-position:center 45%}.ending-art h2{font-size:29px;position:static}.ending-copy{padding:35px 24px}.ending-copy h1{font-size:37px}.checkout-note{padding:24px}.checkout-note p:not(.eyebrow){font-size:19px}.end-actions .primary{width:100%;text-align:center}.book-invitation .primary{width:100%;text-align:center}footer{padding:22px;line-height:1.6;flex-direction:column;gap:6px}.large-text .prose{font-size:21px}.stay-label{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
:root{--art:url('assets/inn-ellis.png')}.welcome-art{background-image:linear-gradient(0deg,#18182366,transparent 65%),var(--art);background-position:24% center}.portrait{background-image:url('assets/guest-portraits.png');background-size:300% 100%;min-height:0;aspect-ratio:2/3}.portrait-mara{background-position:0 center}.portrait-owen{background-position:50% center}.portrait-celia{background-position:100% center}.story-atmosphere{background-image:var(--art);background-position:24% center}.ellis-inset{background-image:linear-gradient(180deg,#171421bb,transparent 45%,#171421aa),var(--art);background-position:78% center;opacity:.82}.story-atmosphere:before{z-index:1}.story-identity,.atmosphere-caption{z-index:2}.place-room .ellis-inset{opacity:.42}.place-garden .ellis-inset{background-position:18% center;opacity:.75}.ending-art{background-image:linear-gradient(0deg,#18182355,#18182399),var(--art);background-position:22% center}.review-page{max-width:1000px;margin:auto;padding:60px 26px}.review-page h1{font-size:48px}.review-page>p{color:var(--muted)}.review-grid{display:grid;gap:20px;margin:36px 0}.review-row{padding:28px;border:1px solid var(--line);background:var(--panel)}.review-row h2{font-size:27px;margin-bottom:9px}.review-row p{color:var(--muted);font-size:13px}.review-links{display:flex;gap:12px;flex-wrap:wrap}.review-links a{color:var(--gold);font-size:12px;padding:13px 17px;border:1px solid #6a596a;text-decoration:none}.review-footer{margin-top:35px;font-size:13px}.review-return{position:absolute;top:100px;right:12px;z-index:2;background:#181823e6;padding:7px 12px;font-size:10px;color:var(--gold);text-decoration:none;border:1px solid var(--line)}@media(max-width:650px){.portrait{height:430px;aspect-ratio:auto;background-size:300% auto;background-position-y:24%}.welcome-art{background-position:25% 45%}.ellis-inset{background-position:75% 27%;opacity:.55}.review-return{top:80px}.review-page h1{font-size:38px}.review-row{padding:23px}}

#main:focus{outline:none}

.portrait-number{background:#181823dd}
