@font-face{font-family:Bebas;src:url('assets/BebasNeue-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/CormorantGaramond.ttf') format('truetype');font-weight:300 700;font-display:swap}
:root{--ink:#101b2d;--blue:#1c2b40;--paper:#f5e7c7;--gold:#e9bd69;--muted:#b7b7b5;--teal:#286369;--wine:#692c35;--line:rgba(233,189,105,.25);color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:85px}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.7}body.modal-open{overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2{font-family:Bebas,Impact,sans-serif;font-weight:400;line-height:.96}h2{font-size:clamp(46px,5.9vw,82px);letter-spacing:.005em}p{max-width:60ch}p+p{margin-top:20px}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;padding:12px 24px;background:var(--gold);color:var(--ink);z-index:100}.skip-link:focus{top:12px}.section-wrap{width:min(1200px,86%);margin-inline:auto}.script-note{font-family:Cormorant,Georgia,serif;font-style:italic;font-size:28px;font-weight:600;color:var(--gold);margin-bottom:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:50px;padding:11px 25px;background:var(--gold);color:var(--ink);border:1px solid var(--gold);font-size:14px;font-weight:700;border-radius:3px;transition:background .2s,transform .2s;line-height:1.3}.button:hover{background:#f4d394;transform:translateY(-2px)}.button.small{min-height:42px;padding:10px 19px;font-size:13px}.text-link{display:inline-flex;align-items:center;gap:22px;min-height:44px;padding:4px 0;background:none;border:0;border-bottom:1px solid currentColor;font-weight:600;color:var(--ink);font-size:13px;line-height:1.4}.text-link span{font-size:24px}.text-link.light{color:var(--gold)}
/* The persistent invitation header. */
.site-header{height:88px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;position:absolute;inset:0 0 auto;z-index:20;border-bottom:1px solid rgba(245,231,199,.14);background:linear-gradient(180deg,rgba(11,20,35,.7),rgba(11,20,35,.2))}.site-header.is-scrolled{position:fixed;height:70px;background:rgba(16,27,45,.97);box-shadow:0 8px 30px #050b151f;animation:header-in .22s ease-out}.studio{display:flex;gap:10px;align-items:center;font-family:Georgia,serif;font-size:23px;font-weight:bold;line-height:.9}.studio-mark{border:1px solid var(--gold);color:var(--gold);font-style:italic;font-size:32px;width:39px;height:43px;display:grid;place-items:center;border-radius:50% 50% 3px 3px;padding-bottom:3px}.studio-sub{display:block;font-family:Arial,sans-serif;font-weight:400;font-size:9px;letter-spacing:.28em;margin-top:7px}.casebook-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;padding:12px 20px;font-size:13px}.book-icon{display:inline-block;width:18px;height:20px;border:1px solid var(--paper);border-radius:2px;border-left-width:4px;transform:rotate(-7deg)}.header-actions{display:flex;align-items:center;gap:18px}.pause-toggle{width:44px;height:44px;background:none;border:1px solid var(--line);border-radius:50%;font-size:21px;line-height:1}.pause-toggle:hover{background:var(--blue)}
/* The hero is a scene, with live text in the artwork's quiet left side. */
.hero{min-height:800px;height:min(920px,100svh);position:relative;overflow:hidden;background:#101b2d}.hero-art{position:absolute;inset:0;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:60% 45%;transform:scale(1.035) translate(var(--scene-x,0px),var(--scene-y,0px));transition:transform 1s ease-out}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,19,34,.7),rgba(9,19,34,.25) 42%,transparent 68%),linear-gradient(0deg,#101b2d 0%,transparent 22%,transparent 80%,rgba(9,19,34,.15))}.chandelier-glow{position:absolute;left:56%;top:2%;width:31%;height:37%;background:radial-gradient(ellipse,rgba(255,195,90,.15),transparent 65%);mix-blend-mode:screen;animation:lamp 7s ease-in-out infinite;pointer-events:none}.hero-content{position:relative;padding:145px 0 112px 7%;max-width:780px;z-index:2;animation:arrival .9s ease-out both}.invitation-line{font-family:Cormorant,Georgia,serif;font-size:23px;font-style:italic;color:var(--gold)}.hero h1{font-size:clamp(108px,11.8vw,178px);letter-spacing:-.025em;color:var(--gold);margin:15px 0 0;white-space:nowrap;line-height:1;text-shadow:0 4px 0 rgba(0,0,0,.25)}.hero h1 span{display:inline-block;transform:rotate(8deg);padding-left:2px}.byline{font-size:11px;letter-spacing:.18em;margin-left:3px;margin-top:-1px;color:#d8c8a6}.hero h2{font-family:Cormorant,Georgia,serif;font-size:clamp(28px,3vw,42px);line-height:1.1;margin-top:28px;font-weight:600;letter-spacing:0}.hero-description{font-size:14px;color:#d2d1cc;line-height:1.8;margin-top:20px}.store-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.store-button{display:flex;align-items:center;justify-content:center;gap:13px;min-width:171px;min-height:57px;padding:8px 16px;background:#090e17;border:1px solid #ac9e80;border-radius:6px;text-align:left;line-height:1.2;transition:border-color .2s,transform .2s;color:#fff7e8}.store-button:hover{border-color:var(--gold);transform:translateY(-3px)}.store-button small{display:block;font-size:10px;font-weight:400;margin-bottom:3px}.store-button strong{font-size:20px;font-weight:500;letter-spacing:-.4px}.platform-icon{display:block;font-size:22px}.apple-icon{font-family:Georgia,serif;font-size:20px;font-weight:bold;letter-spacing:-1px}.play-icon{font-size:27px;color:var(--gold)}.store-note{font-size:11px!important;color:#aaaead;margin-top:12px!important;letter-spacing:.025em}.toast-trigger{position:absolute;right:6.5%;bottom:135px;z-index:3;display:flex;align-items:center;gap:16px;text-align:left;background:rgba(16,27,45,.7);padding:15px 20px;border:1px solid var(--line);backdrop-filter:blur(10px);border-radius:3px;font-family:Cormorant,Georgia,serif;font-size:24px;font-weight:600;line-height:1.2;transition:background .2s}.toast-trigger small{display:block;font-family:Arial,sans-serif;font-size:10px;font-weight:400;margin-bottom:6px;color:#d0c3ab}.toast-trigger:hover{background:#1c2b40}.play-circle{width:45px;height:45px;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;border-radius:50%;font-size:14px;padding-left:3px}.hero-bottom{position:absolute;bottom:30px;left:7%;right:5%;display:flex;align-items:center;justify-content:space-between;z-index:4;font-size:11px;color:#d2c6ae}.hero-bottom>a{display:flex;align-items:center;gap:14px;min-height:44px}.scroll-line{height:34px;width:1px;background:var(--gold);display:block}.sound-toggle{display:flex;align-items:center;gap:12px;border:0;background:none;padding:12px 0 12px 12px;font-size:11px}.equalizer{display:flex;align-items:center;gap:3px;height:18px}.equalizer i{height:5px;width:2px;background:var(--gold);display:block}.equalizer i:nth-child(2){height:14px}.equalizer i:nth-child(3){height:9px}.music-playing .equalizer i{animation:equalize 1s ease-in-out infinite alternate}.music-playing .equalizer i:nth-child(2){animation-delay:-.6s}.music-playing .equalizer i:nth-child(3){animation-delay:-.3s}.music-playing .equalizer i:nth-child(4){animation-delay:-.8s}
/* A recovered gala invitation becomes the case briefing. */
.story{position:relative;padding:48px 10% 70px;color:var(--ink);background:var(--paper);clip-path:polygon(0 1%,6% 0,15% .6%,29% 0,46% .9%,61% 0,77% .7%,91% 0,100% .5%,100% 99%,90% 100%,72% 99.3%,58% 100%,42% 99.4%,26% 100%,10% 99.2%,0 100%);margin-top:-10px;z-index:5}.story-rule{display:flex;justify-content:space-between;font-family:Cormorant,Georgia,serif;font-size:18px;font-weight:600;border-bottom:1px solid #ae9c7770;padding-bottom:15px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin:55px auto 30px;max-width:1060px}.story .script-note{color:#6f4d31;font-size:25px}.story h2{font-size:clamp(64px,7.6vw,106px)}.story-copy{padding-top:4px;font-size:15px;color:#41414a}.story-copy .lead{font-family:Cormorant,Georgia,serif;font-size:29px;line-height:1.3;font-weight:600;color:var(--ink);margin-bottom:25px}.story-punchline{font-weight:bold}.story .text-link{margin-top:17px}.invitation-stamp{font-size:9px;font-weight:bold;letter-spacing:.1em;line-height:1.9;border:2px solid #692c3580;color:#692c35bd;transform:rotate(-5deg);width:max-content;padding:8px 15px;margin-top:-12px}
.company{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding-block:112px}.company-art{position:relative;transform:rotate(-2deg);box-shadow:14px 17px 0 #070d1744;border:1px solid var(--line);background:var(--paper)}.company-art img{width:100%;height:auto}.company-art figcaption{color:var(--ink);text-align:center;font-family:Cormorant,Georgia,serif;font-size:17px;line-height:1.3;padding:14px}.company-copy h2{font-size:clamp(44px,5vw,68px)}.large-serif{font-family:Cormorant,Georgia,serif;font-size:30px;font-weight:500;line-height:1.25;margin:24px 0;color:var(--paper)}.company-copy>p:not(.large-serif):not(.script-note){font-size:14px;color:var(--muted)}.company-copy blockquote{font-family:Cormorant,Georgia,serif;font-size:25px;line-height:1.25;font-style:italic;color:var(--gold);margin:28px 0 14px;padding-left:20px;border-left:2px solid var(--gold)}cite{display:block;font-family:Arial,sans-serif;font-size:10px;line-height:1.5;font-style:normal;color:var(--muted);margin-top:16px}
/* A continuous lounge illustration, rather than a grid of avatar cards. */
.guests{padding:44px 0 90px;background:#172337;border-block:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading h2{font-size:clamp(45px,4.8vw,65px)}.section-heading>p{font-size:13px;color:var(--muted);max-width:315px;margin-bottom:6px}.guest-lounge{display:grid;grid-template-columns:1.5fr 1fr;max-width:1320px;margin:auto;border-block:1px solid var(--line)}.guest-art{position:relative;overflow:hidden;background:#152133;min-height:390px}.guest-art img{width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity .3s}.guest-spotlight{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -50px 70px #101b2d66}.guest-file{padding:40px 12% 30px;display:flex;flex-direction:column;justify-content:center;background:#101b2d}.file-label{font-size:11px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:27px;color:#c2ad84}.guest-role{color:var(--gold);font-size:11px}.guest-file h3{font-family:Cormorant,Georgia,serif;font-size:42px;line-height:1.1;font-weight:600;margin-top:8px}.guest-file blockquote{font-family:Cormorant,Georgia,serif;font-size:25px;line-height:1.3;margin:24px 0 18px;color:#e8dbc1}.guest-file #guest-bio{font-size:13px;line-height:1.7;color:var(--muted);min-height:66px}.guest-controls{display:flex;align-items:center;gap:21px;margin-top:24px}.guest-controls button{width:43px;height:43px;border:1px solid var(--line);background:none;border-radius:50%;font-size:20px}.guest-controls button:hover{background:var(--gold);color:var(--ink)}.guest-controls span{font-size:10px;letter-spacing:.12em;color:#bdb59f}.guest-tabs{display:flex;justify-content:center;gap:22px;padding:28px 20px 0;flex-wrap:wrap}.guest-tabs button{background:none;border:0;border-bottom:2px solid transparent;font-family:Cormorant,Georgia,serif;font-size:22px;min-height:45px;padding:4px 15px;color:#aaaead}.guest-tabs button[aria-pressed=true]{color:var(--gold);border-bottom-color:var(--gold)}.guest-tabs button:hover{color:var(--paper)}
.detective{position:relative;min-height:710px;display:flex;align-items:center;overflow:hidden}.detective-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:left top;inset:0}.detective:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,#101b2d44 48%,#101b2d66),linear-gradient(0deg,#101b2d,transparent 18%,transparent 85%,#101b2d55);pointer-events:none}.detective-copy{position:relative;z-index:2;margin-left:57%;width:36%;padding:60px 0;max-width:500px}.detective h2{font-size:clamp(45px,5.6vw,76px)}.detective-copy>p:not(.script-note):not(.large-serif){color:#c2c2bd;font-size:14px;max-width:42ch}.detective .button{margin-top:29px}.detective .script-note{font-size:25px}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;padding:45px 0 95px}.how article{border-top:1px solid var(--line);padding-top:25px}.step-number{font-family:Cormorant,Georgia,serif;font-style:italic;font-size:26px;color:var(--gold)}.how h3{font-family:Cormorant,Georgia,serif;font-size:25px;line-height:1.2;margin:15px 0}.how p{color:var(--muted);font-size:13px;line-height:1.8}
.download{text-align:center;position:relative;overflow:hidden;background:var(--paper);color:var(--ink);padding:75px 24px 65px;border-block:6px double #b49d71}.download:before,.download:after{content:'';position:absolute;top:25px;bottom:25px;width:25%;border:1px solid #b29c7150;pointer-events:none}.download:before{left:-20%;transform:skew(-20deg)}.download:after{right:-20%;transform:skew(20deg)}.download h2{font-size:clamp(80px,11vw,140px)}.download>.script-note{color:#705438;font-size:28px}.download>p{margin-inline:auto;font-size:14px}.download .store-buttons{justify-content:center;margin-top:27px}.download .store-note{color:#615d52}.download-signature{display:block;font-family:Cormorant,Georgia,serif;font-size:28px;font-style:italic;font-weight:700;margin-top:36px}.download .store-button{background:#101b2d;border-color:#101b2d}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}footer p{font-family:Cormorant,Georgia,serif;font-size:20px;color:#beb49f}footer>span{font-size:10px;color:var(--muted)}footer .text-link{font-size:10px}footer .studio{font-size:20px}footer .studio-mark{font-size:26px;width:32px;height:37px}
/* Accessible native dialogs: a full-screen book, separate settings and scenes. */
dialog{padding:0;border:1px solid var(--line);background:var(--ink);color:var(--paper);max-height:90svh;max-width:calc(100vw - 30px);box-shadow:0 25px 120px #0009}dialog::backdrop{background:rgba(5,10,19,.84);backdrop-filter:blur(7px)}dialog[open]{animation:dialog-in .22s ease-out}dialog .close-button{position:absolute;right:17px;top:14px;width:44px;height:44px;border:1px solid var(--line);background:var(--ink);color:var(--paper);font-size:28px;z-index:4;line-height:1;border-radius:50%}.settings-dialog,.store-dialog{padding:48px 40px 35px;width:470px;border-radius:5px}.settings-dialog h2,.store-dialog h2{font-size:54px}.settings-dialog>.script-note,.store-dialog>.script-note{font-size:23px;margin-bottom:14px}.settings-dialog>p:not(.script-note),.store-dialog>p:not(.script-note){color:var(--muted);font-size:14px;margin-top:18px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 0;border-bottom:1px solid var(--line);font-size:14px}.setting-row small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.setting-row input{appearance:none;width:44px;height:26px;flex-shrink:0;border-radius:30px;background:#425064;border:1px solid #667487;position:relative;cursor:pointer}.setting-row input:before{content:'';width:18px;height:18px;border-radius:50%;position:absolute;top:3px;left:3px;background:var(--paper);transition:transform .2s}.setting-row input:checked{background:var(--gold);border-color:var(--gold)}.setting-row input:checked:before{background:var(--ink);transform:translateX(18px)}.volume-setting{display:flex;justify-content:space-between;margin-top:20px;font-size:12px}.volume-setting output{color:var(--gold)}input[type=range]{width:100%;accent-color:var(--gold);margin:15px 0 0;min-height:24px}.settings-dialog>.button,.store-dialog>.button{width:100%;margin-top:28px}.casebook-dialog{width:100vw;height:100svh;max-width:none;max-height:none;margin:0;border:0;background:#172031;padding:25px 20px}.casebook-page{position:relative;max-width:790px;min-height:100%;margin:auto;background:var(--paper);color:var(--ink);padding:40px 9% 30px;border-left:13px solid #8c6339;box-shadow:8px 0 0 #d4bf96,13px 0 0 #a58b62}.casebook-page:before{content:'';position:absolute;top:0;bottom:0;left:12px;border-left:1px solid #b99a6e80}.casebook-page .script-note{color:#705438;font-size:25px;margin-bottom:8px}.casebook-page h2{font-size:75px}.casebook-intro{font-family:Cormorant,Georgia,serif;font-size:22px;line-height:1.25;margin:14px 0 25px}.casebook-page nav a{display:flex;align-items:center;gap:18px;padding:19px 0;border-top:1px solid #bda77b80;font-family:Cormorant,Georgia,serif;font-size:26px;font-weight:600;line-height:1.15}.casebook-page nav a:hover{color:#7a352b}.casebook-page nav span{font-size:14px;color:#715b3c}.casebook-page nav small{margin-left:auto;font-family:Arial,sans-serif;font-size:10px;font-weight:400;white-space:nowrap;color:#6b6559}.casebook-footer{font-family:Cormorant,Georgia,serif;font-style:italic;font-size:20px;margin-top:30px}.casebook-page .close-button{background:transparent;color:var(--ink);border-color:#bda77b}.toast-dialog{width:1000px;border-radius:4px;overflow:auto}.toast-scene{position:relative;aspect-ratio:1.8;overflow:hidden}.toast-scene>img{width:100%;height:100%;object-fit:cover;object-position:70% 45%;transform:scale(1.03)}.toast-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101b2d 0%,#101b2d88 25%,transparent 75%)}.toast-caption{position:absolute;bottom:36px;left:6%;right:6%;z-index:1}.toast-caption p{font-size:11px;color:var(--gold);margin-bottom:14px}.toast-caption blockquote{font-family:Cormorant,Georgia,serif;font-size:clamp(25px,4vw,42px);line-height:1.15;max-width:27ch;min-height:3.5em}.toast-controls{display:flex;gap:20px;align-items:center;justify-content:flex-end;padding:18px 6%;border-top:1px solid var(--line);font-size:12px}.toast-controls>span{margin-right:auto;color:var(--gold)}.toast-controls button{background:none;border:1px solid var(--line);border-radius:3px;min-height:44px;padding:8px 14px}.toast-controls button:hover{border-color:var(--gold)}.toast-transcript{padding:0 6% 24px;color:var(--muted);font-size:13px}.toast-transcript summary{cursor:pointer;min-height:44px;padding-top:10px;color:var(--gold)}.toast-transcript p{margin-top:12px}.no-script{padding:30px;background:var(--paper);color:var(--ink);max-width:none}
.photo-caption{position:absolute;bottom:15px;left:24px;font-family:Cormorant,Georgia,serif;font-style:italic;font-size:21px;text-shadow:0 2px 5px #000;background:#101b2da8;padding:3px 12px;border-radius:2px}
@keyframes arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes header-in{from{transform:translateY(-100%)}to{transform:none}}@keyframes lamp{50%{opacity:.45;transform:scale(1.03)}}@keyframes equalize{to{height:17px}}@keyframes dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero-art img{object-position:center 42%}.hero-content{padding-left:10%}.hero-art:after{background:linear-gradient(90deg,#0d192bf2,#0d192b55 45%,transparent 68%),linear-gradient(0deg,#101b2d,transparent 25%)}.detective{min-height:850px}.detective-art{object-position:center top}}
@media(max-width:1050px){.hero{min-height:830px}.hero-art img{object-position:64% center}.hero-content{padding-top:155px}.hero h1{font-size:125px}.hero h2{font-size:35px}.hero-art:after{background:linear-gradient(90deg,#101b2dba,transparent 95%),linear-gradient(0deg,#101b2d,transparent 35%)}.toast-trigger{right:5%;bottom:95px;font-size:21px}.company{gap:6%;padding-block:80px}.company-copy .script-note{font-size:23px}.section-heading{align-items:flex-start;flex-direction:column;gap:22px}.section-heading>p{max-width:none}.guest-lounge{grid-template-columns:1.4fr 1fr}.guest-file{padding:28px 9%}.guest-file h3{font-size:35px}.guest-file blockquote{font-size:23px}.guest-art{min-height:420px}.detective{min-height:650px}.detective-copy{margin-left:54%;width:41%}.detective-art{object-position:38% top}.detective h2{font-size:54px}footer p{display:none}}
@media(max-width:700px){:root{scroll-padding-top:72px}.site-header{height:75px;padding-inline:5%;gap:8px}.site-header.is-scrolled{height:67px}.studio{font-size:19px;gap:7px}.studio-mark{font-size:27px;width:32px;height:36px}.studio-sub{font-size:7px;margin-top:6px}.casebook-toggle{padding:12px 7px;font-size:0;gap:0}.book-icon{width:20px;height:23px}.header-actions{gap:9px}.button.small{min-height:39px;padding:9px 12px;font-size:11px}.pause-toggle{width:35px;height:35px;font-size:19px}.hero{height:auto;min-height:980px;padding-top:325px}.hero-art{height:590px;bottom:auto}.hero-art img{object-position:80% 30%;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}.hero-art:after{background:linear-gradient(0deg,#101b2d 1%,#101b2df0 18%,#101b2d33 47%,transparent 73%,#101b2d55)}.chandelier-glow{left:22%;top:2%;width:60%}.hero-content{padding:0 7% 100px;max-width:none;text-align:center;animation:arrival .8s ease-out both}.hero-content>p{margin-inline:auto}.invitation-line{font-size:23px}.hero h1{font-size:clamp(94px,24vw,156px);line-height:1.04;margin-top:10px}.byline{font-size:9px;letter-spacing:.15em}.hero h2{font-size:34px;line-height:1.05;margin-top:28px}.hero-description{font-size:13px;margin-top:19px}.store-buttons{justify-content:center;gap:10px;margin-top:25px}.store-button{min-width:0;flex:1;max-width:183px;padding:9px 11px;gap:9px;min-height:55px}.store-button strong{font-size:18px}.store-button small{font-size:9px}.platform-icon{font-size:22px}.apple-icon{font-size:18px}.store-note{font-size:10px!important}.toast-trigger{top:265px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);padding:9px 14px;white-space:nowrap;font-size:19px;background:#101b2da8}.toast-trigger small{display:none}.play-circle{width:30px;height:30px;font-size:10px}.hero-bottom{bottom:20px;left:7%;right:7%;font-size:10px}.sound-toggle{font-size:10px}.story{padding:34px 7% 55px}.story-rule{font-size:13px;gap:15px}.story-rule span:last-child{text-align:right}.story-grid{grid-template-columns:1fr;gap:30px;margin:36px 0}.story .script-note{font-size:25px;margin-bottom:10px}.story h2{font-size:67px;line-height:.95}.story-copy{padding-top:0;font-size:14px}.story-copy .lead{font-size:27px;margin-bottom:20px}.story-copy p+p{margin-top:17px}.invitation-stamp{margin-top:34px;font-size:8px}.company{grid-template-columns:1fr;gap:45px;padding-block:65px;width:86%}.company-art{max-width:440px;margin-inline:auto}.company-copy h2{font-size:53px}.company-copy .script-note{font-size:25px}.company-copy .large-serif{font-size:29px;margin-block:21px}.company-copy blockquote{font-size:25px}.guests{padding:45px 0}.section-heading{margin-bottom:28px;gap:20px}.section-heading h2{font-size:45px}.section-heading .script-note{font-size:25px}.section-heading>p{font-size:12px}.guest-lounge{display:flex;flex-direction:column;border-bottom:0}.guest-art{min-height:0;height:auto;aspect-ratio:1.5}.guest-art img{object-fit:cover}.guest-file{padding:25px 7%;min-height:350px}.file-label{padding-bottom:12px;margin-bottom:19px}.guest-file h3{font-size:39px}.guest-file blockquote{font-size:27px;margin:18px 0 14px;max-width:29ch;min-height:2.6em}.guest-file #guest-bio{min-height:44px}.guest-controls{margin-top:19px}.guest-tabs{gap:5px 8px;padding:12px 5% 0;display:grid;grid-template-columns:repeat(3,1fr)}.guest-tabs button{font-size:20px;padding-inline:7px}.detective{display:block;min-height:0;padding-top:360px}.detective-art{height:470px;object-position:24% top;object-fit:cover}.detective:after{height:480px;background:linear-gradient(0deg,#101b2d 3%,#101b2de8 15%,transparent 55%)}.detective-copy{margin:0 auto;width:86%;padding:0 0 40px;max-width:none}.detective h2{font-size:59px}.detective .script-note{font-size:26px}.detective-copy .large-serif{font-size:28px;margin:24px 0}.detective-copy>p:not(.script-note):not(.large-serif){max-width:none}.how{grid-template-columns:1fr;gap:28px;padding:20px 0 55px}.how article{display:grid;grid-template-columns:38px 1fr;column-gap:18px;padding-top:22px}.how .step-number{grid-row:1/3;font-size:30px}.how h3{margin:3px 0 12px;font-size:25px}.how p{grid-column:2}.download{padding:55px 7% 40px}.download>.script-note{font-size:26px}.download h2{font-size:88px}.download>p{font-size:13px}.download-signature{margin-top:28px}footer{flex-wrap:wrap;padding:30px 7%;gap:24px}footer .studio{flex:1}footer>span{order:4;width:100%;font-size:10px}footer .text-link{font-size:11px}.casebook-dialog{padding:12px 12px 12px 6px}.casebook-page{padding:45px 7% 28px 8%;border-left-width:9px;box-shadow:4px 0 0 #b89d6e}.casebook-page h2{font-size:64px}.casebook-page .script-note{font-size:24px}.casebook-intro{font-size:21px;margin-bottom:30px}.casebook-page nav a{font-size:26px;padding:20px 0;gap:14px}.casebook-page nav small{display:none}.casebook-footer{font-size:19px;margin-top:35px}.settings-dialog,.store-dialog{padding:50px 25px 28px}.settings-dialog h2,.store-dialog h2{font-size:49px}.toast-scene{aspect-ratio:.85}.toast-scene>img{object-position:75% 30%}.toast-caption{bottom:24px}.toast-caption blockquote{font-size:30px;min-height:4.5em}.toast-controls{gap:9px;padding:12px 5%;font-size:11px}.toast-controls button{padding:8px 10px}.toast-transcript{font-size:12px}.toast-transcript summary{padding-top:6px}.toast-dialog{max-height:94svh;max-width:calc(100vw - 20px)}}
@media(max-width:360px){.studio-mark{display:none}.hero{padding-top:300px;min-height:940px}.hero h1{font-size:88px}.hero h2{font-size:30px}.toast-trigger{top:242px;font-size:18px}.store-button{padding:8px;gap:7px}.store-button strong{font-size:16px}.store-button small{font-size:8px}.platform-icon{font-size:19px}.apple-icon{font-size:16px}.story h2{font-size:58px}.story-rule{font-size:12px}.company-copy h2{font-size:46px}.section-heading h2{font-size:39px}.detective h2{font-size:50px}.download h2{font-size:76px}.hero-bottom{font-size:9px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-art img{transform:none}}
html.reduce-motion{scroll-behavior:auto}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{animation:none!important;transition:none!important}html.reduce-motion .hero-art img{transform:none}

/* Official store artwork remains unmodified and is never animated. */
.store-buttons{align-items:center;gap:24px}
.store-badge{display:block;flex:0 0 auto;padding:0;border:0;background:transparent;border-radius:7px;line-height:0;min-height:48px}
.store-badge img{display:block;width:auto;height:48px;max-width:none}
.store-badge:hover{outline:1px solid var(--gold);outline-offset:6px}
.hero-content{animation:none}
.hero h1{animation:arrival .9s ease-out both}

/* One complete comic image and its caption per page. */
.comic-dialog{width:980px;height:min(850px,94svh);max-height:94svh;max-width:calc(100vw - 28px);border:1px solid var(--line);border-radius:5px;overflow:auto}
.comic-dialog[open]{display:flex;flex-direction:column}
.comic-header{display:flex;align-items:center;gap:22px;min-height:65px;flex:0 0 65px;padding:0 74px 0 25px;border-bottom:1px solid var(--line);position:relative}
.comic-header h2{font-family:Cormorant,Georgia,serif;font-size:27px;font-weight:600;line-height:1.2}
.comic-header>span{margin-left:auto;color:var(--gold);font-size:11px;white-space:nowrap}
.comic-header .close-button{top:10px;right:14px}
.comic-frame{display:grid;grid-template-columns:1.25fr 1fr;flex:1;min-height:0}
.comic-art{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;width:100%;padding:0;border:0;background:#090f1a;overflow:hidden;touch-action:manipulation}
.comic-art img{width:100%;height:100%;object-fit:contain}
.comic-art:focus-visible{outline-offset:-5px;z-index:1}
.comic-tap-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:5px 12px;border-radius:3px;background:#101b2dcc;color:var(--paper);font-size:10px;line-height:1.5;pointer-events:none}
.comic-caption{display:flex;flex-direction:column;justify-content:center;padding:36px;background:var(--paper);color:var(--ink);overflow:auto;border-left:4px solid #ae9063}
#comic-speaker{font-size:11px;font-weight:bold;color:#6b4c2d;margin-bottom:24px}
.comic-caption blockquote{font-family:Cormorant,Georgia,serif;font-size:clamp(26px,3vw,39px);line-height:1.18;font-weight:600;margin:0}
#comic-note{font-family:Cormorant,Georgia,serif;font-size:21px;font-style:italic;line-height:1.4;color:#675647;margin-top:27px;padding-top:21px;border-top:1px solid #b49a7266}
.comic-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:75px;flex:0 0 75px;padding:12px 24px;border-top:1px solid var(--line);background:var(--ink)}
.comic-controls button{min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:3px;background:none;font-size:13px;line-height:1.2}
.comic-controls button:hover:not(:disabled){border-color:var(--gold)}
.comic-controls #toast-next{background:var(--gold);color:var(--ink);font-weight:bold;border-color:var(--gold)}
.comic-controls #toast-play{border:0;color:var(--gold);font-size:12px}
@media(max-width:700px){
  .store-buttons{gap:20px}
  .store-badge{min-height:40px;border-radius:6px}
  .store-badge img{height:40px}
  .hero-content{animation:none}
  .comic-dialog{width:100%;height:100svh;max-height:100svh;max-width:100%;margin:0;border:0;border-radius:0}
  .comic-header{min-height:56px;flex-basis:56px;padding:0 64px 0 20px;gap:12px}
  .comic-header h2{font-size:25px}
  .comic-header>span{font-size:10px}
  .comic-header .close-button{top:6px;right:9px}
  .comic-frame{display:flex;flex-direction:column;min-height:0}
  .comic-art{flex:1;min-height:160px}
  .comic-caption{flex:0 0 auto;overflow:visible;padding:20px 24px 23px;border-left:0;border-top:3px solid #ae9063}
  #comic-speaker{font-size:10px;margin-bottom:12px}
  .comic-caption blockquote{font-size:25px;line-height:1.16}
  #comic-note{font-size:18px;line-height:1.25;margin-top:14px;padding-top:11px}
  .comic-controls{min-height:72px;flex-basis:72px;gap:8px;padding:10px 14px max(10px,env(safe-area-inset-bottom))}
  .comic-controls button{font-size:12px;padding:10px 12px}
  .comic-controls #toast-play{font-size:11px;padding-inline:7px}
  .comic-tap-hint{bottom:9px;font-size:9px}
}
@media(max-height:620px){
  .comic-dialog{height:100svh;max-height:100svh}
  .comic-frame{min-height:250px}
  .comic-caption{padding:15px 20px}
  .comic-caption blockquote{font-size:23px}
  #comic-note{font-size:17px;margin-top:12px;padding-top:10px}
}
@media(max-width:700px) and (max-height:620px){
  .comic-frame{flex:none;min-height:0}
  .comic-art{height:43svh;flex:none;min-height:160px}
  .comic-controls{position:sticky;bottom:0;z-index:2;flex:none}
}

/* The selected Dundie Studio cowboy-dog identity. */
.studio-header{gap:10px;font-family:Cormorant,Georgia,serif;font-size:29px}
.studio-avatar{width:55px;height:55px;object-fit:contain;flex-shrink:0}
.studio-header .studio-sub{font-size:9px;letter-spacing:.23em;text-transform:uppercase}
footer{background:#fcf8ed;color:#382314;padding-block:24px;border-top:1px solid #b49d7140}
footer .studio-footer{flex:0 0 auto}
.studio-logo{width:138px;height:138px;object-fit:contain}
footer p,footer>span{color:#68533e}
footer .text-link.light{color:#563a22}
@media(max-width:700px){
  .studio-header{gap:6px;font-size:23px}
  .studio-avatar{width:43px;height:43px}
  .studio-header .studio-sub{font-size:7px;margin-top:5px}
  .studio-logo{width:118px;height:118px}
  footer .studio-footer{margin-right:auto}
}
@media(max-width:360px){
  .studio-avatar{width:38px;height:38px}
  .studio-header{gap:4px;font-size:20px}
}
