:root{--shoal-bg:#f9f7f4;--shoal-bg-card:#fff;--shoal-primary:#8b7355;--shoal-secondary:#a8c4b2;--shoal-accent:#c8985a;--shoal-text:#1a1a1a;--shoal-text-sub:#4a4a4a;--shoal-text-muted:#9e9e9e;--shoal-stamp-ink:#7d8b6a;--deep-bg:#1a1817;--deep-bg-card:#242220;--deep-primary:#b89468;--deep-secondary:#7a9e8a;--deep-accent:#d4ae70;--deep-text:#edebe8;--deep-text-sub:#b8b5b0;--deep-text-muted:#6e6b67;--deep-stamp-ink:#9aaa82;--color-bg:var(--shoal-bg);--color-bg-card:var(--shoal-bg-card);--color-primary:var(--shoal-primary);--color-secondary:var(--shoal-secondary);--color-accent:var(--shoal-accent);--color-text:var(--shoal-text);--color-text-sub:var(--shoal-text-sub);--color-text-muted:var(--shoal-text-muted);--color-stamp-ink:var(--shoal-stamp-ink);--color-white:#fff;--color-shadow-dim:#00000014;--color-shadow-subtle:#0000000f;--color-backdrop:#16161473;--color-code-bg:#1a1817;--color-code-text:#e5cda7;--color-primary-rgb:139, 115, 85;--border-color-rgb:0, 0, 0;--font-display:"Playfair Display", Georgia, serif;--font-body:"DM Sans", -apple-system, sans-serif;--font-sign:"WindSong", cursive;--font-mono:"SF Mono", "Cascadia Code", "Fira Code", "JetBrains Mono", Consolas, monospace;--font-serif:"Playfair Display", Georgia, "Times New Roman", serif;--font-sans:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-hero:7.2rem;--text-hero-sub:1.8rem;--text-giant:9.6rem;--text-h1:3.2rem;--text-3xl:3rem;--text-h2:2.4rem;--text-h3:2rem;--text-md:1.8rem;--text-body:1.4rem;--text-sm:1.3rem;--text-xs:1.2rem;--text-2xs:1.1rem;--text-3xs:1rem;--text-4xs:.9rem;--text-sign:3.6rem;--leading-tight:1.15;--leading-body:1.6;--leading-relaxed:1.8;--leading-none:1;--leading-hero:1.08;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.04em;--tracking-label:.1em;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:900;--space-1:.4rem;--space-2:.8rem;--space-3:1.2rem;--space-4:1.6rem;--space-5:2rem;--space-6:2.4rem;--space-8:3.2rem;--space-10:4rem;--space-12:4.8rem;--space-16:6.4rem;--space-20:8rem;--radius-xs:.2rem;--radius-sm:.4rem;--radius-md:.8rem;--radius-lg:1.6rem;--radius-xl:2.4rem;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 30px #0000001f;--shadow-glow:0 0 20px #8b735526;--stamp-card-width:208px;--stamp-card-height:598px;--anchor-stack-min-height:560px;--anchor-stack-max-width:1040px;--tags-scatter-height:21.1rem;--border-light:1px solid #0000000f;--border-color:#00000014;--color-border:#00000014;--transition-fast:.15s ease;--transition-base:.3s ease;--transition-normal:.4s ease;--transition-slow:.6s ease}[data-theme=deep]{--color-bg:var(--deep-bg);--color-bg-card:var(--deep-bg-card);--color-primary:var(--deep-primary);--color-secondary:var(--deep-secondary);--color-accent:var(--deep-accent);--color-text:var(--deep-text);--color-text-sub:var(--deep-text-sub);--color-text-muted:var(--deep-text-muted);--color-stamp-ink:var(--deep-stamp-ink);--color-primary-rgb:184, 148, 104;--border-color-rgb:255, 255, 255;--border-light:1px solid #ffffff0f;--border-color:#ffffff14;--color-border:#ffffff14;--shadow-glow:0 0 20px #b8946840}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/dm-sans-normal-300.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-normal-400.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-sans-normal-500.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dm-sans-normal-600.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/playfair-display-italic-400.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/playfair-display-italic-600.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/playfair-display-normal-400.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/playfair-display-normal-600.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/playfair-display-normal-700.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/playfair-display-normal-900.woff2)format("woff2")}@font-face{font-family:WindSong;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/windsong-normal-400.woff2)format("woff2")}@font-face{font-family:WindSong;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/windsong-normal-500.woff2)format("woff2")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;font-size:62.5%;overflow-x:hidden}body{font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-body);color:var(--color-text);background:var(--color-bg);transition:background var(--transition-slow), color var(--transition-slow);width:100%;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}ul,ol{list-style:none}input,textarea{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-regular);line-height:var(--leading-tight)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::view-transition-old(root){animation:.4s cubic-bezier(.25,1,.5,1) both gallery-exit}::view-transition-new(root){animation:.55s cubic-bezier(.25,1,.5,1) both gallery-enter}@keyframes gallery-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.985)}}@keyframes gallery-enter{0%{opacity:0;transform:scale(1.01)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.page{animation:.4s both page-bg-reveal}@keyframes page-bg-reveal{0%{opacity:0}to{opacity:1}}.page-inner{animation:.8s cubic-bezier(.16,1,.3,1) .15s both gallery-inner-reveal}@keyframes gallery-inner-reveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.navbar{z-index:100;padding:var(--space-5) var(--space-10);pointer-events:none;justify-content:flex-end;display:flex;position:fixed;top:0;left:0;right:0}.navbar-inner{align-items:center;gap:var(--space-10);pointer-events:auto;display:flex}.navbar-links{gap:var(--space-10);display:flex}.navbar-links a{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-regular);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-muted);transition:color var(--transition-fast)}.navbar-links a:hover,.navbar-links a.active{color:var(--color-text)}.link-slide{display:inline-flex}.link-char{vertical-align:top;display:inline-block;position:relative;overflow:hidden}.link-char-top,.link-char-bottom{transition:transform .35s;display:block}.link-char-bottom{width:100%;position:absolute;top:0;left:0;transform:translateY(100%)}.navbar-links a:hover .link-char-top,.navbar-links a.active .link-char-top{transform:translateY(-100%)}.navbar-links a:hover .link-char-bottom,.navbar-links a.active .link-char-bottom{transform:translateY(0)}.navbar-links a:hover .link-char-top,.navbar-links a:hover .link-char-bottom{transition-delay:calc(var(--i,0) * 40ms + 50ms)}.navbar-links a.active .link-char-top,.navbar-links a.active .link-char-bottom{transition-delay:calc(var(--i,0) * 40ms)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}.page{min-height:100vh;padding-top:7.2rem;overflow-x:hidden}.page-inner{max-width:80rem;padding:0 var(--space-6);margin:0 auto}.page-home{padding-top:0}.footer{border-top:var(--border-light);padding:var(--space-8) var(--space-6);text-align:center}.footer-text{font-size:var(--text-xs);color:var(--color-text-muted)}@media (width<=768px){.navbar{padding:var(--space-3) var(--space-2);justify-content:center;width:100%;left:0;right:0}.navbar-inner,.navbar-links{gap:var(--space-2);justify-content:center;width:100%}.navbar-links a{font-size:var(--text-3xs);letter-spacing:.05em}}.btn{padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:all var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-bg-card)}.btn-primary:hover{opacity:.9}.card{background:var(--color-bg-card);border-radius:var(--radius-lg);border:var(--border-light);padding:var(--space-6);transition:box-shadow var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md)}.hero-sign{bottom:var(--space-8);left:var(--space-10);font-family:var(--font-sign);font-size:var(--text-sign);color:var(--color-primary);z-index:2;pointer-events:none;display:flex;position:absolute}.hero-sign-char{opacity:0;animation:4s ease-in-out infinite sign-breathe;animation-delay:calc(var(--i) * .25s + .5s);display:inline-block}@keyframes sign-breathe{0%,to{opacity:.25}15%{opacity:.65}35%{opacity:.85}55%{opacity:.55}75%{opacity:.35}}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.hero-title{font-family:var(--font-display);font-size:var(--text-hero);font-weight:var(--weight-black);line-height:var(--leading-hero);letter-spacing:var(--tracking-tight);cursor:default;z-index:2;position:relative}.hero-sub{font-family:var(--font-body);font-size:var(--text-hero-sub);font-weight:var(--weight-light);color:var(--color-text-sub);letter-spacing:var(--tracking-wide);line-height:var(--leading-relaxed);margin-top:var(--space-10);pointer-events:none;z-index:2;max-width:48rem;position:relative}.hero-bg{z-index:0;background:url(/images/bg.jpg) 50%/cover no-repeat;position:absolute;inset:0}.hero-ink-matte{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-ripple{position:relative}.hero-title-line{display:block}.hero-char{will-change:transform, color;backface-visibility:hidden;transition:transform .6s cubic-bezier(.25,.46,.45,.94),color .5s;display:inline-block;position:relative}.hero-char-space{width:.35em}.hero-particles-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.anchor-stack{margin:var(--space-20) auto var(--space-24);padding:var(--space-20) 0 var(--space-16);max-width:var(--anchor-stack-max-width);min-height:var(--anchor-stack-min-height);grid-template-columns:1fr;place-items:center;display:grid;position:relative}.stamp-card{width:var(--stamp-card-width);max-width:100%;height:var(--stamp-card-height);background:color-mix(in srgb, var(--color-primary) 15%, var(--color-bg-card));padding:var(--space-8) var(--space-5);filter:drop-shadow(0 .1rem .2rem rgba(var(--color-primary-rgb), .1)) drop-shadow(0 .3rem .8rem rgba(var(--color-primary-rgb), .14));cursor:default;animation:.82s cubic-bezier(.32,.72,0,1) forwards stamp-fade-up-intro;animation-delay:calc(var(--index,0) * .18s);opacity:0;will-change:transform, opacity;transform-origin:bottom;flex-direction:column;grid-area:1/1;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .55s cubic-bezier(.22,1,.36,1),filter .55s cubic-bezier(.22,1,.36,1);display:flex}@keyframes stamp-fade-up-intro{0%{opacity:0}to{opacity:1}}.anchor-ink-blob{z-index:2;pointer-events:none;background:color-mix(in srgb, var(--color-bg-card) 100%, var(--color-primary) 0%);transition:-webkit-mask-size 2s cubic-bezier(.25,0,0,1),mask-size 2s cubic-bezier(.25,0,0,1);transition-delay:calc(var(--stagger,0) * .12s);position:absolute;inset:-.5rem;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:250% 250%;mask-size:250% 250%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.stamp-card .anchor-ink-blob,.stamp-card .anchor-card:before{-webkit-mask-size:0% 0%;mask-size:0% 0%}.stamp-card .anchor-card{animation:7.2s ease-in-out infinite stamp-drift-1;animation-delay:calc(var(--index,0) * .18s)}.stamp-card[style*=--drift-layer\:2] .anchor-card{animation-name:stamp-drift-2;animation-duration:8.5s}.stamp-card[style*=--drift-layer\:1] .anchor-card{animation-name:stamp-drift-3;animation-duration:9.8s}.anchor-stack:hover .stamp-card .anchor-card{animation-name:stamp-drift-subtle!important;animation-duration:12s!important}@keyframes stamp-drift-subtle{0%,to{transform:translate(0,0)rotate(0)}50%{transform:translate(.2px,-.3px)rotate(.04deg)}}.anchor-stack.has-active .stamp-card:not(.is-active){pointer-events:none;opacity:.55!important;filter:grayscale(20%) drop-shadow(0 2px 8px var(--color-shadow-dim))!important;transform:translate(0,0)rotate(0)scale(.9)!important}.anchor-stack.has-active .stamp-card.is-active{filter:drop-shadow(0 25px 50px rgba(var(--color-primary-rgb), .32))!important;opacity:1!important;z-index:100!important;transform:translate(0,0)scale(1.05)rotate(-1.5deg)!important}.anchor-stack.has-active .stamp-card.is-active .anchor-card,.anchor-stack.has-active .stamp-card:not(.is-active) .anchor-card{animation-name:stamp-drift-subtle!important;animation-duration:12s!important}@keyframes stamp-drift-1{0%,to{transform:translate(0,0)rotate(0)}20%{transform:translate(1.5px,-2px)rotate(.2deg)}45%{transform:translate(-1px,2.5px)rotate(-.3deg)}70%{transform:translate(-2px,-.5px)rotate(.1deg)}}@keyframes stamp-drift-2{0%,to{transform:translate(0,0)rotate(0)}25%{transform:translate(-2px,1px)rotate(.3deg)}55%{transform:translate(2.5px,-2.5px)rotate(-.2deg)}80%{transform:translateY(3px)rotate(.2deg)}}@keyframes stamp-drift-3{0%,to{transform:translate(0,0)rotate(0)}15%{transform:translate(-1.5px,2.5px)rotate(.3deg)}40%{transform:translate(2px,-1.5px)rotate(-.2deg)}65%{transform:translate(-2.5px,-2px)rotate(.2deg)}85%{transform:translate(1px,2px)rotate(-.1deg)}}.anchor-card{padding:var(--space-6) var(--space-4);background:var(--color-bg-card);border-radius:var(--radius-xs);flex:1;position:relative;overflow:hidden}.anchor-num{font-family:var(--font-display);font-size:var(--text-giant);font-weight:var(--weight-light);color:color-mix(in srgb, var(--color-primary) 12%, var(--color-bg-card));letter-spacing:var(--tracking-tight);pointer-events:none;line-height:1;transition:color .45s;position:absolute;top:-.12em;right:-.05em}.stamp-card:hover .anchor-num{color:color-mix(in srgb, var(--color-primary) 22%, var(--color-bg-card))}.anchor-title{font-family:var(--font-display);font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--color-text);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin-bottom:var(--space-1);transition:color .35s}.anchor-title-sub{font-family:var(--font-display);font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--color-text-sub);letter-spacing:var(--tracking-normal);margin-bottom:var(--space-6);transition:color .35s;display:block}.stamp-card:hover .anchor-title,.stamp-card:hover .anchor-title-sub{color:var(--color-primary)}.anchor-body{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-body);color:var(--color-text);line-height:var(--leading-relaxed);text-indent:0;padding-top:var(--space-5);padding-left:var(--space-4);border-top:1px solid color-mix(in srgb, var(--color-primary) 6%, transparent);border-left:.5px solid color-mix(in srgb, var(--color-primary) 14%, transparent);transition:color .3s}.stamp-card:hover .anchor-body{color:var(--color-text)}.anchor-tags-scatter{width:100%;height:var(--tags-scatter-height);margin-top:var(--space-5);position:relative}.anchor-spacer{height:var(--tags-scatter-height);margin-top:var(--space-5)}.tech-tag-scatter{font-family:var(--font-body);font-size:var(--text-2xs);font-weight:var(--weight-regular);opacity:0;animation:1.4s ease-out forwards tag-reveal;animation-delay:var(--reveal,0s);color:var(--color-text-muted);border:1px solid color-mix(in srgb, var(--color-primary) 12%, transparent);border-radius:var(--radius-full);padding:var(--space-1) var(--space-4);white-space:nowrap;pointer-events:none;background:0 0;transition:color 1s,border-color 1s;display:inline-block;position:absolute}@keyframes tag-reveal{0%{opacity:0;filter:blur(2px);translate:0 6px}to{opacity:1;filter:blur();translate:0}}.tech-tag-scatter:hover{color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 30%, transparent);border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.tech-tag{font-family:var(--font-body);font-size:var(--text-2xs);font-weight:var(--weight-regular);color:var(--color-text-muted);background:var(--color-bg-card);border:var(--border-light);border-radius:var(--radius-full);padding:var(--space-1) var(--space-4);transition:color .3s,border-color .3s,box-shadow .3s;display:inline-block}.tech-tag:hover{color:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.postmark{pointer-events:none;opacity:.42;width:10.4rem;height:10.4rem;position:absolute;bottom:15rem;right:-2rem;overflow:visible;transform:rotate(-28deg)}.postmark-ring{fill:none;stroke:var(--color-stamp-ink)}.postmark-ring--outer{stroke-width:1.4px}.postmark-ring--inner{stroke-width:.6px}.postmark-spoke{stroke:var(--color-stamp-ink);stroke-width:.4px}.postmark-arc{font-family:var(--font-display);font-size:10px;font-weight:var(--weight-semibold);fill:var(--color-stamp-ink);letter-spacing:.22em}.postmark-wave{stroke:var(--color-stamp-ink);stroke-width:.9px;stroke-linecap:round;stroke-linejoin:round;transform:translate(-44px)translateY(-8px)}.postmark-year{font-family:var(--font-display);font-size:14px;font-weight:var(--weight-semibold);fill:var(--color-stamp-ink);letter-spacing:.04em}.postmark-date{font-family:var(--font-body);font-size:5.5px;font-weight:var(--weight-regular);fill:var(--color-stamp-ink);letter-spacing:.08em;opacity:.65}.postmark-tick{stroke:var(--color-stamp-ink);stroke-width:1px}.postmark-airmail{pointer-events:none;opacity:.42;width:13rem;height:5.6rem;position:absolute;top:52%;left:50%;transform:rotate(-10deg)}.airmail-outer{fill:none;stroke:var(--color-stamp-ink);stroke-width:1.8px}.airmail-inner{fill:none;stroke:var(--color-stamp-ink);stroke-width:.8px}.airmail-wing{fill:none;stroke:var(--color-stamp-ink);stroke-width:.8px;stroke-linecap:round;stroke-linejoin:round}.airmail-wing-spine{stroke:var(--color-stamp-ink);stroke-width:.5px;stroke-linecap:round}.airmail-label{font-family:var(--font-display);font-size:12px;font-weight:var(--weight-semibold);fill:var(--color-stamp-ink);letter-spacing:.12em;font-style:italic}.airmail-sub{font-family:var(--font-body);font-size:8px;font-weight:var(--weight-regular);fill:var(--color-stamp-ink);letter-spacing:.18em}.postmark-sydney{pointer-events:none;opacity:.38;width:10.4rem;height:10.4rem;position:absolute;bottom:3rem;left:1.7rem;transform:rotate(5deg)}.postmark-arc-sydney-top{font-family:var(--font-display);font-size:10px;font-weight:var(--weight-semibold);fill:var(--color-stamp-ink);letter-spacing:.22em}.postmark-arc-sydney-bot{font-family:var(--font-display);font-size:8px;font-weight:var(--weight-regular);fill:var(--color-stamp-ink);letter-spacing:.1em}.postmark-sydney-date{font-family:var(--font-display);font-size:11px;font-weight:var(--weight-regular);fill:var(--color-stamp-ink);letter-spacing:.06em}@media (width<=1024px){.anchor-stack{gap:var(--space-12);min-height:auto;padding:var(--space-10) var(--space-4);grid-template-columns:1fr}.anchor-stack .stamp-card{max-width:var(--stamp-card-width);transition:transform var(--transition-fast) ease, opacity var(--transition-fast) ease;grid-area:auto;margin-left:auto;margin-right:auto;position:relative;opacity:1!important;width:100%!important;height:auto!important;min-height:auto!important;animation:none!important;transform:none!important}.anchor-stack .stamp-card:hover{z-index:1!important;transform:translateY(-.4rem)!important}.anchor-stack:hover .stamp-card{transform:none!important}.stamp-visible .anchor-card{animation:none!important}}.postmark-express{pointer-events:none;opacity:.58;width:14rem;height:9.5rem;filter:drop-shadow(0 .4px .8px var(--color-shadow-subtle));position:absolute;bottom:3.2rem;right:-3.5rem;overflow:visible;transform:rotate(-6deg)}.express-ring-outer{fill:none;stroke:var(--color-stamp-ink);stroke-width:1.6px}.express-ring-inner{fill:none;stroke:var(--color-stamp-ink);stroke-width:.9px}.express-arc-top{font-family:var(--font-display);font-size:6.5px;font-weight:var(--weight-semibold);fill:var(--color-stamp-ink);letter-spacing:.16em}.express-icon-line{stroke:var(--color-stamp-ink);stroke-width:.5px;stroke-linecap:round}.express-icon-circle{fill:none;stroke:var(--color-stamp-ink);stroke-width:.5px}.express-date-main{font-family:var(--font-display);font-size:7px;font-weight:var(--weight-bold);fill:var(--color-stamp-ink);letter-spacing:.1em;dominant-baseline:central}.express-date-sub{font-family:var(--font-display);font-size:5px;font-weight:var(--weight-semibold);fill:var(--color-stamp-ink);letter-spacing:.18em;dominant-baseline:central}.express-arc-bot{font-family:var(--font-display);font-size:4.1px;font-weight:var(--weight-regular);fill:var(--color-stamp-ink);letter-spacing:.12em;opacity:.8}.express-leaf{fill:none;stroke:var(--color-stamp-ink);stroke-width:.8px}.express-leaf-vein{fill:none;stroke:var(--color-stamp-ink);stroke-width:.4px}.stamp-stack-backdrop{background:var(--color-backdrop);-webkit-backdrop-filter:blur(10px);z-index:80;opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.25,1,.5,1);position:fixed;inset:0}.anchor-stack.has-active .stamp-stack-backdrop{opacity:1;pointer-events:auto}.timeline-section{margin-top:var(--space-20);margin-bottom:var(--space-8);padding-top:var(--space-10);position:relative}.timeline-header-wrap{max-width:68rem;margin:0 auto var(--space-10) auto;border-bottom:1.5px solid var(--border-light);padding-bottom:var(--space-4);justify-content:space-between;align-items:baseline;display:flex}.timeline-section-title{font-family:var(--font-display);font-size:var(--text-h2);font-weight:var(--weight-black);color:var(--color-primary);letter-spacing:var(--tracking-wide);margin:0;position:relative}.timeline-section-title .title-en{font-family:var(--font-display);font-style:italic;font-weight:var(--weight-light);color:var(--color-text-muted);font-size:var(--text-h3);margin-left:var(--space-2)}.timeline-global-toggle-btn{font-family:var(--font-mono);color:var(--color-primary);opacity:.52;cursor:pointer;letter-spacing:.08em;padding:var(--space-2) var(--space-3);transition:opacity var(--transition-base), color var(--transition-base);background:0 0;border:none;font-size:1.05rem}.timeline-global-toggle-btn:hover{opacity:1;color:var(--color-accent)}.timeline-container{max-width:68rem;padding:var(--space-6) 0;margin:0 auto;position:relative}.timeline-line-outer{border-left:1.2px dotted color-mix(in srgb, var(--color-stamp-ink) 28%, transparent);width:1px;position:absolute;top:0;bottom:0;left:12rem}.timeline-line-inner{background:var(--color-stamp-ink);width:1.2px;height:0%;transition:height .15s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:-1.2px}.timeline-item{margin-bottom:var(--space-16);opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);display:flex;position:relative;transform:translateY(1.6rem)}.timeline-item.is-visible{opacity:1;transform:translateY(0)}.year-watermark{font-family:var(--font-display);font-size:10.8rem;font-weight:var(--weight-black);color:color-mix(in srgb, var(--color-primary) 3.8%, transparent);pointer-events:none;z-index:0;letter-spacing:-.04em;-webkit-user-select:none;user-select:none;line-height:1;position:absolute;top:-4.5rem;right:0}.timeline-time-col{width:12rem;padding-right:var(--space-8);z-index:1;flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex;position:relative}.timeline-date{font-family:var(--font-display);font-size:1.35rem;font-weight:var(--weight-semibold);color:var(--color-primary);margin-bottom:var(--space-3);letter-spacing:var(--tracking-normal)}.timeline-stamp-wrapper{z-index:2;opacity:0;filter:blur(2px);justify-content:center;align-items:center;width:6.8rem;height:6.8rem;margin-right:-3.4rem;transition:opacity .4s .1s;display:flex;position:relative;transform:scale(1.5)translateY(-3.5rem)rotate(-40deg)}.timeline-item.is-visible .timeline-stamp-wrapper{opacity:.9;filter:blur();animation:1s cubic-bezier(.16,1,.3,1) .55s both feather-stamp-drift;transform:scale(1)translateY(0)}@keyframes feather-stamp-drift{0%{filter:blur(3px);transform:scale(1.6)translateY(-4.5rem)translate(-2.5rem)rotate(-55deg)}35%{filter:blur(1.5px);transform:scale(1.25)translateY(-2rem)translate(1rem)rotate(20deg)}65%{transform:scale(1.1)translateY(-.8rem)translate(-1.2rem)rotate(-15deg)}85%{transform:scale(1.03)translateY(.2rem)translate(.4rem)rotate(5deg)}to{filter:blur();transform:scale(1)translateY(0)translate(0)rotate(12deg)}}.timeline-feather-icon-wrap{justify-content:center;align-items:center;width:5.6rem;height:5.6rem;display:flex;position:relative}.timeline-feather-img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%}[data-theme=deep] .timeline-feather-img{mix-blend-mode:screen;filter:invert()brightness(1.2)contrast(1.1)}.stamp-particle{background:radial-gradient(circle, var(--color-accent) 0%, transparent 100%);opacity:0;pointer-events:none;z-index:3;border-radius:50%;width:3px;height:3px;position:absolute}.timeline-item.is-visible .stamp-particle{animation:.8s cubic-bezier(.16,1,.3,1) 1.2s both dust-scatter}.timeline-item.is-visible .stamp-particle.p1{--dx:-1.5rem;--dy:-1.3rem}.timeline-item.is-visible .stamp-particle.p2{--dx:1.7rem;--dy:-1.5rem}.timeline-item.is-visible .stamp-particle.p3{--dx:-1.3rem;--dy:1.3rem}.timeline-item.is-visible .stamp-particle.p4{--dx:1.5rem;--dy:1rem}@keyframes dust-scatter{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(.2);opacity:0}}.timeline-content-card{padding:var(--space-5) var(--space-6);border-left:1px solid color-mix(in srgb, var(--color-primary) 10%, transparent);z-index:1;filter:blur(.5px);border-radius:var(--radius-sm);background:0 0;flex:1;margin-left:2rem;transition:border-color .8s,transform .8s cubic-bezier(.16,1,.3,1),filter .8s,background .5s,box-shadow .5s;position:relative;transform:translate(.8rem)}.timeline-item.is-visible .timeline-content-card{border-color:color-mix(in srgb, var(--color-primary) 22%, transparent);filter:blur();transform:translate(0)}.timeline-item-title{font-family:var(--font-display);font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--color-text-sub);margin:0 0 var(--space-3) 0;transition:color .5s}.timeline-item.is-visible .timeline-item-title{color:var(--color-primary)}.timeline-item-desc{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--color-text-sub);text-align:justify;margin:0}.timeline-summary-wrapper{opacity:1;max-height:200px;transition:max-height .45s cubic-bezier(.16,1,.3,1),opacity .35s,margin-bottom .45s;overflow:hidden}.timeline-summary-wrapper.is-hidden{pointer-events:none;opacity:0!important;max-height:0!important;margin-bottom:0!important}.timeline-full-wrapper{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.16,1,.3,1),opacity .4s;display:grid;overflow:hidden}.timeline-full-wrapper.is-visible{opacity:1;grid-template-rows:1fr}.timeline-full-inner{min-height:0;overflow:hidden}.timeline-para{margin-bottom:var(--space-4)!important}.timeline-para:last-child{margin-bottom:0!important}.timeline-item-toggle-btn{font-family:var(--font-mono);color:var(--color-accent);cursor:pointer;padding:var(--space-1) 0;margin-top:var(--space-3);letter-spacing:.05em;transition:color var(--transition-base), transform var(--transition-base);background:0 0;border:none;align-items:center;font-size:1.05rem;display:inline-flex}.timeline-item-toggle-btn:hover{color:var(--color-primary);transform:translate(3px)}.timeline-item.type-milestone .timeline-content-card{border-left-width:1.5px;border-left-color:color-mix(in srgb, var(--color-accent) 60%, transparent)}.timeline-item.type-milestone.is-expanded .timeline-content-card{background:linear-gradient(135deg, color-mix(in srgb, var(--color-bg-card) 96%, var(--color-accent)) 0%, var(--color-bg-card) 100%);box-shadow:0 12px 30px var(--color-shadow-dim)}.timeline-item.type-milestone .timeline-item-title:after{content:"✦";color:var(--color-accent);margin-left:var(--space-2);vertical-align:middle;font-size:1.05rem;display:inline-block}.timeline-item.type-break .timeline-stamp-svg .stamp-circle{stroke-dasharray:2 2;opacity:.6}.timeline-item.type-break .timeline-content-card{background:repeating-linear-gradient(45deg, transparent, transparent 10px, color-mix(in srgb, var(--color-text-muted) 3.5%, transparent) 10px, color-mix(in srgb, var(--color-text-muted) 3.5%, transparent) 20px);opacity:.88;border-left-style:dashed}.timeline-item.type-break .timeline-item-desc{font-family:var(--font-display);font-style:italic;font-weight:var(--weight-regular);color:var(--color-text-muted);font-size:1.55rem;line-height:var(--leading-relaxed)}.home-cta{margin:var(--space-20) auto var(--space-20);text-align:center;padding:var(--space-10) 0 var(--space-10);border-top:var(--border-light);position:relative}.cta-title{font-family:var(--font-display);font-size:2.8rem;font-style:italic;font-weight:var(--weight-light);color:var(--color-text-sub);opacity:.65;margin-bottom:var(--space-8);letter-spacing:var(--tracking-tight)}.cta-actions{justify-content:center;gap:var(--space-12);margin-top:var(--space-8);display:flex}.cta-link{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-primary);text-transform:uppercase;letter-spacing:var(--tracking-label);padding:var(--space-1) 0;align-items:center;gap:var(--space-1);transition:color var(--transition-fast), transform var(--transition-fast);display:inline-flex;position:relative;transform:translateY(0)}.cta-link:after{content:"";background:linear-gradient(90deg, transparent, var(--color-accent) 50%, transparent);transform-origin:50%;width:100%;height:1px;transition:transform .45s cubic-bezier(.25,.46,.45,.94);position:absolute;bottom:-1px;left:0;transform:scaleX(0)}.cta-link:hover{color:var(--color-accent);transform:translateY(-1px)}.cta-link:hover:after{transform:scaleX(1)}.cta-link .arrow{transition:transform .35s cubic-bezier(.175,.885,.32,1.275);display:inline-block}.cta-link:hover .arrow{transform:translate(4px)scale(1.08)}.cta-link.btn-contact:hover .arrow{transform:translate(3px,-3px)scale(1.08)}@media (width<=768px){.hero-title{padding:0 var(--space-4);font-size:clamp(2.6rem,7.5vw,3.8rem);line-height:1.25}.hero-sub{font-size:var(--text-sm);margin-top:var(--space-6);padding:0 var(--space-6);max-width:34rem}.hero-sign{left:50%;bottom:var(--space-8);font-size:var(--text-h2);transform:translate(-50%)}.anchor-stack{gap:var(--space-8);padding:var(--space-10) 0;min-height:auto}.anchor-stack .stamp-card{width:90%!important;max-width:32rem!important;height:auto!important;padding:var(--space-6) var(--space-4)!important}.anchor-tags-scatter,.anchor-spacer{height:auto!important;min-height:auto!important;margin-top:var(--space-4)!important}.anchor-tags-scatter{gap:var(--space-2);flex-wrap:wrap;display:flex;position:relative}.tech-tag-scatter{opacity:1!important;font-size:var(--text-3xs)!important;padding:var(--space-1) var(--space-3)!important;position:static!important;transform:none!important}.timeline-line-outer{left:var(--space-5)}.timeline-item{padding-left:var(--space-10);margin-bottom:var(--space-12);flex-direction:column;align-items:flex-start}.timeline-time-col{width:auto;margin-bottom:var(--space-2);align-items:flex-start;padding-right:0}.timeline-stamp-wrapper{left:calc(var(--space-5) - 2rem);margin-right:0;position:absolute;top:.1rem}.timeline-content-card{border-left:none;margin-left:0;padding-left:0;filter:none!important;transform:none!important}.year-watermark{font-size:7.2rem;top:-3.5rem}.cta-title{font-size:var(--text-h2);padding:0 var(--space-4)}.cta-actions{align-items:center;gap:var(--space-5);flex-direction:column}}.page-projects-carousel{--carousel-radius:585px;--carousel-center-y:520px;--focus-center-y:57vh;--card-w:180px;--card-h:270px;--card-left:calc(-.5 * var(--card-w));--card-top:calc(-.5 * var(--card-h));background:var(--color-bg);width:100%;max-width:100vw;min-height:100vh;display:block;position:relative;overflow:hidden}@media (height>=900px){.page-projects-carousel{--carousel-radius:680px;--carousel-center-y:615px;--card-w:210px;--card-h:315px}}@media (width<=768px){.page-projects-carousel{--carousel-radius:240px;--carousel-center-y:230px;--focus-center-y:160px;--card-w:110px;--card-h:165px}}.carousel-bg-watermark{font-family:var(--font-display);text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 3%, transparent);letter-spacing:.08em;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:1;font-size:clamp(6rem,9vw,12rem);font-weight:900;position:absolute;top:8vh;left:50%;transform:translate(-50%)}.carousel-side-text{left:var(--space-8);transform-origin:0;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);color:var(--color-text-muted);opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;position:absolute;top:50%;transform:translateY(-50%)rotate(-90deg)}.carousel-wrapper{z-index:3;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:1200px;height:100%;max-height:100vh;margin:0 auto;padding-top:80px;display:flex;position:relative}.projects-arch-viewport{pointer-events:auto;z-index:5;width:100%;height:400px;position:relative;overflow:visible}.projects-arch-track{left:50%;top:var(--carousel-center-y);width:0;height:0;transform-style:preserve-3d;pointer-events:auto;transition:transform .8s cubic-bezier(.16,1,.3,1);animation:60s linear infinite rotate-carousel;position:absolute}.projects-arch-track.paused{animation-play-state:paused}@keyframes rotate-carousel{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.projects-arch-blur-overlay{background:linear-gradient(to top, var(--color-bg) 0%, color-mix(in srgb, var(--color-bg) 96%, transparent) 25%, color-mix(in srgb, var(--color-bg) 70%, transparent) 55%, color-mix(in srgb, var(--color-bg) 30%, transparent) 80%, transparent 100%);pointer-events:none;z-index:20;height:160px;position:absolute;bottom:0;left:0;right:0}.arch-card{left:var(--card-left);top:var(--card-top);width:var(--card-w);height:var(--card-h);cursor:pointer;perspective:1000px;pointer-events:auto;transition:opacity .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);position:absolute}.arch-card-inner{background:var(--color-bg-card);border:1px solid color-mix(in srgb, var(--color-text) 10%, transparent);border-radius:var(--radius-md);-webkit-box-reflect:below 16px linear-gradient(to bottom, transparent 60%, #ffffff14 100%);width:100%;height:100%;transform-style:preserve-3d;position:relative;overflow:hidden;box-shadow:0 12px 30px #00000026,inset 0 1px #ffffff1a}.arch-card-image{object-fit:cover;filter:grayscale(.85)sepia(.15)contrast(1.02)brightness(.95);opacity:.85;width:100%;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .6s cubic-bezier(.16,1,.3,1),opacity .6s cubic-bezier(.16,1,.3,1);display:block}.arch-card:hover .arch-card-image,.arch-card.active .arch-card-image{filter:grayscale(0)sepia(0)contrast()brightness();opacity:1;transform:scale(1.06)}.projects-arch-track:has(.arch-card:hover) .arch-card:not(:hover):not(.active) .arch-card-image{filter:grayscale(.95)sepia(.2)contrast(.9)brightness(.75);opacity:.35}.arch-card-placeholder-bg{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 15%, var(--color-bg-card)) 0%, color-mix(in srgb, var(--color-accent) 15%, var(--color-bg-card)) 100%);z-index:-1;width:100%;height:100%;position:absolute;top:0;left:0}.arch-card-shine{pointer-events:none;z-index:2;opacity:.6;background:linear-gradient(115deg,#fff0 0% 38%,#ffffff40 48%,#ffffff73 50%,#ffffff40 52%,#fff0 62% 100%),linear-gradient(115deg,#fff0 0%,#ffffff05 40%,#f0ebdc0f 50%,#ffffff05 60%,#fff0 100%);transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .9s;position:absolute;inset:-50%;transform:translate(-15%,-15%)rotate(-25deg)}.arch-card:hover .arch-card-shine{opacity:1;transform:translate(15%,15%)rotate(-25deg)}.arch-card-inner:after{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;z-index:5;opacity:.3;background:linear-gradient(135deg,#fff6 0%,#ffffff0d 40%,#fff0 60%,#ffffff26 100%);padding:1px;transition:opacity .8s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.arch-card:hover .arch-card-inner:after,.arch-card.active .arch-card-inner:after{opacity:.85}.arch-card-badge{top:var(--space-3);left:var(--space-4);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-bold);color:var(--color-text);background:color-mix(in srgb, var(--color-bg-card) 75%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid color-mix(in srgb, var(--color-text) 8%, transparent);padding:2px var(--space-2);border-radius:var(--radius-xs);letter-spacing:.05em;z-index:3;position:absolute}.arch-card-active-dot{border-radius:var(--radius-full);background:var(--color-text);width:6px;height:6px;box-shadow:0 0 8px var(--color-text);pointer-events:none;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);position:absolute;bottom:-18px;left:50%;transform:translate(-50%)scale(0)}.arch-card-active-dot.visible{transform:translate(-50%)scale(1)}.arch-focus-center{top:var(--focus-center-y);text-align:center;z-index:25;pointer-events:none;flex-direction:column;align-items:center;width:100%;max-width:520px;display:flex;position:absolute;left:50%;transform:translate(-50%,-50%)}.focus-avatar-ring{border-radius:var(--radius-full);border:1px solid color-mix(in srgb, var(--color-text) 15%, transparent);width:90px;height:90px;box-shadow:0 0 0 4px color-mix(in srgb, var(--color-bg-card) 60%, transparent), 0 8px 24px #0000001a;margin-bottom:var(--space-6);pointer-events:auto;justify-content:center;align-items:center;display:flex;position:relative}.focus-avatar-ring:before{content:"";border-radius:var(--radius-full);border:1.5px dashed var(--color-accent);width:102%;height:102%;animation:45s linear infinite rotate-ring;position:absolute}@keyframes rotate-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.focus-avatar-wrapper{border-radius:var(--radius-full);background:var(--color-bg-card);width:78px;height:78px;position:relative;overflow:hidden}.focus-avatar-img{object-fit:cover;z-index:2;width:100%;height:100%;position:relative}.focus-avatar-placeholder{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 12%, var(--color-bg-card)) 0%, color-mix(in srgb, var(--color-accent) 12%, var(--color-bg-card)) 100%);z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.focus-project-info{flex-direction:column;align-items:center;max-width:520px;animation:.6s cubic-bezier(.16,1,.3,1) fade-in-focus;display:flex}@keyframes fade-in-focus{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.focus-project-date{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-text-muted);letter-spacing:.1em;margin-bottom:var(--space-2)}.focus-project-title{font-family:var(--font-display);font-size:var(--text-h1);color:var(--color-text);margin-bottom:var(--space-3);letter-spacing:.02em;text-transform:uppercase}.focus-project-desc{font-size:var(--text-sm);color:var(--color-text-sub);line-height:var(--leading-relaxed);margin-bottom:var(--space-5)}.focus-project-tags{justify-content:center;gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.focus-tag-badge{padding:2px var(--space-3);font-size:var(--text-2xs);color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-bg-card));border-radius:var(--radius-xs);font-weight:var(--weight-medium);border:1px solid color-mix(in srgb, var(--color-primary) 8%, transparent)}.focus-project-actions{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.btn-focus-demo{background:var(--color-text);color:var(--color-bg);padding:var(--space-3) var(--space-8);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.05em;border-radius:var(--radius-sm);transition:all var(--transition-fast);pointer-events:auto;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 4px 12px #00000014}.btn-focus-demo:hover{background:var(--color-accent);color:var(--color-white);box-shadow:0 6px 18px color-mix(in srgb, var(--color-accent) 30%, transparent);transform:translateY(-2px)}.focus-v2-compare-links{align-items:center;gap:var(--space-2);font-size:var(--text-2xs);color:var(--color-text-muted);display:flex}.focus-v2-compare-links a{color:var(--color-primary);transition:color var(--transition-fast);pointer-events:auto}.focus-v2-compare-links a:hover{color:var(--color-accent)}.focus-v2-compare-links .divider{opacity:.3}@media (width<=768px){.carousel-wrapper{height:auto;min-height:calc(100vh - 120px);padding:var(--space-4) 0;justify-content:center}.carousel-side-text{display:none}.carousel-bg-watermark{font-size:7vw;top:8vh}.projects-arch-viewport{display:none}.arch-focus-center{margin:var(--space-4) auto var(--space-6)!important;padding:0 var(--space-6)!important;pointer-events:auto!important;width:100%!important;max-width:100%!important;position:relative!important;top:auto!important;left:auto!important;transform:none!important}.mobile-carousel-controls{justify-content:center;align-items:center;gap:var(--space-6);margin:var(--space-4) 0 var(--space-6);z-index:5;display:flex}.btn-mobile-arrow{border:1px solid color-mix(in srgb, var(--color-text) 15%, transparent);color:var(--color-text);border-radius:var(--radius-full);width:38px;height:38px;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);pointer-events:auto;background:0 0;outline:none;justify-content:center;align-items:center;display:flex}.btn-mobile-arrow:active{background:color-mix(in srgb, var(--color-text) 8%, transparent);transform:scale(.95)}.mobile-carousel-indicator{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.1em;-webkit-user-select:none;user-select:none}}.mobile-carousel-controls{display:none}.film-strip-viewport{align-items:center;width:100vw;height:660px;margin:-150px -50vw -40px;display:flex;position:relative;left:50%;right:50%;overflow:hidden}.film-strip-container{perspective:800px;perspective-origin:50% 15%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:visible}.film-strip-track{background:color-mix(in srgb, var(--color-primary) 24%, var(--color-bg));border-top:1px solid color-mix(in srgb, var(--color-primary) 28%, transparent);border-bottom:1px solid color-mix(in srgb, var(--color-primary) 28%, transparent);width:103vw;box-shadow:0 10px 30px var(--color-shadow-dim);transform-style:preserve-3d;margin-top:-10px;margin-left:-3vw;margin-right:-19vw;padding:50px 0;display:flex;position:relative;overflow:hidden;transform:rotateX(39deg)rotateY(0)rotate(-10deg)scale(1.1)}.film-strip-track:before,.film-strip-track:after{content:"";background-image:repeating-linear-gradient(90deg, var(--color-bg) 0, var(--color-bg) 10px, transparent 10px, transparent 18px);z-index:5;pointer-events:none;height:10px;position:absolute;left:0;right:0}.film-strip-track:before{top:8px}.film-strip-track:after{bottom:8px}.film-strip-list{will-change:transform;flex-shrink:0;align-items:center;display:flex}.film-cell{flex-shrink:0;justify-content:center;align-items:center;width:234px;height:156px;margin:0 8px;display:flex}.film-cell .postmark,.film-cell .postmark-express,.film-cell .postmark-airmail,.film-cell .postmark-sydney{transition:opacity var(--transition-fast), transform var(--transition-fast);opacity:.6!important;position:static!important;transform:none!important}.film-cell svg:hover{opacity:.95!important;transform:scale(1.08)rotate(3deg)!important}.film-cell .postmark,.film-cell .postmark-sydney{width:117px;height:117px}.film-cell .postmark-express{width:156px;height:114px}.film-cell .postmark-airmail{width:169px;height:72px}.page-project-detail{background-color:var(--color-bg);width:100%;min-height:100vh;color:var(--color-text);position:relative}.detail-hero{text-align:center;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.detail-hero-media-wrapper{z-index:1;width:100%;height:100%;position:absolute;inset:0}.detail-hero-media{object-fit:cover;filter:grayscale(.6)brightness(.62)contrast(1.08);width:100%;height:100%;display:block}.detail-hero-duotone{z-index:2;mix-blend-mode:multiply;pointer-events:none;background:radial-gradient(60% 50% at 50% 40%,#f9f7f447 0%,#f9f7f414 35%,#0000 65%),linear-gradient(175deg,#8b73558c 0%,#a8c4b21f 40%,#8b73556b 70%,#1a1817a6 100%);position:absolute;inset:0}.detail-hero-grain{z-index:3;opacity:.22;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");background-repeat:repeat;background-size:180px 180px;position:absolute;inset:0}.detail-hero-fade-overlay{background:linear-gradient(to bottom, transparent 0%, color-mix(in srgb, var(--color-bg) 20%, transparent) 30%, color-mix(in srgb, var(--color-bg) 60%, transparent) 65%, color-mix(in srgb, var(--color-bg) 92%, transparent) 85%, var(--color-bg) 100%);pointer-events:none;z-index:2;width:100%;height:45vh;position:absolute;bottom:0;left:0}.detail-hero-postmark{top:calc(var(--space-16) + 7.2rem);right:var(--space-10);z-index:12;pointer-events:none;opacity:.55;filter:drop-shadow(0 2px 6px #0000004d);width:12rem;height:auto;transition:opacity .5s;position:absolute;transform:rotate(-15deg)}@media (width<=768px){.detail-hero-postmark{top:calc(var(--space-10) + 7.2rem);right:var(--space-4);opacity:.4;width:9rem}}.detail-hero-content{z-index:10;max-width:800px;padding:var(--space-6);flex-direction:column;align-items:center;animation:1.4s cubic-bezier(.16,1,.3,1) forwards fadeInHeroText;display:flex;position:relative}@keyframes fadeInHeroText{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.detail-hero-date{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent);letter-spacing:.18em;text-transform:uppercase;margin-bottom:var(--space-5);font-weight:var(--weight-medium)}.detail-hero-title{font-family:var(--font-display);font-size:clamp(2.8rem,5.5vw,4.8rem);font-weight:var(--weight-bold);color:var(--color-white);letter-spacing:-.02em;text-shadow:0 4px 24px #00000059;line-height:1.12}.detail-hero-rule{background:var(--color-accent);width:0;height:1px;margin:var(--space-4) 0;animation:.8s cubic-bezier(.16,1,.3,1) .6s forwards ruleExpand}@keyframes ruleExpand{0%{opacity:0;width:0}to{opacity:.6;width:9rem}}.detail-hero-desc{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-light);color:color-mix(in srgb, var(--color-white) 72%, transparent);letter-spacing:.02em;opacity:0;max-width:42rem;line-height:1.7;animation:.9s cubic-bezier(.16,1,.3,1) .8s forwards fadeInDesc}@keyframes fadeInDesc{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.detail-hero-scroll{bottom:var(--space-8);z-index:10;flex-direction:column;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.detail-hero-scroll-arrow{border-right:1.5px solid color-mix(in srgb, var(--color-white) 45%, transparent);border-bottom:1.5px solid color-mix(in srgb, var(--color-white) 45%, transparent);width:22px;height:22px;animation:2.4s ease-in-out infinite scrollArrowDrift;display:block;transform:rotate(45deg)}@keyframes scrollArrowDrift{0%,to{opacity:.35;transform:rotate(45deg)translateY(0)}50%{opacity:.75;transform:rotate(45deg) translateY(var(--space-2))}}@media (prefers-reduced-motion:reduce){.detail-hero-scroll-arrow{opacity:.5;animation:none}.detail-hero-rule{opacity:.6;width:9rem;animation:none}@keyframes fadeInHeroText{0%{opacity:0}to{opacity:1}}@keyframes fadeInDesc{0%{opacity:0}to{opacity:1}}}.detail-layout-container{max-width:1200px;padding:var(--space-8) var(--space-8) var(--space-20);z-index:5;margin:0 auto;position:relative}.detail-grid{gap:var(--space-16);grid-template-columns:26rem 1fr;align-items:start;display:grid}.detail-meta-sidebar{top:calc(var(--space-10) + 7.2rem);position:sticky}.meta-sticky-wrapper{box-shadow:none;background-color:#0000;border:none;flex-direction:column;gap:0;padding:0;display:flex}.meta-section{gap:var(--space-2);border-bottom:1px dashed var(--color-border);padding-bottom:var(--space-5);margin-bottom:var(--space-5);flex-direction:column;display:flex}.meta-section h3{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-text-muted);letter-spacing:.16em;text-transform:uppercase;font-weight:var(--weight-medium)}.meta-value{font-family:var(--font-body);font-size:var(--text-body);color:var(--color-text);font-weight:var(--weight-semibold)}.meta-tags-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.meta-tag-pill{font-family:var(--font-mono);font-size:var(--text-3xs);background-color:color-mix(in srgb, var(--color-accent) 6%, transparent);color:var(--color-accent);border-radius:var(--radius-sm);font-weight:var(--weight-medium);border:none;padding:2px 8px}.meta-actions{gap:var(--space-3);margin-top:var(--space-2);flex-direction:column;display:flex}.btn-meta-action{text-align:center;padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:block;position:relative;overflow:hidden}.primary-action{background-color:var(--color-primary);color:var(--color-bg)}.primary-action:hover{background-color:color-mix(in srgb, var(--color-primary) 90%, var(--color-text));box-shadow:0 8px 24px color-mix(in srgb, var(--color-primary) 22%, transparent);transform:translateY(-2px)}.secondary-action{color:var(--color-text);border:1px solid var(--color-border);background-color:#0000}.secondary-action:hover{background-color:color-mix(in srgb, var(--color-text) 5%, transparent);border-color:var(--color-text);transform:translateY(-2px)}.meta-v2-compare{gap:var(--space-2);width:100%;display:flex}.btn-v2-link{text-align:center;font-family:var(--font-mono);font-size:var(--text-3xs);color:var(--color-text-muted);border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:all var(--transition-base);flex:1;text-decoration:none;display:block}.btn-v2-link:hover{color:var(--color-accent);border-color:var(--color-accent);background-color:color-mix(in srgb, var(--color-accent) 5%, transparent)}.detail-main-story{gap:var(--space-20);flex-direction:column;display:flex}.story-section{gap:var(--space-6);flex-direction:column;display:flex}.story-section-title{font-family:var(--font-display);font-size:2.2rem;font-style:italic;font-weight:var(--weight-semibold);color:var(--color-text);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);letter-spacing:-.01em;transition:color .4s;position:relative}.story-section-title:after{content:"";width:var(--space-8);background-color:var(--color-accent);height:1px;transition:width .8s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-1px;left:0}.story-section:hover .story-section-title:after{width:100%}.story-paragraph{font-family:var(--font-body);color:var(--color-text-sub);letter-spacing:.01em;text-align:justify;-webkit-hyphens:auto;hyphens:auto;font-size:1.55rem;line-height:1.95}.story-paragraph:first-letter{font-family:var(--font-display);font-size:3.4rem;font-weight:var(--weight-bold);color:var(--color-accent);float:left;margin-right:var(--space-2);margin-top:var(--space-1);font-style:italic;line-height:.95}.difficulties-list{gap:var(--space-16);flex-direction:column;display:flex}.difficulty-item{box-shadow:none;background-color:#0000;border:none;border-radius:0;padding:0;position:relative}.diff-item-number{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent);letter-spacing:.1em;margin-bottom:var(--space-2);font-weight:var(--weight-medium);display:block}.diff-item-title{font-family:var(--font-serif);font-size:2rem;font-weight:var(--weight-semibold);color:var(--color-text);margin-bottom:var(--space-5);border-left:3px solid var(--color-accent);padding-left:var(--space-4);line-height:1.25}.diff-item-body{gap:var(--space-6);grid-template-columns:1fr 1fr;display:grid}@media (width<=992px){.diff-item-body{grid-template-columns:1fr}}.diff-block{padding:var(--space-6);border-radius:var(--radius-md);gap:var(--space-3);flex-direction:column;transition:box-shadow .4s,border-color .4s;display:flex}.issue-block{background-color:color-mix(in srgb, var(--color-primary) 4%, transparent);border:1px solid color-mix(in srgb, var(--color-primary) 10%, transparent)}.issue-block:hover{border-color:color-mix(in srgb, var(--color-primary) 22%, transparent);box-shadow:0 4px 16px color-mix(in srgb, var(--color-primary) 8%, transparent)}.issue-block h5{font-family:var(--font-mono);font-size:var(--text-3xs);color:var(--color-primary);letter-spacing:.14em;text-transform:uppercase;font-weight:var(--weight-semibold);margin-bottom:0}.solution-block{background-color:color-mix(in srgb, var(--color-accent) 5%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 12%, transparent)}.solution-block:hover{border-color:color-mix(in srgb, var(--color-accent) 28%, transparent);box-shadow:0 4px 16px color-mix(in srgb, var(--color-accent) 10%, transparent)}.solution-block h5{font-family:var(--font-mono);font-size:var(--text-3xs);color:var(--color-accent);letter-spacing:.14em;text-transform:uppercase;font-weight:var(--weight-semibold);margin-bottom:0}.diff-block p{font-family:var(--font-body);color:var(--color-text-sub);font-size:1.35rem;line-height:1.75}.diff-code-wrapper{background:var(--color-code-bg);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-6) var(--space-6);border:1px solid #ffffff0f;grid-column:span 2;position:relative;overflow-x:auto;box-shadow:0 4px 24px #00000040,inset 0 1px #ffffff08}@media (width<=992px){.diff-code-wrapper{grid-column:unset}}.diff-code-wrapper:before{content:"";opacity:.7;background-color:#0000;background-image:radial-gradient(circle,#ff5f56 3.5px,#0000 4px),radial-gradient(circle,#ffbd2e 3.5px,#0000 4px),radial-gradient(circle,#27c93f 3.5px,#0000 4px);background-position:0 0,14px 0,28px 0;background-repeat:no-repeat;background-size:10px 10px,10px 10px,10px 10px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:40px;height:10px;position:absolute;top:16px;left:18px}.diff-code-wrapper:after{content:"";background:#ffffff0d;width:100%;height:1px;position:absolute;top:42px;left:0}.diff-code-pre{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-code-text);margin:0;line-height:1.7}.diff-code-pre code{white-space:pre;word-spacing:normal;word-break:normal;tab-size:2;font-family:inherit}.detail-bottom-navigation{border-top:1px solid var(--color-border);background-color:var(--color-bg-card);width:100%}.nav-links-wrapper{justify-content:space-between;max-width:1200px;margin:0 auto;display:flex}.nav-nav-link{padding:var(--space-8) var(--space-10);cursor:pointer;transition:background-color var(--transition-normal);background:0 0;border:none;outline:none;flex-direction:column;flex:1;text-decoration:none;display:flex}.nav-nav-link:hover{background-color:color-mix(in srgb, var(--color-accent) 3%, transparent)}.prev-link{text-align:left;align-items:flex-start}.next-link{text-align:right;border-left:1px solid var(--color-border);align-items:flex-end}.nav-label{font-family:var(--font-mono);font-size:var(--text-3xs);color:var(--color-text-muted);letter-spacing:.15em;margin-bottom:var(--space-2)}.nav-title{font-family:var(--font-serif);font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--color-text);align-items:center;transition:transform .4s cubic-bezier(.16,1,.3,1),color .4s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative}.prev-link .nav-title:before{content:"←";opacity:0;color:var(--color-accent);margin-right:6px;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-block;transform:translate(8px)}.prev-link:hover .nav-title:before{opacity:1;transform:translate(0)}.prev-link:hover .nav-title{color:var(--color-accent);transform:translate(-4px)}.next-link .nav-title:after{content:"→";opacity:0;color:var(--color-accent);margin-left:6px;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-block;transform:translate(-8px)}.next-link:hover .nav-title:after{opacity:1;transform:translate(0)}.next-link:hover .nav-title{color:var(--color-accent);transform:translate(4px)}.disabled{pointer-events:none;flex:1}@media (width<=1024px){.detail-grid{gap:var(--space-10);grid-template-columns:1fr}.detail-meta-sidebar{width:100%;position:static}.meta-sticky-wrapper{padding:var(--space-6);gap:var(--space-6)}.detail-hero-title{font-size:clamp(2rem,8vw,3rem)}}@media (width<=768px){.detail-layout-container{padding:var(--space-8) var(--space-5) var(--space-16)}.difficulty-item{padding:var(--space-5)}.nav-links-wrapper{flex-direction:column}.next-link{border-left:none;border-top:1px solid var(--color-border);text-align:left;align-items:flex-start}}.page-projects-carousel .carousel-wrapper{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100vh;max-height:100vh;display:flex;position:relative;overflow:visible}.page-projects-carousel .carousel-wrapper .projects-arch-blur-overlay{background:linear-gradient(to bottom, transparent 0%, color-mix(in srgb, var(--color-bg) 35%, transparent) 45%, color-mix(in srgb, var(--color-bg) 80%, transparent) 80%, var(--color-bg) 100%);z-index:10;pointer-events:none;width:100%;height:160px;position:absolute;bottom:0;left:0}.projects-arch-track.state-stacking{transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.arch-card.state-stacking{transition:transform 1.2s cubic-bezier(.16,1,.3,1),opacity 1.2s cubic-bezier(.16,1,.3,1),filter 1.2s cubic-bezier(.16,1,.3,1)}.focus-avatar-ring.morph-absorbing{animation:1.2s cubic-bezier(.16,1,.3,1) forwards avatarAbsorbPulse}@keyframes avatarAbsorbPulse{0%{transform:scale(1);box-shadow:0 0 #fff3}35%{border-color:var(--color-accent);box-shadow:0 0 35px 12px color-mix(in srgb, var(--color-accent) 25%, transparent);transform:scale(1.08)}to{border-color:var(--color-border);transform:scale(1);box-shadow:0 0 #fff0}}.projects-grid-list-screen{background-color:var(--color-bg);width:100%;min-height:100vh;padding:var(--space-12) 0 var(--space-20);z-index:10;position:relative}.grid-list-container{max-width:1280px;padding:0 var(--space-8);margin:0 auto}.grid-list-header{margin-bottom:var(--space-12);text-align:center}.grid-list-subtitle{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-accent);letter-spacing:.15em;text-transform:uppercase}.grid-list-title{font-family:var(--font-serif);font-size:var(--text-3xl);color:var(--color-text);margin-top:var(--space-2);letter-spacing:.02em;font-style:italic;font-weight:300}.grid-list-divider{background-color:var(--color-border);width:60px;height:1px;margin:var(--space-4) auto 0}.projects-grid{grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:var(--space-8);align-items:stretch;display:grid}.list-project-card{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.projects-grid.state-active-grid .list-project-card{opacity:1;transition-delay:calc(var(--item-idx) * 60ms);transform:translateY(0)}.list-card-inner{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;height:100%;text-decoration:none;transition:all .5s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;box-shadow:0 4px 20px #00000003}.list-card-inner:hover{border-color:var(--color-text);transform:translateY(-6px);box-shadow:0 12px 30px #0000000d}.list-card-media-wrapper{background-color:color-mix(in srgb, var(--color-primary) 5%, transparent);width:100%;height:210px;position:relative;overflow:hidden}.list-card-media{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1);display:block}.list-card-inner:hover .list-card-media{transform:scale(1.06)}.list-card-shine{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:hidden}.list-card-shine:before{content:"";background:linear-gradient(115deg,#fff0 0% 30%,#ffffff38 50%,#fff0 70% 100%);transition:transform;position:absolute;inset:0;transform:translate(-150%)skew(-20deg)}.list-card-inner:hover .list-card-shine:before{transition:transform 1.2s cubic-bezier(.16,1,.3,1);transform:translate(150%)skew(-20deg)}.list-card-shine:after{content:"";-webkit-mask-composite:xor;border-radius:inherit;opacity:.2;background:linear-gradient(135deg,#ffffff59 0%,#fff0 100%);padding:1px;transition:opacity .8s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.list-card-inner:hover .list-card-shine:after{opacity:.85}.list-card-content{padding:var(--space-6);flex-direction:column;flex:1;display:flex}.list-card-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.list-card-badge{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-accent);font-weight:var(--weight-bold)}.list-card-date{font-family:var(--font-mono);font-size:var(--text-3xs);color:var(--color-text-muted)}.list-card-title{font-family:var(--font-serif);font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--color-text);margin-bottom:var(--space-2);transition:color var(--transition-fast)}.list-card-inner:hover .list-card-title{color:var(--color-primary)}.list-card-desc{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-4);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;line-height:1.6;display:-webkit-box;overflow:hidden}.list-card-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.list-card-tag-pill{font-family:var(--font-mono);font-size:var(--text-4xs);color:var(--color-text-muted);border:1px solid var(--color-border);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.projects-grid:has(.list-project-card:hover) .list-project-card:not(:hover){opacity:.35;filter:grayscale(.95)brightness(.75)}.view-toggle-group{margin-top:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-primary) 3%, transparent);z-index:1;align-items:center;width:140px;height:32px;padding:2px;display:inline-flex;position:relative;overflow:hidden}.view-toggle-slider{background-color:var(--color-primary);border-radius:var(--radius-full);z-index:0;width:calc(50% - 2px);transition:transform var(--transition-slow) cubic-bezier(.16, 1, .3, 1);position:absolute;top:2px;bottom:2px;left:2px}.view-toggle-slider.grid{transform:translate(0,0)}.view-toggle-slider.list{transform:translate(100%)}.view-toggle-option{cursor:pointer;height:100%;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;z-index:1;transition:color var(--transition-base);background:0 0;border:none;flex:1;justify-content:center;align-items:center;display:flex}.view-toggle-option:hover{color:var(--color-text)}.view-toggle-option.active{font-weight:var(--weight-bold);color:var(--color-bg)!important}.projects-grid:not(.state-list-view) .list-project-card{filter:drop-shadow(0 4px 12px #00000009);height:440px;transition:filter .5s cubic-bezier(.16,1,.3,1);position:relative}.projects-grid:not(.state-list-view) .list-project-card.featured{grid-column:span 2}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .5s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;transform:translate(0,0)}.projects-grid:not(.state-list-view) .list-project-card:hover{filter:drop-shadow(0 20px 36px #8b73551f)}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover{border-color:var(--color-accent);transform:translateY(-8px)}.projects-grid:not(.state-list-view) .list-project-card .list-card-media-wrapper{z-index:1;width:100%;height:370px;position:absolute;top:0;left:0;right:0}.projects-grid:not(.state-list-view) .list-project-card .list-card-content{z-index:10;padding:0 var(--space-6) 24px;-webkit-backdrop-filter:blur();will-change:background-color, backdrop-filter, padding;background-color:#12100f00;flex-direction:column;justify-content:flex-end;transition:background-color .6s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .6s cubic-bezier(.16,1,.3,1),backdrop-filter .6s cubic-bezier(.16,1,.3,1),padding .6s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;inset:0}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-content{-webkit-backdrop-filter:blur(8px);text-align:left;padding:var(--space-8);background-color:#12100fa6;justify-content:center;align-items:flex-start}.projects-grid:not(.state-list-view) .list-project-card .list-card-title-group{text-align:center;will-change:transform;width:100%;margin-bottom:0;transition:transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(0)}.projects-grid:not(.state-list-view) .list-project-card .list-card-title{font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-semibold);text-transform:none;letter-spacing:.06em;color:var(--color-text);transition:color .4s,font-size .5s cubic-bezier(.16,1,.3,1),font-family .4s}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-title-group{margin-bottom:var(--space-5);text-align:left;transition-delay:40ms;transform:translateY(0)}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-title{color:var(--color-accent);font-family:var(--font-display);font-size:2.1rem;font-style:italic;font-weight:var(--weight-medium);text-transform:none;letter-spacing:.02em}.projects-grid:not(.state-list-view) .list-project-card.featured .list-card-inner:hover .list-card-title{font-size:2.6rem}.projects-grid:not(.state-list-view) .list-project-card .list-card-header,.projects-grid:not(.state-list-view) .list-project-card .list-card-desc,.projects-grid:not(.state-list-view) .list-project-card .list-card-tags{opacity:0;pointer-events:none;will-change:opacity, transform, max-height;max-height:0;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),max-height .5s cubic-bezier(.16,1,.3,1);overflow:hidden;transform:translateY(16px);margin:0!important;padding:0!important}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-header,.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-desc,.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-tags{opacity:.95;pointer-events:auto;transform:translate(0,0)}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-header{justify-content:flex-start;align-items:baseline;gap:var(--space-4);border-bottom:1px solid #c8985a59;flex-direction:row;width:100%;max-height:80px;transition-delay:0s;display:flex;margin-bottom:var(--space-5)!important;padding-bottom:var(--space-3)!important}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-badge{color:var(--color-accent);font-size:3.6rem;font-family:var(--font-display);font-style:italic;font-weight:var(--weight-bold);line-height:1}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-date{color:#f9f7f4bf;font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.14em;font-weight:var(--weight-medium);align-items:center;display:flex}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-date:before{content:"/";margin-right:var(--space-4);color:#c8985a80;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-light)}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-desc{opacity:.92;max-height:150px;color:var(--color-white);font-size:var(--text-body);line-height:1.8;transition-delay:80ms;margin-bottom:var(--space-6)!important}.projects-grid:not(.state-list-view) .list-project-card.featured .list-card-inner:hover .list-card-desc{font-size:1.5rem;transition-delay:80ms}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-tags{opacity:1;gap:var(--space-2);max-height:60px;transition-delay:.12s;display:flex}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-tag-pill{color:var(--color-accent);font-size:var(--text-xs);background:#ffffff1f;border:1px solid #c8985a66;padding:4px 10px}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-title,.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-desc,.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-badge,.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-date,.projects-grid:not(.state-list-view) .list-project-card .list-card-inner:hover .list-card-tag-pill{text-shadow:0 1px 4px #000c,0 2px 10px #00000080}.postmark-badge{top:var(--space-4);right:var(--space-4);z-index:15;pointer-events:none;width:82px;height:82px;transition:transform .6s cubic-bezier(.16,1,.3,1),filter .4s,opacity .4s;position:absolute;transform:rotate(-12deg)}.list-card-inner:hover .postmark-badge{filter:drop-shadow(0 4px 12px #c8985a4d);transform:rotate(-3deg)scale(1.08)}.postmark-svg{width:100%;height:100%;overflow:visible}.postmark-svg path{stroke:currentColor;stroke-width:.8px;stroke-dasharray:2 3;opacity:.45}.portfolio-seal .postmark-svg path{color:var(--color-accent)}.featured-seal .postmark-svg path{color:var(--color-primary)}.postmark-text{font-family:var(--font-mono);font-size:8px;font-weight:var(--weight-bold);letter-spacing:.05em;opacity:.8}.portfolio-seal .postmark-text{fill:var(--color-accent)}.featured-seal .postmark-text{fill:var(--color-primary)}.postmark-center{font-family:var(--font-display);font-size:1.1rem;font-weight:var(--weight-semibold);letter-spacing:.05em;opacity:.85;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.portfolio-seal .postmark-center{color:var(--color-accent)}.featured-seal .postmark-center{color:var(--color-primary)}@keyframes border-glow-breath{0%{border-color:#c8985a59;box-shadow:0 4px 20px #00000003,0 0 10px #c8985a26}50%{border-color:#c8985ad9;box-shadow:0 8px 30px #00000005,0 0 20px #c8985a66}to{border-color:#c8985a59;box-shadow:0 4px 20px #00000003,0 0 10px #c8985a26}}.list-project-card.portfolio-special .list-card-inner{animation:4s ease-in-out infinite border-glow-breath;border-color:var(--color-accent)!important}.projects-grid.state-list-view{flex-direction:column;gap:0;display:flex}.projects-grid.state-list-view .list-project-card{border-bottom:1px solid var(--color-border);transition:background-color var(--transition-base), border-color var(--transition-base);transform:none}.projects-grid.state-list-view .list-project-card:hover{background-color:color-mix(in srgb, var(--color-accent) 3%, transparent);border-bottom-color:var(--color-accent)}.projects-grid.state-list-view .list-project-card.featured{grid-column:unset}.projects-grid.state-list-view .list-card-inner{box-shadow:none;padding:var(--space-6) var(--space-2);transition:padding var(--transition-base);background:0 0;border:none;border-radius:0;flex-direction:row;align-items:center}.projects-grid.state-list-view .list-card-inner:hover{padding-left:var(--space-4);padding-right:var(--space-4)}.projects-grid.state-list-view .list-card-media-wrapper{background-color:var(--color-bg-card);border:1px solid var(--color-border);width:150px;min-width:150px;height:100px;box-shadow:var(--shadow-sm);border-radius:var(--radius-md);transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);flex-shrink:0;padding:6px;overflow:hidden}.projects-grid.state-list-view .list-card-inner:hover .list-card-media-wrapper{box-shadow:var(--shadow-md);border-color:var(--color-accent);transform:scale(1.04)translate(4px)}.projects-grid.state-list-view .list-card-media-wrapper .list-card-media{object-fit:cover;border-radius:var(--radius-sm);width:100%;height:100%}.projects-grid.state-list-view .list-card-content{width:calc(100% - 150px);padding:0 var(--space-6) 0 var(--space-8);justify-content:center;gap:var(--space-2);flex-direction:column;display:flex;position:relative;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border:none!important;transform:none!important}.projects-grid.state-list-view .list-card-header{justify-content:flex-start;align-items:center;gap:var(--space-3);flex-direction:row;margin-bottom:0;opacity:1!important;pointer-events:auto!important;border-bottom:none!important;padding-bottom:0!important;display:flex!important;transform:none!important}.projects-grid.state-list-view .list-card-badge{color:var(--color-accent);font-size:var(--text-sm);font-family:var(--font-display);font-style:italic;font-weight:var(--weight-bold);line-height:1}.projects-grid.state-list-view .list-card-date{color:var(--color-text-muted);font-size:var(--text-2xs);font-family:var(--font-mono);letter-spacing:.08em}.projects-grid.state-list-view .list-card-title-group{width:auto;margin-bottom:0;text-align:left!important;transform:none!important}.projects-grid.state-list-view .list-card-title{font-family:var(--font-body);font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--color-text);text-transform:none;letter-spacing:normal;transition:color var(--transition-base)}.projects-grid.state-list-view .list-card-inner:hover .list-card-title{color:var(--color-accent)}.projects-grid.state-list-view .list-card-desc{text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;max-height:40px;font-size:var(--text-xs);color:var(--color-text-sub);-webkit-box-orient:vertical;line-height:1.6;display:-webkit-box;overflow:hidden;opacity:1!important;pointer-events:auto!important;margin-bottom:0!important;transform:none!important}.projects-grid.state-list-view .list-card-tags{gap:var(--space-2);margin-top:var(--space-1);opacity:1!important;pointer-events:auto!important;display:flex!important;transform:none!important}.projects-grid.state-list-view .list-card-tag-pill{background:color-mix(in srgb, var(--color-primary) 5%, transparent);color:var(--color-text-sub);border:1px solid var(--border-light);font-size:var(--text-2xs);border-radius:var(--radius-sm);transition:all var(--transition-base);padding:2px 8px}.projects-grid.state-list-view .list-card-inner:hover .list-card-tag-pill{color:var(--color-accent);background:#fff6;border-color:#c8985a4d}.projects-grid.state-list-view .postmark-badge{opacity:0;pointer-events:none}@media (width<=768px){.projects-grid-list-screen{padding:var(--space-12) 0 var(--space-16)}.projects-grid{gap:var(--space-6);grid-template-columns:1fr}.projects-grid:not(.state-list-view) .list-project-card{flex-direction:column;display:flex;height:auto!important}.projects-grid:not(.state-list-view) .list-project-card.featured{grid-column:span 1!important}.projects-grid:not(.state-list-view) .list-project-card .list-card-inner{height:auto!important}.projects-grid:not(.state-list-view) .list-project-card .list-card-media-wrapper{width:100%!important;height:20rem!important;position:relative!important}.projects-grid:not(.state-list-view) .list-project-card .list-card-content{height:auto!important;padding:var(--space-5) var(--space-4)!important;position:relative!important;inset:auto!important}.projects-grid.state-list-view .list-card-inner{padding:var(--space-4) 0;flex-direction:column}.projects-grid.state-list-view .list-card-media-wrapper{width:100%;min-width:unset;height:180px}.projects-grid.state-list-view .list-card-content{padding:var(--space-4) var(--space-2) 0}}.page-about{position:relative}.page-about .page-inner{max-width:112rem}.about-grid{gap:var(--space-8);margin-top:var(--space-8);margin-bottom:var(--space-16);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=769px){.about-grid{gap:var(--space-8);grid-template-columns:28rem 1fr}}@media (width>=1024px){.about-grid{gap:var(--space-10);grid-template-columns:46rem 1fr}.about-content{padding-left:0;transition:none}.about-sidebar:hover~.about-content{transform:none}}.about-sidebar{z-index:10;position:sticky;top:10rem}.about-sidebar-wrapper{width:100%;position:relative}.about-card-back{display:none}@media (width>=1024px){.about-sidebar-wrapper{perspective:1500px;transform-style:preserve-3d}.about-card-back{z-index:0;background:var(--color-bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);width:28rem;height:100%;box-shadow:inset 0 3px 12px #0000000a, 0 2px 8px var(--color-shadow-dim);pointer-events:none;display:block;position:absolute;inset:0;transform:translateZ(-20px)}}.about-profile-card{z-index:2;background:var(--color-bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:0 10px 30px var(--color-shadow-dim);text-align:center;transition:transform var(--transition-base), box-shadow var(--transition-base);flex-direction:column;align-items:center;display:flex;position:relative}@media (width>=1024px){.about-profile-card{transform-origin:0;width:28rem;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.16,1,.3,1),box-shadow .8s cubic-bezier(.16,1,.3,1)}.about-sidebar-wrapper:hover .about-profile-card{box-shadow:-15px 20px 40px var(--color-shadow-subtle), 0 5px 15px var(--color-shadow-dim);transform:rotateY(-38deg)scale(1.01)}.about-profile-card:hover{transform:rotateY(-38deg)scale(1.01)!important}}.about-profile-card:hover{box-shadow:0 15px 40px var(--color-shadow-subtle);transform:translateY(-4px)}@media (width>=769px) and (width<=1023px){.about-profile-card:hover{opacity:.6!important;z-index:0!important;box-shadow:-15px 20px 40px var(--color-shadow-subtle), 0 5px 15px var(--color-shadow-dim)!important;transform:rotateY(-60deg)scale(1.02)!important}}.about-avatar-ring{border-radius:var(--radius-full);border:1px solid color-mix(in srgb, var(--color-text) 12%, transparent);width:19.2rem;height:19.2rem;box-shadow:0 8px 24px var(--color-shadow-dim);margin-bottom:var(--space-5);transition:transform var(--transition-base), box-shadow var(--transition-base);justify-content:center;align-items:center;display:flex;position:relative}.about-avatar-ring:before{content:"";border-radius:var(--radius-full);border:1.5px dashed var(--color-accent);pointer-events:none;width:104%;height:104%;transition:border-color var(--transition-base), animation-duration var(--transition-base);animation:45s linear infinite rotate-ring;position:absolute}.about-profile-card:hover .about-avatar-ring:before{border-color:var(--color-primary);animation-duration:15s}.about-avatar-container{background:var(--color-bg);width:18rem;height:18rem;box-shadow:inset 0 2px 8px var(--color-shadow-dim);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.about-avatar-container:after{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#fff6,#fff0 60%,#8b735533);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.about-avatar-shine{border-radius:inherit;pointer-events:none;z-index:2;background:linear-gradient(105deg,#0000 30%,#ffffff26 40%,#c8985a1a 45%,#fff3 50%,#0000 60%);transition:transform .8s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translate(-100%)translateY(-100%)rotate(45deg)}.about-profile-card:hover .about-avatar-shine{transform:translate(100%)translateY(100%)rotate(45deg)}.about-avatar{object-fit:cover;filter:grayscale(15%)contrast(102%);width:100%;height:100%;transition:filter var(--transition-base);border-radius:50%}.about-profile-card:hover .about-avatar{filter:grayscale(0%)contrast()}.about-signature{font-family:var(--font-sign);font-size:var(--text-sign);color:var(--color-primary);margin-bottom:var(--space-4);-webkit-user-select:none;user-select:none;cursor:default;justify-content:center;display:flex}.about-signature-char{opacity:0;animation:4s ease-in-out infinite sign-breathe;animation-delay:calc(var(--i) * .25s + .5s);transition:transform .4s,color .4s;display:inline-block}.about-signature:hover .about-signature-char{animation:.8s cubic-bezier(.25,.46,.45,.94) both sign-wave;animation-delay:calc(var(--i) * 45ms)!important}@keyframes sign-wave{0%{color:var(--color-primary);transform:translateY(0)scale(1)}30%{color:var(--color-accent);transform:translateY(-6px)scale(1.15)}70%{transform:translateY(1.5px)scale(.98)}to{color:var(--color-accent);transform:translateY(0)scale(1)}}.about-bio-meta{border-top:1px solid var(--border-light);width:100%;padding-top:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.about-meta-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);font-size:var(--text-xs);font-family:var(--font-body);display:flex}.about-meta-label{color:var(--color-text-muted);flex-shrink:0}.about-meta-value{color:var(--color-text-sub);font-weight:var(--weight-medium);text-align:right;max-width:18rem;line-height:1.5}.about-content{padding-left:var(--space-6)}.about-main-title{font-family:var(--font-display);font-size:5.4rem;font-weight:var(--weight-black);color:var(--color-text);margin-bottom:var(--space-4);letter-spacing:var(--tracking-tight)}.about-manifesto{margin-bottom:var(--space-8);padding:var(--space-5) 0 var(--space-6) 0;border-bottom:1px dashed var(--border-light)}.about-manifesto-quote{font-family:var(--font-display);font-size:2.2rem;font-style:italic;line-height:var(--leading-relaxed);color:var(--color-primary);margin-bottom:var(--space-2)}.about-manifesto-sub{font-size:var(--text-sm);color:var(--color-text-sub);letter-spacing:.05em}.about-sections{gap:var(--space-12);flex-direction:column;display:flex}.about-narrative-section{gap:var(--space-4);padding-left:var(--space-6);border-left:2px solid var(--border-light);transition:border-color var(--transition-base);flex-direction:column;display:flex;position:relative}.about-narrative-section:hover{border-left-color:var(--color-accent)}.about-section-header{align-items:flex-start;gap:var(--space-4);display:flex}.about-section-num{font-family:var(--font-display);color:var(--color-accent);font-size:3.2rem;font-style:italic;line-height:1;font-weight:var(--weight-light);margin-top:-.4rem}.about-section-title-wrap{flex-direction:column;gap:.4rem;display:flex}.about-section-subtitle{letter-spacing:.22em;color:var(--color-primary);font-size:1.05rem;font-weight:var(--weight-semibold)}.about-section-title{font-family:var(--font-body);font-size:var(--text-h2);font-weight:var(--weight-semibold);color:var(--color-text);margin-top:.2rem}.about-section-body{font-size:var(--text-body);color:var(--color-text-sub);text-align:justify;line-height:1.8}.about-skills-shelf{z-index:1;-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);width:26rem;padding:var(--space-6) var(--space-5);filter:drop-shadow(0 4px 10px #0000001f)drop-shadow(0 16px 36px #0000002e);opacity:1;pointer-events:auto;background:linear-gradient(135deg,#1a1817c7 0%,#221f1db8 50%,#1a1817c7 100%);border:1px solid #b894682e;overflow:hidden;box-shadow:inset 0 1px 1px #ffffff0f,inset 0 -1px 2px #00000026;-webkit-mask:radial-gradient(circle at 10px 10px,#0000 5px,#000 5.5px) -10px -10px/20px 20px,linear-gradient(#000,#000) 10px 10px/calc(100% - 20px) calc(100% - 20px) no-repeat;mask:radial-gradient(circle at 10px 10px,#0000 5px,#000 5.5px) -10px -10px/20px 20px,linear-gradient(#000,#000) 10px 10px/calc(100% - 20px) calc(100% - 20px) no-repeat}.about-skills-shelf:after{content:"";border-radius:inherit;background:radial-gradient(350px circle at var(--mouse-x,50%) var(--mouse-y,50%), #d4ae702e 0%, #d4ae700f 35%, #d4ae7000 70%);opacity:0;pointer-events:none;z-index:2;transition:opacity .5s;position:absolute;inset:0}.about-skills-shelf:hover:after{opacity:1}@media (width>=1024px){.about-skills-shelf{transition:transform .8s cubic-bezier(.34,1.56,.64,1),filter .8s cubic-bezier(.16,1,.3,1),background .8s cubic-bezier(.16,1,.3,1),opacity .8s cubic-bezier(.16,1,.3,1);position:absolute;top:1.5rem;left:0;transform:translate3d(10.5rem,-5.5rem,-10px)rotate(8deg)scale(.97)}.about-sidebar-wrapper:hover .about-skills-shelf{filter:drop-shadow(0 6px 15px #0003)drop-shadow(0 22px 52px #0000004d);opacity:1;transform:translate(29.5rem,-.5rem)rotate(0)scale(1.03)}.about-skills-shelf:hover{filter:drop-shadow(0 8px 20px #00000040)drop-shadow(0 30px 65px #00000061);z-index:3!important}.about-skill-tag{opacity:0;transform:translateY(8px)scale(.9)}.about-sidebar-wrapper:hover .about-skill-tag{opacity:1;transition-delay:calc(var(--index,0) * 35ms);transform:translateY(0)scale(1)}}@media (width>=769px) and (width<=1023px){.about-sidebar-wrapper{perspective:1500px;transform-style:preserve-3d;justify-content:center;align-items:flex-start;min-height:44rem;display:flex;position:relative}.about-profile-card{cursor:pointer;transform-origin:100%;z-index:2;width:28rem;max-width:100%;transition:transform .7s cubic-bezier(.34,1.56,.64,1),box-shadow .7s,opacity .5s,z-index .7s step-end}.about-skills-shelf{z-index:1;width:26rem;margin-left:-13rem;transition:transform .7s cubic-bezier(.34,1.56,.64,1),z-index .3s step-end;position:absolute;top:1.5rem;left:50%;transform:rotate(8deg)}.about-sidebar-wrapper:hover .about-profile-card{opacity:.6;z-index:0;box-shadow:-15px 20px 40px var(--color-shadow-subtle), 0 5px 15px var(--color-shadow-dim);transform:rotateY(-60deg)scale(1.02)}.about-sidebar-wrapper:hover .about-skills-shelf{z-index:5;transform:rotate(0)}.about-profile-card:hover{opacity:.6!important;z-index:0!important;box-shadow:-15px 20px 40px var(--color-shadow-subtle), 0 5px 15px var(--color-shadow-dim)!important;transform:rotateY(-60deg)scale(1.02)!important}.about-skill-tag{opacity:1!important;transition-delay:0s!important;transform:translateY(0)scale(1)!important}}.about-skills-shelf-title{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-accent);margin-bottom:var(--space-4);letter-spacing:.1em;text-transform:uppercase;padding-bottom:var(--space-2);border-bottom:1px dashed #b8946833}.about-skills-grid{gap:var(--space-4);flex-direction:column;display:flex}.about-skills-group{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-md);padding:var(--space-4);background:#ffffff0f;border:1px solid #ffffff14;transition:background .4s cubic-bezier(.25,1,.5,1),border-color .4s cubic-bezier(.25,1,.5,1),transform .4s cubic-bezier(.25,1,.5,1),box-shadow .4s cubic-bezier(.25,1,.5,1);box-shadow:inset 0 1px 2px #ffffff0a,0 2px 8px #0000001f}.about-skills-group:hover{background:#ffffff1a;border-color:#b894684d;transform:translateY(-2px);box-shadow:inset 0 1px 3px #ffffff0f,0 6px 15px #0003}.about-skills-group-title{font-size:var(--text-2xs);font-family:var(--font-mono);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-3);letter-spacing:.12em;font-weight:var(--weight-semibold)}.about-skills-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.about-skill-tag{font-size:var(--text-2xs);color:#edebe8d1;background:#ffffff14;border:1px solid #ffffff1a;border-radius:20px;padding:4px 10px;transition:background .3s,color .3s,border-color .3s,transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .4s,box-shadow .3s}.about-skill-tag:hover{color:var(--color-accent);z-index:5;background:#ffffff29;border-color:#d4ae7073;box-shadow:0 4px 12px #0003;transition-delay:0s!important;transform:translateY(-4px)scale(1.08)!important}[data-theme=deep] .about-skills-shelf{filter:drop-shadow(0 4px 12px #00000059)drop-shadow(0 16px 38px #0000008c);background:linear-gradient(135deg,#141211e0 0%,#1a1817d1 50%,#141211e0 100%);border:1px solid #b8946826;box-shadow:inset 0 1px 1px #ffffff0a,inset 0 -1px 2px #0000004d}[data-theme=deep] .about-skills-shelf:after{background:radial-gradient(300px circle at var(--mouse-x,50%) var(--mouse-y,50%), #b8946826 0%, #b894680f 40%, #b8946800 70%)}[data-theme=deep] .about-sidebar-wrapper:hover .about-skills-shelf{filter:drop-shadow(0 6px 15px #0006)drop-shadow(0 22px 52px #0009)}[data-theme=deep] .about-skills-shelf:hover{filter:drop-shadow(0 8px 20px #00000073)drop-shadow(0 30px 65px #000000b3)}[data-theme=deep] .about-skills-group{background:#ffffff0a;border:1px solid #ffffff0d;box-shadow:inset 0 1px 1px #ffffff05,0 2px 8px #0003}[data-theme=deep] .about-skills-group:hover{background:#ffffff14;border-color:#b8946840;box-shadow:inset 0 1px 2px #ffffff0a,0 8px 20px #0000004d}[data-theme=deep] .about-skill-tag{color:#edebe8b3;background:#ffffff0f;border:1px solid #ffffff0f}[data-theme=deep] .about-skill-tag:hover{color:var(--color-accent);background:#ffffff24;border-color:#d4ae7073;box-shadow:0 4px 12px #00000059}.about-daily-journal{margin-top:var(--space-12);border-top:1px dashed var(--border-light);padding-top:var(--space-8)}.journal-shelf-title{font-family:var(--font-body);font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--color-text);margin-bottom:var(--space-8);letter-spacing:var(--tracking-wide)}.journal-grid{gap:var(--space-6);row-gap:var(--space-8);grid-template-columns:1fr;align-items:start;display:grid}.journal-card{-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-light);padding:var(--space-6) var(--space-5) var(--space-5) var(--space-5);transition:transform var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);background:#f4f1ec59;border-radius:4px;position:relative;box-shadow:0 4px 15px #00000003,inset 0 0 30px #fff6}.journal-card:before{content:"";-webkit-backdrop-filter:blur(2.5px);clip-path:polygon(1% 14%,6% 2%,94% 0%,99% 16%,98% 86%,93% 98%,6% 96%,0% 84%);pointer-events:none;width:7.5rem;height:1.8rem;transition:opacity var(--transition-base);background:linear-gradient(135deg,#ffffff26 0%,#ffffff0d 100%),#e4ded46b;border-left:1px dashed #ffffff40;border-right:1px dashed #ffffff40;position:absolute;top:-1rem;left:50%;transform:translate(-50%)rotate(-3deg);box-shadow:0 1px 3px #00000003,inset 0 1px 1px #ffffff8c}@media (width>=1024px){.journal-grid{gap:var(--space-8);flex-direction:column;align-items:stretch;width:100%;display:flex}.card-nature{width:100.5%;margin-left:-1.5%;transform:rotate(-.8deg)}.card-nature:before{left:12%!important;transform:translate(0)rotate(-4deg)!important}.card-mind{width:98.5%;margin-left:1.5%;margin-top:var(--space-2);transform:rotate(.6deg)}.card-mind:before{left:auto!important;right:15%!important;transform:translate(0)rotate(3deg)!important}.card-energy{width:100%;margin-left:-.5%;margin-top:var(--space-2);padding:var(--space-6) var(--space-8) var(--space-6) var(--space-8);transform:rotate(-.5deg)}.card-energy:before{left:25%!important;transform:translate(0)rotate(-3deg)!important}}.card-nature{transform:rotate(-.8deg)}.card-mind{transform:rotate(.6deg)}.card-energy{transform:rotate(-.5deg)}.journal-card:hover{box-shadow:0 15px 35px var(--color-shadow-subtle);z-index:10;background:#f4f1ecbf;transform:rotate(0)scale(1.006)translateY(-2px)!important}@media (width>=1024px){.journal-grid{gap:var(--space-8);flex-direction:column;align-items:stretch;width:100%;display:flex}.card-nature{width:100.5%;margin-left:-1.5%;transform:rotate(-.8deg)}.card-nature:before{left:12%!important;transform:translate(0)rotate(-4deg)!important}.card-mind{width:98.5%;margin-left:1.5%;margin-top:var(--space-2);transform:rotate(.6deg)}.card-mind:before{left:auto!important;right:15%!important;transform:translate(0)rotate(3deg)!important}.card-energy{width:100%;margin-left:-.5%;margin-top:var(--space-2);padding:var(--space-6) var(--space-8) var(--space-6) var(--space-8);transform:rotate(-.5deg)}.card-energy:before{left:25%!important;transform:translate(0)rotate(-3deg)!important}}.journal-card-num{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-3);border-bottom:1px dashed var(--border-light);padding-bottom:var(--space-2);display:block}.journal-card-body{font-size:var(--text-body);line-height:var(--leading-relaxed);letter-spacing:var(--tracking-wide);color:var(--color-text-sub);text-align:justify}[data-theme=deep] .journal-card{background:#201e1d59;box-shadow:0 4px 15px #00000026,inset 0 0 30px #00000026}[data-theme=deep] .journal-card:before{background:#2d2a2880}[data-theme=deep] .journal-card:hover{background:#201e1d99}@media (width<=768px){.about-grid{gap:var(--space-8);grid-template-columns:1fr}.about-sidebar{align-items:center;gap:var(--space-6);flex-direction:column;width:100%;display:flex;position:static}.about-sidebar-wrapper{align-items:center;gap:var(--space-6);flex-direction:column;width:100%;display:flex}.about-profile-card{z-index:1;width:100%;max-width:32rem;position:relative}.about-skills-shelf{z-index:1;width:100%;max-width:32rem;position:relative;-webkit-mask:none;mask:none;transform:none!important}.about-skills-shelf .about-skill-tag{opacity:1!important;transform:translateY(0)scale(1)!important}.about-daily-journal{margin-top:var(--space-10)}.journal-card{transform:rotate(0)!important}.journal-card:before{left:50%!important;transform:translate(-50%)rotate(-3deg)!important}.about-content{padding-left:0}.about-main-title{margin-bottom:var(--space-6);text-align:center;font-size:3.6rem}}.contact-grid{gap:var(--space-12);margin-top:var(--space-8);margin-bottom:var(--space-16);grid-template-columns:1fr 1.2fr;align-items:start;display:grid}.contact-info-panel{gap:var(--space-8);flex-direction:column;display:flex;position:sticky;top:10rem}.contact-info-title{font-family:var(--font-display);font-size:5.6rem;font-weight:var(--weight-black);color:var(--color-text);letter-spacing:var(--tracking-tight);line-height:1.15}.contact-info-title em{font-family:var(--font-display);font-style:italic;font-weight:var(--weight-light);color:var(--color-primary)}.contact-info-subtitle{font-size:var(--text-h3);font-family:var(--font-body);color:var(--color-text-sub);line-height:1.7;font-weight:var(--weight-regular)}.contact-vibe-grid{gap:var(--space-3);margin-top:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.contact-vibe-card{-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);transition:all var(--transition-base);background:#ffffff40;flex-direction:column;gap:.3rem;display:flex}.contact-vibe-card:hover{border-color:color-mix(in srgb, var(--color-accent) 40%, var(--border-light));background:#ffffff8c;transform:translateY(-2px)}.vibe-listening{grid-column:span 2}.vibe-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary);font-size:1rem}.vibe-val{font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--color-text-sub)}[data-theme=deep] .contact-vibe-card{background:#19171673}.contact-channels{gap:var(--space-4);margin-top:var(--space-4);flex-direction:column;display:flex}.contact-channel-card{background:var(--color-bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-4) var(--space-6);transition:all var(--transition-base);justify-content:space-between;align-items:center;text-decoration:none;display:flex}.contact-channel-card:hover{box-shadow:0 8px 24px var(--color-shadow-dim);border-color:var(--color-accent);transform:translateY(-2px)}.contact-channel-left{gap:var(--space-1);flex-direction:column;display:flex}.contact-channel-label{font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:var(--tracking-label);text-transform:uppercase}.contact-channel-val{font-size:var(--text-body);color:var(--color-text);font-weight:var(--weight-medium);transition:color var(--transition-fast);text-decoration:none}.contact-channel-val:hover{color:var(--color-accent)}.btn-copy-email{background:var(--color-bg);border:1px solid var(--border-light);color:var(--color-text-sub);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-2xs);font-family:var(--font-mono);cursor:pointer;transition:all var(--transition-fast);position:relative}.btn-copy-email:hover{background:var(--color-white);border-color:var(--color-accent);color:var(--color-accent)}.copied-bubble{background:var(--color-text);color:var(--color-bg);font-size:var(--text-2xs);border-radius:var(--radius-xs);pointer-events:none;padding:4px 8px;animation:.3s cubic-bezier(.16,1,.3,1) forwards bubble-fade-in;position:absolute;bottom:120%;left:50%;transform:translate(-50%)}@keyframes bubble-fade-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.contact-form-panel{background:var(--color-bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:0 10px 30px var(--color-shadow-dim)}.contact-form-header{margin-bottom:var(--space-8)}.contact-form-title{font-family:var(--font-body);font-size:var(--text-h2);font-weight:var(--weight-semibold);color:var(--color-text);margin-bottom:var(--space-2)}.contact-form-desc{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-body)}.contact-form{gap:var(--space-6);flex-direction:column;display:flex}.form-group{padding-bottom:var(--space-1);margin-bottom:var(--space-8);flex-direction:column-reverse;width:100%;display:flex;position:relative;border-bottom:1px dashed var(--border-light)!important}.form-input{width:100%;padding:var(--space-3) 0 var(--space-2) 0;font-size:var(--text-body);color:var(--color-text);font-family:var(--font-body);outline:none;background:0 0!important;border:none!important}.form-textarea{resize:none;min-height:12rem}.form-label{left:0;bottom:var(--space-3);font-size:var(--text-body);color:var(--color-text-muted);font-family:var(--font-body);pointer-events:none;transform-origin:0 0;transition:transform .35s cubic-bezier(.16,1,.3,1),font-size .35s cubic-bezier(.16,1,.3,1),color .35s cubic-bezier(.16,1,.3,1);position:absolute}.form-group:has(.form-textarea) .form-label{bottom:unset;top:var(--space-3)}.form-input:focus+.form-label,.form-input:not(:placeholder-shown)+.form-label{font-family:var(--font-body);color:var(--color-primary);letter-spacing:var(--tracking-label);font-style:italic;transform:translateY(-2.2rem)scale(.8)}.form-group:after{content:"";background:var(--color-accent);pointer-events:none;width:0;height:1.5px;transition:width .45s cubic-bezier(.16,1,.3,1),left .45s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-1px;left:50%}.form-group:has(.form-input:focus):after{width:100%;left:0}.form-group:has(.form-input:not(:placeholder-shown)):after{width:100%;left:0}.form-group:has(.form-input:invalid:not(:focus):not(:placeholder-shown)){animation:.45s cubic-bezier(.36,.07,.19,.97) both shake-error;border-bottom-style:solid!important;border-bottom-color:var(--color-accent)!important}.form-group:has(.form-input:invalid:not(:focus):not(:placeholder-shown)) .form-label{color:var(--color-accent)!important}@keyframes shake-error{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.btn-submit{background:var(--color-primary);color:var(--color-white);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-3) var(--space-8);font-size:var(--text-xs);font-family:var(--font-body);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;cursor:pointer;transition:all var(--transition-base);align-self:flex-start;align-items:center;gap:var(--space-2);display:inline-flex}.btn-submit:hover{color:var(--color-primary);box-shadow:0 4px 12px var(--color-shadow-dim);background:0 0}.btn-submit:active{transform:scale(.97)}@media (width<=768px){.contact-grid{gap:var(--space-8);grid-template-columns:1fr}.contact-info-panel{text-align:center;align-items:center;position:static}.contact-info-title{font-size:3.6rem}.contact-channels{width:100%;max-width:100%!important}.contact-channel-card{gap:var(--space-2);padding:var(--space-3) var(--space-4)!important}.contact-channel-val{word-break:break-all;font-size:var(--text-sm)!important}.contact-form-panel{padding:var(--space-6)}.btn-submit{justify-content:center;width:100%}}.form-unavailable-notice{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:rgba(var(--color-primary-rgb), .03);border:1px dashed rgba(var(--color-primary-rgb), .18);border-radius:var(--radius-md);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm);transition:border-color var(--transition-base), background-color var(--transition-base);display:flex}.form-unavailable-notice:hover{background:rgba(var(--color-primary-rgb), .05);border-color:rgba(var(--color-primary-rgb), .3)}.form-unavailable-notice .notice-icon{color:var(--color-accent);flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.form-unavailable-notice .notice-icon-svg{width:1.4rem;height:1.4rem;stroke:var(--color-accent)}.form-unavailable-notice p{font-size:var(--text-sm);color:var(--color-text-sub);margin:0;line-height:1.6}.notice-email-link{color:var(--color-accent);font-weight:var(--weight-medium);transition:color var(--transition-fast);padding:0 2px;text-decoration:none;position:relative}.notice-email-link:after{content:"";background-color:var(--color-accent);transform-origin:100% 100%;width:100%;height:1px;transition:transform .25s ease-out;position:absolute;bottom:-1px;left:0;transform:scaleX(0)}.notice-email-link:hover{color:var(--color-primary)}.notice-email-link:hover:after{transform-origin:0 100%;background-color:var(--color-primary);transform:scaleX(1)}.form-preview-hint{font-size:var(--text-3xs);color:var(--color-text-muted);text-align:center;margin:var(--space-4) 0 0;letter-spacing:var(--tracking-wide);opacity:.85;font-style:italic}.form-success-state{text-align:center;height:100%;padding:var(--space-12) 0;flex-direction:column;justify-content:center;align-items:center;display:flex}.success-icon{color:var(--color-accent);margin-bottom:var(--space-4);font-size:4.8rem;line-height:1}.success-title{font-family:var(--font-serif);font-size:var(--text-h2);color:var(--color-text);margin-bottom:var(--space-3);font-weight:var(--weight-medium)}.success-desc{font-size:var(--text-sm);color:var(--color-text-sub);line-height:var(--leading-body);max-width:380px;margin:0 auto var(--space-8)}.btn-open-link{text-align:center;text-decoration:none;display:inline-block}@keyframes contactFadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.contact-info-panel{animation:.8s cubic-bezier(.16,1,.3,1) both contactFadeInUp}.contact-form-panel{animation:.8s cubic-bezier(.16,1,.3,1) .15s both contactFadeInUp}.contact-status-dot{align-items:flex-start;gap:var(--space-2);font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--color-stamp-ink);letter-spacing:var(--tracking-label);text-transform:uppercase;margin-bottom:var(--space-2);line-height:1.5;display:flex}.status-pulse{background:var(--color-stamp-ink);border-radius:50%;width:6px;height:6px;animation:2.5s infinite pulse-dot;box-shadow:0 0 #7d8b6a66}@keyframes pulse-dot{0%{box-shadow:0 0 #7d8b6acc}70%{box-shadow:0 0 0 6px #7d8b6a00}to{box-shadow:0 0 #7d8b6a00}}.contact-vibe-box{border-top:1px dashed var(--border-light);padding-top:var(--space-6);margin-top:var(--space-6)}.contact-vibe-title{font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:var(--tracking-label);text-transform:uppercase;margin-bottom:var(--space-3);font-weight:var(--weight-semibold)}.contact-vibe-list{gap:var(--space-2);flex-direction:column;display:flex}.contact-vibe-item{font-size:var(--text-xs);color:var(--color-text-sub);align-items:center;gap:var(--space-2);font-family:var(--font-body);display:flex}.vibe-label{color:var(--color-text-muted);font-family:var(--font-mono);font-weight:var(--weight-medium);font-size:var(--text-2xs)}.btn-submit.is-loading{pointer-events:none;position:relative;color:#0000!important}.btn-submit.is-loading:after{content:"";border:2px solid #ffffff40;border-top-color:var(--color-white);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite submit-spin;position:absolute;top:calc(50% - 8px);left:calc(50% - 8px)}@keyframes submit-spin{to{transform:rotate(360deg)}}.postmark-success-container{margin-bottom:var(--space-6);justify-content:center;display:flex}.postmark-success-svg{width:14rem;height:14rem;animation:.45s cubic-bezier(.175,.885,.32,1.25) both stamp-down;transform:scale(.9)rotate(-6deg)}@keyframes stamp-down{0%{opacity:0;transform:scale(2.2)rotate(-20deg)}85%{transform:scale(.85)rotate(-8deg)}to{opacity:.9;transform:scale(.9)rotate(-6deg)}}.form-success-state .btn-submit{margin-top:var(--space-6);align-self:center}.feather-bg-container{z-index:1;pointer-events:none;width:100%;height:100vh;position:fixed;inset:0;overflow:hidden}.feather-item{pointer-events:none;mix-blend-mode:multiply;will-change:transform, opacity;width:15rem;height:15rem;animation:var(--feather-animation,feather-fall-soft) linear infinite;animation-duration:var(--feather-duration,20s);animation-delay:var(--feather-delay,0s);position:absolute;top:-15rem}.feather-img{object-fit:contain;pointer-events:none;width:100%;height:100%}[data-theme=deep] .feather-item{mix-blend-mode:screen;opacity:.65}[data-theme=deep] .feather-img{filter:invert()brightness(1.2)contrast(1.1)}.page-about .page-inner,.page-contact .page-inner{z-index:2;position:relative}@keyframes feather-fall-wild{0%{transform:translateY(-15vh) translateX(0) scale(var(--feather-scale-base,1.2)) rotate(var(--feather-rotate-start,0deg)) rotateY(0deg);filter:blur(2px);opacity:0}12%{opacity:.28}30%{transform:translateY(28vh) translateX(var(--feather-sway-dx,60px)) scale(calc(var(--feather-scale-base) * 1.12)) rotate(calc(var(--feather-rotate-start) + 20deg)) rotateY(20deg);filter:blur();opacity:.38}60%{transform:translateY(60vh) translateX(calc(-1 * var(--feather-sway-dx,60px))) scale(calc(var(--feather-scale-base) * .9)) rotate(calc(var(--feather-rotate-start) - 22deg)) rotateY(-20deg);filter:blur(1.4px);opacity:.24}80%{transform:translateY(88vh) translateX(calc(var(--feather-sway-dx,60px) * .6)) scale(calc(var(--feather-scale-base) * 1.05)) rotate(calc(var(--feather-rotate-start) + 12deg)) rotateY(15deg);filter:blur();opacity:.34}92%{opacity:.28}to{transform:translateY(115vh) translateX(0) scale(var(--feather-scale-base)) rotate(calc(var(--feather-rotate-start) - 8deg)) rotateY(-5deg);filter:blur(2px);opacity:0}}@keyframes feather-fall-soft{0%{transform:translateY(-15vh) translateX(0) scale(var(--feather-scale-base,.9)) rotate(var(--feather-rotate-start,0deg)) rotateY(0deg);filter:blur(1.2px);opacity:0}10%{opacity:.3}25%{transform:translateY(24vh) translateX(var(--feather-sway-dx,35px)) scale(var(--feather-scale-base)) rotate(calc(var(--feather-rotate-start) + 12deg)) rotateY(15deg);filter:blur();opacity:.4}50%{transform:translateY(54vh) translateX(calc(-1 * var(--feather-sway-dx,35px))) scale(var(--feather-scale-base)) rotate(calc(var(--feather-rotate-start) - 14deg)) rotateY(-15deg);filter:blur(.8px);opacity:.26}75%{transform:translateY(80vh) translateX(calc(var(--feather-sway-dx,35px) * .7)) scale(var(--feather-scale-base)) rotate(calc(var(--feather-rotate-start) + 8deg)) rotateY(10deg);filter:blur();opacity:.36}90%{opacity:.3}to{transform:translateY(115vh) translateX(0) scale(var(--feather-scale-base)) rotate(calc(var(--feather-rotate-start) - 4deg)) rotateY(-4deg);filter:blur(1.2px);opacity:0}}@keyframes feather-fall-steady{0%{transform:translateY(-15vh) translateX(0) scale(var(--feather-scale-base,.6)) rotate(var(--feather-rotate-start,0deg)) rotateY(0deg);filter:blur(.8px);opacity:0}15%{opacity:.22}45%{transform:translateY(42vh) translateX(var(--feather-sway-dx,15px)) scale(var(--feather-scale-base)) rotate(calc(var(--feather-rotate-start) + 6deg)) rotateY(8deg);filter:blur();opacity:.28}75%{transform:translateY(82vh) translateX(calc(-1 * var(--feather-sway-dx,15px))) scale(var(--feather-scale-base)) rotate(calc(var(--feather-rotate-start) - 6deg)) rotateY(-8deg);filter:blur(.6px);opacity:.28}90%{opacity:.22}to{transform:translateY(115vh) translateX(0) scale(var(--feather-scale-base)) rotate(calc(var(--feather-rotate-start) - 2deg)) rotateY(0deg);filter:blur(.8px);opacity:0}}.page-journey{justify-content:center;align-items:center;min-height:100vh;display:flex}.journey-placeholder-wrap{width:100%;max-width:64rem;padding:var(--space-12) var(--space-6);gap:var(--space-8);text-align:left;flex-direction:column;display:flex}.journey-title{font-family:var(--font-serif);font-size:var(--text-h1);font-weight:var(--weight-bold);color:var(--color-primary);border-bottom:1px solid rgba(var(--color-primary-rgb), .15);padding-bottom:var(--space-4);justify-content:space-between;align-items:baseline;display:flex}.journey-title .title-en{font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-light);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.15em}.journey-placeholder-content{gap:var(--space-6);background:var(--color-bg-card);border:1px solid rgba(var(--color-primary-rgb), .15);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:relative;overflow:hidden}.journey-placeholder-content:before{content:"";width:100%;height:var(--space-1);background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-secondary) 100%);position:absolute;top:0;left:0}.journey-lead{font-family:var(--font-serif);font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--color-primary);line-height:1.6}.journey-sub{font-size:var(--text-body);color:var(--color-text-sub);letter-spacing:.02em;line-height:1.8}.journey-status-tag{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-primary);background:var(--color-bg);border:1px solid rgba(var(--color-primary-rgb), .1);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);margin-top:var(--space-4);align-self:flex-start}
