@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
:root{--paper:#f2eee3;--ink:#1b2d48;--muted:#7b8190;--line:#cfcec1;--serif:'Italiana',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,label.filebtn{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #92734b;outline-offset:5px}header{height:99px;display:flex;align-items:center;justify-content:space-between;margin:0 5%;border-bottom:1px solid var(--line);position:relative;z-index:3}.brand{font-family:var(--serif);font-size:29px;letter-spacing:-2px}.brand span{font-size:22px;font-style:italic}.brand i{font-family:Arial,sans-serif;font-size:9px;font-style:normal;letter-spacing:2px;margin-left:16px}nav{display:flex;gap:36px;font-size:11px}sup{font-size:8px;margin-left:4px}.textbtn{border:0;background:none;font-size:11px}.hero{min-height:790px;height:calc(100svh - 99px);max-height:1100px;position:relative;overflow:hidden;padding:62px 7%}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2px;display:flex;gap:10px;align-items:center}.dot{width:5px;height:5px;background:var(--ink);border-radius:50%}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-size:clamp(60px,7.2vw,110px);font-weight:400;letter-spacing:-3.5px;line-height:1.02;margin-top:35px;position:relative;z-index:2;pointer-events:none}em{font-weight:400;color:#7e826e}h1 em{font-size:.94em}p.intro{font-size:12px;line-height:1.9;margin-top:27px;position:relative;z-index:2;pointer-events:none}.stage{position:relative;touch-action:pan-y}.stage canvas{display:block;width:100%;height:100%;cursor:grab}.stage canvas:active{cursor:grabbing}#hero-stage{position:absolute;inset:6% -2% 1% 34%;z-index:1}.hero-note{position:absolute;z-index:2;right:8%;bottom:132px;display:flex;flex-direction:column;gap:10px}.hero-note span{font-size:8px;letter-spacing:2px}.hero-note b{font-family:var(--serif);font-size:22px;font-weight:400}.hero-note small{font-size:9px;color:var(--muted)}.vertical{position:absolute;right:2.5%;top:35%;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px}.scroll{position:absolute;bottom:48px;font-size:8px;letter-spacing:2px;z-index:2}.scroll span{display:inline-block;font-size:23px;margin-left:40px}.edition{position:absolute;right:7%;bottom:48px;font-size:8px;line-height:1.9;letter-spacing:1.5px}.work{padding:105px 7% 100px;background:#e5e4da}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:58px}h2{font:400 clamp(43px,5vw,70px)/1.08 var(--serif);letter-spacing:-1.5px;margin-top:24px}.section-head p{font-size:12px;line-height:1.9;max-width:330px}.section-head small{font-size:9px;color:var(--muted)}.filters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:25px;padding:18px 0}.filters button{border:0;background:none;padding:5px 0;font-size:10px;color:var(--muted)}.filters button.active{color:var(--ink);border-bottom:1px solid var(--ink)}.filters span{margin-left:auto;font-size:8px;letter-spacing:1px}.project{display:grid;grid-template-columns:1.35fr 1fr;min-height:550px;border-bottom:1px solid var(--line);padding:55px 0;gap:8%}.project:nth-child(even){grid-template-columns:1fr 1.35fr}.project:nth-child(even) .project-visual{order:2}.project-visual{height:430px;position:relative;background:#deded1;overflow:hidden}.project-visual .stage{width:100%;height:100%}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1s}.project-visual:hover img{transform:scale(1.035)}.object-label{position:absolute;top:20px;left:20px;font-size:8px;letter-spacing:1.4px;pointer-events:none}.viewer-tools{position:absolute;bottom:15px;left:16px;right:16px;display:flex;gap:8px;align-items:center}.viewer-tools button{border:1px solid #b6b7a5;background:#f2eee3d9;padding:8px 11px;font-size:9px}.viewer-tools span{margin-left:auto;font-size:8px;pointer-events:none}.project-info{align-self:center}.project-num{font-size:9px;letter-spacing:2px;color:var(--muted)}.project-info h3{font:400 45px/1.1 var(--serif);margin:23px 0 18px}.project-info p{font-size:12px;line-height:1.9;color:#657087;max-width:350px}.meta{display:flex;gap:25px;font-size:9px;margin:24px 0 36px}.project-info button{background:none;border:0;border-bottom:1px solid #8a917e;padding:0 0 12px;font-size:10px;min-width:140px;text-align:left}.project-info button span{float:right}.approach{padding:110px 10%;background:#1b2d48;color:#f2eee3;position:relative}.approach h2{font-size:80px}.approach>p{position:absolute;top:170px;left:57%;right:10%;font-size:13px;line-height:2;color:#c4c8b8}.approach em{color:#bdc1ac}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:8%;margin-top:85px;border-top:1px solid #5e6d83;padding-top:35px}.principles span{font-size:9px;color:#a4ad96}.principles h3{font:30px var(--serif);margin:20px 0 15px}.principles p{font-size:11px;line-height:1.9;color:#c3c7cf}.about{padding:110px 10%;display:grid;grid-template-columns:1fr 1fr;gap:40px}.about>.eyebrow{grid-column:1/-1}.about p{font-size:12px;line-height:1.9;margin-top:26px;max-width:400px}.muted{color:var(--muted)}.contact{display:inline-block;border-bottom:1px solid var(--ink);padding:12px 0;font-size:12px;margin-top:25px}.monogram{align-self:center;text-align:center;font:150px var(--serif);letter-spacing:-14px}.monogram span{font-size:100px;color:#9eabc0}.monogram small{display:block;font:9px Arial;letter-spacing:4px;margin-top:20px}footer{margin:0 5%;border-top:1px solid var(--line);padding:30px 0;display:flex;justify-content:space-between;align-items:center}footer .brand{font:11px Arial;letter-spacing:1.5px}footer span,footer>a:last-child{font-size:8px;letter-spacing:1px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);width:min(1000px,94vw);max-height:90svh;padding:55px;overscroll-behavior:contain}dialog::backdrop{background:#1c251de0;backdrop-filter:blur(0px)}.close{position:absolute;right:20px;top:13px;border:0;background:none;font-size:30px;z-index:5}.detail-stage{height:480px;background:#dddfd1;margin:30px 0;position:relative}.detail-stage>.stage{height:100%}.detail-story{white-space:pre-wrap;line-height:1.9;max-width:650px;margin:30px 0}.detail-gallery{display:grid;gap:20px}.detail-gallery img{width:100%;height:auto}.notice{font-size:12px;line-height:1.8;background:#e1e2d5;padding:18px;margin:25px 0}label{display:block;font-size:11px;line-height:1.7}input,textarea,select{display:block;width:100%;border:1px solid #c0c4b3;padding:11px;background:#f7f6ef;color:var(--ink);margin:6px 0 17px;border-radius:0}textarea{resize:vertical}form .row{display:flex;gap:16px;margin-top:15px}.row>label{flex:1}.solid{background:var(--ink);color:var(--paper);border:0;padding:12px 20px;font-size:11px}#profile{border-bottom:1px solid var(--line);padding-bottom:25px}.editor-tools{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.editor-tools>button:not(.solid),.filebtn,#cancel{border:1px solid var(--line);padding:10px 15px;background:none;font-size:11px;cursor:pointer}.filebtn input{display:none}.edit-item{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:15px 0}.edit-item span{flex:1}.edit-item button{background:none;border:0;font-size:11px;text-decoration:underline}#project-form{padding-top:25px}#project-form h3{font:30px var(--serif);margin-bottom:25px}#project-form small{display:block;font-size:10px;color:var(--muted);line-height:1.7}#editor-status{font-size:12px;margin-top:20px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:14px 25px;font-size:12px;z-index:20;display:none}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s,transform .9s}.reveal.visible{opacity:1;transform:none}@media(min-width:1700px){main,header,footer{max-width:1800px;margin:auto}}@media(max-width:750px){header{height:78px}.brand i{display:none}nav{gap:18px;font-size:10px}nav a:nth-child(2){display:none}.textbtn{font-size:9px}.hero{height:850px;min-height:0;padding:42px 7%}h1{font-size:58px;letter-spacing:-2px;margin-top:25px}.intro{font-size:11px!important}#hero-stage{inset:260px -20% 60px -12%}.hero-note{bottom:120px;right:8%}.vertical{display:none}.hero-note b{font-size:19px}.hero-note small{font-size:8px}.edition{font-size:7px}.work{padding:65px 7%}.section-head{display:block;margin-bottom:30px}.section-head p{margin-top:25px}.filters{gap:17px}.filters span{display:none}.project,.project:nth-child(even){grid-template-columns:1fr;gap:25px;padding:30px 0 45px}.project:nth-child(even) .project-visual{order:0}.project-visual{height:360px}.project-info h3{font-size:36px;margin:14px 0}.project-info p{max-width:100%}.meta{margin:18px 0 25px}.approach{padding:65px 7%}.approach h2{font-size:62px}.approach>p{position:static;margin-top:30px}.principles{gap:25px;margin-top:40px;grid-template-columns:1fr}.principles article{display:grid;grid-template-columns:25px 1fr;gap:12px}.principles h3{margin:0;font-size:27px}.principles p{grid-column:2}.about{padding:65px 7%;grid-template-columns:1fr}.monogram{font-size:110px;padding:25px}.monogram span{font-size:80px}footer span{display:none}dialog{padding:40px 23px}.detail-stage{height:350px}.row{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* The atelier: one continuous scroll-controlled world. */
:root{--gold:#c4ad77}.immersive{background:#141c17}.immersive header{position:fixed;top:0;left:4%;right:4%;margin:0;height:90px;color:#eee7d6;border-color:#c4ad772b;z-index:12;mix-blend-mode:normal}.immersive header .brand{color:var(--gold)}.immersive header nav{gap:32px}.immersive header .textbtn{color:#d8c8a5}#world{position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse at 60% 40%,#2c3b52,#111a2a)}#world canvas{width:100%;height:100%;display:block;touch-action:pan-y}.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(10,17,29,.65),transparent 65%),linear-gradient(0deg,rgba(10,17,29,.5),transparent 25%,transparent 80%,rgba(10,17,29,.3))}.film-grain{position:fixed;inset:0;pointer-events:none;z-index:15;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}.immersive main{position:relative;z-index:2;pointer-events:none}#journey{height:650svh;position:relative}.story-step{height:130svh;position:relative;pointer-events:none}.story-copy{position:fixed;left:8%;top:36%;width:41%;max-width:660px;color:#eee8d7;opacity:0;visibility:hidden;transform:translateY(30px);will-change:transform,opacity}.story-copy.is-active{visibility:visible}.story-copy>*{pointer-events:auto}.story-copy .eyebrow{color:var(--gold);font-size:9px;letter-spacing:2.5px}.story-copy h1{font-size:clamp(55px,6.1vw,102px);line-height:1.05;letter-spacing:-2.5px;margin-top:28px}.story-copy h2{font-size:clamp(45px,5.5vw,85px);line-height:1.06;margin-top:25px}.story-copy em{color:#c5af7c}.story-copy p{font-size:12px;line-height:2;color:#d4d6dc;margin-top:25px;letter-spacing:.2px}.story-copy small{display:block;color:#aab4c5;font-size:9px;line-height:1.8;margin-top:25px}.enter-link{display:inline-flex;align-items:center;gap:45px;font-size:8px;letter-spacing:2.5px;color:#e4d5b3;margin-top:38px;border-bottom:1px solid #ac936044;padding-bottom:15px}.enter-link span{font-size:22px}.chapter-nav{position:fixed;left:2.5%;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;gap:22px}.chapter-nav a{display:flex;gap:12px;align-items:center;color:#9d9c81}.chapter-nav b{font-size:8px;font-weight:400}.chapter-nav span{font-size:7px;letter-spacing:2px;max-width:0;overflow:hidden;transition:max-width .4s}.chapter-nav a.active{color:#e0c98f}.chapter-nav a.active::before{content:'';width:13px;height:1px;background:#c4ad77;position:absolute;left:-20px}.chapter-nav a:hover span{max-width:100px}.journey-status{position:fixed;bottom:35px;left:8%;right:5%;z-index:10;display:flex;align-items:center;gap:23px;color:#d2c4a1;font-size:8px;letter-spacing:2px;transition:opacity .3s}.journey-status>div{width:130px;height:1px;background:#8d815645}.journey-status i{display:block;height:1px;background:var(--gold);width:0}.journey-status button{margin-left:auto;color:#b7bba7;background:none;border:0;font-size:8px;letter-spacing:1px}#scene-tip{position:fixed;right:5%;top:49%;writing-mode:vertical-rl;color:#9caa94;font-size:7px;letter-spacing:2px;z-index:4;pointer-events:none}#scene-tip span{font-size:18px;margin-top:20px}.gold-button{background:#c4ad770c;color:#dbc694;border:1px solid #c4ad7766;padding:13px 20px;font-size:10px;letter-spacing:1px;display:inline-block;margin-top:30px}.gold-button:hover{background:#c4ad7720}.collection-link{display:block;color:#adb9cd;font-size:10px;margin-top:23px}.part-list{display:flex;flex-direction:column;gap:13px;font-size:8px;letter-spacing:2px;color:#baa776;margin-top:30px}.swatches{display:flex;gap:17px;margin-top:30px}.swatches button{display:flex;flex-direction:column;align-items:center;gap:11px;background:none;border:0;padding:0;color:#adb39e;font-size:8px}.swatches i{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 8px #0006;border:1px solid #c4ad7744}.swatches button.selected{color:#ead5a6}.swatches button.selected i{outline:1px solid #c4ad77;outline-offset:4px}.immersive .work,.immersive .approach,.immersive .about,.immersive footer{pointer-events:auto;position:relative;z-index:3}.immersive .work{background:#f0ebdf;padding-top:100px}.immersive .about{background:#f0ebdf}.immersive footer{background:#f0ebdf;margin:0;padding:30px 7%;border:0}.immersive .project-visual{background:#d9d8c9}.immersive .approach{background:#1b2b45}.immersive .approach em{color:#c4ad77}.immersive dialog{z-index:30}.immersive .about .monogram span{color:#ac9565}.immersive .filters button.active{border-color:#a18750}.immersive header.archive-mode{background:#15243bf2;left:0;right:0;padding:0 5%}.immersive .chapter-nav.archive-mode,.immersive .journey-status.archive-mode,#scene-tip.archive-mode{opacity:0;pointer-events:none}#world-fallback{position:fixed;right:7%;bottom:22%;max-width:250px;color:#c9bb94;font-size:12px;z-index:8;line-height:1.8}#world-fallback a{display:block;text-decoration:underline;margin-top:15px}@media(max-width:750px){.immersive header{height:74px;left:5%;right:5%}.immersive header nav{gap:17px}.immersive header nav a:last-child{display:none}.immersive header .brand{font-size:27px}.chapter-nav{left:auto;right:5%;top:auto;bottom:85px;transform:none;flex-direction:row;gap:20px}.chapter-nav span{display:none}.chapter-nav a.active::before{left:auto;bottom:-7px;width:10px}.story-copy{left:7%;top:19%;width:86%;max-width:470px}.story-copy h1{font-size:52px;letter-spacing:-1.5px}.story-copy h2{font-size:48px;letter-spacing:-1px}.story-copy p{font-size:11px;margin-top:19px}.story-copy .eyebrow{font-size:7px;letter-spacing:1.7px}.vignette{background:linear-gradient(0deg,#101b2d99,transparent 28%),linear-gradient(180deg,#101b2d88,transparent 65%)}.story-copy small{margin-top:15px;font-size:8px}.enter-link{margin-top:22px}.journey-status{left:7%;bottom:30px;gap:12px;font-size:6px;letter-spacing:1.5px}.journey-status>div{width:55px}.journey-status button{font-size:7px;max-width:100px;text-align:right}#scene-tip{display:none}.part-list{gap:9px;margin-top:19px;font-size:7px}.gold-button{font-size:9px;padding:11px 16px;margin-top:22px}.swatches{margin-top:22px}.swatches button{font-size:7px}.immersive .work{padding-top:70px}#world-fallback{bottom:15%;font-size:10px}}@media(prefers-reduced-motion:reduce){.story-copy{will-change:auto}}
/* A slower, character-led story. Native scrolling always remains in control. */
#journey{height:3120svh}.story-step{height:260svh}.story-copy{top:28%;width:39%}.story-copy p{max-width:405px}.story-copy small{max-width:350px;line-height:1.9}.story-copy h1{font-size:clamp(48px,5.6vw,92px)}.story-copy h2{font-size:clamp(43px,5vw,78px)}.chapter-nav{gap:16px}.chapter-nav a b{font-size:7px}.chapter-nav a span{display:none}.story-projects{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:25px}.story-projects .gold-button{margin:0;min-width:210px;text-align:left}.maker-greeting{position:fixed;z-index:10;bottom:105px;right:5%;border:1px solid #c4ad7740;background:#15243b99;color:#d8c49b;padding:10px 15px;font-size:8px;letter-spacing:1px;backdrop-filter:blur(0px)}.journal-toggle{position:fixed;right:5%;top:118px;z-index:10;font-size:8px;letter-spacing:1px;border:0;background:#15243b66;color:#c7b58d;padding:10px 14px}.journal-toggle span{border-left:1px solid #c4ad7755;padding-left:12px;margin-left:12px}.journal-toggle.archive-mode,.maker-greeting.archive-mode{opacity:0;pointer-events:none}.journal-entry{padding:24px 0;border-bottom:1px solid #c1baa4;display:grid;grid-template-columns:35px 1fr;gap:12px}.journal-entry>span{font-size:12px;color:#99814e}.journal-entry h3{font:25px var(--serif)}.journal-entry p{font-size:11px;color:#747963;line-height:1.8;margin-top:8px}.journal-entry button{grid-column:2;justify-self:start;background:none;border:0;border-bottom:1px solid #8c7953;padding:8px 0;font-size:10px}.journal-entry.unseen{opacity:.5}#journal{max-width:650px}#journal .gold-button{color:#54492c;border-color:#ab9765}.journey-status{bottom:30px}.scene-annotation{position:fixed;z-index:6;pointer-events:none;color:#d2b779;font-size:8px;letter-spacing:2px}.scene-annotation::before{content:'';display:inline-block;width:24px;height:1px;background:#c4ad77;margin-right:9px;vertical-align:middle}.story-copy.is-active{visibility:visible}.immersive #scene-tip{top:40%}.immersive .vignette{background:linear-gradient(90deg,rgba(10,17,29,.72),transparent 68%),linear-gradient(0deg,rgba(10,17,29,.5),transparent 25%,transparent 80%,rgba(10,17,29,.3))}@media(max-width:750px){.story-copy{top:17%;left:7%;width:84%}.story-copy h1{font-size:44px}.story-copy h2{font-size:42px}.story-copy p{font-size:10px;line-height:1.8;margin-top:16px;max-width:315px}.story-copy small{font-size:8px;max-width:290px;margin-top:16px}.chapter-nav{gap:13px;right:7%;left:7%;bottom:78px;justify-content:space-between}.chapter-nav a b{font-size:6px}.maker-greeting{bottom:120px;right:7%;font-size:7px;padding:9px 12px}.journal-toggle{top:90px;right:6%;font-size:7px;padding:7px 10px}.story-projects{gap:7px;margin-top:18px}.story-projects .gold-button{padding:9px 13px;font-size:8px;min-width:180px}.immersive .vignette{background:linear-gradient(0deg,#101b2d88,transparent 30%),linear-gradient(180deg,#101b2d88,transparent 70%)}}
html:has(body.immersive){scroll-padding-top:0}.immersive #work,.immersive #about{scroll-margin-top:90px}
.maker-greeting,.journal-toggle,.journey-status,.journey-status button,#journal{pointer-events:auto}.maker-greeting.archive-mode,.journal-toggle.archive-mode,.journey-status.archive-mode{pointer-events:none}
.room-fields{border:1px solid #c4b995;padding:20px;margin:25px 0}.room-fields legend{font:23px var(--serif)}.room-fields>p{font-size:11px;line-height:1.8;margin-bottom:20px;color:#6b725e}.room-copy h2{font-size:clamp(42px,4.8vw,76px);line-height:1.07;max-width:470px}.room-copy .room-intro{max-width:370px;font-size:12px;line-height:1.9}.room-meta{display:flex;gap:30px;margin-top:25px;font-size:9px;color:#cab480;letter-spacing:1px}.room-copy p.room-materials{font-size:10px;margin-top:14px;color:#b8c3d1}.room-copy .explore-room{min-width:205px;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:16px 20px}.next-room{display:block;margin-top:22px;color:#c8c9b5;font-size:9px;letter-spacing:.4px}#room-inspector{position:fixed;inset:0;z-index:7;pointer-events:none}#room-inspector[hidden]{display:none}.model-hitarea{position:absolute;right:7%;top:21%;width:44%;height:58%;pointer-events:auto;cursor:grab;touch-action:pan-y;border-radius:45%}.model-hitarea:active{cursor:grabbing}.model-hitarea:focus-visible{outline:1px solid #d0b575;outline-offset:8px}.model-controls{position:absolute;right:9%;bottom:14%;width:34%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;color:#ded2af;pointer-events:auto}.model-controls>span{font-size:7px;letter-spacing:1.4px}.model-controls>div{display:flex;gap:7px}.model-controls button{border:1px solid #c4ad7755;background:#15243b99;color:#e4d3aa;padding:9px 12px;font-size:9px;backdrop-filter:blur(0px)}.model-controls small{width:100%;text-align:right;font-size:7px;letter-spacing:1.8px;color:#cab98c}.inside-project-room .maker-greeting{bottom:70px}.inside-project-room .vignette{background:linear-gradient(90deg,#0c1729e8,rgba(10,17,29,.85) 30%,rgba(10,17,29,.16) 62%,transparent),linear-gradient(0deg,#0c172977,transparent 20%)}.journal-actions{grid-column:2;display:flex;align-items:center;gap:25px}.journal-actions a{font-size:10px;border-bottom:1px solid #8c7953;padding:8px 0}.journal-actions button{grid-column:auto}.journal-entry.unseen{opacity:.72}#detail{position:fixed;inset:0 0 0 auto;margin:0;width:min(1000px,88vw);height:100svh;max-height:100svh;border:0;border-left:1px solid #a58c54;padding:65px 7%;box-shadow:-30px 0 100px #0004}#detail .close{position:sticky;top:-45px;float:right;background:var(--paper);border-radius:50%;width:35px}#detail h2{font-size:60px}#detail .detail-stage{height:420px}#journal{pointer-events:auto}.immersive .chapter-nav{max-height:65svh;overflow:auto;padding:8px 4px;scrollbar-width:none}.chapter-nav a.active::before{display:none}.chapter-nav a.active b{border-bottom:1px solid #c4ad77;padding-bottom:4px}.edit-item{flex-wrap:wrap}.edit-item>span{min-width:140px}.edit-item button{font-size:10px}@media(max-width:750px){.room-copy{top:17%}.room-copy h2{font-size:37px;max-width:310px}.room-copy .room-intro{font-size:10px;line-height:1.7;max-width:310px}.room-meta{margin-top:17px;font-size:8px}.room-copy p.room-materials{font-size:9px;margin-top:10px}.room-copy .explore-room{margin-top:16px;padding:11px 15px;min-width:185px;font-size:9px}.room-copy small{font-size:7px;margin-top:10px}.next-room{margin-top:12px;font-size:8px}.model-hitarea{top:52%;height:28%;width:70%;right:15%}.model-controls{right:7%;bottom:18%;width:62%;gap:8px}.model-controls>span{display:none}.model-controls>div{margin-left:auto}.model-controls button{padding:7px 10px;font-size:8px}.model-controls small{font-size:6px}.inside-project-room .maker-greeting{display:none}.inside-project-room .vignette{background:linear-gradient(180deg,#0c1729bb,rgba(10,17,29,.76) 34%,transparent 63%),linear-gradient(0deg,#0c172977,transparent 25%)}.immersive .chapter-nav{max-height:none;overflow:auto;justify-content:flex-start;gap:17px;padding:8px 0;bottom:68px}.room-fields{padding:16px}#detail{width:96vw;padding:50px 23px}#detail h2{font-size:42px}#detail .detail-stage{height:330px}}
.inside-project-room header{left:0;right:0;padding:0 5%;background:#15243be8;border-color:#c4ad7733}.room-copy{z-index:8}
@media(min-width:751px){.room-copy{top:23%}.room-copy h2{font-size:clamp(42px,4.2vw,66px);margin-top:20px}.room-copy .room-intro{font-size:11px;line-height:1.85;max-width:360px;margin-top:21px}.room-copy .room-meta{margin-top:21px}.room-copy .gold-button{margin-top:22px}.room-copy small{margin-top:15px}.room-copy .next-room{margin-top:18px}}

.social-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:25px}.social-links a{font-size:11px;padding:9px 0;border-bottom:1px solid #b5a16f;letter-spacing:.3px}.footer-social-links{margin-top:0}.footer-social-links a{font-size:9px}.final-social-links{margin-top:20px;color:#e0c88f;pointer-events:auto}.final-social-links a{font-size:10px}.immersive header{justify-content:space-between}.immersive header .brand i{display:inline-block}.immersive .about .contact{margin-top:18px}dialog[open]{animation:panel-in .45s cubic-bezier(.2,.7,.2,1)}dialog.is-closing{animation:panel-out .28s cubic-bezier(.4,0,1,1) forwards}dialog::backdrop{animation:backdrop-in .45s ease}dialog.is-closing::backdrop{animation:backdrop-out .28s ease forwards}@keyframes panel-in{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:translateX(0)}}@keyframes panel-out{to{opacity:0;transform:translateX(25px)}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}@keyframes backdrop-out{to{opacity:0}}@media(max-width:750px){.immersive header .brand i{font-size:7px;letter-spacing:1px;margin-left:10px}.social-links{gap:20px}.footer-social-links{gap:14px}.footer-social-links a{font-size:7px}.final-social-links{gap:20px;margin-top:16px}.final-social-links a{font-size:9px}.immersive footer{flex-wrap:wrap;gap:20px}}@media(prefers-reduced-motion:reduce){dialog[open],dialog::backdrop,dialog.is-closing{animation:none!important}}
.inside-horizon-room .story-copy{color:#20334f}.inside-horizon-room .story-copy p{color:#43516a}.inside-horizon-room .story-copy small{color:#647188}.inside-horizon-room .story-copy em{color:#9e8350}.inside-horizon-room .story-copy .eyebrow{color:#8c7446}.inside-horizon-room .gold-button{color:#243952;border-color:#a48b57;background:#f2eee338}.inside-horizon-room .final-social-links{color:#233751}.inside-horizon-room .vignette{background:linear-gradient(90deg,rgba(242,238,227,.86),rgba(242,238,227,.5) 37%,transparent 72%)}.inside-horizon-room header{left:0;right:0;padding:0 5%;background:#15243bf2}.inside-horizon-room .journey-status,.inside-horizon-room .chapter-nav a{color:#324662}.inside-horizon-room .maker-greeting,.inside-horizon-room .journal-toggle{background:#15243bc9;color:#dec994}.inside-horizon-room #scene-tip{color:#465b78}@media(max-width:750px){.inside-horizon-room .vignette{background:linear-gradient(180deg,#f2eee3bd,rgba(242,238,227,.45) 47%,transparent 73%)}}
.checkbox-label{display:flex;align-items:center;gap:10px;font-size:12px}.checkbox-label input{width:16px;height:16px;margin:0;accent-color:#243b5b}.gallery-hint{font-size:10px!important;margin:10px 0 22px!important}.immersive .work{padding:100px 7% 110px;background:#f2eee3}.work .section-head h2{font-size:clamp(44px,5.5vw,78px)}.work .section-head h2 em{color:#a68c56}.work .section-head p{color:#687386}#projects{--gallery-columns:3;--gallery-gap:26px;padding-top:40px;display:flex;flex-direction:column;gap:var(--gallery-gap)}.gallery-row{display:flex;justify-content:center;gap:var(--gallery-gap)}.gallery-card{width:calc((100% - (var(--gallery-columns) - 1)*var(--gallery-gap))/var(--gallery-columns));background:#f8f4eb;border:1px solid #c8b79066;box-shadow:0 8px 25px #20334f05;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s,opacity .9s;overflow:hidden}.gallery-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #20334f13}.gallery-open{border:0;padding:0;background:transparent;display:block;width:100%;text-align:left;color:#20334f}.gallery-thumb{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#e8e3d6}.gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .65s,transform 1s cubic-bezier(.2,.7,.2,1)}.gallery-thumb img.loaded{opacity:1}.gallery-card:hover img{transform:scale(1.035)}.gallery-number{position:absolute;left:17px;top:17px;font-size:8px;color:#58677d;letter-spacing:2px}.gallery-arrow{position:absolute;right:17px;bottom:15px;font-size:22px;color:#82704a}.gallery-info{display:flex;flex-direction:column;padding:24px 23px 16px;gap:13px}.gallery-category{font-size:8px;letter-spacing:1.5px;color:#8a7956;text-transform:uppercase}.gallery-title{font:31px/1.1 var(--serif);letter-spacing:-.3px;min-height:1.1em}.gallery-materials{font-size:9px;line-height:1.7;color:#6f7988;min-height:16px}.gallery-room-link,.gallery-only-label{display:inline-block;margin:0 23px 24px;font-size:9px;letter-spacing:.3px}.gallery-room-link{border-bottom:1px solid #bba572;padding-bottom:6px}.gallery-only-label{color:#8d938f}.empty-gallery{padding:30px 0;font-size:12px;color:#6b7585}.overlay-pagination{position:sticky;bottom:-3px;margin-top:45px;background:#f2eee3f5;backdrop-filter:blur(0px);border-top:1px solid #c3b18a;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 0 8px}.overlay-pagination button{border:0;background:transparent;font-size:11px;color:#243952;padding:10px 0}.overlay-pagination button:disabled{opacity:.28;cursor:default}.overlay-pagination>span{font-size:8px;color:#95815a;letter-spacing:1.5px}.gallery-card.thumbnail-fallback{opacity:1}@media(max-width:750px){.immersive .work{padding:65px 7% 80px}#projects{--gallery-gap:20px;padding-top:28px}.gallery-info{padding:21px 20px 15px}.gallery-title{font-size:32px}.gallery-room-link,.gallery-only-label{margin-left:20px}.overlay-pagination{gap:10px;padding-top:14px}.overlay-pagination button{font-size:9px}.overlay-pagination>span{font-size:7px}}
.outside-atelier .maker-greeting{display:none}.immersive .work{background:linear-gradient(180deg,#f2eee3f2,#f2eee3 240px)}
.gallery-card{max-width:680px}

/* A quiet curtain covers distant room changes. */
#journey-transition{position:fixed;inset:0;z-index:10000;background:#101d30;opacity:0;pointer-events:none}#journey-transition.is-active{pointer-events:auto;touch-action:none}

/* The collection stays in the landscape beyond the final window. */
.immersive .work{background:transparent;position:relative;isolation:isolate}.immersive .work::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#f2eee31a,#f2eee34d 60%,#f2eee326);pointer-events:none}.gallery-card{background:#f2eee3d9;backdrop-filter:blur(0px);border-color:#b7a26b99}.immersive .work .section-head p{color:#243952}.immersive .work .filters{border-color:#394d6666}.immersive .work .filters button{color:#364b65}.immersive .work .filters button.active{color:#13243b}

.outside-atelier .vignette{background:linear-gradient(180deg,#f2eee315,transparent 50%,#243b5b15)}

.social-links .social-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #b5a16f80;padding:9px;transition:color .25s,background .25s,transform .25s}.social-icon svg{width:21px;height:21px;display:block}.social-links .social-icon:hover{background:#b5a16f26;transform:translateY(-2px)}.final-social-links{--social-cutout:#1b2d48}.inside-horizon-room .final-social-links{--social-cutout:#f2eee3}.footer-social-links{gap:12px}

#studio-assistant{border:1px solid #b6a16c88;margin:28px 0 35px;background:#e9e5da}#studio-assistant summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:22px 24px;font:28px var(--serif);color:#20334f}#studio-assistant summary>span{font:18px Arial;color:#a78a50}#studio-assistant summary small{margin-left:auto;font:8px Arial;letter-spacing:2px;border:1px solid #b6a16c;padding:5px 7px}#studio-assistant summary::-webkit-details-marker{display:none}.studio-assistant-body{border-top:1px solid #b6a16c55;padding:25px}.studio-welcome{font:32px/1.2 var(--serif);margin:0 0 13px}.studio-help{font-size:11px;line-height:1.9;color:#677287;margin-bottom:25px}.studio-assistant-body select{background:#f4f0e7}#studio-chat{max-height:360px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.studio-message{margin:16px 0;padding:17px 20px;background:#f5f1e8;border-left:2px solid #af9258}.studio-message.user{margin-left:12%;background:#20334f;color:#f2eee3;border-color:#20334f}.studio-message b{display:block;font-size:8px;letter-spacing:2px;margin-bottom:9px;color:#a88d58}.studio-message p{font-size:12px;line-height:1.9;white-space:pre-wrap}.studio-prompts{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.studio-prompts button{padding:9px 12px;border:1px solid #b6a16c88;background:transparent;font-size:9px}.studio-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:15px}.studio-compose-actions small,.studio-footnote{font-size:9px;line-height:1.8;color:#6d788b}.studio-compose-actions button:disabled{opacity:.55;cursor:progress}#studio-status{font-size:11px;line-height:1.8;margin:18px 0;color:#78663f}#studio-proposal{padding:22px;background:#f5f1e8;border:1px solid #b6a16c88}#studio-proposal h3{font:29px var(--serif);margin-bottom:20px}#studio-changes{max-height:370px;overflow:auto}#studio-changes article{border-top:1px solid #b6a16c55;padding:18px 0}#studio-changes h4{font-size:11px;margin:0 0 10px}#studio-changes p{font-size:11px;line-height:1.8;white-space:pre-wrap}.studio-before{color:#87909b;margin-bottom:9px}.studio-proposal-actions{display:flex;gap:20px;margin-top:22px;align-items:center}#studio-dismiss,#studio-undo{border:0;background:transparent;border-bottom:1px solid #ac945e;padding:9px 0;font-size:10px}#studio-undo{margin:15px 0}.studio-footnote{margin-top:23px}.studio-assistant-body [hidden]{display:none!important}@media(max-width:750px){#studio-assistant summary{padding:20px;font-size:25px}.studio-assistant-body{padding:19px}.studio-welcome{font-size:28px}.studio-compose-actions{align-items:flex-start;flex-direction:column}.studio-compose-actions button{align-self:flex-end}}
/* A quiet tactile response for the principal actions. */
.solid,.gold-button,.textbtn,.enter-link,.gallery-open{position:relative;transition:transform .22s cubic-bezier(.2,.75,.25,1),background-color .3s,border-color .3s,color .3s,box-shadow .3s;transform-origin:center;touch-action:manipulation}
.solid:hover{background:#2b4363;box-shadow:0 5px 18px #15243b24;transform:translateY(-2px)}
.gold-button:hover{background:#b8a06a26;border-color:#dbc38b;box-shadow:0 5px 22px #b8a06a16;transform:translateY(-2px)}
.textbtn:hover,.enter-link:hover{color:#d1b579;transform:translateY(-1px)}
.explore-room>span,.enter-link>span{display:inline-block;transition:transform .3s cubic-bezier(.2,.75,.25,1)}.explore-room:hover>span{transform:translate(3px,-3px)}.enter-link:hover>span{transform:translateY(3px)}
.solid:active,.gold-button:active,.textbtn:active,.enter-link:active{transform:translateY(1px) scale(.975);box-shadow:0 1px 5px #15243b16}.gallery-open:active{transform:scale(.985)}.solid:focus-visible,.gold-button:focus-visible{outline:2px solid #c5a86d;outline-offset:5px}
@media(prefers-reduced-motion:reduce){.solid:hover,.gold-button:hover,.textbtn:hover,.enter-link:hover,.solid:active,.gold-button:active,.textbtn:active,.enter-link:active,.gallery-open:active{transform:none}}
/* The atmosphere follows the camera continuously through the final doorway. */
.immersive .vignette{background:none!important}.immersive .vignette::before,.immersive .vignette::after{content:'';position:absolute;inset:0;pointer-events:none}.immersive .vignette::before{background:linear-gradient(90deg,#0c1729e8,rgba(10,17,29,.8) 30%,rgba(10,17,29,.16) 62%,transparent),linear-gradient(0deg,#0c172966,transparent 25%);opacity:calc(1 - var(--horizon-blend,0))}.immersive .vignette::after{background:linear-gradient(90deg,#f2eee3cf,#f2eee36b 37%,transparent 72%);opacity:calc(var(--horizon-blend,0) * (1 - var(--outdoor-blend,0)))}
.immersive .story-copy{color:color-mix(in srgb,#eee8d7,#20334f var(--horizon-percent,0%))}.immersive .story-copy p{color:color-mix(in srgb,#d4d6dc,#43516a var(--horizon-percent,0%))}.immersive .story-copy small{color:color-mix(in srgb,#aab4c5,#647188 var(--horizon-percent,0%))}.immersive .story-copy em{color:color-mix(in srgb,#c5af7c,#9e8350 var(--horizon-percent,0%))}
#discovery-note{position:fixed;bottom:95px;left:50%;transform:translate(-50%,8px);z-index:10;max-width:min(420px,80vw);padding:12px 18px;border:1px solid #b6a16c66;background:#192c43e8;color:#e8dbbb;font-size:10px;line-height:1.7;letter-spacing:.2px;pointer-events:none;opacity:0;transition:opacity .6s,transform .6s}#discovery-note.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:750px){.immersive .vignette::before{background:linear-gradient(180deg,#0c1729c9,#0c1729ad 34%,transparent 68%),linear-gradient(0deg,#0c172966,transparent 25%)}.immersive .vignette::after{background:linear-gradient(180deg,#f2eee3bb,#f2eee36b 47%,transparent 73%)}}
.about-callout{width:34%;max-width:440px;top:25%}.about-callout h2{font-size:clamp(36px,4.4vw,66px);line-height:1.08}.about-callout.callout-right{left:auto;right:8%}.about-callout.callout-left{left:8%;right:auto}.about-callout::after{content:'';display:block;width:75px;height:1px;background:linear-gradient(90deg,#b6a16c,transparent);margin-top:24px}.about-callout p{max-width:370px}.about-callout .eyebrow{color:#c5ae75}
@media(max-width:750px){.about-callout,.about-callout.callout-right,.about-callout.callout-left{left:7%;right:7%;width:86%;max-width:410px;top:18%}.about-callout h2{font-size:39px}.about-callout p{max-width:330px;font-size:11px}.about-callout::after{width:50px;margin-top:17px}}
/* Personal memories are small, translucent notes within the room. */
.about-callout{width:290px;max-width:29vw;padding:20px 23px 22px;top:24%;background:rgba(23,38,59,.38);border:1px solid #b8a16b4d;box-shadow:0 12px 40px #09101c12;backdrop-filter:blur(0px);border-radius:2px}.about-callout h2{font-size:33px!important;line-height:1.1!important;letter-spacing:-.6px;margin-top:17px}.about-callout p{font-size:11px!important;line-height:1.85!important;margin-top:18px!important}.about-callout small{font-size:8px!important;margin-top:17px!important}.about-callout .eyebrow{font-size:7px!important;letter-spacing:1.5px}.about-callout::after{width:40px;margin-top:18px}.about-callout.callout-left{left:9%}.about-callout.callout-right{right:10%;top:29%}
@media(max-width:750px){.about-callout,.about-callout.callout-left,.about-callout.callout-right{width:270px;max-width:77vw;left:8%;right:auto;top:16%;padding:17px 20px}.about-callout.callout-right{left:auto;right:8%;top:18%}.about-callout h2{font-size:29px!important}.about-callout p{font-size:10px!important;line-height:1.8!important}}
/* The floating world cards are the gallery; there is no second visual collection. */
.floating-gallery-zone{height:150svh;position:relative;pointer-events:none}.gallery-accessible{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);padding:0!important;white-space:nowrap;pointer-events:none}.gallery-accessible:focus-within{position:fixed!important;inset:auto 5% 25px;width:90%!important;height:auto!important;max-height:65svh;clip-path:none;overflow:auto!important;white-space:normal;padding:24px!important;background:#f2eee3f5;z-index:30;pointer-events:auto;border:1px solid #b6a16c}

body.over-floating-card,body.over-floating-card #world,body.over-floating-card #world canvas{cursor:pointer}
#journal[open]{animation:journal-fade-in .45s ease both}#journal.is-closing{animation:journal-fade-out .28s ease both}@keyframes journal-fade-in{from{opacity:0}to{opacity:1}}@keyframes journal-fade-out{from{opacity:1}to{opacity:0}}
.immersive .approach{position:relative;background:#1b2d48;isolation:isolate}.immersive .approach::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:clamp(190px,32svh,330px);background:linear-gradient(180deg,rgba(27,45,72,0),rgba(27,45,72,.16) 25%,rgba(27,45,72,.62) 65%,#1b2d48);pointer-events:none}
@media(prefers-reduced-motion:reduce){#journal[open],#journal.is-closing{animation:none!important}}
#bio-discoveries{position:fixed;inset:0;z-index:9;pointer-events:none}#bio-discoveries[hidden],#bio-discovery-progress[hidden]{display:none}.bio-discovery-marker{position:absolute;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;border:1px solid #e0c381cc;background:#bba36b26;color:#f6e5b9;pointer-events:auto;box-shadow:0 0 0 7px #c5a66a16,0 0 22px #d1b16b66;backdrop-filter:blur(0px);font:24px Georgia;display:grid;place-items:center;animation:bio-marker-breathe 3.6s ease-in-out infinite;animation-delay:var(--pulse-delay);transition:background .3s,box-shadow .3s}.bio-discovery-marker:hover,.bio-discovery-marker:focus-visible{background:#c4a66b66;box-shadow:0 0 0 9px #d4b6752b,0 0 32px #d4b67599;outline:1px solid #f1db9d;outline-offset:5px}.bio-discovery-marker:active{background:#d0b47099}.bio-discovery-marker.is-read{animation:none;background:#18314acc;box-shadow:0 0 0 4px #c5a66a12;color:#d4bb82;font:17px Arial}.bio-discovery-marker[hidden]{display:none}@keyframes bio-marker-breathe{0%,100%{box-shadow:0 0 0 5px #c5a66a12,0 0 15px #d1b16b55}50%{box-shadow:0 0 0 11px #c5a66a29,0 0 30px #d1b16b99}}.about-callout{z-index:14!important;pointer-events:auto}.bio-panel-close{position:absolute;right:8px;top:7px;width:27px;height:27px;background:transparent;border:0;color:#ddc58a;font-size:21px;line-height:1}.bio-panel-close:hover{background:#c5a66a22}.bio-panel-close+ .eyebrow{padding-right:15px}#bio-discovery-progress{position:fixed;z-index:10;bottom:95px;left:50%;transform:translateX(-50%);padding:14px 19px;max-width:calc(100vw - 50px);background:#15243bd9;border:1px solid #c1a56e55;color:#e6d6b3;text-align:center;backdrop-filter:blur(0px);font-size:10px;line-height:1.8}.bio-discovery-count{display:block;letter-spacing:1.3px;font-size:8px;text-transform:uppercase;color:#c5ac74}.bio-discovery-instruction{display:block}.bio-continue{display:block;margin:10px auto 0;border:0;border-bottom:1px solid #bba16a;padding:5px;background:transparent;color:#e6d6b3;font-size:10px}.bio-continue[hidden]{display:none}.bio-locked .chapter-nav a[aria-disabled=true]{opacity:.25;cursor:default}.bio-locked .journal-toggle{visibility:hidden}.needs-attention{animation:bio-hint .6s ease}@keyframes bio-hint{50%{border-color:#f1d792;box-shadow:0 0 22px #c5a66a33}}@media(max-width:750px){#bio-discovery-progress{bottom:100px;width:280px;padding:10px 14px;font-size:9px}.bio-discovery-marker{width:42px;height:42px}.about-callout{max-width:68vw!important}.about-callout.callout-left{left:5%!important}.about-callout.callout-right{right:5%!important}}@media(prefers-reduced-motion:reduce){.bio-discovery-marker,.needs-attention{animation:none!important}}
body.in-bio-room main{z-index:11}body.in-bio-room #bio-discovery-progress{z-index:12}#room-model-label{position:fixed;right:9%;top:20%;z-index:9;pointer-events:none;padding:12px 16px 11px;background:#15243bd1;border:1px solid #bba36b88;box-shadow:0 8px 30px #0d17231a;backdrop-filter:blur(0px);color:#e9d4a1;min-width:175px}#room-model-label[hidden]{display:none}#room-model-label>span{display:block;font-size:9px;letter-spacing:1.7px;font-weight:500}#room-model-label small{display:block;margin-top:6px;font-size:6px;letter-spacing:1.7px;color:#c1c9d3}.model-controls>div{margin-left:auto}@media(max-width:750px){#room-model-label{top:50%;right:7%;min-width:145px;padding:10px 12px}#room-model-label>span{font-size:8px}#room-model-label small{font-size:6px}}
.bio-discovery-next{display:block;margin-top:5px;font-size:10px;color:#f1deab}.bio-discovery-next[hidden]{display:none}#bio-discovery-progress{pointer-events:none}@media(max-width:750px){.about-callout.callout-left,.about-callout.callout-right{left:70px!important;right:auto!important;width:calc(100vw - 140px)!important;max-width:none!important;max-height:52svh;overflow:auto}.about-callout h2{font-size:26px!important}.about-callout p{font-size:10px!important}}
/* Keep the model label and controls together, centred beneath the exhibit. */
#room-model-label{top:auto;bottom:calc(14% + 50px);right:9%;width:34%;min-width:0;box-sizing:border-box;text-align:center;padding:10px 12px}.model-controls{justify-content:center;gap:0}.model-controls>div{margin-left:0;justify-content:center;gap:7px}@media(max-width:750px){#room-model-label{top:auto;bottom:calc(18% + 42px);right:7%;width:62%;min-width:0;padding:9px 10px}.model-controls>div{margin-left:0}}
.immersive header .brand{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}.immersive header nav{margin-left:auto}@media(max-width:450px){.immersive header .brand i{display:none}}
body.in-bio-room #bio-discoveries{z-index:15}
/* One steady header frame; only its navy veil changes with the journey. */
.immersive header,.immersive header.archive-mode,.inside-project-room header,.inside-horizon-room header{left:0;right:0;padding:0 5%;background:transparent;border-color:rgba(196,173,119,.18);transition:border-color 1s ease}.immersive header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#15243bf5,#15243be8);opacity:var(--header-shade,0);transition:opacity .35s linear}@media(prefers-reduced-motion:reduce){.immersive header,.immersive header::before{transition:none}}
body.arrival-playing{overflow:hidden!important}#arrival-film{position:fixed;inset:0;z-index:1000;isolation:isolate;background:#c6d9e1;opacity:1;transition:opacity 1.6s cubic-bezier(.4,0,.2,1);color:#17273e}#arrival-film.arrival-finished{opacity:0;pointer-events:none}#arrival-film>canvas{position:absolute;inset:0;width:100%;height:100%;opacity:calc(1 - var(--arrival-dissolve,0));transition:opacity .15s linear}#arrival-film::after{content:"";position:absolute;inset:0;background:#f2eee3;opacity:var(--cloud-reveal,1);pointer-events:none;z-index:1}.arrival-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f2eee3;z-index:3;transition:opacity 1.7s cubic-bezier(.4,0,.2,1),filter 1.7s ease}.arrival-loading::before{content:"";position:absolute;inset:26px;border:1px solid #bba36b42;pointer-events:none}.arrival-loading.is-leaving{opacity:0;filter:blur(0px);pointer-events:none}.arrival-monogram{font:italic 68px var(--serif);letter-spacing:-8px;color:#a08750;padding-right:8px;margin-bottom:20px}.arrival-name{font-size:9px;letter-spacing:4px;color:#3c4a5b}.arrival-loading h1{font:normal clamp(29px,3.5vw,48px) var(--serif);margin:48px 24px 40px;text-align:center;font-weight:400;color:#17273e}.arrival-loading h1 em{color:#947b46}.arrival-progress{width:min(310px,65vw);height:1px;background:#ac9b742b;overflow:hidden}.arrival-progress-fill{height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:#a88d51;will-change:transform}.arrival-progress-meta{display:flex;justify-content:space-between;gap:15px;width:min(310px,65vw);margin-top:15px;font-size:9px;color:#68717a;letter-spacing:.5px}.arrival-percent{font-variant-numeric:tabular-nums;color:#947b46}.arrival-loading-foot{position:absolute;bottom:66px;font-size:7px;letter-spacing:2.5px;color:#8d846e}.arrival-skip{position:absolute;right:38px;bottom:30px;z-index:5;color:#8e7b51;background:#f2eee3d9;padding:10px 14px;border:1px solid #bba36b42;font-size:9px;letter-spacing:.7px;transition:background .3s,color .3s}.arrival-skip:hover{background:#17273e;color:#ead8af}.arrival-flight-caption{position:absolute;left:0;right:0;bottom:11%;z-index:2;text-align:center;font:italic clamp(22px,2.5vw,35px) var(--serif);color:#26374b;text-shadow:0 2px 24px #fff;pointer-events:none}#arrival-film.is-flying{background:transparent}#arrival-film.is-flying::after{background:#edf1ee}@media(max-width:600px){.arrival-loading::before{inset:16px}.arrival-loading-foot{bottom:90px;font-size:6px;letter-spacing:1.5px}.arrival-skip{right:26px;bottom:28px}.arrival-monogram{font-size:60px}}@media(prefers-reduced-motion:reduce){#arrival-film,.arrival-loading{transition:opacity .8s ease}.arrival-loading.is-leaving{filter:none}}
body.in-bio-room #bio-discoveries{display:contents;z-index:auto}body.in-bio-room #bio-discoveries[hidden]{display:none}.bio-discovery-marker{z-index:9}.bio-discovery-marker[aria-expanded="true"]{z-index:15}
body.in-bio-room .bio-discovery-marker{position:fixed;pointer-events:auto}
.room-copy{transition:opacity .5s ease}.model-focused .room-copy{opacity:0!important;pointer-events:none!important}.model-focused .model-hitarea{top:12%;right:10%;width:80%;height:64%}.model-focused .model-controls{left:0;right:0;width:100%;bottom:12%}.model-focused #room-model-label{left:50%;right:auto;bottom:calc(12% + 50px);width:260px;margin-left:-130px}.model-controls button[aria-pressed="true"]{background:#bba36b;color:#15243b}@media(max-width:750px){.model-controls{width:76%;right:4%}.model-controls>div{gap:4px}.model-controls button{padding:7px 8px}.model-focused #room-model-label{bottom:calc(12% + 43px)}}
@media(max-width:750px){body:not(.model-focused) #room-model-label{right:4%;width:76%}}
/* Open biographies always sit above every circle; circles slide clear of the panel. */
.bio-discovery-marker[aria-expanded="true"]{z-index:9}.bio-discovery-marker{transition:left .35s ease,top .35s ease,background .3s,box-shadow .3s}.film-grain{display:none}.arrival-flight-caption{display:none}
.vignette{opacity:1;transition:opacity .6s cubic-bezier(.4,0,.2,1)}.model-focused .vignette{opacity:0}@media(prefers-reduced-motion:reduce){.vignette{transition:none}}
.bio-discovery-marker{transition:background .3s,box-shadow .3s}.about-callout,.about-callout>*{pointer-events:none!important}.about-callout .bio-panel-close{pointer-events:auto!important}
.portfolio-design-credit{font-size:8px;line-height:1.7;letter-spacing:.35px;color:#746a58;max-width:220px}@media(max-width:750px){.portfolio-design-credit{order:4;flex-basis:100%;max-width:none;text-align:center;margin-top:13px}}
footer .portfolio-design-credit{display:inline-block}@media(max-width:750px){.immersive footer{flex-wrap:wrap}}
.maker-greeting{transition:opacity .55s ease,background .3s,transform .3s}
.journey-status{display:none!important}
.sound-toggle{display:flex;align-items:center;gap:7px;margin-left:auto;border:1px solid #bba36b45;color:#d6c293;background:#15243b35;padding:8px 10px;font-size:8px;letter-spacing:.4px;border-radius:2px;transition:background .3s,color .3s}.sound-toggle:hover{background:#bba36b25}.sound-toggle[aria-pressed="false"]{color:#a5aab2}.sound-toggle[aria-pressed="false"] svg{opacity:.5}@media(max-width:450px){.sound-toggle{padding:7px;font-size:7px;gap:5px}.sound-toggle svg{width:12px}}
/* Keep room navigation at the side, with no room-number row along the bottom. */
@media(max-width:750px){.immersive .chapter-nav{left:2.5%;right:auto;top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column;gap:18px;max-height:65svh;overflow:auto;padding:8px 0}}

/* A quiet, centered sign-off at the end of the portfolio. */
.immersive footer{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;text-align:center}
.immersive footer .brand{display:flex;justify-content:center;align-items:center}
.immersive footer .brand-mark{display:block;margin:0 auto}
.immersive footer .portfolio-design-credit{max-width:none;text-align:center;margin:0}
.immersive footer>a:last-child{display:block;text-align:center}

/* Discreet laptop movement switch in the fixed atelier header. */
.header-actions{display:flex;align-items:center;gap:25px;margin-left:auto}.journey-control-mode{display:flex;align-items:center;padding:3px;border:1px solid rgba(196,173,119,.34);border-radius:2px;background:rgba(14,28,47,.46);backdrop-filter:blur(0px)}.journey-control-mode button{min-height:28px;padding:0 11px;border:0;background:transparent;color:#d6d0c0;font-size:8px;letter-spacing:1.35px;transition:background .25s ease,color .25s ease,transform .25s ease}.journey-control-mode button:hover{color:#e5ca8b}.journey-control-mode button[aria-pressed="true"]{background:#c4ad77;color:#18263c}.journey-control-mode button:active{transform:scale(.96)}.journey-control-mode button:focus-visible{outline:1px solid #e8d49b;outline-offset:2px}.immersive header #edit{white-space:nowrap}

.movement-hint{font-size:7px;letter-spacing:1.1px;color:#d9c797;white-space:nowrap}.movement-hint[hidden]{display:none}
@media(min-width:751px){body.keys-control-mode .room-copy{left:calc(8% + 44% * var(--copy-side,0))!important;right:auto!important;width:min(34vw,470px)!important;max-width:470px!important}}
/* Malanos Design identity: fine antique-gold monogram and quiet navy wordmark. */
.immersive header .brand{display:flex;align-items:center;gap:11px;letter-spacing:0;color:var(--gold)}
.brand-mark{display:block;width:38px;height:38px;object-fit:contain;flex:none}
.brand-name{font:500 9px Arial,sans-serif;letter-spacing:2.3px;color:inherit}
footer .brand{display:flex;align-items:center;gap:9px;color:var(--ink)}
footer .brand-mark{width:28px;height:28px}
footer .brand-name{font-size:8px;letter-spacing:1.4px}
.arrival-monogram{width:82px;height:82px;object-fit:contain;padding:0;letter-spacing:normal}
.monogram img{display:block;width:170px;height:170px;margin:0 auto;object-fit:contain}
@media(max-width:750px){.immersive header .brand{gap:7px}.brand-mark{width:30px;height:30px}.brand-name{font-size:8px;letter-spacing:1.7px}.arrival-monogram{width:72px;height:72px}.monogram img{width:140px;height:140px}}

/* Personal-practice room: quiet editorial notes with room for the environment. */
.personal-copy{left:7%;top:17%;width:min(37vw,510px);max-width:510px;padding:25px 28px;background:rgba(20,34,53,.72);border:1px solid rgba(196,173,119,.42);box-shadow:0 18px 56px rgba(3,10,20,.18);backdrop-filter:blur(0px)}
.personal-copy h2{font-size:clamp(36px,4vw,60px);line-height:1.07;max-width:470px}.personal-copy .room-intro{max-width:440px;margin-top:20px;font-size:11px;line-height:1.9;color:#d4d8dc}.personal-notes{display:grid;gap:12px;margin-top:23px}.personal-notes section{padding:12px 14px;border-left:1px solid #c4ad77;background:rgba(245,240,225,.055)}.personal-notes section>span{font-size:7px;letter-spacing:1.7px;color:#d4bd83}.personal-notes section p{margin-top:7px;font-size:10px;line-height:1.75;color:#e1ded5}.personal-notes section small{display:block;margin-top:7px;font-size:8px;letter-spacing:.45px;color:#c6b889}.personal-copy .next-room{margin-top:18px}
#detail{width:min(1120px,92vw);max-height:94svh;padding:68px clamp(28px,7vw,100px);scrollbar-width:thin;scrollbar-color:#b6a16c transparent}#detail h2{max-width:800px;font-size:clamp(44px,6vw,76px);line-height:1.02}.detail-intro{max-width:820px;padding:20px 0 45px}.detail-intro .eyebrow{font-size:8px;letter-spacing:1.7px;color:#81734f}.detail-lede{max-width:650px;margin-top:22px;font:italic 19px/1.7 var(--serif);color:#667086}.detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 64px;padding:20px 0;border-top:1px solid #c7c1ae;border-bottom:1px solid #c7c1ae}.detail-facts>div{min-width:0}.detail-facts dt,.detail-section-heading>span{font-size:8px;letter-spacing:1.6px;text-transform:uppercase;color:#8c7a50}.detail-facts dd{margin:9px 0 0;font:16px/1.5 var(--serif);color:#293b54}.detail-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:0 0 22px;padding-bottom:12px;border-bottom:1px solid #c7c1ae}.detail-section-heading p{font-size:10px;line-height:1.7;color:#777d84}.detail-model-section,.detail-narrative,.detail-image-story{margin:0 0 68px}.detail-stage{height:500px!important;margin:0;background:#e5e3d8}.detail-story{max-width:690px;margin:0;display:grid;gap:20px}.detail-story p{font-size:13px;line-height:2;color:#4d5969}.detail-gallery{display:grid;gap:54px}.detail-gallery figure{margin:0}.detail-gallery img{display:block;width:100%;max-height:76svh;object-fit:contain;background:#e6e4dc}.detail-gallery figcaption{display:flex;gap:18px;margin-top:12px;color:#858174;font-size:8px;letter-spacing:1px;text-transform:uppercase}.detail-gallery figcaption span:first-child{color:#9e8751}.overlay-pagination{position:sticky;bottom:-1px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:50px calc(clamp(28px,7vw,100px)*-1) calc(clamp(28px,7vw,100px)*-1);padding:16px clamp(28px,7vw,100px);background:rgba(242,238,227,.96);border-top:1px solid #c7c1ae;backdrop-filter:blur(0px);font-size:9px}.overlay-pagination button{border:0;background:none;color:#263a54;font-size:9px}.overlay-pagination button:disabled{opacity:.35;cursor:default}.overlay-pagination>span{color:#81734f;letter-spacing:1.2px;font-size:8px}.detail-source-file{margin:-30px 0 56px;font-size:11px}.detail-source-file a{border-bottom:1px solid #9b8655;padding-bottom:5px}.detail-source-file small{display:block;margin-top:10px;color:#78808b;line-height:1.7}
@media(max-width:750px){.personal-copy{left:17%;top:13%;width:76%;max-width:430px;padding:15px 16px}.personal-copy h2{font-size:30px}.personal-copy .room-intro{font-size:9px;line-height:1.65;margin-top:11px}.personal-notes{gap:7px;margin-top:12px}.personal-notes section{padding:8px 10px}.personal-notes section p{font-size:8px;line-height:1.55}.personal-notes section small{font-size:7px}.personal-copy .next-room{margin-top:10px}#detail{width:100vw;padding:52px 21px 28px;max-height:100svh}#detail h2{font-size:42px}.detail-intro{padding:12px 0 30px}.detail-lede{font-size:16px;margin-top:15px}.detail-facts{grid-template-columns:1fr;gap:12px;margin-bottom:42px;padding:16px 0}.detail-facts dd{font-size:14px;margin-top:4px}.detail-section-heading{display:block;margin-bottom:15px}.detail-section-heading p{margin-top:6px}.detail-model-section,.detail-narrative,.detail-image-story{margin-bottom:45px}.detail-stage{height:340px!important}.detail-story{gap:14px}.detail-story p{font-size:11px;line-height:1.85}.detail-gallery{gap:32px}.detail-gallery img{max-height:62svh}.overlay-pagination{margin:35px -21px -28px;padding:14px 20px}.overlay-pagination button{font-size:8px}}
.personal-feedback-card{position:relative;margin-top:16px;padding:15px 18px 16px;border:1px solid rgba(196,173,119,.65);background:rgba(242,238,227,.96);color:#1b2d48;box-shadow:0 12px 34px #08111f44;opacity:0;transform:translateY(8px);transition:opacity .28s ease,transform .28s ease}.personal-feedback-card[hidden]{display:none}.personal-feedback-card.is-entering{opacity:1;transform:translateY(0)}.personal-feedback-card .personal-feedback-kicker{display:block;font-size:7px;letter-spacing:1.5px;color:#91794a;text-transform:uppercase}.personal-feedback-card h3{margin:7px 25px 6px 0;font:23px/1.1 var(--serif)}.personal-feedback-card p{font-size:9px;line-height:1.7;color:#596679}.personal-feedback-close{position:absolute;top:7px;right:8px;width:25px;height:25px;border:0;background:transparent;color:#31445c;font-size:20px}.personal-feedback-close:hover{background:#bba36b22}
@media(max-width:750px){.personal-feedback-card{margin-top:9px;padding:11px 13px}.personal-feedback-card h3{font-size:20px}.personal-feedback-card p{font-size:8px;line-height:1.55}}
.personal-copy{pointer-events:none}.personal-copy .next-room,.personal-copy .personal-feedback-card,.personal-copy .personal-feedback-card button{pointer-events:auto}

/* The personal room has no automatic copy: only a selected callout reveals this panel. */
#personal-callout-panel{position:fixed;z-index:24;left:7%;top:50%;transform:translateY(-50%) translateX(-14px);width:min(520px,43vw);max-height:78svh;overflow:auto;padding:27px 30px 22px;background:rgba(22,37,58,.94);border:1px solid rgba(196,173,119,.72);box-shadow:0 24px 80px #050b14aa;color:#f2eee3;backdrop-filter:blur(0px);opacity:0;transition:opacity .3s ease,transform .3s ease}#personal-callout-panel[hidden]{display:none}#personal-callout-panel.is-entering{opacity:1;transform:translateY(-50%) translateX(0)}#personal-panel-close{position:absolute;right:11px;top:8px;border:0;background:transparent;color:#e3d2a5;font-size:25px}#personal-panel-kicker{color:#cbb475;font-size:8px;letter-spacing:1.9px;padding-right:35px}#personal-panel-title{font:400 clamp(34px,4vw,52px)/1.03 var(--serif);margin:14px 35px 19px 0;color:#f3eee1}#personal-callout-panel #personal-panel-content{font-size:11px;line-height:1.8;color:#dce0e2}#personal-panel-progress{margin-top:16px;padding-top:11px;border-top:1px solid #c4ad7744;color:#d3bf88;font-size:8px;letter-spacing:.45px}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.skills-grid section{border-left:1px solid #c4ad77;padding:3px 0 3px 12px}.skills-grid section span,.linkedin-slide-copy>span,.linkedin-feed-heading>span{font-size:7px;letter-spacing:1.35px;color:#cfb878}.skills-grid section p{margin-top:5px;font-size:9px;line-height:1.7;color:#e4e3df}.interest-intro,.future-note p{font:italic 16px/1.65 var(--serif);color:#efe5cc}.interest-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.interest-list span{border:1px solid #c4ad7755;background:#f2eee30a;padding:7px 9px;color:#e2d9c5;font-size:8px}.watch-note{margin-top:19px;padding-top:14px;border-top:1px solid #c4ad7744;font-size:10px;line-height:1.8;color:#deded9}.watch-note b{color:#e2cb8f;font-weight:500}.award-slide,.linkedin-slide{display:grid;grid-template-columns:minmax(110px,.8fr) 1.2fr;gap:17px;align-items:center;min-height:128px}.award-slide>img,.linkedin-slide>img{width:100%;max-height:175px;object-fit:cover;border:1px solid #c4ad7744}.award-slide-copy>span{color:#d0b879;font-size:8px;letter-spacing:1px}.award-slide-copy h3,.linkedin-slide-copy h3{font:25px/1.12 var(--serif);color:#f1ead9;margin:8px 0}.award-slide-copy p,.linkedin-slide-copy p{font-size:9px;line-height:1.75;color:#d6d9d9}.personal-slide-controls{display:flex;justify-content:center;align-items:center;gap:17px;margin-top:14px}.personal-slide-controls button{width:32px;height:29px;border:1px solid #c4ad7766;background:transparent;color:#ead8af}.personal-slide-controls span{font-size:8px;letter-spacing:1.2px;color:#cfb878}.linkedin-feed-heading{display:flex;justify-content:space-between;align-items:center;margin:15px 0 10px;padding-top:13px;border-top:1px solid #c4ad7744}.linkedin-feed-heading small{font-size:8px;color:#b9c0c9}.linkedin-slide{grid-template-columns:minmax(105px,.76fr) 1.24fr;min-height:110px}.linkedin-slide-copy a,.linkedin-empty a{display:inline-block;margin-top:10px;color:#e2ce98;border-bottom:1px solid #c4ad77;padding-bottom:3px;font-size:8px}.linkedin-slide iframe{grid-column:1/-1;width:100%;height:370px;border:1px solid #c4ad7755;background:#f2eee3}.linkedin-empty{display:grid;grid-template-columns:42px 1fr;gap:6px 12px;align-items:center;padding:14px;border:1px solid #c4ad7744}.linkedin-mark{display:grid;place-items:center;width:38px;height:38px;background:#c4ad77;color:#15243b;font:bold 19px Arial}.linkedin-empty p{font-size:9px;line-height:1.7}.linkedin-empty a{grid-column:2;margin:2px 0 0}.personal-panel-progress{min-height:17px}
.studio-collection-editors{display:grid;gap:13px;margin:20px 0}.studio-collection-editors details{border:1px solid #c9c3b1;padding:15px 17px}.studio-collection-editors summary{cursor:pointer;list-style:none;font:22px var(--serif)}.studio-collection-editors summary::-webkit-details-marker{display:none}.studio-collection-editors summary::after{content:'+';float:right;color:#9c8450}.studio-collection-editors details[open] summary::after{content:'−'}.studio-collection-editors summary small{display:block;margin-top:4px;font:8px Arial,sans-serif;letter-spacing:.7px;color:#7d7e7c}.studio-collection-editors .notice{margin:13px 0;padding:12px;font-size:10px}.studio-collection-editors form{max-width:760px}.studio-collection-editors .edit-item{font-size:10px}
@media(max-width:750px){#personal-callout-panel{left:17%;top:51%;width:78vw;max-height:64svh;padding:19px 18px 15px}#personal-callout-panel.is-entering{transform:translateY(-50%)}#personal-panel-title{font-size:34px;margin:11px 25px 14px 0}.skills-grid{gap:9px}.skills-grid section p{font-size:8px}.interest-intro,.future-note p{font-size:14px}.interest-list span{font-size:7px;padding:6px 7px}.award-slide,.linkedin-slide{grid-template-columns:minmax(78px,.7fr) 1.3fr;gap:11px;min-height:94px}.award-slide>img,.linkedin-slide>img{max-height:120px}.award-slide-copy h3,.linkedin-slide-copy h3{font-size:19px;margin:5px 0}.award-slide-copy p,.linkedin-slide-copy p{font-size:8px}.linkedin-slide iframe{height:290px}.studio-collection-editors summary{font-size:19px}}
@media(prefers-reduced-motion:reduce){#personal-callout-panel,#personal-callout-panel.is-entering{transition:none;transform:translateY(-50%)}}
/* Project callouts float in screen space so they remain reliably clickable. */
#personal-callout-hotspots{position:fixed;inset:0;z-index:25;pointer-events:none;opacity:0;transition:opacity .45s ease}
#personal-callout-hotspots.is-visible{opacity:1}
.personal-hotspot{position:absolute;display:grid;place-items:center;width:clamp(48px,5vw,68px);height:clamp(48px,5vw,68px);padding:0;transform:translate(-50%,-50%) scale(.94);border:1px solid #d3b970a8;border-radius:50%;background:radial-gradient(circle at 35% 30%,#344763f2,#142239f5 75%);box-shadow:0 0 0 1px #d6bd7130,0 0 18px #d1b66d3a,inset 0 0 16px #dec98b15;color:#e6d19b;pointer-events:auto;opacity:0;visibility:hidden;cursor:pointer;transition:opacity .4s ease,transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,visibility .4s;animation:personal-callout-breathe 3.8s ease-in-out infinite}
.personal-hotspot.is-in-frame{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.personal-hotspot:hover,.personal-hotspot:focus-visible{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 0 2px #d6bd7145,0 0 27px #d8bd77a0,inset 0 0 18px #dec98b22}
.personal-hotspot svg{width:43%;height:43%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.personal-hotspot i{position:absolute;right:0;bottom:0;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:#cfb878;color:#17243a;font:normal 11px Arial;opacity:0;transform:scale(.65);transition:opacity .3s,transform .3s}
.personal-hotspot.is-visited i{opacity:1;transform:scale(1)}
@keyframes personal-callout-breathe{0%,100%{box-shadow:0 0 0 1px #d6bd7125,0 0 14px #d1b66d2a,inset 0 0 14px #dec98b10}50%{box-shadow:0 0 0 2px #d6bd7144,0 0 23px #d1b66d68,inset 0 0 18px #dec98b1c}}
/* Make the personal-room symbols read clearly as the four invitations to explore. */
.personal-hotspot{border-color:#efd78ad9;color:#ffe5a5;box-shadow:0 0 0 1px #f0d58a72,0 0 24px #e1bd6578,0 0 48px #d1aa5147,inset 0 0 18px #f0d48336}
.personal-hotspot:hover,.personal-hotspot:focus-visible{border-color:#fff0bd;box-shadow:0 0 0 2px #f6dc9b99,0 0 32px #e9c66dbd,0 0 58px #d1aa517a,inset 0 0 22px #f0d48354}
@keyframes personal-callout-breathe{0%,100%{box-shadow:0 0 0 1px #f0d58a58,0 0 19px #e1bd655c,0 0 38px #d1aa5138,inset 0 0 15px #f0d48325}50%{box-shadow:0 0 0 2px #f6dc9b9c,0 0 31px #e9c66d9e,0 0 54px #d1aa5163,inset 0 0 22px #f0d48348}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#personal-callout-panel{z-index:30;pointer-events:auto;background:rgba(22,37,58,.86);backdrop-filter:blur(0px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bba36b55 transparent}
#personal-callout-panel::-webkit-scrollbar{width:4px}
#personal-callout-panel::-webkit-scrollbar-thumb{background:#bba36b70;border-radius:4px}
#personal-callout-panel::-webkit-scrollbar-track{background:transparent}
#personal-callout-panel[data-callout="awards"]{background:rgba(22,37,58,.78)}
#personal-callout-panel .personal-intro{margin-bottom:20px;color:#e2dfd6;font-size:12px;line-height:1.75}
#personal-callout-panel .skills-grid{gap:17px 20px}
#personal-callout-panel .skills-grid section p{font-size:11px;line-height:1.7}
#personal-callout-hotspots:not(.is-visible){visibility:hidden}
.personal-hotspot[hidden]{display:none}
.linkedin-slide:has(iframe){display:block}
.linkedin-slide iframe{height:360px}
.linkedin-slide:has(iframe) .linkedin-slide-copy{margin-top:12px}
.award-slide>img{object-fit:contain;background:#eee4d40a}
.software-logos{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}
.software-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:52px;padding:8px 5px;border:1px solid #c4ad7733;background:#f2eee30a;border-radius:4px}
.software-logo img{display:block;width:34px;height:34px;object-fit:contain}
.software-logo small{font-size:7px;color:#e9dfca;letter-spacing:.1px;white-space:nowrap}
.software-solidworks img{width:50px;background:#f2eee3;padding:4px;border-radius:2px}
.software-solidworks{min-width:104px}.software-solidworks img{width:92px;height:34px}
.linkedin-slide.linkedin-image-led{display:block}
.linkedin-slide.linkedin-image-led>img{display:block;width:100%;height:250px;max-height:none;object-fit:contain;background:#0c172966;margin-bottom:16px}
.linkedin-image-placeholder{display:grid;place-items:center;min-height:140px;background:linear-gradient(135deg,#223a58,#14243a);font:bold 65px Arial;color:#c4ad77;margin-bottom:15px}
.linkedin-image-led .linkedin-slide-copy p{font-size:11px;line-height:1.8}
.linkedin-read-more{margin-top:12px;border-top:1px solid #c4ad7733;padding-top:11px}
.linkedin-read-more summary{cursor:pointer;color:#e2ce98;font-size:10px;letter-spacing:.3px}
.linkedin-read-more p{white-space:pre-line;margin-top:12px}
@media(max-width:750px){.linkedin-slide.linkedin-image-led>img{height:190px}.collection-edit-item{grid-template-columns:35px 1fr auto auto;gap:5px}.collection-edit-item button{font-size:8px;padding:6px}.software-logo{min-width:48px}.software-solidworks{min-width:92px}}
.collection-edit-preview{display:block;width:140px;max-height:150px;object-fit:contain;margin-bottom:15px}
.collection-edit-preview[hidden]{display:none}
.collection-edit-item{display:grid!important;grid-template-columns:45px 1fr auto auto;align-items:center;gap:10px}
.collection-edit-item>img{width:42px;height:42px;object-fit:contain}
.collection-placeholder{font:22px Georgia;color:#9e8350}
#linkedin-feed-form{border:1px solid #c4ad7777;padding:15px;margin-bottom:25px}
#linkedin-feed-form small{display:block;font-size:10px;line-height:1.7;margin-bottom:14px}
#linkedin-feed-form small a{text-decoration:underline}
#linkedin-feed-status{font-size:10px;line-height:1.7;margin-top:12px}
@media(max-width:750px){.personal-hotspot{width:49px;height:49px}#personal-callout-panel{z-index:30}}
@media(prefers-reduced-motion:reduce){.personal-hotspot{animation:none}}
@media(min-width:751px){
 .keys-control-mode .room-copy{left:calc(8% + 44% * var(--copy-side,0));right:auto}
 .immersive .vignette::before{opacity:calc((1 - var(--horizon-blend,0)) * (1 - var(--copy-side,0)))}
 .vignette-right{position:absolute;inset:0;pointer-events:none;background:linear-gradient(270deg,#0c1729e8,rgba(10,17,29,.8) 30%,rgba(10,17,29,.16) 62%,transparent),linear-gradient(0deg,#0c172966,transparent 25%);opacity:calc((1 - var(--horizon-blend,0)) * var(--copy-side,0))}
 .keys-copy-right .model-hitarea{left:7%;right:auto}
 .keys-copy-right .model-controls{left:9%;right:auto}
 .keys-copy-right #room-model-label{left:9%;right:auto}
}

.award-art{display:grid;place-items:center;min-height:128px;aspect-ratio:1/1;border:1px solid #c4ad7755;background:radial-gradient(circle at 50% 43%,#c5ad7030,#15243b 72%);color:#d9c184}.award-art svg{width:74%;max-width:148px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 9px #d9c18466)}
@media(max-width:750px){.award-art{min-height:94px}}

/* The complete name is the brand image in every placement. */
header .brand .brand-mark,footer .brand .brand-mark{width:184px;height:auto;max-height:55px;object-fit:contain}.arrival-loading .arrival-monogram{width:min(300px,70vw);height:auto;max-height:none;object-fit:contain}.about .monogram img{width:min(360px,100%);height:auto}.about .monogram{aspect-ratio:auto;min-height:180px}
@media(max-width:750px){header .brand .brand-mark{width:132px;max-height:43px}}

@media(max-width:1300px){.header-actions .movement-hint{display:none}}

.arrival-loading .arrival-monogram{margin-bottom:0}.arrival-loading h1{margin:14px 24px 34px}
@media(max-width:600px){.arrival-loading h1{margin:12px 22px 28px}}

/* Shared reveals use an eased fade rather than a hard content swap. */
@media(prefers-reduced-motion:no-preference){.award-slide,.linkedin-slide,.linkedin-live-widget,.skills-grid,.interest-list,.future-note{animation:content-reveal .5s cubic-bezier(.22,.61,.36,1) both}.story-copy,#room-model-label,.model-controls{transition-duration:.6s}.software-logo img{transition:transform .4s ease}}
@keyframes content-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.linkedin-live-widget iframe{display:block;width:100%;min-height:420px;height:600px;border:0;background:transparent;color-scheme:normal}.linkedin-live-widget{min-height:420px}#linkedin-widget-form{border:1px solid #c4ad7777;padding:15px;margin-bottom:22px}#linkedin-widget-form>a{display:inline-block;margin:0 12px 15px 0;text-decoration:underline}#linkedin-widget-status{font-size:11px;line-height:1.6}

.mobile-journey-arrows{display:none}
.arrival-start[hidden]{display:none}.arrival-start{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 24px;box-sizing:border-box;opacity:0;transform:translateY(12px);transition:opacity .7s ease,transform .7s ease}.arrival-start>img{width:min(300px,65vw);height:auto;margin-bottom:28px}.arrival-start .eyebrow{font-size:9px;letter-spacing:2px;color:#c4ad77}.arrival-start h2{font:400 clamp(40px,5vw,64px)/1.05 var(--serif);color:#f2ecdf;margin:18px 0}.arrival-start h2 em{color:#c4ad77}.arrival-start p{max-width:390px;font-size:13px;line-height:1.8;color:#e0dfd9;margin:0 0 10px}.arrival-start .gold-button{min-height:48px;margin-top:25px;padding:15px 24px;cursor:pointer}.arrival-phone-note{display:none}.arrival-ready .arrival-loading{opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .5s ease,transform .5s ease}.arrival-ready .arrival-start{opacity:1;transform:translateY(0)}
body.arrival-playing .mobile-journey-arrows{visibility:hidden;opacity:0}
@media(prefers-reduced-motion:reduce){.arrival-start,.arrival-ready .arrival-loading{transition:none;transform:none}}
.arrival-loading[hidden]{display:none}.arrival-start{z-index:3;background:#f2eee3}.arrival-start h2{color:#17273e}.arrival-start p{color:#586273}.arrival-start .eyebrow,.arrival-start h2 em{color:#947b46}.arrival-start .gold-button{background:#17273e;color:#eddfbd;border:1px solid #ad945d}.arrival-start .gold-button:hover{background:#273b55;transform:translateY(-2px)}.arrival-start .gold-button:active{transform:translateY(0) scale(.98)}

.mobile-gallery-heading{display:none}.immersive header{backdrop-filter:none}.immersive header::before{background:#14243a;transition:opacity .8s ease}
.award-expand{position:relative;display:block;border:1px solid #c4ad7755;background:transparent;padding:0;width:100%;cursor:zoom-in}.award-expand img{display:block;width:100%;max-height:210px;object-fit:contain}.award-expand>span{position:absolute;bottom:7px;right:7px;background:#14243ae6;border:1px solid #c4ad7788;color:#ead7aa;font-size:20px;width:30px;height:30px;display:grid;place-items:center}.award-expand:hover>span{background:#c4ad77;color:#14243a}#award-lightbox{max-width:94vw;width:min(1050px,94vw);max-height:94dvh;padding:38px 22px 20px;background:#f2eee3;border:1px solid #c4ad77}#award-lightbox>img{display:block;max-width:100%;width:auto;height:auto;max-height:78dvh;margin:auto;object-fit:contain}#award-lightbox>p{text-align:center;font-size:12px;margin-top:14px}#award-lightbox .close{position:absolute;top:0;right:4px;z-index:2;background:#f2eee3;border:0;width:40px;height:36px;font-size:26px}

#personal-insights-prompt{position:fixed;z-index:21;left:50%;bottom:40px;transform:translate(-50%,10px);max-width:calc(100% - 40px);width:max-content;padding:16px 24px;text-align:center;color:#eee4d1;background:#14243ae8;border:1px solid #c4ad7755;backdrop-filter:blur(0px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,transform .55s ease,visibility .55s}#personal-insights-prompt.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}#personal-insights-prompt>span{font-size:8px;letter-spacing:1.6px;color:#d1b879}#personal-insights-prompt p{font-size:11px;line-height:1.7;margin:8px 0}#personal-insights-prompt small{font-size:9px;color:#d1b879}
.portfolio-cursor{position:fixed;top:0;left:0;z-index:1500;width:27px;height:27px;border:1px solid #ffffffa6;background:#ffffff18;border-radius:50%;backdrop-filter:blur(0px);mix-blend-mode:normal;box-shadow:0 0 0 1px #13243b14,0 2px 12px #13243b14;pointer-events:none;opacity:0;transition:opacity .25s ease,width .25s ease,height .25s ease,background .25s ease;will-change:transform}.portfolio-cursor.is-visible{opacity:1}.portfolio-cursor.is-interactive{width:37px;height:37px;background:#ffffff25}.portfolio-cursor.is-pressed{width:22px;height:22px;background:#ffffff44}.cursor-scroll-hint{position:fixed;z-index:1499;left:0;top:0;display:flex;align-items:center;gap:11px;padding:11px 14px;background:#14243aeb;border:1px solid #c4ad7766;color:#ead9b0;backdrop-filter:blur(0px);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s}.cursor-scroll-hint.is-visible{opacity:1;visibility:visible}.cursor-scroll-hint svg{width:23px;height:34px;stroke:#d5bb7e;stroke-width:1.2}.cursor-scroll-hint span{font-size:8px;letter-spacing:1.1px;max-width:85px;line-height:1.8}@media(pointer:fine) and (hover:hover){body.custom-cursor-ready,body.custom-cursor-ready *{cursor:none!important}}@media(pointer:coarse),(hover:none){.portfolio-cursor,.cursor-scroll-hint{display:none}}@media(prefers-reduced-motion:reduce){.portfolio-cursor,.cursor-scroll-hint{transition:none}}

#personal-callout-panel.is-leaving{opacity:0;transform:translateY(-50%) translateX(-12px);pointer-events:none;transition:opacity .45s ease,transform .45s ease}.skills-symbol-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start;margin:12px 0}.skills-symbol-row>.software-logos{margin:0;gap:12px}.skill-symbol{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;width:65px}.skill-symbol svg{width:30px;height:30px;fill:none;stroke:#d5bd85;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.skill-symbol small{font-size:7px;line-height:1.5;color:#d9dddf}.software-highlevel img{width:38px;object-fit:contain}.software-chatgpt img{object-fit:contain}#award-lightbox{z-index:2000;overflow:auto;pointer-events:auto}#award-lightbox[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}#award-lightbox>img{max-width:100%;max-height:80dvh;width:auto;min-width:min(600px,80vw);object-fit:contain}.award-expand{pointer-events:auto}.award-expand img{pointer-events:none}

.portfolio-cursor{z-index:2147483647}dialog>.portfolio-cursor{position:fixed;pointer-events:none!important}#editor>.portfolio-cursor{width:27px;height:27px;padding:0;border:1px solid #ffffffa6;border-radius:50%;background:#ffffff18}#editor>.portfolio-cursor.is-interactive{width:37px;height:37px}#editor>.portfolio-cursor.is-pressed{width:22px;height:22px}
@media(pointer:fine) and (hover:hover){html.custom-cursor-ready,html.custom-cursor-ready *,html.custom-cursor-ready *::before,html.custom-cursor-ready *::after,html.custom-cursor-ready dialog::backdrop{cursor:none!important}}

.skills-symbol-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex-wrap:nowrap}.skills-symbol-row>.software-logos{display:contents}.skills-symbol-row .software-logo,.skills-symbol-row .skill-symbol{min-width:0;width:100%;max-width:none;box-sizing:border-box}.skills-symbol-row small{white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none}.skills-symbol-row .software-logo img,.skills-symbol-row .skill-symbol svg{width:30px;height:30px;flex:none}.skills-symbol-row .skill-symbol{padding:8px 3px}.skills-symbol-row .software-logo{padding:8px 3px}

.skills-grid>section:has(.skills-symbol-row){grid-column:1/-1}.skills-symbol-row .skill-symbol small{font-size:9px;line-height:1.5;max-width:100%;text-wrap:balance}

.room-description-mobile{display:none}

@media(min-width:751px){.immersive header .brand .brand-mark{width:250px;height:auto;max-height:68px}.immersive header .brand{flex-shrink:0}}

/* Opacity/transform fades composite independently of the live 3D canvas. */
.story-copy,.room-copy{contain:layout style;backface-visibility:hidden}
.story-copy.is-active,.room-copy.is-active{will-change:opacity,transform}
#personal-callout-panel,#room-model-label,#personal-insights-prompt,.cursor-scroll-hint,.portfolio-cursor{backdrop-filter:none;-webkit-backdrop-filter:none}

/* Render typography at full opacity and natural resolution when a fade settles. */
html,body{filter:none;text-rendering:optimizeLegibility}
.story-copy,.room-copy,.story-copy.is-active,.room-copy.is-active{will-change:auto;backface-visibility:visible;text-shadow:none}
h1,h2,h3,p,small,button,a,label,input,textarea,select{filter:none;text-shadow:none}
#arrival-film,.arrival-loading,.arrival-loading.is-leaving,.arrival-start{filter:none}
.timeline-origin,.timeline-year{text-shadow:none}

.public-mode #edit,.public-mode #editor,.public-mode .page-edit-toolbar{display:none!important}
.studio-publishing{padding:24px;border:1px solid #bba36b88;background:#e8e4d8;margin:20px 0 30px}.studio-publishing h3{font:30px var(--serif);margin:10px 0}.studio-publishing p{font-size:12px;line-height:1.7}.publishing-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}.publishing-actions button,.publishing-actions a{padding:12px 16px;min-height:44px;font-size:11px;border:1px solid #aa955f}.publishing-actions a{color:#243850}#online-studio-status{color:#243850;font-weight:500}

#graphics-recovery{position:fixed;inset:0;z-index:90;display:grid;place-content:center;gap:20px;background:#14243a;color:#f2eee3;text-align:center;padding:30px}#graphics-recovery[hidden]{display:none}#graphics-recovery button{padding:14px 22px;border:1px solid #c4ad77;background:#f2eee3;color:#14243a}
/* Equal dimensions keep the project close control circular on desktop. */
@media(min-width:751px) and (pointer:fine){#detail>.close{box-sizing:border-box;display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;aspect-ratio:1;padding:0;border-radius:50%;line-height:1;flex-shrink:0}}
