@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#092b25;--green:#164b3c;--gold:#bba36c;--cream:#f6f2e9;--line:#d8d5c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.7 'DM Sans',Arial,sans-serif}img{display:block;max-width:100%}a{color:inherit}a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{background:#062b22;color:#fff;border-bottom:1px solid #486b5e}.head-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font:normal 1.75rem/1 'Libre Caslon Display',Georgia,serif}.site-header nav{display:flex;gap:25px;flex-wrap:wrap}.site-header nav a{text-decoration:none;font-size:.9rem;font-weight:700}.site-header nav a:hover{text-decoration:underline}.hero{background:radial-gradient(circle at 80% 50%,#235546 0,#0c352b 48%,#05251d 100%);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:6vw;align-items:center;min-height:620px;padding:60px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:700;font-size:.8rem;color:var(--gold)}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:normal}.hero h1{font-size:clamp(3.5rem,6.5vw,6.6rem);line-height:.98;letter-spacing:-.04em;margin:23px 0}.hero h1 em{color:#c7ad78;font-weight:normal}.hero p{font-size:1.16rem;max-width:530px;color:#e2e9df}.button{display:inline-block;background:var(--gold);color:#092b25;text-decoration:none;font-weight:700;padding:13px 23px;margin-top:18px}.button:hover{background:#d9c38f}.hero-art{min-height:440px;position:relative;display:grid;place-items:center}.hero-art .ring{position:absolute;width:min(95%,440px);aspect-ratio:1;border:1px solid #bba36c88;border-radius:50%;box-shadow:0 0 0 27px #bba36c15,0 0 0 54px #bba36c0b}.hero-art img{position:relative;width:min(330px,78%);border-radius:50%;box-shadow:0 20px 45px #001910aa}.about{background:#fff;padding:100px 0}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;border-top:1px solid var(--line);padding-top:27px}.about h2,.book-copy h2{font-size:clamp(3rem,5.5vw,5.3rem);line-height:1;margin:16px 0}.about p{font-size:1.07rem;margin:0 0 22px}.book-section{background:#e9e6d8;padding:100px 0}.book-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.cover{padding:34px;background:#f8f5ea;border:1px solid #d5ccb5;display:grid;place-items:center}.cover img{height:510px;width:100%;object-fit:contain;filter:drop-shadow(0 17px 18px #192e2750)}.book-copy h2{margin:20px 0}.book-copy .subtitle{font-size:1.35rem;font-weight:700;line-height:1.45}.book-copy p{max-width:600px}.button.light{background:var(--green);color:#fff}footer{background:var(--ink);color:#fff;padding:30px 0}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.9rem}@media(max-width:800px){.hero-grid,.about-grid,.book-grid{grid-template-columns:1fr}.hero-grid{gap:0}.hero-art{min-height:360px}.cover img{height:400px}}@media(max-width:550px){.wrap{width:min(100% - 32px,500px)}.head-inner{display:block;padding:20px 0}.site-header nav{margin-top:14px;gap:17px}.hero-grid{padding:65px 0}.hero h1{font-size:3.8rem}.hero-art{min-height:300px}.hero-art img{width:240px}.hero-art .ring{width:280px}.about,.book-section{padding:70px 0}.cover img{height:340px}}
.hero .eyebrow a{text-decoration:none;border-bottom:1px solid currentColor;text-underline-offset:4px}.hero .eyebrow a:hover{color:#e3c88f}
.screen-section{background:#f8f5ed;padding:85px 0;border-top:1px solid var(--line);min-height:100vh;min-height:100svh;display:grid;align-items:center}
.screen-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}
.screen-grid h2{font-size:clamp(3rem,5.5vw,5.3rem);line-height:1;margin:16px 0}
.screen-grid p{font-size:1.15rem;max-width:580px;margin:0 0 21px}
.screen-link{display:inline-block;color:var(--green);font-weight:700;text-underline-offset:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.screen-grid{grid-template-columns:1fr}}
@media(max-width:550px){.screen-section{padding:70px 0}}
.writing-section{background:#0d352b;color:#fff;padding:100px 0}
.writing-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:center}
.writing-grid h2{font:normal clamp(3.4rem,6vw,6rem)/.95 'Libre Caslon Display',Georgia,serif;margin:20px 0}
.writing-grid p{font-size:1.12rem;color:#e2e9df;max-width:460px}
.trailer{aspect-ratio:16/9;background:#09251f;border:1px solid #a99165;box-shadow:0 22px 45px #00191077}
.trailer iframe{width:100%;height:100%;display:block;border:0}
@media(max-width:800px){.writing-grid{grid-template-columns:1fr}.writing-section{padding:75px 0}}
.book-detail{background:#f8f5ed;padding:36px 0 100px;min-height:calc(100vh - 160px)}
.back-link{display:inline-block;color:var(--green);font-weight:700;text-decoration:none;margin-bottom:34px}.back-link:hover{text-decoration:underline}
.detail-grid{display:grid;grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr);gap:clamp(36px,7vw,100px);align-items:start}
.detail-art .cover{position:sticky;top:28px;background:#ede9db}
.detail-art .cover img{height:auto;max-height:620px}
.detail-copy h1{font-size:clamp(3.2rem,6vw,6rem);line-height:.96;letter-spacing:-.035em;margin:19px 0 24px}
.detail-copy .subtitle{font-size:1.3rem;line-height:1.4;font-weight:700;max-width:640px;margin:0 0 32px}
.detail-copy p{font-size:1.08rem;max-width:670px;margin:0 0 20px}
.detail-copy .lead{font-size:1.25rem;line-height:1.55}
.detail-copy h2{font:normal 2rem/1.15 'Libre Caslon Display',Georgia,serif;margin:34px 0 14px}.book-topics{max-width:670px;padding-left:1.4rem;margin:0 0 26px}.book-topics li{font-size:1.05rem;line-height:1.65;margin-bottom:10px}.book-topics li::marker{color:var(--gold)}
.detail-actions{display:flex;flex-direction:column;align-items:flex-start;gap:21px;padding-top:10px}
.detail-actions .button{margin-top:0}.catalog-link{color:var(--green);font-weight:700;text-underline-offset:5px}
@media(max-width:800px){.detail-grid{grid-template-columns:1fr}.detail-art{max-width:410px}.detail-art .cover{position:static}.book-detail{padding-bottom:70px}}
@media(max-width:550px){.book-detail{padding-top:24px}.detail-grid{gap:38px}.detail-art{width:min(100%,350px)}.detail-copy h1{font-size:clamp(3rem,11vw,4rem)}.detail-copy .subtitle{font-size:1.18rem}}

/* Gen X — original screen project. */
.genx-section{background:#eee8da;padding:90px 0;border-block:1px solid #d3c9b4}
.genx-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8vw;align-items:center}
.genx-poster{margin:0;width:100%;max-width:390px;border:1px solid #aa9360;box-shadow:0 20px 40px #092b2520}
.genx-poster a{display:block;text-decoration:none}
.genx-poster img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
.genx-poster-label{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8f5ed;font-size:.95rem;font-weight:700;color:var(--ink)}
.genx-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}
.genx-meta .eyebrow{color:var(--ink);font-size:.9rem;letter-spacing:.1em}
.genx-status{display:inline-block;padding:5px 10px;border:1px solid var(--green);color:var(--ink);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.genx-copy h2{font:normal clamp(4rem,6.2vw,6rem)/1 'Libre Caslon Display',Georgia,serif;margin:22px 0 6px;letter-spacing:-.025em}
.genx-subtitle{font:normal clamp(1.8rem,3vw,2.65rem)/1.15 'Libre Caslon Display',Georgia,serif;margin:0 0 25px}
.genx-credit{font-size:.95rem!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:0 0 25px!important}
.genx-copy>p:not(.genx-subtitle):not(.genx-credit):not(.genx-origin){font-size:1.1rem;line-height:1.75;max-width:570px;margin:0 0 17px}
.genx-copy .button{margin-top:12px}
.genx-copy .genx-origin{font-size:.95rem;font-weight:500;color:var(--ink);margin:16px 0 0}
@media(max-width:800px){.genx-grid{grid-template-columns:1fr;gap:42px}.genx-poster{max-width:390px}.genx-copy{max-width:640px}}
@media(max-width:550px){.genx-section{padding:65px 0}.genx-poster{max-width:350px;justify-self:center}.genx-copy h2{font-size:4.8rem}.genx-subtitle{font-size:2.15rem}.genx-meta{gap:12px}.genx-copy>p:not(.genx-subtitle):not(.genx-credit):not(.genx-origin){font-size:1.03rem}}

/* Screenplay awards — Murder in the (510). */
.screenplay-honors{margin-top:56px;padding-top:30px;border-top:1px solid #76908366}
.screenplay-honors>h3{margin:0 0 22px;color:#d8bf82}
.honors-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.honor-card{display:grid;grid-template-columns:136px minmax(0,1fr);gap:24px;align-items:center;padding:24px;background:#123e32;border:1px solid #8f9c7966}
.honor-laurel{width:136px;height:auto;aspect-ratio:1;object-fit:contain}
.honor-copy p{margin:0}
.honor-result{color:#e4cd96;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.5}
.honor-copy h4{font:normal 1.85rem/1.08 'Libre Caslon Display',Georgia,serif;color:#fff;margin:9px 0 12px}
.honor-festival{color:#edf0e6;font-size:.94rem;line-height:1.5}
.honor-card-bigapple{grid-template-columns:188px minmax(0,1fr)}
.honor-artwork-link{display:block;width:188px}
.honor-laurel-bigapple{display:block;width:100%;height:auto;aspect-ratio:1735/1152;object-fit:contain}
.honors-note{color:#dce5d8;font-size:.9rem;margin:20px 0 0;line-height:1.6}
@media(max-width:950px){.honors-grid{grid-template-columns:1fr}}
@media(max-width:550px){.screenplay-honors{margin-top:42px;padding-top:25px}.honors-grid{gap:16px}.honor-card{grid-template-columns:96px minmax(0,1fr);gap:18px;padding:20px}.honor-laurel,.honor-artwork-link{width:96px}.honor-copy h4{font-size:1.5rem}.honor-result{font-size:.7rem;letter-spacing:.07em}.honor-festival{font-size:.88rem}.honors-note{font-size:.85rem}}
