:root{--espresso:#211a17;--cream:#f3eadf;--red:#c92f3a;--rose:#e6b1a9;--sage:#7e8d78;--ink:#342b27;--pad:clamp(18px,5.5vw,90px);font-family:Arial,Helvetica,sans-serif;background:var(--espresso);color:var(--cream)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--espresso)}
a,button{font:inherit;color:inherit}
button{cursor:pointer}
.skip{position:fixed;top:-70px;left:12px;z-index:40;padding:10px;background:white;color:black}
.skip:focus{top:12px}
.dictionary{height:70px;padding:0 var(--pad);display:flex;align-items:center;gap:30px;border-bottom:1px solid #54453f}
.dictionary a{text-decoration:none;font-weight:900}
.dictionary span{margin-left:auto;color:var(--rose);font:10px/1 monospace;letter-spacing:.15em}
.dictionary button,.actions button{padding:12px 18px;border:1px solid #a99890;background:transparent;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.12em}
.dictionary button{border-color:var(--red)}
button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.close{min-height:calc(100svh - 70px);display:grid;grid-template-columns:1.15fr .85fr;position:relative}
.close figure{margin:0;position:relative;overflow:hidden}
.close img{width:100%;height:100%;object-fit:cover}
.close figcaption,.chapter figcaption,.conversation figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:12px 14px;background:#211a17e8;font-size:9px;text-transform:uppercase;letter-spacing:.13em}
.close-copy{align-self:center;padding:65px var(--pad);position:relative;z-index:2}
.close-copy>p:first-child{display:inline-block;margin:0 0 35px;padding:8px 10px;background:var(--cream);color:var(--espresso);font-size:10px;font-weight:900;text-transform:uppercase}
.close-copy>span,.chapter>div>span,.conversation>div>span,.possibilities>p,.broker article>p{color:var(--rose);font:900 10px/1 monospace;letter-spacing:.18em}
.close h1,.definitions h2,.chapter h2,.conversation h2,.possibilities h2,.boundary h2,.broker h2{margin:18px 0 0;font-family:Georgia,serif;font-weight:400;line-height:.94;letter-spacing:-.05em}
.close h1{font-size:clamp(58px,8vw,124px)}
.close-copy>p:last-of-type{max-width:610px;color:#d1c4bd;font-size:18px;line-height:1.65}
.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:31px}
.actions .red{background:var(--red);border-color:var(--red);color:white}
.close small{display:block;margin-top:14px;color:#9f8f87}
.thread{position:absolute;z-index:3;left:54%;top:7%;bottom:-120px;width:3px;background:var(--red);transform:rotate(-3deg)}
.definitions{padding:clamp(90px,12vw,180px) var(--pad);background:var(--cream);color:var(--ink)}
.definitions header{max-width:950px;max-inline-size:950px;text-wrap:balance}
.definitions header>b{color:var(--red);font:10px/1 monospace;letter-spacing:.2em}
.definitions h2{font-size:clamp(53px,7vw,108px)}
.definitions header p{max-width:700px;color:#625650;line-height:1.7;hyphens:auto}
.definitions ol{margin:70px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #b9aaa1;list-style:none}
.definitions li{padding:25px;border-right:1px solid #b9aaa1}
.definitions li:last-child{border:0}
.definitions li span{font:10px/1 monospace;color:var(--red)}
.definitions strong{display:block;margin-top:55px;font-family:Georgia,serif;font-size:30px;font-weight:400}
.definitions small{display:block;margin-top:12px;line-height:1.5}
.chapter{display:grid;grid-template-columns:.8fr 1.2fr;min-height:790px}
.chapter>div{align-self:center;padding:70px var(--pad)}
.chapter h2{font-size:clamp(50px,6vw,92px)}
.chapter>div p{color:#d1c5bf;line-height:1.7}
.chapter figure{margin:0;position:relative;overflow:hidden}
.chapter img{width:100%;height:100%;object-fit:cover;object-position:center}
.kitchen{grid-template-columns:1.2fr .8fr;background:#39413a}
.kitchen figure{grid-column:1}
.kitchen>div{grid-column:2}
.conversation{display:grid;grid-template-columns:.75fr 1.25fr;min-height:790px;background:var(--cream);color:var(--ink)}
.conversation>div{align-self:center;padding:70px var(--pad)}
.conversation h2{font-size:clamp(50px,6vw,93px)}
.conversation p{color:#655953;line-height:1.7}
.conversation figure{margin:0;position:relative;overflow:hidden}
.conversation img{width:100%;height:100%;object-fit:cover}
.possibilities{padding:clamp(95px,13vw,200px) var(--pad);background:var(--rose);color:var(--ink)}
.possibilities>p{color:#7b1720}
.possibilities h2{max-width:1100px;font-size:clamp(58px,8vw,124px)}
.possibilities>div{margin-top:70px;display:flex;border-top:4px solid var(--ink)}
.possibilities article{flex:1;padding:25px;border-right:1px solid #ad7772;border-inline-end:1px solid #ad7772}
.possibilities article:last-child{border:0}
.possibilities article b{display:block;font-family:Georgia,serif;font-size:28px;font-weight:400}
.possibilities article span{display:block;margin-top:45px;line-height:1.6}
.boundary{padding:clamp(100px,14vw,210px) var(--pad);background:var(--red);color:white}
.boundary>b{font:10px/1 monospace;letter-spacing:.2em}
.boundary h2{font-size:clamp(64px,9vw,141px)}
.boundary>div{max-width:1000px;margin:60px 0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:42px}
.boundary p{line-height:1.7;hyphens:auto;break-inside:avoid}
.broker{padding:clamp(90px,11vw,170px) var(--pad);display:grid;grid-template-columns:.55fr 1fr;gap:70px;background:var(--cream);color:var(--ink)}
.broker>div img{width:min(100%,420px);height:auto}
.broker small{display:block;margin-top:13px;text-transform:uppercase;letter-spacing:.13em}
.broker h2{font-size:clamp(50px,6vw,92px)}
.broker article>p:last-of-type{color:#625650;line-height:1.65}
.broker dl{grid-column:1/-1;margin:20px 0 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:4px solid var(--red)}
.broker dl div{padding:24px;border-right:1px solid #b9aaa1}
.broker dl div:last-child{border:0}
.broker dt{color:var(--red);font-family:Georgia,serif;font-size:clamp(28px,4vw,51px)}
.broker dd{margin:8px 0 0;text-transform:uppercase;font-size:9px;letter-spacing:.13em}
footer{padding:26px var(--pad);display:flex;justify-content:space-between;gap:24px;border-top:1px solid #54453f;color:#9f8f87;font-size:9px;text-transform:uppercase;letter-spacing:.12em}
footer nav{display:flex;gap:18px}

@media(max-width:900px){.close,.chapter,.kitchen,.conversation,.broker{grid-template-columns:1fr}
.close figure{grid-row:1;height:58vh}
.close-copy{grid-row:2}
.thread{left:18px;right:18px;top:56vh;bottom:auto;width:auto;height:3px;transform:none}
.chapter figure,.kitchen figure,.conversation figure{grid-column:1;grid-row:1;min-height:560px}
.chapter>div,.kitchen>div,.conversation>div{grid-column:1;grid-row:2}
.broker dl{grid-column:1}
.boundary>div{margin-left:0}
}

@media(max-width:560px){:root{--pad:18px}
.dictionary{height:64px}
.dictionary span,.dictionary button{display:none}
.close figure{height:46vh}
.thread{top:44vh}
.actions{flex-direction:column}
.actions button{width:100%}
.definitions ol{grid-template-columns:1fr 1fr}
.definitions li{border-bottom:1px solid #b9aaa1}
.chapter figure,.conversation figure{height:430px;min-height:430px}
.possibilities>div{display:grid;grid-template-columns:1fr}
.possibilities article{border-right:0;border-bottom:1px solid #ad7772}
.boundary>div,.broker dl{grid-template-columns:1fr}
.broker dl div{border-right:0;border-bottom:1px solid #b9aaa1}
footer{display:grid;grid-template-columns:1fr auto}
footer span{display:none}
}

.thread{background:linear-gradient(180deg,var(--red) 0 38%,#ffd0d6 49%,var(--red) 61%);background-size:100% 220%;animation:thread-pass 8s linear infinite}
@keyframes thread-pass{to{background-position:0 220%}}
@media(max-width:900px){.thread{background:linear-gradient(90deg,var(--red) 0 38%,#ffd0d6 49%,var(--red) 61%);background-size:220% 100%;animation-name:thread-pass-wide}}
@keyframes thread-pass-wide{to{background-position:220% 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
