
@font-face{font-family:Inter;src:url('./assets/inter.woff2') format('woff2');font-display:swap}
:root{--ink:#1d3d55;--muted:#58768d;--glass:#f5fbffad;--border:#ffffffb8}
*{box-sizing:border-box}h1,h2{text-wrap:balance}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{position:fixed;inset:0;background:#acd1ed;color:var(--ink);font-family:Inter,'Microsoft YaHei',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #365f80;outline-offset:5px}button:disabled{opacity:.3;cursor:default}[hidden]{display:none!important}::selection{background:#1e4a6d;color:white}[data-edit]{white-space:pre-line}
.site-header{position:fixed;top:28px;left:36px;right:34px;display:flex;justify-content:space-between;align-items:center;z-index:5;font-size:9px;letter-spacing:.5px}.signature{font-size:11px;font-weight:600}.scene{position:fixed;inset:0}.intro{position:absolute;left:5%;top:17%;z-index:2;width:43%}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:400;line-height:1.8;color:var(--muted);margin:0 0 20px}.intro h1{font-size:clamp(40px,4.1vw,72px);font-weight:600;line-height:1.25;letter-spacing:-2.6px;margin:0 0 27px}.intro-copy{font-size:12px;line-height:2;color:#365b76;margin:0}.primary-nav{position:fixed;left:5%;top:58%;z-index:4;display:flex;flex-direction:column;align-items:flex-start;gap:21px}.primary-nav a{font-size:13px;line-height:1.5;color:#375e7b;transition:color .2s,transform .2s}.primary-nav a:hover,.primary-nav a.active{color:#153a56;transform:translateX(4px)}.primary-nav a:after{content:'';height:1px;background:currentColor;display:block;transform:scaleX(0);transform-origin:left;transition:transform .3s;margin-top:3px}.primary-nav a:hover:after{transform:scaleX(1)}
.gallery{position:absolute;top:0;bottom:0;left:55%;right:-5%;perspective:1200px;cursor:grab;touch-action:none;user-select:none;overflow:clip}.orbit{position:absolute;inset:0;transform-style:preserve-3d}.floating-card{--card-radius:15px;position:absolute;left:55%;top:50%;width:clamp(290px,27vw,500px);aspect-ratio:16/9;transform-style:preserve-3d;will-change:transform,opacity;backface-visibility:hidden;cursor:inherit}.floating-card img{display:block;width:100%;height:100%;object-fit:cover;border:1px solid #e8f4ffb8;border-radius:var(--card-radius);box-shadow:0 20px 50px #1f537329;pointer-events:none}
.card-caption{position:absolute;left:clamp(11px,1.35vw,22px);bottom:clamp(9px,1.15vw,18px);color:#fff;font-family:"Microsoft YaHei","Microsoft YaHei UI","PingFang SC",sans-serif;font-size:clamp(12px,1.32vw,21px);font-weight:400;letter-spacing:.035em;line-height:1.2;text-align:left;white-space:nowrap;text-shadow:0 1px 3px #000b,0 2px 7px #0006}
.site-footer{position:fixed;bottom:24px;left:36px;right:34px;display:flex;align-items:center;gap:24px;font-size:8px;color:#3c6684;z-index:5}.motion-toggle,.edit-toggle{font-size:8px}.edit-toggle{margin-left:auto}
.workspace{position:fixed;inset:18px 18px 18px auto;width:calc(100% - 36px);max-width:1480px;height:calc(100dvh - 36px);max-height:none;margin:0;border:1px solid #ffffffbd;border-radius:28px;padding:0;overflow:clip;background:transparent;color:var(--ink);box-shadow:0 30px 110px #315b733b}.workspace::backdrop{background:#5183a133;backdrop-filter:blur(7px)}.drawer-shell{height:100%;position:relative;display:flex;flex-direction:column;background:#dbeefab0;isolation:isolate;animation:drawer-in .6s cubic-bezier(.16,1,.3,1) both}.drawer-sky{position:absolute;inset:0;transform:scale(1.12);background:url('./assets/sky-clouds.jpg') center/cover;filter:blur(24px);opacity:.72;z-index:-2;pointer-events:none}.drawer-shell:before{content:'';position:absolute;inset:0;background:#e5f3fc73;z-index:-1;pointer-events:none}.workspace.is-closing .drawer-shell{animation:drawer-out .32s ease-in both}.drawer-header{flex:none;display:flex;align-items:center;gap:20px;padding:22px 32px;border-bottom:1px solid #ffffff60;min-height:78px}.drawer-location{display:flex;align-items:center;gap:22px;flex:1;min-width:0}.drawer-location h2{font-size:13px;font-weight:500;letter-spacing:.1px;margin:0;outline:none}.drawer-back{font-size:11px;color:var(--muted)}.drawer-close{width:34px;height:34px;border:1px solid #ffffffba;border-radius:50%;font-size:25px;display:grid;place-items:center;background:#f4faff69;line-height:1;flex:none}.editor-activation{font-size:9px;color:var(--muted)}.panel-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7c9fba66 transparent}.panel-content{max-width:1320px;width:100%;margin:0 auto;padding:37px 40px 75px}.panel-content.view-in{animation:sheet-out .55s cubic-bezier(.16,1,.3,1) both}.page-intro{margin:0 0 12px;padding:6px 0 25px}.page-intro h1{font-size:clamp(29px,3vw,45px);font-weight:500;letter-spacing:-1.6px;line-height:1.35;margin:0 0 18px}.page-lead,.page-intro>p:last-child{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.glass-card{border:1px solid var(--border);background:var(--glass);border-radius:24px;box-shadow:0 9px 35px #456e8610;overflow:hidden}.collection-end{text-align:center;font-size:11px;color:var(--muted);padding:30px 0 0}.feature-item+.feature-item{margin-top:22px}.feature-item h3{font-size:13px;font-weight:500;line-height:1.8;margin:0 0 7px}.feature-item p{font-size:11px;line-height:1.95;color:var(--muted);margin:0}
.image-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 21px;margin-bottom:20px;font-size:11px}.image-toolbar>div{display:flex;align-items:center;gap:16px}.image-toolbar small{color:var(--muted);font-size:9px}.image-toolbar button,.image-toolbar a{font-size:10px;padding:7px}.image-stage{margin:0;padding:18px;display:grid;place-items:center;overflow:auto}.image-stage img{display:block;max-width:100%;max-height:calc(100dvh - 260px);object-fit:contain;border-radius:12px;cursor:zoom-in}.image-stage.is-zoomed{display:block}.image-stage.is-zoomed img{width:100%;max-height:none;cursor:zoom-out}
.workspace.resume-mode,.resume-mode .drawer-shell,.resume-mode .panel-scroll,.resume-page{background:#f7f8f4;color:#141414}
.resume-mode .drawer-sky,.resume-mode .drawer-shell::before{display:none}
.resume-mode .drawer-header{min-height:54px;padding-block:10px;border-bottom:1px solid #d7d9d2}
.resume-mode .drawer-close{border-color:#d7d9d2;background:#fff}
.resume-mode .panel-scroll{overflow:hidden}
.resume-mode .panel-content{width:100%;height:100%;max-width:none;padding:0}
.resume-page{display:block;border:0;width:100%;height:100%}
.contact-layout{display:grid;grid-template-columns:1.5fr 1fr;min-height:620px;padding:12px;gap:30px}.contact-art{border-radius:18px;overflow:hidden;position:relative;min-height:580px}.contact-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.contact-copy{padding:45px 20px 30px 0;display:flex;flex-direction:column;justify-content:center}.contact-copy .eyebrow{font-size:9px}.contact-copy h1{font-size:37px;line-height:1.4;letter-spacing:-1.4px;font-weight:500;margin:0 0 23px}.contact-copy>p:not(.eyebrow){font-size:12px;line-height:2;color:var(--muted);margin:0 0 25px}.contact-method{display:grid;grid-template-columns:1fr auto;gap:11px;margin:18px 0;padding-top:20px;border-top:1px solid #c9deed}.contact-method>span{grid-column:1/-1;font-size:9px;color:var(--muted)}.contact-method a{font-size:20px;letter-spacing:-.5px;overflow-wrap:anywhere;min-width:0}.contact-method button{font-size:9px;color:var(--muted)}.contact-copy .contact-location{font-size:9px!important;margin-top:20px!important}
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,12px);z-index:50;opacity:0;pointer-events:none;border:1px solid #ffffffa6;border-radius:30px;padding:11px 19px;background:#244e6fe8;color:white;font-size:11px;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.drawer-shell>.toast{position:absolute}.editor-bar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:40;border:1px solid #fff;border-radius:15px;padding:12px 15px;display:flex;align-items:center;gap:15px;background:#f6fbfff2;box-shadow:0 10px 40px #23496830;backdrop-filter:blur(20px);white-space:nowrap;font-size:10px}.drawer-shell>.editor-bar{position:absolute}.editor-bar>span{font-size:10px;color:var(--muted)}.editor-bar select{padding:7px 9px;border:1px solid #c6dbe9;border-radius:7px;background:white;font-size:10px;max-width:170px}.editor-bar button{font-size:10px;padding:7px}.editor-bar [data-editor-exit]{background:#294e6a;color:white;border-radius:7px;padding:9px 12px}.editing [data-edit]{cursor:text!important;transition:box-shadow .2s}.editing [data-edit]:hover{box-shadow:0 0 0 5px #ffffffa6;outline:1px dashed #537b9a;outline-offset:5px;border-radius:2px}.editing .floating-card{cursor:default}.copy-dialog{width:min(520px,calc(100% - 30px));border:1px solid #fff;border-radius:22px;padding:28px;background:#edf6fd;color:var(--ink);box-shadow:0 20px 80px #23496840}.copy-dialog::backdrop{background:#315a7350;backdrop-filter:blur(7px)}.copy-dialog h2{font-size:20px;font-weight:500;margin:0 0 20px}.copy-dialog textarea{display:block;width:100%;min-height:150px;resize:vertical;font-size:14px;line-height:1.8;border:1px solid #bbd3e4;border-radius:12px;padding:15px;background:#ffffffd9;outline-color:#5c84a4}.copy-dialog p{font-size:10px;color:var(--muted);line-height:1.9;margin:16px 0 22px}.copy-dialog form>div{display:flex;justify-content:end;gap:12px}.copy-dialog button{padding:10px 17px;border:1px solid #c5dbe9;border-radius:8px;font-size:12px}.copy-dialog button[type=submit]{background:#2a506c;color:white;border-color:#2a506c}
@keyframes drawer-in{from{transform:translateX(100%);opacity:.4}to{transform:translateX(0);opacity:1}}@keyframes drawer-out{to{transform:translateX(100%);opacity:.4}}@keyframes sheet-out{from{opacity:0;transform:translateY(55px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.gallery{left:57%;right:-3%}.floating-card{width:clamp(350px,24vw,550px)}}
@media(max-height:750px) and (min-width:1001px){.intro{top:15%}.intro h1{font-size:46px}.intro-copy{font-size:11px}.primary-nav{top:60%}}
@media(max-width:1100px) and (min-width:641px){.intro h1{font-size:44px}.gallery{left:52%;right:-5%}.floating-card{width:30vw}.panel-content{padding:30px}.feature-item p{font-size:10px}.contact-copy h1{font-size:32px}.contact-method a{font-size:16px}}
@media(max-width:640px),(max-width:1000px) and (orientation:portrait){
 .site-header{left:20px;right:20px;top:22px;font-size:7px}.signature{font-size:9px}.intro{top:88px;left:20px;width:88%}.intro .eyebrow{font-size:6px;letter-spacing:1.1px;margin-bottom:20px}.intro h1{font-size:clamp(29px,7.6vw,54px);letter-spacing:-1.5px;line-height:1.3;margin-bottom:18px}.intro-copy{font-size:9px;line-height:2;max-width:48vw}.primary-nav{left:20px;top:max(50%,320px);gap:22px}.primary-nav a{font-size:12px}.gallery{top:210px;bottom:75px;left:40%;right:-3%;perspective:1100px}.floating-card{--card-radius:10px;width:42vw;max-width:280px;min-width:0;left:58%}.floating-card img{box-shadow:0 12px 26px #254f7026}.site-footer{left:20px;right:20px;bottom:22px;font-size:6px;gap:15px}.motion-toggle,.edit-toggle{font-size:7px}.workspace{inset:12px 8px;width:calc(100% - 16px);height:calc(100dvh - 24px);border-radius:23px}.drawer-shell{animation:drawer-up .55s cubic-bezier(.16,1,.3,1) both}.workspace.is-closing .drawer-shell{animation:drawer-down .32s ease-in both}.drawer-header{padding:17px 18px;gap:14px;min-height:70px}.drawer-location{gap:12px}.drawer-location h2{font-size:12px}.drawer-back{font-size:9px}.drawer-close{width:30px;height:30px;font-size:23px}.editor-activation{font-size:8px}.panel-content{padding:26px 16px 65px}.page-intro{padding:2px 3px 10px;margin-bottom:0}.page-intro .eyebrow{font-size:7px;letter-spacing:1.4px;margin-bottom:15px}.page-intro h1{font-size:29px;letter-spacing:-1px;line-height:1.5;margin-bottom:16px}.page-lead,.page-intro>p:last-child{font-size:11px;line-height:1.9}.collection-end{font-size:9px;padding-top:15px}.feature-item+.feature-item{margin-top:21px}.feature-item h3{font-size:12px}.feature-item p{font-size:11px;line-height:2}.glass-card{border-radius:20px}.image-toolbar{padding:15px;gap:14px;flex-wrap:wrap;font-size:10px}.image-toolbar>div{gap:10px}.image-toolbar button,.image-toolbar a{font-size:9px}.image-stage{padding:8px;border-radius:16px}.image-stage img{border-radius:10px;max-height:calc(100dvh - 230px)}.contact-layout{grid-template-columns:1fr;padding:8px;gap:0;min-height:0}.contact-art{min-height:0;aspect-ratio:1.25;border-radius:15px}.contact-copy{padding:29px 21px 16px}.contact-copy h1{font-size:31px;letter-spacing:-1px}.contact-copy>p:not(.eyebrow){font-size:11px}.contact-copy .eyebrow{font-size:8px;margin-bottom:19px}.contact-method a{font-size:21px}.contact-method{margin:13px 0;padding-top:18px}.contact-method>span{font-size:8px}.contact-copy .contact-location{font-size:8px!important;line-height:1.9}.toast{font-size:10px;bottom:25px;max-width:90%;text-align:center;line-height:1.8;white-space:normal;width:max-content}.editor-bar{max-width:calc(100% - 24px);width:450px;bottom:12px;padding:12px;gap:8px;flex-wrap:wrap;justify-content:center;white-space:normal;border-radius:16px}.editor-bar>span{width:100%;text-align:center;font-size:9px}.editor-bar select{max-width:115px;font-size:9px;padding:6px}.editor-bar button{font-size:8px;padding:5px}.editor-bar [data-editor-exit]{padding:8px}.copy-dialog{padding:23px}.copy-dialog h2{font-size:18px}
 .workspace[open]{border:0;background:transparent;overflow:visible;box-shadow:none}
 .workspace[open] .drawer-shell{border:1px solid #ffffffbd;border-radius:inherit;overflow:hidden;box-shadow:0 30px 110px #315b733b}
 .workspace[open] .panel-content.view-in{animation:none}
 .workspace::backdrop{backdrop-filter:none;background:#5183a150}
 .panel-content>iframe.is-loading{visibility:hidden}
 @keyframes drawer-up{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes drawer-down{to{transform:translateY(100%)}}
}
@media(max-width:360px){.intro{top:80px}.intro .eyebrow{font-size:5.5px}.intro h1{font-size:27px}.intro-copy{font-size:8px}.primary-nav{left:20px;top:max(51%,290px);gap:19px}.primary-nav a{font-size:11px}.gallery{top:195px}.panel-content{padding-left:12px;padding-right:12px}.drawer-header{padding-left:15px;padding-right:15px;gap:10px}.drawer-location{gap:8px}.drawer-back{font-size:8px}.drawer-location h2{font-size:11px}.contact-copy{padding:25px 17px 12px}.contact-method a{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}




/* Visible clouds move independently across the sky, with staggered seamless loops. */
.sky{position:fixed;inset:-2%;z-index:-2;background:#acd1ed url('./assets/sky-clouds.jpg') center/cover;animation:none;transform:none}
.cloud-field{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.drifting-cloud{position:absolute;left:0;width:clamp(260px,34vw,540px);height:auto;opacity:.88;animation:cloud-travel var(--duration) linear infinite;animation-delay:var(--delay);will-change:transform;filter:drop-shadow(0 9px 16px #557c9b0a)}
.cloud-one{top:5%;--duration:100s;--delay:-39s}
.cloud-two{top:50%;width:clamp(340px,45vw,720px);opacity:.75;--duration:140s;--delay:-13s}
.cloud-three{top:73%;width:clamp(220px,27vw,440px);opacity:.7;--duration:90s;--delay:-66s}
@keyframes cloud-travel{from{transform:translateX(-115%)}to{transform:translateX(calc(100vw + 15%))}}
.motion-paused .drifting-cloud{animation-play-state:paused}
.gallery{outline:none;-webkit-tap-highlight-color:transparent}
.gallery.keyboard-navigation:focus-visible{outline:2px solid #365f80;outline-offset:-4px}
.portfolio-mode .panel-content{max-width:1000px;min-height:var(--folder-scroll-height,0px)}.portfolio-mode .page-intro h1{font-size:32px}.portfolio-mode .page-intro{padding-bottom:10px}
.file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,252px));justify-content:center;gap:14px 62px;max-width:620px;margin:15px auto 0}
.file-card{
 display:block;min-width:0;position:relative;padding:52px 0 18px;text-align:left;
 user-select:none;-webkit-user-select:none;isolation:isolate;
 --folder-open:var(--folder-scroll,0);
 --paper-shrink:.48;
 --paper-spread:54%;
}
.file-card:is(:focus-visible,.is-opening){--folder-open:1;z-index:3}
.file-card.is-opening .file-paper{transition:transform .24s cubic-bezier(.2,.7,.25,1)}
.file-stage{--stage-height:146px;--pocket-height:98px;display:block;height:var(--stage-height);position:relative}
.file-back{position:absolute;inset:19px 4px 0;background:#ffffff12;border:1px solid #ffffff9c;border-radius:15px;box-shadow:0 9px 25px #31536c10}
.file-tab{position:absolute;top:-16px;left:-1px;width:40%;height:22px;border:1px solid #ffffff9c;border-bottom:0;border-radius:11px 11px 0 0;background:#ffffff23}
.file-paper{
 position:absolute;left:50%;bottom:calc(var(--pocket-height) - 13px);width:82%;aspect-ratio:8/5;max-height:146px;
 padding:3px;border:1px solid #ffffffd9;border-radius:11px;background:#fff;
 box-shadow:0 4px 12px #36567117;z-index:calc(2 + var(--stack));overflow:hidden;
 pointer-events:none;transform-origin:bottom center;
 transform:translate3d(
  calc(-50% + var(--offset) * var(--paper-spread) * var(--folder-open)),
  calc(min(100% - 33px - var(--stack) * 3px, var(--pocket-height) - 22px) * (1 - var(--folder-open))),
  0
 ) rotate(calc(var(--offset) * 5deg)) scale(calc(1 - var(--paper-shrink) * var(--folder-open)));
}
.file-paper img{display:block;width:100%;height:100%;object-fit:contain;border-radius:7px}
.file-front{position:absolute;bottom:0;left:0;right:0;height:98px;padding:17px 16px 15px;display:flex;align-items:end;justify-content:space-between;gap:8px;border:1px solid #ffffffbf;border-top-color:#ffffffed;border-radius:13px;background:#ffffff26;backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);box-shadow:inset 0 1px 1px #ffffffa8,0 12px 30px #355b731b;z-index:8}
.file-front>span:first-child{min-width:0}.file-front strong{display:block;font-size:14px;font-weight:500;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#18384f}.file-front small{display:block;font-size:8px;color:#3b5a6d;line-height:1.7;margin-top:6px}.file-open{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#172d3ee8;color:#fff;font-size:19px;font-weight:300;flex:none}

/* Every project is one white split view, with independent vertical scrolling. */
.workspace.project-mode{background:#fff;border-color:#fff;color:#26333d}
.workspace.project-mode .drawer-shell{background:#fff}
.workspace.project-mode .drawer-shell:before,.workspace.project-mode .drawer-sky{display:none}
.workspace.project-mode .drawer-header{background:#fff;border-bottom:1px solid #eceff1}
.workspace.project-mode .drawer-close{background:#fafafa;border-color:#e0e5e9;color:#344551}
.workspace.project-mode .panel-scroll{overflow:hidden;background:#fff}
.workspace.project-mode .panel-content{height:100%;max-width:none;padding:0;display:flex;flex-direction:column}
.project-tools{flex:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 24px;border-bottom:1px solid #f0f1f2;font-size:10px;color:#8a9298}
.project-tools>div{display:flex;gap:17px;flex:none}.project-tools button{font-size:10px;color:#64717c}
.project-layout{--text-share:36%;display:grid;grid-template-columns:minmax(0,var(--text-share)) 18px minmax(0,1fr);grid-template-rows:minmax(0,1fr);flex:1;min-height:0;min-width:0;background:#fff}
.project-description{grid-column:1;grid-row:1;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:35px 30px 55px;scrollbar-width:thin;scrollbar-color:#d9dde0 transparent}
.project-description .eyebrow{font-size:9px;color:#8b949b;margin-bottom:18px}
.project-description h1{font-size:clamp(28px,3vw,42px);font-weight:500;letter-spacing:-1.5px;margin:0 0 20px;line-height:1.35;color:#222f39}
.project-description>h2{font-size:20px;line-height:1.65;font-weight:400;margin:0 0 16px;letter-spacing:-.5px;color:#344652}
.project-description>p:not(.eyebrow){font-size:12px;line-height:1.95;color:#7c868e;margin:0 0 30px}
.project-description .features{border-top:1px solid #eaecef;padding-top:24px}
.project-description .feature-item h3{font-size:13px;color:#354651;margin:0 0 8px;font-weight:500}
.project-description .feature-item p{font-size:12px;line-height:1.95;color:#78838d;margin:0}
.project-description .feature-item+.feature-item{margin-top:25px}
.project-splitter{grid-column:2;grid-row:1;position:relative;display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none;background:#fff;border-inline:1px solid #f0f1f2;user-select:none}
.project-splitter:before{content:'';position:absolute;top:0;bottom:0;left:-8px;right:-8px}
.project-splitter>span{height:47px;width:4px;border-radius:5px;background:#b9c3cb;pointer-events:none}
.project-splitter small{position:absolute;top:calc(50% + 33px);font-size:12px;line-height:1;color:#8d9eac;pointer-events:none}
.project-splitter:hover,.project-splitter:focus-visible,.resizing .project-splitter{background:#f5f8fa}
.project-splitter:hover>span,.resizing .project-splitter>span{background:#7098b6}
.resizing{user-select:none;cursor:col-resize}.project-splitter:focus-visible{outline-offset:-3px}
.project-assets{grid-column:3;grid-row:1;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:0 22px 35px;scrollbar-width:thin;scrollbar-color:#d9dde0 transparent;background:#fff}
.assets-heading{position:sticky;top:0;z-index:2;background:#ffffffed;display:flex;justify-content:space-between;gap:12px;padding:19px 0 16px;font-size:10px;line-height:1.8;color:#697881}
.assets-heading small{font-size:9px;color:#a0a8ad}
.asset-card{margin:0 0 22px;padding:10px;border:1px solid #e9edef;border-radius:18px;background:#fafbfc;overflow:hidden}
.asset-image{display:block;width:100%;cursor:zoom-in}
.asset-image img{display:block;width:100%;height:auto;border-radius:11px}
.asset-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 3px 3px;font-size:10px;line-height:1.8;color:#7f8991;flex-wrap:wrap}
.asset-caption>span:last-child{font-size:9px;color:#8e9ba5}
.asset-video{position:relative;overflow:hidden;border-radius:11px;background:#fff}
.project-video{display:block;width:100%;height:auto;background:#fff}
.video-sound{font-size:10px;color:#536b7d;padding:5px 9px;border:1px solid #dce4e9;border-radius:15px;background:#fff}
.video-fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:11px 20px;border-radius:25px;background:#294c66de;color:#fff;font-size:12px}
.project-layout.swapped{grid-template-columns:minmax(0,1fr) 18px minmax(0,var(--text-share))}
.swapped .project-description{grid-column:3}.swapped .project-assets{grid-column:1}
.workspace.image-mode .panel-scroll{overflow:auto}
.workspace.image-mode .panel-content{display:block;height:auto;padding:24px;max-width:1300px}
.workspace.image-mode .glass-card{background:#fafbfc;border-color:#e7edf0;color:#455964}
@media(max-width:640px),(max-width:1000px) and (orientation:portrait){
 .drifting-cloud{width:62vw;min-width:210px}.cloud-two{top:56%;width:80vw;min-width:260px}.cloud-three{top:74%;width:48vw;min-width:175px}
 .file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 22px;margin-top:8px}
 .file-card{padding:46px 0 14px}.file-stage{height:110px}.file-back{inset:17px 2px 0;border-radius:12px}.file-tab{height:20px;top:-14px;border-radius:9px 9px 0 0}
 .file-paper{width:85%;padding:2px;border-radius:9px}.file-paper img{border-radius:6px}
 .file-front{height:78px;padding:12px 10px 10px;border-radius:11px;gap:4px;backdrop-filter:blur(15px) saturate(1.35);-webkit-backdrop-filter:blur(15px) saturate(1.35)}
 .file-front strong{font-size:11px;letter-spacing:-.3px}.file-front small{font-size:6px;margin-top:5px}.file-open{width:20px;height:20px;font-size:16px}
 .portfolio-mode .page-intro h1{font-size:27px;line-height:1.5;margin-bottom:13px}.portfolio-mode .page-intro .eyebrow{margin-bottom:14px}
 .project-tools{font-size:8px;padding:10px 12px;gap:9px;align-items:start}.project-tools>span{max-width:57%;line-height:1.8}.project-tools>div{gap:11px;padding-top:2px}.project-tools button{font-size:8px}
 .project-layout{grid-template-columns:minmax(0,var(--text-share)) 16px minmax(0,1fr)}.project-layout.swapped{grid-template-columns:minmax(0,1fr) 16px minmax(0,var(--text-share))}
 .project-description{padding:22px 11px 35px}.project-description .eyebrow{font-size:7px;letter-spacing:.7px;margin-bottom:14px}
 .project-description h1{font-size:23px;letter-spacing:-.7px;line-height:1.4;margin-bottom:15px;overflow-wrap:anywhere}
 .project-description>h2{font-size:13px;line-height:1.8;letter-spacing:0;margin-bottom:12px}
 .project-description>p:not(.eyebrow){font-size:10px;line-height:1.95;margin-bottom:21px}
 .project-description .features{padding-top:18px}.project-description .feature-item h3{font-size:11px;line-height:1.8;margin-bottom:7px}.project-description .feature-item p{font-size:10px;line-height:1.95}.project-description .feature-item+.feature-item{margin-top:21px}
 .project-assets{padding:0 9px 28px}.assets-heading{padding:15px 0 12px;flex-wrap:wrap;gap:1px;font-size:8px}.assets-heading small{font-size:7px}
 .asset-card{padding:6px;border-radius:12px;margin-bottom:14px}.asset-image img,.asset-video{border-radius:8px}
 .asset-caption{font-size:8px;gap:5px;padding:9px 1px 1px}.asset-caption>span:last-child{font-size:7px}
 .video-sound{font-size:8px;padding:4px 7px}.video-fallback{font-size:9px;padding:8px 11px;white-space:nowrap}
 .project-splitter>span{height:41px;width:3px}.project-splitter small{font-size:10px}
 .workspace.image-mode .panel-content{padding:15px}
}
@media(max-width:360px){
 .file-grid{gap:5px 17px}.file-front{padding-left:9px;padding-right:8px}.file-front strong{font-size:10px}.file-front small{font-size:5.5px}.file-open{width:18px;height:18px;font-size:15px}
 .project-description{padding-left:9px;padding-right:9px}.project-description h1{font-size:20px}.project-description>h2{font-size:12px}
}

.file-card[data-project="creators"] .file-front{background:#142b4266;backdrop-filter:blur(20px) saturate(1.3)}
.file-card[data-project="creators"] .file-front strong,.file-card[data-project="creators"] .file-front small{color:#f5faff}

@media(max-width:640px),(max-width:1000px) and (orientation:portrait){.file-grid{max-width:526px;width:100%}}
@media(min-width:480px) and (max-width:1000px) and (orientation:portrait){
 .file-stage{height:146px}.file-front{height:98px;padding:17px 16px 15px}
 .file-front strong{font-size:14px}.file-front small{font-size:8px}.file-open{width:25px;height:25px;font-size:19px}
}

@media(min-width:480px) and (max-width:1000px) and (orientation:portrait){.project-description h1{font-size:28px}.project-description>h2{font-size:16px}.project-description>p:not(.eyebrow),.project-description .feature-item p{font-size:12px}.project-description .feature-item h3{font-size:13px}}

.workspace.hotspots-mode .panel-scroll{overflow:hidden;background:#fffdfa}.workspace.hotspots-mode .panel-content{padding:0;height:100%;max-width:none}.hotspots-page{display:block;border:0;width:100%;height:100%;background:#fffdfa}.workspace.hotspots-mode .drawer-header{background:#fffdfa;border-bottom:1px solid #e9dfd3;color:#3c3026}.workspace.hotspots-mode .drawer-back{color:#88715c}.workspace.hotspots-mode .drawer-close{background:#faf4ed;color:#3c3026;border-color:#e5d9cc}

.workspace.creators-mode .drawer-header,.workspace.creators-mode .panel-scroll,.workspace.creators-mode .hotspots-page{background:#faf9ff}.workspace.creators-mode .drawer-header{border-bottom-color:#e3d9ed;color:#534565}.workspace.creators-mode .drawer-back{color:#a18bb6}.workspace.creators-mode .drawer-close{background:#f4edf9;border-color:#dfd1ed;color:#7e639d}

/* The embedded project starts directly below the drawer controls. */
.workspace.project-mode .drawer-header{position:absolute;inset:0 0 auto;z-index:5;background:transparent;border:0;pointer-events:none}
.workspace.project-mode .drawer-location,.workspace.project-mode .drawer-close{pointer-events:auto}

/* Portfolio folders: a featured first row, current previews and readable summaries. */
.workspace.portfolio-mode .drawer-header,.workspace.contact-mode .drawer-header{border-bottom:0}
.contact-copy h1{text-wrap:balance}
.portfolio-mode .file-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;gap:22px 48px;align-items:start}
.portfolio-mode .file-card{padding:64px 0 18px}
.portfolio-mode .file-stage{--stage-height:174px;--pocket-height:126px;height:var(--stage-height)}
.portfolio-mode .file-front{height:var(--pocket-height);padding:17px 15px;align-items:end}
.portfolio-mode .file-front>span:first-child{width:100%}
.portfolio-mode .file-front strong{font-size:20px;line-height:1.5;white-space:normal;overflow:visible;text-overflow:clip}
.portfolio-mode .file-front small{font-size:11px;margin-top:8px;margin-right:58px}
.portfolio-mode .file-card[data-project="creators"] .file-front{background:#ffffff26}
.portfolio-mode .file-card[data-project="creators"] .file-front strong,.portfolio-mode .file-card[data-project="creators"] .file-front small{color:#18384f}
.portfolio-mode .file-open{position:absolute;right:13px;bottom:15px;width:auto;min-width:44px;height:28px;padding-inline:10px;border-radius:999px;background:#193a50;font-size:11px;font-weight:500;line-height:1;white-space:nowrap}
.portfolio-mode .file-card:hover .file-open,.portfolio-mode .file-card:focus-visible .file-open{background:#0d283a}
.file-description{display:block;font-size:14px;line-height:1.85;color:#365a70;margin-top:14px;text-align:left}
.file-featured-label{display:table;padding:4px 9px;border-radius:20px;background:#173d52;color:#fff;font-size:10px;line-height:1.5;letter-spacing:1px;margin-bottom:9px}
.portfolio-mode .file-card.is-featured{
 grid-column:1/-1;width:100%;max-width:500px;justify-self:center;
 --paper-shrink:.61;--paper-spread:35%;
}
.portfolio-mode .is-featured .file-stage{--stage-height:240px;--pocket-height:150px}
.portfolio-mode .is-featured .file-front{padding:22px 24px;border-width:2px}
.portfolio-mode .is-featured .file-front strong{font-size:32px}
.portfolio-mode .is-featured .file-paper{max-height:208px}
@media(max-width:640px),(max-width:1000px) and (orientation:portrait){
 .portfolio-mode .file-grid{gap:16px 18px}
 .portfolio-mode .file-stage{--stage-height:168px}
 .portfolio-mode .file-front{padding:15px 12px}
 .portfolio-mode .file-front strong{font-size:17px;line-height:1.5}
 .portfolio-mode .file-front small{font-size:10px;margin-right:52px}
 .portfolio-mode .file-open{height:25px;right:10px;bottom:14px;padding-inline:8px;font-size:10px}
 .file-description{font-size:13px;line-height:1.85}
 .portfolio-mode .is-featured .file-stage{--stage-height:220px;--pocket-height:142px}
 .portfolio-mode .is-featured .file-front{padding:18px 20px}
 .portfolio-mode .is-featured .file-front strong{font-size:30px}
 .portfolio-mode .is-featured .file-paper{max-height:190px}
 .portfolio-mode .is-featured .file-front small{font-size:12px}
}
