:root{color-scheme:dark;--ink:#100e0b;--type:#fff7e9;--edge:clamp(24px,4vw,76px)}
*{box-sizing:border-box}
html{background:var(--ink);font-size:16px}
body{margin:0;color:var(--type);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
::selection{color:#17120d;background:#f4c688}
.world{isolation:isolate;position:relative;display:grid;grid-template-rows:auto minmax(120px,1fr) auto auto;min-height:100svh;min-height:100dvh;overflow:clip;padding:calc(28px + env(safe-area-inset-top)) max(var(--edge),env(safe-area-inset-right)) calc(clamp(70px,11dvh,140px) + env(safe-area-inset-bottom)) max(var(--edge),env(safe-area-inset-left))}
.scene{position:absolute;z-index:-2;inset:0;display:block;overflow:hidden;background:var(--ink)}
.scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.world::after{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(9,8,6,.32),transparent 18%,transparent 48%,rgba(9,8,6,.08) 65%,rgba(9,8,6,.5))}
.masthead{color:rgba(255,247,233,.72);display:flex;align-items:flex-start;justify-content:space-between;gap:28px;font-size:.875rem;line-height:1.45;letter-spacing:.005em;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.masthead p{margin:0}
h1{margin:0;color:rgba(255,247,233,.8);text-align:center;font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(4.25rem,min(15.5vw,25svh),19rem);line-height:.9;letter-spacing:-.025em;word-spacing:.035em;text-shadow:0 2px 22px rgba(0,0,0,.15)}
h1 span{white-space:nowrap}
.introduction{text-align:center;padding-top:25px}
.introduction p{margin:0;font-size:1rem;line-height:1.55;letter-spacing:.005em;color:rgba(241,229,212,.8)}
@media(orientation:portrait){
  .world{grid-template-rows:auto minmax(150px,1fr) auto auto;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(clamp(76px,13dvh,150px) + env(safe-area-inset-bottom))}
  .scene img{object-position:50% 0%}
  .world::after{background:linear-gradient(180deg,rgba(9,8,6,.32),transparent 18%,transparent 45%,rgba(9,8,6,.08) 63%,rgba(9,8,6,.22))}
  h1{font-size:clamp(4.25rem,min(26vw,16.5svh),12rem);line-height:.85;letter-spacing:-.015em}
  h1 span{display:block}
  h1 span+span{margin-top:0}
  .introduction{padding-top:22px}
}
@media (orientation:landscape) and (max-height:560px){
  .world{padding-top:18px;padding-bottom:clamp(32px,8svh,50px);grid-template-rows:auto minmax(80px,1fr) auto auto}
  .masthead{font-size:.8125rem}
  h1{font-size:clamp(3.5rem,21svh,7rem)}
  .introduction{padding-top:13px}
  .introduction p{font-size:.875rem}
  .introduction br{display:none}
}
@media(max-aspect-ratio:2/5){.scene img{width:100%;height:auto;object-fit:initial;mask-image:linear-gradient(#000 0%,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0%,#000 78%,transparent 100%)}}
@media(max-width:360px){.masthead{font-size:.8125rem;gap:20px}.introduction p{font-size:.9375rem}.world{--edge:20px}}

/* The thesis is a reading state inside the same world. */
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid #d1b189;outline-offset:6px}
[hidden]{display:none!important}
.world::after{background:linear-gradient(180deg,rgba(9,8,6,.32),transparent 18%,transparent 48%,rgba(9,8,6,.08) 65%,#100e0b 100%)}
.thesis-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;margin-top:-12px;padding:10px 0;white-space:nowrap;font-size:.875rem;line-height:1.4;color:rgba(255,247,233,.76)}
.thesis-trigger span{padding-bottom:5px;border-bottom:1px solid rgba(255,247,233,.36);transition:color .2s,border-color .2s}
.thesis-trigger:hover span{color:#fff7e9;border-color:currentColor}
.thesis-dialog{width:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;color:rgba(255,247,233,.84);background:#100e0b}
.thesis-dialog[open]{position:relative;display:flex;flex-direction:column;min-height:100svh}
.thesis-dialog:modal{position:fixed;inset:0;width:100%;height:100%;min-height:0;background:transparent;overflow-y:auto;overscroll-behavior:contain}
.thesis-dialog::backdrop{background:rgba(10,9,7,.88);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.dialog-bar{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex-shrink:0;padding:24px max(var(--edge),env(safe-area-inset-right)) 0 max(var(--edge),env(safe-area-inset-left));position:sticky;top:0;z-index:1;background:#0c0b09}
.close-thesis{appearance:none;border:0;border-radius:0;min-height:44px;min-width:48px;padding:10px 0;margin:0;background:none;color:rgba(255,247,233,.78);font:400 .875rem/1.5 'DM Sans',Arial,sans-serif;text-decoration:underline;text-underline-offset:6px;text-decoration-color:rgba(255,247,233,.35);cursor:pointer}
.close-thesis:hover{color:#fff7e9}
.thesis-reading{width:100%;max-width:688px;padding:68px 24px 88px;margin:auto;font-size:clamp(1.2rem,1.65vw,1.5rem);line-height:1.65;letter-spacing:-.014em}
.thesis-reading p{margin:0 0 1.4em}
.thesis-reading p:last-child{margin-bottom:0}
.thesis-reading strong{font-weight:500;color:#e7c89f;white-space:nowrap}
.thesis-reading .thesis-signature{font-family:'Instrument Serif',Georgia,serif;font-size:2.5rem;line-height:1;letter-spacing:-.025em;color:rgba(255,247,233,.7);padding-top:16px}
body.thesis-open{overflow:hidden}
.thesis-open .world h1,.thesis-open .masthead,.thesis-open .introduction,.thesis-open .thesis-trigger{visibility:hidden}
@media(max-width:600px){
 .dialog-bar{gap:16px;padding-top:16px;padding-bottom:4px}
 .thesis-reading{padding:44px var(--edge) calc(60px + env(safe-area-inset-bottom));font-size:1.1875rem;line-height:1.65;letter-spacing:-.01em}
 .thesis-reading p{margin-bottom:1.35em}
 .thesis-reading .thesis-signature{font-size:2.125rem;padding-top:12px}
}
@media(max-width:360px){.thesis-dialog{--edge:20px}.thesis-reading{font-size:1.125rem}}
@media (orientation:landscape) and (max-height:560px){
 .dialog-bar{padding-top:8px}
 .thesis-reading{padding-top:24px;padding-bottom:40px;font-size:1.125rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
