@font-face{font-family:Instrument;src:url("display.woff2") format("woff2");font-display:swap}
@font-face{font-family:Instrument;src:url("display-italic.woff2") format("woff2");font-style:italic;font-display:swap}
@font-face{font-family:Instrument Sans;src:url("body.woff2") format("woff2");font-weight:400 700;font-display:swap}
:root{--serif:Instrument,Georgia,serif;--sans:"Instrument Sans",system-ui,sans-serif;--ink:#32251f;--muted:#634e41;--paper:#fff8ec;--edge:#b9956e;--gold:#f5cf9d;--plum:#241b25;--mast:66px}
*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--mast) + 24px)}
body{margin:0;background:#f1e3cb;color:var(--ink);font:400 17px/1.67 var(--sans)}
h1,h2,h3,h4,p,figure{margin:0}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.025em}
a{color:inherit;text-underline-offset:.23em}
img{display:block;width:100%;height:auto}
button,summary{cursor:pointer}
:focus-visible{outline:2px solid #8d502b;outline-offset:4px}
:is(.mast,.hero,.ending-card,.bridge-workshop,.contents) :focus-visible{outline-color:#ffe2b9}
.skip{position:fixed;top:8px;left:12px;z-index:9;padding:10px 14px;background:var(--paper);transform:translateY(-150%)}
.skip:focus{transform:none}
.mast{position:sticky;top:0;z-index:6;color:#fff1e4;background:#251d25;border-bottom:1px solid #8e715e}
.mast-wrap{width:min(1312px,calc(100% - 72px));margin:auto;min-height:var(--mast);display:flex;justify-content:space-between;align-items:center;gap:14px}
.brand{font:400 38px/.9 var(--serif);letter-spacing:-.04em;white-space:nowrap;text-decoration:none}
.brand em{color:var(--gold)}
.brand small{margin-left:3px;font:650 10px/1 var(--sans);letter-spacing:0}
.mast-actions{display:flex;align-items:center;gap:24px}
.mast-actions a,.reading-link,.hero-crumb{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.home-link{padding:6px 13px;border:1px solid #a78363;border-radius:2px;background:#413038;color:#ffead2;text-decoration:none;font-size:14px;font-weight:700}
.mast-free{font-size:14px;font-weight:650}
.progress{position:absolute;bottom:-1px;left:0;right:0;height:2px;pointer-events:none}
.progress span{display:block;height:100%;background:#eebc7f;transform:scaleX(0);transform-origin:left}
.hero{background:radial-gradient(ellipse at 87% 66%,#734b3c59,transparent 47%),linear-gradient(120deg,#231a25fa,#352533ec),url("cloth.webp") center/cover;color:#fff1e1;border-bottom:1px solid #b48b63}
.hero-grid{width:min(1312px,calc(100% - 72px));margin:auto;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:clamp(28px,4vw,72px);padding:clamp(48px,6vw,93px) 0}
.eyebrow{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em}
.hero-crumb{color:#edc69e}
.hero h1{font-size:clamp(51px,5.2vw,93px);line-height:.95;margin:10px 0 20px}
.hero h1 em{display:block;color:#f3cb9d;font-size:.76em;line-height:1.03;margin-top:.12em}
.dek{font-size:clamp(16px,1.35vw,20px);max-width:49ch;color:#fff2e0;line-height:1.5}
.meta{display:flex;flex-wrap:wrap;gap:4px 15px;margin:19px 0 12px;color:#e5cdb8;font-size:13px;font-weight:650}
.meta span+span:before{content:"·";margin-inline-end:12px}
.reading-link{font-size:15px;font-weight:700}
.hero-photo{position:relative;padding:8px;border:1px solid #b58b66;background:#48312c;box-shadow:0 23px 42px #140d18ad,inset 0 0 0 3px #19131d}
.hero-photo img{aspect-ratio:4/3;object-fit:cover;object-position:center 51%;border:1px solid #eac19480}
.reading-room{background:linear-gradient(180deg,#f1dfc4b3,#fbf2e1 450px),url("paper.webp") center top/auto 850px}
.reading-layout{width:min(1090px,calc(100% - 76px));margin:auto;display:grid;grid-template-columns:248px minmax(0,1fr);align-items:start;gap:clamp(34px,6vw,95px);padding:49px 0 68px}
.rail{position:sticky;top:calc(var(--mast) + 23px);max-height:calc(100vh - var(--mast) - 32px);overflow:auto;padding:4px 5px 10px;margin:-4px -5px -10px}
.contents{padding:17px 15px 12px;border:1px solid #927458;background:linear-gradient(145deg,#4a3434,#2e242f);color:#fff0dc;box-shadow:0 7px 15px #64412932,inset 0 0 0 3px #c8975f20}
.contents>.eyebrow{color:#efc79d;margin:0 6px 7px}
:is(.contents,.mobile-contents) ul{margin:0;padding:0;list-style:none}
.contents li+li,.mobile-contents li+li{border-top:1px solid #ba917c48}
.contents a,.mobile-contents nav a{display:flex;align-items:center;min-height:44px;padding:6px;font-size:14px;font-weight:650;text-decoration:none}
.contents a:hover,.mobile-contents nav a:hover{text-decoration:underline}
.rail-home{display:flex;align-items:center;gap:7px;padding:10px 9px;font-size:13px;font-weight:700;margin-top:9px;min-height:44px}
.rail-home b{margin-left:auto}
.mobile-contents{display:none}
.reading{min-width:0;overflow-wrap:break-word}
.reading>p,.reading :is(aside,section,div,details)>p{margin-block:0 1.1em}
.reading>p:first-of-type{font-size:clamp(18px,2.1vw,23px);line-height:1.53}
.reading>h2{font-size:clamp(33px,4.1vw,58px);margin:1.15em 0 .39em;max-width:24ch}
.reading h3{font-size:clamp(24px,2.8vw,37px);margin:.45em 0 .36em}
.reading h4{font-size:24px;margin:.5em 0 .3em}
.reading a:not(.button):not(.portal){color:#633920;text-decoration-thickness:1px;font-weight:650}
.reading ul,.reading ol{padding-left:1.45em}
.reading li+li{margin-top:.42em}
.reading figure{margin:30px 0 35px}
.reading figure>img{border:1px solid #a78261;box-shadow:0 10px 24px #4d321e2e}
.reading figure.sbds-charm-ribbon>img{border:0;box-shadow:none}
.reading figcaption{font-size:.88rem;line-height:1.5;color:var(--muted);margin:.75em auto 0;max-width:66ch}
.reading .text-ribbon{padding:13px 16px;border-block:1px solid #c4a57d;background:#e7d5ba79}
.reading .text-ribbon figcaption{margin:0;font-family:var(--serif);font-size:21px;color:#4d382b}
.paper-panel,.sb-native-table,.sb-pattern-decoder,.sb-signature-plan,.sb-decision-map,.sb-quick-answer{margin:25px 0;padding:clamp(14px,2.9vw,29px);border:1px solid #b7936d;border-left:4px solid #a36a44;background:#fbefdc;box-shadow:0 7px 21px #5b321814}
.paper-panel .paper-panel{margin:9px 0;padding:13px;border-left-width:1px;background:#fffbf2}
.paper-panel>.editorial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,176px),1fr));gap:9px}
.reading :is(.paper-panel,.sb-quick-answer)>p:last-child{margin-bottom:0}
.reading .table-scroll{max-width:100%;overflow:auto}
.reading table{border-collapse:collapse;min-width:450px;width:100%;font-size:.9rem}
.reading th,.reading td{text-align:left;vertical-align:top;padding:8px 11px;border:1px solid #c4a68d}
.reading th{background:#e8d2b2;color:#3a271e}
.reading details:not(.mobile-contents){border:1px solid #bfa17e;background:#fff5e5;margin:8px 0;padding:0 13px}
.reading summary,.sample summary{padding:10px 0;min-height:44px;font-weight:700}
.reading details:not(.mobile-contents)>:not(summary){margin-top:6px}
.bridge{position:relative;margin:42px 0 51px;border:1px solid #ac855d;box-shadow:0 19px 32px #52332538}
.portal{display:grid;grid-template-columns:minmax(180px,41%) minmax(0,1fr);text-decoration:none;color:inherit}
.bridge-copy{padding:clamp(16px,3.4vw,33px)}
.bridge-copy>.eyebrow,.portal-description,.portal-title{display:block}
.portal-title{margin:7px 0 9px;font:400 clamp(31px,4.2vw,51px)/1.02 var(--serif);letter-spacing:-.027em}
.portal-description{margin-bottom:17px;font-size:1rem;line-height:1.49}
.bridge-library{background:linear-gradient(110deg,#f1dfbddb,#fff3ddf5),url("paper.webp") center/cover}
.bridge-workshop{color:#fff0dc;background:linear-gradient(114deg,#50352ce3,#2a1d2af7),url("cloth.webp") center/cover}
.bridge-workshop .eyebrow{color:#f2c99b}
.reading a.portal{color:inherit;text-decoration:none;font-weight:400}
.reading .bridge-workshop .portal{color:#fff0dc}
.portal:hover .button,.portal:focus-visible .button{text-decoration:underline}
.portal:focus-visible{outline-offset:-5px}
.portal-art{
 --room-view:url("library-hall.webp");--room-floor:url("library-floor.webp");--portal-glow:#ffda92;
 display:block;position:relative;isolation:isolate;overflow:hidden;min-height:205px;
 background:linear-gradient(90deg,#21171dbd,#271f2a42 42%,#231724a9),url("cloth.webp") center/cover;
 border-inline-end:1px solid #ad8768;
}
.bridge-workshop .portal-art{--room-view:url("workshop-hall.webp");--room-floor:url("workshop-floor.webp");--portal-glow:#ffc587}
.portal-view,.portal-frame,.portal-floor,.portal-light{position:absolute;pointer-events:none}
.portal-view{inset:7% 13% 16%;background:linear-gradient(180deg,#40291a0d,#34223000 55%,#4025186e),var(--room-view) center 58%/cover}
.portal-frame{
 inset:5% 12% 15%;z-index:2;border:clamp(7px,1.4vw,15px) solid #57392a;border-bottom:4px solid #8e6144;
 border-top-color:#67412f;box-shadow:0 0 0 1px #bc9167,inset 0 0 0 1px #edb57c83,inset 10px 5px 18px #1c111a80,0 8px 21px #1c111a9c;
}
.portal-floor{
 inset:66% -10% -24%;z-index:3;background:linear-gradient(180deg,transparent,#2116234a 75%),var(--room-floor) center 56%/cover;
 clip-path:polygon(19% 0,82% 0,100% 100%,0 100%);mask-image:linear-gradient(#0000,#000 34%,#000 82%,#0008);
 transform:translateY(calc((.50 - var(--house-pass,.50))*10px));
}
.portal-light{
 inset:38% -20% -29%;z-index:4;opacity:calc(.37 + var(--house-pass,.50)*.40);mix-blend-mode:screen;
 background:radial-gradient(ellipse 33% 48% at 50% 54%,color-mix(in srgb,var(--portal-glow) 74%,transparent),transparent 90%);
 transform:translateX(calc((var(--house-pass,.50) - .50)*35%)) skewX(-14deg);
}
@media(prefers-reduced-motion:no-preference){
 .portal-view,.portal-light{transition:scale .32s ease}
 .portal:hover .portal-view,.portal:focus-visible .portal-view{scale:1.05}
 .portal:hover .portal-light,.portal:focus-visible .portal-light{scale:1.19}
}
.ending-portal{display:block;margin-bottom:16px;border:1px solid #a88161}
.ending-portal .portal-art{border:0;min-height:0;height:clamp(142px,22vw,253px)}
.ending-portal .button{width:100%;border:0;border-radius:0}
.button{display:inline-flex;min-height:46px;align-items:center;justify-content:space-between;gap:11px;padding:8px 12px;border:1px solid #9c6c45;border-radius:2px;text-decoration:none;font-size:.89rem;line-height:1.35;font-weight:700}
.button:hover,.home-link:hover{text-decoration:underline}
.primary{background:#f2ca96;color:#312017;box-shadow:0 3px 0 #5b392e70}
.quiet{background:#fff4de;color:#4c2d1c}
.article-ending{padding:clamp(26px,5vw,67px) 0 0;background:radial-gradient(ellipse at 10% 2%,#ffe8bcbb,transparent 59%),url("plaster.webp") center/cover;border-top:1px solid #b69878}
.ending-card{width:min(1090px,calc(100% - 76px));margin:auto;display:grid;grid-template-columns:1.17fr .83fr;gap:clamp(20px,5vw,58px);align-items:center;padding:clamp(23px,5vw,63px);color:#fff0de;border:1px solid #a57d63;background:radial-gradient(ellipse at 95% 34%,#9d5c43b5,transparent 58%),linear-gradient(140deg,#36232eea,#281d2bec),url("cloth.webp") center/cover;box-shadow:0 15px 30px #4b312952,inset 0 0 0 5px #e1b4822b}
.ending-copy .eyebrow{color:#f4c99b}
.ending-copy h2{font-size:clamp(43px,5.6vw,81px);margin:8px 0 16px}
.ending-copy h2 em{color:#f6d1a5}
.ending-copy>p:not(.eyebrow){max-width:52ch;margin-bottom:16px}
.ending-proof{min-width:0}
.sample{border-top:1px solid #b78c74;font-size:.9rem;color:#fff0de}
.sample img{margin-bottom:8px}
.closing-logo{display:block;width:min(600px,calc(100% - 48px));margin:84px auto 0;padding-bottom:104px}
@media(max-width:860px){
 :root{--mast:59px}
 .hero-grid,.mast-wrap{width:calc(100% - 44px)}
 .reading-layout,.ending-card{width:min(690px,calc(100% - 44px));display:block}
 .rail{display:none}
 .mobile-contents{display:block;border-block:1px solid #bc9877;margin-bottom:22px}
 .mobile-contents nav{padding-bottom:11px}
 .mobile-contents nav a{padding-inline:4px}
 .ending-proof{margin-top:24px}
 .closing-logo{margin-top:56px;padding-bottom:80px}
}
@media(max-width:620px){
 body{font-size:16px;line-height:1.64}
 .mast-wrap,.hero-grid,.reading-layout,.ending-card{width:calc(100% - 36px)}
 .brand{font-size:32px}
 .mast-free{display:none!important}
 .home-link{font-size:12px;padding:5px 9px}
 .hero-grid{display:block;padding:19px 0 29px}
 .hero h1{font-size:clamp(43px,10vw,67px);margin:4px 0 12px}
 .hero-photo{margin-top:12px;padding:5px}
 .hero-photo img{aspect-ratio:3/2}
 .meta{margin-top:13px;margin-bottom:3px;gap:2px 8px}
 .meta span+span:before{margin-inline-end:7px}
 .reading-layout{padding-top:22px;padding-bottom:41px}
 .bridge{margin:35px 0 41px}
 .portal:not(.ending-portal){display:block}
 .portal-art{height:clamp(148px,49vw,226px);min-height:0;border-inline-end:0;border-bottom:1px solid #ad8768}
 .portal-frame{inset-inline:19%;border-inline-width:11px}
 .portal-view{inset-inline:20%}
 .portal-floor{clip-path:polygon(27% 0,73% 0,100% 100%,0 100%)}
 .bridge-copy{display:block;padding:17px}
 .bridge .button{font-size:.88rem;min-height:48px;width:100%}
}
@media(max-width:350px){.mast-wrap,.hero-grid,.reading-layout,.ending-card{width:calc(100% - 28px)}}

.reading-room{
 background:linear-gradient(180deg,#f1e0c6b5,#fcf3e4ed 500px),url("paper.webp") center top/auto 780px;
}
.reading .text-ribbon{background:linear-gradient(110deg,#f4e4c6db,#fff3dbeb),url("paper.webp") center/cover}
.article-threshold{
 --scene:url("library-hall.webp");--floor:url("library-floor.webp");--lamp:#f0bd79;--shadow:#3f2825;
 display:block;position:relative;isolation:isolate;overflow:hidden;
 height:clamp(73px,10vw,126px);margin:clamp(31px,5vw,61px) 0 0;
 border-top:1px solid #aa815f;background:linear-gradient(90deg,#39272a,#8b6242 51%,#39272a),url("cloth.webp");
 mask-image:linear-gradient(#000 0%,#000 70%,#000a 88%,transparent);
}
.article-threshold[data-room="desk"]{--scene:url("workshop-hall.webp");--floor:url("workshop-floor.webp");--lamp:#edaa73;--shadow:#4c2530}
.article-threshold[data-room="lantern"]{--scene:url("viewing-hall.webp");--floor:url("viewing-floor.webp");--lamp:#c4a4d7;--shadow:#33243f}
.article-threshold[data-room="daylight"]{--scene:url("morning-hall.webp");--floor:url("morning-floor.webp");--lamp:#ffe4a8;--shadow:#72503d}
.threshold-opening,.threshold-floor,.threshold-cast{position:absolute;pointer-events:none}
.threshold-opening{
 inset:-8% 10% 0;border-inline:clamp(8px,2.5vw,34px) solid var(--shadow);
 border-top:8px solid #4f362c;background:linear-gradient(90deg,#2d1c2358,transparent 44%,#2c17264f),var(--scene) 50% 61%/cover;
 box-shadow:0 0 20px #2319219e,inset 0 5px 18px #21172386;
}
.threshold-floor{
 inset:52% -3% -22%;background:linear-gradient(180deg,#37252888,transparent 48%,#23162740),var(--floor) center/cover;
 clip-path:polygon(13% 0,87% 0,100% 100%,0 100%);mask-image:linear-gradient(transparent,#000 34%,#000 78%,transparent);
}
.threshold-cast{
 inset:-5% -30% -35%;opacity:calc(.38 + var(--house-pass,.50)*.39);
 background:linear-gradient(119deg,transparent 25%,var(--shadow) 35%,transparent 49%),linear-gradient(118deg,transparent 35%,color-mix(in srgb,var(--lamp) 83%,transparent) 55%,transparent 71%);
 transform:translate3d(calc((var(--house-pass,.50) - .50)*26%),0,0) skewX(-10deg);
}
.reading>h2[data-room-heading]{margin-top:.32em}
@media(max-width:620px){
 .article-threshold{height:83px;margin:35px -9px 0}
 .threshold-opening{inset-inline:7%;background-position:50% 60%;border-inline-width:13px}
 .threshold-cast{transform:translate3d(calc((var(--house-pass,.50) - .50)*40%),0,0) skewX(-10deg)}
}

.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px 19px}
.hero-home{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;padding:8px 12px;color:#2e201c;background:#f2ca96;border:1px solid #ffdfb5;text-decoration:none;box-shadow:0 3px 0 #734a37;font-size:.88rem;font-weight:700}
.hero-home:hover,.departure-link:hover .button{text-decoration:underline}
.door-mark{position:relative;display:block;width:18px;height:24px;border:1px solid currentColor;border-bottom:2px solid currentColor;flex:none}
.door-mark::before{content:"";position:absolute;inset:3px 3px 2px;border:1px solid currentColor;transform:skewY(-12deg)}
.door-mark::after{content:"";position:absolute;top:11px;right:4px;width:3px;height:3px;border-radius:50%;background:currentColor}
.rail-home{gap:11px;padding:11px 13px;background:#efe0c4;border:1px solid #a7845f;box-shadow:inset 0 0 0 2px #fff2d9;text-decoration:none}
.rail-home small,.rail-home strong{display:block;line-height:1.4}
.rail-home small{font-weight:400}
.rail-home:hover strong{text-decoration:underline}
.hallway{position:relative;margin:36px 0 45px;padding:clamp(15px,3.8vw,35px);overflow:hidden;background:radial-gradient(ellipse at 75% 0,#865e3d72,transparent 70%),linear-gradient(125deg,#392b2bea,#211924f5),url("cloth.webp") center/cover;border:1px solid #aa825a;box-shadow:0 14px 29px #3b241d44,inset 0 0 0 4px #d4a36d24;color:#fff3df}
.hallway-cap{position:relative;padding-bottom:15px}
.hallway :is(.eyebrow,h2 em){color:#f6cea3}
.hallway h2{font-size:clamp(35px,5.6vw,67px);margin:.08em 0 .04em}
.hallway-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hallway .hall-door{display:flex;flex-direction:column;border:1px solid #a88162;color:#fff3df;background:#2d2229;box-shadow:0 6px 11px #140e17a1}
.hallway .hall-door:first-of-type{background:#363326}
.hallway .portal-art{min-height:0;height:clamp(128px,19vw,215px);border:0;border-bottom:1px solid #b08b64}
.hallway .portal-view{inset:4% 9% 13%}
.hallway .portal-frame{inset:3% 8% 10%;border-width:8px}
.hallway .portal-floor{opacity:.75}
.hall-label{display:block;padding:10px 12px 13px}
.hall-label .eyebrow{display:block;font-size:.63rem;line-height:1.5;letter-spacing:.09em}
.hall-label strong{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font:400 clamp(22px,2.6vw,34px)/1.06 var(--serif);margin:5px 0}
.hall-label b{font:650 14px var(--sans);color:#f5d0a1}
.hall-detail{display:block;font-size:.82rem;line-height:1.35;color:#f8e4ca}
.hall-door:hover strong,.hall-door:focus-visible strong{text-decoration:underline;text-underline-offset:.17em}
.reading .hallway a.hall-home:not(.portal){display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:8px;color:#ffe1b9;font-size:.89rem;text-underline-offset:4px}
.hallway :focus-visible,.departure :focus-visible,.mobile-home :focus-visible{outline-color:#ffe2b9}
.article-ending{padding-bottom:clamp(33px,6.5vw,83px);background:radial-gradient(ellipse at 74% 4%,#93705555,transparent 65%),linear-gradient(180deg,#64504038,#292029dd),url("plaster.webp") center/cover}
.departure{padding:clamp(20px,4vw,49px) 0 clamp(46px,7vw,95px);background:radial-gradient(ellipse at 60% 5%,#5a3c34,transparent 65%),#231b25;border-top:1px solid #a17d62;color:#fff1dd}
.departure-link{display:grid;grid-template-columns:1fr 1.05fr;align-items:stretch;width:min(1090px,calc(100% - 76px));margin:auto;text-decoration:none;border:1px solid #a37e5b;isolation:isolate;background:linear-gradient(106deg,#2d202a,#4d342ccc),url("cloth.webp") center/cover;box-shadow:0 15px 32px #0f0a13cb,inset 0 0 0 4px #dcb38224}
.departure-copy{padding:clamp(24px,5vw,63px);align-self:center}
.departure-copy .brand{display:block;font-size:clamp(29px,3.4vw,47px)}
.departure-title{display:block;margin:.38em 0 .18em;font:400 clamp(48px,7.2vw,103px)/.9 var(--serif);letter-spacing:-.04em}
.departure-line{display:block;max-width:31ch;margin-bottom:16px;color:#f7e0c6;line-height:1.4}
.departure-scene{display:block;position:relative;min-height:235px;overflow:hidden;background:linear-gradient(180deg,#2a1e239d,transparent 52%,#221921de),url("hero-night.webp") center 52%/cover;border-inline-start:1px solid #a37e5b}
.mobile-home{display:none}
.hero-home .door-mark{width:14px;height:18px}
.hero-home .door-mark::after{top:8px;right:3px;width:2px;height:2px}
.hallway{padding:clamp(10px,2vw,18px)}
.hallway .hall-front{display:grid;min-height:260px;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);border:1px solid #b8926d;background:radial-gradient(ellipse at right 85%,#5b3c37,transparent 72%),#2c212a;box-shadow:inset 0 0 0 3px #ffcf9522}
.hallway .hall-front .portal-art{--room-view:url("hero-night.webp");--room-floor:url("workshop-floor.webp");--portal-glow:#f3b981;height:100%;border:0;border-inline-end:1px solid #aa825a}
.hallway .hall-front .portal-view{background-position:center,63% 60%;inset:0}
.hallway .hall-front .portal-frame{inset:7% 13% 12%}
.hallway .hall-front .portal-floor{z-index:1;opacity:.55}
.hall-front-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(17px,3vw,32px);gap:10px;min-width:0}
#hallway-heading{font:400 clamp(41px,5.6vw,67px)/.91 var(--serif);letter-spacing:-.034em;display:block}
.hallway .hall-front .button{margin-top:4px;box-shadow:none}
.hallway .hall-front .hall-detail{font-size:.91rem;line-height:1.45}
.hallway-grid{margin-top:9px;gap:9px}
.hallway .hall-door{display:grid;grid-template-columns:55px minmax(0,1fr) 20px;align-items:center;min-height:69px}
.hallway .hall-door .portal-art{height:100%;border:0;border-inline-end:1px solid #84674d}
.hallway .hall-door .portal-frame{border-width:3px}
.hallway .hall-door .portal-light,.hallway .hall-door .portal-floor{display:none}
.hallway .hall-door strong{font-size:clamp(19px,2.35vw,27px);margin-block:3px 0}
.hall-arrow{color:#f5d0a1;font-size:13px}
@media(max-width:860px){
 .departure-link{width:min(690px,calc(100% - 44px))}
 .mobile-home:not([hidden]){position:fixed;z-index:7;display:flex;max-width:calc(100vw - 30px);bottom:calc(9px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);box-shadow:0 4px 15px #20162182;border:1px solid #a7805c;background:#30242d;color:#fff0da}
 .mobile-home a,.mobile-home button{display:flex;align-items:center;min-height:46px;gap:8px;color:inherit}
 .mobile-home a{padding:2px 11px;font-size:.85rem;font-weight:700;white-space:nowrap;text-decoration:none}
 .mobile-home a:hover{text-decoration:underline}
 .mobile-home .door-mark{width:14px;height:18px;color:#f2ca96}
 .mobile-home .door-mark::after{top:8px;right:3px;width:2px;height:2px}
 .mobile-home button{justify-content:center;min-width:44px;border:0;border-left:1px solid #a7805c;background:#30242d;font:400 23px/1 var(--sans)}
}
@media(max-width:620px){
 .hero-actions{gap:4px 13px}
 .hero-home{gap:6px;padding-inline:8px;font-size:.82rem}
 .hallway-grid{gap:8px}
 .hallway .portal-art{height:clamp(94px,28vw,161px)}
 .hall-label{padding:9px}
 .hall-label .eyebrow{font-size:.57rem}
 .hall-label strong{font-size:clamp(20px,5vw,26px)}
 .hall-detail{font-size:.75rem}
 .departure-link{display:flex;flex-direction:column-reverse}
 .departure-scene{border-inline-start:0;border-bottom:1px solid #a37e5b;min-height:160px;height:clamp(160px,48vw,240px);background-position:center 47%}
 .departure-copy{align-self:stretch}
 .hallway .hall-front{grid-template-columns:1fr}
 .hallway .hall-front .portal-art{height:clamp(126px,37vw,171px);border:0;border-bottom:1px solid #aa825a}
 .hallway .hall-front .portal-view{background-position:center,63% 52%}
 .hallway .hall-front .portal-frame{inset:8% 12% 9%;border-width:7px}
 .hall-front-copy{gap:8px}
 #hallway-heading{max-width:12ch}
 .hallway .hall-front .button{width:100%}
 .hallway .hall-door{grid-template-columns:29px minmax(0,1fr) 13px;min-height:65px}
 .hallway .hall-door .hall-label{padding:5px 4px}
 .hallway .hall-door .eyebrow{letter-spacing:.04em}
}

/* The doorway and the landing use the same room art and light palette.
   Only small decorative surfaces move; all article text stays in normal flow. */
.reading-room{background:linear-gradient(180deg,#e6cfac55,#f4e7d5d6 420px),url("plaster.webp") center top/auto 760px}
.reading{--room-gutter:clamp(19px,3vw,45px)}
.hero{background:radial-gradient(ellipse at 83% 33%,#a56a505c,transparent 58%),linear-gradient(121deg,#221925f7,#332431d9),url("cloth.webp") center/cover}
.hero-photo{border-color:#c49a68;box-shadow:inset 0 0 0 3px #251a25,0 17px 0 -10px #846045,0 32px 55px #180e19b5}
.hero-photo::after{content:"";position:absolute;inset:8px;pointer-events:none;background:linear-gradient(132deg,#ffd49a23 1%,transparent 41%);box-shadow:inset 0 0 20px #23172278}
.hero .quick-answer{
 max-width:58ch;margin:0 0 16px;padding:12px 15px;border-left:3px solid #e5ae72;
 color:#30221e;background:linear-gradient(112deg,#fff6e5,#f1dec0);box-shadow:0 6px 16px #21152072
}
.hero .quick-answer h2{font:700 .72rem/1.2 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:#664126;margin-bottom:5px}
.hero .quick-answer p{font-size:clamp(.94rem,1.26vw,1.05rem);line-height:1.46}
.answer-details{margin-top:6px;border-top:1px solid #bca17d}
.answer-details summary{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 min-height:44px;padding:5px 0;list-style:none;color:#563720;font-weight:700;font-size:.86rem
}
.answer-details summary::-webkit-details-marker{display:none}
.answer-details summary::after{
 content:"";width:7px;height:7px;margin-inline:5px 3px;flex:none;
 border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)
}
.answer-details[open] summary::after{transform:rotate(225deg)}
.hero .answer-details summary:focus-visible{outline-color:#7d4825;outline-offset:0}
.hero .answer-details-copy{padding:1px 0 6px}
.hero .answer-details-copy p{font-size:.93rem}
.answer-extra{position:relative}
.answer-doorway{display:none}
.hero .hero-actions{gap:7px 16px;margin-bottom:14px}
.hero .hero-home{
 display:grid;width:min(100%,445px);min-height:104px;grid-template-columns:minmax(77px,31%) minmax(0,1fr) auto;
 padding:0 11px 0 0;gap:11px;align-items:center;
 color:#302019;background:radial-gradient(ellipse at 0 100%,#ffedc4,transparent 77%),linear-gradient(140deg,#f5d7a9,#e7b886);
 border:1px solid #d1a272;box-shadow:inset 0 0 0 3px #fff5d543,0 3px 0 #7b533a,0 9px 19px #20121c61
}
:is(.hero,.doorway-walk) .doorway-art{
 min-height:0;height:100%;align-self:stretch;border:0;border-inline-end:1px solid #ae855c;
 --room-view:url("morning-hall.webp");--room-floor:url("morning-floor.webp");--portal-glow:#ffdba2;
 background:linear-gradient(90deg,#291613ce,#522f2191 50%,#2c1918ce),url("cloth.webp") center/cover
}
/* The view keeps its proportions as the arch passes the edges of the screen. */
.doorway-walk{position:fixed;inset:0;z-index:10000;overflow:hidden;pointer-events:none}
.doorway-walk .doorway-walk-through{position:absolute;transform-origin:50% 45%}
.doorway-walk .doorway-art{width:100%;height:100%;border:0}
.doorway-walk .portal-view{transform:scale(1.055)}
.doorway-walk::before{
 content:"";position:absolute;inset:0;
 background:radial-gradient(ellipse at 50% 48%,#b9714d30,#372019b0 75%,#211422ed);
 animation:doorway-walk-shade var(--walk-duration) ease-out var(--walk-direction,normal) both
}
.doorway-walk-light{animation:doorway-walk-light var(--walk-duration) linear var(--walk-direction,normal) both}
.doorway-walk[data-returning]{--walk-direction:reverse}
.doorway-walk[data-returning] .doorway-walk-through{
 animation:doorway-return-settle var(--walk-duration) ease-out both
}
@keyframes doorway-return-settle{
 0%,89%{opacity:1}
 100%{opacity:0}
}
.doorway-walk-spill{
 position:absolute;inset:0;
 background:radial-gradient(ellipse min(58vw,330px) min(40vh,260px) at var(--door-x) var(--door-y),#ffe0a68c,#e7ab664b 47%,transparent 100%);
 animation:doorway-return-spill var(--walk-duration) ease-out both
}
@keyframes doorway-return-spill{
 0%,18%{opacity:0}
 64%{opacity:1}
 100%{opacity:0}
}
html[data-doorway-return-pending][data-doorway-return-fade]::after{
 animation:doorway-return-fade 420ms ease-out both
}
@keyframes doorway-return-fade{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){html[data-doorway-return-pending]::after{display:none}}
@keyframes doorway-walk-light{
 0%,26%{opacity:0}
 55%{opacity:.12}
 87%{opacity:.93}
 100%{opacity:1}
}
@keyframes doorway-walk-shade{
 0%{opacity:0}
 55%,100%{opacity:1}
}
.doorway-art .portal-view{inset:5% 9% 6%;border-radius:49% 49% 0 0 / 33% 33% 0 0;background-position:center,50% 53%}
.doorway-art .portal-frame{inset:3% 7% 3%;border-radius:50% 50% 0 0 / 34% 34% 0 0;border-width:var(--doorway-trim,6px);border-bottom-width:2px}
.doorway-art .portal-floor{opacity:.8}
.doorway-art .portal-light{
 background:radial-gradient(ellipse 43% 31% at 50% 63%,#ffdd9fa6,transparent 100%);
 opacity:.75
}
.hero-door-copy{display:grid;gap:4px;padding-block:10px}
.hero-door-copy small{font-size:.65rem;letter-spacing:.045em;text-transform:uppercase;font-weight:700}
.hero-door-copy strong{font:400 clamp(1.25rem,2.1vw,1.7rem)/.99 var(--serif)}
.hero-door-copy>span{font-size:.72rem;line-height:1.25}
.hero-door-arrow{
 display:grid;width:29px;height:29px;place-items:center;border:1px solid #a97d4f;border-radius:50%;
 background:#fce3badd;font-size:.99rem
}
.hero .hero-home:hover{text-decoration:none}
.hero-home:is(:hover,:focus-visible) .hero-door-copy strong{text-decoration:underline}
.hero :is(.hero-home,.answer-doorway){position:relative;isolation:isolate}
a[data-home-placement]:has(.portal-art,.departure-scene),.invite-actions a{-webkit-tap-highlight-color:transparent}
.hero :is(.hero-home,.answer-doorway)::after{
 content:"";position:absolute;z-index:-1;inset:20% -3px -24px;pointer-events:none;
 background:radial-gradient(ellipse at 23% 42%,#f9bf6d9e,transparent 65%);
 opacity:0;transform:scale(.84,.75);transform-origin:16% 22%
}
.hero :is(.hero-home,.answer-doorway):active{
 border-color:#ffebbf;box-shadow:0 0 12px #ffd28a9c,0 3px 0 #7b533a
}
@media(prefers-reduced-motion:no-preference){
 .hero-home .portal-view,.hero-home .portal-light{transition:transform .29s ease-out,opacity .29s ease-out}
 .hero-home:is(:hover,:focus-visible) .portal-view{transform:scale(1.055)}
 .hero-home:is(:hover,:focus-visible) .portal-light{opacity:.94}
 .hero-home:active .portal-light,.hero-home.is-opening .portal-light{opacity:1}
 .hero :is(.hero-home,.answer-doorway).is-opening::after{animation:doorway-spill .25s ease-out both}
 @keyframes doorway-spill{
  from{opacity:.22;transform:scale(.8,.64)}
  to{opacity:1;transform:scale(1.08,1.15)}
 }
}
.hero .reading-link{gap:8px;text-underline-offset:4px}
.home-link{color:#2f231d;background:linear-gradient(180deg,#ffe0b2,#edbf88);border-color:#ffdbad;box-shadow:0 2px 0 #81553b}
.home-link .door-mark{width:12px;height:16px}
.home-link .door-mark::before{inset:2px 2px 1px}
.home-link .door-mark::after{right:3px;top:7px;width:2px;height:2px}
.chapter-room{
 --scene:url("library-hall.webp");--floor:url("library-floor.webp");--surface:url("paper.webp");
 --trim:#5a4734;--ink-shade:#3b2e25;--wall:#e6d5af;--light:#f3be76;--rear:#a47b81;--page:#fcf4e2;
 position:relative;isolation:isolate;min-width:0;margin:0 0 32px;color:var(--ink);
 background:var(--wall) var(--surface) center top/auto 445px;border:1px solid #af8e68;border-radius:2px 2px 0 0;
 box-shadow:0 12px 29px #3d281e26;
}
.chapter-room[data-room="desk"]{
 --scene:url("workshop-hall.webp");--floor:url("workshop-floor.webp");--surface:url("desk-walnut.webp");
 --trim:#533229;--ink-shade:#291720;--wall:#78543e;--light:#ecad6c;--rear:#b77e56;--page:#fff1db;
}
.chapter-room[data-room="lantern"]{
 --scene:url("viewing-hall.webp");--floor:url("viewing-floor.webp");--surface:url("cloth.webp");
 --trim:#493441;--ink-shade:#211a2c;--wall:#3c303e;--light:#e4a85f;--rear:#a48ac7;--page:#fcf1e9;
}
.chapter-room[data-room="daylight"]{
 --scene:url("morning-hall.webp");--floor:url("morning-floor.webp");--surface:url("plaster.webp");
 --trim:#624830;--ink-shade:#463325;--wall:#ead2a9;--light:#ffe4a1;--rear:#ad91b2;--page:#fff6e4;
}
.chapter-room .article-threshold{
 --shadow:var(--ink-shade);--lamp:var(--light);
 height:clamp(152px,22vw,270px);margin:0;border:0;
 background:var(--ink-shade) var(--surface) center/cover;mask-image:none;
}
.threshold-opening{
 inset:0;border:0;
 background:linear-gradient(180deg,#160e1ac4,transparent 27%,transparent 81%,#170c1170),var(--scene) center 54%/cover;
 box-shadow:none;
}
.threshold-floor{
 inset:58% -5% -12%;opacity:.84;
 background:linear-gradient(180deg,transparent,#1d121b3b),var(--floor) center 58%/cover;
 clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);
 mask-image:linear-gradient(transparent,#000 59%,#000 100%);
}
.threshold-cast{
 inset:3% -15% 0;opacity:calc(.48 + var(--house-pass,.5)*.3);
 background:radial-gradient(ellipse 25% 61% at 63% 83%,color-mix(in srgb,var(--light) 70%,transparent),transparent 92%),
 radial-gradient(ellipse 20% 61% at 32% 64%,color-mix(in srgb,var(--rear) 79%,transparent),transparent 92%),
 linear-gradient(116deg,transparent 14%,#190e1b9e 29%,transparent 55%);
 transform:translateX(calc((var(--house-pass,.5) - .5)*28%));
}
.threshold-frame{position:absolute;inset:0;pointer-events:none;border-top:clamp(9px,1.9vw,25px) solid var(--trim);box-shadow:inset 0 1px #e6bb7a9e}
.threshold-frame i{position:absolute;inset:0 auto 0 0;width:15%;border-inline-end:1px solid #edbc8580;background:linear-gradient(90deg,#20151e,transparent 40%,#1a121b95 80%,#d0a47899),var(--surface) center/cover;box-shadow:6px 0 18px #1b111a9e;transform:translateX(calc(-54% * var(--house-pass,.5)))}
.threshold-frame i+i{left:auto;right:0;transform:translateX(calc(54% * var(--house-pass,.5))) scaleX(-1)}
.room-landing{position:absolute;z-index:-1;pointer-events:none;top:clamp(149px,22vw,267px);height:clamp(150px,26vw,265px);inset-inline:0;overflow:hidden;background:linear-gradient(transparent,var(--ink-shade) 96%),var(--floor) center 60%/cover;mask-image:linear-gradient(#000 0 42%,transparent 100%)}
.room-landing span,.room-landing i{position:absolute;inset:0 -12%}
.room-landing span{background:radial-gradient(ellipse 42% 73% at 50% 0%,var(--light),transparent 94%);opacity:.65;transform:translateX(calc((var(--house-pass,.5) - .5)*31%))}
.room-landing i{background:linear-gradient(119deg,transparent 9%,#1c122868 24%,transparent 38% 59%,#1a14216e 72%,transparent 87%);transform:translateX(calc((.5 - var(--house-pass,.5))*24%))}
.room-page{
 position:relative;margin:clamp(18px,2.5vw,34px) clamp(9px,2.3vw,25px) clamp(9px,2.3vw,25px);
 padding:clamp(19px,3.5vw,42px) var(--room-gutter);background:linear-gradient(180deg,#ffffff10,#fffdf380 230px),var(--page);
 border:1px solid #ac8a65;border-top:3px solid var(--trim);box-shadow:0 10px 17px #2a1a2829;
}
.room-page>:last-child{margin-bottom:0}
.room-page>p{margin-block:0 1.1em}
.room-plaque{display:inline-block;padding:3px 9px;border:1px solid #9b7b58;color:#fff0d8;background:var(--trim);box-shadow:0 2px 0 #96785855}
.room-page>h2{font-size:clamp(33px,4.1vw,58px);margin:1.04em 0 .39em;max-width:24ch}
.room-page>h2[data-room-heading]{margin:.25em 0 .46em}
.room-number{float:right;color:#684d38;font-variant-numeric:tabular-nums;padding:4px 0 0 6px}
.room-ambient{position:absolute;z-index:-1;pointer-events:none;inset:clamp(280px,35vw,420px) 0 0;background:linear-gradient(90deg,var(--ink-shade),transparent 12% 88%,var(--ink-shade));opacity:.38}
.room-page .bridge{margin-left:calc(var(--room-gutter)*-.46);margin-right:calc(var(--room-gutter)*-.46)}
.room-page figure:not(.text-ribbon,.sbds-charm-ribbon):has(>img){padding:6px 6px 0;background:linear-gradient(168deg,#e1c39a,#f8eed8);border:1px solid #a98360;box-shadow:0 8px 16px #34211822}
.room-page figure:not(.text-ribbon,.sbds-charm-ribbon):has(>img)>figcaption{padding:0 8px 9px}
.room-page figure:not(.text-ribbon,.sbds-charm-ribbon):has(>img):not(:has(figcaption)){padding-bottom:6px}
.room-page .text-ribbon{border-inline:1px solid #c4a57d;border-left:3px solid var(--trim);box-shadow:0 5px 12px #40251818}
.room-page .paper-panel,.room-page :is(.sb-native-table,.sb-pattern-decoder,.sb-signature-plan,.sb-decision-map){border-left-color:var(--trim)}
.reading .reading-fold:not(.mobile-contents){
 margin:10px 0 17px;padding:0 11px;border:1px solid #b69570;border-left:3px solid var(--trim);
 background:#f7e8ce;color:#402b23
}
.reading .reading-fold summary{display:flex;align-items:center;justify-content:space-between;gap:9px;list-style:none;font-size:.9rem;padding:7px 0;line-height:1.27}
.reading .reading-fold summary::-webkit-details-marker{display:none}
.reading .reading-fold summary::after{content:"+";color:#664126;font-size:19px;line-height:1;font-weight:400}
.reading .reading-fold[open] summary::after{content:"−"}
.reading .reading-fold>.fold-body{border-top:1px solid #bea180;margin:0;padding:10px 0 0}
.room-page>p,.reading .fold-body>p{margin-block:0 .85em}
.room-page>h2:not([data-room-heading]){margin-top:.86em}
.room-page figure{margin-block:20px 25px}
.room-page :is(.paper-panel,.sb-native-table,.sb-pattern-decoder,.sb-signature-plan,.sb-decision-map,.sb-quick-answer){margin-block:17px;padding:clamp(12px,2vw,22px)}
.reading .source-shelf{
 margin:24px 0 8px;padding:clamp(13px,2.5vw,23px);border:1px solid #a98765;border-top:3px solid #66523b;
 background:linear-gradient(145deg,#fcf1ddd9,#fff9edeb),url("paper.webp") center/cover;
 box-shadow:0 7px 0 -5px #ae9474;color:#3b2a22
}
.source-shelf h2,.room-page .source-shelf h2{margin:0 0 .28em;font-size:clamp(28px,3.7vw,43px)}
.reading .source-shelf :is(ol,ul){margin:0;padding-left:19px;color:#5e412f;font-size:.88rem;line-height:1.42}
.reading .source-shelf li{padding:5px 0;border-bottom:1px solid #9f765144}
.reading .source-shelf li+li{margin:0}
.reading .source-shelf li:last-child{border-bottom:0}
@media(min-width:900px){.reading .source-shelf ol{columns:2;column-gap:32px}.source-shelf li{break-inside:avoid-column}}
.reading .source-shelf:has(>.source-index){padding:4px 0;margin:15px 0 3px;display:flex;flex-wrap:wrap;gap:0 10px;align-items:center;border:0;border-top:1px solid #b99a75;background:none;box-shadow:none}
.reading .source-shelf:has(>.source-index)>:is(h2,h3){margin:0;font:700 .71rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.reading .source-shelf .source-index{display:flex;flex-wrap:wrap;gap:0;padding:0;margin:0;list-style:none;columns:auto}
.reading .source-index li{padding:0;border:0}
.reading .source-index a{display:grid;min-width:37px;min-height:44px;place-items:center;text-decoration:none}
.source-number{display:grid;min-width:25px;min-height:25px;place-items:center;background:#f9edd8;border:1px solid #b0906c;font-variant-numeric:tabular-nums}
.source-index a:hover .source-number{background:#f1d2a5;text-decoration:underline}
.source-full-title{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.reading .faq-fold summary>h3{margin:0;font:650 .91rem/1.32 var(--sans);letter-spacing:0}
.reading .faq-fold summary::marker{color:#79512e}
.reading .table-scroll{scrollbar-color:#a27d59 #f1dfc4}
@media(max-width:620px){.reading table:has(thead th:nth-child(3)):not(:has(thead th:nth-child(4))){min-width:320px;table-layout:fixed;font-size:.82rem}.reading table:has(thead th:nth-child(3)):not(:has(thead th:nth-child(4))) :is(td,th){padding:6px;overflow-wrap:anywhere}}

.answer-sign{margin:19px 0 29px}
.reading .answer-sign a.answer-home{
 display:grid;min-height:76px;grid-template-columns:64px minmax(0,1fr) auto;align-items:stretch;gap:14px;
 padding:0 13px 0 0;color:#fff0dc;text-decoration:none;
 background:radial-gradient(ellipse at 9% 76%,#79513c85,transparent 49%),linear-gradient(105deg,#30222be6,#251b25f2),url("cloth.webp") center/cover;
 border:1px solid #a7805b;box-shadow:0 5px 0 -2px #aa8662,0 12px 20px #28172738,inset 0 0 0 3px #dba27125;
}
.sign-lantern{position:relative;display:grid;place-items:center;overflow:hidden;border-inline-end:1px solid #a57b58;background:linear-gradient(90deg,#271924ab,#3522383b),url("lantern-window-2.webp") 63% 56%/cover}
.sign-lantern span{width:21px;height:27px;border:1px solid #ffce8f;border-radius:52% 51% 42% 43%;background:repeating-linear-gradient(90deg,#dc7f0e42 0 2px,#fbd48c26 3px 4px),radial-gradient(ellipse at 46% 42%,#fff2b5,#e7a250 70%,#9f4a1a);box-shadow:0 0 20px #e99e57b9}
.sign-copy{padding:9px 0}
.sign-copy .eyebrow{display:block;color:#f5c997;letter-spacing:.10em}
.sign-copy strong{display:block;font:400 clamp(23px,3vw,37px)/1.06 var(--serif)}
.sign-arrow{align-self:center;display:grid;place-items:center;width:34px;height:34px;border:1px solid #d5af83;color:#251a23;background:#f6cd96}
.answer-home:is(:hover,:focus-visible) strong{text-decoration:underline}
.mobile-home a small,.mobile-home a strong{display:block;line-height:1.16}
.mobile-home a small{color:#f1c794;font-size:.61rem;letter-spacing:.06em;text-transform:uppercase}
.mobile-home a strong{font-size:.92rem}
.mobile-home a b{margin-left:4px}
.guide-position{padding:3px 7px 12px;border-bottom:1px solid #af8b657a;margin-bottom:7px}
.guide-position .eyebrow{color:#efc79d;margin-bottom:5px}
.guide-position [data-guide-position]{display:block;color:#fff0d8;font:400 24px/1.02 var(--serif)}
.contents a[aria-current="location"]{color:#251b25;background:#f2cf9b;box-shadow:inset 3px 0 #ba8051}
@media(max-width:860px){
 .mobile-contents{position:sticky;top:var(--mast);z-index:5;color:#fff1dc;background:#2f232b;border:1px solid #b28a62;box-shadow:0 4px 9px #3c291f33}
 .mobile-contents summary{display:flex;align-items:center;gap:7px;padding:6px 9px 6px 11px;min-height:46px;list-style:none;line-height:1.15}
 .mobile-contents summary::-webkit-details-marker{display:none}
 .mobile-contents summary::after{content:"";width:7px;height:7px;border-inline-end:1px solid #f5ce98;border-block-end:1px solid #f5ce98;transform:rotate(45deg);margin:0 3px 3px auto;flex:none}
 .mobile-contents[open] summary::after{transform:rotate(225deg);margin-bottom:-3px}
 .mobile-contents .guide-caption{flex:none;text-transform:uppercase;letter-spacing:.055em;font-size:.64rem;color:#f5c996;border-inline-end:1px solid #b59069;padding-inline-end:7px}
 .mobile-contents summary [data-guide-position]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 clamp(17px,4.5vw,21px)/1.15 var(--serif)}
 .mobile-contents nav{max-height:min(44vh,360px);overflow:auto;padding:3px 7px 7px;background:#30222b;border-top:1px solid #a88361}
 .reading .mobile-contents nav a:not(.button):not(.portal){color:#fff1de;padding-inline:7px}
 .reading .mobile-contents nav a[aria-current="location"]:not(.button):not(.portal){color:#2c2025;background:#f2cf9b}
 .mobile-contents :focus-visible{outline-color:#fff0c8;outline-offset:-2px}
 .reading :is(h2,h3)[id]{scroll-margin-top:46px}
}
.home-invite[hidden]{display:none}
.home-invite{
 position:fixed;z-index:8;right:clamp(12px,2.5vw,42px);bottom:calc(13px + env(safe-area-inset-bottom));
 display:grid;grid-template-columns:clamp(74px,11vw,122px) minmax(0,1fr);
 width:min(456px,calc(100% - 24px));color:#fff0dc;
 background:radial-gradient(ellipse at 16% 68%,#6d493eac,transparent 72%),#2c202a;border:1px solid #bd986e;
 box-shadow:0 12px 38px #1c131ce0,inset 0 0 0 3px #d8a96120;
}
.invite-scene{position:relative;overflow:hidden;min-width:0;border-inline-end:1px solid #ba9369;background:linear-gradient(180deg,#31202b51,transparent 49%,#241a24c0),url("library-hall.webp") 51% 57%/cover}
.invite-scene::before{content:"";position:absolute;inset:6% 9% 0;border:5px solid #60402e;border-bottom:0;box-shadow:0 0 0 1px #d9a96da1,inset 0 0 0 1px #dcaf79a0,inset 0 0 14px #1d1120a0}
.invite-copy{padding:12px 36px 10px 13px}
.invite-copy .eyebrow{color:#f3c392;font-size:.62rem;line-height:1.25;letter-spacing:.09em}
.invite-copy h2{font-size:clamp(29px,4.75vw,39px);margin:4px 0 5px;line-height:.94}
.invite-copy h2::first-line{color:#f8d0a1}
.invite-copy h2 em{color:#f6ca95}
.invite-copy>p:not(.eyebrow){color:#ffe5ce;font-size:.84rem;line-height:1.32}
.invite-actions{display:flex;align-items:center;flex-wrap:wrap;gap:3px 10px;margin-top:9px}
.invite-actions .button{min-height:44px;font-size:.82rem;box-shadow:none}
.invite-keep,.invite-close{min-width:44px;min-height:44px;color:#fff0dc;background:none;border:0;font:650 .77rem var(--sans)}
.invite-keep{text-decoration:underline;text-underline-offset:.21em;padding:0}
.invite-close{position:absolute;right:1px;top:0;font:400 23px/1 var(--sans)}
.home-invite :focus-visible{outline-color:#fff0ca;outline-offset:0}
@media(prefers-reduced-motion:no-preference){
 .home-invite:not([hidden]){animation:invite-arrival .23s ease-out both}
 @keyframes invite-arrival{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:620px){
 .hero-copy{position:relative}
 .hero-crumb{font-size:.64rem;letter-spacing:.08em}
 .hero h1{font-size:clamp(38px,10.2vw,63px);margin:0 0 11px}
 .hero h1 em{font-size:.68em}
 .hero .quick-answer{margin:0 0 9px;padding:8px 11px}
 .answer-extra:has(.answer-details[open]) summary{margin-inline-end:138px;gap:6px;line-height:1.15}
 .hero .answer-extra:has(.answer-details[open]) .answer-doorway{
  position:absolute;inset-block-start:1px;inset-inline-end:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;
  width:128px;min-height:44px;padding:3px 5px 3px 3px;border:1px solid #9f703d;color:#3d251a;
  background:linear-gradient(135deg,#ffe5b6,#edc38b);font-size:.69rem;line-height:1.15;font-weight:700;text-decoration:none
 }
 .hero .answer-doorway .doorway-art{--doorway-trim:3px;flex:0 0 28px;height:35px;border:1px solid #9e7147}
 .hero .answer-doorway:focus-visible{outline-color:#7d4825;outline-offset:1px}
 .hero .doorway-transfer{
  position:absolute;z-index:3;inset:0 auto auto 0;width:1px;height:1px;pointer-events:none;
  transform-origin:top left
 }
 .doorway-transfer::before{
  content:"";position:absolute;inset:-15% -68% -50%;
  background:radial-gradient(ellipse at 48% 38%,#ffe5b6aa 0%,#ffc57761 39%,transparent 72%);
 }
 .hero .doorway-transfer .doorway-art{width:100%;height:100%;border:0}
 @media(prefers-reduced-motion:no-preference){
  .hero .hero-home>.doorway-art{transition:opacity .24s ease}
  .hero-copy:has(.answer-details[open]) .hero-home>.doorway-art{opacity:.72}
 }
 .hero .hero-actions{width:100%;display:grid;gap:3px;margin:0 0 5px}
 .hero .hero-home{width:100%;min-height:98px;grid-template-columns:clamp(68px,26vw,124px) minmax(0,1fr) auto}
 .hero .reading-link{justify-self:start}
 .hero .dek{font-size:.91rem;line-height:1.42}
 .hero .meta{margin-top:9px}
 .reading{--room-gutter:13px}
 .chapter-room{margin-inline:-6px;margin-bottom:22px}
 .chapter-room .article-threshold{height:clamp(137px,45vw,205px)}
 .room-landing{top:clamp(134px,45vw,202px)}
 .room-page{margin-inline:8px;margin-top:18px;padding-top:15px}
 .room-page>h2{font-size:clamp(30px,7.6vw,44px)}
 .room-page{line-height:1.58}
 .room-page .bridge{margin-inline:0}
.reading .answer-sign a.answer-home{grid-template-columns:49px minmax(0,1fr) auto;gap:9px;padding-right:9px}
 .sign-arrow{width:29px;height:29px}
 .home-invite{grid-template-columns:clamp(52px,18vw,82px) minmax(0,1fr)}
 .invite-copy{padding-left:9px;padding-right:27px}
 .invite-close{right:0}
 .invite-actions{gap:2px 8px}
 .invite-keep{min-height:44px}
}

.mast,.contents,.mobile-contents{
 background:linear-gradient(125deg,#382a33f2,#221923f6),url("cloth.webp") center/360px auto
}
.mast{box-shadow:0 4px 13px #170e19a1,inset 0 -3px #110b14b0}
.progress span{background:linear-gradient(90deg,#a86c4b,#e5a977 64%,#ffe4ae);box-shadow:0 0 6px #e6a76e93}
.hero{
 background:
  radial-gradient(ellipse at 79% 36%,#b6795878,transparent 59%),
  linear-gradient(150deg,#231926f2,#3e2b37c4 63%,#231925ec),
  url("plum-hall.webp") center 58%/cover
}
.hero-photo{background:linear-gradient(118deg,#77543c77,#2c1e22aa),url("desk-walnut.webp") center/160px}
.hero-photo::before{
 content:"";position:absolute;z-index:1;inset:7px;pointer-events:none;
 box-shadow:inset 0 0 0 1px #efce9a8f,inset 0 0 0 3px #21191b83;
 background:linear-gradient(125deg,#fff0b921,transparent 35%)
}
.reading-room{
 background:radial-gradient(ellipse at 66% 0%,#f8e5c7 2%,transparent 520px),
  linear-gradient(90deg,#4b2c2230,transparent 14% 90%,#4b2c2233),
  url("plaster.webp") center top/auto 650px
}
.contents{box-shadow:0 12px 21px #3b241f43,inset 0 0 0 3px #c8975f29,inset 0 0 0 4px #1d151d88}
.contents a[aria-current="location"]{background:linear-gradient(105deg,#f4d7a6,#edc18e)}
.contents:not(:has(li)),.reading .mobile-contents:not(:has(li)){display:none}
.rail-home,.departure-guides a{
 background:linear-gradient(110deg,#fff1d99e,#e2be8c97),url("paper.webp") center/340px;color:#38261d
}
.rail-home{
 display:grid;grid-template-columns:44px minmax(0,1fr) 18px;gap:8px;
 margin:0 0 9px;padding:0 9px 0 0;min-height:66px;
 box-shadow:inset 0 0 0 2px #fff4d980,0 5px 9px #3b241f36
}
.rail-home .doorway-art{
 min-height:0;height:100%;--doorway-trim:3px;--room-view:url("morning-hall.webp");
 border-inline-end:1px solid #a78363
}
.rail-home small{font-size:.67rem;font-weight:650}
.rail-home strong{font:400 20px/1.02 var(--serif)}
.rail-home b{justify-self:center}
.reading>.article-lead{
 padding:clamp(11px,2vw,20px) clamp(13px,2.4vw,24px);
 background:linear-gradient(110deg,#fff8e9ed,#f3dfc0df),url("paper.webp") center/420px;
 border:1px solid #b18a61;border-inline-start:3px solid #956342;
 box-shadow:inset 0 0 0 2px #fff8e8b5,0 5px 13px #41271b20
}
.chapter-room{
 box-shadow:0 17px 30px #452a2639,inset 4px 0 #e0b68154,inset -4px 0 #38241f6b;
 border-color:#957151;
 scroll-margin-top:49px
}
.room-page{
 background:linear-gradient(104deg,var(--page),#fff5e5ed 78%),url("paper.webp") center/410px;
 box-shadow:0 13px 29px #2a1a2738,inset 0 1px #fff8ef,inset 0 0 0 3px #af8c6040
}
.room-page>h2:not([data-room-heading]){
 padding-top:.55em;
 max-width:none;
 border-top:1px solid #a57e5153;
 background:linear-gradient(90deg,var(--trim) 0 27px,transparent 27px) left top/100% 2px no-repeat;
 font-size:clamp(29px,3.2vw,45px)
}
.room-plaque{border-radius:2px;background:linear-gradient(114deg,#ffffff16,transparent),var(--trim);box-shadow:inset 0 0 0 1px #ffffff21,0 2px 0 #96785855}
.reading :is(.paper-panel,.sb-native-table,.sb-pattern-decoder,.sb-signature-plan,.sb-decision-map,.sb-quick-answer){
 background:linear-gradient(118deg,#fffbf0,#f2dfc7);
 box-shadow:inset 0 0 0 2px #fffaf0a3,0 6px 17px #53362114
}
.reading blockquote{
 margin:1.2em 0;padding:.6em 1em;border-inline-start:3px solid var(--trim,#91633e);
 background:#fff5e6b8;color:#453121
}
.reading th{background:linear-gradient(105deg,#e4c8a1,#eedabd)}
.reading tbody tr:nth-child(even){background:#e9d7bd54}
.reading details:is(.reading-fold,.faq-fold)[open]{box-shadow:inset 0 0 0 2px #fff9ed,0 4px 10px #35201d14}
.reading .faq-fold summary{color:#4d3025}
.reading .source-index .source-number{
 border-color:#b38c63;background:linear-gradient(150deg,#fff5e1,#e9cda8);
 box-shadow:inset 0 0 0 1px #fff0d9;color:#4d321f;border-radius:2px
}
.room-exit{
 display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:6px;
 padding:7px;margin:0 clamp(9px,2.3vw,25px) clamp(9px,2.3vw,25px);
 background:linear-gradient(110deg,#2b1e28bc,#211922ed),var(--surface) center/cover;
 border:1px solid #a07b58;box-shadow:0 7px 13px #24172050,inset 0 0 0 2px #bc916331
}
.room-exit:not(:has(.room-exit-next)){grid-template-columns:1fr}
.reading .room-exit a{
 display:grid;align-items:center;gap:9px;min-height:60px;min-width:0;
 padding-right:10px;border:1px solid #aa825d;text-decoration:none
}
.reading .room-exit .room-exit-home{
 grid-template-columns:clamp(42px,7vw,60px) minmax(0,1fr) 22px;
 color:#33211b;background:linear-gradient(113deg,#ffedcf,#ebbc88);
 box-shadow:inset 0 0 0 2px #fff4d97d
}
.reading .room-exit a.room-exit-next{
 grid-template-columns:minmax(0,1fr) 20px;padding:6px 10px;color:#fff3de;background:#30232f
}
.room-exit small,.room-exit strong{display:block}
.room-exit small{font-weight:700;font-size:.66rem;line-height:1.2}
.room-exit strong{font:400 clamp(18px,2.2vw,23px)/1.04 var(--serif);margin-top:3px}
.room-exit b{font-weight:650;justify-self:center}
.room-exit a:is(:hover,:focus-visible) strong{text-decoration:underline}
.room-exit a:focus-visible{outline:2px solid #ffedc8;outline-offset:-3px}
.room-exit .portal-art{height:100%;min-height:0;--room-view:url("library-hall.webp")}
.room-exit[data-room="desk"] .portal-art{--room-view:url("workshop-hall.webp")}
.room-exit[data-room="lantern"] .portal-art{--room-view:url("viewing-hall.webp")}
.room-exit .portal-frame{border-width:3px}
.room-exit .portal-view{inset:4% 8% 12%}
.room-exit .portal-light{opacity:calc(.45 + var(--house-pass,.5)*.35)}
.room-exit-home:is(:hover,:focus-visible,:active) .portal-light{opacity:.95}
.room-exit-home:is(:hover,:focus-visible,:active) b{
 background:#fff6de;box-shadow:0 0 14px #fff4c2b5
}
.room-exit-home b{border:1px solid #92653e;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:.8rem}
.hallway .hall-door,.reading .room-exit a{overflow-wrap:anywhere}
.threshold-frame i{
 background:linear-gradient(90deg,#1a101a,transparent 38%,#2b1b23ba 78%,#e1ab748c),var(--surface) center/cover;
 box-shadow:7px 0 16px #160f17b8
}
.room-landing span{mix-blend-mode:screen}
.hallway,.ending-card{
 background:radial-gradient(ellipse at 22% 0%,#b0765159,transparent 65%),
  linear-gradient(132deg,#372733c9,#211923f5),url("cloth.webp") center/420px;
 box-shadow:0 13px 26px #331b285c,inset 0 0 0 4px #d4a36d2f,inset 0 0 0 5px #1f161e
}
.hallway .hall-front .portal-view{
 background-image:linear-gradient(90deg,#26192456,transparent 53%,#20142148),var(--room-view)
}
.hallway .hall-door:first-of-type{background:linear-gradient(110deg,#4b4634,#302c26)}
.hallway .hall-door:last-of-type{background:linear-gradient(105deg,#4e302f,#2b2029)}
.hallway .hall-arrow,.departure-guides a>span:last-child{justify-self:center}
.hallway .hall-front .portal-art::after,.departure-scene::after{
 content:"";position:absolute;inset:0 -22%;z-index:4;pointer-events:none;
 background:linear-gradient(115deg,transparent 23%,#df9c5938 44%,#ffe4a845 49%,transparent 65%);
 opacity:.65;transform:translateX(calc((var(--house-pass,.5) - .5)*35%))
}
.ending-portal:is(:hover,:focus-visible) .primary,
.hall-front:is(:hover,:focus-visible) .primary,
.departure-link:is(:hover,:focus-visible) .primary{
 box-shadow:0 0 14px #ffd38f79,inset 0 0 0 1px #fff1cb
}
.portal:active .portal-frame,.departure-link:active .portal-frame{
 box-shadow:0 0 0 1px #f5c58a,inset 0 0 13px #f8c88aab
}
.article-ending{
 background:linear-gradient(177deg,#d8b68a7a,#3729329c 43%,#261d27 94%),
  url("plaster.webp") center 30%/auto 650px
}
.departure{
 background:radial-gradient(ellipse at 59% 27%,#ba7b514f,transparent 68%),
  linear-gradient(180deg,#261d2790,#261d27),url("hero-night.webp") center 56%/cover
}
.departure-link{background:linear-gradient(115deg,#261a26f2,#533630d4),url("cloth.webp") center/440px}
.departure-guides{width:min(1090px,calc(100% - 76px));margin:12px auto 0;display:flex;justify-content:flex-start}
.departure-guides a{
 display:inline-grid;grid-template-columns:auto minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:48px;
 border:1px solid #c48e5b;box-shadow:inset 0 0 0 2px #fff4d974,0 7px 16px #130b1678;
 padding:7px 12px;font-size:.89rem;font-weight:700;text-decoration:none
}
.departure-guides a:is(:hover,:focus-visible) span:nth-child(2){text-decoration:underline}
.doorway-walk :is(.portal-art,.departure-scene,.invite-scene){display:block;width:100%;height:100%;min-height:0;border:0}
.doorway-walk .doorway-art{border:0}
.doorway-walk .invite-scene{background-position:51% 57%}
@media(max-width:860px){.departure-guides{width:min(690px,calc(100% - 44px))}}
@media(max-width:620px){
 .hero{background-position:center,center,56% 46%}
 .hero-photo{padding:6px}
 .hero-photo::before{inset:5px}
 .departure-guides a{width:100%}
 .room-exit{grid-template-columns:1fr;padding:5px;margin-inline:8px}
 .reading .room-exit .room-exit-next{min-height:49px}
 .room-exit .portal-art{height:100%}
}

.portal-view:has(.portal-peek){overflow:hidden}
.portal-peek{
 position:absolute;inset:0;display:grid;place-items:center;
 color:#ffeed4;pointer-events:none;
 background:linear-gradient(180deg,#2918221f,transparent 35%,#29182035)
}
.peek-image{display:block;width:100%;height:100%;background-repeat:no-repeat}
.portal-peek[data-kind="video"] .peek-image{background:url("presentation.jpg") 69% center/cover}
.portal-peek[data-kind="worksheet"] .peek-image{
 height:var(--peek-sheet-height,78%);width:auto;max-width:87%;aspect-ratio:850/1100;
 border:1px solid #e2bb86;background:#fff9ea;box-shadow:4px 5px 13px #24141cca;
 background:#fff9ea url("tonight-rescue.png") center/contain no-repeat;
 transform:rotate(-6deg)
}
.peek-play{
 position:absolute;inset:auto;display:grid;place-items:center;width:28px;height:28px;
 border:1px solid #f4cf94;border-radius:50%;background:#2e1f2ce8;color:#fff6db;
 font:650 .72rem/1 var(--sans)
}
.peek-book{
 width:68%;max-width:116px;min-height:var(--peek-book-height,72%);display:grid;align-content:center;
 padding:6% 5% 6% 9%;color:#fff5de;background:
  linear-gradient(90deg,#30281e 0 9%,#d3b478 10%,#4b4634 12%,#606747 100%);
 border:1px solid #c5a672;border-radius:2px 0 0 2px;box-shadow:4px 6px 13px #1b1418b2;
 transform:perspective(180px) rotateY(-12deg) rotate(-5deg)
}
.peek-curtain{
 --curtain-side:-1;
 position:absolute;inset:0 auto 0 0;width:50%;transform-origin:left center;
 background:repeating-linear-gradient(92deg,#190e1bcc,#581d35ce 15%,#b26955aa 24%,#281227df 37%),
  url("cloth.webp") center/cover;
 box-shadow:inset 0 0 10px #1a101dbd,1px 0 2px #e1ad747b;
 transform:translateX(-36%) scaleX(.92)
}
.peek-curtain-right{--curtain-side:1;inset:0 0 0 auto;transform-origin:right center;transform:translateX(36%) scaleX(.92)}
.doorway-walk-forward{
 --book-rest-angle:-5deg;
}
.doorway-walk-forward .peek-book{animation:doorway-book-pull 800ms both}
.doorway-walk-forward .portal-peek[data-kind="worksheet"] .peek-image{animation:doorway-paper-lift 800ms both}
.doorway-walk-forward .peek-curtain{animation:doorway-curtain-part 800ms both}
.doorway-walk[data-returning] .peek-book{
 animation:doorway-book-return var(--walk-duration) both
}
.doorway-walk[data-returning] .portal-peek[data-kind="guide"]::before{
 content:"";position:absolute;inset:auto 13% 9%;height:12%;
 background:radial-gradient(ellipse at center,#1b1117e8,transparent 70%);
 animation:doorway-slot-shadow var(--walk-duration) both
}
.doorway-walk[data-returning] .portal-peek[data-kind="worksheet"] .peek-image{
 position:relative;overflow:hidden;
 animation:doorway-paper-return var(--walk-duration) both
}
.doorway-walk[data-returning] .portal-peek[data-kind="worksheet"] .peek-image::after{
 content:"";position:absolute;inset:0 -12%;
 background:linear-gradient(108deg,transparent 31%,#f2ac5440 40%,#fff9d5c4 49%,#ffd88650 57%,transparent 67%);
 mix-blend-mode:screen;
 animation:doorway-sheet-reflection var(--walk-duration) both
}
.doorway-walk[data-returning] .peek-curtain{
 animation:doorway-curtain-return var(--walk-duration) both
}
.doorway-walk[data-returning] .peek-curtain-right{
 animation-duration:calc(var(--walk-duration) - 24ms);
 animation-delay:24ms
}
.doorway-walk[data-returning] .portal-peek:not([data-kind="home"])::after{
 content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(120deg,transparent 20%,#ffcf9b65 48%,transparent 73%);
 animation:doorway-return-object-light var(--walk-duration) both
}
.doorway-walk[data-returning] .portal-view:has(.portal-peek:not([data-kind="home"])){transform:none}
.is-receiving-doorway :is(.peek-book,.portal-peek[data-kind="worksheet"] .peek-image,.peek-curtain){
 animation:doorway-object-reveal var(--walk-duration) both
}
@keyframes doorway-object-reveal{
 0%,86%{opacity:0}
 100%{opacity:1}
}
.peek-book span{
 display:block;border-block:1px solid #e5cc9587;padding-block:5%;
 font:400 var(--peek-book-type,clamp(8px,1.5vw,18px))/1 var(--serif);overflow-wrap:break-word
}
.peek-title{display:block;margin-top:4px;font:650 .76rem/1.22 var(--sans)}
.bridge-copy .peek-title{margin:0 0 10px}
.hallway .hall-door:has(.portal-peek){grid-template-columns:62px minmax(0,1fr) 20px;min-height:88px}
.hall-door .portal-art,.room-exit .portal-art{--peek-book-type:8px;--peek-book-height:0%}
.room-exit .portal-art:has(.portal-peek){min-height:79px}
.reading .room-exit .room-exit-home:has(.portal-peek){grid-template-columns:clamp(67px,9vw,99px) minmax(0,1fr) 22px}
.departure-scene>.portal-art,.invite-scene>.portal-art{width:100%;height:100%;min-height:0;border:0}
.invite-scene>.portal-art .portal-view{inset:0}
.departure-scene>.portal-art .portal-view{inset:4% 8% 7%}
.ending-portal .portal-art{--peek-sheet-height:85%}
.portal-peek[data-kind="home"]{background:url("hero-night.webp") 61% center/cover}
@media(prefers-reduced-motion:no-preference){
 a:has(.portal-peek) .portal-peek{transition:transform 180ms ease,filter 180ms ease}
 a:has(.portal-peek):is(:hover,:focus-visible,:active) .portal-peek{
  transform:scale(1.09);filter:brightness(1.16)
 }
}
@media(max-width:620px){
 .hallway-grid:has(.portal-peek){grid-template-columns:1fr}
 .hallway .hall-door:has(.portal-peek){grid-template-columns:78px minmax(0,1fr) 20px;min-height:86px}
 .hallway .hall-door:has(.portal-peek) .hall-label{padding:8px 7px}
 .hall-door .peek-title{font-size:.74rem}
 .hall-door .hall-label strong{font-size:clamp(20px,5vw,25px)}
 .reading .room-exit .room-exit-home:has(.portal-peek){grid-template-columns:83px minmax(0,1fr) 22px}
 .bridge .portal-art:has(.portal-peek){height:clamp(145px,46vw,201px)}
 .portal-peek[data-kind="video"] .peek-image{background-image:url("presentation-phone.jpg")}
}

/* Both pages use this timeline. Navigation happens at 420 ms. */
@keyframes doorway-book-pull{
 0%{transform:translate(0,0) rotate(-5deg)}
 15%{transform:translate(1%,-3%) rotate(-5deg);animation-timing-function:cubic-bezier(.2,.6,.34,1)}
 53%{transform:translate(12%,-17%) rotate(-9deg) scale(1.07)}
 69%{transform:translate(15%,-21%) rotate(-10deg) scale(1.085);animation-timing-function:cubic-bezier(.23,.65,.32,1)}
 100%{transform:translate(0,0) rotate(var(--book-rest-angle,0deg))}
}
@keyframes doorway-paper-lift{
 0%{transform:translate(0,0) rotate(-5deg)}
 16%{transform:translate(1%,-4%) rotate(-7deg);animation-timing-function:cubic-bezier(.2,.62,.35,1)}
 53%{transform:translate(5%,-22%) rotate(1deg) scale(1.15)}
 69%{transform:translate(7%,-28%) rotate(3deg) scale(1.18);animation-timing-function:cubic-bezier(.25,.68,.32,1)}
 100%{transform:translate(0,0) rotate(-5deg)}
}
@keyframes doorway-curtain-part{
 0%{transform:translateX(calc(var(--curtain-side)*36%)) scaleX(.92)}
 19%{transform:translateX(calc(var(--curtain-side)*40%)) scaleX(.88);animation-timing-function:cubic-bezier(.32,.07,.3,1)}
 53%{transform:translateX(calc(var(--curtain-side)*70%)) scaleX(.77)}
 73%{transform:translateX(calc(var(--curtain-side)*104%)) scaleX(.56)}
 100%{transform:translateX(calc(var(--curtain-side)*104%)) scaleX(.56)}
}

/* The objects settle as the return doorway reaches its place on the page. */
@keyframes doorway-book-return{
 0%,19%{transform:translate(15%,-21%) rotate(-10deg) scale(1.085)}
 59%{transform:perspective(180px) translate(6%,-11%) rotateY(-7deg) rotate(-7deg);animation-timing-function:cubic-bezier(.48,.02,.83,.55)}
 75%{transform:perspective(180px) translate(-3%,2.5%) rotateY(-15deg) rotate(-4deg);animation-timing-function:ease-out}
 84%{transform:perspective(180px) translate(.8%,-1%) rotateY(-11deg) rotate(-5.5deg)}
 94%,100%{transform:perspective(180px) rotateY(-12deg) rotate(-5deg)}
}
@keyframes doorway-slot-shadow{
 0%,55%{opacity:0;transform:translateX(12%) scaleX(1.24)}
 75%{opacity:.86;transform:translateX(-1%) scaleX(1.04)}
 92%{opacity:.38;transform:translateX(0) scaleX(1)}
 100%{opacity:0;transform:translateX(0) scaleX(1)}
}
@keyframes doorway-sheet-reflection{
 0%,48%{opacity:0;transform:translateX(-46%)}
 68%{opacity:.9;transform:translateX(-6%)}
 83%{opacity:.62;transform:translateX(22%)}
 100%{opacity:0;transform:translateX(58%)}
}
@keyframes doorway-curtain-return{
 0%,19%{transform:translateX(calc(var(--curtain-side)*104%)) scaleX(.56)}
 49%{transform:translateX(calc(var(--curtain-side)*65%)) scaleX(.77);animation-timing-function:ease-out}
 66%{transform:translateX(calc(var(--curtain-side)*26%)) skewX(calc(var(--curtain-side)*-5deg)) scaleX(.99)}
 79%{transform:translateX(calc(var(--curtain-side)*41%)) skewX(calc(var(--curtain-side)*3deg)) scaleX(.88)}
 91%{transform:translateX(calc(var(--curtain-side)*33%)) skewX(calc(var(--curtain-side)*-1.4deg)) scaleX(.95)}
 100%{transform:translateX(calc(var(--curtain-side)*36%)) scaleX(.92)}
}
@keyframes doorway-paper-return{
 0%,15%{transform:translate(7%,-28%) rotate(3deg) scale(1.18)}
 56%{transform:translate(2%,-12%) rotate(-1deg) scale(1.06);animation-timing-function:ease-in}
 72%{transform:perspective(145px) translateY(1.5%) rotate(-7deg) rotateX(15deg) scaleY(.965)}
 84%{transform:perspective(145px) translateY(-1.5%) rotate(-6deg) rotateX(-5deg)}
 97%,100%{transform:rotate(-6deg)}
}
@keyframes doorway-return-object-light{
 0%,16%{opacity:0}
 39%{opacity:.58}
 75%{opacity:.31}
 100%{opacity:0}
}

.doorway-walk-light,
html:is([data-doorway-arrival],[data-doorway-return-pending])::after{
 content:"";position:fixed;inset:0;z-index:10001;pointer-events:none;
 background:radial-gradient(ellipse at 50% 45%,#fff1d2 4%,#f8d6a2 33%,#e9ac73 66%,#b67450 100%)
}

.sb-house-articles .hero .dek:empty{display:none}
.sb-house-articles .reading :is(.house-article-body,#sb26-main-content,.sbds-article){
 max-width:none;width:auto;margin:0;padding:0;background:none;border:0;box-shadow:none
}
.sb-house-articles .house-article-body :is(#sb26-main-content,.sbds-article)>.article-lead{
 padding:clamp(11px,2vw,20px) clamp(13px,2.4vw,24px);
 background:linear-gradient(110deg,#fff8e9ed,#f3dfc0df),url("paper.webp") center/420px;
 border:1px solid #b18a61;border-inline-start:3px solid #956342;
 box-shadow:inset 0 0 0 2px #fff8e8b5,0 5px 13px #41271b20
}
.sb-house-articles .article-invitation{display:contents}
.sb-house-articles .hero-grid:not(:has(.hero-photo)){grid-template-columns:minmax(0,1fr)}
.sb-house-articles .reading :is(iframe,video){max-width:100%}
.sb-house-articles .reading .table-scroll{margin-block:1em}
.sb-house-articles .reading .table-scroll table{margin:0}
.sb-house-articles #comments{width:min(950px,calc(100% - 36px));margin:32px auto}
.sb-house-articles{font:400 17px/1.67 var(--sans);color:var(--ink);margin:0}
.sb-house-articles :is(.mast,.hero) a{color:inherit}
.sb-house-articles .mast .home-link,.sb-house-articles .hero .hero-home{color:#302019}
.sb-house-articles .hero .hero-crumb{color:#edc69e}
.sb-house-articles .hero .reading-link{color:#fff1e1}
.sb-house-articles .mast .brand{color:#fff1e4}
.sb-house-articles :is(.quick-answer,.hero-door-copy,.meta,.dek){font-family:var(--sans)}
.sb-house-articles :is(.quick-answer,.dek,.meta) :is(p,span),
.sb-house-articles :is(.hero-crumb,.reading-link,.home-link,.answer-details summary){font-family:var(--sans)}
.sb-house-articles :is(.reading,.room-page) :is(p,li,th,td,figcaption,summary){font-family:var(--sans)}
.sb-house-articles .answer-details summary{color:#563720}
.sb-house-articles .hero h1,.sb-house-articles .reading :is(h2,h3,h4){font-family:var(--serif)}

/* Override the legacy affiliate theme's sitewide link palette only in House UI. */
body.sb-house-articles[data-sb-house-article] :is(.mast .brand,.mast-free,.reading-link,.departure-link,.hall-front,.hall-door,.mobile-home a){
 color:#fff1e4
}
body.sb-house-articles[data-sb-house-article] .hero-crumb{color:#edc69e}
body.sb-house-articles[data-sb-house-article] :is(.home-link,.hero-home,.answer-doorway,.rail-home,.departure-guides a,.home-invite a,.ending-portal .primary){
 color:#302019
}
body.sb-house-articles[data-sb-house-article] :is(.hero h1,.departure-title,.ending-copy h2){color:#fff1e1}
body.sb-house-articles[data-sb-house-article] :is(.hero h1 em,.brand em,.ending-copy h2 em){color:#f3cb9d}
body.sb-house-articles[data-sb-house-article] :is(.quick-answer p,.answer-details-copy p){color:#30221e}
body.sb-house-articles[data-sb-house-article] .answer-details summary{color:#563720}
body.sb-house-articles[data-sb-house-article] :is(.reading .room-page,.article-lead){color:#32251f}
body.sb-house-articles[data-sb-house-article] .reading .bridge-library .portal{color:#32251f}
body.sb-house-articles[data-sb-house-article] :is(.reading .bridge-workshop .portal,.reading .answer-home,.reading .room-exit-next,.contents a,.mobile-contents nav a){color:#fff0dc}
body.sb-house-articles[data-sb-house-article] :is(.contents,.mobile-contents nav) a[aria-current="location"]{color:#251b25 !important}
body.sb-house-articles[data-sb-house-article] .reading .room-exit-home{color:#33211b}
body.sb-house-articles[data-sb-house-article] .reading :is(.paper-panel,.table-scroll,figure,details){min-width:0;max-width:100%}
body.sb-house-articles[data-sb-house-article] .reading :is(.wp-block-embed,.wp-block-image,.wp-caption){max-width:100%}

/* Existing posts contain standalone editorial layouts with inline palettes. */
.sb-house-articles .house-article-body :is(.sb-answer-first,.sb-native-component,[data-sb-component]){
 --house-panel-paper:#fcf0dc;
 --house-panel-line:#b9956e;
 background:linear-gradient(132deg,#fff8e9,var(--house-panel-paper)) !important;
 color:#32251f !important;
 border:1px solid var(--house-panel-line) !important;
 border-inline-start:3px solid #986c46 !important;
 border-radius:2px !important;
 box-shadow:0 7px 17px #50321c1a !important;
 min-width:0;
}
.sb-house-articles .house-article-body :is(.sb-answer-first,.sb-native-component,[data-sb-component]) :is(h2,h3,h4,p,li,caption){
 color:#32251f !important;
}
.sb-house-articles .house-article-body :is(.sb-answer-first,.sb-native-component,[data-sb-component]) :is(section,div)[style*="background"]:not([style*="display:grid"]){
 background:#fff9ee !important;
 color:#32251f !important;
 border:1px solid #c4a78a !important;
 border-radius:2px !important;
}
.sb-house-articles .house-article-body [style*="display:grid"]{
 min-width:0;
}
.sb-house-articles .house-article-body :is(.sb-native-component,[data-sb-component]) [style*="minmax"]{
 grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)) !important;
}
.sb-house-articles .house-article-body :is(.sb-native-component,[data-sb-component]) :is(thead th,tbody th){
 background:#ecd8bb !important;
 color:#392919 !important;
 border-color:#c3a17d !important;
}
.sb-house-articles .house-article-body :is(.sb-native-component,[data-sb-component]) td{
 background:#fff8ec !important;
 color:#32251f !important;
 border-color:#c3a17d !important;
}
.sb-house-articles .house-article-body .sb-three-clock-matrix td::before{color:#6a462d}
.sb-house-articles .house-article-body .sb-three-clock-matrix tbody tr{border-color:#a9815b}
.sb-house-articles .house-article-body :is(.sb-native-component,[data-sb-component]) a:not(.button){
 color:#5d341d !important;
}
.sb-house-articles .house-article-body figure[style] img{border-radius:2px !important}
.sb-house-articles .house-article-body figure figcaption[style]{color:#634e41 !important}
body.sb-house-articles[data-sb-house-article]{
 color:#32251f !important;
 background:#f1e3cb !important;
 font-family:var(--sans) !important;
}
body.sb-house-articles[data-sb-house-article] :is(.mast .brand,.departure .brand,.departure-title,.rail-home strong,.room-exit a strong){
 font-family:var(--serif) !important;
}
body.sb-house-articles[data-sb-house-article] :is(.reading p a,.reading li a,.reading p strong,.reading li strong,.contents a,.mobile-contents nav a,.sample summary,.mast-free,.mobile-home a,.ending-portal .button){
 font-family:var(--sans) !important;
}
.sb-house-articles .house-article-body .sbds-article:not(:has(.chapter-room)){
 background:#fff6e5;
 border:1px solid #b89a76;
 padding:clamp(12px,2.7vw,28px);
}
.sb-house-articles .room-page>section>h2[data-room-heading]{
 font-size:clamp(30px,4.1vw,58px);
 margin:.25em 0 .46em;
}
.sb-house-articles .house-article-body :is(.sb-native-component,[data-sb-component="topic-to-sleep-homepage-card"]) a.button{
 color:#302019 !important;
}
