*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{line-height:1.6;min-height:100vh}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ol,ul{list-style:none}button{background:none;border:none;cursor:pointer}table{border-collapse:collapse;border-spacing:0}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}:root{--bg-primary:#fffefa;--bg-secondary:#f8f6f2;--bg-tertiary:#efeae3;--text-primary:#2a2420;--text-secondary:#4a4540;--text-tertiary:#706b66;--border-color:#e8e3dc;--accent:#a47864;--accent-hover:#8b6652;--accent-light:#f4ede8;--space-xs:0.5rem;--space-sm:1rem;--space-md:1.75rem;--space-lg:2.5rem;--space-xl:3.5rem;--space-2xl:5rem;--space-3xl:7rem;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono",Monaco,"Cascadia Code","Courier New",monospace;--font-size-xs:0.8125rem;--font-size-sm:0.9375rem;--font-size-base:1.0625rem;--font-size-lg:1.1875rem;--font-size-xl:1.375rem;--font-size-2xl:1.625rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-5xl:3.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.3;--line-height-normal:1.6;--line-height-relaxed:1.8;--container-max-width:1200px;--header-height:70px;--border-radius-sm:0.375rem;--border-radius-md:0.5rem;--border-radius-lg:0.75rem;--border-radius-xl:1rem;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}:root[data-theme=dark]{--bg-primary:#1c1a17;--bg-secondary:#252320;--bg-tertiary:#2f2c28;--text-primary:#f8f6f2;--text-secondary:#e0dcd7;--text-tertiary:#b8b4af;--border-color:#3a3633;--accent:#c4977f;--accent-hover:#d4a893;--accent-light:#3a342f;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.4);--shadow-md:0 4px 6px -1px rgba(0,0,0,.5),0 2px 4px -1px rgba(0,0,0,.4);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.6),0 4px 6px -2px rgba(0,0,0,.5);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.7),0 10px 10px -5px rgba(0,0,0,.6)}*{transition:background-color var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);letter-spacing:-.01em;line-height:var(--line-height-normal)}.container{margin:0 auto;max-width:var(--container-max-width);padding:0 var(--space-md)}@media (min-width:768px){.container{padding:0 var(--space-lg)}}header{align-items:center;backdrop-filter:blur(12px) saturate(180%);background-color:rgba(255,254,250,.85);border-bottom:1px solid var(--border-color);box-shadow:0 1px 0 rgba(42,36,32,.05);display:flex;height:var(--header-height);position:sticky;top:0;z-index:100}:root[data-theme=dark] header{background-color:rgba(28,26,23,.85);box-shadow:0 1px 0 hsla(0,0%,100%,.05)}header .container{align-items:center;display:flex;justify-content:space-between;width:100%}.logo{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;transition:color var(--transition-fast)}.logo:hover{color:var(--accent)}nav ul{align-items:center;display:flex;gap:var(--space-lg)}nav a{color:var(--text-secondary);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;position:relative;transition:all var(--transition-fast)}nav a:hover{color:var(--accent)}nav a:after{background-color:var(--accent);border-radius:1px;bottom:-6px;content:"";height:2px;left:0;position:absolute;transition:width var(--transition-normal);width:0}nav a.active:after,nav a:hover:after{width:100%}.mobile-menu-toggle{cursor:pointer;display:none;flex-direction:column;gap:4px;padding:var(--space-xs)}.mobile-menu-toggle span{background-color:var(--text-primary);height:2px;transition:all var(--transition-normal);width:24px}@media (max-width:767px){nav ul{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);display:none;flex-direction:column;gap:var(--space-md);left:0;padding:var(--space-md);position:absolute;right:0;top:var(--header-height)}.mobile-menu-toggle,nav ul.active{display:flex}.mobile-menu-toggle.active span:first-child{transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle.active span:nth-child(2){opacity:0}.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}}main{min-height:calc(100vh - var(--header-height) - 200px)}section{padding:var(--space-3xl) 0}@media (max-width:767px){section{padding:var(--space-2xl) 0}}.professional-summary{padding-bottom:var(--space-lg);padding-top:var(--space-lg)}@media (max-width:767px){.professional-summary{padding-bottom:var(--space-md);padding-top:var(--space-md)}}section:has(.project-detail-content){padding-top:0}@media (max-width:767px){section:has(.project-detail-content){padding-top:0}}footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);margin-top:var(--space-3xl);padding:var(--space-2xl) 0}footer .container{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between}footer p{color:var(--text-tertiary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.social-links{display:flex;gap:var(--space-lg)}.social-links a{color:var(--text-tertiary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);position:relative;transition:all var(--transition-fast)}.social-links a:after{background-color:var(--accent);bottom:-2px;content:"";height:1.5px;left:0;position:absolute;transition:width var(--transition-normal);width:0}.social-links a:hover{color:var(--accent)}.social-links a:hover:after{width:100%}.grid{display:grid;gap:var(--space-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}@media (min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}}.text-center{text-align:center}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-2xl{margin-top:var(--space-2xl)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.btn{align-items:center;border-radius:var(--border-radius-lg);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--space-xs);letter-spacing:-.01em;padding:.875rem 1.75rem;transition:all var(--transition-normal)}.btn-primary{background-color:var(--accent);box-shadow:0 1px 3px hsla(19,26%,52%,.12);color:#fff}.btn-primary:hover{background-color:var(--accent-hover);box-shadow:0 4px 12px hsla(19,26%,52%,.25);transform:translateY(-1px)}.btn-secondary{background-color:transparent;border:1.5px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-icon,.btn-secondary:hover{background-color:var(--bg-secondary)}.btn-icon{align-items:center;border-radius:var(--border-radius-md);display:inline-flex;height:40px;justify-content:center;padding:0;transition:all var(--transition-fast);width:40px}.btn-icon:hover{background-color:var(--bg-tertiary)}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-xl);padding:var(--space-xl);transition:all var(--transition-slow)}.card:hover{border-color:hsla(19,26%,52%,.3);box-shadow:0 8px 24px rgba(42,36,32,.08);transform:translateY(-2px)}:root[data-theme=dark] .card:hover{border-color:hsla(21,37%,63%,.3);box-shadow:0 8px 24px rgba(0,0,0,.4)}.card-title{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}.card-subtitle{color:var(--text-secondary);font-size:var(--font-size-base);margin-bottom:var(--space-xs)}.card-meta{color:var(--text-tertiary);font-size:var(--font-size-sm);margin-bottom:var(--space-md)}.card-content{line-height:var(--line-height-relaxed)}.card-content,.tag{color:var(--text-secondary)}.tag{background-color:var(--bg-tertiary);border:1px solid transparent;border-radius:var(--border-radius-md);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;padding:.375rem .875rem;transition:all var(--transition-fast);white-space:nowrap}.tag:hover{border-color:var(--accent)}.tag-accent,.tag:hover{background-color:var(--accent-light);color:var(--accent)}.tag-accent{border:1px solid hsla(19,26%,52%,.2);font-weight:var(--font-weight-bold)}.tag-accent:hover{background-color:var(--accent);border-color:var(--accent);color:#fff}.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.theme-toggle{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all var(--transition-fast);width:40px}.theme-toggle:hover{background-color:var(--bg-tertiary)}.theme-toggle svg{fill:var(--text-primary);height:20px;width:20px}.link{color:var(--accent);font-weight:var(--font-weight-medium);position:relative;transition:all var(--transition-fast);white-space:nowrap}.link:hover{color:var(--accent-hover)}.link:after{background-color:var(--accent-hover);bottom:-2px;content:"";height:1.5px;left:0;position:absolute;transition:width var(--transition-normal);width:0}.link:hover:after{width:100%}.link-with-arrow:after{background:none;content:"→";display:inline-block;height:auto;margin-left:.375rem;position:static;transition:transform var(--transition-normal);width:auto}.link-with-arrow:hover:after{transform:translateX(4px)}.divider{background-color:var(--border-color);height:1px;margin:var(--space-xl) 0}.avatar{border-radius:50%;overflow:hidden}.avatar-sm{height:40px;width:40px}.avatar-md{height:80px;width:80px}.avatar-lg{height:120px;width:120px}.avatar-xl{height:200px;width:200px}.icon{fill:currentColor;height:24px;width:24px}.icon-sm{height:16px;width:16px}.icon-lg{height:32px;width:32px}.timeline{padding-left:var(--space-lg);position:relative}.timeline:before{background-color:var(--border-color);bottom:0;content:"";left:0;position:absolute;top:0;width:2px}.timeline-item{padding-bottom:var(--space-xl);position:relative}.timeline-item:before{background-color:var(--accent);border:3px solid var(--bg-primary);border-radius:50%;content:"";height:14px;left:calc(var(--space-lg)*-1 - 6px);position:absolute;top:4px;width:14px;z-index:1}.timeline-item:last-child{padding-bottom:0}.section-header{margin-bottom:var(--space-2xl);text-align:center}.section-title{color:var(--text-primary);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:var(--line-height-tight);margin-bottom:var(--space-md)}.section-subtitle{color:var(--text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin:0 auto;max-width:640px}@media (max-width:767px){.section-title{font-size:var(--font-size-3xl)}.section-subtitle{font-size:var(--font-size-base)}}.skip-to-content{background:var(--accent);border-radius:0 0 var(--border-radius-md) 0;color:#fff;font-weight:var(--font-weight-semibold);left:0;padding:var(--space-sm) var(--space-md);position:absolute;text-decoration:none;top:-100px;transition:top var(--transition-fast);z-index:100}.skip-to-content:focus{top:0}.hero{overflow:hidden;padding:var(--space-3xl) 0 var(--space-2xl);position:relative;text-align:center}.hero:before{animation:subtle-pulse 8s ease-in-out infinite;background:radial-gradient(circle at 30% 50%,var(--accent-light) 0,transparent 60%);content:"";height:120%;left:50%;opacity:.4;position:absolute;top:-50%;transform:translateX(-50%);width:120%;z-index:-1}@keyframes subtle-pulse{0%,to{opacity:.4;transform:translateX(-50%) scale(1)}50%{opacity:.5;transform:translateX(-50%) scale(1.05)}}.hero-content{align-items:center;display:flex;flex-direction:column;gap:var(--space-xl)}.hero-image{border:4px solid var(--accent);border-radius:50%;box-shadow:0 8px 32px hsla(19,26%,52%,.15),0 0 0 8px var(--accent-light);height:200px;overflow:hidden;position:relative;transition:all var(--transition-slow);width:200px}.hero-image:hover{border-color:var(--accent-hover);box-shadow:0 12px 40px hsla(19,26%,52%,.25),0 0 0 12px var(--accent-light);transform:scale(1.04) translateY(-4px)}:root[data-theme=dark] .hero-image{box-shadow:0 8px 32px hsla(21,37%,63%,.2),0 0 0 8px var(--accent-light)}:root[data-theme=dark] .hero-image:hover{box-shadow:0 12px 40px hsla(21,37%,63%,.3),0 0 0 12px var(--accent-light)}.hero-image img{height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:65% 20%;object-position:65% 20%;width:100%}.hero-text h1{color:var(--text-primary);font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);letter-spacing:-.03em;line-height:var(--line-height-tight);margin-bottom:var(--space-sm)}.hero-text .subtitle{color:var(--accent);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;margin-bottom:var(--space-md)}.hero-text .tagline{color:var(--text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin:0 auto var(--space-xl);max-width:640px}.hero-links{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center}.hero-links a{align-items:center;border-radius:var(--border-radius-md);color:var(--text-secondary);display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--space-xs);padding:.5rem 1rem;transition:all var(--transition-fast)}.hero-links a:hover{background-color:var(--accent-light);color:var(--accent)}@media (min-width:768px){.hero-content{flex-direction:row;gap:var(--space-2xl);text-align:left}.hero-image{height:280px;width:280px}.hero-text{flex:1}.hero-text .tagline{margin-left:0}.hero-links{justify-content:flex-start}}@media (max-width:767px){.hero-text h1{font-size:var(--font-size-4xl)}.hero-text .subtitle{font-size:var(--font-size-xl)}}.summary{background:linear-gradient(to bottom,var(--accent-light),transparent);border:1px solid var(--border-color);border-radius:var(--border-radius-xl);color:var(--text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin:0 auto;max-width:840px;padding:var(--space-lg);text-align:center}.experience-list{display:flex;flex-direction:column;gap:var(--space-xl);margin:0 auto;max-width:900px}.experience-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-left:4px solid var(--accent);border-radius:var(--border-radius-xl);padding:var(--space-xl);position:relative;transition:all var(--transition-slow)}.experience-card:before{background:linear-gradient(to bottom,var(--accent),var(--accent-hover));border-radius:var(--border-radius-xl) 0 0 var(--border-radius-xl);content:"";height:0;left:0;position:absolute;top:0;transition:height var(--transition-slow);width:4px}.experience-card:hover{border-color:hsla(19,26%,52%,.3);box-shadow:0 8px 32px rgba(42,36,32,.1);transform:translateX(6px)}:root[data-theme=dark] .experience-card:hover{border-color:hsla(21,37%,63%,.3);box-shadow:0 8px 32px rgba(0,0,0,.4)}.experience-card:hover:before{height:100%}.experience-header{align-items:flex-start;display:flex;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-md)}.experience-title-group h3{color:var(--text-primary);font-size:var(--font-size-2xl);margin-bottom:var(--space-xs)}.experience-company,.experience-title-group h3{font-weight:var(--font-weight-semibold);letter-spacing:-.01em}.experience-company{color:var(--accent);font-size:var(--font-size-lg);margin-bottom:.25rem}.experience-duration,.experience-meta{color:var(--text-tertiary);font-size:var(--font-size-sm)}.experience-duration{text-align:right;white-space:nowrap}.experience-content ul{color:var(--text-secondary);list-style:disc;padding-left:var(--space-lg)}.experience-content li{line-height:var(--line-height-relaxed);margin-bottom:var(--space-sm)}.experience-tech{border-top:1px solid var(--border-color);margin-top:var(--space-md);padding-top:var(--space-md)}.experience-tech-label{color:var(--text-tertiary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-xs)}@media (max-width:767px){.experience-header{flex-direction:column}.experience-duration{text-align:left}}.skills-grid{margin:0 auto;max-width:900px}.skill-category{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-xl);overflow:hidden;padding:var(--space-xl);position:relative;transition:all var(--transition-slow)}.skill-category:before{background:linear-gradient(to right,var(--accent),var(--accent-hover));content:"";height:3px;left:0;position:absolute;top:0;transform:scaleX(0);transform-origin:left;transition:transform var(--transition-slow);width:100%}.skill-category:hover{border-color:hsla(19,26%,52%,.3);box-shadow:0 8px 24px rgba(42,36,32,.08);transform:translateY(-3px)}:root[data-theme=dark] .skill-category:hover{border-color:hsla(21,37%,63%,.3);box-shadow:0 8px 24px rgba(0,0,0,.4)}.skill-category:hover:before{transform:scaleX(1)}.skill-category h3{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;margin-bottom:var(--space-md)}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.certifications-list{display:grid;gap:var(--space-md);margin:0 auto;max-width:900px}.certification-item{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);display:flex;gap:var(--space-md);justify-content:space-between;padding:var(--space-lg);transition:all var(--transition-normal)}.certification-item:hover{background-color:var(--accent-light);border-color:hsla(19,26%,52%,.4);box-shadow:0 4px 16px rgba(42,36,32,.08);transform:translateX(4px)}:root[data-theme=dark] .certification-item:hover{border-color:hsla(21,37%,63%,.4);box-shadow:0 4px 16px rgba(0,0,0,.3)}.certification-name{color:var(--text-primary);font-weight:var(--font-weight-medium)}.certification-date,.certification-id{color:var(--text-tertiary);font-size:var(--font-size-sm)}.certification-date{white-space:nowrap}@media (max-width:767px){.certification-item{align-items:flex-start;flex-direction:column}}.education-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-xl);margin:0 auto;max-width:900px;padding:var(--space-xl);transition:all var(--transition-normal)}.education-card:hover{border-color:hsla(19,26%,52%,.4);box-shadow:0 4px 16px rgba(42,36,32,.08)}:root[data-theme=dark] .education-card:hover{border-color:hsla(21,37%,63%,.4);box-shadow:0 4px 16px rgba(0,0,0,.3)}.education-card h3{color:var(--text-primary);font-size:var(--font-size-2xl);margin-bottom:var(--space-xs)}.education-card h3,.education-institution{font-weight:var(--font-weight-semibold);letter-spacing:-.01em}.education-institution{color:var(--accent);font-size:var(--font-size-lg);margin-bottom:.25rem}.education-year{color:var(--text-tertiary);font-size:var(--font-size-sm)}.projects-grid{margin:0 auto;max-width:1000px}.project-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-xl);display:flex;flex-direction:column;height:100%;overflow:hidden;padding:var(--space-xl);position:relative;transition:all var(--transition-slow)}.project-card:before{background:linear-gradient(to right,var(--accent),var(--accent-hover));content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform var(--transition-slow)}.project-card:hover{border-color:hsla(19,26%,52%,.4);box-shadow:0 12px 40px rgba(42,36,32,.12);transform:translateY(-6px)}:root[data-theme=dark] .project-card:hover{border-color:hsla(21,37%,63%,.4);box-shadow:0 12px 40px rgba(0,0,0,.5)}.project-card:hover:before{transform:scaleX(1)}.project-icon{border-radius:var(--border-radius-md);display:inline-block;height:64px;margin-bottom:var(--space-md);transition:all var(--transition-normal);width:64px}.project-card a{color:inherit;text-decoration:none}.project-card>a:hover .project-icon{filter:brightness(1.1);transform:scale(1.05)}.project-card h3{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm)}.project-card h3 a{position:relative;transition:color var(--transition-normal)}.project-card h3 a:hover{color:var(--accent)}.project-description{color:var(--text-secondary);flex:1;line-height:var(--line-height-relaxed)}.project-description,.project-tech{margin-bottom:var(--space-md)}.project-links{border-top:1px solid var(--border-color);display:flex;gap:var(--space-md);margin-top:auto;padding-top:var(--space-md)}.contact-content{margin:0 auto;max-width:600px;text-align:center}.contact-content h2{color:var(--text-primary);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;margin-bottom:var(--space-md)}.contact-content p{color:var(--text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:var(--space-xl)}.contact-links{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center}.project-hero{padding:var(--space-2xl) 0;text-align:center}.project-hero-icon{border-radius:var(--border-radius-xl);height:128px;margin:0 auto var(--space-lg);width:128px}.project-hero h1{color:var(--text-primary);font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm)}.project-hero .tagline{color:var(--text-secondary);font-size:var(--font-size-xl);margin-bottom:var(--space-lg)}.project-detail-content{margin:0 auto;max-width:900px}.project-detail-content h2{color:var(--text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-md);margin-top:var(--space-2xl)}.project-detail-content h2:first-child{margin-top:0}.project-detail-content h3{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-sm);margin-top:var(--space-xl)}.project-detail-content p{line-height:var(--line-height-relaxed)}.project-detail-content p,.project-detail-content ul{color:var(--text-secondary);margin-bottom:var(--space-md)}.project-detail-content ul{list-style:disc;padding-left:var(--space-lg)}.project-detail-content li{line-height:var(--line-height-relaxed);margin-bottom:var(--space-xs)}.feature-list{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:var(--space-lg) 0}.feature-item{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md)}.feature-icon{font-size:2rem;line-height:1;margin-bottom:var(--space-xs)}.feature-item h4{color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:.25rem}.feature-item p{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}