:root{--wine:#4c0b13;--red:#9e1b25;--cream:#f0eee6;--ink:#211b18;--teal:#183638;--line:#f0eee650;--display:'Bowlby One SC',Impact,sans-serif;--script:'Mrs Saint Delafield',cursive;--serif:'Cormorant Garamond',Georgia,serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.6 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,p,figure,blockquote{margin:0}a:focus-visible{outline:3px solid #eda666;outline-offset:5px}.skip-link{position:absolute;top:-100px;left:12px;z-index:20;background:var(--cream);padding:10px}.skip-link:focus{top:12px}.book-header{height:90px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:var(--wine);color:var(--cream);border-bottom:1px solid #fff4}.wordmark{display:flex;align-items:center;gap:13px;font:32px/1 var(--display);letter-spacing:-.05em}.wordmark span{font:9px/1.3 var(--body);letter-spacing:.08em}.book-header nav{display:flex;gap:38px;font-size:11px}.book-header nav a{border-bottom:1px solid #f0eee680;padding:6px 0}.book-header nav span{margin-left:9px}.book-header a:hover,.book-footer a:hover{opacity:.7}.opening{color:var(--cream);background:radial-gradient(ellipse 65% 70% at 76% 49%,#2b4e50 0%,#173739 57%,#10282a 100%);position:relative;overflow:hidden}.opening:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 73% 48%,transparent 0 73px,#eff5e609 74px 75px);pointer-events:none}.opening:after{content:"";position:absolute;left:0;right:0;bottom:0;height:9px;background:repeating-linear-gradient(90deg,var(--wine) 0 30px,#982028 30px 60px)}.opening-inner{position:relative;max-width:1500px;margin:auto;padding:88px 6% 97px;min-height:680px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.87fr);gap:7%;align-items:center}.eyebrow,.section-number{font-size:9px;font-weight:600;letter-spacing:.16em}.eyebrow{display:flex;align-items:center;gap:11px;line-height:1.5}.eyebrow .star{color:#e0c49b;font-size:22px;line-height:0}.eyebrow-rule{display:inline-block;width:29px;border-top:1px solid #f0eee67a}.opening h1{margin:29px 0 24px;line-height:.91;letter-spacing:-.065em;text-transform:uppercase;font:clamp(56px,6.15vw,99px)/.91 var(--display)}.opening h1 span,.opening h1 em{display:block}.opening h1 em{text-transform:none;letter-spacing:-.04em;font:italic 500 clamp(43px,5vw,81px)/.9 var(--serif);margin-top:19px;max-width:620px}.opening-deck{font:italic 500 clamp(19px,2.2vw,28px)/1.2 var(--serif);color:#d0ddd4;margin-bottom:38px}.ticket{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;width:min(100%,330px);padding:18px 24px 17px;background:#eac997;color:#26201b;clip-path:polygon(0 0,100% 0,100% 42%,calc(100% - 7px) 50%,100% 58%,100% 100%,0 100%,0 58%,7px 50%,0 42%);box-shadow:0 7px 20px #0003;transition:transform .2s,background .2s}.ticket:before{content:"";position:absolute;top:0;bottom:0;right:59px;border-right:1px dashed #6f62548c}.ticket:hover{transform:translateY(-3px);background:#f6dcaf}.ticket-label{font-size:12px;font-weight:700;letter-spacing:.115em}.ticket-arrow{grid-row:1/3;grid-column:2;font:26px/1 var(--serif);padding-left:15px}.ticket small{font-size:8px;letter-spacing:.13em;margin-top:4px}.cover-stage{justify-self:center;width:min(100%,530px);position:relative}.cover-stage:before{content:"";position:absolute;inset:-24px -22px 38px;border:1px solid #f0eee675;border-radius:48% 48% 0 0;pointer-events:none}.cover-frame{display:block;position:relative;padding:26px;background:#101d1e;box-shadow:20px 28px 50px #020a0c80;border:1px solid #f1e6cd61}.cover-frame:before{content:"";position:absolute;inset:10px;border:1px solid #e8d4ac78;pointer-events:none}.cover-frame img{width:100%;height:auto}.cover-stage figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:26px;color:#c6d3cf;font-size:9px;letter-spacing:.14em}.opening-foot{position:relative;max-width:1500px;margin:auto;padding:20px 6% 28px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0eee64d;font-size:8px;letter-spacing:.18em}.opening-foot span:nth-child(2){font-size:24px;line-height:0}.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9%;align-items:center;max-width:1450px;padding:105px 6%;margin:auto}.story-photo{max-width:610px}.story-photo img{width:100%;height:auto;box-shadow:14px 18px 0 #b38e7890}.story-photo>span{display:block;margin-top:35px;font-size:8px;letter-spacing:.16em;color:#645951}.story-photo a{border-bottom:1px solid}.story-copy{max-width:520px}.section-number{display:flex;align-items:center;gap:18px;color:var(--red)}.section-number span{height:1px;width:57px;background:currentColor}.story h2,.closing h2{font:clamp(53px,6vw,86px)/.95 var(--display);letter-spacing:-.055em;margin:29px 0 38px}.story h2 em,.closing h2 em{display:inline-block;font:400 1.15em/.7 var(--script);letter-spacing:0;text-transform:none;color:var(--red);white-space:nowrap;transform:rotate(-5deg)}.story-copy>p:not(.section-number){max-width:390px;font:500 clamp(21px,2.3vw,30px)/1.26 var(--serif);color:#3e3530}.book-facts{display:grid;grid-template-columns:1fr 1fr;gap:29px 25px;border-top:1px solid #221b1840;margin-top:55px;padding-top:23px}.book-facts div{display:flex;flex-direction:column;gap:4px}.book-facts span{font-size:8px;letter-spacing:.14em;color:#8a6d5d}.book-facts strong{font:500 21px/1.15 var(--serif)}.review{background:var(--wine) url('/images/curtain-v2.jpg') center/cover;color:var(--cream);text-align:center;position:relative}.review:before{content:"";position:absolute;inset:0;background:#330710a6}.review-inner{position:relative;max-width:1100px;padding:95px 6% 100px;margin:auto}.review .section-number{justify-content:center;color:#e3bca4}.review blockquote{font:500 clamp(43px,6vw,82px)/1.03 var(--serif);letter-spacing:-.04em;margin:28px 0}.review blockquote em{font-weight:500}.review-credit{font-size:10px;letter-spacing:.2em}.review-credit span{margin:0 9px;color:#efc79d}.closing{background:var(--cream)}.closing-inner{max-width:1450px;margin:auto;padding:82px 6% 88px;display:flex;justify-content:space-between;align-items:center;gap:40px}.closing h2{font-size:clamp(45px,5.4vw,78px);margin:20px 0 0}.ticket-light{background:var(--teal);color:var(--cream);flex-shrink:0}.ticket-light:before{border-color:#f0eee675}.ticket-light:hover{background:#275054}.book-footer{background:#181715;color:var(--cream);padding:34px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px}.signature{font:58px/.8 var(--script)}.back-link,.book-footer>span{font-size:9px;letter-spacing:.14em}.back-link span{margin-left:8px}
@media(max-width:1000px){.opening-inner{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:5%;min-height:0}.opening h1{font-size:clamp(50px,6.5vw,72px)}.opening h1 em{font-size:clamp(42px,5vw,62px)}.cover-frame{padding:16px}.story{gap:6%}.story h2{font-size:clamp(47px,6vw,68px)}}
@media(max-width:700px){.book-header{height:72px;padding:0 6%}.wordmark{font-size:26px}.wordmark span{font-size:7px}.book-header nav{gap:19px;font-size:9px}.book-header nav span{margin-left:2px}.opening-inner{display:flex;flex-direction:column;padding:53px 7% 64px;gap:65px}.opening-copy,.cover-stage{width:100%}.opening h1{font-size:clamp(55px,12vw,88px);margin:24px 0 22px}.opening h1 em{font-size:clamp(47px,9vw,70px)}.opening-deck{font-size:22px}.cover-stage{max-width:480px}.cover-stage:before{inset:-17px -13px 30px}.cover-stage figcaption{font-size:8px}.opening-foot{padding:17px 7% 24px}.story{grid-template-columns:1fr;padding:65px 7%;gap:60px}.story-photo{max-width:520px;margin:auto}.story-copy{max-width:none}.story h2{font-size:clamp(55px,11vw,78px)}.story-copy>p:not(.section-number){max-width:560px}.book-facts{max-width:600px;margin-top:42px}.review-inner{padding:71px 7% 75px}.closing-inner{padding:65px 7% 72px;display:block}.closing h2{margin-bottom:43px}.book-footer{padding:30px 7%;flex-wrap:wrap}.signature{width:100%}}
@media(max-width:410px){.book-header nav{gap:12px}.book-header nav a:first-child{display:none}.eyebrow{font-size:7px;gap:6px;letter-spacing:.11em}.eyebrow-rule{width:13px}.opening h1{font-size:clamp(48px,11.9vw,55px)}.opening h1 em{font-size:clamp(40px,9vw,47px)}.cover-stage figcaption{font-size:7px}.opening-foot{font-size:6px}.story h2{font-size:clamp(43px,12vw,55px)}.book-facts strong{font-size:19px}.review blockquote{font-size:42px}.review-credit{font-size:8px}.closing h2{font-size:44px}.book-footer>span{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.opening h1{font:600 clamp(55px,6.5vw,97px)/.98 var(--serif);letter-spacing:-.045em;text-transform:none}.story h2,.closing h2{font-family:var(--serif);font-weight:600}.story h2 em,.closing h2 em{font:italic 500 1em/1 var(--serif);transform:none}.signature{font:500 34px/1 var(--serif)}
@media(max-width:700px){.opening h1{font-size:clamp(48px,10.8vw,79px)}}

/* Original commissioned identity; warm ivory lettering, original orange badge. */
.official-logo{position:relative;display:block;width:100%;line-height:0}.official-logo img{width:100%;height:auto;filter:brightness(0) invert(94%) sepia(14%) saturate(273%) hue-rotate(351deg) brightness(99%)}.official-logo .logo-badge{position:absolute;inset:0;filter:none;clip-path:inset(0 0 0 82%)}.wordmark{display:block;width:230px}.wordmark>.official-logo{font:inherit;letter-spacing:0}.footer-signature,.signature{display:block;width:330px;max-width:100%}
@media(max-width:700px){.wordmark{width:170px}.signature{width:260px}}
/* The commissioned symbol with a new typographic wordmark. */
.dh-badge{position:relative;display:block;width:43px;aspect-ratio:1;overflow:hidden;flex:none}.dh-badge img{position:absolute;right:0;top:0;width:612.766%;max-width:none;height:100%;filter:none}.wordmark,.footer-signature,.signature{display:flex;align-items:center;gap:13px;width:auto}.brand-name{font:600 28px/.95 var(--serif);letter-spacing:-.035em}.brand-name small{display:block;font:8px/1.5 var(--body);letter-spacing:.14em;margin-top:7px}.wordmark>.brand-name{font:600 28px/.95 var(--serif);letter-spacing:-.035em}.footer-signature .brand-name,.signature .brand-name{font-size:37px}.footer-signature .dh-badge,.signature .dh-badge{width:53px}
@media(max-width:700px){.wordmark>.brand-name{font-size:23px}.wordmark .dh-badge{width:34px}.brand-name small{font-size:6px}}