:root{color-scheme:light;--paper:#eee5d5;--ink:#491a1c;--gold:#a48755;--muted:#746456;font-family:Georgia,'Times New Roman',serif;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:7px}button{border:0;background:none}button:hover{color:#8a4b35}::selection{background:#572126;color:#f5ebd8}
.hero{position:relative;min-height:860px;height:100svh;max-height:1250px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 18% 40%,#f8f2e6 0,transparent 64%),linear-gradient(130deg,#ede1c9,#eee5d5 55%,#d9cbb5)}
.hero:after{content:'';position:absolute;inset:14px;border:1px solid #a4875536;pointer-events:none;z-index:5}
header{position:relative;z-index:6;padding:40px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:flex;align-items:center;gap:20px;letter-spacing:.19em;font-size:18px}.wordmark svg{height:36px;width:27px;fill:var(--ink);stroke:var(--ink);stroke-width:1.8}.reference-button{font-size:16px;border-bottom:1px solid #a4875570;padding:10px 0}.reference-button span{margin-left:16px}
.hero-copy{position:relative;z-index:3;margin-left:7%;padding-top:9vh;max-width:51%;pointer-events:none}.eyebrow{font:10px/1.5 Arial,sans-serif;letter-spacing:.23em;display:flex;gap:17px;align-items:center}.eyebrow>span{width:37px;height:1px;background:var(--gold)}h1{font-size:clamp(68px,7.4vw,130px);font-weight:400;line-height:.98;letter-spacing:-.063em;margin:35px 0 30px}h1 em{font-weight:400}.gold-rule{height:1px;width:70px;background:var(--gold);margin:34px 0}.intro{font-size:clamp(21px,2vw,30px);line-height:1.4;letter-spacing:-.025em}.invitation{font-size:15px;line-height:1.65;margin-top:40px;color:var(--muted)}.invitation em{font-size:17px}
.portrait-stage{position:absolute;right:-2%;bottom:80px;width:61%;aspect-ratio:1;z-index:1;touch-action:pan-y}.frame-line{position:absolute;inset:7% 11% 8%;border:1px solid #a4875555;border-radius:48% 48% 0 0;box-shadow:0 0 0 9px #a4875510}canvas{display:block;width:100%;height:100%;position:relative;mix-blend-mode:multiply;mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 83%,transparent 98%);opacity:0;transition:opacity .5s}canvas.ready{opacity:1}.portrait-caption{position:absolute;bottom:1%;left:25%;right:20%;display:flex;justify-content:space-between;font:9px Arial,sans-serif;letter-spacing:.2em;color:var(--muted)}#loading{position:absolute;top:45%;left:15%;right:15%;text-align:center;font-style:italic;color:var(--muted)}
.hero-footer{position:absolute;bottom:38px;left:4.5%;right:4.5%;z-index:6;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #a4875545;padding-top:20px}.edition{font:9px/1.5 Arial,sans-serif;letter-spacing:.18em}.edition span{margin:0 14px;color:var(--gold)}#motion-toggle{font-size:13px;padding:6px 0}#motion-toggle span{margin-left:10px;color:var(--gold)}.study-notes{max-width:850px;margin:0 auto;padding:85px 35px 110px}.study-notes h2{font-weight:400;font-size:42px;letter-spacing:-.03em}.study-notes>p:not(.eyebrow){font:16px/1.85 Arial,sans-serif;color:#665d52}.study-notes .touch-note{font-size:13px!important}
dialog{border:1px solid var(--gold);padding:24px;background:var(--paper);color:var(--ink);width:min(1200px,94vw);max-height:92svh}dialog::backdrop{background:#211710d9;backdrop-filter:blur(8px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.dialog-top h2{margin:0;font-size:22px;font-weight:400}dialog img{display:block;width:100%;height:auto}dialog p{font:14px/1.6 Arial,sans-serif}dialog button{font:14px Arial,sans-serif}
@media(min-width:1700px){.portrait-stage{width:58%;bottom:70px}.hero-copy{padding-top:9vh}}
@media(max-width:900px){.hero{min-height:1020px;height:auto;max-height:none}header{padding:32px 7%}.wordmark{font-size:14px;gap:12px}.reference-button{font-size:12px}.reference-button span{display:none}.hero-copy{max-width:90%;padding-top:32px;margin-left:9%}h1{font-size:clamp(63px,10.7vw,94px);margin-top:25px}.intro{font-size:21px}.gold-rule{margin:22px 0}.invitation{margin-top:22px}.portrait-stage{width:78%;right:-5%;bottom:64px;max-width:590px}.hero-copy .invitation{max-width:30%}.hero-footer{left:7%;right:7%;bottom:30px}.edition{max-width:48%;font-size:8px;line-height:1.9}.edition span{margin:0 5px}.hero:after{inset:10px}}
@media(max-width:540px){header{align-items:flex-start}.wordmark{font-size:12px;letter-spacing:.14em;gap:8px}.wordmark svg{width:20px;height:28px}.reference-button{max-width:94px;text-align:right;line-height:1.5;padding-top:0}.hero{min-height:980px}.hero-copy{padding-top:12px}.eyebrow{font-size:8px}h1{font-size:clamp(57px,13.5vw,74px);line-height:1.02}.intro{font-size:19px}.invitation{font-size:13px;margin-top:23px}.invitation em{font-size:14px}.portrait-stage{width:112%;right:-6%;bottom:90px;max-width:none}.hero-copy .invitation{max-width:100%}.portrait-caption{bottom:2%;left:22%;right:22%;font-size:7px}.study-notes{padding:60px 28px}.study-notes h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* Feather the painted canvas into the paper, without a visible tile edge. */
canvas{mask-image:radial-gradient(ellipse 72% 70% at 50% 40%,#000 45%,#000d 61%,transparent 84%)}
@media(max-width:540px){.hero{min-height:calc(585px + 112vw)}}
