@font-face{font-family:PT;src:url('assets/PTSerif-Regular.ttf')}*{box-sizing:border-box}body{margin:0;background:#1f281b;color:#ffb627;font-family:Arial,sans-serif}main{position:relative;min-height:850px;height:100svh;overflow:hidden}.photograph,.shade{position:absolute;inset:0}.photograph{background:url('assets/loi-painted-refined.png') center/cover no-repeat;filter:saturate(.9) brightness(.92)}.shade{background:linear-gradient(90deg,#102518b0 0%,#14251b40 48%,transparent 70%),linear-gradient(0deg,#152517ed,transparent 38%)}header{position:relative;padding:28px 38px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid;outline-offset:6px}.title{position:relative;width:54%;padding:7vh 0 0 4%}.title p{font-size:11px;line-height:1.8;letter-spacing:.12em}.title h1{font-family:Bodoni,NotoOkina,PT,Georgia,serif;font-variation-settings:"opsz" 24,"wght" 400;font-size:clamp(90px,11.9vw,205px);font-weight:400;line-height:.84;letter-spacing:-.025em;margin:45px 0 35px;text-transform:uppercase;transform:rotate(-5deg) scaleX(.72);transform-origin:left center;width:130%}.title h1 span{display:block}.title h1 span:last-child{padding-left:8%}.title .rooted{margin-top:50px;font-size:11px}footer{position:absolute;bottom:25px;left:38px;right:38px}.credits{font-size:11px;line-height:1.8;letter-spacing:.025em;font-weight:bold}.contact{display:inline-block;font-size:12px;letter-spacing:.12em;border-bottom:1px solid;padding-bottom:5px;margin-top:20px}.meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.1em;margin-top:24px}aside{text-align:center;font-size:9px;line-height:1.8;color:#c7c5a4;padding:20px}@media(max-width:650px){main{height:auto;min-height:0;padding-top:68vh}.photograph{bottom:auto;height:72vh;background-position:77% center}.shade{bottom:auto;height:72vh;background:linear-gradient(0deg,#1f281b 0%,#1f281bf2 9%,#1f281b80 22%,transparent 42%)}header{position:absolute;top:0;width:100%;padding:18px;font-size:7px;text-shadow:0 1px 3px #000}.title{width:100%;padding:0 22px;margin-top:-35px}.title p{font-size:8px;position:relative;text-align:center}.title h1{font-size:25vw;margin:25px 0;line-height:.83;transform:rotate(-4deg) scaleX(.72);transform-origin:center;width:138.89%;margin-left:-19.445%;text-align:center}.title h1 span:last-child{padding-left:0}.title .rooted{margin-top:30px;font-size:9px}footer{position:relative;inset:auto;padding:20px 22px;text-align:center}.credits{font-size:8px}.contact{font-size:10px}.meta{font-size:7px}aside{font-size:8px;padding:14px}}

/* Palmore reference: centered, bold tracked sans-serif billing and signoff. */
.title p{font-weight:700;font-size:14px;line-height:1.3;letter-spacing:.12em;text-align:center;max-width:440px;margin:0}.title .rooted{font-weight:700;font-size:15px;line-height:1.25;letter-spacing:.13em;margin-top:40px}@media(max-width:650px){.title p{font-size:10px;line-height:1.35;max-width:none}.title .rooted{font-size:12px;line-height:1.3;margin-top:30px}}

/* User-supplied title artwork; original proportions retained. */
.title h1{width:440px;max-width:100%;margin:35px 0;transform:none;line-height:0}.title h1 img{display:block;width:100%;height:auto}@media(max-width:650px){.title h1{width:100%;max-width:100%;margin:25px 0;transform:none}.title h1 img{width:100%;height:auto}}
/* Give the supplied wordmark more poster presence. */
.title h1{width:540px;max-width:100%;margin:30px 0}.title p{max-width:540px}@media(max-width:650px){.title h1{width:calc(100% + 32px);max-width:none;margin:22px -16px}.title p{max-width:none}}

/* Film-credit hierarchy from approved direction-one reference. */
footer{text-align:center}.credits{max-width:850px;margin:0 auto;font-family:'Arial Narrow',Arial,sans-serif;font-stretch:condensed;font-weight:400;letter-spacing:-.03em}.credits p{margin:0;font-size:12px;line-height:1.7}.credits strong{font-size:17px;font-weight:800;margin:0 6px}.credits b{font-size:13px}.credits p span{font-size:9px}.meta{text-align:left}@media(max-width:650px){.credits p{font-size:9px;line-height:1.9}.credits strong{font-size:11px;margin:0 2px}.credits b{font-size:9px}.credits p span{font-size:7px}footer{padding:20px 14px}.credits br{display:none}.credits strong,.credits b,.credits p span{display:inline-block}}
button.contact{background:none;border:0;border-bottom:1px solid currentColor;color:inherit;cursor:pointer;font-family:inherit;padding:0 0 5px}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:4px}dialog{width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;border:0;padding:36px;background:#eadbb8;color:#263223;box-shadow:0 15px 80px #0008;border-radius:4px}dialog::backdrop{background:#101b18c9;backdrop-filter:blur(4px)}.ticket-close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:inherit;font-size:32px;cursor:pointer;padding:0 8px}.ticket-top,.ticket-stub{font-size:9px;letter-spacing:.15em;font-weight:700}.ticket-top{padding-right:20px}dialog h2{font-family:PT,Georgia,serif;font-size:38px;font-weight:400;line-height:1.05;margin:24px 0 12px}.ticket-intro{font-size:14px;margin:0 0 22px}dialog label{display:block;font-size:10px;letter-spacing:.12em;font-weight:bold;margin:16px 0 7px}dialog input,dialog textarea{display:block;width:100%;border:1px solid #817d65;border-radius:0;background:#fff8e5;color:#263223;padding:11px;font:16px Arial,sans-serif}dialog textarea{resize:vertical;min-height:100px}.ticket-note{font-size:11px;line-height:1.5;color:#4b5242;margin:16px 0}.ticket-send{border:0;background:#263223;color:#ffb627;padding:14px 18px;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer;width:100%}.ticket-stub{border-top:2px dashed #9b8f6d;margin:26px -36px -12px;padding:22px 36px 0;position:relative}.ticket-stub:before,.ticket-stub:after{content:'';position:absolute;top:-11px;width:20px;height:20px;border-radius:50%;background:#263223}.ticket-stub:before{left:-10px}.ticket-stub:after{right:-10px}#ticket-status{font-size:12px;line-height:1.5}#ticket-status:empty{display:none}@media(max-width:650px){dialog{padding:28px 22px}dialog h2{font-size:32px}.ticket-stub{margin:24px -22px -6px;padding:20px 22px 0}}
header nav{display:flex;gap:24px}header nav a:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:650px){header nav{gap:14px}}

header nav [aria-current="page"]{border-bottom:1px solid currentColor;padding-bottom:5px}
header>span,header nav{font-size:10px;letter-spacing:.12em}@media(max-width:650px){header>span,header nav{font-size:9px}header nav{gap:14px}}

/* Let the mobile artwork fill the iPhone top safe area while keeping navigation clear. */
@media(max-width:650px){body:not(.journal)>main>header{padding-top:calc(18px + env(safe-area-inset-top,0px));padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}body:not(.journal)>main{padding-top:calc(68vh + env(safe-area-inset-top,0px))}body:not(.journal)>main>.photograph,body:not(.journal)>main>.shade{height:calc(72vh + env(safe-area-inset-top,0px))}}
