:root{--rose:#f4c8c1;--rose-deep:#e8a89e;--sage:#c8d6c2;--sage-deep:#9bb592;--amber:#f0d9b5;--amber-deep:#e0bc89;--lavender:#d8d3e8;--lavender-deep:#b8b0d4;--sky:#c5d9e3;--sky-deep:#95b6c4;--cream:#f5ede1;--bg:#fbf8f3;--bg-elevated:#fff;--bg-subtle:#f4eee3;--ink:#2a2520;--ink-soft:#5c544c;--ink-muted:#8a8076;--border:#ebe4d4;--accent:#c2410c;--accent-soft:#fef3e8;--font-display:"DM Serif Display", Georgia, serif;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-accent:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--text-5xl:4rem;--leading-tight:1.15;--leading-snug:1.35;--leading-base:1.6;--leading-loose:1.8;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-full:9999px;--shadow-sm:0 1px 2px #3c28140a, 0 1px 3px #3c28140f;--shadow-md:0 2px 4px #3c28140a, 0 4px 12px #3c281414;--shadow-lg:0 4px 8px #3c28140f, 0 12px 32px #3c28141a;--duration-fast:.15s;--duration-base:.25s;--duration-slow:.4s;--ease-out:cubic-bezier(.33, 1, .68, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-subtle:cubic-bezier(.25, .1, .25, 1);--stagger:50ms;--container-max:960px;--container-pad:24px;--container-pad-lg:32px}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);line-height:var(--leading-base);font-size:var(--text-base)}a{color:var(--accent);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}a:hover{color:var(--ink)}.container{max-width:var(--container-max);padding:0 var(--container-pad);margin:0 auto}section{padding:var(--space-9) 0;border-bottom:1px solid var(--border)}section:last-of-type{border-bottom:none}h1,h2,h3{font-family:var(--font-display);color:var(--ink);font-weight:500}h1{font-size:var(--text-5xl);line-height:var(--leading-tight);letter-spacing:-.02em;margin-bottom:var(--space-4)}h2{font-size:var(--text-2xl);line-height:var(--leading-snug);letter-spacing:-.01em;margin-bottom:var(--space-5)}h3{font-size:var(--text-xl);line-height:var(--leading-snug);margin-bottom:var(--space-3)}h4{font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);margin-bottom:var(--space-1);font-weight:600}p{color:var(--ink-soft);margin-bottom:var(--space-4)}.text-muted{color:var(--ink-muted)}.text-accent{color:var(--accent)}.script{font-family:var(--font-script)}.mono{font-family:var(--font-mono)}nav{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;padding:var(--space-4) 0;background:#fbf8f3eb;position:fixed;top:0;left:0;right:0}nav .container{justify-content:space-between;align-items:center;display:flex}nav .name{font-family:var(--font-display);font-weight:500;font-size:var(--text-lg);color:var(--ink)}nav .nav-links{gap:var(--space-5);display:flex}nav .nav-links a{color:var(--ink-muted);font-size:var(--text-sm);transition:color var(--duration-fast) var(--ease-out)}nav .nav-links a:hover{color:var(--accent)}main{min-height:100vh;padding-top:72px}.hero.hero-glass{padding:var(--space-10) 0 var(--space-8);border-bottom:1px solid var(--border);align-items:center;min-height:calc(100vh - 72px);display:flex}.hero-container{max-width:var(--container-max);padding:0 var(--container-pad);gap:var(--space-7);grid-template-columns:55% 45%;align-items:center;width:100%;margin:0 auto;display:grid}.hero-left{max-width:520px}.hero-name{font-family:var(--font-display);font-size:var(--text-5xl);line-height:var(--leading-tight);letter-spacing:-.02em;color:var(--ink);margin-bottom:var(--space-4);font-weight:500}.hero-focus{font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-soft);letter-spacing:.02em;margin-top:var(--space-2);margin-bottom:var(--space-5);font-weight:500}.hero-tagline{font-family:var(--font-body);font-size:var(--text-lg);color:var(--ink-soft);max-width:480px;margin-bottom:var(--space-4);line-height:var(--leading-base)}.hero-caveat-wrapper{margin-bottom:var(--space-6)}.hero-caveat{font-family:Caveat,Bradley Hand,cursive;font-size:var(--text-xl);color:var(--ink-muted);margin-bottom:var(--space-1)}.hero-caveat-wrapper .scribble-underline{width:200px;height:12px;margin-top:var(--space-1);display:block}.hero-quick-links{gap:var(--space-3);flex-wrap:wrap;display:flex}.hero-link-pill{padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--ink);font-size:var(--text-sm);box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease-out);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.hero-link-pill:hover{border-color:var(--accent);box-shadow:var(--shadow-md);color:var(--ink);transform:translateY(-2px)}.hero-right{justify-content:center;align-items:center;height:100%;min-height:540px;display:flex}.hero-canvas-wrapper{width:100%;height:100%;min-height:540px;position:relative}.hero-canvas-wrapper canvas{width:100%!important;height:100%!important}@media (width<=900px){.hero.hero-glass{min-height:auto;padding:var(--space-8) 0 var(--space-6)}.hero-container{gap:var(--space-5);grid-template-columns:1fr}.hero-left{text-align:center;order:2;max-width:none}.hero-right{order:1;height:360px;min-height:360px}.hero-canvas-wrapper{height:360px;min-height:360px}.hero-name{font-size:var(--text-4xl)}.hero-tagline{max-width:none;margin-left:auto;margin-right:auto}.hero-caveat-wrapper{flex-direction:column;align-items:center;display:flex}.hero-quick-links{justify-content:center}}@media (width<=480px){.hero-name{font-size:var(--text-3xl)}.hero-right,.hero-canvas-wrapper{height:280px;min-height:280px}}.hero:not(.hero-glass){padding:var(--space-10) 0 var(--space-8);border-bottom:1px solid var(--border)}.hero:not(.hero-glass)>.container{gap:var(--space-7);grid-template-columns:1fr .7fr;align-items:center;display:grid}.hero-content{max-width:520px}.hero:not(.hero-glass) h1{font-size:var(--text-5xl);margin-bottom:var(--space-4)}.hero .tagline{font-size:var(--text-lg);color:var(--ink-soft);max-width:480px;margin-bottom:var(--space-4);line-height:var(--leading-base)}.hero .handwritten{font-family:var(--font-accent);font-size:var(--text-base);color:var(--ink-muted);margin-bottom:var(--space-6);font-style:italic;display:inline-block}.hero .scribble-underline{width:180px;height:12px;margin-top:var(--space-1);display:block}.hero-visual{justify-content:center;align-items:center;display:flex}.hero-visual svg{width:100%;max-width:280px;height:auto}.quick-links{gap:var(--space-3);flex-wrap:wrap;display:flex}.quick-links a{padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--ink);font-size:var(--text-sm);box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease-out);align-items:center;font-weight:500;display:inline-flex}.quick-links a:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}@media (width<=768px){.hero:not(.hero-glass){padding:var(--space-9) 0 var(--space-7);grid-template-columns:1fr}.hero-visual{order:-1;max-width:220px;margin:0 auto}.hero:not(.hero-glass) h1{font-size:var(--text-4xl)}}.project-signature{justify-content:center;align-items:center;display:flex}.project-signature svg{width:100%;max-width:240px;height:auto}.project-hero{padding:var(--space-9) 0 var(--space-7);gap:var(--space-7);border-bottom:1px solid var(--border);grid-template-columns:1fr 360px;align-items:start;display:grid}.project-hero-content{max-width:560px}.back-link{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-muted);margin-bottom:var(--space-5);transition:color var(--duration-fast) var(--ease-out);display:inline-flex}.back-link:hover{color:var(--accent)}.project-hero h1{font-size:var(--text-4xl);margin-bottom:var(--space-3)}.project-hero .project-tagline{font-size:var(--text-2xl);margin-bottom:var(--space-4)}.project-hero .meta{gap:var(--space-5);margin-bottom:var(--space-5);font-size:var(--text-sm);color:var(--ink-muted);flex-wrap:wrap;display:flex}.project-hero .meta a{color:var(--accent)}.project-hero .elevator-pitch{font-size:var(--text-lg);color:var(--ink-soft);line-height:var(--leading-base)}.project-hero-visual{justify-content:flex-end;display:flex}.project-hero-visual svg{width:100%;max-width:320px}.project-hero-visual-3d{width:100%;max-width:360px;height:320px;min-height:320px}.project-hero-visual-3d canvas{width:100%!important;height:100%!important}.signature-loading{background:linear-gradient(135deg, var(--bg-subtle) 0%, var(--bg) 100%);border-radius:var(--radius-lg);width:100%;height:100%;min-height:280px;animation:2s ease-in-out infinite signaturePulse}@keyframes signaturePulse{0%,to{opacity:.6}50%{opacity:.3}}@media (width<=900px){.project-hero{grid-template-columns:1fr}.project-hero-visual{order:-1;justify-content:center;max-width:240px;margin:0 auto}.project-hero-visual-3d{max-width:280px;height:260px;min-height:260px;margin:0 auto}}.one-liner{padding:var(--space-9) 0;text-align:center;border-bottom:1px solid var(--border)}.one-liner blockquote{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--ink);font-style:italic;font-weight:400;line-height:var(--leading-snug);max-width:720px;margin:0 auto}.one-liner.script-style blockquote{font-family:var(--font-display);font-style:normal;font-size:var(--text-2xl)}.project-section{padding:var(--space-7) 0;border-bottom:1px solid var(--border)}.project-section:last-of-type{border-bottom:none}.project-section h2{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:var(--space-5)}.project-section ul{padding-left:0;list-style:none}.project-section li{color:var(--ink-soft);margin-bottom:var(--space-3);padding-left:var(--space-6);line-height:var(--leading-base);position:relative}.project-section li:before{content:"";background:var(--sage);border-radius:6px 6px 0 0;width:12px;height:6px;position:absolute;top:.45em;left:0}.project-section li:nth-child(4n+2):before{background:var(--lavender)}.project-section li:nth-child(4n+3):before{background:var(--rose)}.project-section li:nth-child(4n+4):before{background:var(--amber)}.tech-stack{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--text-xs);transition:all var(--duration-fast) var(--ease-out);font-weight:500;display:inline-block}.tag:nth-child(5n+1){background:var(--rose);color:var(--ink)}.tag:nth-child(5n+2){background:var(--sage);color:var(--ink)}.tag:nth-child(5n+3){background:var(--lavender);color:var(--ink)}.tag:nth-child(5n+4){background:var(--amber);color:var(--ink)}.tag:nth-child(5n+5){background:var(--sky);color:var(--ink)}.tag:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.about-intro{font-family:var(--font-script);font-size:var(--text-xl);color:var(--ink);margin-bottom:var(--space-6)}@media (width<=640px){.about-grid{gap:var(--space-6);grid-template-columns:1fr}}.education-item,.athletics-item{margin-bottom:var(--space-5)}.education-item h4,.athletics-item h4{margin-bottom:var(--space-1);font-weight:600}.education-item .degree,.athletics-item .detail{color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--leading-base)}.education-item .date{font-size:var(--text-sm);color:var(--accent);margin-top:var(--space-1)}.athletics-item ul{margin-top:var(--space-2);padding-left:0;list-style:none}.athletics-item li{color:var(--ink-soft);font-size:var(--text-sm);margin-bottom:var(--space-1);padding-left:var(--space-4);position:relative}.athletics-item li:before{content:"";background:var(--sage);border-radius:4px 4px 0 0;width:8px;height:4px;position:absolute;top:.5em;left:0}.currently{margin-top:var(--space-6);padding:var(--space-5);background:var(--bg-subtle);border-radius:var(--radius-md)}.currently h3{font-family:var(--font-script);font-size:var(--text-xl);margin-bottom:var(--space-4)}.currently ul{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding-left:0;list-style:none;display:grid}.currently li{font-size:var(--text-sm);color:var(--ink-soft);padding-left:var(--space-4);position:relative}.currently li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.5em;left:0}.skills-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.skills-header h2{margin-bottom:0}.skills-decoration{width:150px;height:120px}@media (width<=640px){.skills-decoration{display:none}}.skills-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.skill-category h4{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:var(--space-2)}.skill-category p{font-size:var(--text-sm);color:var(--ink-soft);line-height:var(--leading-base)}.experience-item{margin-bottom:var(--space-6)}.experience-item h4{margin-bottom:var(--space-1);font-weight:600}.experience-item .role-date{font-size:var(--text-sm);color:var(--accent);margin-bottom:var(--space-2)}.experience-item p{font-size:var(--text-sm)}#contact{position:relative}.contact-links{gap:var(--space-3);flex-direction:column;display:flex}.contact-links a{font-size:var(--text-lg);font-weight:500}.contact-accent{bottom:var(--space-5);right:var(--space-5);opacity:.6;width:60px;height:60px;position:absolute}footer{padding:var(--space-7) 0;text-align:center;color:var(--ink-muted);font-size:var(--text-sm)}footer a{color:var(--ink-muted);margin-left:var(--space-3)}footer a:hover{color:var(--accent)}.page-404{text-align:center;min-height:100vh;padding:var(--space-6);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.page-404 h1{color:var(--ink);margin-bottom:var(--space-4);font-size:12rem;line-height:1}.page-404 .message{font-family:var(--font-script);font-size:var(--text-2xl);color:var(--ink-soft);margin-bottom:var(--space-6)}.page-404 .home-link{padding:var(--space-3) var(--space-6);background:var(--accent);color:#fff;border-radius:var(--radius-full);transition:all var(--duration-fast) var(--ease-out);font-weight:500}.page-404 .home-link:hover{background:var(--ink);box-shadow:var(--shadow-md);transform:translateY(-2px)}.page-404 .shape{opacity:.7;position:absolute}.styleguide{padding:var(--space-9) 0}.styleguide h1{margin-bottom:var(--space-7)}.styleguide section{padding:var(--space-6) 0}.styleguide h2{font-size:var(--text-xl);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.swatch-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.swatch{aspect-ratio:1;border-radius:var(--radius-md);padding:var(--space-2);font-size:var(--text-xs);font-family:var(--font-mono);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:flex-end;display:flex}.swatch span{border-radius:var(--radius-sm);background:#ffffffe6;padding:2px 6px}.type-scale{gap:var(--space-3);flex-direction:column;display:flex}.type-sample{align-items:baseline;gap:var(--space-4);display:flex}.type-sample .label{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--ink-muted);min-width:80px}.spacing-demo{gap:var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.spacing-block{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.spacing-block .bar{background:var(--sage);width:40px}.spacing-block .label{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--ink-muted)}.radius-demo{gap:var(--space-4);flex-wrap:wrap;display:flex}.radius-sample{background:var(--lavender);width:80px;height:80px;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--ink-soft);justify-content:center;align-items:center;display:flex}.shadow-demo{gap:var(--space-5);flex-wrap:wrap;display:flex}.shadow-sample{background:var(--bg-elevated);border-radius:var(--radius-md);width:100px;height:100px;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--ink-muted);justify-content:center;align-items:center;display:flex}.motion-demo{gap:var(--space-5);flex-wrap:wrap;display:flex}.motion-sample{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.motion-sample .box{background:var(--rose);border-radius:var(--radius-md);width:60px;height:60px}.motion-sample button{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border:1px solid var(--border);background:var(--bg-elevated);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.motion-sample button:hover{border-color:var(--accent)}.shapes-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.shape-item{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.shape-item svg{width:100px;height:100px}.shape-item .label{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--ink-muted);text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp var(--duration-base) var(--ease-out) forwards;opacity:0}.stagger-children>*{opacity:0;animation:fadeInUp var(--duration-base) var(--ease-out) forwards}.stagger-children>:first-child{animation-delay:calc(var(--stagger) * 0)}.stagger-children>:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.stagger-children>:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.stagger-children>:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.stagger-children>:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.stagger-children>:nth-child(6){animation-delay:calc(var(--stagger) * 5)}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.float{animation:float 6s var(--ease-in-out) infinite}@keyframes jointPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes teabagDunk{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes cycleRotate{0%{stroke-dashoffset:0}to{stroke-dashoffset:-20px}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.projects-section,.about-section,.skills-section,.contact-section{padding:var(--space-9) 0;border-bottom:1px solid var(--border)}.contact-section{border-bottom:none}.projects-grid{gap:var(--space-6);flex-direction:column;display:flex}.project-card{will-change:transform;max-width:100%;position:relative}.project-card-link{gap:var(--space-5);color:inherit;padding:var(--space-5) var(--space-6);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--duration-base) var(--ease-out);grid-template-columns:1fr auto;align-items:center;text-decoration:none;display:grid}.project-card:hover .project-card-link{border-color:var(--sage);box-shadow:var(--shadow-md)}.project-card-content{gap:var(--space-2);flex-direction:column;display:flex}.project-card-tagline{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-muted);font-style:italic}.project-card-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--ink);margin:0;font-weight:500}.project-card-description{font-size:var(--text-sm);color:var(--ink-soft);line-height:var(--leading-base);max-width:480px;margin:0}.project-card-meta{gap:var(--space-3);font-size:var(--text-xs);color:var(--ink-muted);margin-top:var(--space-1);display:flex}.project-card-status{color:var(--accent)}.project-card-stack{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.tech-tag{padding:2px var(--space-2);border-radius:var(--radius-full);font-family:var(--font-mono);background:var(--bg-subtle);color:var(--ink-muted);font-size:10px;font-weight:500;display:inline-block}.tech-tag:nth-child(5n+1){background:var(--rose);color:var(--ink)}.tech-tag:nth-child(5n+2){background:var(--sage);color:var(--ink)}.tech-tag:nth-child(5n+3){background:var(--lavender);color:var(--ink)}.tech-tag:nth-child(5n+4){background:var(--amber);color:var(--ink)}.tech-tag:nth-child(5n+5){background:var(--sky);color:var(--ink)}.tech-tag-more{background:var(--bg-subtle)!important;color:var(--ink-muted)!important}.project-card-arrow{font-size:var(--text-xl);color:var(--accent);padding-right:var(--space-2)}@media (width<=900px){.project-card-link{gap:var(--space-4);grid-template-columns:1fr}.project-card-arrow{display:none}}.about-content{gap:var(--space-6);flex-direction:column;display:flex}.about-lead{font-size:var(--text-lg);color:var(--ink-soft);line-height:var(--leading-base);max-width:640px}.about-grid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.about-item h4{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:var(--space-3)}.about-item p{font-size:var(--text-sm);color:var(--ink-soft);margin-bottom:var(--space-2)}.about-item ul{margin:0;padding:0;list-style:none}.about-item li{font-size:var(--text-sm);color:var(--ink-soft);margin-bottom:var(--space-2);padding-left:var(--space-4);position:relative}.about-item li:before{content:"";background:var(--sage);border-radius:50%;width:6px;height:6px;position:absolute;top:.5em;left:0}@media (width<=768px){.about-grid{grid-template-columns:1fr}}.contact-grid{gap:var(--space-6);grid-template-columns:1fr 280px;align-items:center;display:grid}.contact-main{max-width:400px}.contact-decoration{justify-content:center;align-items:center;display:flex}@media (width<=768px){.contact-grid{grid-template-columns:1fr}.contact-decoration{display:none}}.contact-content{max-width:400px}.contact-link{padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.contact-link:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.contact-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:var(--space-1)}.contact-value{font-size:var(--text-base);color:var(--ink);font-weight:500}.product-lines-grid{gap:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.product-line{padding:var(--space-5);background:var(--bg-subtle);border-radius:var(--radius-lg)}.product-line h3{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-1)}.product-url{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent);margin-bottom:var(--space-4)}.product-line ul{padding:0;list-style:none}.product-line li{font-size:var(--text-sm);color:var(--ink-soft);margin-bottom:var(--space-2);padding-left:var(--space-4);position:relative}.product-line li:before{content:"";background:var(--sage);border-radius:50%;width:6px;height:6px;position:absolute;top:.5em;left:0}.sector-collaborators{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.sector-collaborators h4{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3);font-weight:600}.sector-collaborators p{font-size:var(--text-sm);color:var(--ink-soft);margin-bottom:var(--space-2)}.sector-collaborators p strong{color:var(--ink)}@media (width<=768px){.product-lines-grid{grid-template-columns:1fr}}.architecture-section{background:var(--bg-subtle);margin:0 calc(-1 * var(--container-pad));padding:var(--space-7) var(--container-pad);border-radius:0}.architecture-diagram{margin-top:var(--space-5)}.architecture-diagram svg{width:100%;max-width:100%;height:auto}.diagram-caption{font-size:var(--text-sm);color:var(--ink-muted);text-align:center;margin-top:var(--space-4);font-style:italic}.workshop-arch svg{max-width:480px;margin:0 auto;display:block}.steap-arch-3d{margin-top:var(--space-4)}.steap-arch-3d canvas{border-radius:var(--radius-md);width:100%!important}.steap-arch-labels{padding:var(--space-3) var(--space-4);margin-top:var(--space-2);justify-content:space-between;display:flex}.steap-arch-labels span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted);text-align:center;flex:1}.diagram-loading{background:linear-gradient(135deg, var(--bg-subtle) 0%, var(--bg) 100%);border-radius:var(--radius-md);width:100%;height:280px;animation:2s ease-in-out infinite signaturePulse}.steap-tagline{font-family:Caveat,cursive;font-size:var(--text-3xl);color:var(--ink);margin-bottom:var(--space-4);text-align:center}.steap-flow{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-muted);padding:var(--space-3) var(--space-5);background:var(--bg-subtle);border-radius:var(--radius-md);text-align:center;width:100%;display:inline-block}.highlights-list{padding:0;list-style:none}.highlights-list li{font-size:var(--text-base);color:var(--ink-soft);margin-bottom:var(--space-3);padding-left:var(--space-6);line-height:var(--leading-base);position:relative}.highlights-list li:before{content:"";background:var(--sage);border-radius:5px 5px 0 0;width:10px;height:5px;position:absolute;top:.5em;left:0}.highlights-list li:nth-child(4n+2):before{background:var(--lavender)}.highlights-list li:nth-child(4n+3):before{background:var(--rose)}.highlights-list li:nth-child(4n+4):before{background:var(--amber)}.highlights-list.two-column{gap:var(--space-2) var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=768px){.highlights-list.two-column{grid-template-columns:1fr}}.partnerships-grid{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.partnership{padding:var(--space-4);background:var(--bg-subtle);border-radius:var(--radius-md)}.partnership h4{font-size:var(--text-base);margin-bottom:var(--space-1);font-weight:600}.partnership p{font-size:var(--text-sm);color:var(--ink-muted);margin:0}@media (width<=768px){.partnerships-grid{grid-template-columns:1fr}}.theory-grounding{font-size:var(--text-lg);color:var(--ink-soft);text-align:center;max-width:640px;margin:0 auto;font-style:italic}.comparison-block{max-width:480px}.comparison-lead{font-size:var(--text-lg);color:var(--ink);margin-bottom:var(--space-4);font-weight:500}.comparison-list{padding:0;list-style:none}.comparison-list li{font-size:var(--text-base);color:var(--ink-soft);margin-bottom:var(--space-2);padding-left:var(--space-5);position:relative}.comparison-list li:before{content:"×";color:var(--ink-muted);font-weight:600;position:absolute;left:0}.comparison-list .not{color:var(--ink-muted);font-weight:500}.comparison-list .steap-position{color:var(--accent);margin-top:var(--space-3);font-weight:500}.comparison-list .steap-position:before{content:"→";color:var(--accent)}.brand-grid{gap:var(--space-5);grid-template-columns:repeat(4,1fr);display:grid}.brand-item{padding:var(--space-4);background:var(--bg-subtle);border-radius:var(--radius-md);text-align:center}.brand-item h4{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:var(--space-2)}.brand-item p{font-size:var(--text-sm);color:var(--ink);margin:0}@media (width<=768px){.brand-grid{grid-template-columns:repeat(2,1fr)}}.page-404 .floating-shapes{pointer-events:none;position:absolute;inset:0;overflow:hidden}.page-404 .floating-shape{opacity:.6;position:absolute}.page-404 .shape-1{animation:8s ease-in-out infinite float;top:10%;left:10%}.page-404 .shape-2{animation:6s ease-in-out -2s infinite float;top:20%;right:15%}.page-404 .shape-3{animation:7s ease-in-out -4s infinite float;bottom:30%;left:15%}.page-404 .shape-4{animation:9s ease-in-out -1s infinite float;bottom:20%;right:20%}.page-404 .shape-5{animation:10s ease-in-out -3s infinite float;top:40%;left:5%}.page-404 .shape-6{animation:7s ease-in-out -5s infinite float;top:60%;right:8%}
