:root{--navy:#0e1f38;--navy-deep:#081426;--desk:#0a0c10;--cream:#f6f1e5;--cream-shadow:#e8e0cd;--paper-edge:#ddd4bd;--gold-light:#e6c168;--gold:#c9a24a;--gold-deep:#b68a2e;--ink:#22293a;--ink-muted:#5a6170;--link:#2a4a8b;--font-display:"Cinzel", "Times New Roman", serif;--font-body:"EB Garamond", "Georgia", serif;--page-max:42rem;--spread-max:56rem;--book-width:min(38rem, calc(100vw - 4rem), calc(88dvh * 5 / 8));--book-ratio:5 / 8;--book-max-height:min(88dvh, 58rem);--book-radius:2px;--book-cream:#f5efe1}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/eb-garamond-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400 500;font-display:swap;src:url(/fonts/eb-garamond-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/cinzel-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.book-stage,.cover-stage{background:var(--desk);place-items:stretch stretch;min-height:100svh;padding:0;display:grid;position:relative;overflow:hidden}.book-stage:has(.book-page--scroll){place-items:stretch stretch;height:auto;min-height:100svh;overflow:visible}.book-page{box-sizing:border-box;background:var(--book-cream);color:#2b2620;width:100%;height:auto;min-height:100svh;padding:40px 30px max(40px, env(safe-area-inset-bottom));box-shadow:none;z-index:1;border-radius:0;flex-direction:column;display:flex;position:relative;overflow:hidden}.book-page.book-page--scroll{height:auto;min-height:100svh;padding-bottom:max(3.5rem, calc(env(safe-area-inset-bottom) + 2.5rem));overflow:visible}.book-page.book-page--scroll .book-page__nav{margin-top:auto;padding-bottom:.5rem}.book-page__body{flex-direction:column;flex:auto;min-height:0;display:flex}.book-page__body--center{justify-content:center}.book-page__nav{text-align:center;flex-shrink:0;margin-top:auto;padding-top:1.25rem}.book-page__nav a{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:#9a8f78;font-size:11px;text-decoration:none}.book-page__nav a:hover,.book-page__nav a:focus-visible{color:#b8934f}.book-page__nav--split{text-align:left;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.book-page__nav--split a:last-child{text-align:right;margin-left:auto}@media (width>=768px){.book-stage,.cover-stage{background-image:radial-gradient(118% 96%,#0000 48%,#00000080 100%),radial-gradient(44% 60% at 50% 46%,#3e4e6980 0%,#1e273747 45%,#0000 74%),radial-gradient(88% 74% at 50% 40%,#161b26 0%,#0000 76%);place-items:center;padding:clamp(1rem,2.5vh,2rem) clamp(1.25rem,3vw,2rem)}.book-stage:has(.book-page--scroll){place-items:center;height:100dvh;min-height:100dvh;overflow:hidden}.book-page{width:var(--book-width);height:auto;min-height:0;aspect-ratio:var(--book-ratio);max-height:min(var(--book-max-height), calc(100dvh - 3rem));border-radius:var(--book-radius);box-shadow:0 1px 0 #ffffff0a inset, 0 0 0 1px color-mix(in srgb, var(--paper-edge) 55%, transparent), 0 2px 4px #0006, 0 16px 40px #00000073;padding:clamp(2rem,4vh,2.75rem) clamp(1.75rem,3.5vw,2.5rem)}.book-page.book-page--scroll{min-height:0;height:min(var(--book-max-height), calc(100dvh - 3rem));max-height:min(var(--book-max-height), calc(100dvh - 3rem));aspect-ratio:auto;grid-template-rows:minmax(0,1fr) auto;padding-bottom:clamp(1.25rem,2vh,1.75rem);padding-right:calc(clamp(1.75rem,3.5vw,2.5rem) + .65rem);display:grid;overflow:hidden}.book-page.book-page--scroll .book-page__body{flex:unset;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;min-height:0;padding-bottom:.35rem;padding-right:1.1rem;overflow:hidden auto}.book-page.book-page--scroll .book-page__nav{border-top:1px solid color-mix(in srgb, var(--gold) 22%, transparent);background:var(--book-cream);margin-top:0;padding:.85rem 0 .25rem}}.book-page.book-page--scroll .book-page__body,.flip-book>.flip-page .book-page__body,.flip-book .toc-body,.toc-body{scrollbar-width:thin;scrollbar-color:#b59a5c transparent}.book-page.book-page--scroll .book-page__body::-webkit-scrollbar,.flip-book>.flip-page .book-page__body::-webkit-scrollbar,.flip-book .toc-body::-webkit-scrollbar,.toc-body::-webkit-scrollbar{width:8px}.book-page.book-page--scroll .book-page__body::-webkit-scrollbar-button,.flip-book>.flip-page .book-page__body::-webkit-scrollbar-button,.flip-book .toc-body::-webkit-scrollbar-button,.toc-body::-webkit-scrollbar-button{background:0 0;width:0!important;height:0!important;display:none!important}.book-page.book-page--scroll .book-page__body::-webkit-scrollbar-button:start:decrement,.book-page.book-page--scroll .book-page__body::-webkit-scrollbar-button:end:increment,.flip-book>.flip-page .book-page__body::-webkit-scrollbar-button:start:decrement,.flip-book>.flip-page .book-page__body::-webkit-scrollbar-button:end:increment,.flip-book .toc-body::-webkit-scrollbar-button:start:decrement,.flip-book .toc-body::-webkit-scrollbar-button:end:increment,.toc-body::-webkit-scrollbar-button:start:decrement,.toc-body::-webkit-scrollbar-button:end:increment{width:0;height:0;display:none}.book-page.book-page--scroll .book-page__body::-webkit-scrollbar-track,.flip-book>.flip-page .book-page__body::-webkit-scrollbar-track,.flip-book .toc-body::-webkit-scrollbar-track,.toc-body::-webkit-scrollbar-track{background-color:#0000;margin:.5rem 0}.book-page.book-page--scroll .book-page__body::-webkit-scrollbar-thumb,.flip-book>.flip-page .book-page__body::-webkit-scrollbar-thumb,.flip-book .toc-body::-webkit-scrollbar-thumb,.toc-body::-webkit-scrollbar-thumb{background-color:#c4a45a;background-clip:padding-box;border:2px solid #0000;border-radius:999px}.book-page.book-page--scroll .book-page__body::-webkit-scrollbar-thumb:hover,.flip-book>.flip-page .book-page__body::-webkit-scrollbar-thumb:hover,.flip-book .toc-body::-webkit-scrollbar-thumb:hover,.toc-body::-webkit-scrollbar-thumb:hover{background-color:#b68a2e}.flip-stage{perspective:1600px;place-items:stretch stretch;display:grid}.flip-stage>.cover-underlay,.flip-stage>#flip-book{grid-area:1/1}.flip-stage>#flip-book{z-index:1;position:relative}.flip-embed{width:100%;height:100%;min-height:0}.flip-embed .flip-book{height:100%;min-height:0}.flip-book{perspective:1600px;background:0 0;width:100%;min-height:100svh;position:relative}.flip-book>.flip-page,.flip-book>.flip-page.book-page,.flip-book>.flip-page.book-page.book-page--scroll{aspect-ratio:auto;border-radius:inherit;width:auto;height:auto;min-height:0;max-height:none;box-shadow:none;position:absolute;inset:0}.flip-book>.flip-page{box-sizing:border-box;background:var(--book-cream);color:#2b2620;transform-origin:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .95s cubic-bezier(.65,.05,.36,1),box-shadow .95s cubic-bezier(.65,.05,.36,1);overflow:hidden;transform:rotateY(0)translateZ(0)}.flip-book>.flip-page:first-child{z-index:6}.flip-book>.flip-page:nth-child(2){z-index:5}.flip-book>.flip-page:nth-child(3){z-index:4}.flip-book>.flip-page:nth-child(4){z-index:3}.flip-book>.flip-page:nth-child(5){z-index:2}.flip-book>.flip-page.is-turned{pointer-events:none;transform:rotateY(-108deg)}.flip-book>.flip-page.is-hidden{visibility:hidden}.flip-book>.flip-page.is-turning{pointer-events:none;will-change:transform;box-shadow:-8px 12px 40px #00000073,0 10px 22px #00000040}.flip-book>.flip-page.no-anim{transition:none!important}.flip-book>.flip-page.book-page{padding:40px calc(30px + .45rem) max(40px, env(safe-area-inset-bottom)) 30px;grid-template-rows:minmax(0,1fr) auto;display:grid;overflow:hidden}.flip-book>.flip-page.book-page--scroll{overflow:hidden}.flip-book>.flip-page .book-page__body{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;min-height:0;padding-right:1.1rem;overflow-y:auto}.flip-book>.flip-page .book-page__nav{text-align:center;z-index:2;border-top:1px solid color-mix(in srgb, var(--gold) 22%, transparent);background:var(--book-cream);flex-shrink:0;margin-top:0;padding:1rem 0 0;position:relative}.flip-book .toc-page{aspect-ratio:auto;width:100%;height:100%;min-height:0;max-height:100%;box-shadow:none;border-radius:inherit;padding:40px calc(30px + .45rem) max(40px, env(safe-area-inset-bottom)) 30px;border:0;grid-template-rows:minmax(0,1fr) auto;display:grid;overflow:hidden}.flip-book .toc-body{min-height:0;overflow-y:auto}.flip-book .toc-footer{border-top:1px solid color-mix(in srgb, var(--gold) 22%, transparent);background:var(--book-cream);margin-top:0;padding-top:1rem}.flip-book[data-nav-locked="1"]>.flip-page{pointer-events:none}.cover-underlay.is-closing-over{z-index:60;pointer-events:none;transform-origin:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .95s cubic-bezier(.65,.05,.36,1),box-shadow .95s cubic-bezier(.65,.05,.36,1);transform:rotateY(-108deg);box-shadow:-8px 12px 40px #00000073,0 10px 22px #00000040}.cover-underlay.is-closing-over.is-shut{transform:rotateY(0)}@media (prefers-reduced-motion:reduce){.flip-book>.flip-page,.cover-underlay.is-closing-over{transition:none}}@media (width>=768px){.flip-stage.book-stage{place-items:center}.flip-stage>.flip-book{width:var(--book-width);height:min(var(--book-max-height), calc(100dvh - 3rem));min-height:0;max-height:min(var(--book-max-height), calc(100dvh - 3rem));border-radius:var(--book-radius);box-shadow:0 1px 0 #ffffff0a inset, 0 0 0 1px color-mix(in srgb, var(--paper-edge) 55%, transparent), 0 2px 4px #0006, 0 16px 40px #00000073}.flip-embed .flip-book{border-radius:var(--book-radius)}.flip-book>.flip-page.book-page,.flip-book .toc-page{padding:clamp(2rem,4vh,2.75rem) calc(clamp(1.75rem,3.5vw,2.5rem) + .65rem) clamp(1.25rem,2vh,1.75rem) clamp(1.75rem,3.5vw,2.5rem)}.flip-book>.flip-page .book-page__nav,.flip-book .toc-footer{padding-top:.85rem;padding-bottom:.25rem}}.cover-book{aspect-ratio:auto;width:100%;max-width:none;height:100svh;color:inherit;cursor:pointer;isolation:isolate;box-shadow:none;z-index:1;transform-origin:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:0;outline:none;grid-area:1/1;text-decoration:none;transition:transform .95s cubic-bezier(.65,.05,.36,1);display:block;position:relative;overflow:hidden;transform:translateZ(0)}.cover-interior{z-index:0;pointer-events:none;background:var(--book-cream);border-radius:0;grid-area:1/1;width:100%;height:100svh;overflow:hidden}.cover-interior .toc-page,.cover-interior .book-page{aspect-ratio:auto;width:100%;height:100%;min-height:0;max-height:100%;box-shadow:none;border-radius:inherit;padding:40px 30px max(40px, env(safe-area-inset-bottom));border:0;grid-template-rows:minmax(0,1fr) auto;display:grid;overflow:hidden}.cover-interior .flip-embed,.cover-interior .flip-book{width:100%;height:100%;min-height:0;max-height:100%}.cover-book:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}@media (width>=768px){.cover-book,.cover-interior{width:var(--book-width);height:auto;aspect-ratio:var(--book-ratio);max-height:min(var(--book-max-height), calc(100dvh - 3rem));border-radius:var(--book-radius)}.cover-book{overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 2px 4px #0006,0 16px 40px #00000073}.cover-interior{box-shadow:0 1px 0 #ffffff0a inset, 0 0 0 1px color-mix(in srgb, var(--paper-edge) 55%, transparent), 0 2px 4px #0006, 0 16px 40px #00000073}}.cover-stage.is-opening{perspective:1600px}.cover-stage.is-opening .cover-book{pointer-events:none;transform:rotateY(-108deg);box-shadow:-8px 12px 40px #00000073,0 10px 22px #00000040}.cover-stage.is-open{perspective:none}.cover-stage.is-open .cover-book{display:none}.cover-stage.is-open .cover-interior{pointer-events:auto;overflow:visible}.cover-stage.is-closing{perspective:1600px}.cover-stage.is-closing .cover-interior{pointer-events:none}.cover-stage.is-closing .cover-book{pointer-events:none;transform:rotateY(-108deg);box-shadow:-8px 12px 40px #00000073,0 10px 22px #00000040;display:block!important}.cover-stage.is-closing .cover-book.is-shutting{transform:rotateY(0);box-shadow:inset 0 1px #ffffff0d,0 2px 4px #0006,0 16px 40px #00000073}@media (prefers-reduced-motion:reduce){.cover-book{transition:none}}.cover-face{border-radius:inherit;z-index:2;background:linear-gradient(145deg, color-mix(in srgb, var(--navy) 88%, #2a4a6e) 0%, var(--navy) 38%, var(--navy-deep) 100%);position:absolute;inset:0;overflow:hidden}.cover-face:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(125deg,#0000 0% 38%,#ffffff12 48%,#0000 58% 100%);position:absolute;inset:0}.cover-face:after{content:"";pointer-events:none;z-index:2;background:radial-gradient(70% 60% at 50% 45%,#0000 40%,#00000073 100%);position:absolute;inset:0}.cover-grain{opacity:.32;mix-blend-mode:overlay;pointer-events:none;z-index:3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.cover-frame{z-index:5;pointer-events:none;border:1.5px solid #0000;border-image:linear-gradient(160deg, var(--gold-light), var(--gold) 45%, var(--gold-deep) 100%) 1;opacity:.95;position:absolute;inset:clamp(.85rem,3.2vw,1.35rem)}.cover-frame-inner{border:.75px solid color-mix(in srgb, var(--gold) 55%, transparent);position:absolute;inset:6px}.cover-corner{z-index:6;width:22px;height:22px;color:var(--gold-light);position:absolute}.cover-corner svg{width:100%;height:100%;display:block;overflow:visible}.cover-corner--tl{top:clamp(.85rem,3.2vw,1.35rem);left:clamp(.85rem,3.2vw,1.35rem);transform:translate(-35%,-35%)}.cover-corner--tr{top:clamp(.85rem,3.2vw,1.35rem);right:clamp(.85rem,3.2vw,1.35rem);transform:translate(35%,-35%)scaleX(-1)}.cover-corner--bl{bottom:clamp(.85rem,3.2vw,1.35rem);left:clamp(.85rem,3.2vw,1.35rem);transform:translate(-35%,35%)scaleY(-1)}.cover-corner--br{bottom:clamp(.85rem,3.2vw,1.35rem);right:clamp(.85rem,3.2vw,1.35rem);transform:translate(35%,35%)scale(-1)}.cover-content{z-index:7;text-align:center;color:var(--cream);flex-direction:column;align-items:center;display:flex;position:absolute;inset:clamp(2.25rem,8vw,3.5rem) clamp(1.75rem,6vw,2.75rem)}.cover-crest{flex-shrink:0;width:clamp(4rem,12vw,5rem);height:clamp(4rem,12vw,5rem);margin-top:clamp(.15rem,1.2vh,.55rem)}.cover-crest-img{object-fit:contain;filter:drop-shadow(0 2px 4px #0006);width:100%;height:100%;display:block}.cover-title{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(185deg, #f0d78a 0%, var(--gold-light) 28%, var(--gold) 55%, var(--gold-deep) 100%);color:#0000;filter:drop-shadow(0 1px #0006);-webkit-background-clip:text;background-clip:text;margin:clamp(1.6rem,4.5vh,2.4rem) 0 0;font-size:clamp(1.55rem,6.2vw,2.35rem);font-weight:500;line-height:1.12}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.cover-title{color:var(--gold-light)}}.cover-rule{background:linear-gradient(90deg, transparent 0%, var(--gold-light) 20%, var(--gold) 50%, var(--gold-light) 80%, transparent 100%);width:clamp(4rem,22vw,6rem);height:1px;box-shadow:0 0 6px color-mix(in srgb, var(--gold) 35%, transparent);border:0;margin:clamp(.95rem,2.2vh,1.25rem) 0}.cover-subtitle{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);max-width:100%;margin:0;padding:0 .25rem;font-size:clamp(.58rem,2vw,.72rem);font-weight:400}.cover-tagline{font-family:var(--font-body);color:color-mix(in srgb, var(--cream) 92%, white);max-width:16rem;margin:auto 0;padding:1.25rem 0;font-size:clamp(1.15rem,3.6vw,1.4rem);font-style:italic;line-height:1.45}.cover-cta{font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-light);flex-direction:column;align-items:center;gap:.45rem;margin-top:auto;margin-bottom:clamp(.15rem,1vh,.5rem);font-size:clamp(.62rem,2vw,.72rem);display:flex}.cover-cta-chevron{opacity:.85;width:14px;height:8px;animation:2.4s ease-in-out infinite cover-pulse}@keyframes cover-pulse{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.cover-cta-chevron{opacity:.85;animation:none}}.toc-page{background:var(--book-cream);color:#2b2620;box-sizing:border-box;width:100%;min-height:100svh;padding:40px 30px max(40px, env(safe-area-inset-bottom));grid-template-rows:minmax(0,1fr) auto;display:grid;overflow:hidden}.toc-body{scrollbar-gutter:stable;flex-direction:column;justify-content:center;min-height:0;padding-right:1.1rem;display:flex;overflow:auto}.toc-header{text-align:center;z-index:1;margin:0;position:relative}.toc-title{font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:#2b2620;margin:0;font-size:24px;font-weight:400}.toc-rule{background:#b8934f;border:0;width:36px;height:1px;margin:20px auto 32px}.toc-list{z-index:1;margin:0;padding:0;list-style:none;position:relative}.toc-item a{color:inherit;align-items:center;gap:14px;padding:12px 0;text-decoration:none;display:flex}.toc-item a:hover .toc-name,.toc-item a:focus-visible .toc-name{color:#b8934f;outline:none}.toc-item a:hover .toc-icon,.toc-item a:focus-visible .toc-icon{color:#a07d3e}.toc-item a:focus-visible{outline:none}.toc-icon{color:#b8934f;flex-shrink:0;width:28px;height:28px;display:block}.toc-name{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:#2b2620;flex-shrink:0;font-size:13px}.toc-leader{border-bottom:1px dotted #b3a68a;flex:auto;align-self:center;min-width:.75rem;margin-bottom:3px}.toc-roman{font-family:var(--font-display);letter-spacing:.04em;color:#9a8f78;text-align:right;flex-shrink:0;min-width:1.1rem;font-size:12px}.toc-footer{text-align:center;z-index:2;flex-shrink:0;margin-top:0;padding-top:1.25rem;position:relative}.toc-back{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:#9a8f78;font-size:11px;text-decoration:none}.toc-back:hover,.toc-back:focus-visible{color:#b8934f}@media (width>=768px){.book-stage>.toc-page{width:var(--book-width);height:auto;min-height:0;aspect-ratio:var(--book-ratio);max-height:min(var(--book-max-height), calc(100dvh - 3rem));border-radius:var(--book-radius);z-index:1;box-shadow:0 1px 0 #ffffff0a inset, 0 0 0 1px color-mix(in srgb, var(--paper-edge) 55%, transparent), 0 2px 4px #0006, 0 16px 40px #00000073;padding:clamp(2rem,4vh,2.75rem) clamp(1.75rem,3.5vw,2.5rem)}.toc-list{width:100%;max-width:22rem;margin-inline:auto}}.chapter-header{text-align:center;margin:0 0 1.5rem}.chapter-kicker{font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;color:#b8934f;margin:0;font-size:.68rem}.chapter-title{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:#2b2620;margin:.55rem 0 0;font-size:clamp(1.35rem,4vw,1.65rem);font-weight:400}.chapter-rule{background:linear-gradient(90deg, transparent, var(--gold), transparent);border:0;width:3.5rem;height:1px;margin:.85rem auto 0;display:block}.chapter-lead{font-family:var(--font-body);color:#3a342c;text-align:center;margin:0 0 1.5rem;font-size:1.2rem;font-style:italic;line-height:1.55}.chapter-body{font-family:var(--font-body);color:#2b2620;font-size:1.08rem;line-height:1.65}.chapter-body p{margin:0 0 1rem}.chapter-body p:last-child{margin-bottom:0}.chapter-note{font-family:var(--font-body);color:#8a8274;margin:1.25rem 0 0;font-size:.95rem;font-style:italic}.about-plate{max-width:14rem;margin:0 auto 1.5rem}.about-plate__frame{border:1px solid color-mix(in srgb, var(--gold-deep) 55%, #c4b896);background:color-mix(in srgb, var(--book-cream) 88%, #fff);padding:.4rem}.about-plate__img{aspect-ratio:1;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.about-signature{text-align:right;margin:1.75rem 0 .25rem}.about-signature__img{opacity:.92;filter:contrast(1.05);width:min(100%,18rem);height:auto;margin-left:auto;display:block}.about-rates{font-family:var(--font-body);color:#3a342c;background:color-mix(in srgb, var(--book-cream) 70%, #fff);border:1px solid color-mix(in srgb, var(--gold-deep) 45%, #c4b896);margin:1rem 0 0;padding:.85rem 1rem;font-size:.98rem;line-height:1.55}.about-rates strong{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:#b8934f;font-size:.72rem;font-weight:400}.about-rates a{color:var(--link);margin-top:.35rem;font-style:italic;text-decoration:none;display:inline-block}.about-rates a:hover,.about-rates a:focus-visible{color:var(--gold-deep);text-underline-offset:3px;text-decoration:underline}.book-page--scroll{-webkit-overflow-scrolling:touch}.work-header{text-align:center;margin:0 0 1.35rem}.work-kicker{font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;color:#b8934f;margin:0;font-size:.68rem}.work-title{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:#2b2620;margin:.55rem 0 0;font-size:clamp(1.35rem,4vw,1.65rem);font-weight:400}.work-rule{background:linear-gradient(90deg, transparent, var(--gold), transparent);border:0;width:3.5rem;height:1px;margin:.85rem auto 0;display:block}.work-list{flex-direction:column;gap:1.85rem;margin:0;padding:0;list-style:none;display:flex}.work-list>li,.plate{margin:0}.plate__frame{border:1px solid color-mix(in srgb, var(--gold-deep) 55%, #c4b896);background:color-mix(in srgb, var(--book-cream) 88%, #fff);box-shadow:0 0 0 1px color-mix(in srgb, var(--paper-edge) 70%, transparent), 0 1px 2px #2b26200f;padding:.45rem;position:relative}.plate__shot{color:inherit;line-height:0;text-decoration:none;display:block}.plate__shot:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.plate__img{aspect-ratio:3/2;object-fit:cover;object-position:center;background:#0e1f38;width:100%;height:auto}.plate__meta{margin-top:.85rem}.plate__row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.plate__name{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:#2b2620;font-size:.78rem;text-decoration:none}a.plate__name:hover,a.plate__name:focus-visible{color:var(--gold-deep)}.plate__url{font-family:var(--font-body);color:#5a6170;letter-spacing:.01em;font-size:.95rem;font-style:italic;text-decoration:none}a.plate__url:hover,a.plate__url:focus-visible{color:var(--link);text-underline-offset:3px;text-decoration:underline}.plate__url--muted{opacity:.75}.plate__caption{font-family:var(--font-body);color:#7a7366;margin:.35rem 0 0;font-size:.92rem;font-style:italic;line-height:1.4}.plate__links{font-family:var(--font-body);color:#8a8274;margin:.55rem 0 0;font-size:.95rem}.plate__links a,.plate__status{color:var(--link);font-style:italic;text-decoration:none}.plate__links a:hover,.plate__links a:focus-visible{color:var(--gold-deep);text-underline-offset:3px;text-decoration:underline}.plate__status{color:#7a7366;cursor:default}.plate__sep{color:#b5aa96;font-style:normal}@media (width>=768px){.work-list{gap:2.5rem}.plate__frame{padding:.55rem}}.story-header{text-align:center;margin:0 0 1.5rem}.story-ornament{color:#b8934f;width:1.75rem;height:1.75rem;margin:0 auto .85rem;display:block}.story-kicker{font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;color:#b8934f;margin:0;font-size:.68rem}.story-title{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#2b2620;margin:.55rem 0 0;font-size:clamp(1.25rem,3.8vw,1.55rem);font-weight:400}.story-rule{background:linear-gradient(90deg, transparent, var(--gold), transparent);border:0;width:3.5rem;height:1px;margin:.85rem auto 0;display:block}.story-plate{margin:0 0 1.75rem}.story-plate__frame{border:1px solid color-mix(in srgb, var(--gold-deep) 55%, #c4b896);background:color-mix(in srgb, var(--book-cream) 88%, #fff);padding:.4rem}.story-plate__img{aspect-ratio:3/2;object-fit:cover;object-position:center;background:#0e1f38;width:100%;height:auto}.story-plate__video{aspect-ratio:16/9;object-fit:contain;display:block}.story-plate__caption{font-family:var(--font-body);color:#7a7366;text-align:center;margin:.55rem 0 0;font-size:.9rem;font-style:italic}.story-stack{text-align:center;margin:.5rem 0 0;line-height:1.55}.story-stack__label{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:#b8934f;margin:0 0 .35rem;font-size:.62rem;display:block}.story-stack__list{font-family:var(--font-body);color:#7a7366;font-size:.88rem}.story-gallery{flex-direction:column;gap:1.25rem;margin:0 0 1.75rem;display:flex}.story-plate--inline{margin:0}.story-section{margin:0 0 1.65rem}.story-section__title{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:#b8934f;margin:0 0 .65rem;font-size:.72rem;font-weight:400}.story-section p{font-family:var(--font-body);color:#2b2620;margin:0;font-size:1.08rem;line-height:1.65}.story-section p+p{margin-top:.85rem}.story-drop:first-letter{float:left;font-family:var(--font-display);color:#b8934f;padding:.12rem .45rem 0 0;font-size:3.35rem;font-weight:400;line-height:.8}.story-built{margin:0;padding:0;list-style:none}.story-built li{font-family:var(--font-body);color:#2b2620;margin:0 0 .7rem;padding-left:1.1rem;font-size:1.05rem;line-height:1.55;position:relative}.story-built li:before{content:"❧";color:#b8934f;font-size:.75rem;position:absolute;top:.05em;left:0}.story-metrics{margin:0 0 1.75rem;padding:0;list-style:none}.story-metrics li{font-family:var(--font-body);color:#2b2620;align-items:baseline;gap:.5rem;margin:0 0 .45rem;font-size:1.02rem;display:flex}.story-metrics__label{flex-shrink:0}.story-metrics__leader{border-bottom:1px dotted #b3a68a;flex:auto;align-self:center;min-width:.75rem;margin-bottom:.2rem}.story-metrics__value{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#5a5040;flex-shrink:0;font-size:.78rem}.story-live{text-align:center;font-family:var(--font-body);margin:0 0 .5rem;font-size:1.05rem;font-style:italic}.story-live a{color:var(--link);text-decoration:none}.story-live a:hover,.story-live a:focus-visible{color:var(--gold-deep);text-underline-offset:3px;text-decoration:underline}.story-live__status{color:#7a7366;font-style:italic}@media (width>=768px){.story-section p{font-size:1.1rem}.story-drop:first-letter{padding-right:.5rem;font-size:3.6rem}}.resume-identity{text-align:center;margin:0 0 1.75rem}.resume-name{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:#2b2620;margin:0;font-size:1.15rem;font-weight:400}.resume-role{font-family:var(--font-body);color:#5a5040;margin:.4rem 0 0;font-size:1.05rem;font-style:italic}.resume-location{font-family:var(--font-body);color:#7a7366;margin:.65rem 0 0;font-size:.95rem;line-height:1.45}.resume-pdf-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;margin:.85rem 0 0;display:flex}.resume-pdf-callout{text-align:center;border:1px solid color-mix(in srgb, var(--gold-deep) 55%, #c4b896);background:color-mix(in srgb, var(--book-cream) 75%, #fff);margin:1.1rem 0 0;padding:1rem 1.1rem}.resume-pdf-callout__title{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#b8934f;margin:0;font-size:.72rem;font-weight:400}.resume-pdf-callout__text{font-family:var(--font-body);color:#5a5040;margin:.45rem 0 0;font-size:.98rem;font-style:italic;line-height:1.5}.resume-linkedin{font-family:var(--font-body);margin:.85rem 0 0;font-size:.95rem}.resume-linkedin a{color:var(--link);text-decoration:none}.resume-linkedin a:hover,.resume-linkedin a:focus-visible{color:var(--gold-deep);text-underline-offset:3px;text-decoration:underline}.resume-engagement__item{margin:0 0 1rem}.resume-engagement__head{font-family:var(--font-body);color:#2b2620;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem;margin:0;font-size:1.02rem;line-height:1.45;display:flex}.resume-engagement__head strong{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:400}.resume-engagement__head span{color:#5a5040;font-style:italic}.resume-engagement__detail{font-family:var(--font-body);color:#3a342c;margin:.35rem 0 0;font-size:1rem;line-height:1.5}.resume-engagement__note{font-family:var(--font-body);color:#7a7366;margin:.75rem 0 0;font-size:.98rem;font-style:italic;line-height:1.5}.resume-letters{font-family:var(--font-body);margin:.85rem 0 0;font-size:.95rem;font-style:italic}.resume-letters a{color:var(--link);text-decoration:none}.resume-letters a:hover,.resume-letters a:focus-visible{color:var(--gold-deep);text-underline-offset:3px;text-decoration:underline}.resume-pdf{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:#2b2620;border:1px solid color-mix(in srgb, var(--gold-deep) 70%, #c4b896);background:linear-gradient(180deg, color-mix(in srgb, var(--gold-light) 35%, var(--book-cream)), color-mix(in srgb, var(--gold) 22%, var(--book-cream)));margin:0;padding:.55rem 1.15rem;font-size:.68rem;text-decoration:none;display:inline-block;box-shadow:inset 0 1px #ffffff73}.resume-pdf:hover,.resume-pdf:focus-visible{color:#1a1510;border-color:var(--gold-deep)}.resume-section{margin:0 0 1.75rem}.resume-section__title{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:#b8934f;border-bottom:1px solid color-mix(in srgb, var(--gold) 55%, transparent);margin:0 0 .85rem;padding-bottom:.4rem;font-size:.72rem;font-weight:400}.resume-summary{font-family:var(--font-body);color:#2b2620;margin:0;font-size:1.05rem;line-height:1.6}.resume-works,.resume-bullets,.resume-skills{margin:0;padding:0;list-style:none}.resume-works li,.resume-bullets li{font-family:var(--font-body);color:#2b2620;margin:0 0 .65rem;padding-left:1rem;font-size:1.02rem;line-height:1.5;position:relative}.resume-works li:before,.resume-bullets li:before{content:"·";color:#b8934f;position:absolute;left:0}.resume-works strong{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:400}.resume-job{margin:0 0 1.35rem}.resume-job:last-child{margin-bottom:0}.resume-job__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem;margin:0 0 .55rem;display:flex}.resume-job__role{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:#2b2620;font-size:.78rem}.resume-job__dates{font-family:var(--font-body);color:#7a7366;font-size:.92rem;font-style:italic}.resume-job__org{font-family:var(--font-body);color:#5a5040;margin:0 0 .55rem;font-size:1rem}.resume-skills li{font-family:var(--font-body);color:#2b2620;align-items:baseline;gap:.5rem;margin:0 0 .55rem;font-size:1.02rem;line-height:1.5;display:flex}.resume-skills__label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:#b8934f;flex-shrink:0;min-width:5.5rem;font-size:.72rem}.resume-skills__leader{border-bottom:1px dotted #b3a68a;flex:auto;align-self:center;min-width:.5rem;margin-bottom:.2rem}.resume-skills__value{flex:12rem}.letters-intro{font-family:var(--font-body);color:#3a342c;text-align:center;margin:0 0 2rem;font-size:1.15rem;line-height:1.6}.letters-intro a{color:var(--link);text-decoration:none}.letters-intro a:hover,.letters-intro a:focus-visible{color:var(--gold-deep);text-underline-offset:3px;text-decoration:underline}.letters-contacts{flex-direction:column;gap:1rem;max-width:23rem;margin:0 auto;padding:0;list-style:none;display:flex}.letters-contacts li{margin:0}.letters-row{box-sizing:border-box;text-align:left;width:100%;font:inherit;color:#2b2620;background:color-mix(in srgb, var(--book-cream) 70%, #fff);border:1px solid color-mix(in srgb, var(--gold-deep) 45%, #c4b896);cursor:pointer;align-items:center;gap:.85rem;padding:.85rem 1rem;text-decoration:none;display:flex}.letters-row:hover,.letters-row:focus-visible{border-color:var(--gold-deep);color:#1a1510}.letters-row:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.letters-icon{color:#b8934f;flex-shrink:0;width:28px;height:28px;display:block}.letters-row__text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.letters-row__label{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#9a8f78;font-size:.68rem}.letters-row__value{font-family:var(--font-body);color:inherit;word-break:break-word;font-size:1.05rem;font-style:italic}a.letters-row .letters-row__value{color:var(--link)}.letters-row[aria-expanded=true] .letters-row__value{color:var(--link);font-style:normal}.letters-row.is-copied .letters-row__value{color:var(--gold-deep);font-style:italic}.letters-note{text-align:center;font-family:var(--font-body);color:#8a8274;margin:1.5rem 0 0;font-size:.92rem;font-style:italic}.letters-row--primary{background:color-mix(in srgb, var(--gold-light) 13%, #fff);border-color:var(--gold-deep);gap:1rem;padding:1.1rem 1.2rem;transition:background-color .18s,box-shadow .18s;box-shadow:inset 0 1px #fff9}.letters-row--primary:hover,.letters-row--primary:focus-visible{background:color-mix(in srgb, var(--gold-light) 22%, #fff);box-shadow:inset 0 1px #fff9,0 2px 10px #78602824}.letters-row--primary .letters-icon{width:32px;height:32px;color:var(--gold-deep)}.letters-row--primary .letters-row__label{color:#7d7466;font-size:.72rem}.letters-row--primary .letters-row__value{color:#2b2620;font-size:1.08rem;font-style:normal}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font-body);color:var(--ink);background:var(--desk);-webkit-font-smoothing:antialiased;margin:0;font-size:1.125rem;line-height:1.55}img{max-width:100%;display:block}a{color:var(--link)}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-weight:400}.page-shell{justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.paper{width:min(100%, var(--page-max));background:var(--cream);min-height:min(90dvh,52rem);color:var(--ink);box-shadow:0 0 0 1px color-mix(in srgb, var(--paper-edge) 70%, transparent), 0 18px 50px #00000059;padding:clamp(1.75rem,5vw,3rem);position:relative}.paper:before{content:"";pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
