@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700&family=Fira+Code:wght@400;500&display=swap";:root{--font-main: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Fira Code", monospace;--fs-title: 2.7rem;--fs-title-smaller: 2.3rem;--fs-h1: 2rem;--fs-h2: 1.5rem;--fs-body: .95rem;--fs-ui: .85rem;--xxl-font: clamp(4rem, 10vw, 8rem);--xl-font: clamp(3rem, 8vw, 7rem);--fs-display: clamp(2.8rem, 7vw, 6.4rem);--fs-h3: 1.15rem;--fs-h4: 1rem;--fs-h5: 2rem;--fs-h6: 4rem;--fs-small: .8rem;--fs-label: .72rem;--button-box-size: 44px;--ls-label: .22em;--ls-wide: .05em;--space-3xs: 4px;--space-2xs: 8px;--space-xs: 12px;--space-sm: 18px;--space-md: 28px;--space-lg: 48px;--space-xl: 72px;--space-2xl: 110px;--radius-sm: 2px;--radius-md: 10px;--radius-lg: 22px;--radius-pill: 999px;--line-w: 1px}[data-theme=light]{--bg-deep-purple: rgba(240, 237, 250, .7);--bg-gradient-top: rgb(240, 243, 255);--bg-gradient-bottom: rgb(255, 243, 250);--bg-patch-pink: rgba(255, 212, 229, .5);--bg-patch-pink-2: rgba(255, 200, 221, .44);--bg-patch-lavender: rgba(224, 208, 253, .44);--bg-patch-blue: rgba(189, 216, 253, .4);--bg-patch-mint: rgba(208, 239, 228, .38);--bg-patch-peach: rgba(255, 226, 208, .4);--bg-patch-white: rgba(255, 255, 255, .65);--bg-patch-white-2: rgba(255, 255, 255, .4);--bubble-pink-fill: rgba(255, 181, 220, .15);--bubble-pink-glow: rgba(255, 173, 212, .35);--bubble-rim-light: rgba(255, 255, 255, .8);--bubble-highlight-strong: rgba(255, 255, 255, .55);--bubble-highlight-mid: rgba(255, 255, 255, .22);--bubble-highlight-soft: rgba(255, 255, 255, .27);--bubble-rim-pink: rgba(255, 158, 200, .5);--bubble-rim-lavender: rgba(197, 165, 251, .42);--bubble-rim-blue: rgba(158, 189, 251, .4);--bubble-rim-mint: rgba(181, 228, 216, .32);--bubble-rim-peach: rgba(255, 208, 193, .35);--card-bg: rgba(254, 254, 254, .5);--card-border: rgba(240, 237, 249, .863);--card-border-shadow: rgba(45, 35, 65, .15);--text-main: rgba(45, 35, 65, 1);--text-muted: rgba(90, 80, 120, .995);--accent-soft: rgba(255, 150, 200, .2);--accent-strong: rgba(255, 150, 200, 1);--accent-blue: rgba(134, 119, 150, .8);--accent-blue-light: rgba(134, 119, 150, .2);--glass-blur: blur(14px);--shadow-soft: 0 10px 30px rgba(45, 35, 65, .15);--shadow-hover: 0 15px 40px rgba(255, 150, 200, .25);--transition-main: .25s ease;--overlay: rgba(12, 9, 17, 0);--line-color: rgba(45, 35, 65, .22);--line-color-strong: rgba(45, 35, 65, .45);--numeral-color: rgba(45, 35, 65, .35);--tag-bg: rgba(45, 35, 65, .06);--chip-bg: rgba(255, 255, 255, .55)}[data-theme=dark]{--bg-deep-purple: rgb(22, 10, 40);--bg-gradient-top: rgb(38, 34, 78);--bg-gradient-bottom: rgba(178, 148, 190, 1);--bg-patch-pink: rgba(238, 115, 175, .4);--bg-patch-pink-2: rgba(212, 100, 158, .35);--bg-patch-lavender: rgba(172, 135, 230, .36);--bg-patch-blue: rgba(122, 148, 235, .34);--bg-patch-mint: rgba(102, 178, 190, .28);--bg-patch-peach: rgba(230, 152, 158, .26);--bg-patch-white: rgba(255, 255, 255, .26);--bg-patch-white-2: rgba(255, 255, 255, .15);--bubble-pink-fill: rgba(255, 140, 190, .1);--bubble-pink-glow: rgba(255, 105, 180, .45);--bubble-rim-light: rgba(255, 255, 255, .4);--bubble-highlight-strong: rgba(255, 255, 255, .26);--bubble-highlight-mid: rgba(255, 255, 255, .09);--bubble-highlight-soft: rgba(255, 255, 255, .12);--bubble-rim-pink: rgba(255, 110, 180, .5);--bubble-rim-lavender: rgba(170, 130, 255, .42);--bubble-rim-blue: rgba(110, 160, 255, .4);--bubble-rim-mint: rgba(120, 210, 195, .32);--bubble-rim-peach: rgba(255, 160, 140, .32);--card-bg: rgba(22, 11, 38, .7);--card-border: rgba(255, 255, 255, .1);--text-main: rgba(255, 255, 255, 1);--text-muted: rgb(251, 250, 252);--accent-soft: rgba(255, 120, 185, .2);--accent-strong: rgba(255, 120, 185, 1);--accent-blue: rgba(100, 80, 120, .8);--accent-blue-light: rgba(100, 80, 120, .2);--glass-blur: blur(14px);--shadow-soft: 0 10px 30px rgba(45, 35, 65, .15);--shadow-hover: 0 15px 40px rgba(255, 120, 185, .25);--transition-main: .25s ease;--overlay: rgba(12, 9, 17, 0);--line-color: rgba(255, 255, 255, .22);--line-color-strong: rgba(255, 255, 255, .45);--numeral-color: rgba(255, 255, 255, .35);--tag-bg: rgba(255, 255, 255, .06);--chip-bg: rgba(22, 11, 38, .45)}.theme-arrow{width:40px;height:40px;display:flex;justify-content:center;align-items:center;cursor:pointer;margin:10px auto;position:relative}.theme-arrow:after{content:"";width:12px;height:12px;border:solid var(--accent-strong);border-width:0 3px 3px 0;display:inline-block;padding:3px}.theme-arrow.down:after{transform:rotate(45deg)}.theme-arrow.up:after{transform:rotate(-135deg)}html,body{height:100%;overflow:auto}body{margin:0;display:flex;justify-content:center;align-items:center;width:100%;content:fill}.site-header{position:fixed;top:0;left:0;width:100%;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-xl);z-index:1000;font-family:var(--font-main)}.header-eyebrow{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-muted)}.header-eyebrow-index{color:var(--accent-strong);font-weight:700}.header-actions{display:flex;align-items:center;gap:var(--space-xs)}.icon-button{display:flex;align-items:center;justify-content:center;width:var(--button-box-size);height:var(--button-box-size);padding:0;color:var(--text-main);background:transparent!important;border:none!important;outline:none;box-shadow:none!important;cursor:pointer;transition:transform var(--transition-main)}.icon-button:hover{transform:translateY(-4px);border-color:var(--accent-strong)}.burger-button{flex-direction:column;gap:5px}.burger-line{width:16px;height:2px;background:var(--text-main);border-radius:var(--radius-sm);transition:transform var(--transition-main),opacity var(--transition-main)}.burger-button.open .burger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger-button.open .burger-line:nth-child(2){opacity:0}.burger-button.open .burger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-overlay{position:fixed;inset:0;width:100%;height:100%;background:var(--card-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);font-family:var(--font-main);display:flex;align-items:center;justify-content:center;z-index:900;opacity:0;visibility:hidden;transform:translateY(-16px);transition:opacity var(--transition-main),transform var(--transition-main),visibility 0s linear var(--transition-main)}.nav-overlay.open{opacity:1;visibility:visible;transform:translateY(0);transition:opacity var(--transition-main),transform var(--transition-main),visibility 0s linear}.nav-overlay-list{display:flex;flex-direction:column;gap:var(--space-md);text-align:center}.nav-overlay-link{display:flex;align-items:baseline;justify-content:center;gap:var(--space-sm);color:var(--text-main);text-decoration:none;font-size:var(--fs-h1);font-weight:700;letter-spacing:var(--ls-wide);opacity:.6;transition:opacity var(--transition-main)}.nav-overlay-link:hover,.nav-overlay-link.active{opacity:1}.nav-overlay-index{font-family:var(--font-mono);font-size:var(--fs-h4);font-weight:700;color:var(--accent-strong)}@media(max-width:550px){.site-header{padding:var(--space-sm) var(--space-md)}.header-eyebrow{font-size:var(--fs-label-sm, var(--fs-label));gap:4px}.nav-overlay-link{font-size:var(--fs-h2)}}.bubble_root{display:contents}.bubble_layer{position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none}.bubble_layer_front--elevated{z-index:101}.bubble_background{position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none;background:radial-gradient(ellipse 34% 30% at 50% 50%,var(--bg-patch-white, rgba(255,255,255,.5)) 0%,transparent 62%),radial-gradient(ellipse 54% 48% at 50% 50%,var(--bg-patch-white-2, rgba(255,255,255,.3)) 0%,transparent 70%),radial-gradient(ellipse 58% 52% at 10% 12%,var(--bg-patch-pink, rgba(255,150,200,.4)) 0%,transparent 70%),radial-gradient(ellipse 55% 48% at 50% 4%,var(--bg-patch-lavender, rgba(200,175,250,.35)) 0%,transparent 70%),radial-gradient(ellipse 58% 52% at 90% 10%,var(--bg-patch-blue, rgba(160,195,250,.35)) 0%,transparent 70%),radial-gradient(ellipse 52% 60% at 96% 50%,var(--bg-patch-peach, rgba(255,210,190,.3)) 0%,transparent 70%),radial-gradient(ellipse 58% 52% at 90% 90%,var(--bg-patch-pink-2, rgba(255,150,200,.35)) 0%,transparent 70%),radial-gradient(ellipse 55% 48% at 50% 96%,var(--bg-patch-mint, rgba(180,230,215,.3)) 0%,transparent 70%),radial-gradient(ellipse 58% 52% at 10% 90%,var(--bg-patch-lavender, rgba(200,175,250,.35)) 0%,transparent 70%),radial-gradient(ellipse 52% 60% at 4% 50%,var(--bg-patch-blue, rgba(160,195,250,.35)) 0%,transparent 70%),linear-gradient(180deg,var(--bg-gradient-top, rgba(45,23,76,1)),var(--bg-gradient-bottom, rgba(22,11,38,1)))}.bouncing_bubble{position:absolute;top:0;left:0;border-radius:50%;will-change:transform}.pink-bubble{border-radius:50%;background:radial-gradient(circle at 50% 50%,transparent 40%,rgba(255,255,255,.06) 70%,transparent 100%);box-shadow:0 0 6px var(--bubble-pink-glow),0 0 16px var(--bubble-rim-lavender),inset 0 0 30px #ffffff14;backdrop-filter:blur(2px) saturate(1.35) contrast(1.05);-webkit-backdrop-filter:blur(2px) saturate(1.35) contrast(1.05);backdrop-filter:url(#bubble-distortion) blur(2px) saturate(1.35) contrast(1.05)}.pink-bubble:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 200deg,var(--bubble-rim-pink) 0deg,var(--bubble-rim-lavender) 75deg,var(--bubble-rim-blue) 150deg,var(--bubble-rim-mint) 220deg,var(--bubble-rim-peach) 290deg,var(--bubble-rim-pink) 360deg);-webkit-mask:radial-gradient(circle,transparent 48%,black 66%,black 92%,transparent 100%);mask:radial-gradient(circle,transparent 48%,black 66%,black 92%,transparent 100%);pointer-events:none}.pink-bubble:before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 28% 24%,var(--bubble-highlight-strong, rgba(255,255,255,.55)) 0%,var(--bubble-highlight-mid, rgba(255,255,255,.22)) 6%,rgba(255,255,255,0) 15%),radial-gradient(circle at 70% 74%,var(--bubble-highlight-soft, rgba(255,255,255,.28)) 0%,rgba(255,255,255,0) 9%);pointer-events:none}.bouncing_bubble:nth-child(3n):after{background:conic-gradient(from 40deg,var(--bubble-rim-lavender) 0deg,var(--bubble-rim-pink) 90deg,var(--bubble-rim-peach) 170deg,var(--bubble-rim-blue) 250deg,var(--bubble-rim-mint) 320deg,var(--bubble-rim-lavender) 360deg)}.bouncing_bubble:nth-child(3n):before{background:radial-gradient(circle at 68% 22%,var(--bubble-highlight-strong, rgba(255,255,255,.5)) 0%,var(--bubble-highlight-mid, rgba(255,255,255,.2)) 6%,rgba(255,255,255,0) 15%),radial-gradient(circle at 30% 70%,var(--bubble-highlight-soft, rgba(255,255,255,.25)) 0%,rgba(255,255,255,0) 9%)}.bouncing_bubble:nth-child(3n+1):after{background:conic-gradient(from 300deg,var(--bubble-rim-mint) 0deg,var(--bubble-rim-blue) 80deg,var(--bubble-rim-lavender) 160deg,var(--bubble-rim-pink) 240deg,var(--bubble-rim-peach) 310deg,var(--bubble-rim-mint) 360deg)}.bouncing_bubble:nth-child(3n+2):after{background:conic-gradient(from 120deg,var(--bubble-rim-blue) 0deg,var(--bubble-rim-lavender) 90deg,var(--bubble-rim-pink) 170deg,var(--bubble-rim-peach) 240deg,var(--bubble-rim-mint) 300deg,var(--bubble-rim-blue) 360deg)}.bouncing_bubble:nth-child(3n+2):before{background:radial-gradient(circle at 24% 68%,var(--bubble-highlight-strong, rgba(255,255,255,.5)) 0%,var(--bubble-highlight-mid, rgba(255,255,255,.2)) 6%,rgba(255,255,255,0) 15%),radial-gradient(circle at 74% 30%,var(--bubble-highlight-soft, rgba(255,255,255,.25)) 0%,rgba(255,255,255,0) 9%)}.page-container{width:100vw;height:100vh;overflow-y:auto;padding:0;margin:0}.page-section{position:relative;width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center}.home-section-container{position:relative;width:min(1080px,92vw);height:min(560px,82vh);box-sizing:border-box;z-index:2;padding:var(--space-lg) var(--space-xl)}.card-title{font-family:var(--font-main);font-size:var(--fs-h2);font-weight:700;letter-spacing:var(--ls-wide);color:var(--text-main)}.editorial-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);font-family:var(--font-main);font-size:var(--fs-label);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;text-decoration:none;color:var(--text-main);background:transparent;border:var(--line-w) solid var(--text-main);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-md);cursor:pointer;transition:background var(--transition-main),color var(--transition-main),transform var(--transition-main)}.editorial-btn:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;transform:translateY(-3px)}#about,#project-detail{align-items:flex-start}#about .home-section-container,#project-detail .home-section-container{height:auto;margin-top:130px;margin-bottom:60px}#projects{align-items:flex-start}#projects .home-section-container{margin-top:130px;margin-bottom:40px;height:min(560px,calc(100vh - 190px))}@media(max-width:1100px){.home-section-container{margin-top:130px;margin-bottom:40px;width:88%;height:74%;padding:var(--space-md) var(--space-sm);display:flex;justify-content:center;align-items:center}}.home_header_bubble{position:fixed;left:6%;top:6%;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;text-align:right;z-index:100}@keyframes dip{0%{border-radius:65% 60% 70% 55%/60% 65% 55% 60%}30%{border-radius:70% 65% 60% 70%/65% 60% 70% 55%}55%{border-radius:85% 40% 80% 45%/40% 70% 35% 75%}75%{border-radius:70% 65% 60% 75%/65% 60% 70%}to{border-radius:65% 60% 70% 55%/60% 65% 55% 60%}}.home_title_row{display:flex;align-items:flex-end;gap:var(--space-sm)}.home_title{font-size:var(--xxl-font);line-height:.98;font-weight:700;letter-spacing:-.01em;color:var(--text-main);font-family:var(--font-main);margin:0}.home_subtitle{writing-mode:vertical-rl;transform:rotate(180deg);color:var(--text-muted);font-family:var(--font-main);font-size:var(--fs-h5);letter-spacing:var(--ls-wide);text-transform:uppercase;white-space:nowrap;margin:0;margin-bottom:var(--space-2xs)}.home_links{position:fixed;bottom:6%;left:0;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-evenly;gap:var(--space-lg);padding:0 var(--space-xl);z-index:100}.home_link{display:inline-flex;align-items:center;gap:var(--space-2xs);font-family:var(--font-main);font-size:var(--fs-label);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;text-decoration:none;color:var(--text-main);background:transparent;border:none;padding:0;cursor:pointer;transition:color var(--transition-main),gap var(--transition-main)}.home_link-arrow{transition:transform var(--transition-main)}.home_link:hover{color:var(--accent-strong)}.home_link:hover .home_link-arrow{transform:translate(4px)}@media(max-width:800px){.home_header_bubble{align-items:center;text-align:center;padding:var(--space-lg) var(--space-md)}.home_title_row{flex-direction:column;align-items:center;gap:var(--space-xs)}.home_subtitle{writing-mode:horizontal-tb;transform:none;margin-bottom:0;margin-top:calc(-1 * var(--space-2xs))}.home_links{bottom:var(--space-lg);flex-direction:column;align-items:center;gap:var(--space-sm);padding:0 var(--space-md)}}.project-grid-container{display:flex;flex-direction:row;align-items:stretch;gap:var(--space-lg);padding:0;overflow:hidden}.project-grid-side{flex-shrink:0;width:70px;display:flex;align-items:flex-end;justify-content:center}.project-grid-vertical{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-main);font-weight:700;font-size:var(--fs-display);letter-spacing:var(--ls-wide);color:var(--text-main);opacity:.9;white-space:nowrap;line-height:1}.project-grid-preview{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center}.project-grid-preview-img{max-width:100%;max-height:260px;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-md);animation:project-grid-preview-fade .3s ease}@keyframes project-grid-preview-fade{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.project-grid-list-wrap{flex:0 0 auto;width:min(420px,40%);min-width:260px;height:100%;display:flex;flex-direction:column;min-height:0}.project-grid-list-header{flex-shrink:0;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);padding-bottom:var(--space-xs)}.project-grid-list-header h2{margin:0;font-family:var(--font-main);font-size:var(--fs-h2);font-weight:700;letter-spacing:var(--ls-wide);color:var(--text-main)}.project-grid-list-count{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--ls-wide);color:var(--text-muted)}.project-grid-list-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none}.project-grid-list-scroll::-webkit-scrollbar{display:none}.project-grid-list{display:flex;flex-direction:column}.project-grid-list-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-2xs);border-bottom:var(--line-w) solid var(--line-color);cursor:pointer;transition:color .25s ease,border-color .25s ease}.project-grid-list-item:first-child{border-top:var(--line-w) solid var(--line-color)}.project-grid-list-index{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--ls-wide);color:var(--numeral-color);flex-shrink:0}.project-grid-list-item h3{flex:1;margin:0;font-family:var(--font-main);font-size:var(--fs-h2);font-weight:600;letter-spacing:var(--ls-wide);color:var(--text-main);opacity:.55;transition:opacity .25s ease,transform .25s ease;white-space:normal}.project-grid-list-plus{flex-shrink:0;font-size:var(--fs-h3);color:var(--text-muted);opacity:.55;transition:opacity .25s ease,transform .25s ease}.project-grid-list-item:hover,.project-grid-list-item:focus-visible,.project-grid-list-item.is-active{border-color:var(--line-color-strong)}.project-grid-list-item:hover h3,.project-grid-list-item:focus-visible h3,.project-grid-list-item.is-active h3{opacity:1;transform:translate(6px)}.project-grid-list-item:hover .project-grid-list-plus,.project-grid-list-item:focus-visible .project-grid-list-plus,.project-grid-list-item.is-active .project-grid-list-plus{opacity:1;transform:rotate(90deg);color:var(--accent-strong)}@media(max-width:1100px){.project-grid-container{flex-direction:column;gap:var(--space-sm)}.project-grid-side{width:100%;justify-content:flex-start}.project-grid-vertical{writing-mode:horizontal-tb;transform:none;font-size:var(--fs-h1)}.project-grid-preview{flex:0 0 auto;min-height:140px}.project-grid-preview-img{max-height:160px}.project-grid-list-wrap{width:100%;flex:1 1 auto;min-height:0}.project-grid-list-item h3{font-size:var(--fs-h3)}}@media(max-width:600px){.project-grid-list-item{padding:var(--space-sm) var(--space-2xs);gap:var(--space-xs)}.project-grid-list-item h3{font-size:var(--fs-small)}}.project-card-container{--card-pad-x: var(--space-xl);width:65%;margin:0;font-family:var(--font-main);display:flex;flex-direction:column;margin-bottom:var(--space-lg)}.project-card-hero-image{display:block;width:100%;height:70vh;object-fit:cover;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.project-card-header{width:100%;height:25vh;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);text-transform:uppercase;border-bottom:var(--line-w) solid var(--line-color)}.project-card-header .card-title{min-width:0}.project-back-link{display:inline-flex;align-items:center;gap:var(--space-2xs);font-family:var(--font-main);font-size:var(--fs-label);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;text-decoration:none;color:var(--text-main);background:transparent;border:none;padding:0;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color var(--transition-main),gap var(--transition-main)}.project-back-arrow{transition:transform var(--transition-main)}.project-back-link:hover{color:var(--accent-strong)}.project-back-link:hover .project-back-arrow{transform:translate(-4px)}.project-card-footer{display:flex;justify-content:flex-end;padding-top:var(--space-lg);margin-top:var(--space-lg);border-top:var(--line-w) solid var(--line-color)}.project-next-link{display:inline-flex;align-items:center;gap:var(--space-2xs);font-family:var(--font-main);font-size:var(--fs-label);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;text-decoration:none;color:var(--text-main);background:transparent;border:none;padding:0;cursor:pointer;white-space:nowrap;transition:color var(--transition-main),gap var(--transition-main)}.project-next-arrow{transition:transform var(--transition-main)}.project-next-link:hover{color:var(--accent-strong)}.project-next-link:hover .project-next-arrow{transform:translate(4px)}.project-info{display:flex;flex-wrap:wrap;gap:var(--space-xl);margin-bottom:var(--space-lg)}.project-meta{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-md);row-gap:var(--space-sm);margin:0;flex:1 1 260px;min-width:0}.meta-row{display:contents}.meta-row dt{font-size:var(--fs-label);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--ls-label);margin:0;align-self:center;white-space:nowrap}.meta-row dd{font-size:var(--fs-body);color:var(--text-main);margin:0;align-self:center;min-width:0;overflow-wrap:break-word}.meta-links{display:flex;gap:var(--space-2xs)}.project-description{flex:2 1 320px;min-width:0}.project-description h3,.project-section h3{font-size:var(--fs-label);color:var(--text-muted);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:var(--ls-label)}.project-description p,.project-section p{font-size:var(--fs-body);color:var(--text-muted);line-height:1.6}.project-link-btn{background:transparent;color:var(--text-main);text-decoration:none;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-pill);border:var(--line-w) solid var(--text-main);padding:var(--space-2xs);transition:transform .3s ease,background .3s ease,color .3s ease}.project-link-btn svg{font-size:18px}.project-link-btn:hover{transform:translateY(-4px);background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.project-gallery{display:grid;grid-template-columns:1fr;gap:var(--space-lg);margin-bottom:var(--space-lg)}.gallery-title{font-size:var(--fs-label);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--ls-label);margin:0 0 var(--space-2xs)}.gallery-image{object-fit:cover;border-radius:var(--radius-md);border:var(--line-w) solid var(--line-color)}.gallery-web .gallery-item{display:flex;flex-direction:column}.gallery-web .gallery-image{width:100%;height:320px}.gallery-mobile .gallery-item{display:flex;flex-direction:row;align-items:center;gap:var(--space-md)}.gallery-mobile .gallery-item:nth-child(2n){flex-direction:row-reverse}.gallery-mobile .gallery-title{margin:0;flex:0 0 70%;font:var(--fs-title);text-align:left}.gallery-mobile .gallery-item:nth-child(2n) .gallery-title{text-align:right}.gallery-mobile .gallery-image{flex:0 0 30%;width:30%;height:auto;aspect-ratio:9 / 19.5}.project-section{margin-bottom:var(--space-lg);border-bottom:var(--line-w) solid var(--line-color);border-top:var(--line-w) solid var(--line-color)}.qr-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.qr-container img{width:140px;height:140px;object-fit:contain;border-radius:var(--radius-md);background:#fff;padding:var(--space-2xs)}.qr-container p{font-size:var(--fs-small);opacity:.8}@media(max-width:1100px){.project-card-container{margin-top:calc(var(--space-lg) + var(--button-box-size));width:80vw;--card-pad-top: var(--space-md);--card-pad-x: var(--space-sm)}.project-card-hero-image{border-radius:var(--radius-md) var(--radius-md);height:220px}}@media(max-width:600px){.project-card-hero-image{height:220px}.card-title{font-size:16px}.project-info{flex-direction:column;gap:var(--space-md)}.project-next-link{white-space:normal;text-align:right}.gallery-web .gallery-image{height:220px}.gallery-mobile .gallery-item,.gallery-mobile .gallery-item:nth-child(2n){flex-direction:column;align-items:flex-start}.gallery-mobile .gallery-title,.gallery-mobile .gallery-item:nth-child(2n) .gallery-title{text-align:left}.gallery-mobile .gallery-image{width:60%;height:auto;aspect-ratio:9 / 19.5}}.about-container{--about-text-top: 25%;--about-text-right: 10%;--about-text-width: 55%;--about-image-width: 25vw;--about-image-bottom: 0;--about-image-left: 0;--about-image-radius: 0 var(--radius-lg) 0 0}.about-container{position:relative;width:100%;min-height:100vh;padding:0;font-family:var(--font-main);display:block}.about-right{position:absolute;top:var(--about-text-top);right:var(--about-text-right);width:var(--about-text-width);display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding-bottom:var(--space-lg)}.about-title{width:100%;font-size:var(--fs-h6);line-height:1;font-weight:700;letter-spacing:-.01em;color:var(--text-main);margin:0 0 var(--space-md);text-align:right}.about-divider{width:100%;height:var(--line-w);background-color:var(--line-color);margin-bottom:var(--space-lg)}.about-text{width:100%;padding-right:0;line-height:1.6;font-size:var(--fs-body);color:var(--text-muted);text-align:right}.about-text p{margin:0 0 var(--space-sm);text-align:right}.about-left{position:fixed;bottom:var(--about-image-bottom);left:var(--about-image-left);width:var(--about-image-width);height:var(--about-image-height);display:flex;justify-content:center;align-items:center;z-index:2}.about-image{display:block;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:var(--about-image-radius);border:var(--line-w) solid var(--line-color)}.download-cv-button{display:inline-flex;align-items:center;gap:var(--space-2xs);align-self:flex-end;margin:var(--space-md) 0 0;font-family:var(--font-main);font-size:var(--fs-label);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;text-decoration:none;color:var(--text-main);background:transparent;border:none;padding:0;cursor:pointer;transition:color var(--transition-main),gap var(--transition-main)}.download-cv-button-arrow{transition:transform var(--transition-main)}.download-cv-button:hover{color:var(--accent-strong)}.download-cv-button:hover .download-cv-button-arrow{transform:translate(4px)}.contact-section-container{display:flex;justify-content:space-between;font-family:var(--font-main)}.contact-left,.contact-right{flex:1;padding:var(--space-md);max-width:50%;box-sizing:border-box}.contact-left{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.contact-left-title{font-size:var(--fs-display);line-height:1;font-weight:700;letter-spacing:-.01em;color:var(--text-main);margin:0 0 var(--space-lg)}.contact-left-subtitle{font-size:var(--fs-h3);font-weight:600;letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--space-2xs)}.contact-links{display:flex;gap:5px;flex-wrap:wrap}.links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));grid-gap:16px;display:flex;justify-items:end;width:100%;max-width:100%;margin:0 auto}.contact-link-btn{background:transparent;color:var(--text-main);text-decoration:none;display:flex;justify-content:center;align-items:center;border-radius:var(--radius-pill);border:var(--line-w) solid var(--text-main);padding:var(--space-xs);transition:transform .3s ease,background .3s ease,color .3s ease}.contact-link-btn svg{font-size:28px}.contact-link-btn:hover{transform:translateY(-4px);background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.contact-right{border-radius:var(--radius-md);padding:var(--space-md);display:flex;flex-direction:column;justify-content:center;align-items:center}.contact-form{width:100%;max-width:320px}.contact-form label{display:block;margin-bottom:var(--space-xs);color:var(--text-muted);font-size:var(--fs-label);letter-spacing:var(--ls-wide);text-transform:uppercase}.contact-form input{width:100%;box-sizing:border-box;padding:var(--space-xs) 0;border:none;border-bottom:var(--line-w) solid var(--line-color-strong);border-radius:0;font-size:var(--fs-body);background:transparent;color:var(--text-main);margin-top:var(--space-3xs);margin-bottom:var(--space-md);transition:border-color .2s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent-strong)}.contact-form button{padding:var(--space-xs) var(--space-lg);background:transparent;color:var(--text-main);border:var(--line-w) solid var(--text-main);border-radius:var(--radius-sm);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;font-weight:600;cursor:pointer;transition:background .3s ease,color .3s ease,transform .3s ease;width:100%}.contact-form button:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;transform:translateY(-3px)}.form-status{margin-top:var(--space-sm);color:var(--text-muted);font-size:var(--fs-small)}.divider{width:var(--line-w);background-color:var(--line-color);height:100%;margin:0 var(--space-lg)}.contact-direct{position:absolute;bottom:var(--space-md);left:0;width:100%;display:flex;justify-content:center}.contact-direct-text{font-family:var(--font-main);font-size:var(--fs-label);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-muted);margin:0}.contact-direct-link{color:var(--text-main);text-decoration:none;border-bottom:var(--line-w) solid var(--text-main);transition:color .3s ease,border-color .3s ease}.contact-direct-link:hover{color:var(--accent-strong);border-color:var(--accent-strong)}@media(max-width:920px){.contact-direct{position:static;margin-top:var(--space-md);padding-bottom:var(--space-md)}.contact-direct-text{text-align:center}}@media(max-width:1100px){.contact-left-title{font-size:var(--fs-h1);margin-bottom:var(--space-xs)}.contact-left-subtitle{margin-bottom:var(--space-sm)}}@media(max-width:920px){.contact-section-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.contact-left,.contact-right{max-width:100%;padding:5%;display:flex;flex-direction:column;justify-content:center;align-items:center}.contact-right{margin-top:0}.divider{display:none}.contact-form{padding:10px;margin-top:0;max-width:100%}.contact-form input,.contact-form button{font-size:16px;padding:12px;max-width:100%}.contact-left-title{font-size:1.6rem;margin-bottom:5%;margin-top:0;text-align:center}.contact-left-subtitle{font-size:1rem;margin-bottom:10px;text-align:center}.contact-link-btn{padding:8px}.contact-link-btn svg{font-size:22px}.contact-form button{font-size:14px}.form-status{font-size:10px}.contact-form input,.contact-form textarea{margin-bottom:8px}.contact-form textarea{max-width:80%}}.game_window{position:relative;width:100%;height:99%;overflow:hidden;border-radius:8px;background-color:transparent;border:1px solid var(--card-border-shadow);touch-action:manipulation;z-index:100;background:linear-gradient(180deg,var(--bg-gradient-top, rgba(45,23,76,1)),var(--bg-gradient-bottom, rgba(22,11,38,1)))}@media(max-width:600px){.game_window{width:300px;height:600px}}.game_bubble_layer{position:absolute;inset:0;overflow:hidden;z-index:100}.game_bubble{position:absolute;pointer-events:auto;touch-action:manipulation;z-index:100;box-shadow:0 0 4px var(--bubble-pink-glow),inset 0 0 30px var(--accent-strong, --bubble-rim-light);border-radius:50%}.game_bubble:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#fff9,#fff0 70%);border-radius:50%;pointer-events:none}.game_bubble_popped{animation:game_pop .3s forwards;z-index:100}.game_overlay{position:absolute;inset:0;background:#3c202899;display:flex;align-items:center;justify-content:center;z-index:1000}.game_popup{background:var(--card-bg);padding:2.5rem 3rem;border-radius:15px;text-align:center;width:70%;color:#fff}.game_go{margin-top:1.5rem;padding:.8rem 2rem;border-radius:8px;border:none;cursor:pointer;font-weight:600;background:var(--card-bg);color:#fff}@keyframes game_pop{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.7}to{transform:scale(0);opacity:0}}@media(max-width:1100px){.game_window{width:100%;max-height:300px;border-radius:4px;box-shadow:0 4px 15px var(--bubble-rim-light)}.game_popup{padding:.7rem;width:80%;font-size:10px;font-weight:100}.game_go{padding:.6rem 1.8rem;font-size:10px;margin-top:0}}.bubble-section-container{padding:0;display:flex;flex-direction:column;font-family:var(--font-main)}.bubble-section-title{font-size:var(--fs-h2);color:var(--text-main);margin-bottom:var(--space-sm)}.bubble-section-content{display:flex;gap:var(--space-lg);height:80%;margin-top:var(--space-sm)}.bubble-game-area{flex:1;height:100%}.bubble-info-panel{width:240px;flex-shrink:0;display:flex;flex-direction:column;height:100%;overflow:auto;color:var(--text-muted);margin:0;padding:0}.bubble-info-title{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;font-weight:700;margin-bottom:var(--space-xs);color:var(--text-main)}.bubble-description{font-size:var(--fs-body);line-height:1.6;margin-bottom:var(--space-xs)}.bubble-score-panel{margin-top:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-md);color:var(--text-muted);outline:none;background:transparent;border:var(--line-w) solid var(--line-color)}.bubble-score{display:flex;justify-content:space-between;font-size:var(--fs-body);margin-bottom:var(--space-xs);color:var(--text-main)}.bubble-score span{color:var(--text-muted);font-size:var(--fs-label);letter-spacing:var(--ls-wide);text-transform:uppercase}@media(max-width:1100px){.bubble-section-container{padding:0;flex-direction:column;align-items:center}.bubble-section-title{font-size:var(--fs-h3);margin-bottom:var(--space-xs)}.bubble-section-content{flex-direction:column;align-items:center;gap:var(--space-sm);height:auto;width:100%}.bubble-game-area{width:92%;min-height:300px;margin-bottom:var(--space-sm)}.bubble-info-panel{width:92%;height:auto;overflow:visible;margin:0;padding:var(--space-2xs)}.bubble-info-title{font-size:var(--fs-small);margin-bottom:var(--space-2xs)}.bubble-description{font-size:var(--fs-small);line-height:1.4;margin-bottom:var(--space-2xs)}.bubble-score-panel{padding:var(--space-xs);font-size:var(--fs-small)}.bubble-score{flex-direction:column;font-size:var(--fs-small);gap:var(--space-2xs)}}.bubble-scroll-container{overflow:auto;width:100%}.bubble-scroll-container::-webkit-scrollbar{width:12px;height:12px}.bubble-scroll-container::-webkit-scrollbar-track{background:var(--bg-deep-purple);border-radius:6px}.bubble-scroll-container::-webkit-scrollbar-thumb{background-color:var(--accent-blue);border-radius:6px;border:3px solid var(--bg-deep-purple)}.bubble-scroll-container::-webkit-scrollbar-thumb:hover{background-color:var(--accent-dark-blue)}.bubble-scroll-container::-webkit-scrollbar-corner{background:var(--bg-deep-purple)}
