:root{--bg: #ffffff;--ink: #0c0b09;--ink-soft: rgba(12,11,9,.55);--ink-dim: rgba(12,11,9,.48);--hair: rgba(12,11,9,.1);--nav-h: 64px;--pink: #e0157a;--f-disp: "Outfit", sans-serif;--f-body: "DM Sans", sans-serif;--f-mono: "Courier New", Courier, monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden;width:100%}body{background-color:var(--bg);background-image:linear-gradient(to right,rgba(12,11,9,.018) 1px,transparent 1px),linear-gradient(to bottom,rgba(12,11,9,.018) 1px,transparent 1px);background-size:24px 24px;color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%;position:relative;transition:background-color .4s ease,color .4s ease,background-image .4s ease}body.dark-theme{--bg: #000000;--ink: #faf9f6;--ink-soft: rgba(250, 249, 246, .65);--ink-dim: rgba(250, 249, 246, .48);--hair: rgba(250, 249, 246, .14);background-image:linear-gradient(to right,rgba(250,249,246,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(250,249,246,.06) 1px,transparent 1px)}body.dark-theme #nav.glass{background:#000000bf;border-bottom:1.5px solid rgba(250,249,246,.08)}body.dark-theme .big-footer{background:#0c0b09;border-top:1.5px solid rgba(250,249,246,.08)}body.dark-theme .wavy-frame:before{border-color:#7ec49a!important}body.dark-theme .hero-pill,body.dark-theme .decor-pill{color:var(--ink)!important;border-color:var(--ink)!important}body.dark-theme .sfade-l{background:linear-gradient(to right,#000,#0000)!important}body.dark-theme .sfade-r{background:linear-gradient(to left,#000,#0000)!important}body.dark-theme .clients-marquee:before{background:linear-gradient(to right,#000,#0000)!important}body.dark-theme .clients-marquee:after{background:linear-gradient(to left,#000,#0000)!important}#nav{position:fixed;inset:0 0 auto 0;height:var(--nav-h);z-index:300;display:flex;align-items:center;padding:0 36px;border-bottom:1px solid transparent;transition:background .5s ease,backdrop-filter .5s ease,border-color .5s ease}.nav-logo-saumya{font-family:var(--f-disp);font-weight:900;font-size:24px;letter-spacing:-.06em;color:#e0157a;text-decoration:none;flex-shrink:0;display:inline-flex;align-items:baseline;gap:.5px}.nav-mid{flex:1;display:flex;justify-content:center;gap:40px}.nav-mid a{font-size:12px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);text-decoration:none;opacity:.6;position:relative;transition:opacity .2s}.nav-mid a:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left center;transition:transform .24s ease}.nav-mid a:hover{opacity:1}.nav-mid a:hover:after{transform:scaleX(1)}.nav-mid a.is-current{opacity:1;font-weight:700;color:#e0157a}.nav-mid a.is-current:after{transform:scaleX(1);background:#e0157a}.nav-actions{display:flex;align-items:center;gap:16px;margin-left:auto;flex-shrink:0}.btn-theme{background:none;border:none;cursor:pointer;color:var(--ink);font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;opacity:.7;transition:opacity .2s,transform .45s cubic-bezier(.34,1.56,.64,1);padding:0}.btn-theme:hover{opacity:1;transform:rotate(30deg) scale(1.1)}.btn-plus{display:none;background:none;border:none;cursor:pointer;color:var(--ink);font-size:28px;line-height:1;flex-shrink:0;padding:0;opacity:.7;transition:opacity .2s,transform .45s cubic-bezier(.34,1.56,.64,1)}.btn-plus:hover{opacity:1;transform:rotate(90deg)}.btn-plus.active{opacity:1;transform:rotate(45deg)}.sidebar-l{position:fixed;left:0;top:0;height:100vh;z-index:200;display:flex;align-items:center;pointer-events:none}.sidebar-l .s-inner{font-family:var(--f-mono);font-size:13px;letter-spacing:.2em;color:var(--ink-dim);white-space:nowrap;padding:0 14px;writing-mode:vertical-lr;transform:rotate(180deg)}.page-head{padding:calc(var(--nav-h) + 60px) 80px 40px;max-width:1480px;margin:0 auto}.crumbs{display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;color:var(--ink);font-weight:700;text-transform:uppercase;margin-bottom:28px}.crumbs a{color:var(--ink);text-decoration:none;transition:color .2s;font-weight:700}.crumbs a:hover{opacity:.7}.crumbs .sep{color:var(--ink);font-weight:700;opacity:.7}.crumbs .ink-dim{color:var(--ink);font-weight:700}h1.page-title{font-family:var(--f-disp);font-weight:700;font-size:clamp(48px,9vw,168px);line-height:.9;letter-spacing:-.045em;color:var(--ink)}.page-sub{margin-top:22px;max-width:540px;font-size:clamp(14px,1.05vw,17px);line-height:1.5;color:var(--ink-soft)}.head-meta{margin-top:60px;display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:20px 0}.meta-cell{display:flex;flex-direction:column;gap:6px}.meta-cell .lbl{font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;color:var(--ink);font-weight:700;text-transform:uppercase}.meta-cell .val{font-family:var(--f-disp);font-weight:600;font-size:15px;color:var(--ink)}.filter-bar{max-width:1480px;margin:0 auto;padding:24px 80px;display:flex;gap:6px;flex-wrap:wrap}.filter-pill{font-family:var(--f-disp);font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--hair);padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.filter-pill:hover{border-color:var(--ink)}.filter-pill.active{background:#e0157a;color:#fff;border-color:#e0157a}.filter-count{margin-left:auto;font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;color:var(--ink-dim);text-transform:uppercase;align-self:center}.proj-list{max-width:1480px;margin:0 auto;padding:24px 80px 80px}.row{display:grid;grid-template-columns:1fr 1.15fr;gap:40px 80px;padding:68px 0;border-top:1.5px dashed var(--hair);align-items:center}.row:last-of-type{border-bottom:1.5px dashed var(--hair)}.row-info{display:flex;flex-direction:column;gap:12px}.row-index{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;color:var(--ink);font-weight:700;text-transform:uppercase}.row-title{font-family:var(--f-disp);font-weight:700;font-size:clamp(36px,5.2vw,84px);line-height:.92;letter-spacing:-.04em;color:var(--ink);margin:6px 0 8px}.row-meta{display:flex;gap:10px;flex-wrap:wrap;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:14px}.row-meta span{display:inline-block;border:1.5px dashed var(--hair);border-radius:999px;padding:4px 12px;color:var(--ink);font-weight:700;background:#0c0b0905}.row-cta{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;margin-top:20px;cursor:pointer;border-bottom:1.5px dashed var(--ink);padding-bottom:4px;width:fit-content;transition:all .3s ease}.row-cta:hover{color:var(--pink);border-color:var(--pink);gap:12px}.row-cover{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;cursor:pointer;background:var(--bg);transition:transform .5s cubic-bezier(.25,1,.5,1);box-shadow:0 2px 10px #0c0b090f,0 1px 3px #0c0b090a;border:1px solid var(--hair)}body.dark-theme .row-cover{box-shadow:0 2px 10px #00000040,0 1px 3px #00000026}.row:nth-child(2n) .row-cover{border-radius:0 48px;--rot-hover: -1.2deg}.row:nth-child(odd) .row-cover{border-radius:48px 0;--rot-hover: 1.2deg}.row-cover:hover{transform:translateY(-4px) scale(.99) rotate(var(--rot-hover, 1.2deg))}.row-cover:before{content:attr(data-tag);position:absolute;top:20px;left:20px;font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;color:var(--ink-soft);mix-blend-mode:difference;text-transform:uppercase;z-index:2}footer:not(.big-footer){border-top:1px solid var(--hair);padding:36px 80px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}footer:not(.big-footer) a{color:var(--ink-dim);text-decoration:none;transition:color .2s}footer:not(.big-footer) a:hover{color:var(--ink)}.foot-right{display:flex;gap:22px}.big-footer{background:#0c0b09;color:#fff;padding:64px 80px 44px;position:relative;overflow:hidden;font-family:var(--f-body);font-size:15px;letter-spacing:normal;text-transform:none;border-top:none}.big-footer a{color:#fff;text-decoration:none;transition:color .2s,opacity .2s}.big-footer a:hover{color:#ffffffb8;opacity:1}.foot-headline{font-family:var(--f-disp);font-weight:700;font-size:clamp(34px,5.5vw,88px);letter-spacing:-.04em;line-height:.95;color:#fff;max-width:820px;margin-bottom:30px}.foot-cta{display:inline-flex;align-items:center;gap:6px;color:#fff;font-family:var(--f-body);font-size:17px;font-weight:500;letter-spacing:.01em;margin-bottom:48px;text-decoration:none;border-bottom:1.5px solid rgba(255,255,255,.35);padding-bottom:3px;transition:border-color .2s,opacity .2s}.foot-cta:hover{border-color:#e0157a;opacity:1!important}.garden-wrap{border-top:1px solid rgba(255,255,255,.08);padding-top:40px;margin-bottom:60px}.garden-prompt{display:flex;align-items:center;gap:24px;margin-bottom:28px;flex-wrap:wrap}.garden-btn{display:inline-flex;align-items:center;gap:10px;background:#ffffff12;border:1.5px dashed #e0157a;border-radius:999px;color:#e0157a;font-family:var(--f-body);font-size:14px;padding:10px 22px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.garden-btn:hover{background:#ffffff21;border-color:#e0157a;transform:scale(1.03)}.garden-btn:disabled{opacity:1;background:#e0157a14;border-color:#e0157a;color:#e0157a;cursor:default;transform:none}.garden-btn-glyph{color:#e0157a;font-size:18px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.garden-btn:hover .garden-btn-glyph{transform:rotate(20deg) scale(1.3)}.garden-edit-cta{display:inline-flex;align-items:center;gap:10px;background:#ffffff12;border:1.5px dashed #e0157a;border-radius:999px;color:#e0157a;font-family:var(--f-body);font-size:13px;padding:8px 18px;cursor:pointer;text-transform:none;letter-spacing:normal;transition:background .2s,border-color .2s,transform .2s}.garden-edit-cta:hover{background:#ffffff21;transform:scale(1.03)}.garden-water-cta{display:inline-flex;align-items:center;gap:10px;background:#ffffff12;border:1.5px dashed #42b8ff;border-radius:999px;color:#42b8ff;font-family:var(--f-body);font-size:13px;padding:8px 18px;cursor:pointer;text-transform:none;letter-spacing:normal;transition:background .2s,border-color .2s,transform .2s}.garden-water-cta:hover{background:#ffffff21;transform:scale(1.03)}.garden-water-cta:disabled{opacity:.6;cursor:default}.garden-tooltip-form{display:flex;flex-direction:column;gap:8px;width:170px;text-align:left}.garden-tooltip-input{background:transparent;border:none;border-bottom:1px dashed var(--hair);padding:4px 0;font-family:var(--f-body);font-size:11px;color:var(--ink);outline:none;width:100%;text-align:center;transition:border-color .2s}.garden-tooltip-input:focus{border-bottom:1.5px dashed #e0157a}.garden-tooltip-actions{display:flex;justify-content:center;gap:12px;margin-top:4px}.garden-tooltip-btn{background:none;border:none;font-family:var(--f-mono);font-size:9px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;padding:2px 4px;transition:transform .2s,color .2s;color:var(--ink-soft)}.garden-tooltip-btn:hover{transform:translateY(-1px)}.garden-tooltip-btn.save{color:#60e26a}.garden-tooltip-btn.save:hover{color:#1a5c32}.garden-tooltip-btn.cancel{color:#e63946}.garden-tooltip-btn.cancel:hover{color:#b01c27}.garden-bed{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-start;gap:8px;min-height:36px;padding:4px}.garden-flower{font-size:22px;line-height:1;transform:rotate(var(--rot, 0deg));transform-origin:bottom center;-webkit-user-select:none;user-select:none;pointer-events:auto;cursor:pointer;flex-shrink:0;position:relative;z-index:1;transition:z-index .1s}.garden-flower:hover,.garden-flower.tooltip-visible{z-index:50}.garden-flower--new{animation:flower-drop .8s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes flower-drop{0%{opacity:0;transform:translateY(-60px) rotate(var(--rot, 0deg))}60%{transform:translateY(5px) rotate(var(--rot, 0deg))}to{opacity:1;transform:translateY(0) rotate(var(--rot, 0deg))}}.garden-tooltip{position:absolute;bottom:150%;left:50%;transform:translate(calc(-50% + var(--tooltip-offset, 0px))) rotate(var(--tooltip-rot, 0deg)) scale(0);transform-origin:bottom center;background:var(--bg);border:1.5px dashed var(--hair);border-radius:0 12px;padding:10px 14px;width:max-content;min-width:140px;max-width:200px;box-shadow:0 8px 24px #0c0b090f;opacity:0;pointer-events:none;z-index:1000;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s;text-align:center}body.dark-theme .garden-tooltip{box-shadow:0 8px 24px #0006}.garden-flower:hover .garden-tooltip,.garden-flower.tooltip-visible .garden-tooltip{transform:translate(calc(-50% + var(--tooltip-offset, 0px))) rotate(var(--tooltip-rot, -1.5deg)) scale(1);opacity:1;pointer-events:auto}.garden-tooltip-msg{font-family:var(--f-body);font-size:12px;line-height:1.4;color:var(--ink);margin:0 0 6px;font-style:italic;font-weight:500;word-break:break-word}.garden-tooltip-author{font-family:var(--f-mono);font-size:8.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;display:block}.garden-tooltip:after{content:"";position:absolute;top:100%;left:calc(50% - var(--tooltip-offset, 0px));transform:translate(-50%);border-width:5px;border-style:solid;border-color:var(--bg) transparent transparent transparent}.foot-cols{display:grid;grid-template-columns:repeat(3,1fr) 1.5fr;gap:40px;border-top:1px solid rgba(255,255,255,.14);padding-top:44px;margin-bottom:40px}.foot-col-label{font-family:var(--f-body);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#ffffffeb;display:block;margin-bottom:16px}.foot-col-links{display:flex;flex-direction:column;gap:8px}.foot-col-links a{font-size:12px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:#ffffffe6;text-decoration:none;transition:opacity .2s,color .2s;opacity:.85}.foot-col-links a:hover{opacity:1;color:#e0157a}.foot-col-val{display:block;font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:#ffffffe6}.foot-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding-top:24px}.foot-copy,.foot-time{font-family:var(--f-body);font-size:12px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:#ffffffd9}.foot-decor{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1}#overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .48s cubic-bezier(.22,1,.36,1)}#overlay.show{opacity:1;pointer-events:all}.ov-close{position:absolute;top:18px;right:34px;background:none;border:none;color:#fff9;font-size:34px;cursor:pointer;line-height:1;font-family:var(--f-disp);font-weight:300;transition:color .2s,transform .4s cubic-bezier(.34,1.56,.64,1)}.ov-close:hover{color:#fff;transform:rotate(-90deg)}.ov-nav{list-style:none;display:flex;flex-direction:column;align-items:center;gap:4px}.ov-nav a{font-family:var(--f-disp);font-weight:800;font-size:clamp(36px,7.5vw,100px);color:#ffffffc7;text-decoration:none;letter-spacing:-.04em;line-height:1.05;display:block;transition:color .18s,letter-spacing .28s}.ov-nav a:hover{color:#fff;letter-spacing:-.02em}.ov-foot{position:absolute;bottom:34px;display:flex;gap:30px}.ov-foot a{font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:#ffffff59;text-decoration:none;transition:color .18s}.ov-foot a:hover{color:#ffffffbf}.head-decor-wrap{position:relative}.title-mark{display:inline;border-radius:.07em;padding:0 .05em .04em}.decor-star{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1;animation:decor-bob 3s ease-in-out infinite}.decor-pill{position:absolute;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;border:1.5px dashed currentColor;border-radius:999px;padding:5px 14px;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;animation:decor-bob 3.8s ease-in-out infinite;color:#0c0b0966}@keyframes intro-sparkle{0%{opacity:1;transform:translate(var(--tx, 0),var(--ty, 0)) scale(1.3)}60%{opacity:.6}to{opacity:0;transform:translate(var(--tx, 0),calc(var(--ty, 0) - 22px)) scale(.5)}}@keyframes decor-bob{0%,to{transform:translateY(0) rotate(var(--rot, 0deg)) scale(1)}50%{transform:translateY(-6px) rotate(calc(var(--rot, 0deg) + 6deg)) scale(1.08)}}.reveal{opacity:0;transform:translateY(32px) scale(.97);filter:blur(12px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1);will-change:transform,opacity,filter}.reveal.in{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}#hero{height:100vh;position:relative;overflow:hidden}.hero-body{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:120px 80px 100px;text-align:center;z-index:3;gap:24px;pointer-events:none}.hero-body>*{pointer-events:auto}.hero-pill{display:inline-block;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;border:1.5px dashed var(--ink);border-radius:999px;padding:5px 14px;white-space:nowrap;color:var(--ink);font-weight:700;animation:decor-bob 3.8s ease-in-out infinite;animation-delay:.7s}.decor-pill{color:var(--ink)!important;font-weight:700}h1.wm{font-family:var(--f-disp);font-weight:700;font-size:clamp(48px,8.8vw,168px);letter-spacing:-.04em;line-height:.92;color:var(--ink);white-space:nowrap}p.hero-sub{font-size:clamp(13px,1.15vw,18px);font-weight:400;color:var(--ink-soft)}.strip{position:absolute;left:0;right:0;height:48vh;z-index:1;isolation:isolate;overflow:hidden}.strip-a{bottom:0}.strip-track{display:flex;width:max-content;height:100%;animation:strip-scroll 24s linear infinite}.strip-tiles{display:flex;gap:12px;padding:0 6px;height:100%}.tile{width:18vw;min-width:185px;height:100%;flex-shrink:0;transition:opacity .3s cubic-bezier(.25,1,.5,1),transform .3s cubic-bezier(.25,1,.5,1);will-change:opacity,transform}.tile:nth-child(odd){border-radius:0 62px}.tile:nth-child(2n){border-radius:62px 0}@media (hover: hover){.strip:hover .strip-track{animation-play-state:paused}.tile:hover{opacity:.72;transform:scale(.985)}}.sfade{position:absolute;z-index:2;pointer-events:none}.sfade-l{left:0;top:0;bottom:0;width:8%;background:linear-gradient(to right,#fff,#fff0)}.sfade-r{right:0;top:0;bottom:0;width:8%;background:linear-gradient(to left,#fff,#fff0)}@keyframes strip-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}#statement{position:relative;padding:100px 80px 30px}.stmt-content{position:relative;text-align:center}.stmt-text{max-width:860px;margin:0 auto;font-family:var(--f-disp);font-weight:700;font-size:clamp(22px,3.6vw,58px);line-height:1.22;letter-spacing:-.03em;color:var(--ink);text-wrap:pretty}.clients-area{position:relative;padding:40px 0 60px}.clients-marquee{max-width:860px;margin:0 auto;overflow:hidden;position:relative}.clients-marquee:before,.clients-marquee:after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}.clients-marquee:before{left:0;background:linear-gradient(to right,var(--bg) 0%,rgba(255,255,255,0) 100%)}.clients-marquee:after{right:0;background:linear-gradient(to left,var(--bg) 0%,rgba(255,255,255,0) 100%)}.marquee-track{display:flex;width:max-content;animation:marquee-scroll 24s linear infinite}.clients-marquee:hover .marquee-track{animation-play-state:paused}.clients-list{display:flex;align-items:center;gap:80px;padding-right:80px}.client-item{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;letter-spacing:.06em;color:var(--ink-dim);transition:color .25s ease;cursor:default}.client-item .ico{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--ink-dim);transition:transform .45s cubic-bezier(.34,1.56,.64,1),color .3s}.client-item .ico svg{display:block;width:100%;height:100%}.client-item .lbl{transition:color .3s}.client-item:hover{color:var(--ink)}.client-item:hover .ico{color:var(--h-color);transform:rotate(var(--h-rot)) scale(1.15)}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}#projects-wrap{position:relative;z-index:5}#projects{padding:40px 80px 80px;max-width:1480px;margin:0 auto}.proj-head{margin-bottom:40px}h2.proj-title{font-family:var(--f-disp);font-weight:900;font-size:clamp(36px,5.2vw,92px);line-height:.93;letter-spacing:-.04em;color:var(--ink)}.proj-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 32px;align-items:start}@keyframes pcard-mount{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.pcard{text-decoration:none;display:block;cursor:pointer;animation:pcard-mount .5s cubic-bezier(.25,1,.5,1) forwards;transition:transform .5s cubic-bezier(.25,1,.5,1);will-change:transform;transform:rotate(var(--rot, 0deg))}.pcard:nth-child(2n){margin-top:48px}.pcard:hover{transform:scale(.985) rotate(var(--rot-hover, 0deg))}.pcard-cover{width:100%;aspect-ratio:4/3;transition:border-radius .5s cubic-bezier(.25,1,.5,1),transform .5s cubic-bezier(.25,1,.5,1);will-change:border-radius,transform;box-shadow:0 2px 10px #0c0b090f,0 1px 3px #0c0b090a;border:1px solid var(--hair);background:var(--bg)}body.dark-theme .pcard-cover{box-shadow:0 2px 10px #00000040,0 1px 3px #00000026}.pcard:nth-child(odd) .pcard-cover{border-radius:0 64px}.pcard:nth-child(2n) .pcard-cover{border-radius:64px 0}.pcard:hover .pcard-cover{transform:scale(.98)}.pcard:nth-child(odd):hover .pcard-cover{border-radius:36px 64px}.pcard:nth-child(2n):hover .pcard-cover{border-radius:64px 36px}.pcard-info{display:flex;justify-content:space-between;align-items:center;padding:18px 4px 6px}.pcard-name{font-family:var(--f-disp);font-weight:600;font-size:clamp(14px,1.3vw,22px);color:var(--ink)}.pcard-cat{font-family:var(--f-mono);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);display:inline-block;padding:3px 10px;border-radius:999px;border:1.2px dashed var(--hair);transition:all .4s cubic-bezier(.25,1,.5,1);background:transparent}.pcard:hover .pcard-cat{border-color:#e0157a;color:#e0157a;background:#e0157a0a}#ideas-wrap{position:relative;z-index:5}#ideas{padding:80px 80px 100px;max-width:1480px;margin:0 auto}.ideas-head{margin-bottom:56px}.ideas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}.idea-card{position:relative;overflow:hidden;background:var(--bg);border:1.5px dashed var(--hair);padding:40px 32px 36px;display:flex;flex-direction:column;justify-content:flex-start;transition:border-color .4s cubic-bezier(.25,1,.5,1),box-shadow .4s cubic-bezier(.25,1,.5,1),transform .5s cubic-bezier(.175,.885,.32,1.275);will-change:transform,border-color,box-shadow;cursor:default;transform:rotate(var(--rot, 0deg))}.idea-card:nth-child(odd){border-radius:0 48px}.idea-card:nth-child(2n){border-radius:48px 0}.idea-card:hover{border-color:var(--accent);box-shadow:0 16px 40px #0c0b090d;transform:translateY(-8px) rotate(var(--rot-hover, 0deg))}.idea-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.idea-tag{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--accent);text-transform:uppercase;display:inline-block;padding:5px 12px;border-radius:999px;border:1.2px dashed var(--accent);background:var(--tag-bg)}.idea-quote{font-family:var(--f-disp);font-weight:700;font-size:clamp(22px,2vw,28px);line-height:1.2;color:var(--ink);margin:0 0 16px}.idea-desc{font-family:var(--f-body);font-size:14px;line-height:1.6;color:var(--ink-soft);margin:0}.idea-decor-float{position:absolute;bottom:-20px;right:-20px;pointer-events:none;opacity:.05;transition:transform .6s cubic-bezier(.25,1,.5,1)}.idea-card:hover .idea-decor-float svg{transform:scale(1.15) rotate(calc(var(--rot) * -8deg))}@media (max-width: 900px){#ideas{padding:60px 36px 80px}.ideas-grid{grid-template-columns:1fr;gap:24px}}#nav.glass{background:#ffffffd1;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-color:#0c0b0912}#nav.transparent{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent}.contact-wrap{max-width:1480px;margin:0 auto;padding:calc(var(--nav-h) + 60px) 80px 80px}.contact-head{margin-bottom:80px}.contact-body{display:flex;flex-direction:column;gap:64px;align-items:flex-start}.contact-title{font-size:clamp(30px,4.8vw,64px)!important;max-width:860px}.contact-email-block{display:flex;flex-direction:column;gap:14px;align-items:flex-start;margin-top:8px;width:100%}.contact-email-lead{font-family:var(--f-body);font-size:clamp(13px,1.1vw,16px);font-weight:400;color:var(--ink-soft);line-height:1.3}.contact-email-link{font-family:var(--f-disp);font-weight:700;font-size:clamp(17px,1.8vw,24px);color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--hair);padding-bottom:4px;transition:color .35s ease,border-color .35s ease;line-height:1.1;word-break:break-all}.contact-email-link:hover{color:#e0157a;border-color:#e0157a}.contact-form{display:flex;flex-direction:column;gap:32px;width:100%;max-width:720px;margin-top:0}.form-fields{display:flex;flex-direction:column;gap:40px}.form-field{display:flex;flex-direction:column;gap:10px}.form-label{font-family:var(--f-body);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#0c0b09a6;transition:color .3s}.form-field:focus-within .form-label{color:var(--pink)}.form-input{background:none;border:none;border-bottom:1.5px solid var(--hair);padding:10px 0;font-family:var(--f-body);font-size:clamp(16px,1.4vw,22px);color:var(--ink);outline:none;width:100%;resize:none;transition:border-color .3s}.form-input:focus{border-bottom:1.5px solid var(--pink)}.form-textarea{line-height:1.6;border-bottom:none}.form-textarea:focus{border-bottom:none}.btn-send{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:#fff;border:none;border-radius:999px;padding:16px 28px;font-family:var(--f-disp);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background-color .4s,transform .5s cubic-bezier(.175,.885,.32,1.275),gap .2s}.btn-send:hover{background:var(--pink);transform:translateY(-4px) scale(1.02);gap:18px}.btn-arrow{font-size:16px}.form-thanks{font-family:var(--f-mono);font-size:13px;letter-spacing:.1em;color:var(--ink-soft)}.contact-aside{display:flex;flex-direction:row;gap:80px;width:100%;max-width:860px;box-sizing:border-box;margin-top:32px;align-self:start}.aside-block{display:flex;flex-direction:column;gap:10px}.aside-lbl{font-family:var(--f-body);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#0c0b09a6}.aside-val{font-family:var(--f-disp);font-weight:500;font-size:clamp(15px,1.3vw,20px);color:var(--ink)}.aside-link{color:var(--ink);text-decoration:none;transition:opacity .2s}.aside-link:hover{opacity:.5}.aside-links{display:flex;flex-direction:column;gap:6px}.aside-links a{font-family:var(--f-disp);font-weight:500;font-size:clamp(15px,1.3vw,20px);color:var(--ink);text-decoration:none;transition:opacity .2s}.aside-links a:hover{opacity:.5}.about-wrap{max-width:1480px;margin:0 auto;padding:calc(var(--nav-h) + 60px) 80px 0}.about-head{margin-bottom:72px}.about-intro-row{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:center;margin-bottom:80px}.about-collage{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.collage-img{width:100%;display:block;overflow:hidden}.collage-img--tall{aspect-ratio:3/4}.collage-img--short{aspect-ratio:4/5}.collage-img--short img{transform:scale(1.32);transform-origin:center center}.about-collage .curvy-frame{position:relative;overflow:hidden;cursor:pointer;background:var(--bg);border:1.5px dashed var(--hair);box-shadow:0 0 #0000;transition:border-color .4s,box-shadow .4s,transform .5s cubic-bezier(.175,.885,.32,1.275);will-change:transform}.about-collage .curvy-frame:hover{box-shadow:0 16px 40px #0c0b090d;transform:translateY(-12px) rotate(var(--rot-hover, 1.5deg)) scale(1.035);z-index:10}.about-collage .curvy-frame:first-child,.about-collage .curvy-frame:first-child .collage-img{border-radius:0 80px}.about-collage .curvy-frame:first-child{--rot-hover: -2deg}.about-collage .curvy-frame:last-child,.about-collage .curvy-frame:last-child .collage-img{border-radius:80px 0}.about-collage .curvy-frame:last-child{--rot-hover: 1.5deg}.about-collage .collage-item+.collage-item{margin-top:36px}.curvy-frame{position:relative;overflow:hidden;border:1.5px dashed var(--hair);background:var(--bg)}.collage-pill{position:absolute;font-family:var(--f-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--bg);color:var(--ink);border:1.5px dashed var(--pink);border-radius:999px;padding:6px 16px;z-index:12;box-shadow:0 4px 12px #0c0b0914;animation:decor-bob 3.8s ease-in-out infinite;pointer-events:none}.btn-resume{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:#fff;border:none;border-radius:999px;padding:16px 28px;font-family:var(--f-disp);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;align-self:flex-start;margin-top:24px;transition:background-color .4s,transform .5s cubic-bezier(.175,.885,.32,1.275),gap .2s;cursor:pointer}.btn-resume:hover{background:var(--pink);transform:translateY(-4px) scale(1.02)}.about-text{display:flex;flex-direction:column;gap:32px;margin-bottom:0}.about-col{display:flex;flex-direction:column;gap:28px}.about-col p{font-size:clamp(15px,1.15vw,18px);line-height:1.72;color:var(--ink-soft)}.about-credits{display:grid;grid-template-columns:1fr 1fr;gap:52px;padding-top:16px}.about-credits--4col{grid-template-columns:repeat(4,1fr);gap:40px}.credits-col{display:flex;flex-direction:column;gap:12px}.credits-lbl{font-family:var(--f-disp);font-size:clamp(18px,1.8vw,24px);font-weight:700;letter-spacing:-.01em;text-transform:none;color:var(--ink)}.credits-list{list-style:none;display:flex;flex-direction:column;gap:10px}.credits-list li{font-family:var(--f-body);font-size:clamp(14px,1.1vw,17px);color:var(--ink)}.play-wrap{max-width:1480px;margin:0 auto;padding:calc(var(--nav-h) + 60px) 80px 0}.play-head{margin-bottom:64px}.sandbox-canvas{position:relative;overflow:hidden;width:100%;height:400px;border:1.5px dashed var(--hair);border-radius:28px;background:#faf8f5;cursor:default;margin-bottom:24px;-webkit-user-select:none;user-select:none;transition:background-color .3s}.sandbox-canvas.magnet-board{background:#faf9f6;border:1.5px dashed var(--hair)}.sandbox-prompt{display:flex;flex-direction:column;align-items:center;text-align:center;pointer-events:none;z-index:1}.watermark-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.14;z-index:0}.sandbox-title{font-family:var(--f-disp);font-size:clamp(20px,2.2vw,26px);font-weight:700;color:var(--ink);margin-bottom:8px}.sandbox-sub{font-family:var(--f-body);font-size:clamp(12px,1.1vw,14px);font-style:italic;color:var(--ink-soft)}.magnet-word{position:absolute;background:#fff;font-family:var(--f-mono);font-size:12px;font-weight:700;text-transform:uppercase;padding:6px 14px;border:1.5px solid var(--ink);border-radius:6px;box-shadow:2px 2.5px #0c0b0924;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;z-index:10;transition:transform .12s cubic-bezier(.175,.885,.32,1.275),box-shadow .12s ease}.magnet-word:active,.magnet-word.is-dragging{cursor:grabbing;box-shadow:6px 8px 18px #0c0b092e;transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(1.08)!important;z-index:99!important}.magnet-sticker{position:absolute;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;z-index:10;transition:transform .12s cubic-bezier(.175,.885,.32,1.275),filter .12s ease;filter:drop-shadow(2px 2.5px 0px rgba(12,11,9,.14))}.magnet-sticker:active,.magnet-sticker.is-dragging{cursor:grabbing;filter:drop-shadow(6px 8px 18px rgba(12,11,9,.18));transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(1.1)!important;z-index:99!important}.sandbox-controls{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-top:16px;margin-bottom:80px;flex-wrap:wrap}.magnet-toolbox{display:flex;gap:24px;flex-wrap:wrap;flex-grow:1}.toolbox-card{background:#0c0b0904;border:1.5px solid var(--hair);border-radius:20px;padding:16px 20px;display:flex;flex-direction:column;gap:12px;min-width:260px}.toolbox-card-title{font-family:var(--f-disp);font-size:13px;font-weight:700;color:var(--ink)}.drawing-pad-container{display:flex;flex-direction:column;align-items:center;gap:8px}.drawing-canvas{background:#fff;border:1.5px dashed var(--hair);border-radius:12px;cursor:crosshair;touch-action:none}.drawing-buttons{display:flex;gap:6px;width:100%}.btn-drawing-clear{flex:1;font-family:var(--f-disp);font-size:11px;font-weight:600;padding:6px 10px;background:transparent;color:var(--ink-soft);border:1px solid var(--hair);border-radius:8px;cursor:pointer;transition:all .2s}.btn-drawing-clear:hover{border-color:var(--ink);color:var(--ink)}.btn-drawing-drop{flex:2;font-family:var(--f-disp);font-size:11px;font-weight:600;padding:6px 10px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:8px;cursor:pointer;transition:all .2s}.btn-drawing-drop:hover{background:#252422;transform:translateY(-1px)}.magnet-adder{display:flex;align-items:center;gap:8px}.magnet-input{font-family:var(--f-mono);font-size:13px;padding:8px 14px;border:1.5px solid var(--hair);border-radius:12px;background:transparent;color:var(--ink);outline:none;width:160px;transition:border-color .25s,box-shadow .25s}.magnet-input:focus{border-color:var(--ink);box-shadow:0 0 0 3px #0c0b090f}.btn-magnet-add{font-family:var(--f-disp);font-size:13px;font-weight:600;padding:9px 18px;background:var(--ink);color:#fff;border:1.5px solid var(--ink);border-radius:12px;cursor:pointer;transition:transform .2s,background-color .2s}.btn-magnet-add:hover{background:#252422;transform:translateY(-1px)}.btn-magnet-reset{font-family:var(--f-disp);font-size:13px;font-weight:600;padding:9px 18px;background:transparent;color:var(--ink-soft);border:1.5px dashed var(--hair);border-radius:12px;cursor:pointer;align-self:flex-start;transition:border-color .25s,color .25s,transform .2s}.btn-magnet-reset:hover{border-color:#e0157a;color:#e0157a;transform:translateY(-1px)}.magnet-board-section{margin-top:80px;border-top:1.5px dashed var(--hair);padding-top:64px}.play-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 0;margin-bottom:28px;border-top:1.5px solid var(--hair);border-bottom:1.5px solid var(--hair)}.play-bar-count{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.play-bar-range{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;color:var(--ink-dim)}.play-grid{column-count:3;column-gap:36px;padding-bottom:80px}.play-card{break-inside:avoid;display:inline-block;width:100%;margin-bottom:36px;cursor:pointer;position:relative}.play-card--featured{column-span:all}.play-cover{width:100%;display:block;box-sizing:border-box;background:var(--bg);transition:transform .5s cubic-bezier(.25,1,.5,1)}.play-card:nth-child(2n) .play-cover{--rot-hover: -1.2deg}.play-card:nth-child(odd) .play-cover{--rot-hover: 1.2deg}.play-card:hover .play-cover{transform:translateY(-6px) scale(.99) rotate(var(--rot-hover, 1.2deg))}.play-info{display:flex;justify-content:space-between;align-items:baseline;padding:16px 4px 4px}.play-title{font-family:var(--f-disp);font-size:clamp(14px,1.2vw,17px);font-weight:700;color:var(--ink);letter-spacing:-.015em}.play-tag{font-family:var(--f-mono);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--ink);text-transform:uppercase}.about-intro-grid{display:grid;grid-template-columns:210px 1fr;gap:72px;align-items:start;margin-bottom:100px}.about-intro-right{display:flex;flex-direction:column;gap:44px}.about-bio{display:flex;flex-direction:column;gap:16px}.about-bio p{font-size:clamp(14px,1.1vw,17px);line-height:1.68;color:var(--ink-soft)}.exp-block{display:flex;flex-direction:column}.exp-label{font-family:var(--f-disp);font-size:clamp(28px,3.5vw,44px);font-weight:700;letter-spacing:-.02em;text-transform:none;color:var(--ink);margin-bottom:24px;display:block}.exp-row{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--hair)}.exp-row:first-of-type{border-top:1px solid var(--hair)}.exp-company{display:block;font-weight:600;font-size:clamp(14px,1.05vw,16px);color:var(--ink)}.exp-role{display:block;font-size:13px;color:var(--ink-soft);margin-top:3px}.exp-row-container{transition:transform .4s cubic-bezier(.16,1,.3,1);will-change:transform;border-bottom:1px solid var(--hair);padding:36px 0}.exp-row-container:last-of-type{border-bottom:none}.exp-row-container:hover{transform:translate(6px)}.exp-years{font-family:var(--f-body);font-size:13px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;padding-left:24px;flex-shrink:0;padding-top:2px}.sketch-separator{display:flex;align-items:center;justify-content:center;gap:16px;max-width:480px;margin:80px auto;width:100%;opacity:1;transform:none}.separator-line{flex-grow:1;height:2px;background:var(--hair);position:relative;transform:scaleX(0);transition:transform .8s cubic-bezier(.34,1.56,.64,1);will-change:transform}.separator-line-left{transform-origin:right center}.separator-line-right{transform-origin:left center}.separator-line-left:after{content:"";position:absolute;width:6px;height:6px;background:var(--ink-dim);border-radius:50%;top:50%;right:0;transform:translateY(-50%)}.separator-line-right:after{content:"";position:absolute;width:6px;height:6px;background:var(--ink-dim);border-radius:50%;top:50%;left:0;transform:translateY(-50%)}.sketch-separator svg{transform:scale(0) rotate(-15deg);transition:transform .65s cubic-bezier(.34,1.56,.64,1);will-change:transform}.sketch-separator.in .separator-line{transform:scaleX(1)}.sketch-separator.in svg{transform:scale(1) rotate(0)}.sketch-separator svg:nth-of-type(1){transition-delay:.1s}.sketch-separator.in .separator-line-left,.sketch-separator.in .separator-line-right{transition-delay:.3s}.hobbies-section{padding:0 0 60px}.hobbies-head{padding:0 80px;margin-bottom:52px}.hobbies-title{font-family:var(--f-disp);font-weight:700;font-size:clamp(34px,5vw,76px);letter-spacing:-.04em;line-height:.92;color:var(--ink)}.carousel-container{position:relative;width:100%}.carousel-container:before,.carousel-container:after{content:"";position:absolute;top:0;bottom:0;width:clamp(60px,8vw,120px);z-index:10;pointer-events:none}.carousel-container:before{left:0;background:linear-gradient(to right,var(--bg) 15%,rgba(255,255,255,0))}.carousel-container:after{right:0;background:linear-gradient(to left,var(--bg) 15%,rgba(255,255,255,0))}.carousel-outer{overflow-x:auto;overflow-y:hidden;cursor:grab;scrollbar-width:none;-ms-overflow-style:none;padding:8px 80px 24px;-webkit-user-select:none;user-select:none}.carousel-outer::-webkit-scrollbar{display:none}.carousel-outer:active{cursor:grabbing}.carousel-track{display:flex;gap:18px;width:max-content}.hobby-card{flex-shrink:0;width:220px}.hobby-cover{width:100%;aspect-ratio:4/5;margin-bottom:10px;transition:opacity .3s cubic-bezier(.25,1,.5,1),transform .3s cubic-bezier(.25,1,.5,1);will-change:opacity,transform}.hobby-card:nth-child(odd) .hobby-cover{border-radius:0 62px}.hobby-card:nth-child(2n) .hobby-cover{border-radius:62px 0}.hobby-card:hover .hobby-cover{opacity:.72;transform:scale(.985)}.hobby-caption{font-size:13px;font-weight:400;color:var(--ink-soft);font-family:var(--f-body);padding:0 2px}.project-wrap{padding:calc(var(--nav-h) + 60px) 80px 0}.project-wrap .page-head{padding-left:0;padding-right:0;max-width:1040px;margin:0 auto}.proj-detail-head{margin-top:40px}.proj-metadata-grid{max-width:1040px;margin:0 auto 64px;border-top:1.5px solid var(--hair);border-bottom:1.5px solid var(--hair);padding:36px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.proj-hero-visual{max-width:1040px;margin:56px auto}.visual-hero-box{width:100%;height:560px;border-radius:0;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;box-shadow:0 2px 10px #0c0b090f,0 1px 3px #0c0b090a;border:1px solid var(--hair)}body.dark-theme .visual-hero-box{box-shadow:0 2px 10px #00000040,0 1px 3px #00000026}.hero-box-sketch{display:flex;flex-direction:column;align-items:center;justify-content:center;transform:scale(1.1)}.hero-box-label{position:absolute;bottom:24px;right:28px;font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#ffffffd9}.proj-content-section{max-width:1040px;margin:0 auto;padding-bottom:80px}.proj-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:60px}.content-block{display:flex;flex-direction:column;align-items:flex-start}.lbl-tag{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:18px}.content-h1,.content-h2,.content-h3,.content-h4,.content-h5,.content-h6{font-family:var(--f-disp);font-weight:700;line-height:1.25;color:var(--ink);margin-top:40px;margin-bottom:20px;letter-spacing:-.01em}.content-h1{font-size:clamp(28px,4vw,42px)}.content-h2{font-size:clamp(24px,3.8vw,36px)}.content-h3{font-size:clamp(20px,3vw,28px)}.content-h4{font-size:clamp(18px,2.5vw,22px)}.content-h5{font-size:16px}.content-h6{font-size:14px}.content-h1:first-child,.content-h2:first-child,.content-h3:first-child,.content-h4:first-child,.content-h5:first-child,.content-h6:first-child{margin-top:0}.content-p{font-family:var(--f-body);font-size:16px;line-height:1.62;color:var(--ink-soft);text-wrap:pretty;margin-bottom:20px}.content-p:last-child{margin-bottom:0}.proj-content-section ul,.proj-content-section ol{margin-bottom:24px;padding-left:24px}.proj-content-section li{font-family:var(--f-body);font-size:16px;line-height:1.62;color:var(--ink-soft);margin-bottom:12px;text-wrap:pretty}.proj-content-section li:last-child{margin-bottom:0}.proj-content-section strong,.proj-content-section b{color:var(--ink);font-weight:700}.content-p-large{font-family:var(--f-body);font-size:clamp(16px,1.4vw,20px);line-height:1.62;color:var(--ink-soft);text-wrap:pretty;margin-bottom:24px}.content-p-large:last-child{margin-bottom:0}.proj-graphics-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1040px;margin:60px auto 80px;width:100%}.graphic-card{display:flex;flex-direction:column;gap:14px}.graphic-box{width:100%;aspect-ratio:16/10;border-radius:0;display:flex;align-items:center;justify-content:center;background:var(--bg);box-shadow:0 2px 10px #0c0b090f,0 1px 3px #0c0b090a;border:1px solid var(--hair);overflow:hidden;transition:box-shadow .3s ease,transform .3s ease}.graphic-box:hover{box-shadow:0 6px 20px #0c0b091a,0 2px 8px #0c0b090f;transform:translateY(-2px)}body.dark-theme .graphic-box{box-shadow:0 2px 10px #00000040,0 1px 3px #00000026}body.dark-theme .graphic-box:hover{box-shadow:0 6px 20px #00000059,0 2px 8px #0003}.graphic-label{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);padding:0 4px}.solution-sketch-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#0c0b0905;border:1.5px dashed var(--hair);border-radius:20px;width:100%;height:240px}.solution-sketch-pill{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1.5px dashed var(--hair);border-radius:999px;padding:6px 16px;color:var(--ink-soft)}.next-project-section{border-top:1.5px solid var(--hair);padding:60px 0;display:flex;justify-content:center;text-align:center}.next-proj-link{display:flex;flex-direction:column;align-items:center;text-decoration:none;cursor:pointer}.next-tag{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:16px;transition:color .3s}.next-title-wrap{display:flex;align-items:center;gap:16px;margin-bottom:12px}.next-title{font-family:var(--f-disp);font-size:clamp(38px,6vw,76px);font-weight:700;color:var(--ink);transition:transform .4s cubic-bezier(.25,1,.5,1)}.next-flower{transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .3s;opacity:.85}.next-discipline{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.next-proj-link:hover .next-title{transform:scale(1.03)}.next-proj-link:hover .next-flower{transform:rotate(180deg) scale(1.2)}.next-proj-link:hover .next-tag{color:var(--ink)}@media (max-width: 900px){#nav{justify-content:space-between}.project-wrap{padding-left:36px;padding-right:36px}.proj-metadata-grid{grid-template-columns:1fr 1fr;gap:24px}.proj-content-grid,.proj-graphics-grid{grid-template-columns:1fr;gap:48px}.visual-hero-box{height:380px}.solution-sketch-card{height:180px}.next-project-section{padding:80px 0}.row{grid-template-columns:1fr;gap:18px}.row-info{padding-right:0}.page-head,.filter-bar,.proj-list,#projects{padding-left:36px;padding-right:36px}.proj-grid{grid-template-columns:1fr;gap:36px}.pcard:nth-child(2n){margin-top:0}.contact-body,.about-text,.about-collage,.about-credits,.about-credits--4col{grid-template-columns:1fr 1fr;gap:32px}.contact-body,.about-collage{grid-template-columns:1fr}.contact-wrap,.about-wrap,.play-wrap{padding-left:36px;padding-right:36px}.contact-aside{flex-direction:column;gap:40px;margin-top:24px}.play-grid{column-count:2;column-gap:14px}.play-card{margin-bottom:14px}.about-collage .curvy-frame+.curvy-frame{margin-top:0}.about-intro-grid,.about-intro-row{grid-template-columns:1fr;gap:48px}.hero-body{justify-content:flex-start;padding:80px 36px;gap:20px}.hobbies-head{padding:0 36px}.carousel-outer{padding-left:36px;padding-right:36px}.foot-cols{grid-template-columns:1fr}.big-footer{padding:60px 36px 40px}.btn-plus{display:block}.nav-mid{display:none}.page-head{padding-top:calc(var(--nav-h) + 24px);padding-bottom:16px}.row{padding:36px 0}.sketch-separator{margin:40px auto}#projects{padding-bottom:40px}#ideas{padding-top:40px}.foot-decor{display:none!important}.foot-cols{gap:24px;padding-top:24px}.foot-headline{margin-bottom:20px}.foot-cta{margin-bottom:32px}.garden-wrap{margin-bottom:32px;padding-top:24px}}@media (max-width: 600px){.exp-row{flex-direction:column;align-items:flex-start;gap:6px;padding:24px 0}.exp-years{padding-left:0;padding-top:0}#hero{height:75vh;min-height:480px}.decor-star{width:24px!important;height:24px!important}.decor-star[style*="left: -"]{left:-28px!important}.decor-star[style*="right: -"]{right:-28px!important}}@media (max-width: 550px){.play-grid{column-count:1}.about-credits--4col{grid-template-columns:1fr;gap:28px}.sandbox-canvas{height:340px}.sandbox-controls{flex-direction:column;align-items:center;gap:20px;margin-bottom:40px}.magnet-toolbox{flex-direction:column;width:100%}.toolbox-card{width:100%;min-width:0}.btn-magnet-reset{align-self:center}.magnet-word{font-size:11px;padding:5px 10px}}@media (max-width: 480px){.contact-wrap,.about-wrap,.play-wrap,.project-wrap,.page-head,.filter-bar,.proj-list,#projects{padding-left:20px;padding-right:20px}.big-footer{padding:48px 20px 32px}.hero-body{padding:80px 20px}.hobbies-head{padding:0 20px}.carousel-outer{padding-left:20px;padding-right:20px}.idea-card{padding:28px 20px 24px}#ideas{padding-left:20px;padding-right:20px}}.typewriter-cursor{font-weight:300;color:var(--pink);margin-left:2px;animation:cursor-blink .8s step-end infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}body.intro-running #nav{opacity:0!important;pointer-events:none!important;transform:translateY(-20px)}body.intro-running #statement,body.intro-running #projects-wrap,body.intro-running #ideas-wrap,body.intro-running footer{display:none!important}body.intro-booming #nav{animation:nav-slide-down .8s cubic-bezier(.16,1,.3,1) .5s forwards;opacity:0}.is-intro-typing .decor-star,.is-intro-typing .hero-pill,.is-intro-typing .hero-sub,.is-intro-typing .strip{opacity:0!important;pointer-events:none!important;transform:scale(0)!important}.is-intro-boom .decor-star{opacity:0;animation:scrapbook-pop .75s cubic-bezier(.34,1.6,.64,1) var(--delay, 0s) forwards!important}.is-intro-boom .hero-pill{opacity:0;animation:sticker-slap .8s cubic-bezier(.34,1.56,.64,1) .3s forwards!important}.is-intro-boom .hero-sub{opacity:0;animation:scrapbook-fade-up .8s cubic-bezier(.16,1,.3,1) .6s forwards!important}.is-intro-boom .strip{opacity:0;animation:strip-slide-up .9s cubic-bezier(.16,1,.3,1) .4s forwards!important}@keyframes scrapbook-pop{0%{opacity:0;transform:scale(0) rotate(var(--rot-start, -15deg))}65%{opacity:1;transform:scale(1.22) rotate(calc(var(--rot, 0deg) + 6deg))}to{opacity:1;transform:scale(1) rotate(var(--rot, 0deg))}}@keyframes sticker-slap{0%{opacity:0;transform:translateY(-25px) scale(.6) rotate(-10deg)}65%{opacity:1;transform:translateY(4px) scale(1.12) rotate(4deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--rot, -2deg))}}@keyframes scrapbook-fade-up{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes strip-slide-up{0%{opacity:0;transform:translateY(40px) scaleY(.85)}to{opacity:1;transform:translateY(0) scaleY(1)}}@keyframes nav-slide-down{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.scrapbook-folder{position:absolute;width:62px;height:46px;cursor:pointer;z-index:15;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.scrapbook-folder.folder-left{left:-88px;top:12px;transform:rotate(var(--rot, -6deg))}.scrapbook-folder.folder-right{right:-88px;bottom:-6px;transform:rotate(var(--rot, 6deg))}.is-intro-typing .scrapbook-folder{opacity:0!important;transform:scale(0)!important;pointer-events:none!important}.is-intro-boom .scrapbook-folder{opacity:0;animation:scrapbook-pop .75s cubic-bezier(.34,1.6,.64,1) .25s forwards!important}.scrapbook-folder.folder-left:hover{transform:rotate(2deg) scale(1.08)}.scrapbook-folder.folder-right:hover{transform:rotate(-2deg) scale(1.08)}.folder-body{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;filter:drop-shadow(-3px -3px 0 #ffffff) drop-shadow(3px -3px 0 #ffffff) drop-shadow(-3px 3px 0 #ffffff) drop-shadow(3px 3px 0 #ffffff) drop-shadow(-3px 0 0 #ffffff) drop-shadow(3px 0 0 #ffffff) drop-shadow(0 -3px 0 #ffffff) drop-shadow(0 3px 0 #ffffff) drop-shadow(0 4px 8px rgba(12,11,9,.18));transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.folder-back{position:absolute;top:0;right:0;bottom:0;left:0;background:#f7b2a9;border:2px solid #0c0b09;border-radius:4px;box-sizing:border-box;transition:background .3s}.folder-tab{position:absolute;top:-6px;left:6px;width:24px;height:8px;background:#f7b2a9;border:2px solid #0c0b09;border-bottom:none;border-top-left-radius:4px;border-top-right-radius:4px;box-sizing:border-box;transition:background .3s}.folder-front{position:absolute;left:0;right:0;bottom:0;height:38px;background:#fbc6be;border:2px solid #0c0b09;border-radius:4px;z-index:5;box-sizing:border-box;display:flex;align-items:center;justify-content:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1),background .3s;transform-origin:bottom center}.folder-label{font-family:var(--f-mono);font-size:8px;letter-spacing:.05em;color:var(--ink);font-weight:700;-webkit-user-select:none;user-select:none}.folder-right .folder-back,.folder-right .folder-tab{background:#ffb85c}.folder-right .folder-front{background:#ffd699}.folder-right:hover .folder-front{background:#ffc470}.scrapbook-folder:hover .folder-front{transform:rotateX(-24deg);background:#fca092}.scrapbook-folder.folder-right:hover .folder-front{transform:rotateX(-24deg);background:#ffb142}.folder-spill{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.spill-item{position:absolute;left:18px;bottom:8px;opacity:0;transform:translate(0) scale(.5) rotate(0);transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .35s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12))}.scrapbook-folder:hover .spill-item{opacity:1}.scrapbook-folder:hover .item-pasta{transform:translate(-42px,-52px) scale(1.15) rotate(-24deg)}.scrapbook-folder:hover .item-figma{transform:translate(-18px,-74px) scale(1.1) rotate(-8deg);transition-delay:.03s}.scrapbook-folder:hover .item-plane{transform:translate(12px,-78px) scale(1.12) rotate(12deg);transition-delay:.06s}.scrapbook-folder:hover .item-cursor{transform:translate(38px,-60px) scale(1.15) rotate(24deg);transition-delay:.09s}.scrapbook-folder:hover .item-waves{transform:translate(52px,-34px) scale(1.2) rotate(-15deg);transition-delay:.12s}.scrapbook-folder:hover .item-coffee{transform:translate(-46px,-48px) scale(1.15) rotate(-26deg)}.scrapbook-folder:hover .item-pencil{transform:translate(-22px,-70px) scale(1.1) rotate(-12deg);transition-delay:.03s}.scrapbook-folder:hover .item-vinyl{transform:translate(6px,-76px) scale(1.12) rotate(18deg);transition-delay:.06s}.scrapbook-folder:hover .item-book{transform:translate(32px,-62px) scale(1.15) rotate(8deg);transition-delay:.09s}.scrapbook-folder:hover .item-photo{transform:translate(48px,-36px) scale(1.18) rotate(-15deg);transition-delay:.12s}@media (max-width: 1040px){.scrapbook-folder.folder-left{position:relative;left:0;top:0;display:inline-block;vertical-align:middle;margin-right:18px;margin-bottom:8px}.scrapbook-folder.folder-right{position:relative;right:0;bottom:0;display:inline-block;vertical-align:middle;margin-left:18px;margin-bottom:8px}}.table-container-wrap{width:100%;margin:40px 0;overflow-x:auto;border-radius:0;border:1px solid var(--hair);background-color:var(--bg);position:relative;z-index:1}.table-responsive{width:100%}.content-table{width:100%;border-collapse:collapse;text-align:left;font-family:var(--f-body);font-size:15px}.content-table th,.content-table td{padding:18px 24px;vertical-align:top;border-bottom:1px solid var(--hair)}.content-table th:not(:last-child),.content-table td:not(:last-child){border-right:1px solid var(--hair)}.content-table th{font-family:var(--f-disp);font-weight:700;color:var(--ink);background-color:#0c0b0908;font-size:15px;letter-spacing:.02em}body.dark-theme .content-table th{background-color:#faf9f60a}.content-table tr:last-child td{border-bottom:none}.content-table td{color:var(--ink-soft);line-height:1.6}.content-table tr:hover td{color:var(--ink);background-color:#0c0b0904}body.dark-theme .content-table tr:hover td{background-color:#faf9f604}.content-blockquote{border-left:3px solid #42b8ff;padding:4px 0 4px 24px;margin:48px 0;font-family:var(--f-body);font-style:normal;font-size:15px;line-height:1.62;color:var(--ink);text-wrap:pretty}.content-blockquote p{margin:0;font-family:var(--f-body);font-style:normal;font-size:15px;color:var(--ink)}.content-figure{box-shadow:0 1px 6px #0c0b090a,0 1px 2px #0c0b0905;border:1px solid var(--hair);transition:box-shadow .3s ease,transform .3s ease}.content-figure:hover{box-shadow:0 4px 14px #0c0b0912,0 1px 4px #0c0b090a;transform:translateY(-2px)}body.dark-theme .content-figure{box-shadow:0 1px 6px #00000029,0 1px 2px #0000001a}body.dark-theme .content-figure:hover{box-shadow:0 4px 14px #0000003d,0 1px 4px #00000024}.proj-content-section img{border-radius:0;display:block;width:100%}.img-flat-shadow{box-shadow:0 1px 8px #0c0b090a,0 1px 2px #0c0b0905;transition:box-shadow .3s ease,transform .3s ease}.img-flat-shadow:hover{box-shadow:0 4px 14px #0c0b0912,0 1px 4px #0c0b090a;transform:translateY(-2px)}body.dark-theme .img-flat-shadow{box-shadow:0 1px 8px #00000029,0 1px 2px #0000001a}body.dark-theme .img-flat-shadow:hover{box-shadow:0 4px 14px #0000003d,0 1px 4px #00000024}
