:root{color-scheme:light;--bg: #ffffff;--tile: #f5f5f7;--tile-raised: #ffffff;--fill: #e9e9eb;--fill-hover: #dedee1;--ink: #1d1d1f;--muted: #6e6e73;--faint: #707077;--line: rgba(0, 0, 0, .08);--line-strong: rgba(0, 0, 0, .12);--accent: #0071e3;--imessage: #0066d6;--danger: #d70015;--material: rgba(255, 255, 255, .72);--material-border: rgba(0, 0, 0, .08);--scrim: rgba(0, 0, 0, .32);--shadow-float: 0 10px 24px -10px rgba(0, 0, 0, .18);--shadow-sheet: 0 30px 80px rgba(0, 0, 0, .2);--avatar: linear-gradient(145deg, #8fb4d6, #a493c8);--art-blue: linear-gradient(145deg, #e3f0fd, #d2e4f7);--art-violet: linear-gradient(145deg, #efebff, #ddd5f3);--art-mint: linear-gradient(145deg, #e4f6ee, #cfe9de);--art-peach: linear-gradient(145deg, #fff0e7, #f2dbd1);--device: rgba(255, 255, 255, .88);--device-ink: rgba(60, 80, 100, .14);--device-logo: rgba(68, 113, 149, .7);--radius-tile: 28px;--page: min(1120px, 100% - 32px);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);font:100%/1.5 -apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Helvetica Neue,Arial,sans-serif;font-optical-sizing:auto;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:var(--ink);background:var(--bg)}:root[data-theme=dark]{color-scheme:dark;--bg: #000000;--tile: #1c1c1e;--tile-raised: #2c2c2e;--fill: #2c2c2e;--fill-hover: #3a3a3c;--ink: #f5f5f7;--muted: #a1a1a6;--faint: #aaaab0;--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .16);--accent: #2997ff;--imessage: #0066d6;--danger: #ff453a;--material: rgba(28, 28, 30, .7);--material-border: rgba(255, 255, 255, .1);--scrim: rgba(0, 0, 0, .6);--shadow-float: 0 10px 24px -10px rgba(0, 0, 0, .6);--shadow-sheet: 0 30px 80px rgba(0, 0, 0, .6);--art-blue: radial-gradient(120% 90% at 30% 0%, rgba(64, 156, 255, .28), transparent 70%), #17191c;--art-violet: radial-gradient(120% 90% at 30% 0%, rgba(150, 120, 255, .28), transparent 70%), #18171c;--art-mint: radial-gradient(120% 90% at 30% 0%, rgba(48, 209, 150, .22), transparent 70%), #161a19;--art-peach: radial-gradient(120% 90% at 30% 0%, rgba(255, 150, 110, .24), transparent 70%), #1b1817;--device: rgba(44, 44, 46, .92);--device-ink: rgba(255, 255, 255, .12);--device-logo: rgba(120, 165, 205, .75)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(88px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}html[data-navigation-input=keyboard]{scroll-behavior:auto}body{min-width:0;margin:0;overflow-x:hidden;background:var(--bg);transition:background-color .3s ease,color .3s ease}body.modal-open{overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{-webkit-user-select:none;user-select:none}a{color:inherit;text-decoration:none}::selection{color:#fff;background:var(--accent)}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:fixed;z-index:999;top:12px;left:12px;padding:.625rem .875rem;border-radius:999px;color:var(--bg);background:var(--ink);transform:translateY(-160%)}.skip-link:focus{transform:none}.eyebrow,.tile-label{display:inline-block;color:var(--faint);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.muted{color:var(--faint)}.pill-button,.chip,.send-button,.icon-button,.pill-nav-item,.project-controls button,.error-banner button{transition:transform .16s var(--ease-out),background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease}.pill-button:active,.chip:active,.send-button:active,.icon-button:active,.pill-nav-item:active,.project-controls button:active,.error-banner button:active{transform:scale(.97);transition-duration:.1s}.pill-button:disabled,.chip:disabled,.send-button:disabled{transform:none;opacity:.5;cursor:default}.pill-button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2.75rem;padding:0 1.125rem;border:1px solid var(--line-strong);border-radius:999px;background:transparent;cursor:pointer;font-size:.875rem;font-weight:500;letter-spacing:.005em;white-space:nowrap}.pill-button.active{border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.pill-button-dark{border-color:transparent;color:var(--bg);background:var(--ink)}.pill-button-dark:disabled{opacity:.5;cursor:wait}.icon-button{display:grid;flex:0 0 auto;width:2rem;height:2rem;place-items:center;border:0;border-radius:50%;color:var(--muted);background:var(--fill);cursor:pointer}.site-header{position:fixed;z-index:100;top:calc(16px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px}.theme-toggle{display:grid;flex:0 0 auto;width:44px;height:44px;place-items:center;border:1px solid var(--material-border);border-radius:50%;color:var(--ink);background:var(--tile-raised);box-shadow:var(--shadow-float);cursor:pointer}.pill-nav{display:flex;gap:2px;padding:4px;border:1px solid var(--material-border);border-radius:999px;background:var(--material);box-shadow:var(--shadow-float);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.pill-nav-item{position:relative;display:inline-flex;align-items:center;gap:.375rem;min-height:44px;padding:.625rem 1.25rem;border-radius:999px;color:var(--muted);font-size:.875rem;font-weight:500;letter-spacing:.005em}.pill-nav-item.current{color:var(--ink)}.pill-nav-indicator{position:absolute;z-index:0;inset:0;border-radius:inherit;background:var(--fill)}.pill-nav-label{position:relative;z-index:1}.scroll-edge{position:fixed;z-index:90;top:0;right:0;left:0;height:76px;pointer-events:none;background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 85%,transparent),transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);mask-image:linear-gradient(to bottom,black 30%,transparent);-webkit-mask-image:linear-gradient(to bottom,black 30%,transparent)}.section-shell{width:var(--page);margin:0 auto;padding:5rem 0}.bento{display:grid;gap:16px}.tile{position:relative;min-width:0;border-radius:var(--radius-tile);background:var(--tile)}.section-heading h2,.about-tile h2,.contact-heading h2{margin:.75rem 0 0;font-size:clamp(2.25rem,1.5rem + 2.6vw,3.5rem);line-height:1.05;font-weight:650;letter-spacing:-.03em}.hero{padding-top:7.5rem;padding-bottom:1rem}.hero-bento{grid-template-columns:minmax(0,1fr);gap:20px;align-items:center}.intro-tile{display:flex;flex-direction:column;justify-content:center;padding:1rem 0 2rem;background:transparent}.intro-tile h1{max-width:15ch;margin:1.5rem 0 1.25rem;font-size:clamp(2.75rem,1.6rem + 3vw,4rem);line-height:1.02;font-weight:650;letter-spacing:-.045em}.intro-identity{display:flex;align-items:center;gap:.75rem}.intro-identity strong,.intro-identity span:not([class]){display:block}.intro-identity strong{font-size:1rem;font-weight:600}.intro-identity span:not([class]){color:var(--muted);font-size:.8125rem}.hero-emphasis{color:var(--accent)}.intro-lead{max-width:29rem;margin:0;color:var(--muted);font-size:1.0625rem;line-height:1.65}.hero-actions,.management-actions,.dialog-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem}.hero-actions{margin-top:1.75rem}.spotlight-tile,.profile-tile,.contact-card{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.spotlight-copy h2{margin:0 0 .375rem;font-size:1.5rem;line-height:1.15;font-weight:650;letter-spacing:-.02em}.spotlight-copy p,.spotlight-empty{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.45}.spotlight-art{position:relative;height:172px;overflow:hidden;border-radius:18px;background:var(--art)}.spotlight-art .device-frame{top:28px;width:78%;transform:translate(-50%)}.spotlight-tile>.pill-button{align-self:flex-start}.spotlight-skeleton{flex:1;min-height:240px;border-radius:18px;background:var(--fill);animation:pulse 1.6s ease-in-out infinite}.profile-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem}.contact-card .profile-head{grid-template-columns:1fr auto}.profile-head strong{display:block;font-size:.9375rem;font-weight:600}.profile-head span:not([class]){display:block;color:var(--faint);font-size:.8125rem;letter-spacing:.005em}.avatar{display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--avatar);font-weight:600}.avatar{width:2.75rem;height:2.75rem;font-size:1.0625rem}.avatar{position:relative;overflow:hidden}.avatar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.app-icon{display:grid;width:3.25rem;height:3.25rem;place-items:center;border-radius:14px;color:var(--bg);background:var(--ink);box-shadow:0 6px 14px -6px #00000059}.app-icon-blue{color:#fff;background:linear-gradient(160deg,#2b8ef0,#0a66c2)}.app-icon-dark{color:#fff;background:linear-gradient(160deg,#3a3a3c,#1c1c1e)}.profile-tile p,.contact-card p{margin:0;font-size:1.25rem;line-height:1.35;font-weight:500;letter-spacing:-.012em}.now-list{display:grid;gap:.875rem;margin:.25rem 0 0}.now-list dt{font-size:1.0625rem;font-weight:600;letter-spacing:-.01em}.now-list dd{margin:.125rem 0 0;color:var(--muted);font-size:.875rem}.profile-tile .pill-button,.contact-card .pill-button{width:100%;margin-top:auto}.profile-tile{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem}.profile-tile .now-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin:0}.profile-tile .now-list dt{font-size:.875rem}.profile-tile .now-list dd{font-size:.75rem}.profile-tile .pill-button{width:auto;margin:0}.section-heading{display:grid;grid-template-columns:minmax(0,1fr);align-items:end;gap:3rem;margin-bottom:2.5rem}.section-side>p{margin:0 0 1.25rem;color:var(--muted);font-size:1rem;line-height:1.55}.project-list,.project-skeletons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px}.project-card{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;min-width:0;overflow:hidden}.project-copy{display:flex;flex-direction:column;min-width:0;padding:1.75rem;overflow-wrap:anywhere}.project-meta{display:flex;justify-content:space-between;padding-bottom:1.25rem;color:var(--faint);font-size:.75rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.04em}.status-row{display:flex;gap:.375rem;margin-bottom:1rem}.status{padding:.25rem .625rem;border-radius:999px;color:var(--muted);background:var(--fill);font-size:.75rem;font-weight:500;letter-spacing:.01em;text-transform:capitalize}.status-live{color:#1f7a45;background:color-mix(in srgb,#34c759 18%,transparent)}.status-concept{color:#8a5a00;background:color-mix(in srgb,#ff9f0a 16%,transparent)}.featured-label{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}:root[data-theme=dark] .status-live{color:#30d158}:root[data-theme=dark] .status-concept{color:#ffb340}.project-copy h3{margin:0 0 .875rem;font-size:clamp(1.75rem,1.2rem + 1.6vw,2.25rem);line-height:1.08;font-weight:650;letter-spacing:-.024em}.project-summary{max-width:30rem;margin:0 0 .75rem;font-size:1.0625rem;line-height:1.5}.project-description{max-width:30rem;margin:.75rem 0 1rem;color:var(--muted);font-size:.9375rem;line-height:1.55}.tag-list{display:flex;flex-wrap:wrap;gap:.375rem}.tag-list span{padding:.3125rem .6875rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted);font-size:.8125rem;letter-spacing:.005em}.project-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:2rem;color:var(--faint);font-size:.8125rem}.accent-blue{--art: var(--art-blue)}.accent-violet{--art: var(--art-violet)}.accent-mint{--art: var(--art-mint)}.accent-peach{--art: var(--art-peach)}.project-art{position:relative;order:-1;aspect-ratio:16 / 10;width:calc(100% - 24px);min-width:0;margin:12px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--tile-raised)}.product-screenshot{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.project-art .product-screenshot{position:absolute;inset:0;object-fit:contain}.spotlight-art .product-screenshot{height:100%;min-height:0}.project-story{margin:.25rem 0 1rem}.project-story summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:44px;color:var(--muted);cursor:pointer;list-style:none;font-size:.875rem}.project-story summary::-webkit-details-marker{display:none}.project-story[open] summary{color:var(--ink)}.project-story[open] summary svg{transform:rotate(180deg)}.project-mark{display:grid;height:100%;min-height:inherit;place-items:center;color:var(--ink);opacity:.8}.project-mark .project-logo{width:96px;height:96px;object-fit:contain;border-radius:22px}.project-initial{font-size:3.5rem;font-weight:650;letter-spacing:-.03em}.spotlight-art .project-mark{opacity:1}.device-frame{position:absolute;top:50%;left:50%;width:76%;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--device);box-shadow:0 24px 50px -12px #283c5040;transform:translate(-50%,-50%);transition:transform .3s var(--ease-out)}.device-bar{display:flex;align-items:center;gap:5px;padding:12px 14px;border-bottom:1px solid var(--line)}.device-bar i{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--device-ink)}.device-url{min-width:0;margin-left:10px;overflow:hidden;color:var(--faint);font-size:.6875rem;text-overflow:ellipsis;white-space:nowrap}.device-content{display:grid;grid-template-columns:.34fr 1fr;min-height:270px}.device-sidebar{display:flex;flex-direction:column;gap:12px;padding:20px 14px;border-right:1px solid var(--line)}.device-sidebar span{width:72%;height:7px;border-radius:99px;background:var(--device-ink)}.device-sidebar .device-logo{display:grid;width:26px;height:26px;margin-bottom:18px;place-items:center;border-radius:8px;color:#fff;background:var(--device-logo);font-size:.8125rem;font-weight:650}.device-main{min-width:0;padding:24px}.device-title{display:block;margin-bottom:12px;overflow:hidden;font-size:1rem;font-weight:650;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.device-line{display:block;width:77%;height:7px;border-radius:99px;background:var(--device-ink)}.device-line.short{width:48%;margin-top:8px}.device-grid{display:grid;gap:8px;margin-top:28px}.device-grid i{min-width:0;padding:.5rem .625rem;overflow:hidden;border-radius:10px;color:var(--muted);background:var(--art);font-size:.6875rem;font-style:normal;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.project-controls{position:absolute;z-index:5;top:24px;right:24px;display:flex;gap:4px;padding:4px;border:1px solid var(--material-border);border-radius:999px;background:var(--material);box-shadow:var(--shadow-float);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.project-controls button{display:inline-flex;align-items:center;gap:.375rem;min-height:2.25rem;padding:0 .875rem;border:0;border-radius:999px;background:transparent;cursor:pointer;font-size:.8125rem;font-weight:500}.project-controls .danger-button{color:var(--danger)}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-bottom:1rem;padding:.875rem 1.125rem;border-radius:18px;color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,transparent);font-size:.875rem}.error-banner button{border:0;color:inherit;background:none;cursor:pointer;font-weight:600}.project-skeletons div{min-height:500px;border-radius:var(--radius-tile);background:var(--tile);animation:pulse 1.6s ease-in-out infinite}.project-skeletons div:nth-child(2){animation-delay:.2s}@keyframes pulse{50%{opacity:.55}}.empty-state{display:grid;justify-items:center;padding:5rem 1.5rem;color:var(--muted);text-align:center}.empty-state h3{margin:1rem 0 .5rem;color:var(--ink);font-size:1.75rem;letter-spacing:-.02em}.empty-state p{margin:0 0 1.5rem}.about-bento{grid-template-columns:repeat(3,minmax(0,1fr))}.about-tile{grid-column:1 / -1;padding:clamp(1.75rem,4vw,3rem);background:transparent;border-top:1px solid var(--line);border-radius:0}.about-tile p{max-width:42rem;margin:1.25rem 0 0;color:var(--muted);font-size:1.0625rem;line-height:1.6}.principle-tile{padding:1.5rem}.principle-icon{display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:13px;color:var(--accent);background:var(--tile-raised);box-shadow:0 1px 2px #0000000f}.principle-tile h3{margin:1.5rem 0 .375rem;font-size:1.25rem;line-height:1.2;font-weight:600;letter-spacing:-.015em}.principle-tile p{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.5}.timeline-tile,.recognition-tile{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem}.timeline-tile{grid-column:span 2}.timeline,.recognition{display:grid;margin:0;padding:0;list-style:none}.timeline{gap:1.25rem}.timeline li{display:grid;grid-template-columns:3.25rem 1fr;gap:1rem}.timeline-when{padding-top:.125rem;color:var(--faint);font-size:.8125rem;font-weight:500;font-variant-numeric:tabular-nums}.timeline strong,.recognition strong{display:block;font-size:1rem;font-weight:600;letter-spacing:-.01em}.timeline span,.recognition span{display:block;color:var(--muted);font-size:.875rem}.timeline p{margin:.375rem 0 0;color:var(--faint);font-size:.875rem;line-height:1.5}.recognition{gap:1rem}.recognition li{display:grid;grid-template-columns:auto 1fr;gap:.75rem}.recognition li>svg{margin-top:.1875rem;color:#c48a00}.language-list{display:grid;gap:.35rem;max-width:42rem;margin:1.5rem 0 0;color:var(--muted);font-size:.875rem;line-height:1.5}.language-list dt{color:var(--ink);font-weight:600}.language-list dd{margin:0}.contact-heading{margin-bottom:2rem}.contact-heading h2{max-width:15ch}.contact-heading>p{margin:1rem 0 0;color:var(--muted);font-size:1.0625rem}.contact-direct{display:inline-flex;align-items:center;gap:.375rem;min-height:44px;margin-top:.25rem;color:var(--accent);font-size:.875rem}.contact-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}.chat{grid-row:span 2;padding:1.75rem}.chat-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;margin-bottom:1.75rem}.chat-header strong{display:block;font-size:.9375rem;font-weight:600}.chat-header span:not([class]){display:block;margin-top:.125rem;color:var(--muted);font-size:.75rem}.chat-header>svg{color:var(--muted)}.chat-log{display:flex;flex-direction:column;gap:.375rem;max-height:24rem;padding:.25rem .25rem .5rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.chat-row{display:flex;align-items:flex-end;gap:.5rem}.chat-row.from-them{transform-origin:bottom left}.chat-row.from-me{justify-content:flex-end;transform-origin:bottom right}.chat-stack{display:flex;flex-direction:column;align-items:flex-start;gap:.375rem;max-width:80%}.from-me .chat-stack{align-items:flex-end}.chat-name{margin-left:.75rem;color:var(--faint);font-size:.6875rem;letter-spacing:.01em}.bubble{margin:0;padding:.5rem .875rem;border-radius:1.25rem;color:var(--ink);background:var(--fill);font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.from-them .bubble{border-bottom-left-radius:.375rem}.from-me .bubble{color:#fff;background:var(--imessage);border-bottom-right-radius:.375rem}.chat-suggestions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.5rem;margin:1rem 0 1.5rem}.chip{min-height:2.75rem;padding:0 .875rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink);background:transparent;cursor:pointer;font-size:.875rem}.chip:disabled{opacity:.4;cursor:default}.chat-composer{display:grid;gap:.625rem}.chat-composer>label{font-size:.8125rem;font-weight:550}.chat-composer textarea{width:100%;min-height:6.5rem;padding:.875rem 1rem;border:1px solid var(--line-strong);border-radius:16px;background:var(--bg);font-size:1rem;line-height:1.5;resize:vertical}.chat-composer textarea::placeholder{color:var(--muted)}.composer-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.75rem}.composer-footer>span{color:var(--muted);font-size:.75rem}.draft-preview{white-space:pre-wrap}.draft-handoff{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--line-strong)}.draft-handoff>p{margin:0;color:var(--muted);font-size:.875rem}.draft-handoff .hero-actions,.draft-handoff .copy-feedback{margin-top:.75rem}footer{display:flex;justify-content:space-between;gap:1rem;width:var(--page);margin:2rem auto 0;padding:1.75rem 0 2.5rem;border-top:1px solid var(--line);color:var(--faint);font-size:.8125rem}footer div{display:flex;gap:1.25rem}footer a{transition:color .2s ease}@media(hover:hover)and (pointer:fine){.pill-button:hover,.project-controls button:hover{background:var(--fill)}.pill-button-dark:hover{background:color-mix(in srgb,var(--ink) 86%,var(--bg))}.icon-button:hover{background:var(--fill-hover)}.pill-nav-item:not(.current):hover{color:var(--ink);background:color-mix(in srgb,var(--fill) 55%,transparent)}.chip:hover{background:color-mix(in srgb,var(--imessage) 8%,transparent)}.project-card:hover .device-frame{transform:translate(-50%,-52%) scale(1.02)}footer a:hover{color:var(--ink)}}.dialog-backdrop{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:20px}.scrim{position:absolute;inset:0;background:var(--scrim);pointer-events:none}.project-dialog{position:relative;display:flex;flex-direction:column;width:min(680px,100%);max-height:calc(100svh - 40px);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-tile);background:var(--bg);box-shadow:var(--shadow-sheet)}.dialog-header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.75rem 1.75rem 1.25rem}.dialog-header h2{margin:.5rem 0 0;font-size:clamp(1.75rem,1.3rem + 1.6vw,2.25rem);line-height:1.08;font-weight:650;letter-spacing:-.024em}.project-dialog form{overflow-y:auto;overscroll-behavior:contain;padding:0 1.75rem 1.75rem}.is-sheet{place-items:end center;padding:0}.is-sheet .project-dialog{width:100%;max-height:92svh;overflow:visible;border-bottom:0;border-radius:24px 24px 0 0}.is-sheet .project-dialog:after{position:absolute;top:100%;right:0;left:0;height:200px;background:var(--bg);content:""}.is-sheet .dialog-header{padding-top:1.75rem;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.is-sheet .dialog-header:active{cursor:grabbing}.is-sheet .project-dialog form{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.grabber{position:absolute;top:8px;left:50%;width:36px;height:5px;border-radius:99px;background:var(--line-strong);transform:translate(-50%)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 1rem}.field{display:grid;gap:.375rem;margin-bottom:1rem}.field label{color:var(--muted);font-size:.8125rem;font-weight:500}.field label span{color:var(--faint);font-weight:400}.field input,.field textarea,.field select{width:100%;border:1px solid transparent;outline:0;border-radius:12px;background:var(--tile);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.field input,.field select{height:2.75rem;padding:0 .875rem}.field textarea{padding:.75rem .875rem;line-height:1.5;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.field input:user-invalid,.field textarea:user-invalid{border-color:var(--danger)}.check-field{display:inline-flex;align-items:center;gap:.625rem;margin:.25rem 0 1.5rem;cursor:pointer;font-size:.9375rem}.check-field input{position:absolute;opacity:0;pointer-events:none}.check-box{display:grid;width:22px;height:22px;place-items:center;border:1.5px solid var(--line-strong);border-radius:7px;color:transparent;background:var(--bg);transition:background-color .15s ease,border-color .15s ease}.check-field input:checked+.check-box{border-color:var(--accent);color:#fff;background:var(--accent)}.check-field input:focus-visible+.check-box{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.form-error{margin:0 0 1rem;padding:.75rem .875rem;border-radius:12px;color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,transparent);font-size:.875rem}.dialog-actions{justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--line)}@media(max-width:900px){.hero-bento{grid-template-columns:minmax(0,1fr)}.intro-tile{grid-row:auto;grid-column:1 / -1;padding:1rem 0 2rem}.intro-tile h1{max-width:14ch}.profile-tile{grid-template-columns:1fr;gap:1rem}.profile-tile .pill-button{justify-self:start}.section-heading{grid-template-columns:1fr;gap:1.25rem}.project-card{grid-template-columns:1fr}}@media(max-width:680px){.section-shell{padding:3.5rem 0}.hero{padding-top:5.5rem;padding-bottom:.5rem}.intro-tile h1{margin-top:1.5rem;font-size:clamp(2.75rem,9vw,3.75rem)}.hero-bento,.about-bento,.contact-grid,.project-list,.project-skeletons{grid-template-columns:1fr}.chat{grid-row:auto}.profile-tile .now-list{grid-template-columns:1fr}.timeline-tile{grid-column:auto}.pill-nav-item{padding:.5rem .875rem}.project-art{width:calc(100% - 16px);margin:8px}.device-frame{width:86%}.device-content{min-height:220px}.project-footer{align-items:flex-start;flex-direction:column}.project-controls{top:16px;right:16px}.chat{padding:1.25rem}.chat-suggestions{justify-content:flex-start}footer{flex-direction:column}.form-grid{grid-template-columns:1fr}.dialog-actions .pill-button{flex:1}}@media(max-width:360px){.pill-nav-item{padding:.5rem .625rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pill-button:active,.chip:active,.send-button:active,.icon-button:active,.pill-nav-item:active,.project-controls button:active,.error-banner button:active{opacity:.7;transform:none}.project-card:hover .device-frame{transform:translate(-50%,-50%)}.spotlight-skeleton,.project-skeletons div{animation:none}}@media(prefers-reduced-transparency:reduce){.pill-nav,.project-controls{background:var(--tile-raised);backdrop-filter:none;-webkit-backdrop-filter:none}.scroll-edge{background:linear-gradient(to bottom,var(--bg) 40%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-contrast:more){:root{--muted: #4a4a4f;--faint: #5c5c61;--line-strong: rgba(0, 0, 0, .4)}.pill-nav,.project-controls{border-color:var(--ink);background:var(--tile-raised);backdrop-filter:none;-webkit-backdrop-filter:none}.tile{border:1px solid var(--line-strong)}}@media(prefers-contrast:more){:root[data-theme=dark]{--muted: #c7c7cc;--faint: #aeaeb2;--line-strong: rgba(255, 255, 255, .45)}}.project-playground{display:grid;gap:16px;margin-bottom:48px}.app-selector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px 40px;padding:32px}.project-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:16px 8px;border:1px solid var(--line);border-radius:24px;background:var(--tile-raised);box-shadow:0 14px 28px -22px #00000059}.dock-tab{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0;padding:4px 0;border:0;border-radius:16px;color:var(--muted);background:transparent;cursor:pointer}.dock-icon{position:relative;display:grid;width:60px;height:60px;flex:0 0 auto;place-items:center;border-radius:18px;color:var(--ink);background:var(--art);transition:transform .16s var(--ease-out)}.dock-icon>svg{position:relative;z-index:1}.dock-selection{position:absolute;inset:-5px;border:2px solid var(--accent);border-radius:23px}.dock-tab[aria-selected=true]{color:var(--ink)}.dock-name{max-width:100%;font-size:.6875rem;font-weight:550;text-align:center}.product-logo{position:relative;z-index:1;display:block;width:70%;height:70%;object-fit:contain;border-radius:10px}.selector-copy>h3{margin:12px 0;font-size:2.25rem;line-height:1.1;letter-spacing:-.035em;font-weight:650}.selector-copy>p{max-width:32rem;margin:0 0 24px;color:var(--muted);font-size:1rem;line-height:1.6}.app-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;padding:32px;overflow:hidden;background:var(--art)}.app-viewport{position:relative;width:100%;overflow:hidden}.app-viewport>iframe{position:absolute;top:0;left:0;display:block;border:0;background:#fff;transform-origin:0 0}.browser-window{position:relative;width:100%;overflow:hidden;border:1px solid var(--line-strong);border-radius:14px;background:#fff;box-shadow:0 24px 48px -28px #00000080}.browser-bar{display:flex;align-items:center;gap:6px;height:48px;padding:0 8px 0 14px;color:#6e6e73;background:#f5f5f7;border-bottom:1px solid rgba(0,0,0,.08)}.browser-bar>i{width:10px;height:10px;border-radius:50%;background:#d1d1d6}.browser-address{flex:1;min-width:0;margin:0 8px 0 10px;padding:4px 12px;overflow:hidden;border-radius:8px;background:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.phone-device{width:min(360px,100%);padding:10px;border-radius:48px;background:#17191c;box-shadow:0 28px 48px -28px #0009,inset 0 0 0 1px #3a3d42}.phone-device .app-viewport{border-radius:38px}.app-expand{display:grid;flex-shrink:0;width:44px;height:44px;place-items:center;border-radius:8px;color:#6e6e73;transition:background-color .15s ease,transform .12s var(--ease-out)}.app-expand:active{transform:scale(.95)}.phone-device>.app-expand{position:absolute;top:16px;right:16px;color:var(--muted)}.app-touch-open{display:none}@media(pointer:coarse){.app-touch-open{position:absolute;inset:48px 0 0;display:block}}.browser-window[hidden],.phone-device[hidden]{display:none}.personal-gallery{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:32px;min-height:440px;margin-bottom:8px;padding:40px;overflow:hidden}.personal-copy h3{max-width:12ch;margin:16px 0;font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.035em;font-weight:650}.personal-copy>p{max-width:25rem;margin:0;color:var(--muted);font-size:1rem;line-height:1.6}.interest-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.interest-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid var(--line-strong);border-radius:99px;color:var(--muted);background:transparent;cursor:pointer;font-size:.8125rem}.interest-button[aria-pressed=true]{color:var(--bg);border-color:var(--ink);background:var(--ink)}.photo-stack{position:relative;width:min(280px,100% - 48px);height:320px;margin:24px auto}.interest-photo{position:absolute;inset:0;margin:0;padding:10px 10px 16px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--tile-raised);box-shadow:0 18px 30px -18px #00000073}.interest-image{position:relative;width:100%;height:228px;overflow:hidden;border-radius:6px}.interest-image>img{display:block;width:100%;height:100%;object-fit:cover}.interest-fishing .interest-image>img{object-position:center 51%}.interest-travel .interest-image>img{object-position:center 62%}.interest-music .interest-image>img{object-position:center 58%}.interest-scenery{display:grid;width:100%;height:100%;place-items:center;color:#fff}.interest-fishing .interest-scenery{background:linear-gradient(165deg,#b3d9d5 0% 40%,#547d83 40%,#234b5f)}.interest-travel .interest-scenery{background:linear-gradient(155deg,#ccdbe5 0% 35%,#a3ac92 35%,#637965 62%,#d8c4a1 62%)}.interest-music .interest-scenery{background:repeating-linear-gradient(0deg,transparent 0 24px,rgba(255,255,255,.15) 24px 25px),linear-gradient(135deg,#8c6b5b,#3c2d38)}.interest-photo figcaption{display:grid;gap:4px;padding:14px 5px 0}.interest-photo figcaption strong{font-size:.9375rem;font-weight:600}.interest-photo figcaption>span{color:var(--muted);font-size:.6875rem}@media(hover:hover)and (pointer:fine){.dock-tab:hover .dock-icon{transform:translateY(-6px) scale(1.05)}.app-expand:hover{background:#0000000f}.interest-button:not([aria-pressed=true]):hover,.theme-toggle:hover{background:var(--fill)}}@media(max-width:900px){.app-selector,.app-stage{padding:24px}.dock-icon{width:48px;height:48px;border-radius:14px}.dock-selection{border-radius:19px}.personal-gallery{padding:28px;gap:16px}}@media(max-width:680px){.app-selector{grid-template-columns:1fr}.project-dock{gap:4px;padding:14px 4px}.dock-name{font-size:.625rem;letter-spacing:-.01em}.app-stage{padding:16px}.phone-device>.app-expand{top:8px;right:8px}.personal-gallery{grid-template-columns:1fr;padding:24px}.photo-stack{margin:24px auto 12px}}@media(max-width:360px){.site-header{gap:6px}.pill-nav-item{padding-right:.5rem;padding-left:.5rem}}@media(prefers-reduced-motion:reduce){.dock-tab:hover .dock-icon{transform:none}.dock-icon{transition:none}}
