@charset "UTF-8";
:root{--night:#102421;--ink:#f3f1e5;--muted:#a2b8ad;--line:#cfe4d52c;--amber:#ff967a;--fresh:#d5ec9b;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--ink);font:13px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}button,input,textarea{font:inherit}button{background:none;border:0;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:default}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3,em{font-weight:400}img{display:block;max-width:100%}fieldset{min-width:0}[hidden]{display:none!important}::selection{background:var(--amber);color:#17130f}:focus-visible{outline:1px solid var(--amber);outline-offset:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:20px;padding:12px 20px;background:var(--amber);color:#151411;z-index:100}.skip:focus{top:15px}
.masthead{padding:31px 4.5vw 22px;display:flex;align-items:center;gap:42px;position:relative;z-index:3}.wordmark{font:35px/1 var(--serif);letter-spacing:-.035em;white-space:nowrap}.wordmark>span{color:var(--amber)}.studio-note{font-size:7px;line-height:1.8;letter-spacing:.11em;color:#93928b;border-left:1px solid var(--line);padding-left:27px}.about-link{margin-left:auto;font-size:9px;letter-spacing:.01em;color:#b9b6ac;border-bottom:1px solid #777268;padding:6px 0}.about-link span{margin-left:26px;color:var(--amber);font-size:16px}.workspace{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:1.5vw;max-width:1920px;margin:auto;min-height:calc(100svh - 165px);padding:26px 4.5vw 15px}.brief-desk{position:relative;z-index:2;padding-right:3.2vw;min-width:0}.steps{display:flex;align-items:center;gap:13px;font-size:7px;letter-spacing:.11em;color:#85847a;margin:0 0 39px}.step-number{font:italic 24px/1 var(--serif);letter-spacing:0;color:#c7c0ad}.step-rule{width:70px;height:1px;background:#eee5ca26;position:relative}.step-rule i{display:block;height:1px;width:33.333%;background:var(--amber);transition:width .5s}.step-total{color:#53544d}.eyebrow{font-size:7px;letter-spacing:.14em;color:#c3b49c}.idea-view h1{font:clamp(95px,9.3vw,170px)/.94 var(--serif);letter-spacing:-.045em;margin-top:20px;white-space:nowrap}.title-dot{color:var(--amber)}.opening-line{font-size:12px;line-height:1.9;color:#c6c3b9;margin-top:24px}.opening-line em{font-style:normal;color:#8e8d85}.idea-view form{margin-top:35px}.idea-input{position:relative;border-bottom:1px solid #b8ae9670;padding:10px 20px 16px 0;transition:border-color .25s}.idea-input:focus-within{border-color:var(--amber)}.idea-input textarea{border:0;outline:0;box-shadow:none;background:none;border-radius:0;color:var(--ink);font:italic clamp(27px,2.5vw,40px)/1.23 var(--serif);padding:0;display:block;width:100%;height:106px;resize:none;min-width:0}.idea-input textarea::placeholder{color:#777970;opacity:1}.quote-open,.quote-close{position:absolute;font:45px/1 var(--serif);color:#5a574c;pointer-events:none}.quote-open{left:-22px;top:0}.quote-close{right:0;bottom:8px}.input-foot{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-top:11px;color:#797c70;font-size:8px;line-height:1.8}.input-foot>span{font-size:6px;letter-spacing:.08em;white-space:nowrap;padding-top:2px}.next-button{display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;margin-top:26px;padding:0;text-align:left;font-size:12px}.button-arrow{width:47px;height:47px;border:1px solid #b89470;border-radius:50%;display:grid;place-items:center;font-size:23px;color:var(--amber);transition:background .3s,color .3s,transform .3s;flex-shrink:0}.next-button:hover .button-arrow{background:var(--amber);color:#151411;transform:rotate(45deg)}.next-button:hover>span:first-child{color:var(--amber)}.desk-note{display:grid;grid-template-columns:22px 1fr;gap:2px 14px;border-top:1px solid var(--line);margin-top:36px;padding-top:20px}.note-spark{font-size:24px;color:var(--amber);line-height:1.2}.desk-note p{font-size:8px;line-height:1.9;color:#8f9183}.desk-note button{grid-column:2;justify-self:start;font-size:7px;padding:6px 0 0;color:#c0baaa;border-bottom:1px solid #746a57}.desk-note button>span{margin-left:16px;color:var(--amber)}.field-error{font-size:10px;line-height:1.7;color:#f4b08a;margin-top:9px}.field-error:empty{display:none}.view{animation:arrive .5s ease both}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.theater{position:relative;min-width:0;align-self:stretch;display:flex;flex-direction:column;padding-left:0;isolation:isolate}.theater-top{display:flex;justify-content:space-between;gap:20px;padding:1px 0;color:#797a6f;font-size:6px;letter-spacing:.13em}.theater-top .micro{font-size:7px;color:#a7a18f}.scene-number{padding-top:1px}.shadow-stage{--light-x:22%;--light-y:22%;--light-size:112px;position:relative;flex:1;min-height:530px;overflow:hidden;outline-offset:0;touch-action:none;cursor:none;isolation:isolate}.stage-halo{position:absolute;inset:0;background:radial-gradient(ellipse 51% 47% at 53% 49%,#9f967b 0%,#89816b 31%,#514b3b 55%,#29281f 72%,transparent 100%);opacity:.92;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 91%,transparent)}.stage-floor{position:absolute;left:13%;right:2%;bottom:15%;height:1px;background:linear-gradient(90deg,transparent,#c7b7965c,transparent);transform:rotate(-1deg)}.shadow-layer,.reality-layer{position:absolute;inset:0}.shadow-layer{mask-image:radial-gradient(circle at var(--light-x) var(--light-y),transparent calc(var(--light-size) - 28px),#000 calc(var(--light-size) + 16px))}.shadow-layer img{position:absolute;left:6%;top:2%;width:90%;height:91%;object-fit:contain;filter:drop-shadow(10px 3px 6px #0005);opacity:.98}.reality-layer{mask-image:radial-gradient(circle at var(--light-x) var(--light-y),#000 calc(var(--light-size) - 28px),transparent calc(var(--light-size) + 16px));opacity:0;transition:opacity .35s}.reality-light{position:absolute;inset:0;background:radial-gradient(ellipse at var(--light-x) var(--light-y),#c9b997 0%,#a3977a 38%,#595342 75%)}.reality-layer img{position:absolute;width:78%;height:82%;object-fit:contain;left:12%;bottom:9%;filter:drop-shadow(3px 10px 4px #19170d55)}.shadow-stage[data-active=true] .reality-layer,.shadow-stage[data-revealed=true] .reality-layer{opacity:1}.light-ring{position:absolute;left:var(--light-x);top:var(--light-y);width:calc(var(--light-size)*2);height:calc(var(--light-size)*2);transform:translate(-50%,-50%);border:1px solid #e4d5a233;border-radius:50%;opacity:0;pointer-events:none;box-shadow:0 0 55px #e6c8930c,inset 0 0 25px #e9d7ab13;transition:opacity .25s}.light-ring:before,.light-ring:after{content:'';position:absolute;background:#e9d7ab91;left:50%;top:50%;width:12px;height:1px;transform:translate(-50%,-50%)}.light-ring:after{transform:translate(-50%,-50%) rotate(90deg)}.light-ring>span{position:absolute;right:24px;top:14px;font-size:13px;color:#d5c7a0}.shadow-stage[data-active=true] .light-ring{opacity:1}.stage-cross{position:absolute;font-size:12px;color:#81785e;right:7%;top:14%;pointer-events:none}.shadow-whisper,.reality-whisper{position:absolute;left:1%;bottom:11%;font:38px/.95 var(--serif);letter-spacing:-.02em;color:#d2c9ae;pointer-events:none;text-shadow:0 2px 22px #10100f;transform:rotate(-5deg)}.shadow-whisper em,.reality-whisper em{display:block;margin-top:5px}.reality-whisper{opacity:0;transition:opacity .3s;bottom:13%;font-size:34px}.shadow-stage[data-discovered=true] .shadow-whisper{opacity:0}.shadow-stage[data-discovered=true] .reality-whisper{opacity:1}.shadow-stage[data-revealed=true] .reality-layer{mask-image:none}.shadow-stage[data-revealed=true] .shadow-layer{opacity:0}.shadow-stage[data-revealed=true] .light-ring{opacity:0}.theater-controls{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:10px 0 14px}.theater-controls p{display:flex;align-items:flex-start;gap:8px;font-size:7px;color:#a49f8c;line-height:1.8;max-width:280px}.light-dot{width:4px;height:4px;background:var(--amber);border-radius:50%;margin-top:4px;flex-shrink:0}.theater-controls button{font-size:7px;white-space:nowrap;border-bottom:1px solid #756b57;padding:3px 0;color:#c3b99f}.theater-controls button span{font-size:12px;color:var(--amber);margin-left:10px}.touch-instruction{display:none}.scene-caption{border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;gap:20px;color:#63675a;font-size:5px;letter-spacing:.13em}
.view-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.view-heading h2{font:clamp(46px,4.8vw,75px)/.97 var(--serif);letter-spacing:-.03em;outline:0}.back-button{margin-top:9px;font-size:8px;color:#9f9c8d;white-space:nowrap;padding:0 0 5px;border-bottom:1px solid #655f50}.chosen-idea{display:flex;align-items:center;justify-content:space-between;gap:17px;padding:14px 0;margin:22px 0 23px;border-block:1px solid var(--line);text-align:left;width:100%;font:italic 19px/1.35 var(--serif);overflow-wrap:anywhere}.chosen-idea>span:first-child{max-height:80px;overflow:auto;padding-right:10px}.edit-mark{font:19px var(--sans);color:var(--amber)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field{margin-bottom:20px}.field label,.finish-choice legend{display:block;color:#b9b5a7;font-size:9px;margin-bottom:9px}.field label>span{color:var(--amber)}.field label .optional{font-size:7px;color:#6f7565;margin-left:7px}.field input,.field textarea{display:block;width:100%;background:none;color:var(--ink);border:0;border-bottom:1px solid #89816d6b;border-radius:0;padding:0 0 9px;outline:0;font-size:13px;line-height:1.7}.field input:focus,.field textarea:focus{border-color:var(--amber)}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#f4b08a}.field input::placeholder,.field textarea::placeholder{color:#72786a;font-size:9px}.field textarea{resize:vertical;min-height:72px;max-height:230px}.field textarea::placeholder{line-height:1.7}.phone-field{max-width:100%}.finish-choice{border:0;margin:2px 0 22px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.finish-choice legend{padding:0;margin-bottom:11px}.finish-choice label{position:relative;cursor:pointer;min-width:0}.finish-choice input{position:absolute;opacity:0;width:1px;height:1px}.finish-choice label>span{display:flex;align-items:flex-start;gap:9px;padding:7px 0;font-size:10px;color:#aaa998}.finish-choice small{display:block;font-size:6px;line-height:1.7;color:#747c6b;margin-top:4px}.radio-dot{width:12px;height:12px;border:1px solid #6a705f;border-radius:50%;flex-shrink:0;margin-top:2px;position:relative}.finish-choice input:checked+span{color:var(--ink)}.finish-choice input:checked+span .radio-dot{border-color:var(--amber)}.finish-choice input:checked+span .radio-dot:after{content:'';position:absolute;inset:3px;background:var(--amber);border-radius:50%}.finish-choice input:focus-visible+span{outline:1px solid var(--amber);outline-offset:5px}.description-field{margin-bottom:8px}.details-view .next-button{margin-top:13px}.privacy-note,.private-note{font-size:7px;line-height:1.8;color:#7e8473;margin-top:14px}.private-note{color:#a99b7f;margin-top:9px}.summary-symbol{color:var(--amber);font:45px/1 var(--serif)}.summary-intro{color:#a5a18d;font-size:11px;line-height:1.9;margin-top:28px;max-width:390px}.summary-content{border-block:1px solid var(--line);padding:22px 0;margin-top:25px;overflow-wrap:anywhere}.summary-content dt{font-size:7px;color:#838b75;letter-spacing:.06em;margin-top:18px}.summary-content dt:first-child{margin-top:0}.summary-content dd{font-size:12px;color:#ded8c6;white-space:pre-wrap;margin-top:5px}.summary-actions{display:flex;justify-content:space-between;gap:25px;margin-top:24px}.summary-actions button,.text-button{font-size:8px;color:#a9a38d;border-bottom:1px solid #69614e;padding:5px 0}.text-button{margin-top:15px}.status-note{font-size:9px;color:var(--amber);margin-top:20px}.site-footer{display:flex;gap:25px;align-items:center;margin:7px 4.5vw 0;padding:20px 0 22px;border-top:1px solid var(--line);font-size:7px;color:#747b68}.footer-thought{font:italic 17px/1 var(--serif);color:#8e917d}.site-footer>div{margin-left:auto;display:flex;gap:23px}.site-footer button{padding:0;font-size:7px;color:#929582}.preview-label{font-size:5px;letter-spacing:.1em;border-left:1px solid var(--line);padding-left:23px}.info-dialog{width:min(600px,92vw);max-height:90svh;overflow:auto;border:1px solid #a0906a55;background:#171813;padding:43px;color:var(--ink);box-shadow:0 10px 100px #0008}.info-dialog::backdrop{background:#080b07d9;backdrop-filter:blur(12px)}.info-close{position:absolute;right:15px;top:10px;font:29px/1 var(--sans);padding:5px;color:#a9a38e}.info-dialog h2{font:49px/1 var(--serif);letter-spacing:-.02em;margin:25px 0}.info-dialog p,.info-dialog li{font-size:12px;color:#aaa994;line-height:1.9;margin:15px 0}.info-dialog .eyebrow{font-size:7px;color:var(--amber)}.info-dialog h3{font:29px var(--serif);margin:24px 0 10px}.info-dialog a{border-bottom:1px solid #6c6c54;overflow-wrap:anywhere}.info-dialog ul{padding-left:18px}
body[data-step=details] .steps{margin-bottom:25px}body[data-step=details] .step-rule i{width:66.666%}body[data-step=summary] .step-rule i{width:100%}body[data-step=details] .shadow-stage,body[data-step=summary] .shadow-stage{min-height:570px}body[data-step=details] .workspace{padding-top:12px}.view[hidden]{animation:none}
@media(min-width:1650px){.masthead{padding-top:42px}.workspace{padding-top:40px}.steps{margin-bottom:55px}.idea-view form{margin-top:48px}.idea-input textarea{height:130px}.desk-note{margin-top:45px}.shadow-stage{min-height:670px}.brief-desk{padding-right:5vw}.opening-line{font-size:14px}.shadow-whisper{font-size:48px}.theater-controls p,.theater-controls button{font-size:9px}.scene-caption{font-size:6px}}
@media(max-width:1100px) and (min-width:761px){.studio-note{font-size:6px}.workspace{gap:0}.brief-desk{padding-right:3vw}.idea-view h1{font-size:10vw}.opening-line{font-size:10px}.idea-input textarea{font-size:29px}.shadow-stage{min-height:540px;--light-size:90px}.theater-controls{gap:12px}.theater-controls p{font-size:6px;max-width:190px}.theater-controls button{font-size:6px}.shadow-whisper{font-size:31px;left:0}.reality-whisper{font-size:28px}.scene-caption{font-size:4px}.finish-choice small{font-size:5px}.field input,.field textarea{font-size:12px}.view-heading h2{font-size:52px}}
@media(max-width:760px){.masthead{padding:25px 6vw 18px;gap:20px}.wordmark{font-size:30px}.studio-note{display:none}.about-link{font-size:7px}.about-link span{margin-left:13px;font-size:14px}.workspace{display:flex;flex-direction:column;gap:0;min-height:0;padding:24px 6vw 0}.brief-desk{padding-right:0}.steps{font-size:6px;margin-bottom:31px;gap:11px}.step-number{font-size:22px}.step-rule{width:50px}.eyebrow{font-size:6px;letter-spacing:.11em}.idea-view h1{font-size:clamp(89px,24vw,150px);margin-top:19px}.opening-line{font-size:11px;line-height:1.9;margin-top:23px}.idea-view form{margin-top:28px}.idea-input{padding-right:17px;padding-bottom:13px}.quote-open{left:-14px;font-size:33px}.quote-close{font-size:33px}.idea-input textarea{font-size:32px;height:112px}.input-foot{font-size:7px;padding-top:10px}.input-foot>span{font-size:5px}.next-button{margin-top:20px;font-size:12px}.button-arrow{width:44px;height:44px;font-size:24px}.desk-note{margin-top:25px;padding-top:18px;gap:3px 12px;grid-template-columns:20px 1fr}.desk-note p{font-size:8px}.desk-note button{font-size:7px}.note-spark{font-size:22px}.theater{margin-top:40px;width:100%;padding:0}.theater-top{font-size:5px;gap:10px}.theater-top .micro{font-size:6px}.shadow-stage{flex:none;height:470px;min-height:0;--light-size:86px;margin:2px -6vw 0;isolation:isolate}.stage-halo{background:radial-gradient(ellipse 52% 48% at 53% 49%,#9f967b 0%,#89816b 31%,#514b3b 55%,#29281f 72%,transparent 100%)}.shadow-layer img{left:3%;width:94%;height:91%;top:1%}.reality-layer img{width:84%;height:82%;left:8%;bottom:9%}.shadow-whisper{font-size:32px;left:7%;bottom:10%}.reality-whisper{font-size:29px;bottom:12%}.stage-cross{right:7%}.theater-controls{padding-top:0;gap:15px}.theater-controls p{font-size:7px;max-width:210px}.theater-controls button{font-size:7px}.desktop-instruction{display:none}.touch-instruction{display:inline}.scene-caption{font-size:4px;letter-spacing:.09em;padding-top:11px}.site-footer{margin:26px 6vw 0;padding:22px 0 18px;flex-wrap:wrap;gap:20px}.footer-thought{font-size:18px;width:100%}.site-footer>div{margin:0;gap:20px}.site-footer button{font-size:7px}.preview-label{font-size:4px;border:0;padding:0;margin-left:auto}.view-heading h2{font-size:57px}.back-button{font-size:7px;margin-top:8px}.chosen-idea{font-size:21px;margin:23px 0 27px}.field-row{gap:24px}.field{margin-bottom:24px}.field label,.finish-choice legend{font-size:10px}.field input,.field textarea{font-size:16px;padding-bottom:10px}.field input::placeholder{font-size:10px}.field textarea{min-height:112px}.field textarea::placeholder{font-size:11px}.finish-choice{gap:17px;margin:2px 0 26px}.finish-choice label>span{font-size:11px;gap:8px}.finish-choice small{font-size:7px;max-width:125px}.radio-dot{width:13px;height:13px;margin-top:3px}.privacy-note,.private-note{font-size:9px;line-height:1.8}.details-view .next-button{margin-top:18px}.summary-intro{font-size:11px}.summary-content dt{font-size:8px}.summary-content dd{font-size:13px}.summary-actions button{font-size:9px}.summary-actions{gap:20px}.summary-symbol{font-size:41px}.status-note{font-size:10px}.info-dialog{padding:34px 25px}.info-dialog h2{font-size:42px}.info-dialog p,.info-dialog li{font-size:12px}body[data-step=details] .workspace{padding-top:23px}body[data-step=details] .steps{margin-bottom:29px}body[data-step=details] .theater,body[data-step=summary] .theater{display:none}body[data-step=details] .site-footer,body[data-step=summary] .site-footer{margin-top:35px}}
@media(max-width:380px){.idea-input textarea{font-size:29px}.view-heading h2{font-size:51px}.finish-choice label>span{font-size:10px}.finish-choice small{font-size:6px}.theater-controls p{font-size:6px}.theater-controls button{font-size:6px}.preview-label{width:100%;margin:0}}
.shadow-stage:not([data-active=true]):not([data-revealed=true]) .shadow-layer{mask-image:none}
.shadow-stage[data-revealed=true] .reality-light{background:#d6c49c;mask-image:radial-gradient(ellipse 53% 48% at 53% 49%,#000 20%,transparent 100%)}
.input-foot{color:#a3a193}.desk-note p{color:#aaa797}.privacy-note{color:#a29e8d}.scene-caption{color:#989683}.site-footer{color:#969583}
@media(min-width:761px){.studio-note{font-size:8px}.about-link{font-size:11px}.steps{font-size:9px}.eyebrow{font-size:9px}.opening-line{font-size:14px}.input-foot{font-size:10px}.input-foot>span{font-size:8px}.next-button{font-size:14px}.desk-note p,.desk-note button{font-size:10px}.theater-top .micro{font-size:9px}.scene-number{font-size:8px}.theater-controls p,.theater-controls button{font-size:10px}.scene-caption{font-size:7px}.site-footer button{font-size:10px}.preview-label{font-size:7px}.field label,.finish-choice legend{font-size:11px}.field input,.field textarea{font-size:15px}.field input::placeholder,.field textarea::placeholder{font-size:11px}.finish-choice label>span{font-size:12px}.finish-choice small{font-size:8px}.privacy-note,.private-note{font-size:9px}.back-button{font-size:10px}.summary-content dt{font-size:9px}.summary-content dd{font-size:14px}.summary-actions button,.text-button{font-size:10px}.summary-intro{font-size:13px}}
@media(max-width:760px){
 body[data-step=idea] .workspace{display:grid;grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);column-gap:6px;padding-top:20px}
 body[data-step=idea] .brief-desk,body[data-step=idea] .idea-view{display:contents}
 body[data-step=idea] .steps{grid-column:1/-1;grid-row:1;margin-bottom:25px}
 body[data-step=idea] .idea-view>.eyebrow{grid-column:1/-1;grid-row:2;margin-bottom:0}
 body[data-step=idea] .idea-view h1{grid-column:1;grid-row:3;white-space:normal;overflow-wrap:normal;font-size:clamp(65px,18.8vw,115px);line-height:.95;letter-spacing:-.045em;align-self:start;margin-top:35px;max-width:100%;position:relative;z-index:2}
 body[data-step=idea] .opening-line{grid-column:1/-1;grid-row:4;margin-top:16px;font-size:11px}
 body[data-step=idea] .idea-view form{grid-column:1/-1;grid-row:5;margin-top:24px}
 body[data-step=idea] .desk-note{grid-column:1/-1;grid-row:6}
 body[data-step=idea] .theater{grid-column:2;grid-row:3;margin-top:6px;align-self:start;width:100%}
 body[data-step=idea] .theater-top,body[data-step=idea] .scene-caption{display:none}
 body[data-step=idea] .shadow-stage{height:250px;margin:0 -6vw 0 -13px;--light-size:55px}
 body[data-step=idea] .shadow-whisper{font-size:23px;left:6%;bottom:3%}
 body[data-step=idea] .reality-whisper{font-size:20px;left:6%;bottom:3%}
 body[data-step=idea] .theater-controls{display:block;padding:7px 0 0}
 body[data-step=idea] .theater-controls p{font-size:6px;line-height:1.6;margin-bottom:5px;max-width:100%}
 body[data-step=idea] .theater-controls button{font-size:7px;margin-left:12px}
 body[data-step=idea] .stage-cross{font-size:9px;top:10%;right:12%}
 .input-foot{font-size:8px}.idea-input textarea{height:112px}.desk-note p{font-size:9px}.desk-note button{font-size:9px}.about-link{font-size:9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.next-button:hover .button-arrow{transform:none}}
@media(forced-colors:active){.shadow-stage{display:none}.theater-controls{display:none}.radio-dot{border-color:ButtonText}.finish-choice input:checked+span .radio-dot:after{background:Highlight}}

/* The beam is behind the interface: light text becomes dark by difference blending. */
:root{--torch-x:-300px;--torch-y:-300px;--torch-size:112px}
.global-light{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--torch-x) var(--torch-y),#fff 0,#fff calc(var(--torch-size) - 28px),#ffffffd9 calc(var(--torch-size) - 10px),transparent calc(var(--torch-size) + 16px));transition:opacity .15s}
body[data-torch=true] .global-light{opacity:1}
.masthead,.brief-desk,.site-footer,.theater-top,.theater-controls,.scene-caption{mix-blend-mode:difference}
.masthead,.brief-desk,.site-footer{position:relative;z-index:2}
.theater,.shadow-stage{isolation:auto}
.theater-top,.theater-controls,.scene-caption{position:relative;z-index:2}
.shadow-whisper,.reality-whisper{mix-blend-mode:difference;color:#fff;text-shadow:none;z-index:3}
.light-ring{border-color:#20202030;box-shadow:none}.light-ring:before,.light-ring:after{background:#16161699}.light-ring>span{color:#1c1c1c}
.reality-light{background:#fff}.shadow-stage[data-revealed=true] .reality-light{background:#d6c49c}
.torch-reticle{position:fixed;left:var(--torch-x);top:var(--torch-y);height:12px;width:12px;transform:translate(-50%,-50%);z-index:40;mix-blend-mode:difference;pointer-events:none;opacity:0}
.torch-reticle:before,.torch-reticle:after{content:'';position:absolute;left:50%;top:50%;width:10px;height:1px;background:#fff;transform:translate(-50%,-50%)}.torch-reticle:after{transform:translate(-50%,-50%) rotate(90deg)}
body[data-torch=true] .torch-reticle{opacity:1}
.info-dialog:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at var(--torch-x) var(--torch-y),#fff calc(var(--torch-size) - 28px),transparent calc(var(--torch-size) + 16px));opacity:0}
body[data-torch=true] .info-dialog:before{opacity:1}.info-dialog>*{position:relative;z-index:1;mix-blend-mode:difference}.info-dialog .info-close{position:absolute}
@media(prefers-reduced-motion:reduce){.global-light{transition:none}}
@media(max-width:760px){body[data-step=idea] .steps,body[data-step=idea] .idea-view>.eyebrow,body[data-step=idea] .idea-view>h1,body[data-step=idea] .opening-line,body[data-step=idea] .idea-view>form,body[data-step=idea] .desk-note{mix-blend-mode:difference;position:relative;z-index:2}}

/* Paired sprite assets keep each silhouette and reveal in the same coordinate frame. */
.scene-figure{position:absolute;left:51%;top:2%;height:91%;aspect-ratio:3/4;max-width:94%;transform:translateX(-50%);background-size:contain;background-position:center;background-repeat:no-repeat}
.scene-figure.sheet{background-size:200% 100%}.shadow-layer .scene-figure.sheet{background-position:0 50%}.reality-layer .scene-figure.sheet{background-position:100% 50%}
.reality-layer .scene-figure:not(.sheet){height:82%;top:auto;bottom:9%;left:51%}
.scene-navigation{position:relative;z-index:2;mix-blend-mode:difference;display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:-3px 0 7px;color:var(--ink)}
.scene-navigation>button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #a8997555;border-radius:50%;font-size:16px;transition:background .2s}
.scene-navigation>button:hover{background:#d9b5861a}.scene-select-wrap{position:relative;min-width:120px}.scene-select-wrap select{appearance:none;-webkit-appearance:none;background:none;border:0;border-bottom:1px solid #a8997566;border-radius:0;color:var(--ink);font:10px var(--sans);padding:9px 23px 9px 0;width:100%;cursor:pointer}.scene-select-wrap option{background:#171813;color:#ece8dc}.scene-select-wrap>span{position:absolute;right:2px;top:6px;pointer-events:none;color:var(--amber)}
.scene-status{position:absolute;right:0;bottom:-12px;font-size:7px;color:#c5b590;white-space:nowrap}.shadow-stage[data-loading=true] .scene-figure{opacity:.45}.scene-figure{transition:opacity .2s}
.scene-navigation~.theater-controls{padding-top:3px}.shadow-whisper,.reality-whisper{max-width:94%}
@media(max-width:760px){body[data-step=idea] .shadow-stage{height:240px}body[data-step=idea] .scene-navigation{justify-content:flex-start;gap:7px;margin:4px 0 4px}body[data-step=idea] .scene-navigation>button{width:28px;height:28px;font-size:14px}body[data-step=idea] .scene-select-wrap{min-width:0;flex:1}body[data-step=idea] .scene-select-wrap select{font-size:9px;padding:7px 16px 7px 0}body[data-step=idea] .scene-status{font-size:6px;bottom:-10px}body[data-step=idea] .theater-controls{padding-top:5px}body[data-step=idea] .theater-controls p{font-size:6px}.scene-figure{height:91%;left:50%}}
@media(prefers-reduced-motion:reduce){.scene-figure,.scene-navigation>button{transition:none}}
.shadow-stage[data-scene=luffy] .shadow-layer .scene-figure{clip-path:inset(0 8% 0 0)}
.shadow-stage[data-scene=pikachu] .shadow-layer .scene-figure{clip-path:inset(0 6% 0 0)}

/* Quiet playback: no character labels, selector or directional controls. */
.scene-playback{position:relative;z-index:2;mix-blend-mode:difference;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:31px;margin:0 0 5px;font-size:8px;color:#a39e8d}
.scene-playback>button{font:8px var(--sans);padding:6px 0;border-bottom:1px solid #776c56;color:#cec3aa}
.scene-playback .scene-status{bottom:-9px}.scene-playback~.theater-controls{padding-top:5px}
.idea-view form{margin-top:27px}
.idea-label{display:block;margin:0 0 12px;color:#fff;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:text}
.idea-input{padding:20px 22px;border:1px solid #ffffff80;background:#ffffff05;transition:border-color .2s,background .2s}
.idea-input:hover{border-color:#ffffffbf}.idea-input:focus-within{border-color:#fff;background:#ffffff09;box-shadow:inset 2px 0 #dfa574}
.idea-input textarea{height:105px;min-height:105px;color:#fff;caret-color:#fff;font-size:clamp(29px,2.5vw,40px);line-height:1.25}
.idea-input textarea::placeholder{color:#fff;opacity:1}
.opening-line{margin-top:19px;font-size:11px;line-height:1.75;color:#aaa79e}.opening-line em{color:#8e8d85}
.input-foot{padding-top:10px}.idea-view .next-button{margin-top:20px}.idea-view .desk-note{margin-top:24px;padding-top:18px}
@media(max-width:760px){body[data-step=idea] .idea-view form{grid-row:4;margin-top:20px}body[data-step=idea] .opening-line{grid-row:5;margin-top:16px;font-size:10px}.idea-label{font-size:9px;margin-bottom:10px;letter-spacing:.09em}.idea-input{padding:18px 17px}.idea-input textarea{height:116px;min-height:116px;font-size:29px;line-height:1.3}.input-foot{font-size:8px}.idea-view .desk-note{margin-top:21px}}
.next-button:hover .button-arrow{transform:none}.button-arrow{font-size:25px}.light-ring>span:empty{display:none}
/* Black marginalia, clipped inside the white core of the moving light. */
.workspace{position:relative}
.hidden-ink{position:absolute;inset:0;z-index:4;pointer-events:none;user-select:none;color:var(--night);opacity:0;mask-image:radial-gradient(circle at var(--ink-x,-300px) var(--ink-y,-300px),#000 0,#000 calc(var(--torch-size) - 34px),transparent calc(var(--torch-size) - 10px))}
body[data-step=idea][data-torch=true]:not(.dialog-open) .hidden-ink{opacity:1}
.secret{position:absolute;display:flex;flex-direction:column;align-items:center;text-align:center;font:23px/1.1 'Caveat','Segoe Print','Bradley Hand',var(--serif);letter-spacing:-.025em;transform:rotate(-7deg)}
.secret svg{display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;overflow:visible;width:100%}
.secret-question{left:40%;top:2%;width:105px;transform:rotate(8deg)}.secret-question svg{height:34px}
.secret-thought{right:1%;top:15%;width:155px;transform:rotate(6deg)}.secret-thought svg{width:94px;height:44px;margin-bottom:6px}
.secret-rabbit{left:43%;top:42%;width:78px;transform:rotate(-12deg)}.secret-rabbit span{font-size:17px;margin-top:5px}
.secret-beginning{right:3%;bottom:100px;width:145px;transform:rotate(5deg)}.secret-beginning svg{height:35px;margin-bottom:7px}
.secret-orbit{left:35%;bottom:20px;width:115px;transform:rotate(-9deg)}.secret-orbit span{font-size:18px;margin-top:3px}
/* Motes remain clipped to the beam, with their drift suspended when it is off. */
.beam-dust{position:fixed;inset:0;z-index:5;pointer-events:none;overflow:hidden;opacity:0;mask-image:radial-gradient(circle at var(--torch-x) var(--torch-y),#000 0,#000 calc(var(--torch-size) - 27px),transparent calc(var(--torch-size) + 4px))}
body[data-torch=true]:not(.dialog-open) .beam-dust{opacity:1}
.beam-dust i{--mote-opacity:.35;position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:#463b2d;opacity:var(--mote-opacity);animation:dust-drift var(--duration) linear var(--delay) infinite;animation-play-state:paused}
.beam-dust i:nth-child(3n){--mote-opacity:.45;background:#8c714f;filter:blur(.3px)}
body[data-torch=true]:not(.dialog-open) .beam-dust i{animation-play-state:running}
@keyframes dust-drift{0%{transform:translate3d(0,-90px,0);opacity:0}12%,88%{opacity:var(--mote-opacity)}100%{transform:translate3d(var(--drift),120px,0);opacity:0}}
@media(max-width:760px){.secret-question{left:auto;right:3%;top:29px;width:88px;font-size:19px}.secret-question svg{height:22px}.secret-thought,.secret-beginning{display:none}.secret-rabbit{left:8%;top:285px;width:60px}.secret-rabbit span{font-size:15px}.secret-orbit{left:auto;right:7%;bottom:7px;width:78px}.secret-orbit span{font-size:15px}}
@media(prefers-reduced-motion:reduce){.beam-dust i{animation:none}}
@media(forced-colors:active){.hidden-ink,.beam-dust{display:none}}
/* Deep petrol ink, with small coral and citron accents. */
.contact-alternatives{display:flex;flex-wrap:wrap;gap:12px 24px}.privacy-note button{font:inherit;padding:0;border-bottom:1px solid currentColor}.email-destination{font-size:10px;line-height:1.9;color:#b5c8ba;margin-top:18px;overflow-wrap:anywhere}
.wordmark>span,.step-number,.eyebrow,.note-spark{color:var(--fresh)}
.stage-halo{background:radial-gradient(ellipse 51% 47% at 53% 49%,#a4bba4 0%,#7e9e8d 31%,#43685d 55%,#203d36 72%,transparent 100%)}
.button-arrow{background:var(--amber);border-color:var(--amber);color:var(--night)}
.next-button:hover .button-arrow{background:var(--fresh);border-color:var(--fresh);color:var(--night)}
.next-button:hover>span:first-child{color:var(--fresh)}
.idea-input:focus-within{box-shadow:inset 2px 0 var(--fresh)}
.theater-top .micro,.scene-playback,.studio-note,.input-foot,.desk-note p,.site-footer{color:#adc5b8}
.scene-playback>button,.theater-controls button{color:var(--fresh);border-color:#d5ec9b70}
.theater-controls p,.scene-caption,.footer-thought{color:#b3c8b7}
.opening-line,.opening-line em{color:#b5c8ba}
.desk-note button{color:#f3c0aa;border-color:#ff967a70}
.info-dialog{background:#142c27;border-color:#a6c6af66}.info-dialog::backdrop{background:#071713d9}
@media(max-width:760px){.stage-halo{background:radial-gradient(ellipse 52% 48% at 53% 49%,#a4bba4 0%,#7e9e8d 31%,#43685d 55%,#203d36 72%,transparent 100%)}}
@media(max-width:760px){body[data-step=idea] .scene-playback{font-size:6px;min-height:24px;gap:8px;margin:3px 0 4px}body[data-step=idea] .scene-playback>button{font-size:7px;padding:4px 0}body[data-step=idea] .theater-controls{padding-top:3px}}

/* Compare the two editions without changing the night layout. */
.theme-switch-dark{font-size:9px;color:var(--fresh);border-bottom:1px solid #d5ec9b66;white-space:nowrap;padding-bottom:3px}.site-footer:has(.theme-switch-dark){flex-wrap:wrap}

.project-options {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 15px;
}
.project-options button {
  padding: 7px 11px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 11px;
}
.project-options button[aria-pressed="true"] {
  background: var(--fresh);
  border-color: var(--fresh);
  color: var(--night);
}
.project-options button:focus-visible,
.visit-options :is(button,a):focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 3px;
}
.photo-note {
  margin: 14px 0;
  padding: 10px 13px;
  border-left: 2px solid var(--amber);
  font-size: 12px;
  line-height: 1.5;
}
.portrait-photos {
  min-width: 0;
  margin: 12px 0 22px;
  padding: 13px;
  border: 1px solid currentColor;
}
.portrait-photos legend { padding: 0 6px; font-weight: 600; }
.portrait-photos p { font-size: 11px; line-height: 1.5; }
.photo-slots {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}
.photo-slot { min-width: 0; padding: 8px; border: 1px solid var(--line); }
.portrait-process {
  margin: 8px 0;
  padding-left: 9px;
  border-left: 2px solid var(--amber);
}
.photo-guide {
  width: min(100%, 150px);
  aspect-ratio: 3 / 4;
  margin: 0 auto 8px;
  background: #ede6d8 url('./assets/portraits-quatre-angles.png') var(--portrait-x) 0 / 400% 200% no-repeat;
}
.photo-guide-face { --portrait-x: 0%; }
.photo-guide-right { --portrait-x: 66.6667%; }
.photo-guide-left { --portrait-x: 33.3333%; }
.photo-guide-back { --portrait-x: 100%; }
.photo-slot:has(img:not([hidden])) .photo-guide {
  background-position-y: 100%;
  animation: photo-cheer 280ms ease-out;
}
@keyframes photo-cheer {
  50% { transform: scale(1.045); }
}
@media (prefers-reduced-motion: reduce) {
  .photo-slot:has(img:not([hidden])) .photo-guide { animation: none; }
}
.photo-slot label { display: block; font-weight: 600; font-size: 11px; }
.photo-slot small { display: block; font-size: 9px; font-weight: 400; }
.photo-slot input { width: 100%; margin: 5px 0; font-size: 10px; }
.photo-slot input::file-selector-button {
  padding: 5px 7px;
  color: var(--ink);
  background: var(--night);
  border: 1px solid currentColor;
  cursor: pointer;
}
.photo-slot img { width: 100%; height: 75px; object-fit: contain; object-position: left center; }
.remove-photo { padding: 4px 0; text-decoration: underline; font-size: 10px; }
.visit-dialog {
  box-sizing: border-box;
  width: min(550px, calc(100% - 28px));
  max-height: calc(100% - 28px);
  padding: clamp(22px, 5vw, 40px);
  background: #fff8e9;
  color: #253a31;
  border: 1px solid #2854c5;
  box-shadow: 6px 6px 0 #ffcf57;
  text-align: center;
}
.visit-dialog::backdrop { background: #102421a6; }
.visit-kicker {
  color: #2854c5;
  font-size: 10px;
  letter-spacing: .18em;
}
.visit-dialog h2 {
  margin: 8px 0;
  color: #2854c5;
  font: 500 clamp(32px, 7vw, 51px)/1.05 var(--serif);
  letter-spacing: -.05em;
}
.visit-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}
.visit-options :is(button,a) {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 6px;
  min-height: 142px;
  padding: 14px 6px;
  border: 1px solid currentColor;
  border-radius: 2px;
  font: 600 clamp(13px, 3.5vw, 17px)/1.2 var(--sans);
}
.visit-options svg {
  width: 39px;
  height: 39px;
  margin-bottom: 5px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.visit-options small { font-size: 10px; font-weight: 400; }
.visit-day { background: #ffcf57; color: #223f98; }
.visit-night { background: #102421; color: #eef2ca; }
