@import"https://fonts.googleapis.com/css2?family=Gowun+Dodum&display=swap";@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css";:root{--font-body: Pretendard, system-ui, sans-serif;--font-display: "Gowun Dodum", system-ui, sans-serif;--font-mono: "Cascadia Code", "JetBrains Mono", Consolas, monospace;--charcoal-950: #1C1B18;--charcoal-900: #1C1B18;--charcoal-850: #23221e;--charcoal-800: #181d1d;--charcoal-700: #222929;--gray-500: #7f8b8b;--gray-300: #bac5c2;--off-white: #f4f1e8;--off-white-muted: #d8d4c9;--teal-500: #04A4BA;--teal-400: #04A4BA;--teal-300: #78d4df;--pink-500: #A55480;--pink-400: #c4739c;--yellow-500: #e8c15d;--text-strong: #f4f1e8;--text-body: #F4F1E8;--text-muted: #a9b3b0;--surface-base: rgba(13, 16, 16, .88);--surface-card: rgba(18, 22, 22, .82);--surface-soft: rgba(244, 241, 232, .055);--surface-space-card: radial-gradient(circle at 86% 14%, rgba(255, 111, 157, .16), transparent 30%), radial-gradient(circle at 14% 84%, rgba(40, 219, 195, .14), transparent 34%), radial-gradient(circle at 56% 48%, rgba(143, 238, 255, .055), transparent 44%), linear-gradient(145deg, rgba(244, 241, 232, .095), rgba(244, 241, 232, .024)), rgba(18, 22, 22, .78);--line-soft: rgba(244, 241, 232, .12);--line-strong: rgba(40, 219, 195, .42);--shadow-soft: 0 24px 80px rgba(0, 0, 0, .34);--shadow-teal: 0 0 34px rgba(40, 219, 195, .18);--showcase-date-surface: linear-gradient(135deg, rgba(7, 8, 8, .88), rgba(18, 22, 22, .74));--showcase-date-border: rgba(244, 241, 232, .18);--showcase-date-shadow: 0 12px 30px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(244, 241, 232, .12);--showcase-date-text-shadow: 0 1px 2px rgba(0, 0, 0, .86), 0 0 14px rgba(196, 115, 156, .6);--focus-ring: none;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--duration-fast: .16s;--duration-medium: .24s;--contact-modal-z: 80;--contact-modal-width: 360px;--contact-kakao-yellow: #fee500;--contact-kakao-ink: #181600;--contact-modal-backdrop: rgba(0, 0, 0, .82);--portfolio-side-rail: clamp(208px, 13vw, 240px);--portfolio-side-offset: clamp(18px, 2vw, 38px);--portfolio-outer-gap: clamp(60px, 4.8vw, 76px);--portfolio-canvas: 1180px;--portfolio-layout-width: calc(var(--portfolio-canvas) + var(--portfolio-side-rail) + var(--portfolio-side-offset));--portfolio-page-left: max(clamp(128px, 10vw, 160px), calc((100vw - var(--portfolio-layout-width)) / 2));--portfolio-side-right: max(var(--portfolio-side-offset), calc((100vw - var(--portfolio-layout-width)) / 2));color:var(--text-strong);background:var(--charcoal-950);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(120,212,223,.56) rgba(28,27,24,.5);scroll-behavior:smooth;scroll-padding-top:var(--space-6);background:var(--charcoal-950)}html::-webkit-scrollbar,body::-webkit-scrollbar{width:10px;height:10px}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:#1c1b1880}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{border:2px solid rgba(28,27,24,.5);border-radius:var(--radius-pill);background:#78d4df8f}body{min-width:320px;margin:0;overflow-x:hidden;scrollbar-width:thin;background:#1c1b18;color:var(--text-body);font-family:var(--font-body);line-height:1.72;word-break:keep-all;overflow-wrap:anywhere}body:before{position:fixed;inset:0;z-index:-1;pointer-events:none;background:#1c1b18;content:""}html.modalLocked,body.modalLocked{overscroll-behavior:none;scrollbar-width:none}body.modalLocked .sideIndex{pointer-events:none}button,a,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}img,svg,iframe{max-width:100%}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid rgba(120,212,223,.9);outline-offset:3px;box-shadow:0 0 0 4px #78d4df24}:where(a,button){transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease,background var(--duration-fast) ease,box-shadow var(--duration-fast) ease,transform var(--duration-fast) ease}:where(h1,h2,h3,h4,p){margin-top:0;min-width:0;overflow-wrap:anywhere}:where(h1,h2,h3,h4,.profileIdentity strong,.projectCard strong,.screenshotSlot strong,.briefCard h4){color:var(--text-strong);font-family:var(--font-display);font-weight:400;letter-spacing:-.01em}:where(p,li,dd,span,strong,em){min-width:0}.pageShell{position:relative;width:min(var(--portfolio-canvas),calc(100vw - var(--portfolio-side-rail) - var(--portfolio-side-offset) - (var(--portfolio-outer-gap) * 2)));max-width:calc(100vw - var(--space-8));margin:0 auto 0 var(--portfolio-page-left);padding:clamp(var(--space-5),3vw,var(--space-8)) 0 var(--space-16)}.sideIndex{position:fixed;top:50%;right:var(--portfolio-side-right);z-index:18;display:grid;gap:5px;width:var(--portfolio-side-rail);max-height:min(78vh,620px);padding:var(--space-3) clamp(42px,3vw,52px) var(--space-3) var(--space-3);overflow:hidden;transform:translateY(-50%);border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.sideIndexRail{position:absolute;display:inline-flex;top:var(--space-3);right:14px;bottom:var(--space-3);width:3px;overflow:hidden;border-radius:var(--radius-pill);background:#f4f1e824}.sideIndexRail span{display:block;width:100%;height:calc(var(--scroll-progress, 0) * 100%);border-radius:inherit;background:linear-gradient(180deg,var(--teal-400),var(--pink-500));box-shadow:0 0 18px #28dbc37a,0 0 18px #ff6f9d38}.sideIndex a{position:relative;display:flex;align-items:center;justify-content:flex-end;min-height:24px;padding:3px 44px 3px var(--space-2);border-radius:var(--radius-pill);color:var(--text-muted);font-size:clamp(9.5px,.75vw,11px);font-weight:850;line-height:1.24;text-align:right;text-decoration:none;white-space:nowrap}.sideIndex a:after{position:absolute;top:50%;right:8px;width:7px;height:7px;transform:translateY(-50%);border-radius:var(--radius-pill);background:#d8d4c994;content:""}.sideIndex a:hover,.sideIndex a:focus-visible,.sideIndex a.active{transform:translate(-4px);color:var(--text-strong)}.sideIndex a:hover:after,.sideIndex a:focus-visible:after,.sideIndex a.active:after{width:10px;height:10px;background:var(--teal-400);box-shadow:0 0 0 4px #28dbc324,0 0 18px #28dbc385}.sideIndexGroup{margin-top:6px;color:var(--text-strong);font-size:12px}.sideIndexGroup:first-child{margin-top:0}.sideIndexGroup:after{border:2px solid rgba(255,111,157,.54);background:var(--charcoal-900)}.sideIndexProject{justify-self:end;width:100%;min-height:24px;padding-right:44px;padding-left:var(--space-2);color:#d8d4c9c2;font-size:clamp(9px,.68vw,10.5px)}.sideIndexProject strong:before{margin-right:7px;color:var(--teal-300);content:"•"}.sideIndex strong{display:inline-block;max-width:100%;overflow:visible;color:inherit;font-size:inherit;font-weight:inherit;text-overflow:clip;white-space:nowrap}.sideIndex .sideIndexProject strong{max-width:132px;line-height:1.14;white-space:normal}.heroSection{position:relative;display:grid;grid-template-areas:"copy";grid-template-columns:minmax(0,1280px);align-items:center;justify-content:center;column-gap:0;row-gap:0;min-height:auto;padding:clamp(72px,8vh,104px) 0 clamp(28px,4vh,48px);overflow:visible;background:transparent}.heroSection:before,.heroSection:after{display:none}.heroNav{position:absolute;top:var(--space-8);left:50%;z-index:4;display:flex;align-items:center;gap:clamp(var(--space-4),3vw,var(--space-8));max-width:calc(100% - 48px);min-height:56px;padding:0;overflow-x:hidden;transform:translate(-50%);border:0;border-bottom:1px solid rgba(244,241,232,.18);background:transparent;box-shadow:none;scrollbar-width:none}.heroNav::-webkit-scrollbar{display:none}.heroNav a,.heroActions a,.liveFrameHead a,.mobileDemoButton,.projectDemoLink{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}.heroNav a{min-height:44px;min-width:auto;padding:0 var(--space-4);border:1px solid rgba(255,111,157,.34);border-radius:var(--radius-pill);background:#ff6f9d14;color:var(--text-strong);font-size:clamp(13px,.95vw,14px);font-weight:950;text-align:left}.heroNav a b{margin-right:5px;color:var(--text-strong);font-weight:950}.heroNav a:hover,.heroNav a:focus-visible,.heroNav a:first-child{color:var(--pink-500)}.heroTechLayout{--hero-tech-gap: clamp(var(--space-4), 2vw, var(--space-6));display:flex;align-items:stretch;gap:var(--hero-tech-gap);margin-bottom:clamp(var(--space-5),2.5vw,var(--space-8))}.heroTechLayout .heroSection{flex:0 0 calc((100% - var(--hero-tech-gap)) * .4);grid-template-columns:minmax(0,1fr);align-content:center;justify-content:start;width:calc((100% - var(--hero-tech-gap)) * .4);min-width:0;min-height:clamp(244px,22vw,340px);padding:clamp(var(--space-5),2vw,var(--space-8)) clamp(var(--space-6),3vw,var(--space-12));overflow:hidden;border:1px solid rgba(92,211,255,.26);border-radius:var(--radius-md);background:linear-gradient(90deg,#04070b99,#04070b5c 55%,#04070b33),url(/generated/hero-tech-panel-bg.png) center / cover no-repeat,#07090d;box-shadow:0 18px 52px #00000057,inset 0 1px #f4f1e814,inset 0 0 0 1px #78d4df0f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.heroTechLayout .heroSection:before{position:absolute;inset:0;z-index:0;display:block;border-radius:inherit;background:radial-gradient(circle at 18% 18%,rgba(14,22,31,.22),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.055),transparent 24%);opacity:1;content:""}.heroTechLayout .heroSection:after{position:absolute;inset:0;z-index:0;display:block;border-radius:inherit;background:linear-gradient(90deg,#03050885,#0305081a 64%,#03050805),linear-gradient(180deg,rgba(3,5,8,.16),transparent 36%,rgba(3,5,8,.24));pointer-events:none;content:""}.techStackPanel{flex:0 0 calc((100% - var(--hero-tech-gap)) * .6);width:calc((100% - var(--hero-tech-gap)) * .6);min-width:0}.techStackGlass{position:relative;display:grid;align-content:stretch;gap:var(--space-5);height:100%;min-height:clamp(360px,34vw,560px);padding:0;overflow:hidden;border:1px solid rgba(40,219,195,.24);border-radius:var(--radius-lg);background:#1c1b18;box-shadow:0 24px 80px #00000047,inset 0 1px #f4f1e81f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.techStackMap{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center;border-radius:inherit;opacity:1;filter:saturate(1.02) contrast(1.03) brightness(1.06)}.techStackGlass:after{position:absolute;inset:0;z-index:2;pointer-events:none;background:none;content:""}.techStackGlass:before{position:absolute;right:-42px;bottom:-50px;width:138px;height:138px;transform:rotate(24deg);border-radius:34px;background:linear-gradient(135deg,#ff6f9d47,#28dbc338);filter:blur(2px);content:"";display:none;opacity:.82}.techStackEyebrow{position:relative;z-index:1;margin:0;color:var(--teal-300);font-size:clamp(18px,1.55vw,24px);text-align:center}.techStackGrid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(var(--space-2),1vw,var(--space-3))}.techStackItem{display:grid;place-items:center;gap:4px;min-height:clamp(74px,5.6vw,96px);padding:var(--space-3);border:1px solid rgba(244,241,232,.14);border-radius:var(--radius-md);background:#07080857;box-shadow:inset 0 1px #f4f1e812,0 14px 32px #00000038;text-align:center}.techStackItem strong{color:var(--text-strong);font-size:clamp(14px,1vw,17px);font-weight:900}.techStackItem em{color:var(--text-muted);font-size:11px;font-style:normal;font-weight:800}.heroCopy,.codePanel,.avatarPanel{position:relative;z-index:2;min-width:0;align-self:center}.heroCopy{grid-area:copy;align-self:center;width:100%;margin:0;padding-top:0;text-align:left}.heroTitle{display:grid;justify-items:center;gap:clamp(10px,1vw,16px);margin:0;font-size:clamp(34px,calc(3.2vw - 2px),62px);line-height:1.08}.heroTitleStacked{justify-items:start;gap:clamp(var(--space-1),.55vw,var(--space-2));font-size:clamp(26px,2.45vw,34px);line-height:1.2}.heroTitleLine{display:block}.heroTitleSingle{display:inline-flex;align-items:baseline;justify-content:center;max-width:100%;white-space:nowrap}.heroTitlePlain{background:none;color:var(--text-strong);-webkit-text-fill-color:var(--text-strong);font-size:1em;font-weight:950}.heroTitleOpening{display:inline-flex;align-items:baseline;gap:.18em;font-size:calc(1em + 8px);font-weight:950;text-shadow:none}.heroTitleOpening .heroTitlePink{color:var(--pink-400);-webkit-text-fill-color:var(--pink-400);text-shadow:0 0 20px rgba(255,111,157,.34)}.heroTitleOpening .heroTitleBlue{color:var(--teal-300);-webkit-text-fill-color:var(--teal-300);text-shadow:0 0 20px rgba(143,230,210,.3)}.heroTitleOpening span,.heroTitleConclusion span{background:none}.heroTitleConclusion{background:linear-gradient(90deg,var(--teal-300),#d7b8ff 82%);-webkit-background-clip:text;background-clip:text;color:var(--teal-300);-webkit-text-fill-color:transparent;font-size:1em;font-weight:950}.leadQuestion{color:var(--pink-400)}.heroCopy h1 .titleLine{white-space:nowrap}.heroCopy h1 .titlePlain{background:none;color:var(--text-strong)}.heroCopy h1 .accentOne{background:linear-gradient(90deg,var(--pink-400),var(--pink-500));-webkit-background-clip:text;background-clip:text;color:transparent}.heroCopy h1 .accentTwo{background:linear-gradient(90deg,var(--teal-300),#d7b8ff);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:950}.heroIdentityBadge,.heroKicker,.welcomePill,.heroCopy h1,.heroLead,.heroActions,.avatarPanel{animation:calmAssemble var(--duration-medium) ease both}.heroCopy h1{animation-delay:70ms}.heroLead{position:relative;z-index:3;display:grid;gap:clamp(2px,.28vw,5px);width:auto;max-width:100%;margin:clamp(22px,2.4vw,46px) 0 0;padding:0;border:0;color:var(--text-strong);font-family:var(--font-display);font-size:clamp(31px,calc(2.3vw - 2px),41px);font-weight:950;line-height:1.28;text-align:center;text-shadow:0 0 24px rgba(244,241,232,.2),0 10px 42px rgba(0,0,0,.62)}.heroLeadStacked{justify-items:start;margin-left:0;gap:clamp(var(--space-1),.55vw,var(--space-2));margin-top:clamp(var(--space-3),1.4vw,var(--space-5));font-size:clamp(26px,2.45vw,34px);line-height:1.2;text-align:left}.heroLeadStacked p{font-size:inherit}.heroKicker,.welcomePill,.eyebrow,.infoCard span,.projectCard>.projectType,.profileIdentity span,.demoRow strong,.previewDoc strong,.scheduleButtons span,.errorList span{color:var(--teal-400);font-weight:900}.heroIdentityBadge{position:absolute;top:var(--space-6);left:clamp(var(--space-6),5vw,92px);z-index:4;display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;color:var(--text-strong)}.heroIdentityBadge span{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid rgba(244,241,232,.34);border-radius:50%;background:#f4f1e81a;color:var(--pink-400);font-weight:950}.heroIdentityBadge strong{font-size:14px;font-weight:950}.welcomePill{display:inline-flex;align-items:center;min-height:30px;margin-bottom:var(--space-5);padding:0 var(--space-3);border:1px solid rgba(40,219,195,.24);border-radius:var(--radius-sm);background:#28dbc312;font-size:12px}.heroCopy>p{color:var(--text-body);font-size:clamp(17px,2vw,24px);font-weight:650;line-height:1.86}.heroKicker{margin-bottom:var(--space-4);color:var(--pink-500);font-size:14px;letter-spacing:0;text-transform:uppercase}.heroLead p{margin:0;color:inherit;font:inherit;line-height:inherit;white-space:normal;overflow-wrap:normal;word-break:keep-all}.heroLeadEmphasis{color:var(--pink-400);letter-spacing:.035em}.heroLeadWhite{color:var(--text-strong)}.heroMobileBreak{display:none}.heroLeadSmall{color:var(--text-strong);font-size:.62em;letter-spacing:.018em}.heroLeadQuestion{background:none;color:var(--text-strong);-webkit-text-fill-color:var(--text-strong)}.heroLeadFocus{display:inline-block;max-width:100%;background:none;color:#5ab7ff;-webkit-text-fill-color:#5ab7ff;font-size:clamp(34px,calc(2.35vw + 8px),42px);line-height:1.04;text-shadow:0 0 18px rgba(90,183,255,.34);overflow-wrap:normal;word-break:keep-all}.heroLead .identityLine{margin-bottom:var(--space-2);color:var(--text-strong);font-size:clamp(18px,2vw,25px);line-height:1.25}.heroActions{position:relative;z-index:3;grid-area:actions;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-3);margin-top:0}.anchorAlias{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}.legacyAnchorFallback{display:none}.heroActions a,.liveFrameHead a,.mobileDemoButton,.projectDemoLink{min-height:44px;padding:0 var(--space-5);border:1px solid rgba(40,219,195,.58);border-radius:var(--radius-sm);background:#28dbc31c;color:var(--text-strong);font-size:13px;font-weight:900;box-shadow:var(--shadow-teal)}.heroActions a:hover,.heroActions a:focus-visible,.liveFrameHead a:hover,.mobileDemoButton:hover,.projectDemoLink:hover,.projectDemoLink:focus-visible{transform:translateY(-2px);border-color:#ff6f9d99;background:#28dbc329;color:var(--pink-400)}.codePanel{width:100%;min-height:392px;overflow:hidden;border:1px solid rgba(40,219,195,.52);border-radius:var(--radius-md);background:#070808d1;box-shadow:var(--shadow-soft),var(--shadow-teal)}.codeChrome{display:flex;align-items:center;gap:7px;height:44px;padding:0 var(--space-4);border-bottom:1px solid var(--line-soft);background:#121616f0}.codeChrome span,.windowDot{width:10px;height:10px;flex:0 0 10px;border-radius:50%}.codeChrome .red,.redDot{background:var(--pink-500)}.codeChrome .yellow,.yellowDot{background:#e8c15d}.codeChrome .green,.greenDot{background:var(--teal-500)}.codeChrome strong,.browserFrameBar strong{margin-left:var(--space-3);color:var(--text-muted);font-size:12px;font-weight:850}.codePanel pre,.jsonPreview,.fixScreen pre{margin:0;overflow:auto;color:#dff8f3;font-family:var(--font-mono);font-size:12px;font-weight:650;line-height:1.68;white-space:pre-wrap}.codePanel pre{padding:var(--space-10) var(--space-8) var(--space-8)}.codePanel code,.codeLine{display:block;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}.token.keyword{color:var(--pink-400)}.token.variable{color:var(--off-white)}.token.operator{color:var(--gray-300)}.token.property{color:var(--teal-400)}.token.string{color:#f0d9a8}.token.boolean,.token.number{color:#bdeebf}.avatarPanel{display:grid;gap:var(--space-4);width:100%;padding:clamp(var(--space-4),4vw,var(--space-8));overflow:hidden;border:1px solid rgba(40,219,195,.36);border-radius:var(--radius-lg);background:radial-gradient(circle at 32% 28%,rgba(255,111,157,.16),transparent 15rem),radial-gradient(circle at 78% 72%,rgba(40,219,195,.18),transparent 16rem),var(--surface-card);box-shadow:var(--shadow-soft),var(--shadow-teal)}.workspaceAvatar{position:relative;display:grid;min-height:360px;overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:radial-gradient(circle at 28% 18%,rgba(232,193,93,.16),transparent 13rem),linear-gradient(145deg,rgba(244,241,232,.1),transparent 36%),linear-gradient(180deg,#07080829,#070808a3)}.workbenchIllustration{position:relative;z-index:1;display:block;width:100%;height:100%;min-height:360px;object-fit:cover;transition:transform var(--duration-medium) ease,filter var(--duration-medium) ease,opacity var(--duration-medium) ease}.heroExplainLayer{position:absolute;right:var(--space-5);bottom:var(--space-5);left:var(--space-5);z-index:2;display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid rgba(40,219,195,.28);border-radius:var(--radius-md);background:#070808b8;box-shadow:var(--shadow-teal);opacity:0;transform:translateY(var(--space-3));transition:opacity var(--duration-medium) ease,transform var(--duration-medium) ease;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.heroExplainLayer span,.projectExplanation>span{color:var(--teal-300);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.heroExplainLayer p{margin:0;color:var(--text-strong);font-size:14px;font-weight:750;line-height:1.72}.avatarPanel:hover .workbenchIllustration,.avatarPanel:focus-visible .workbenchIllustration{transform:scale(1.015);filter:blur(2px) saturate(.9) brightness(.66);opacity:.78}.avatarPanel:hover .heroExplainLayer,.avatarPanel:focus-visible .heroExplainLayer{opacity:1;transform:none}.avatarCaption{display:grid;gap:var(--space-1);padding:var(--space-4);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-soft)}.avatarCaption span{color:var(--teal-400);font-size:12px;font-weight:900}.avatarCaption strong{color:var(--text-strong);font-family:var(--font-display);font-size:21px;font-weight:400;line-height:1.38}.aboutSection,.introSection,.experienceSection,.workSection{padding:clamp(var(--space-5),3vw,var(--space-8)) 0 0}.aboutSection{height:0;padding:0;overflow:hidden}.eyebrow{margin:0 0 var(--space-2);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.sectionTitle{display:grid;gap:var(--space-2);max-width:920px;margin-bottom:var(--space-5)}.sectionTitle h2{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.24}.sectionEyebrowLarge{color:var(--text-strong);font-size:clamp(24px,1.55vw,28px);letter-spacing:.04em}.sectionTitle p:last-child{max-width:880px;margin:0;color:var(--text-muted);line-height:1.82;white-space:pre-line}.sectionTitle p.sectionEyebrowLarge{color:var(--text-strong)}.aboutGrid,.experienceGrid,.projectGrid,.detailBody,.detailGrid,.projectBrief,.screenshotGrid,.playgroundGrid,.docChipRow,.lifeStatRow,.kpiGrid,.scheduleButtons,.choiceRow,.statGrid{display:grid;min-width:0}.aboutGrid,.experienceGrid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:var(--space-4)}.infoCard,.profileCard,.letterPanel,.timelineCard,.projectCard,.detailPanel,.briefCard,.screenshotPanel,.screenshotSlot,.detailBody section,.featureList,.demoTable,.playgroundPanel,.liveFramePanel,.mobileShowcase,.phoneMock,.mobileStep,.previewDoc,.jsonPreview,.resultText,.browserFrame,.caredocFramePanel{border:1px solid var(--line-soft);background:var(--surface-card);box-shadow:var(--shadow-soft)}.infoCard,.timelineCard,.briefCard,.detailBody section,.featureList,.demoTable,.playgroundPanel,.liveFramePanel,.mobileShowcase,.caredocDetailPanel{min-width:0;padding:var(--space-5);border-radius:var(--radius-md)}.briefCard{display:grid;align-content:start;justify-items:stretch;text-align:left;border-color:#f4f1e838;background:linear-gradient(145deg,#f4f1e80e,#f4f1e805),#070808e0;box-shadow:0 30px 78px #0000008a,inset 0 1px #f4f1e81a}.infoCard{min-height:180px}.infoCard span,.timelineContent>span,.projectCard>.projectType{display:block;margin-bottom:var(--space-2);font-size:12px}.infoCard strong,.timelineContent>strong{display:block;margin-bottom:var(--space-3);color:var(--text-strong);font-size:18px;line-height:1.35}.experienceCard h3,.timelineCard h3{margin:0 0 var(--space-3);font-size:clamp(22px,3vw,30px);line-height:1.36;white-space:pre-line}.infoCard p,.timelineCard p,.letterPanel p,.projectCard p,.detailBody p,.detailHead p:not(.eyebrow),.featureList p,.demoRow span,.briefCard li,.screenshotSlot p,.screenshotNote,.modalCaption p:not(.eyebrow),.previewDoc p,.resultText,.lockedDemo p,.mobileBenefit,.todayCard p,.mobileErrorCards p,.mobileStep p{color:var(--text-body);line-height:1.74;white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere}.letterPanel{margin-top:var(--space-5);padding:clamp(var(--space-6),4vw,var(--space-12));border-radius:var(--radius-lg)}.resumeText{max-width:980px;margin:0;font-size:16.5px;font-weight:620;line-height:1.95}.introPage{display:grid;grid-template-columns:minmax(260px,420px);gap:var(--space-6);align-items:start}.profileCard{min-width:0;padding:var(--space-5);border-radius:var(--radius-lg)}.profileIntroHeader{display:grid;grid-template-columns:92px minmax(0,1fr);gap:var(--space-4);align-items:center}.profilePhotoFrame{overflow:hidden;width:92px;aspect-ratio:1 / 1;border:1px solid rgba(40,219,195,.42);border-radius:28px;background:#0708089e;box-shadow:var(--shadow-teal)}.profilePhotoFrame img,.screenshotSlot img,.modalPreview img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover}.profileInitialAvatar{display:grid;place-items:center;width:min(100%,170px);margin:0 auto;aspect-ratio:1 / 1;border:1px solid rgba(40,219,195,.28);border-radius:var(--radius-lg);background:radial-gradient(circle at 34% 28%,rgba(255,111,157,.18),transparent 46%),linear-gradient(145deg,#28dbc32e,#070808d1)}.profileInitialAvatar span{color:var(--text-strong);font-family:var(--font-display);font-size:64px;line-height:1}.profileIdentity{display:grid;gap:var(--space-1);min-width:0;text-align:left}.profileIdentity strong{font-size:28px;line-height:1.12}.profileIdentity span{font-size:13px}.profileFacts{display:grid;gap:var(--space-2);margin:var(--space-5) 0 0}.profileFacts div{display:grid;gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--line-soft)}.profileFacts dt{color:var(--text-muted);font-size:11px;font-weight:900}.profileFacts dd{margin:0;color:var(--text-body);font-size:13px;font-weight:700;line-height:1.55;white-space:pre-line}.introPage .letterPanel{min-height:680px;margin-top:0}.introPage .aboutSummaryPanel{min-height:auto}.aboutKeywordGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-5)}.aboutKeywordGrid span{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 var(--space-3);border:1px solid rgba(40,219,195,.28);border-radius:var(--radius-pill);background:#28dbc313;color:var(--teal-300);font-size:clamp(14px,1.6vw,17px);font-weight:900;text-align:center}.summaryLead{margin-bottom:var(--space-5);color:var(--text-strong);font-size:clamp(18px,2vw,24px);font-weight:750;line-height:1.72}.aboutShortIntro{max-width:820px;margin-bottom:var(--space-5);font-size:16px;font-weight:680}.resumeDetails{border:1px solid rgba(40,219,195,.24);border-radius:var(--radius-md);background:#28dbc30e}.resumeDetails summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:58px;padding:0 var(--space-5);color:var(--teal-300);cursor:pointer;font-weight:900;list-style:none}.resumeDetails summary::-webkit-details-marker{display:none}.resumeDetails summary:after{content:"+";color:var(--pink-400);font-size:22px;line-height:1}.resumeDetails[open] summary:after{content:"-"}.resumeDetails .resumeText{padding:0 var(--space-5) var(--space-5);border-top:1px solid var(--line-soft)}.experienceTimeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);max-width:none}.timelineCard{position:relative;display:grid;align-content:start;gap:var(--space-4);min-height:clamp(500px,58vh,560px);padding:clamp(var(--space-5),2.2vw,var(--space-8));overflow:hidden;border:1px solid rgba(40,219,195,.2);border-radius:var(--radius-lg);background:radial-gradient(circle at 18% 0%,rgba(40,219,195,.14),transparent 34%),linear-gradient(145deg,rgba(244,241,232,.055),transparent 44%),var(--surface-card);box-shadow:var(--shadow-soft)}.timelineMarker{display:grid;align-items:center;justify-content:flex-start;justify-self:stretch;min-height:auto;padding:0;border:0;border-radius:0;background:transparent;color:var(--yellow-500);font-family:var(--font-display);font-size:clamp(23px,2.15vw,35px);font-weight:850;letter-spacing:-.02em;line-height:1.28;text-align:left;white-space:normal}.timelineMarker span{display:block;justify-self:start;text-align:left}.timelineMarker strong{display:block;justify-self:start;margin-top:4px;color:var(--pink-400);font-family:var(--font-body);font-size:clamp(14px,1vw,17px);font-weight:900;line-height:1.2;text-align:left}.timelineCard:nth-child(2) .timelineMarker{color:var(--yellow-500)}.timelineContent{display:grid;min-width:0;gap:var(--space-3);padding-top:clamp(var(--space-10),4vw,var(--space-12))}.timelineContent>span{position:absolute;top:clamp(var(--space-5),2.6vw,var(--space-8));right:clamp(var(--space-5),2.6vw,var(--space-8));display:inline-flex;align-items:center;justify-content:center;min-height:clamp(34px,2.4vw,38px);margin:0;padding:0 clamp(var(--space-3),1.2vw,var(--space-4));border:1px solid rgba(255,111,157,.42);border-radius:var(--radius-pill);background:#ff6f9d1c;color:var(--text-strong);font-size:14px;font-weight:950}.timelineContent>strong{margin:0;color:var(--text-muted);font-size:14px}.projectGrid{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;gap:clamp(var(--space-4),1.6vw,var(--space-6));padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.projectGridRepeat{margin-top:clamp(var(--space-8),5vw,var(--space-12));padding-top:var(--space-6);border-top-color:var(--line-soft);border-radius:0}.showcaseImagePanel{margin-bottom:var(--space-5)}.showcaseImageGrid{display:grid;width:100%;max-width:100%;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(var(--space-3),1.2vw,var(--space-5))}.showcaseImageCard{position:relative;display:block;width:100%;max-width:100%;min-width:0;aspect-ratio:44 / 35;overflow:hidden;border:1px solid rgba(40,219,195,.2);border-radius:var(--radius-lg);background:var(--surface-space-card);box-shadow:0 18px 44px #0000003d,inset 0 1px #f4f1e814;color:inherit;cursor:pointer;text-align:left;transform-origin:center;transition:transform var(--duration-medium) ease,box-shadow var(--duration-medium) ease}.showcaseImageCard:hover,.showcaseImageCard:focus-within{z-index:2;transform:translate(10px,-10px) rotate(1.2deg) scale(1.035);box-shadow:0 28px 80px #00000061}.showcaseImageCard:before{display:none;content:""}.showcaseImageCard>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#07080842}.showcaseImageOverlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-2);padding:clamp(var(--space-3),1.25vw,var(--space-5));background:linear-gradient(180deg,#0708081f,#0708080a 38%,#0708082e)}.showcaseImageOverlay strong{order:2;color:var(--text-strong);font-size:clamp(18px,1.55vw,24px);font-weight:500;letter-spacing:-.04em;line-height:1.2;text-shadow:none;white-space:nowrap}.showcaseImageOverlay em{order:1;align-self:flex-start;max-width:100%;padding:3px 8px;border:1px solid var(--showcase-date-border);border-radius:var(--radius-pill);background:var(--showcase-date-surface);box-shadow:var(--showcase-date-shadow);color:var(--pink-400);font-size:clamp(10px,.72vw,12px);font-style:normal;font-weight:850;letter-spacing:0;line-height:1.2;text-shadow:var(--showcase-date-text-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.showcaseExplanation{position:absolute;inset:0;z-index:5;display:grid;align-items:center;justify-items:center;padding:var(--space-5);background:#0708088f;box-shadow:none;opacity:0;pointer-events:none;transform:none;transition:opacity var(--duration-medium) ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.showcaseExplanation strong{color:var(--text-strong);font-family:var(--font-display);font-size:15px;font-weight:400;line-height:1.36;text-align:center;white-space:pre-line}.showcaseImageCard:hover>img,.showcaseImageCard:focus-within>img{filter:saturate(.9) brightness(.58)}.showcaseImageCard:hover .showcaseExplanation,.showcaseImageCard:focus-within .showcaseExplanation{opacity:1;transform:none}.showcaseContactCard{background:radial-gradient(circle at 18% 10%,rgba(232,193,93,.18),transparent 36%),#070808a3}.projectCard{position:relative;display:block;min-width:0;padding:0;overflow:hidden;border-radius:var(--radius-lg);border:1px solid rgba(40,219,195,.2);background:var(--surface-space-card);box-shadow:0 18px 44px #0000003d,inset 0 1px #f4f1e814;color:inherit;cursor:pointer;text-align:left;transform-origin:center;transition:transform var(--duration-medium) ease,box-shadow var(--duration-medium) ease}.projectCard:hover,.projectCard:focus-visible{z-index:2;box-shadow:0 28px 80px #00000061}.projectCard:nth-child(1):hover,.projectCard:nth-child(1):focus-visible{transform:translate(-10px,-10px) rotate(-1.4deg) scale(1.035)}.projectCard:nth-child(2):hover,.projectCard:nth-child(2):focus-visible{transform:translate(-10px,-10px) rotate(-1.4deg) scale(1.035)}.projectCard:nth-child(3):hover,.projectCard:nth-child(3):focus-visible{transform:translate(-10px,-10px) rotate(-1.1deg) scale(1.035)}.projectCard:nth-child(4):hover,.projectCard:nth-child(4):focus-visible{transform:translate(-10px,-10px) rotate(-1.1deg) scale(1.035)}.projectTeaserVisual{position:relative;display:block;width:100%;min-height:0;overflow:hidden;border-radius:inherit;background:#0708087a}.projectTeaserVisual:before{position:absolute;inset:0;z-index:1;display:none;border:0;border-radius:inherit;background:transparent;content:"";opacity:0;pointer-events:none}.projectVisualPane{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:16 / 9;height:auto;padding:0;overflow:hidden;border-bottom:1px solid rgba(40,219,195,.16);border-radius:17px 17px 0 0;background:linear-gradient(145deg,#28dbc324,#ff6f9d14),#070808ad;clip-path:inset(0 round 17px 17px 0 0);contain:paint;isolation:isolate}.projectVisualPane:before{position:absolute;inset:0;display:block;border-radius:inherit;background-image:var(--project-image);background-position:center;background-repeat:no-repeat;background-size:cover;content:"";filter:blur(16px) saturate(1.08);opacity:.52;pointer-events:none;transform:scale(1.12)}.projectVisualPane>img{position:relative;z-index:1;display:block;width:100%;height:100%;min-height:100%;border-radius:0;object-fit:contain;object-position:center}.projectCardChrome{position:absolute;inset:0;z-index:2;display:grid;align-content:end;gap:var(--space-2);padding:clamp(var(--space-5),1.8vw,var(--space-8));background:linear-gradient(180deg,#07080800,#0708082e)}.projectCardChrome .projectType{color:var(--teal-300);font-size:12px;font-weight:900}.projectCardChrome strong{color:var(--text-strong);font-size:clamp(18px,1.55vw,24px);font-weight:520;line-height:1.2}.projectCardChrome em{justify-self:start;min-width:42px;padding:6px var(--space-2);border:1px solid rgba(40,219,195,.28);border-radius:var(--radius-pill);background:#28dbc317;color:var(--teal-300);font-size:12px;font-style:normal;font-weight:900;text-align:center}.visualFrame{position:absolute;inset:0;overflow:hidden;border:1px solid rgba(244,241,232,.18);border-radius:18px 14px 20px 12px;background:radial-gradient(circle at 34% 28%,rgba(255,111,157,.22),transparent 34%),linear-gradient(145deg,#28dbc32e,#f4f1e809);box-shadow:inset 0 1px #f4f1e814,var(--shadow-teal)}.visualFrame:before,.visualFrame:after,.visualFrame span{position:absolute;display:block;content:""}.projectVisual-desk .visualFrame:before{right:10px;bottom:28px;left:8px;height:12px;border:1px solid rgba(244,241,232,.24);border-radius:var(--radius-pill);background:#f4f1e81f}.projectVisual-desk .visualFrame:after{top:25px;left:18px;width:32px;height:42px;border:1px solid rgba(40,219,195,.42);border-radius:10px 10px 6px 6px;background:#0d1010bd;transform:rotate(-4deg)}.projectVisual-desk .visualFrame span:nth-child(1){right:12px;bottom:42px;width:18px;height:34px;border-top:4px solid var(--pink-400);border-right:4px solid var(--pink-400);transform:skew(-12deg)}.projectVisual-desk .visualFrame span:nth-child(2){right:18px;bottom:20px;width:18px;height:22px;border:1px solid rgba(244,241,232,.24);border-radius:5px 5px 9px 9px;background:#f4f1e81a}.projectVisual-desk .visualFrame span:nth-child(3){left:20px;top:37px;width:24px;height:3px;border-radius:var(--radius-pill);background:var(--teal-400);box-shadow:0 10px #28dbc36b,0 20px #28dbc338}.projectVisual-browser .visualFrame:before{top:18px;right:9px;left:9px;height:56px;border:1px solid rgba(244,241,232,.22);border-radius:var(--radius-sm);background:linear-gradient(180deg,#f4f1e82e 0 15px,#070808ad 15px 100%);transform:rotate(2deg)}.projectVisual-browser .visualFrame:after{left:18px;bottom:24px;width:38px;height:16px;border:1px dashed rgba(40,219,195,.46);border-radius:var(--radius-pill)}.projectVisual-browser .visualFrame span:nth-child(1){top:25px;left:17px;width:5px;height:5px;border-radius:var(--radius-pill);background:var(--pink-500);box-shadow:9px 0 0 var(--yellow-500),18px 0 0 var(--teal-500)}.projectVisual-browser .visualFrame span:nth-child(2){top:44px;left:17px;width:38px;height:4px;border-radius:var(--radius-pill);background:#28dbc394;box-shadow:0 10px #ff6f9d61}.projectVisual-browser .visualFrame span:nth-child(3){right:15px;bottom:27px;width:6px;height:6px;border-radius:var(--radius-pill);background:var(--pink-400)}.projectVisual-shelf .visualFrame:before{right:9px;bottom:25px;left:9px;height:4px;border-radius:var(--radius-pill);background:#f4f1e838;box-shadow:0 -24px #f4f1e81f,0 -48px #f4f1e814}.projectVisual-shelf .visualFrame:after{top:18px;left:15px;width:12px;height:74px;border-radius:8px 8px 4px 4px;background:var(--teal-500);transform:rotate(-5deg);box-shadow:15px 3px #ff6f9dc7,31px -2px #f4f1e847}.projectVisual-shelf .visualFrame span:nth-child(1){right:14px;bottom:34px;width:22px;height:18px;border:1px solid rgba(40,219,195,.44);border-radius:6px}.projectVisual-shelf .visualFrame span:nth-child(2){right:17px;bottom:39px;width:16px;height:3px;border-radius:var(--radius-pill);background:var(--teal-300);box-shadow:0 6px #28dbc35c}.projectVisual-document .visualFrame:before{top:20px;left:17px;width:34px;height:56px;border:1px solid rgba(244,241,232,.26);border-radius:8px 12px 8px 8px;background:#f4f1e81f;transform:rotate(-5deg)}.projectVisual-document .visualFrame:after{right:13px;bottom:22px;width:34px;height:24px;border:1px solid rgba(40,219,195,.44);border-radius:9px;background:#0708088f;transform:rotate(4deg)}.projectVisual-document .visualFrame span:nth-child(1){top:38px;left:24px;width:23px;height:3px;border-radius:var(--radius-pill);background:var(--teal-400);box-shadow:0 10px #28dbc35c,0 20px #ff6f9d57}.projectVisual-document .visualFrame span:nth-child(2){right:22px;bottom:30px;width:9px;height:9px;border-radius:50%;background:var(--pink-400);box-shadow:12px 0 #28dbc3b3}.scheduleButtons button.active,.choiceRow button:hover,.choiceRow button:focus-visible{transform:translateY(-2px);border-color:var(--line-strong);background:#28dbc318;box-shadow:var(--shadow-teal)}.visualFrame{transition:transform var(--duration-medium) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.projectExplanation{position:relative;z-index:2;display:block;min-width:0;min-height:128px;padding:18px 18px 20px;border-top:1px solid rgba(244,241,232,.06);background:linear-gradient(135deg,rgba(40,219,195,.075),transparent 52%),#121616e6;box-shadow:none;opacity:1;pointer-events:none;transform:none;transition:background var(--duration-medium) ease;-webkit-backdrop-filter:none;backdrop-filter:none}.projectExplanation strong,.projectStatusMessage strong{display:block;color:var(--off-white-muted);font-family:var(--font-body);font-size:clamp(14px,1.05vw,16px);font-weight:420;line-height:1.64;text-align:left;white-space:normal}.projectCard:hover .projectVisualPane>img,.projectCard:focus-visible .projectVisualPane>img{filter:saturate(.9) brightness(.58)}.projectCard:hover .projectExplanation,.projectCard:focus-visible .projectExplanation{background:linear-gradient(145deg,#28dbc333,#ff6f9d1f),#070808bd;transform:none}@media(hover:hover)and (pointer:fine)and (min-width:1321px){.projectVisualPane{border-bottom:0;border-radius:17px;clip-path:inset(0 round 17px)}.projectCardChrome{transition:opacity var(--duration-fast) ease,transform var(--duration-fast) ease}.projectExplanation{position:absolute;right:0;bottom:0;left:0;min-height:auto;padding:58px 22px 22px;border-top:0;border-radius:0 0 17px 17px;background:linear-gradient(180deg,#07080800,#070808e6 42%,#070808f5),linear-gradient(145deg,#28dbc329,#ff6f9d1a);opacity:0;transform:translateY(10px);transition:opacity var(--duration-fast) ease,transform var(--duration-fast) ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.projectExplanation strong{color:var(--text-strong);font-size:clamp(13px,.95vw,15px);font-weight:520;line-height:1.58;text-shadow:0 2px 18px rgba(0,0,0,.62)}.projectCard:hover .projectCardChrome,.projectCard:focus-visible .projectCardChrome{opacity:0;transform:translateY(-6px)}.projectCard:hover .projectExplanation,.projectCard:focus-visible .projectExplanation{opacity:1;transform:none}}.projectGridRepeat .projectCard.visited{background:linear-gradient(145deg,color-mix(in srgb,var(--off-white) 5%,transparent),transparent 46%),color-mix(in srgb,var(--charcoal-900) 88%,transparent)}.projectGridRepeat .projectCard.visited .projectVisualPane>img,.projectGridRepeat .projectCard.visited .visualFrame{filter:grayscale(1) saturate(.05) brightness(.66) contrast(1.08);opacity:.68}.projectGridRepeat .projectCard.visited .projectCardChrome{background:linear-gradient(180deg,#07080814,#07080894)}.projectGridRepeat .projectCard.visited .projectCardChrome strong{color:var(--text-strong);-webkit-text-fill-color:var(--text-strong);text-shadow:0 0 16px rgba(244,241,232,.28),0 2px 12px rgba(0,0,0,.78)}.projectGridRepeat .projectCard.active{border-width:2px;border-color:color-mix(in srgb,var(--pink-400) 62%,var(--off-white-muted));background:linear-gradient(145deg,color-mix(in srgb,var(--off-white) 8%,transparent),transparent 46%),color-mix(in srgb,var(--charcoal-900) 84%,transparent);box-shadow:0 18px 44px #0000003d,inset 0 0 0 1px #f4f1e838}.projectGridRepeat .projectCard:disabled{cursor:default}.projectGridRepeat .projectCard:disabled:hover,.projectGridRepeat .projectCard:disabled:focus-visible{transform:none;box-shadow:0 18px 44px #0000003d,inset 0 0 0 1px #f4f1e838}.projectVisitBadge{position:absolute;top:38%;left:50%;z-index:6;display:inline-flex;align-items:center;justify-content:center;min-height:38px;min-width:98px;padding:0 var(--space-4);transform:translate(-50%,-50%);border:1px solid rgba(244,241,232,.62);border-radius:var(--radius-pill);background:#030404e6;box-shadow:0 16px 42px #00000094,0 0 0 1px #f4f1e814;color:var(--text-strong);-webkit-text-fill-color:var(--text-strong);font-size:12px;font-weight:950;letter-spacing:.05em;line-height:1;pointer-events:none;text-align:center;text-shadow:0 1px 10px rgba(0,0,0,.82);white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.projectGridRepeat .projectCard:hover .projectVisitBadge,.projectGridRepeat .projectCard:focus-visible .projectVisitBadge{background:#030404f0;color:var(--text-strong);-webkit-text-fill-color:var(--text-strong)}.projectGridRepeat .projectCard.active .projectVisitBadge{border-color:#ff6f9dc7;background:#030404f0;color:var(--text-strong);-webkit-text-fill-color:var(--text-strong);box-shadow:0 18px 48px #00000094,0 0 0 1px #ff6f9d4d,0 0 26px #ff6f9d47}.projectStatusMessage{position:absolute;inset:0;z-index:7;display:grid;place-items:center;padding:var(--space-5);border:0;border-radius:inherit;background:#0708088a;box-shadow:none;opacity:0;pointer-events:none;text-align:center;transition:opacity var(--duration-medium) ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.projectGridRepeat .projectCard.visited:hover .projectVisitBadge,.projectGridRepeat .projectCard.visited:focus-visible .projectVisitBadge{opacity:0}.projectGridRepeat .projectCard.visited:hover .projectExplanation,.projectGridRepeat .projectCard.visited:focus-visible .projectExplanation{opacity:0}.projectGridRepeat .projectCard.visited:hover .projectStatusMessage,.projectGridRepeat .projectCard.visited:focus-visible .projectStatusMessage{opacity:1}.screenshotHead>span,.mobileShowcaseHeader>span,.resultPill,.docChipRow span{border:1px solid rgba(40,219,195,.28);border-radius:var(--radius-pill);background:#28dbc317;color:var(--teal-300);font-style:normal;font-weight:900}.modalHintCapsule{border:1px solid rgba(40,219,195,.55);border-radius:var(--radius-pill);background:#0a0e0eeb;color:#ffffff8c;font-style:normal;font-weight:500;font-size:12px;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:4px}.hintKey{display:inline-flex;align-items:center;justify-content:center;padding:1px 7px;border:1px solid rgba(40,219,195,.45);border-radius:5px;background:#28dbc31f;color:var(--teal-300);font-size:11px;font-weight:700;line-height:1.6}.detailPanel{position:relative;margin-top:var(--space-4);padding:clamp(var(--space-4),3vw,var(--space-8));border-radius:var(--radius-lg)}.detailPanel:focus-visible{border-color:#ff6f9d75;background:#28dbc314}.detailClose{position:absolute;top:var(--space-4);right:var(--space-4);z-index:2;min-height:36px;padding:0 var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:#121616e6;color:var(--text-strong);cursor:pointer;font-size:12px;font-weight:900}.detailClose:hover,.detailClose:focus-visible{border-color:#ff6f9d94;background:#28dbc31f;color:var(--pink-400)}.showcaseStage{min-height:calc(100vh - 34px);scroll-margin-top:var(--space-4)}.detailHead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-5);margin-top:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--line-soft)}.detailHead p:not(.eyebrow){max-width:860px;margin:0}.detailIntro{color:var(--text-body);font-size:clamp(18px,2vw,24px);font-weight:760;line-height:1.82;white-space:pre-line}.detailBody,.detailGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.projectBrief{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);scroll-margin-top:clamp(88px,12vh,132px)}.detailBody,.projectBrief,.screenshotPanel,.playgroundPanel,.detailGrid,.caredocFramePanel{margin-top:var(--space-5)}.briefCard h4,.detailBody h4,.screenshotHead h4,.liveFrameHead h4,.playgroundHead h4,.mobileShowcaseHeader h4{margin:0 0 var(--space-3);font-size:20px}.briefCard h4{display:flex;justify-content:center;width:100%;text-align:center}.briefTitleCapsule{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 var(--space-3);border:1px solid rgba(244,241,232,.42);border-radius:var(--radius-sm);background:#030404e6;color:var(--text-strong);-webkit-text-fill-color:var(--text-strong);font-family:var(--font-body);font-size:14px;font-weight:950;line-height:1.22;letter-spacing:-.02em;text-align:center;text-shadow:0 1px 10px rgba(0,0,0,.74);box-shadow:0 16px 38px #00000047,inset 0 1px #f4f1e81f}.briefCard:hover,.briefCard:focus-visible,.briefCard:focus-within{border-color:#f4f1e838;background:linear-gradient(145deg,#f4f1e80e,#f4f1e805),#070808e0;box-shadow:0 30px 78px #0000008a,inset 0 1px #f4f1e81a}.briefCard:hover .briefTitleCapsule,.briefCard:focus-within .briefTitleCapsule{border-color:#f4f1e86b;background:#030404e6;color:var(--text-strong);-webkit-text-fill-color:var(--text-strong);box-shadow:0 16px 38px #00000047,inset 0 1px #f4f1e81f}.briefProse{display:grid;justify-items:stretch;gap:10px;width:100%}.briefProse p{display:grid;gap:2px;width:100%;margin:0;padding:11px 13px 11px 15px;border:1px solid rgba(244,241,232,.12);border-radius:var(--radius-sm);background:#f4f1e80e;color:var(--text-strong);font-size:clamp(14px,.95vw,15.5px);font-weight:760;line-height:1.68;overflow-wrap:anywhere;text-align:left;white-space:normal;word-break:keep-all;box-shadow:inset 0 1px #f4f1e80e}.briefLine{display:block;width:100%;text-align:left}.briefFlowArrow{display:flex;align-items:center;justify-content:center;margin:-9px 0;color:#9fd8ffe0;font-size:12px;line-height:1;opacity:.92;text-shadow:0 0 14px rgba(92,157,216,.34)}.projectBrief-caredoc .briefCard:nth-child(3) .briefProse{gap:4px}.projectBrief-caredoc .briefCard:nth-child(3) .briefProse p{line-height:1.72}.projectBrief-caredoc .briefCard:nth-child(3) .briefFlowArrow{margin:-2px 0}.projectDemoLink{width:100%;margin-bottom:var(--space-4)}.detailDemoLink{align-self:center;justify-self:end;width:auto;margin:0 0 0 auto}.playgroundPanel,.liveFramePanel,.mobileShowcase{border-color:#28dbc333;background:linear-gradient(135deg,rgba(40,219,195,.08),transparent 42%),var(--surface-card)}.screenshotPanel{overflow:visible;padding:0;border:0;background:transparent;box-shadow:none}.screenshotHead,.liveFrameHead,.playgroundHead,.mobileShowcaseHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.screenshotHead>span,.mobileShowcaseHeader>span{flex:0 0 auto;min-height:30px;padding:7px var(--space-3);font-size:12px}.screenshotGrid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:var(--space-4)}.screenshotSlot{display:grid;grid-template-rows:auto minmax(188px,13vw) auto;gap:var(--space-2);min-width:0;min-height:292px;padding:var(--space-3);border-color:#f4f1e829;border-radius:var(--radius-md);background:#0708083d;color:inherit;cursor:pointer;text-align:left;box-shadow:0 14px 32px #0000002e}.screenshotSlot:hover,.screenshotSlot:focus-visible{transform:translateY(-2px);border-color:#8fe6d275;background:linear-gradient(135deg,#28dbc31a,#f4f1e80e)}.screenshotSlot:hover strong,.screenshotSlot:focus-visible strong{color:#bff7ef;text-shadow:0 0 18px rgba(40,219,195,.28)}.screenshotPlaceholder{display:flex;align-items:center;justify-content:center;min-height:150px;border:1px dashed var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--text-muted);font-family:var(--font-display);font-size:30px}.screenshotSlot.hasImage{overflow:hidden}.screenshotSlot.hasImage img{border-radius:var(--radius-sm)}.screenshotSlot.hasImage.legacyFrame img,.modalPreview.hasImage img,.modalPreview.hasImage.legacyFrame img{object-fit:contain;background:#fff}.screenshotSlot.hasImage.cropLegacyFrame.legacyFrame img,.modalPreview.hasImage.cropLegacyFrame.legacyFrame img,.modalPreview.hasImage.fillFrame img{object-fit:contain;background:var(--charcoal-900)}.screenshotSlot.hasImage.projectShot-caredoc img,.modalPreview.hasImage.projectShot-caredoc img{object-fit:contain;background:var(--charcoal-950)}.screenshotSlot strong{display:inline-grid;grid-template-columns:3px minmax(0,1fr);align-items:center;justify-self:start;gap:9px;width:100%;min-width:0;color:#8fe6d2;font-family:var(--font-display);font-size:clamp(18px,1.22vw,21px);font-weight:760;letter-spacing:0;line-height:1.18;text-shadow:0 0 14px rgba(40,219,195,.18)}.screenshotSlot strong:before{content:"";width:3px;height:1.1em;border-radius:var(--radius-pill);background:linear-gradient(180deg,#9fd8ff,#28dbc3);box-shadow:0 0 12px #28dbc36b}.screenshotSlot p,.screenshotNote{margin:0;font-size:13px}.contactExplanation strong{font-family:var(--font-body);font-size:clamp(12px,.86vw,14px);font-weight:850;line-height:1.72;letter-spacing:-.01em}.showcaseDetailModal{position:fixed;inset:0;z-index:35;display:grid;place-items:center;padding:var(--space-6)}.showcaseDetailBackdrop{position:absolute;inset:0;background:#000000c7;cursor:default}.showcaseDetailModalStack{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);width:min(1180px,calc(100vw - 120px));animation:modalFadeIn var(--duration-medium) ease both}.showcaseDetailModalShell{position:relative;width:100%}.showcaseDetailDialog{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:clamp(var(--space-5),3vw,var(--space-8));max-height:min(780px,calc(100vh - 144px));padding:clamp(var(--space-4),2.4vw,var(--space-6));overflow:auto;scrollbar-width:none;-ms-overflow-style:none;border:1px solid rgba(40,219,195,.32);border-radius:var(--radius-lg);background:linear-gradient(145deg,#121616f5,#070808f0);box-shadow:0 30px 120px #00000094}.showcaseDetailDialog::-webkit-scrollbar{display:none;width:0;height:0}.showcaseDetailImage{min-width:0;overflow:hidden;border-radius:var(--radius-md);background:var(--charcoal-950)}.showcaseDetailImage img{display:block;width:100%;height:100%;min-height:min(520px,calc(100vh - 210px));object-fit:cover}.showcaseDetailCopy{display:grid;align-content:center;gap:var(--space-4);min-width:0;padding:clamp(var(--space-4),2.2vw,var(--space-6));border:1px solid rgba(244,241,232,.1);border-radius:var(--radius-md);background:linear-gradient(180deg,#f4f1e80e,#f4f1e805),#04060657;box-shadow:inset 0 1px #ffffff0e}.showcaseDetailCopy h3{margin:0;color:var(--text-strong);font-size:clamp(27px,2.45vw,39px);font-weight:760;line-height:1.18;letter-spacing:-.04em;text-wrap:balance}.showcaseDetailCopy em{justify-self:start;min-height:30px;padding:6px 11px;border:1px solid rgba(244,241,232,.16);border-radius:999px;background:#f4f1e813;color:#f2d6e2;font-size:15px;font-style:normal;font-weight:900;line-height:1.2;text-shadow:none}.showcaseDetailCopy>div{display:grid;gap:10px;margin-top:var(--space-1)}.showcaseDetailCopy p:not(.eyebrow){margin:0;padding:10px 13px;border:1px solid rgba(244,241,232,.09);border-radius:var(--radius-sm);background:#ffffff0b;color:#ffffffe0;font-size:clamp(16px,1.02vw,17px);font-weight:620;line-height:1.82;white-space:pre-line;word-break:keep-all;overflow-wrap:break-word}.modalClose.showcaseDetailModalClose{top:var(--space-4);right:var(--space-4);z-index:5;transform:none}.projectDetailModal{position:fixed;inset:0;z-index:35;display:grid;place-items:center;padding:var(--space-6)}.projectDetailBackdrop{position:absolute;inset:0;background:#000000c7;cursor:default}.projectDetailModalStack{position:relative;z-index:1;width:min(1440px,calc(100vw - 120px));max-height:calc(100vh - 72px);animation:modalFadeIn var(--duration-medium) ease both}.projectDetailModalShell{position:relative;max-height:calc(100vh - 72px);overflow:auto;scrollbar-width:none;-ms-overflow-style:none;border:1px solid rgba(40,219,195,.32);border-radius:var(--radius-lg);background:linear-gradient(145deg,#121616f5,#070808f0);box-shadow:0 30px 120px #00000094}.projectDetailModalShell::-webkit-scrollbar{display:none;width:0;height:0}.projectDetailModal .detailPanel{min-height:0;margin:0;outline:0}.projectDetailModal .detailHead{margin-top:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:112px;gap:var(--space-5);padding-right:clamp(92px,8vw,132px)}.modalClose.projectDetailModalClose{position:sticky;top:var(--space-5);right:auto;z-index:6;display:flex;width:max-content;margin:var(--space-5) var(--space-5) calc(-1 * var(--space-10)) auto}.projectDetailModal .detailDemoLink{align-self:center;justify-self:end;min-height:36px;padding:0 var(--space-4);font-size:12px}.projectDetailModal .screenshotPanel{overflow:visible;padding:0;border-color:transparent;background:transparent;box-shadow:none}.projectDetailModal .screenshotSlot{border-color:#f4f1e829;background:#0708083d}.projectDetailModal .screenshotSlot.hasImage img{background:transparent}.screenshotModal{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:var(--space-6)}.screenshotBackdrop{position:absolute;inset:0;background:#000000c7;cursor:default}.screenshotRotateNotice{position:relative;z-index:1;display:none;width:min(360px,calc(100vw - 40px));padding:var(--space-6) var(--space-5);border:1px solid rgba(40,219,195,.38);border-radius:var(--radius-md);background:#0d1010f5;box-shadow:0 26px 80px #00000085;text-align:center}.screenshotRotateNotice h4{margin:var(--space-2) 0 var(--space-3);font-size:clamp(22px,6.4vw,30px);line-height:1.22;letter-spacing:0}.screenshotRotateNotice p:not(.eyebrow){margin:0;color:var(--text-muted);font-size:14px;line-height:1.58}.screenshotModalStack{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:min(1280px,calc(100% - 120px))}.screenshotModalShell,.screenshotDialog{position:relative;width:100%}.screenshotDialog{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);grid-template-rows:40px minmax(0,1fr);gap:var(--space-5);max-height:min(820px,calc(100vh - 88px));padding:0 var(--space-5) var(--space-5);overflow:auto;border:1px solid rgba(40,219,195,.32);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(244,241,232,.07),transparent 72px),var(--charcoal-900);box-shadow:0 30px 120px #00000094}.modalWindowBar{grid-column:1 / -1;display:flex;align-items:center;gap:8px;min-height:40px;border-bottom:1px solid rgba(244,241,232,.08)}.modalWindowControl{width:11px;height:11px;border-radius:999px;box-shadow:0 0 12px currentColor}.modalWindowClose{background:#ff5f57;color:#ff5f579e}.modalWindowMinimize{background:#ffbd2e;color:#ffbd2e9e}.modalWindowZoom{background:#28c840;color:#28c8409e}.modalWindowBar strong{margin-left:auto;color:#f4f1e885;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.modalPreview{display:grid;place-items:center;min-width:0;min-height:min(620px,calc(100vh - 230px));overflow:hidden;border:1px dashed rgba(40,219,195,.32);border-radius:var(--radius-md);background:#28dbc314}.modalPreview.hasImage img{object-position:center}.screenshotDialog.fillModal{grid-template-columns:minmax(0,1fr) minmax(220px,300px)}.screenshotDialog.fillModal .modalPreview{aspect-ratio:16 / 9;min-height:min(520px,calc(100vh - 250px));border-style:solid;background:var(--charcoal-950)}.screenshotDialog.fillModal .modalPreview.hasImage img{object-fit:contain;object-position:center;background:var(--charcoal-950)}.screenshotDialog.legacyModal{max-width:min(1280px,calc(100vw - 120px));margin:0 auto}.screenshotDialog.legacyModal .modalPreview{height:min(640px,calc(100vh - 180px));min-height:0;border-style:solid;background:var(--charcoal-950)}.modalMedia{position:relative;display:grid;grid-template-columns:minmax(0,1fr);min-width:0}.modalNav{position:absolute;top:50%;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:42px;height:58px;padding:0;transform:translateY(-50%);border:1px solid rgba(40,219,195,.36);border-radius:var(--radius-sm);background:#0d1010e0;cursor:pointer;font-size:26px;font-weight:900;line-height:1;box-shadow:0 14px 38px #00000061}.modalNav:hover,.modalNav:focus-visible,.modalClose:hover,.modalClose:focus-visible{border-color:#ff6f9d94;background:#28dbc31f;color:var(--pink-400)}.modalNavPrevious{left:-58px}.modalNavNext{right:-58px}.modalClose{position:absolute;top:52px;right:var(--space-4);z-index:2;min-height:36px;padding:0 var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:#121616eb;cursor:pointer;font-size:12px;font-weight:900}.modalPreview span{color:var(--teal-300);font-family:var(--font-display);font-size:58px}.modalCaption{align-self:end;padding:var(--space-2)}.modalCaption h4{margin:0 0 var(--space-3);font-size:24px}.modalProjectTeaser{margin-top:var(--space-3);padding:12px 13px;border:1px solid rgba(40,219,195,.24);border-radius:var(--radius-sm);background:#28dbc314;color:var(--text-strong);font-weight:820;line-height:1.6;white-space:pre-line;word-break:keep-all;overflow-wrap:break-word}.modalEdgeNotice{position:absolute;top:var(--space-3);left:50%;z-index:4;width:max-content;max-width:min(280px,calc(100% - 24px));margin:0;padding:9px 13px;transform:translate(-50%);border:1px solid rgba(120,212,223,.44);border-radius:var(--radius-pill);background:#0d1010e6;color:var(--teal-300);font-size:12px;font-weight:950;line-height:1.25;text-align:center;box-shadow:0 14px 38px #0000006b,0 0 18px #78d4df2e;pointer-events:none;animation:modalEdgeNoticeIn .68s cubic-bezier(.2,.85,.25,1.18) both}.modalHintCapsule{position:relative;z-index:2;margin:var(--space-2) 0 0;padding:var(--space-3) var(--space-5);font-size:13px;line-height:1.38;text-align:center;box-shadow:0 16px 44px #00000047}@keyframes modalEdgeNoticeIn{0%{opacity:0;transform:translate(-50%,-10px) scale(.96)}36%{opacity:1;transform:translate(-50%,4px) scale(1.02)}68%{transform:translate(-50%,-2px) scale(1)}to{opacity:1;transform:translate(-50%) scale(1)}}.showcaseDetailModal .modalHintCapsule{margin:0 0 var(--space-2)}.detailBody section,.featureList,.demoTable{min-height:170px;background:var(--surface-soft)}.detailBody h4{color:var(--text-strong)}.featureList{display:grid;gap:var(--space-3)}.featureList p{margin:0;padding-left:var(--space-4);border-left:2px solid rgba(40,219,195,.55)}.demoTable{display:grid;gap:var(--space-2)}.demoRow{display:grid;grid-template-columns:92px minmax(0,1fr);gap:var(--space-3);align-items:center;min-height:48px;padding:var(--space-3);border-radius:var(--radius-sm);background:#07080870}.mobileShowcase{display:none}.phoneMock{overflow:hidden;border-radius:24px;background:linear-gradient(180deg,rgba(244,241,232,.08),transparent 26%),var(--charcoal-900)}.phoneStatus{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:38px;padding:0 var(--space-4);border-bottom:1px solid rgba(244,241,232,.07);color:var(--text-body);font-size:11px;font-weight:850}.phoneStatus span:last-child{text-align:right}.mobileScreen,.mobileSteps,.mobileFieldList,.weekList,.mobileErrorCards,.taskList,.choiceStack,.playgroundPanel label,.errorList{display:grid;gap:var(--space-2)}.mobileScreen{min-height:430px;padding:var(--space-4)}.screenTitle,.todayCard,.videoCard,.reportCard,.eventCard,.mobileActionCard,.memoCard,.mobileField,.mobileErrorCards>div,.kpiGrid>div,.taskList span,.lifeStatRow>div,.choiceStack button,.weekList>div,.scheduleButtons button,.choiceRow button,.statGrid span,.errorList label{border:1px solid rgba(244,241,232,.11);border-radius:var(--radius-md);background:var(--surface-soft)}.screenTitle,.todayCard,.videoCard,.eventCard,.mobileActionCard,.memoCard,.reportCard,.resultPill,.mobileField,.mobileErrorCards>div,.kpiGrid>div,.lifeStatRow>div,.taskList span,.weekList>div,.scheduleButtons button,.choiceRow button,.statGrid span,.errorList label{min-height:48px;padding:var(--space-3)}.screenTitle span,.todayCard span,.videoCard span,.eventCard span,.mobileField span,.mobileErrorCards span,.kpiGrid span,.lifeStatRow span,.weekList span,.mobileStep>span{display:block;margin-bottom:6px;color:var(--teal-400);font-size:12px;font-weight:900}.screenTitle strong,.todayCard strong,.videoCard strong,.eventCard strong,.mobileField strong,.weekList strong,.mobileErrorCards strong,.kpiGrid strong,.lifeStatRow strong,.mobileHeadline,.mobileActionCard,.memoCard,.reportCard{color:var(--text-strong)}.docChipRow,.lifeStatRow,.kpiGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.docChipRow span,.resultPill{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 var(--space-3);text-align:center}.videoCard{display:grid;min-height:158px;align-content:end;background:linear-gradient(135deg,rgba(40,219,195,.2),transparent),linear-gradient(180deg,var(--charcoal-700),var(--charcoal-900))}.fixScreen pre,.jsonPreview{padding:var(--space-3);border:1px solid rgba(40,219,195,.16);border-radius:var(--radius-sm);background:#070808c7}.kpiGrid strong,.lifeStatRow strong{font-size:20px}.mobileStep{grid-template-columns:34px minmax(0,1fr);gap:var(--space-3);align-items:center;min-height:62px;padding:var(--space-3);border-radius:var(--radius-md)}.mobileStep>span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);background:#28dbc31f}.playgroundGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.playgroundPanel label{color:var(--text-muted);font-size:12px;font-weight:850}.playgroundPanel input,.playgroundPanel select{min-height:42px;padding:0 var(--space-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:#070808b8;color:var(--text-strong)}.caredocFramePanel{padding:var(--space-3);border-color:#f4f1e838;background:#121616e0}.browserFrame{overflow:hidden;border-radius:var(--radius-md);background:#f6f3ec}.browserFrameBar{display:flex;align-items:center;gap:7px;height:38px;padding:0 var(--space-3);border-bottom:1px solid rgba(18,22,22,.12);background:linear-gradient(180deg,#fbf7ef,#e8e2d5)}.browserFrameBar em{min-width:0;margin-left:auto;padding:5px var(--space-3);overflow:hidden;border:1px solid rgba(18,22,22,.12);border-radius:var(--radius-pill);background:#ffffffb8;color:#596260;font-size:11px;font-style:normal;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.browserViewport{height:calc(100vh - 168px);min-height:610px;overflow:hidden;background:#fff}.browserFrame iframe{display:block;width:125%;height:125%;border:0;background:#fff;transform:scale(.8);transform-origin:top left}.scheduleButtons,.choiceRow{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.scheduleButtons button,.choiceRow button{cursor:pointer;color:var(--text-body);text-align:left}.errorList label{display:grid;grid-template-columns:18px 64px minmax(0,1fr);align-items:center}.errorList input{min-height:auto;padding:0}.statGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}@media(max-width:1700px){.sideIndex{display:none}.pageShell{width:min(100% - 32px,1280px);max-width:none;margin:0 auto}.projectTeaserVisual{grid-template-columns:minmax(0,1.24fr) minmax(0,.76fr);min-height:clamp(224px,21vw,286px)}}@media(max-width:1500px){:root{--portfolio-side-rail: 210px;--portfolio-side-offset: clamp(10px, 1.2vw, 18px);--portfolio-outer-gap: clamp(60px, 4.8vw, 76px);--portfolio-page-left: clamp(124px, 9vw, 140px);--portfolio-side-right: var(--portfolio-side-offset);--portfolio-canvas: 1120px}.sideIndex{padding-right:44px}.sideIndex a{padding-right:40px;font-size:9.5px}.sideIndexGroup{font-size:11px}.sideIndexProject{width:100%;padding-right:40px;padding-left:var(--space-2);font-size:10px}}@media(max-width:1320px){.projectGrid{grid-template-columns:minmax(0,1fr);gap:clamp(var(--space-4),2.4vw,var(--space-6))}.projectTeaserVisual{grid-template-columns:minmax(0,1.48fr) minmax(260px,.72fr);min-height:clamp(250px,24vw,320px)}}@media(max-width:1180px){.pageShell{width:min(100% - 24px,1080px);margin:0 auto;padding-right:0;padding-left:0}.heroTechLayout{flex-direction:column}.heroSection{grid-template-areas:"copy" "actions";grid-template-columns:minmax(0,1fr);min-height:auto;padding-top:132px}.heroTechLayout .heroSection,.techStackPanel{flex:0 0 auto;width:100%}.heroTechLayout .heroSection{min-height:0}.techStackGlass{aspect-ratio:1280 / 853;height:auto;min-height:0}.techStackMap{object-fit:contain;background:#05070b}.heroCopy{align-self:start;width:100%}.heroLead{width:100%}.showcaseDetailModal{padding:12px}.showcaseDetailModalStack{gap:8px;width:min(100%,calc(100vw - 24px))}.showcaseDetailDialog{grid-template-columns:minmax(0,1fr) minmax(280px,.84fr);gap:14px;max-height:calc(100dvh - 44px);padding:14px}.showcaseDetailImage img{min-height:0;height:min(62dvh,480px)}.showcaseDetailCopy{align-content:start;gap:10px;padding:14px;overflow:auto}.showcaseDetailCopy h3{font-size:clamp(22px,3vw,30px);line-height:1.2}.showcaseDetailCopy p:not(.eyebrow){padding:8px 10px;font-size:14px;line-height:1.58}.showcaseDetailModal .modalHintCapsule{display:none}}@media(max-width:1040px){.detailHead{grid-template-columns:1fr}.heroSection{padding:132px var(--space-8) var(--space-10)}.heroTechLayout .heroSection{padding:var(--space-6) var(--space-6) var(--space-5)}.experienceTimeline{grid-template-columns:1fr}.aboutGrid,.experienceGrid,.screenshotGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.projectGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(var(--space-3),2.2vw,var(--space-5))}.projectTeaserVisual{display:block;min-height:0;border-radius:inherit}.projectVisualPane{aspect-ratio:44 / 35;height:auto;padding:0;border-bottom:1px solid rgba(40,219,195,.16);border-radius:17px 17px 0 0;clip-path:inset(0 round 17px 17px 0 0)}.projectVisualPane:before{display:block;border-radius:inherit;filter:blur(16px) saturate(1.08);opacity:.52;transform:scale(1.12)}.projectVisualPane>img{object-fit:contain;object-position:center;border-radius:0;filter:drop-shadow(0 10px 22px rgba(0,0,0,.34))}.projectCardChrome{align-content:end;gap:8px;padding:24px 24px 30px;background:linear-gradient(180deg,#07080805 34%,#070808c2)}.projectCardChrome strong{font-size:clamp(20px,2.4vw,25px);line-height:1.15}.projectExplanation{display:block;min-height:128px;padding:18px 18px 20px;border-top:1px solid rgba(244,241,232,.06);background:linear-gradient(135deg,rgba(40,219,195,.075),transparent 52%),#121616e6;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.projectExplanation strong{display:block;color:var(--off-white-muted);font-family:var(--font-body);font-size:clamp(14px,1.65vw,16px);font-weight:420;line-height:1.64;text-align:left;white-space:normal}.projectBrief{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.projectBrief .briefCard{padding:var(--space-4)}.projectBrief .briefProse p{padding:10px 11px;font-size:clamp(13.5px,1.25vw,15px);line-height:1.62}.showcaseImageGrid{width:100%;max-width:100%;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr))}.showcaseImageCard{width:100%;max-width:100%;min-width:0;aspect-ratio:44 / 35}.showcaseImageCard:hover,.showcaseImageCard:focus-within{transform:none}.showcaseImageOverlay strong{white-space:normal;overflow-wrap:anywhere;word-break:keep-all}}@media(max-width:760px){:root{--portfolio-side-rail: 12px;--portfolio-left-gutter: 12px;--portfolio-canvas: 1520px}.pageShell{width:min(100% - 12px,1520px);margin:0 auto;padding:var(--space-2) 0 var(--space-12)}.heroSection{min-height:auto;padding:152px var(--space-5) var(--space-8);border-radius:var(--radius-md)}.heroTechLayout{gap:var(--space-4);margin-bottom:var(--space-8)}.heroTechLayout .heroSection{width:100%;min-height:0;padding:clamp(var(--space-5),6vw,var(--space-8)) clamp(var(--space-4),6vw,var(--space-6))}.techStackGlass{min-height:0;padding:0}.techStackMap{min-height:0}.heroIdentityBadge{top:var(--space-5);left:var(--space-5)}.heroNav{top:82px;right:auto;left:var(--space-5);width:calc(100% - 40px);max-width:none;justify-content:flex-start}.heroNav a{flex:0 0 auto;min-width:auto}.heroTitle:not(.heroTitleStacked){font-size:clamp(35px,calc(9vw + 6px),45px)}.heroTitleStacked{gap:clamp(7px,2vw,11px);font-size:clamp(22px,6.4vw,30px)}.heroLeadStacked{gap:clamp(8px,2vw,13px);margin-top:clamp(22px,6.8vw,34px);font-size:clamp(24px,7vw,32px)}.heroLeadFocus{font-size:clamp(33px,calc(7.2vw + 8px),40px)}.heroMobileBreak{display:block}.heroCopy p{font-size:15.5px}.workspaceAvatar{min-height:auto}.workbenchIllustration{min-height:280px}.heroExplainLayer{position:relative;right:auto;bottom:auto;left:auto;margin:0 var(--space-3) var(--space-3);opacity:1;transform:none}.codePanel{min-height:340px}.codePanel pre{padding:var(--space-6) var(--space-4)}.aboutGrid,.experienceGrid,.introPage,.detailBody,.detailGrid,.letterGrid,.projectBrief,.playgroundGrid,.scheduleButtons,.choiceRow,.statGrid,.screenshotGrid,.screenshotDialog,.docChipRow,.kpiGrid,.lifeStatRow,.aboutKeywordGrid{grid-template-columns:1fr}.profileCard{position:static}.profileIntroHeader{grid-template-columns:76px minmax(0,1fr)}.profilePhotoFrame{width:76px;border-radius:22px}.introPage .letterPanel{min-height:auto}.timelineCard{min-height:auto;gap:var(--space-3)}.timelineContent{padding-top:var(--space-10)}.workSection{padding-top:clamp(76px,18vw,104px);scroll-margin-top:104px}.workSection .sectionTitle{margin-bottom:clamp(var(--space-4),5vw,var(--space-6))}.projectGrid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(14px,4vw,18px);margin:0;padding:0;border:0;border-radius:0}.projectGridRepeat{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--line-soft)}.showcaseImageGrid{display:grid;width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr);gap:var(--space-3);margin:0;padding:0;border:0;border-radius:0}.projectCard{min-height:auto;overflow:hidden;border-color:#28dbc33d;border-radius:18px;scroll-snap-align:start;box-shadow:0 18px 42px #0000004d,inset 0 1px #f4f1e814}.projectTeaserVisual{display:block;aspect-ratio:auto;min-height:0;border-radius:inherit;background:#0708087a}.projectVisualPane{aspect-ratio:44 / 35;height:auto;padding:0;overflow:hidden;border-radius:17px 17px 0 0;border-bottom:1px solid rgba(40,219,195,.16);background:#070808b8;clip-path:inset(0 round 17px 17px 0 0);contain:paint;isolation:isolate}.projectVisualPane:before{display:block;border-radius:inherit;filter:blur(16px) saturate(1.08);opacity:.52;transform:scale(1.12)}.projectVisualPane>img{object-fit:contain;object-position:center;border-radius:0;filter:drop-shadow(0 10px 22px rgba(0,0,0,.34))}.showcaseImageCard{aspect-ratio:44 / 35}.projectCardChrome{inset:0;min-height:0;align-content:end;gap:6px;padding:18px 16px 20px;background:linear-gradient(180deg,#07080805 34%,#070808c2)}.showcaseImageOverlay{padding:var(--space-2)}.projectCardChrome .projectType{margin:0;color:var(--teal-300);font-size:11px;line-height:1.2}.showcaseImageOverlay em{font-size:10px}.projectCardChrome strong{font-size:clamp(20px,5.8vw,25px);line-height:1.15}.showcaseImageOverlay strong{font-size:clamp(17px,5vw,24px);line-height:1.18}.projectExplanation{position:relative;inset:auto;display:block;padding:18px 18px 20px;border-top:1px solid rgba(244,241,232,.06);background:linear-gradient(135deg,rgba(40,219,195,.075),transparent 52%),#121616e6;opacity:1;transform:none;-webkit-backdrop-filter:none;backdrop-filter:none}.showcaseExplanation{padding:var(--space-2)}.projectExplanation strong{display:block;color:var(--off-white-muted);font-family:var(--font-body);font-size:clamp(14px,3.8vw,16px);font-weight:420;line-height:1.64;text-align:left;white-space:normal}.projectStatusMessage strong,.showcaseExplanation strong{font-size:clamp(13px,3.6vw,16px);line-height:1.5}.detailPanel,.infoCard,.timelineCard,.letterPanel,.briefCard,.detailBody section,.featureList,.demoTable,.playgroundPanel,.liveFramePanel,.mobileShowcase{padding:var(--space-4)}.detailHead{margin-top:var(--space-4);padding-bottom:var(--space-4)}.liveFramePanel{display:none}.screenshotGrid{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.screenshotSlot{grid-template-rows:auto minmax(150px,42vw) auto;min-height:246px}.screenshotPlaceholder{min-height:132px}.showcaseStage{min-height:auto}.mobileShowcase{display:block}.demoRow,.errorList label{grid-template-columns:1fr}.showcaseDetailModal{padding:10px}.showcaseDetailModalStack{width:min(100%,calc(100vw - 20px))}.showcaseDetailModalShell{max-height:calc(100dvh - 20px)}.showcaseDetailDialog{grid-template-columns:1fr;gap:10px;max-height:calc(100dvh - 20px);padding:10px}.showcaseDetailImage img{height:min(30dvh,210px);min-height:150px}.showcaseDetailCopy{gap:10px;padding:12px}.showcaseDetailCopy h3{padding-right:58px;font-size:clamp(20px,5.8vw,25px);line-height:1.22;letter-spacing:0}.showcaseDetailCopy em{min-height:26px;padding:5px 9px;font-size:12px}.showcaseDetailCopy>div{gap:7px}.showcaseDetailCopy p:not(.eyebrow){padding:8px 9px;font-size:13px;line-height:1.48}.modalClose.showcaseDetailModalClose{top:14px;right:14px;min-width:44px;min-height:44px;padding:0 12px}.projectDetailModal{padding:10px}.projectDetailModalStack{width:min(100%,calc(100vw - 20px));max-height:calc(100dvh - 20px)}.projectDetailModalShell{max-height:calc(100dvh - 20px)}.projectDetailModal .detailHead{padding-right:76px}.screenshotModal{padding:10px}.screenshotModalStack{width:min(100%,calc(100vw - 20px));max-height:calc(100dvh - 20px);gap:8px}.screenshotModalShell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"dialog dialog" "previous next";gap:8px}.screenshotDialog{grid-area:dialog;grid-template-rows:34px minmax(0,1fr) auto;gap:8px;max-height:calc(100dvh - 20px);padding:0 8px 9px;overflow:auto}.modalWindowBar{min-height:34px;padding-right:58px}.modalWindowBar strong{max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modalMedia{overflow:hidden;border-radius:var(--radius-md);background:var(--charcoal-950)}.modalPreview{min-height:0;height:auto;aspect-ratio:16 / 9;border-style:solid;background:var(--charcoal-950)}.screenshotDialog.fillModal .modalPreview{min-height:0;height:auto;aspect-ratio:16 / 9}.screenshotDialog.legacyModal{max-width:none}.screenshotDialog.legacyModal .modalPreview{height:auto;aspect-ratio:16 / 9}.screenshotDialog.legacyModal .modalPreview.hasImage img{object-fit:contain}.modalNav{position:static;top:auto;width:100%;height:46px;transform:none;border-radius:var(--radius-md);font-size:22px;background:#0d1010f5}.screenshotModalShell>.modalNavPrevious{grid-area:previous}.screenshotModalShell>.modalNavNext{grid-area:next}.showcaseDetailModal .modalNav{position:absolute;top:calc(10px + min(15dvh,105px));width:44px;height:48px;transform:translateY(-50%);font-size:21px;background:#0d1010f0}.showcaseDetailModal .modalNavPrevious{left:8px}.showcaseDetailModal .modalNavNext{right:8px}.modalClose{top:4px;right:8px;min-width:44px;min-height:34px;padding:0 10px}.modalCaption{max-height:none;padding:0;overflow:visible}.modalCaption h4{margin-bottom:6px;font-size:18px;line-height:1.2}.modalCaption p:not(.eyebrow){font-size:12px;line-height:1.35}.modalProjectTeaser{margin-top:8px;padding:9px 10px;font-size:12px;line-height:1.42}.modalEdgeNotice{top:10px;max-width:min(240px,calc(100% - 20px));padding:8px 11px;font-size:12px}.modalHintCapsule{display:none}.browserViewport{height:68vh;min-height:480px}}@media(max-width:760px){.screenshotModal{padding:8px;background:#000000eb}.screenshotModalStack{width:min(calc(100vw - 16px),calc((100dvh - 72px)*1.777));max-height:calc(100dvh - 16px);gap:8px}.screenshotModalShell{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-areas:"previous dialog next";align-items:center;gap:6px}.screenshotDialog,.screenshotDialog.fillModal,.screenshotDialog.legacyModal{grid-area:dialog;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);width:100%;max-width:none;max-height:calc(100dvh - 16px);padding:0;overflow:visible;border:0;border-radius:var(--radius-md);background:transparent;box-shadow:none}.screenshotDialog .modalWindowBar,.screenshotDialog .modalCaption{display:none}.screenshotDialog .modalMedia{overflow:hidden;touch-action:pan-y;border:1px solid rgba(244,241,232,.22);border-radius:var(--radius-md);background:#fff;box-shadow:0 18px 64px #00000073}.screenshotDialog .modalPreview,.screenshotDialog.fillModal .modalPreview,.screenshotDialog.legacyModal .modalPreview{width:100%;height:auto;min-height:0;aspect-ratio:16 / 9;border:0;border-radius:0;background:#fff}.screenshotDialog .modalPreview.hasImage img,.screenshotDialog.fillModal .modalPreview.hasImage img,.screenshotDialog.legacyModal .modalPreview.hasImage img{object-fit:contain;object-position:center;background:#fff}.screenshotModalShell>.modalNavPrevious,.screenshotModalShell>.modalNavNext{position:static;width:44px;height:min(42dvh,180px);min-height:92px;transform:none;border-radius:var(--radius-md);background:#0d1010c2}.screenshotModalShell>.modalNavPrevious{grid-area:previous}.screenshotModalShell>.modalNavNext{grid-area:next}.screenshotDialog .modalClose{top:-52px;right:0;min-width:48px;min-height:40px}.screenshotDialog .modalEdgeNotice{top:8px}}@media(max-width:420px){.pageShell{width:min(100% - 18px,1520px)}.heroSection,.avatarPanel,.detailPanel,.mobileShowcase,.letterPanel,.timelineCard,.infoCard,.profileCard,.briefCard{padding-right:var(--space-3);padding-left:var(--space-3)}.heroTitleStacked{font-size:clamp(20px,6.2vw,26px)}.heroLeadStacked{font-size:clamp(22px,7vw,30px)}.heroLeadFocus{font-size:clamp(32px,calc(7.4vw + 8px),40px)}.showcaseImageGrid{gap:7px}.projectGrid{gap:var(--space-2)}.heroNav{left:var(--space-3);width:calc(100% - 24px)}.heroNav a{font-size:11px}.screenshotModalStack{width:min(calc(100vw - 16px),calc((100dvh - 72px)*1.777))}.mobileScreen{min-height:402px;padding:var(--space-3)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms;animation-iteration-count:1;scroll-behavior:auto;transition-duration:.001ms}.heroIdentityBadge,.heroKicker,.welcomePill,.heroCopy h1,.heroLead,.heroActions,.avatarPanel{animation:none;opacity:1;transform:none}.projectCard:hover,.projectCard:focus-visible,.briefCard:hover,.briefCard:focus-visible,.screenshotSlot:hover,.heroActions a:hover,.modalNav:hover,.sideIndex a:hover{transform:none}.projectCard:hover .visualFrame,.projectCard:focus-visible .visualFrame,.avatarPanel:hover .workbenchIllustration,.avatarPanel:focus-visible .workbenchIllustration,.projectCard:hover>.projectTeaserVisual,.projectCard:focus-visible>.projectTeaserVisual,.projectCard:hover .projectExplanation,.projectCard:focus-visible .projectExplanation{transform:none}}@media(hover:none){.heroExplainLayer{position:relative;right:auto;bottom:auto;left:auto;margin:0 var(--space-3) var(--space-3);opacity:1;transform:none}.avatarPanel:hover .workbenchIllustration,.avatarPanel:focus-visible .workbenchIllustration{filter:none;opacity:1;transform:none}}@media(hover:none),(pointer:coarse){.projectGrid .projectCard:hover{z-index:auto;transform:none;box-shadow:0 18px 42px #0000004d,inset 0 1px #f4f1e814}.projectCard:hover .projectVisualPane>img{filter:none}.projectCard:hover .projectExplanation{background:linear-gradient(135deg,rgba(40,219,195,.075),transparent 52%),#121616e6}.projectGridRepeat .projectCard.visited:hover .projectVisitBadge,.projectGridRepeat .projectCard.visited:hover .projectExplanation{opacity:1}.projectGridRepeat .projectCard.visited:hover .projectStatusMessage{opacity:0}.showcaseImageCard:hover>img,.showcaseImageCard:focus-within>img{filter:none}.showcaseImageCard:hover .showcaseExplanation,.showcaseImageCard:focus-within .showcaseExplanation{opacity:0}.showcaseImageCard.viewed>img{filter:saturate(.92) brightness(.68)}.showcaseImageCard.viewed .showcaseExplanation{opacity:1;background:#07080880}}.heroNav a:focus-visible,.heroActions a:focus-visible,.projectDemoLink:focus-visible,.sideIndex a:focus-visible,.projectCard:focus-visible,.screenshotSlot:focus-visible,.screenshotBackdrop:focus-visible,.modalNav:focus-visible,.modalClose:focus-visible,.detailClose:focus-visible,.liveFrameHead a:focus-visible,.mobileDemoButton:focus-visible,.scheduleButtons button:focus-visible,.choiceRow button:focus-visible{outline:2px solid rgba(120,212,223,.9);outline-offset:3px;box-shadow:0 0 0 4px #78d4df24}.cloneLaunchButton{display:inline-flex;align-items:center;margin-top:var(--space-4);padding:var(--space-3) var(--space-5);font-size:14px;font-weight:700;color:var(--text-strong);background:var(--surface-card);border:1px solid var(--charcoal-700);border-radius:var(--radius-md);text-decoration:none;transition:all var(--duration-fast) ease}.cloneLaunchButton:hover,.cloneLaunchButton:focus-visible{color:var(--pink-500);border-bottom:2px solid var(--teal-500);background:#ff6f9d0d;transform:translateY(-2px)}.portfolioApp .heroSection .heroLead{width:auto;max-width:calc(100vw - (var(--portfolio-side-rail) * 2));font-size:clamp(31px,calc(2.3vw - 2px),41px)}.portfolioApp .heroSection .heroLead p{white-space:normal;overflow-wrap:normal;word-break:keep-all}.librarySection{margin-top:clamp(48px,8vw,96px)}.libraryShelf{position:relative}.libraryNav{position:absolute;top:107px;transform:translateY(-50%);z-index:3;display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0 0 3px;border:1px solid var(--line-soft);border-radius:50%;background:#1c1b18d1;color:var(--text-strong);font-size:22px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 6px 18px #00000080;transition:opacity var(--duration-medium) ease,background var(--duration-fast) ease,border-color var(--duration-fast) ease}.libraryNav:hover,.libraryNav:focus-visible{background:#1c1b18f5;border-color:var(--line-strong)}.libraryNavPrev{left:0}.libraryNavNext{right:0}.libraryNav.is-hidden{opacity:0;pointer-events:none}.libraryBooks{list-style:none;margin:var(--space-6) 0 0;padding:8px clamp(48px,6vw,72px) 0 0;display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:flex-start;gap:clamp(18px,2.4vw,32px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-left:0;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-mask-image:linear-gradient(to right,#000 0,#000 93%,transparent 100%);mask-image:linear-gradient(to right,#000 0,#000 93%,transparent 100%);cursor:grab;touch-action:pan-x}.libraryBooks.dragging{cursor:grabbing;scroll-snap-type:none}.libraryBooks::-webkit-scrollbar{display:none}.libraryBook{flex:0 0 auto;width:132px;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center}.libraryCover{width:132px;height:198px;border-radius:3px 6px 6px 3px;overflow:hidden;background:var(--charcoal-700);box-shadow:inset 3px 0 6px #00000057,0 14px 24px -12px #000000d9,0 2px 5px #00000080;transition:transform var(--duration-medium) ease,box-shadow var(--duration-medium) ease}.libraryBook:hover .libraryCover{transform:translateY(-6px) rotate(-1.5deg);box-shadow:inset 3px 0 6px #00000057,0 20px 32px -10px #000000e6,0 0 0 1px var(--line-strong)}.libraryCover img{display:block;width:100%;height:100%;object-fit:cover}.libraryCaption{margin-top:12px;height:34px;font-size:12px;font-weight:600;line-height:1.4;color:var(--text-muted);text-align:center;word-break:keep-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.heroName{margin:0 0 clamp(14px,1.8vw,22px);font-family:var(--font-display);font-size:clamp(14px,1.4vw,17px);font-weight:700;letter-spacing:.06em;color:var(--text-muted)}.aboutSection{margin-top:0}.aboutGrid{display:grid;grid-template-columns:1fr;gap:clamp(28px,5vw,64px);align-items:start;margin-top:var(--space-6)}@media(min-width:760px){.aboutGrid{grid-template-columns:minmax(0,1.5fr) minmax(238px,1fr)}}.aboutIntro{display:grid;gap:var(--space-5)}.aboutIntro p{margin:0;color:var(--text-body);font-size:clamp(15px,1.4vw,17px);font-weight:560;line-height:1.95}.contactSection{margin-top:clamp(48px,8vw,96px);padding-bottom:clamp(24px,5vw,56px)}.contactSection .sectionTitle{justify-items:center;text-align:center;max-width:none}.contactSection .sectionTitle p:last-child{max-width:none}.contactList{list-style:none;margin:var(--space-8) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,auto);justify-content:center;align-items:start;gap:clamp(14px,2.2vw,30px);margin-right:auto;margin-left:auto}.contactItem{display:grid;place-items:center;gap:12px;min-width:0}.contactIcon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;background:none;cursor:pointer;border-radius:22%;transition:filter var(--duration-medium) ease,opacity var(--duration-medium) ease}.contactIcon img{display:block;width:clamp(104px,10vw,132px);height:auto}.contactIcon-brunch img{transform:rotate(2.2deg);transform-origin:center}.contactIcon-kakao img{transform:rotate(2.4deg);transform-origin:center}.contactIcon:hover,.contactIcon:focus-visible{filter:brightness(1.12)}.contactIcon:active{transform:none}.contactValue{max-width:100%;overflow:hidden;color:var(--text-body);font-size:clamp(10px,1.2vw,14px);font-weight:700;letter-spacing:.02em;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}a.contactValue:hover{color:var(--teal-300);text-decoration:underline}.contactToast{position:fixed;top:50%;left:50%;z-index:calc(var(--contact-modal-z) + 2);display:grid;gap:var(--space-1);width:max-content;max-width:min(360px,calc(100vw - (var(--space-6) * 2)));min-height:46px;padding:var(--space-3) var(--space-5);transform:translate(-50%,-50%);border:1px solid rgba(120,212,223,.38);border-radius:var(--radius-pill);background:#0d1010f0;color:var(--teal-300);font-size:clamp(13px,1.4vw,15px);font-weight:950;line-height:1.38;text-align:center;box-shadow:0 22px 70px #0000007a,0 0 0 1px #f4f1e814;-webkit-user-select:text;user-select:text;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:contactToastIn var(--duration-medium) ease both}.contactToast.error{border-color:#c4739c7a;color:var(--off-white-muted)}.contactToast strong{color:var(--text-strong);font-size:inherit;font-weight:950;letter-spacing:0}@keyframes contactToastIn{0%{opacity:0;transform:translate(-50%,calc(-50% + 8px))}to{opacity:1;transform:translate(-50%,-50%)}}.kakaoContactModal,.emailContactModal{position:fixed;inset:0;z-index:var(--contact-modal-z);display:grid;place-items:center;padding:var(--space-6)}.kakaoContactBackdrop,.emailContactBackdrop{position:absolute;inset:0;border:0;background:var(--contact-modal-backdrop);cursor:pointer;-webkit-backdrop-filter:blur(var(--space-2));backdrop-filter:blur(var(--space-2))}.kakaoContactCard,.emailContactCard{position:relative;z-index:1;display:grid;justify-items:center;gap:var(--space-4);width:min(var(--contact-modal-width),calc(100vw - (var(--space-6) * 2)));padding:clamp(var(--space-6),5vw,var(--space-10));overflow:hidden;border:1px solid color-mix(in srgb,var(--teal-300) 36%,transparent);border-radius:var(--radius-lg);background:radial-gradient(circle at 18% 8%,color-mix(in srgb,var(--contact-kakao-yellow) 22%,transparent),transparent 36%),radial-gradient(circle at 86% 82%,color-mix(in srgb,var(--teal-300) 18%,transparent),transparent 34%),linear-gradient(145deg,color-mix(in srgb,var(--off-white) 8%,transparent),color-mix(in srgb,var(--charcoal-900) 96%,transparent)),var(--charcoal-900);box-shadow:var(--shadow-soft),0 0 var(--space-16) color-mix(in srgb,var(--contact-kakao-yellow) 12%,transparent);text-align:center;animation:modalFadeIn var(--duration-medium) ease both}.kakaoContactMark{display:grid;place-items:center;width:clamp(76px,18vw,112px);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--contact-kakao-yellow) 54%,transparent);border-radius:var(--radius-lg);background:var(--contact-kakao-yellow);box-shadow:0 var(--space-4) var(--space-10) color-mix(in srgb,var(--contact-kakao-yellow) 24%,transparent)}.kakaoContactMark img{width:clamp(52px,12vw,78px);height:auto}.kakaoContactPreview{display:block;width:min(100%,258px);height:auto;max-height:min(42dvh,318px);aspect-ratio:750 / 925;object-fit:contain;border:1px solid rgba(254,229,0,.34);border-radius:var(--radius-md);background:transparent;box-shadow:0 18px 46px #00000061}.kakaoContactCard{gap:clamp(8px,1.3dvh,var(--space-3));width:min(380px,calc(100vw - (var(--space-6) * 2)));max-height:calc(100dvh - (var(--space-3) * 2));padding:clamp(16px,2.6dvh,22px) clamp(14px,3vw,22px);overflow-y:auto;scrollbar-width:none}.kakaoContactCard::-webkit-scrollbar{display:none;width:0;height:0}.kakaoContactCard h3,.emailContactCard h3{margin:0;color:var(--text-strong);font-size:clamp(21px,2.4vw,27px);font-weight:520;line-height:1.22}.kakaoContactCard h3{max-width:calc(100% - 54px);font-size:clamp(21px,2.1vw,24px)}.kakaoContactLead,.kakaoContactHint{margin:0;color:var(--text-body);font-size:clamp(14px,1.3vw,16px);font-weight:650;line-height:1.72}.kakaoContactHint{color:var(--text-muted);font-size:clamp(12px,1.1vw,14px)}.kakaoContactIdCard{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--contact-kakao-yellow) 48%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--contact-kakao-yellow) 14%,var(--charcoal-900));box-shadow:inset 0 1px color-mix(in srgb,var(--off-white) 16%,transparent);text-align:left}.kakaoContactIdCard img{flex:0 0 auto;width:clamp(38px,8vw,48px);height:auto}.kakaoContactIdCard span{display:grid;gap:var(--space-1)}.kakaoContactIdCard em{color:var(--contact-kakao-yellow);font-size:12px;font-style:normal;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.kakaoContactIdCard strong{color:var(--text-strong);font-family:var(--font-display);font-size:clamp(20px,3vw,26px);font-weight:760;letter-spacing:.02em}.modalClose.kakaoContactClose,.modalClose.emailContactClose{top:var(--space-3);right:var(--space-3);z-index:2;min-height:32px;padding:0 10px}.emailContactCard{gap:var(--space-5);width:min(560px,calc(100vw - (var(--space-6) * 2)))}.emailCopyPanel{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3);overflow:hidden;border:1px solid rgba(120,212,223,.28);border-radius:var(--radius-md);background:#03040494;box-shadow:inset 0 1px #f4f1e814}.emailCopyPanel strong{min-width:0;color:var(--text-strong);font-family:var(--font-body);font-size:clamp(15px,2vw,20px);font-weight:900;letter-spacing:.01em;overflow-wrap:anywhere;text-align:left}.emailCopyButton{flex:0 0 auto;min-height:40px;padding:0 var(--space-4);border:1px solid rgba(255,111,157,.54);border-radius:var(--radius-pill);background:#030404e6;color:var(--text-strong);cursor:pointer;font-size:13px;font-weight:950;letter-spacing:.03em;box-shadow:0 12px 34px #00000052}.emailCopyButton:hover,.emailCopyButton:focus-visible{border-color:#78d4dfb8;background:#0d1010f5;color:var(--teal-300)}.emailInlineNotice{position:absolute;inset:var(--space-3) calc(var(--space-3) + 86px) var(--space-3) var(--space-3);z-index:2;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(120,212,223,.42);border-radius:calc(var(--radius-md) - 6px);background:#0d1010f5;color:var(--teal-300);font-size:clamp(12px,1.25vw,15px);font-weight:950;line-height:1.2;text-align:center;box-shadow:0 14px 36px #00000057;pointer-events:none;animation:emailInlineNoticeIn var(--duration-fast) ease both}@keyframes emailInlineNoticeIn{0%{opacity:0}to{opacity:1}}.showcaseContactList{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;gap:14px}.showcaseContactLink{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}.showcaseContactLink img{width:48px;height:48px;flex-shrink:0}.showcaseContactText{display:flex;flex-direction:column;gap:2px;min-width:0}.showcaseContactText strong{font-size:14px;font-weight:700;color:var(--text-strong)}.showcaseContactText em,.showcaseContactText a{font-size:13px;font-style:normal;color:var(--text-muted);text-decoration:none;word-break:break-all}a.showcaseContactLink:hover .showcaseContactText strong{color:var(--teal-300)}.showcaseContactText a:hover{color:var(--teal-300);text-decoration:underline}.heroCopy .heroLeadStacked p{font-size:inherit}@media(max-width:760px){.libraryBooks{gap:clamp(10px,3vw,16px);padding:6px 42px 18px 0}.libraryBook{width:clamp(58px,17vw,84px)}.libraryCover{width:clamp(58px,17vw,84px);height:clamp(88px,25.5vw,126px)}.libraryCaption{height:30px;margin-top:8px;font-size:clamp(9px,2.6vw,11px)}.libraryNav{top:clamp(52px,15vw,72px);width:44px;height:44px;font-size:24px}.contactList{grid-template-columns:repeat(4,auto);gap:clamp(6px,2.4vw,10px);margin-top:var(--space-5)}.contactItem{gap:6px}.contactIcon img{width:clamp(68px,18vw,86px)}.contactToast{max-width:min(300px,calc(100vw - (var(--space-4) * 2)));padding:var(--space-3) var(--space-4)}.kakaoContactModal,.emailContactModal{padding:10px}.kakaoContactCard,.emailContactCard{width:min(var(--contact-modal-width),calc(100vw - 20px));padding:16px 12px}.kakaoContactCard{gap:8px;max-height:calc(100dvh - 20px);padding:14px 12px}.kakaoContactPreview{width:min(100%,258px);max-height:min(46dvh,318px)}.kakaoContactCard h3{padding-right:56px;font-size:clamp(18px,5.2vw,23px);line-height:1.18}.kakaoContactIdCard{gap:10px;padding:10px}.kakaoContactIdCard img{width:38px}.kakaoContactIdCard em{font-size:10px}.kakaoContactIdCard strong{font-size:clamp(20px,5.5vw,24px)}.kakaoContactHint{font-size:11px;line-height:1.35}.modalClose.kakaoContactClose{top:14px;right:12px;min-width:44px;min-height:44px;padding:0 12px}}@media(max-width:760px)and (max-height:700px){.kakaoContactCard{gap:7px;padding:12px 10px}.kakaoContactPreview{width:min(100%,232px);max-height:min(43dvh,286px)}.kakaoContactIdCard{padding:9px}}@media(max-width:1040px){.showcaseImagePanel>.showcaseImageGrid{display:grid;width:100%;max-width:100%;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:minmax(0,1fr);overflow-x:hidden}.showcaseImagePanel>.showcaseImageGrid>.showcaseImageCard{width:100%;max-width:100%;min-width:0}}.libraryAddTile{justify-content:flex-start}.libraryAddBtn{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;width:132px;height:198px;padding:var(--space-3);border:1.5px dashed var(--line-soft, rgba(244,241,232,.22));border-radius:8px;background:#f4f1e808;color:var(--text-muted, #9a948a);font-size:40px;font-weight:300;line-height:1;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}.libraryAddBtn strong{color:inherit;font-family:var(--font-body);font-size:12px;font-weight:900;line-height:1.32;text-align:center;word-break:keep-all}.libraryAddBtn:hover{border-color:var(--teal-400, #04A4BA);color:var(--teal-300, #78d4df);background:#04a4ba0f}@media(max-width:760px){.libraryAddBtn{width:clamp(58px,17vw,84px);height:clamp(88px,25.5vw,126px);font-size:clamp(28px,7vw,36px);gap:6px;padding:8px 6px}.libraryAddBtn strong{font-size:clamp(9px,2.3vw,10px);line-height:1.22}}.bookAddModal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.bookAddBackdrop{position:absolute;inset:0;border:0;background:#000000b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer}.bookAddPanel{position:relative;z-index:1;width:min(440px,100%);max-height:88vh;overflow-y:auto;padding:26px 24px 24px;background:var(--charcoal-900, #14130f);border:1px solid var(--line-soft, rgba(244,241,232,.14));border-radius:16px;box-shadow:0 30px 90px #0009;color:var(--text-body, #F4F1E8)}.bookAddClose{position:absolute;top:14px;right:14px}.bookAddTitle{margin:0 0 18px;font-size:18px}.bookPinBox{display:grid;gap:16px}.bookPinDots{display:flex;justify-content:center;gap:12px;padding:12px 0 4px}.bookPinDots span{width:12px;height:12px;border:1px solid rgba(244,241,232,.28);border-radius:50%;background:#f4f1e80a}.bookPinDots span.filled{border-color:#78d4df94;background:var(--teal-400, #78d4df);box-shadow:0 0 18px #04a4ba5c}.bookPinPad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bookPinPad button{height:48px;border:1px solid rgba(244,241,232,.14);border-radius:10px;background:#f4f1e80f;color:var(--text-strong, #F4F1E8);cursor:pointer;font-size:17px;font-weight:800}.bookPinPad button:hover,.bookPinPad button:focus-visible{border-color:#78d4df57;background:#04a4ba24}.bookPinPad .bookPinSubmit{background:var(--teal-500, #04A4BA);color:#04211f}.bookAddField{display:block;margin-bottom:14px;font-size:12px}.bookAddField>span{display:block;margin-bottom:6px;color:var(--text-muted, #9a948a)}.bookAddField input{width:100%;height:40px;padding:0 12px;background:#f4f1e80d;color:inherit;border:1px solid var(--line-soft, rgba(244,241,232,.16));border-radius:9px;font-size:14px;box-sizing:border-box}.bookAddIsbnRow{display:flex;gap:8px}.bookAddIsbnRow input{flex:1;min-width:0}.bookAddIsbnRow button{flex-shrink:0;padding:0 12px;height:40px;background:#f4f1e814;color:inherit;border:1px solid var(--line-soft, rgba(244,241,232,.16));border-radius:9px;cursor:pointer;font-size:13px}.bookManageTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:-4px 0 18px;padding:4px;border:1px solid rgba(244,241,232,.12);border-radius:12px;background:#f4f1e80a}.bookManageTabs button{height:38px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-muted, #9a948a);cursor:pointer;font-weight:800}.bookManageTabs button.active{border-color:#78d4df57;background:#04a4ba24;color:var(--text-strong, #F4F1E8)}.bookAddVideo{width:100%;border-radius:10px;margin-bottom:14px;background:#000}.bookAddPreview{display:flex;gap:14px;margin-top:6px}.bookAddPreview>img{width:92px;height:138px;object-fit:cover;border-radius:5px;flex-shrink:0;background:#222}.bookAddPreviewBody{flex:1;min-width:0}.bookAddPreviewBody strong{display:block;font-size:15px}.bookAddPreviewBody em{display:block;margin-bottom:10px;color:var(--text-muted, #9a948a);font-style:normal;font-size:12px}.bookDeleteList{display:grid;gap:10px}.bookDeleteItem{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:8px;border:1px solid rgba(244,241,232,.12);border-radius:10px;background:#f4f1e80a}.bookDeleteItem img{width:42px;height:62px;object-fit:cover;border-radius:5px;background:#222}.bookDeleteItem span{display:grid;min-width:0;gap:2px}.bookDeleteItem strong{overflow:hidden;color:var(--text-strong, #F4F1E8);font-size:13px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.bookDeleteItem em{overflow:hidden;color:var(--text-muted, #9a948a);font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.bookDeleteItem button{min-width:64px;height:34px;padding:0 10px;border:1px solid rgba(255,138,138,.34);border-radius:8px;background:#ff8a8a14;color:#ffb0b0;cursor:pointer;font-size:12px;font-weight:800}.bookDeleteItem button.confirming{border-color:#ff8a8ab8;background:#ff8a8a2e;color:#ffd0d0}.bookDeleteItem button.edit{border-color:#78d4df57;background:#04a4ba1a;color:var(--teal-300, #78d4df)}.bookEditForm{display:grid;gap:10px}.bookEditHeader{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:4px;padding:10px;border:1px solid rgba(244,241,232,.12);border-radius:10px;background:#f4f1e80a}.bookEditHeader img{width:52px;height:76px;object-fit:cover;border-radius:5px;background:#222}.bookEditHeader span{display:grid;min-width:0;gap:3px}.bookEditHeader strong{overflow:hidden;color:var(--text-strong, #F4F1E8);font-size:14px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.bookEditHeader em{color:var(--text-muted, #9a948a);font-size:11px;font-style:normal}.bookEditActions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px}.bookEditActions button{height:40px;border:1px solid rgba(244,241,232,.16);border-radius:9px;background:#f4f1e812;color:var(--text-strong, #F4F1E8);cursor:pointer;font-weight:800}.bookEditActions button.primary{border-color:transparent;background:var(--teal-500, #04A4BA);color:#04211f}.bookAddSave{width:100%;height:42px;margin-top:4px;background:var(--teal-500, #04A4BA);color:#04211f;border:0;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer}.bookAddMsg{margin:12px 0 0;font-size:13px;color:var(--text-muted, #9a948a)}.bookAddMsg.error{color:#ff8a8a}@media(max-width:520px){.bookAddModal{align-items:flex-end;padding:14px}.bookAddPanel{width:100%;max-height:min(86vh,620px);padding:24px 18px 18px;border-radius:16px 16px 14px 14px}.bookPinPad button{height:46px}.bookDeleteItem{grid-template-columns:38px minmax(0,1fr) 58px;gap:8px}.bookDeleteItem img{width:38px;height:56px}.bookDeleteItem button{min-width:58px;padding:0 8px}}@media(max-width:1040px){.showcaseImagePanel>.showcaseImageGrid{display:grid;width:100%;max-width:100%;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:minmax(0,1fr);overflow-x:hidden}}@media(max-width:1040px){.showcaseImagePanel>.showcaseImageGrid>.showcaseImageCard{width:100%;max-width:100%;min-width:0}}@media(max-width:760px){.showcaseImagePanel>.showcaseImageGrid{grid-template-columns:minmax(0,1fr)}}@media(max-width:1040px){.showcaseImagePanel .showcaseImageOverlay strong{white-space:normal;overflow-wrap:anywhere;word-break:keep-all}}@media(max-width:1040px){.showcaseImagePanel .showcaseImageCard:hover,.showcaseImagePanel .showcaseImageCard:focus-within{transform:none}}
