*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}*:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--color-bg-start: #1a1a1a;--color-bg-end: #0f0f0f;--color-text: #ffffff;--color-text-muted: rgba(255, 255, 255, .7);--color-text-subtle: rgba(255, 255, 255, .5);--color-surface: rgba(255, 255, 255, .03);--color-surface-hover: rgba(255, 255, 255, .06);--color-border: rgba(255, 255, 255, .1);--color-border-light: rgba(255, 255, 255, .05);--color-border-hover: rgba(255, 255, 255, .4);--color-accent: rgba(255, 255, 255, .9);--color-input-bg: rgba(255, 255, 255, .1);--color-input-bg-focus: rgba(255, 255, 255, .15);--color-input-border: rgba(255, 255, 255, .2);--color-success-bg: rgba(76, 175, 80, .2);--color-success-border: rgba(76, 175, 80, .4);--color-success: #4caf50;--color-error-bg: rgba(244, 67, 54, .2);--color-error-border: rgba(244, 67, 54, .4);--color-error: #f44336;--color-link-accent: #2563eb;--color-link-accent-hover: #1d4ed8;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-size-base: 16px;--line-height-base: 1.6;--max-width: 1200px;--section-padding: 100px;--card-padding: 40px;--element-gap: 20px;--border-radius-pill: 50px;--border-radius-card: 15px;--border-radius-input: 4px;--border-radius-sm: 8px;--breakpoint-tablet: 768px;--breakpoint-mobile: 480px;--transition-smooth: all .4s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .3s ease}body{font-family:var(--font-family);line-height:var(--line-height-base);color:var(--color-text);background:linear-gradient(180deg,var(--color-bg-start) 0%,var(--color-bg-end) 100%);background-attachment:fixed;min-height:100vh;font-size:var(--font-size-base);overflow-x:hidden}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}.skip-to-content{position:absolute;top:-40px;left:0;background:var(--color-text);color:var(--color-bg-start);padding:8px;text-decoration:none;z-index:100}.skip-to-content:focus{top:0}header{position:fixed;top:0;width:100%;background:#1a1a1af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;padding:20px 0}nav{display:flex;justify-content:space-between;align-items:center}.logo{font-size:18px;font-weight:var(--font-weight-semibold);letter-spacing:1px;text-transform:uppercase}.nav-links{display:flex;gap:30px;list-style:none}.nav-links a{color:var(--color-text);text-decoration:none;font-size:14px;letter-spacing:.5px;transition:opacity .3s ease}.nav-links a:hover{opacity:.7}.menu-toggle{display:none;background:none;border:none;color:var(--color-text);font-size:24px;cursor:pointer}.btn{padding:14px 36px;font-size:15px;font-weight:var(--font-weight-normal);text-decoration:none;text-transform:uppercase;letter-spacing:1.5px;transition:var(--transition-smooth);cursor:pointer;border:none;display:inline-block;border-radius:var(--border-radius-pill);position:relative;overflow:hidden}.btn-primary{background:var(--color-text);color:var(--color-bg-start);box-shadow:0 4px 15px #ffffff1a}.btn-primary:hover{background:var(--color-text);box-shadow:0 6px 25px #fff3;transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-text-subtle);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#ffffff1a;border-color:#fffc;box-shadow:0 4px 20px #ffffff26;transform:translateY(-1px)}.form-section{background:var(--color-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--card-padding);border-radius:var(--border-radius-sm);border:1px solid var(--color-border-light)}.form-section h3{font-size:24px;font-weight:var(--font-weight-normal);margin-bottom:30px;letter-spacing:-.5px}.form-group{margin-bottom:25px}label{display:block;margin-bottom:8px;font-size:14px;font-weight:var(--font-weight-medium);letter-spacing:.5px;text-transform:uppercase;opacity:.8}input,select,textarea{width:100%;padding:12px 15px;font-size:16px;background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:var(--border-radius-input);color:var(--color-text);transition:var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;background:var(--color-input-bg-focus);border-color:var(--color-border-hover)}textarea{resize:vertical;min-height:120px;font-family:inherit}select{cursor:pointer}select option{background:var(--color-bg-start);color:var(--color-text)}.radio-group{display:flex;gap:30px;margin-top:10px}.radio-label{display:flex;align-items:center;cursor:pointer;font-size:16px;font-weight:var(--font-weight-normal);text-transform:none;opacity:1}.radio-label input[type=radio]{width:auto;margin-right:10px;cursor:pointer}.radio-label span{font-size:16px}.form-submit{width:100%;padding:14px;font-size:15px;font-weight:var(--font-weight-normal);text-transform:uppercase;letter-spacing:1.5px;background:var(--color-text);color:var(--color-bg-start);border:none;border-radius:var(--border-radius-pill);cursor:pointer;transition:var(--transition-smooth);box-shadow:0 4px 15px #ffffff1a}.form-submit:hover{background:var(--color-text);box-shadow:0 6px 25px #fff3;transform:translateY(-1px)}.form-submit:disabled{opacity:.5;cursor:not-allowed}.form-message{margin-top:15px;padding:10px;border-radius:var(--border-radius-input);font-size:14px;display:none}.form-message.success{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.form-message.error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error)}.privacy-group{margin:1.5rem 0}.checkbox-label{display:flex;align-items:flex-start;font-size:.9rem;line-height:1.5;cursor:pointer;margin:0;text-align:left;max-width:100%}.checkbox-label input[type=checkbox]{margin-right:.75rem;margin-top:.2rem;width:18px;height:18px;accent-color:var(--color-link-accent);cursor:pointer;flex-shrink:0}.checkbox-label span{flex:1;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.privacy-link{color:var(--color-link-accent);text-decoration:underline;cursor:pointer}.privacy-link:hover{color:var(--color-link-accent-hover)}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#00000080;animation:fadeIn .3s ease-out}.modal.show{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:#fefefe;margin:2% auto;padding:0;border-radius:var(--border-radius-sm);width:90%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 10px 25px #0000004d;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{background-color:#f8f9fa;padding:1.5rem 2rem;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;color:#333;font-size:1.5rem}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.modal-close:hover{background-color:#e9ecef;color:#333}.modal-body{padding:2rem;max-height:60vh;overflow-y:auto;line-height:1.6;color:#333}.modal-body p{color:#333;margin:.8rem 0}.modal-body h3{color:#222;margin:1.5rem 0 1rem;font-size:1.1rem;font-weight:600}.modal-body h3:first-child{margin-top:0}.modal-body h4{color:#444;margin:1rem 0 .5rem;font-size:1rem;font-weight:500}.modal-body ul{margin:.5rem 0 1rem 1.5rem;color:#333}.modal-body li{margin:.3rem 0;color:#333}.modal-body strong{color:#222;font-weight:600}.modal-footer{background-color:#f8f9fa;padding:1rem 2rem;border-top:1px solid #dee2e6;text-align:right}.btn-close-modal{background-color:var(--color-link-accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius-input);cursor:pointer;font-size:1rem;transition:background-color .2s}.btn-close-modal:hover{background-color:var(--color-link-accent-hover)}@media (max-width: 768px){.nav-links{display:none;position:absolute;top:100%;left:0;width:100%;background:#1a1a1afa;flex-direction:column;padding:20px;gap:20px}.nav-links.active{display:flex}.menu-toggle{display:block}.cta-buttons{flex-direction:column;align-items:center}.btn{width:100%;max-width:300px}.radio-group{flex-direction:column;gap:15px}.form-section{padding:30px 20px}.modal-content{width:95%;margin:5% auto;max-height:85vh}.modal-header,.modal-footer{padding:1rem}.modal-body{padding:1rem;max-height:50vh}.modal-header h2{font-size:1.3rem}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--section-padding) 20px 60px;background:transparent;position:relative}.hero-content{max-width:800px;position:relative;z-index:2}.hero-image{position:absolute;top:60%;left:50%;transform:translate(-50%,-50%);width:100%;max-width:1400px;height:auto;opacity:.15;z-index:1;pointer-events:none}.hero-image img{width:100%;height:auto;object-fit:contain}.hero .author-name{font-size:14px;letter-spacing:3px;text-transform:uppercase;margin-bottom:40px;opacity:.8}.hero h1{font-size:clamp(48px,8vw,96px);font-weight:var(--font-weight-light);line-height:1.1;margin-bottom:20px;letter-spacing:-2px}.hero .tagline{font-size:clamp(18px,3vw,24px);font-weight:var(--font-weight-light);line-height:1.4;margin-bottom:50px;opacity:.9;max-width:600px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.proof-points{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}.proof-badge{background:var(--color-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border-light);border-radius:var(--border-radius-pill);padding:10px 24px;font-size:14px;font-weight:var(--font-weight-medium);letter-spacing:.5px;color:var(--color-text-muted)}.cta-buttons .btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.about{padding:var(--section-padding) 20px;background:transparent}.about-content{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:60px;align-items:center}.about-image{width:100%;max-width:300px;justify-self:center}.about-image img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 30px rgba(0,0,0,.3))}.about-info{display:flex;flex-direction:column}.about h2{font-size:clamp(32px,5vw,48px);font-weight:var(--font-weight-light);margin-bottom:40px;letter-spacing:-1px}.about-text{font-size:18px;line-height:1.8;opacity:.9}.about-text p{margin-bottom:20px}.frameworks{padding:var(--section-padding) 20px;background:transparent}.frameworks .container{max-width:800px;margin:0 auto}.frameworks h2{font-size:clamp(32px,5vw,48px);font-weight:var(--font-weight-light);margin-bottom:20px;letter-spacing:-1px;text-align:center}.section-intro{font-size:18px;line-height:1.8;color:var(--color-text-muted);text-align:center;margin-bottom:60px;max-width:700px;margin-left:auto;margin-right:auto}.frameworks-list{display:flex;flex-direction:column;gap:1px}.framework-item{border-bottom:1px solid var(--color-border)}.framework-item:last-child{border-bottom:none}.framework-header{list-style:none;padding:24px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:opacity .3s ease}.framework-header::-webkit-details-marker{display:none}.framework-header:after{content:"+";font-size:24px;font-weight:var(--font-weight-light);color:var(--color-text-subtle);flex-shrink:0;margin-left:20px;transition:var(--transition-fast)}details[open]>.framework-header:after{content:"−"}.framework-header:hover{opacity:.8}.framework-title-group{display:flex;flex-direction:column;gap:4px}.framework-item h3{font-size:22px;font-weight:var(--font-weight-normal);letter-spacing:-.5px;margin:0}.framework-subtitle{font-size:14px;color:var(--color-text-subtle);letter-spacing:.3px}.framework-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--transition-smooth)}details[open]>.framework-body{grid-template-rows:1fr}.framework-content{overflow:hidden}.framework-content p{font-size:16px;line-height:1.8;color:var(--color-text-muted);margin-bottom:16px}.framework-content p:last-child{margin-bottom:24px}.framework-content ul{list-style:none;padding:0;margin:0 0 24px}.framework-content ul li{font-size:16px;line-height:1.6;color:var(--color-text-muted);padding:6px 0 6px 20px;position:relative}.framework-content ul li:before{content:"—";position:absolute;left:0;color:var(--color-text-subtle)}.publications{padding:var(--section-padding) 20px;background:transparent}.publications .container{max-width:900px;margin:0 auto}.publications h2{font-size:clamp(32px,5vw,48px);font-weight:var(--font-weight-light);margin-bottom:60px;text-align:center;letter-spacing:-1px}.book-carousel-wrapper{position:relative;margin-bottom:30px;display:flex;align-items:center;gap:12px}.carousel-arrow{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:24px;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;z-index:2}.carousel-arrow:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.book-carousel{overflow:hidden;flex:1}.book-carousel-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1)}.book-slide{flex:0 0 100%;display:flex;gap:40px;align-items:center;justify-content:center;padding:20px 60px;opacity:1;transition:opacity .4s ease}.book-slide-cover{flex-shrink:0}.book-slide-cover img{width:220px;height:auto;border-radius:var(--border-radius-sm);box-shadow:0 10px 40px #00000080;transition:transform .4s ease}.book-slide-info{max-width:420px;text-align:left}.book-slide-info h3{font-size:26px;font-weight:var(--font-weight-light);letter-spacing:-.5px;margin-bottom:8px}.book-year{font-size:14px;color:var(--color-text-subtle);letter-spacing:.5px;margin-bottom:16px}.book-desc{font-size:15px;line-height:1.8;color:var(--color-text-muted);margin-bottom:24px}.carousel-dots{display:flex;justify-content:center;gap:10px;margin-bottom:60px}.carousel-dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--color-text-subtle);opacity:.4;cursor:pointer;padding:0;transition:var(--transition-fast)}.carousel-dot.active{opacity:1;background:var(--color-text);transform:scale(1.3)}.carousel-dot:hover{opacity:.8}@media (max-width: 768px){.book-slide{flex-direction:column;padding:20px;gap:24px}.book-slide-info{text-align:center}.book-slide-cover img{width:180px}.carousel-arrow{width:36px;height:36px;font-size:20px}}@media (max-width: 480px){.carousel-arrow{display:none}.book-carousel-wrapper{gap:0}.book-slide-cover img{width:150px}}.other-publication{border-top:1px solid var(--color-border);padding-top:40px;margin-bottom:60px}.other-pub-label{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-subtle);margin-bottom:16px}.other-pub-item h4{font-size:18px;font-weight:var(--font-weight-normal);margin-bottom:6px}.pub-meta{font-size:14px;color:var(--color-text-subtle);margin-bottom:8px}.pub-link{font-size:14px;color:var(--color-text-muted);text-decoration:none;border-bottom:1px solid var(--color-border);transition:border-color .3s ease}.pub-link:hover{border-color:var(--color-text)}.articles-section{border-top:1px solid var(--color-border);padding-top:40px}.articles-section h3{font-size:22px;font-weight:var(--font-weight-normal);margin-bottom:30px;letter-spacing:-.5px}.articles-list{list-style:none;padding:0;margin:0}.article-item{padding:16px 0;border-bottom:1px solid var(--color-border)}.article-item:last-child{border-bottom:none}.article-featured{background:var(--color-surface);padding:20px;border-radius:var(--border-radius-sm);border:1px solid var(--color-border-light);margin-bottom:8px}.article-badge{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--color-text);background:#ffffff14;padding:4px 12px;border-radius:var(--border-radius-pill);margin-bottom:10px}.article-item h4{font-size:16px;font-weight:var(--font-weight-normal);margin-bottom:4px}.article-meta{font-size:14px;color:var(--color-text-subtle)}.articles-note{font-size:14px;color:var(--color-text-subtle);margin-top:20px;font-style:italic}.timeline-section{padding:var(--section-padding) 20px;background:transparent}.timeline-section .container{max-width:800px;margin:0 auto}.timeline-section h2{font-size:clamp(32px,5vw,48px);font-weight:var(--font-weight-light);margin-bottom:60px;text-align:center;letter-spacing:-1px}.timeline{position:relative;padding-left:40px}.timeline:before{content:"";position:absolute;left:15px;top:0;bottom:0;width:2px;background:var(--color-border)}.timeline-entry{position:relative;margin-bottom:var(--element-gap);padding:4px 0 20px}.timeline-entry:before{content:"";position:absolute;left:-33px;top:8px;width:10px;height:10px;border-radius:50%;background:var(--color-text-subtle);border:2px solid var(--color-bg-start)}.timeline-entry.current:before{background:var(--color-text);box-shadow:0 0 8px #ffffff4d}.timeline-date{font-size:13px;color:var(--color-text-subtle);letter-spacing:.5px;margin-bottom:4px}.timeline-entry h3{font-size:18px;font-weight:var(--font-weight-medium);margin-bottom:2px;letter-spacing:-.3px}.timeline-org{font-size:15px;color:var(--color-text-muted);margin-bottom:6px}.timeline-desc{font-size:15px;line-height:1.6;color:var(--color-text-subtle)}.timeline-current-label{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--color-text);background:#ffffff14;padding:3px 10px;border-radius:var(--border-radius-pill);margin-top:8px}.credentials{padding:var(--section-padding) 20px;background:transparent;border-top:1px solid var(--color-border)}.credentials .container{max-width:800px;margin:0 auto}.credentials h2{font-size:clamp(32px,5vw,48px);font-weight:var(--font-weight-light);margin-bottom:40px;text-align:center;letter-spacing:-1px}.credentials-list{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.credential-item{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--border-radius-sm);padding:16px 24px;display:flex;align-items:center;gap:12px}.credential-name{font-size:16px;font-weight:var(--font-weight-medium);letter-spacing:.5px}.credential-year{font-size:13px;color:var(--color-text-subtle)}.contact{padding:var(--section-padding) 20px;background:transparent}.contact-content{max-width:1000px;margin:0 auto}.contact h2{font-size:clamp(32px,5vw,48px);font-weight:var(--font-weight-light);margin-bottom:60px;text-align:center;letter-spacing:-1px}.contact-links{display:flex;flex-direction:column;align-items:center;gap:24px;max-width:500px;margin:0 auto}.contact-link{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--color-text);padding:20px 40px;width:100%;text-align:center;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);transition:var(--transition-fast)}.contact-link:hover{background:var(--color-surface-hover);border-color:#fff3}.contact-link-label{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-subtle);margin-bottom:6px}.contact-link-value{font-size:16px;color:var(--color-text-muted)}footer{padding:40px 20px;text-align:center;background:transparent;border-top:1px solid var(--color-border)}.footer-content p{font-size:14px;opacity:.6;letter-spacing:.5px}@media (max-width: 768px){.about-content{grid-template-columns:1fr;text-align:center;max-width:600px}.about-image{max-width:250px;margin:0 auto}.about h2{text-align:center}.proof-points{flex-direction:column;align-items:center}.hero{padding:var(--section-padding) 20px 60px}.frameworks{padding:60px 20px}.section-intro{font-size:16px}.publications{padding:60px 20px}.book-details h3{font-size:24px}.book-cover-placeholder{width:180px;height:260px}.timeline-section,.credentials{padding:60px 20px}.timeline{padding-left:30px}.timeline-entry:before{left:-23px;width:8px;height:8px}.timeline:before{left:11px}.credentials-list{gap:12px}.credential-item{padding:12px 20px}.about,.contact{padding:60px 20px}}@media (max-width: 480px){.hero h1{font-size:48px}.hero .tagline{font-size:18px}.proof-badge{font-size:13px;padding:8px 20px}.frameworks h2{font-size:32px}.framework-item h3{font-size:20px}.publications h2,.timeline-section h2,.credentials h2{font-size:32px}.credentials-list,.credentials-cards{flex-direction:column;align-items:center}.contact-cards{flex-direction:column}.about h2,.contact h2{font-size:32px}}.credentials-cards{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:40px}.credential-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-card);padding:24px 32px;text-align:center;min-width:160px;transition:var(--transition-fast)}.credential-card:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.credential-card .credential-name{display:block;font-size:20px;font-weight:var(--font-weight-semibold);letter-spacing:1px;margin-bottom:8px}.credential-card .credential-since{display:block;font-size:13px;color:var(--color-text-subtle);letter-spacing:.5px}.contact-cards{display:flex;gap:20px;justify-content:center;margin-top:40px}.contact-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-card);padding:32px 40px;text-align:center;text-decoration:none;color:var(--color-text);min-width:200px;transition:var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:12px}.contact-card:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover);transform:translateY(-2px)}.contact-card-icon{font-size:28px;font-weight:var(--font-weight-semibold);opacity:.8}.contact-card-label{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted)}.contact-card-value{font-size:14px;color:var(--color-text-subtle)}.contact-intro{text-align:center;color:var(--color-text-muted);font-size:18px;max-width:600px;margin:0 auto;line-height:1.8}.projects{padding:var(--section-padding) 20px}.project-cards{margin-top:40px}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-card);padding:var(--card-padding);margin-bottom:20px;transition:var(--transition-fast)}.project-card:hover{border-color:var(--color-border-hover)}.project-card h3{font-size:24px;font-weight:var(--font-weight-light);letter-spacing:-.5px;margin-bottom:8px}.project-tagline{color:var(--color-text-muted);font-size:16px;margin-bottom:16px;font-style:italic}.project-desc{color:var(--color-text-muted);line-height:1.8;margin-bottom:20px}.framework-link{display:inline-block;color:var(--color-text-muted);text-decoration:none;font-size:14px;letter-spacing:.5px;margin-top:16px;padding:8px 0;border-bottom:1px solid var(--color-border);transition:var(--transition-fast)}.framework-link:hover{color:var(--color-text);border-color:var(--color-text)}.framework-closing{font-style:italic;color:var(--color-text-muted);margin-top:16px}
