body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:18px}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:1.2rem}
:root{--portfolio-paper:var(--editorial-paper);--portfolio-surface:var(--editorial-surface);--portfolio-ink:var(--editorial-ink);--portfolio-muted:var(--editorial-muted);--portfolio-brand:var(--editorial-ink);--portfolio-line:var(--editorial-line)}html{scroll-behavior:smooth;margin:0;padding:0;font-size:100%;overflow-x:hidden}body{background-color:var(--portfolio-paper);color:var(--portfolio-ink);letter-spacing:.01em;margin:0;padding:0;font-family:Times New Roman,Times,serif;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;margin:0;padding:0;display:flex}main{flex-direction:column;flex:1;margin:0;padding:0;display:flex}.hero-section{justify-content:center;align-items:flex-start;min-height:60vh;padding:48px 0 0;display:flex;position:relative}.hero-col.left{justify-content:flex-start;align-items:flex-end}.hero-col.right{justify-content:flex-start;align-items:flex-start;max-width:500px;padding-left:48px}.hero-col.center,.hero-portrait{display:none}.hero-img{object-fit:cover;border:1px solid var(--portfolio-line);background:linear-gradient(120deg, var(--portfolio-paper) 60%, var(--portfolio-line) 100%);border-radius:2px;width:320px;height:320px;margin-top:32px;padding:8px}.hero-title{color:var(--portfolio-ink);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--portfolio-line);margin-top:64px;margin-bottom:28px;padding-bottom:8px;font-family:Times New Roman,Times,serif;font-size:2.3rem;font-weight:700;line-height:1.1}.hero-title span{color:var(--portfolio-brand);font-style:italic}.hero-desc{color:var(--portfolio-ink);margin-top:0;margin-bottom:32px;font-family:Times New Roman,Times,serif;font-size:1.3rem}.hero-section:after{content:"";background:radial-gradient(circle at 60% 40%, var(--portfolio-line) 0%, var(--portfolio-surface) 80%);opacity:.13;z-index:0;pointer-events:none;border-radius:50%;width:180px;height:180px;position:absolute;top:40px;right:-80px}.social-bar{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);z-index:10;border-radius:12px 0 0 12px;flex-direction:column;gap:12px;padding:8px 4px 8px 8px;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.social-icon{background:var(--portfolio-ink);color:#fff;text-align:center;border:1px solid var(--portfolio-line);border-radius:50%;width:32px;height:32px;margin-bottom:4px;font-family:Times New Roman,Times,serif;font-size:1.2rem;font-weight:600;line-height:32px;text-decoration:none;transition:background .2s,color .2s,border .2s;display:block}.social-icon:hover{background:var(--portfolio-brand);color:var(--portfolio-surface);border-color:var(--portfolio-brand)}.social-icon.goodreads{font-size:1rem;font-weight:700}.main-section{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);box-sizing:border-box;border-radius:2px;max-width:1000px;margin:64px auto 40px;padding:56px 40px;scroll-margin-top:120px}.main-section h2{color:var(--portfolio-ink);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--portfolio-line);margin-bottom:16px;padding-bottom:8px;font-family:Times New Roman,Times,serif;font-size:2rem}.main-section p{color:var(--portfolio-ink);font-size:1.15rem;line-height:1.7}.projects-bg,.home-bg,.blog-bg,.health-bg,.articles-bg{box-sizing:border-box;padding-left:24px;padding-right:24px}.health-bg{background:var(--portfolio-paper)}.health-header{text-align:center;max-width:900px;margin:0 auto;padding:48px 0 0}.health-header h1{color:var(--portfolio-ink);margin-bottom:16px;font-family:Times New Roman,Times,serif;font-size:2.5rem}.health-nav ul{justify-content:center;gap:40px;margin:0 0 32px;padding:0;list-style:none;display:flex}.health-nav a{color:var(--portfolio-muted);font-family:Times New Roman,Times,serif;font-size:1.2rem;font-weight:700;text-decoration:none;transition:color .2s}.health-nav a:hover{color:var(--portfolio-ink);text-decoration:underline}.nav-logo .first-name{color:var(--portfolio-ink);font-family:Times New Roman,Times,serif;font-style:normal;font-weight:500}.nav-logo .last-name{color:var(--portfolio-ink);margin-left:-2px;font-family:Times New Roman,Times,serif;font-style:italic;font-weight:400}.achievement-item{border-left:4px solid var(--portfolio-muted);background:#f8f8f8;border-radius:2px;margin-bottom:32px;padding:24px}.achievement-item h3{color:var(--portfolio-ink);margin:0 0 8px;font-family:Times New Roman,Times,serif;font-size:1.5rem}.achievement-date{color:var(--portfolio-muted);margin:0 0 16px;font-family:Times New Roman,Times,serif;font-size:1rem}.achievement-list{margin:0;padding:0;list-style:none}.achievement-list li{color:var(--portfolio-ink);margin-bottom:8px;padding-left:24px;font-family:Times New Roman,Times,serif;font-size:1.1rem;line-height:1.6;position:relative}.achievement-list li:before{content:"•";color:var(--portfolio-muted);position:absolute;left:8px}.books-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;margin-top:36px;margin-bottom:16px;display:grid}.book-card{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);border-radius:2px;flex-direction:column;align-items:flex-start;padding:28px 22px 20px;transition:border .2s;display:flex;position:relative;overflow:hidden}.book-card:hover{border-color:var(--portfolio-brand);background:linear-gradient(120deg, var(--portfolio-surface) 80%, var(--portfolio-paper) 100%)}.book-title{color:var(--portfolio-ink);margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1.13rem;font-weight:700}.book-author{color:var(--portfolio-muted);font-family:Times New Roman,Times,serif;font-size:1rem;font-style:italic}button,.pill-btn{border:1px solid var(--portfolio-line);background:var(--portfolio-surface);color:var(--portfolio-ink);letter-spacing:.04em;border-radius:2px;margin:8px 0;padding:10px 32px;font-family:Arial,sans-serif;font-size:1.08rem;font-weight:600;transition:background .2s,color .2s,border .2s}button:hover,.pill-btn:hover{background:var(--portfolio-paper);color:var(--portfolio-brand);border-color:var(--portfolio-brand)}.section-divider{background:linear-gradient(90deg, var(--portfolio-line) 0%, var(--portfolio-surface) 100%);opacity:.7;border:none;width:100%;height:2px;margin:48px 0 32px}@media (max-width:1100px){.hero-section{flex-direction:column;align-items:center;padding:32px 0 0}.hero-col.left,.hero-col.center,.hero-col.right{justify-content:center;align-items:center;max-width:100%;padding:0}.hero-col.right{margin-top:32px;padding-left:0}.social-bar{border-radius:2px;flex-direction:row;justify-content:center;margin:24px auto 0;padding:8px 16px;position:static;transform:none}}@media (max-width:900px){.main-section{padding:32px}.achievement-item,.book-card{padding:32px 16px}.books-grid{gap:18px}}@media (max-width:768px){.achievement-item{padding:16px}.achievement-list li{font-size:1rem}}@media (max-width:480px){.main-section{max-width:100%;margin:32px auto 0;padding:24px 8px}.projects-bg,.home-bg,.blog-bg,.health-bg,.articles-bg{padding-left:3px;padding-right:3px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.header-outer{width:min(1180px,100% - 64px);margin:0 auto;padding-top:48px}.header-logo-link{width:fit-content;color:var(--editorial-heading);margin:0 auto 38px;text-decoration:none;display:block}.header-logo-placeholder{font-family:var(--editorial-logo-font);letter-spacing:var(--editorial-logo-tracking);text-transform:uppercase;text-align:center;font-size:clamp(34px,5.7vw,76px);font-weight:400;line-height:1.1}.top-nav.split-nav{border-block:1px solid var(--portfolio-line);justify-content:space-between;align-items:center;gap:24px;padding:10px 0;display:flex;position:relative}.nav-center ul,.nav-right ul{align-items:center;margin:0;padding:0;list-style:none;display:flex}.nav-center ul{gap:28px}.nav-right ul{gap:4px}.nav-center a{letter-spacing:1.5px;text-transform:uppercase;color:var(--portfolio-muted);text-underline-offset:6px;padding:12px 0;font:11px Arial,sans-serif;text-decoration:none;display:block}.nav-center a:hover,.nav-center a.active{color:var(--portfolio-ink);text-decoration:underline;text-decoration-thickness:1px}.nav-right{align-items:center;gap:16px;display:flex}.social-icon-link{width:40px;height:40px;color:var(--portfolio-muted);justify-content:center;align-items:center;font-size:16px;text-decoration:none;display:flex}.social-icon-link:hover{color:var(--portfolio-ink)}.hamburger-menu{border:1px solid var(--portfolio-line);width:44px;height:44px;color:var(--portfolio-ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;margin:0;padding:0;font-size:18px;display:none}.hamburger-menu:hover{background:var(--portfolio-surface);color:var(--portfolio-ink)}@media (max-width:1000px){.header-outer{padding-top:32px}.header-logo-link{margin-bottom:28px}.nav-right{justify-content:space-between;width:100%}.hamburger-menu{display:flex}.nav-center{z-index:100;background:var(--portfolio-paper);border:1px solid var(--portfolio-line);padding:16px 24px;display:none;position:absolute;top:100%;left:0;right:0}.nav-center.nav-open{display:block}.nav-center ul{flex-direction:column;align-items:stretch;gap:0}.nav-center a{padding:16px 0}}@media (max-width:600px){.header-outer{width:calc(100% - 36px);padding-top:28px}.header-logo-link{margin-bottom:24px}.top-nav.split-nav{padding:6px 0}}
.footer{box-sizing:border-box;border-top:1px solid var(--portfolio-line);width:min(1180px,100% - 64px);color:var(--portfolio-muted);flex-shrink:0;margin:auto auto 0;padding:20px 0 14px}.footer-content{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:12px;display:flex}.footer-section.footer-connect{text-align:right}.footer-section h3{text-transform:uppercase;letter-spacing:2px;margin:0 0 6px;font:400 11px Arial,sans-serif}.footer-section p{margin:0;font-size:16px;line-height:1.6}.footer a{color:inherit;text-underline-offset:4px;text-decoration:none}.footer a:hover{text-decoration:underline}.footer-social{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.footer-social a{justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;display:flex}.footer-bottom{border-top:1px solid var(--portfolio-line);padding-top:10px}.footer-bottom p{letter-spacing:.04em;margin:0;font:11px/1.6 Arial,sans-serif}@media (max-width:600px){.footer{width:calc(100% - 36px);padding-top:18px}.footer-content{flex-direction:column;gap:12px}.footer-section.footer-connect{text-align:left}.footer-social{justify-content:flex-start}}
.tdee-calculator{padding:24px 0}.tdee-calculator h3{color:var(--portfolio-ink);margin:0 0 24px;font-family:Times New Roman,Times,serif;font-size:1.2rem;font-weight:600}.calculator-form{flex-direction:column;gap:20px;margin-bottom:24px;display:flex}.form-row{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:0;display:grid}.form-row:last-of-type{grid-template-columns:repeat(2,1fr);margin-bottom:0}@media (max-width:768px){.form-row,.form-row:last-of-type{grid-template-columns:1fr}}.form-group{flex-direction:column;display:flex}.form-group label{color:var(--portfolio-ink);margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:.95rem;font-weight:500}.form-group input,.form-group select{border:1px solid var(--portfolio-line);color:var(--portfolio-ink);background:var(--portfolio-surface);box-sizing:border-box;border-radius:2px;width:100%;min-height:44px;padding:12px 16px;font-family:Times New Roman,Times,serif;font-size:1rem;transition:border-color .2s}.input-with-unit{align-items:center;display:flex;position:relative}.input-with-unit input{padding-right:50px}.input-with-unit input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-with-unit input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-with-unit input[type=number]{appearance:textfield}.input-unit{color:var(--portfolio-ink);opacity:.85;pointer-events:none;font-family:Times New Roman,Times,serif;font-size:.95rem;position:absolute;right:16px}.form-group input:focus,.form-group select:focus{border-color:var(--portfolio-ink);outline:none}.calculate-btn{background:var(--portfolio-paper);width:100%;color:var(--portfolio-ink);border:1px solid var(--portfolio-line);cursor:pointer;box-sizing:border-box;border-radius:2px;justify-content:center;align-items:center;min-height:44px;margin-top:20px;padding:12px 24px;font-family:Arial,sans-serif;font-size:1rem;font-weight:500;display:flex}.calculate-btn:not(.disabled){background:var(--portfolio-ink);color:var(--portfolio-surface);cursor:pointer;border-color:var(--portfolio-ink)}.calculate-btn.disabled{cursor:not-allowed;opacity:.6}.calculate-btn:not(.disabled):hover{opacity:.9}.calculator-results{gap:20px;margin-top:32px;display:grid}.result-card{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);text-align:center;border-radius:2px;padding:20px}.result-card.highlight{border-color:var(--portfolio-ink)}.result-card h4{color:var(--portfolio-ink);margin:0 0 12px;font-family:Times New Roman,Times,serif;font-size:1rem;font-weight:600}.result-value{color:var(--portfolio-ink);margin:0;font-family:Times New Roman,Times,serif;font-size:1.75rem;font-weight:700}.result-note{color:var(--portfolio-ink);opacity:.85;margin-top:8px;font-family:Times New Roman,Times,serif;font-size:.9rem}.macro-breakdown{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;padding:24px}.macro-breakdown h4{color:var(--portfolio-ink);text-align:center;margin:0 0 20px;font-family:Times New Roman,Times,serif;font-size:1.1rem;font-weight:600}.macro-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.macro-item{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);border-radius:2px;flex-direction:column;align-items:center;padding:16px;display:flex}.macro-label{color:var(--portfolio-ink);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:.9rem;font-weight:600}.macro-value{color:var(--portfolio-ink);margin-bottom:4px;font-family:Times New Roman,Times,serif;font-size:1.5rem;font-weight:700}.macro-percent{color:var(--portfolio-ink);opacity:.85;font-family:Times New Roman,Times,serif;font-size:.85rem;font-weight:600}@media (max-width:768px){.macro-grid{grid-template-columns:1fr}.result-value{font-size:1.6rem}}
.book-modal-overlay{z-index:1000;background:#55473866;justify-content:center;align-items:flex-start;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.book-modal-content{background:var(--portfolio-surface);width:100%;max-width:640px;max-height:90vh;box-shadow:none;border:1px solid var(--portfolio-line);box-sizing:border-box;border-radius:2px;margin:40px auto;position:relative;overflow-y:auto}.book-modal-close{color:var(--portfolio-ink);cursor:pointer;z-index:10;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-family:Arial,sans-serif;font-size:28px;font-weight:300;line-height:1;display:flex;position:absolute;top:16px;right:16px}.book-modal-close:hover{color:var(--portfolio-muted)}.book-modal-header{border-bottom:1px solid var(--portfolio-line);padding:32px 32px 24px}.book-modal-header h2{color:var(--portfolio-ink);margin:0 0 8px;padding-right:32px;font-family:Times New Roman,Times,serif;font-size:1.8rem}.book-modal-author{color:var(--portfolio-muted);margin:0 0 16px;font-family:Times New Roman,Times,serif;font-size:1.05rem;font-style:italic}.book-modal-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.book-modal-category-badge{background:linear-gradient(135deg, var(--portfolio-brand) 0%, #d4a574 100%);color:var(--portfolio-surface);border-radius:2px;padding:6px 14px;font-family:Times New Roman,Times,serif;font-size:.85rem;font-weight:600}.book-modal-rating-container{align-items:center;gap:8px;display:flex}.book-modal-stars{letter-spacing:2px;font-size:1.1rem}.book-modal-rating-number{color:#666;font-family:Times New Roman,Times,serif;font-size:.9rem}.book-modal-not-rated{color:#999;font-family:Times New Roman,Times,serif;font-size:.9rem;font-style:italic}.book-modal-body{padding:24px 32px 32px}.book-modal-section{margin-bottom:24px}.book-modal-section:last-child{margin-bottom:0}.book-modal-section h3{color:var(--portfolio-ink);border-bottom:1px solid var(--portfolio-brand);margin:0 0 10px;padding-bottom:6px;font-family:Times New Roman,Times,serif;font-size:1.2rem}.book-modal-section p{color:var(--portfolio-ink);margin:0;font-size:1rem;line-height:1.7}.book-modal-empty{color:#999;font-style:italic}@media (max-width:768px){.book-modal-content{border-radius:2px;width:calc(100% - 20px);max-width:calc(100% - 20px);margin:20px auto}.book-modal-header{padding:24px 24px 20px}.book-modal-header h2{font-size:1.4rem}.book-modal-body{padding:20px 24px 24px}}
.recipe-modal-overlay{z-index:1000;background:0 0;justify-content:center;align-items:flex-start;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.recipe-modal-content{background:var(--portfolio-surface);width:100%;max-width:700px;max-height:90vh;box-shadow:none;border:1px solid var(--portfolio-line);box-sizing:border-box;border-radius:2px;margin:auto;position:relative;overflow-y:auto}.recipe-modal-content.positioned{box-sizing:border-box;margin:0;position:fixed}.recipe-modal-close{color:var(--portfolio-ink);cursor:pointer;z-index:10;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-family:Arial,sans-serif;font-size:28px;font-weight:300;line-height:1;display:flex;position:absolute;top:16px;right:16px}.recipe-modal-close:hover,.recipe-modal-close:active,.recipe-modal-close:focus{transform:none;opacity:1!important;color:var(--portfolio-ink)!important;background:0 0!important;outline:none!important}.recipe-modal-header{border-bottom:1px solid var(--portfolio-line);padding:32px 32px 24px}.recipe-modal-header h2{color:var(--portfolio-ink);letter-spacing:-.01em;margin:0 0 16px;font-family:Times New Roman,Times,serif;font-size:2rem;font-weight:600}.recipe-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.recipe-category-badge{background:linear-gradient(135deg, var(--portfolio-brand) 0%, #d4a574 100%);color:var(--portfolio-surface);text-transform:capitalize;border-radius:2px;padding:6px 14px;font-family:Times New Roman,Times,serif;font-size:.85rem;font-weight:600}.recipe-calories-badge{background:linear-gradient(135deg, var(--portfolio-muted) 0%, var(--portfolio-ink) 100%);color:var(--portfolio-surface);border-radius:2px;padding:6px 14px;font-family:Times New Roman,Times,serif;font-size:.85rem;font-weight:600}.recipe-macros{flex-wrap:wrap;gap:12px;display:flex}.recipe-macros span{color:var(--portfolio-ink);background:#5547381a;border-radius:2px;padding:6px 12px;font-family:Times New Roman,Times,serif;font-size:.85rem;font-weight:500}.recipe-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.recipe-tag{color:var(--portfolio-muted);background:#5547381a;border-radius:2px;padding:4px 10px;font-family:Times New Roman,Times,serif;font-size:.75rem;font-weight:500}.recipe-modal-body{padding:24px 32px 32px}.recipe-section{margin-bottom:32px}.recipe-section:last-child{margin-bottom:0}.recipe-section h3{color:var(--portfolio-ink);border-bottom:1px solid var(--portfolio-brand);margin:0 0 16px;padding-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1.4rem;font-weight:600}.ingredient-section{margin-bottom:20px}.ingredient-section:last-child{margin-bottom:0}.ingredient-section-title{color:var(--portfolio-brand);text-transform:capitalize;margin:0 0 12px;font-family:Times New Roman,Times,serif;font-size:1.1rem;font-weight:600}.ingredient-list{margin:0;padding:0;list-style:none}.ingredient-list li{color:var(--portfolio-muted);margin-bottom:8px;padding-left:24px;font-family:Times New Roman,Times,serif;font-size:1rem;line-height:1.8;position:relative}.ingredient-list li:before{content:"•";color:var(--portfolio-brand);font-size:1.2rem;font-weight:700;position:absolute;left:0}.directions-list{counter-reset:step-counter;margin:0;padding:0;list-style:none}.directions-list li{color:var(--portfolio-muted);counter-increment:step-counter;margin-bottom:16px;padding-left:40px;font-family:Times New Roman,Times,serif;font-size:1rem;line-height:1.8;position:relative}.directions-list li:before{content:counter(step-counter);background:linear-gradient(135deg, var(--portfolio-ink) 0%, var(--portfolio-muted) 100%);color:var(--portfolio-surface);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-family:Times New Roman,Times,serif;font-size:.9rem;font-weight:600;display:flex;position:absolute;top:0;left:0}@media (max-width:768px){.recipe-modal-overlay{justify-content:center;align-items:flex-start;padding:20px 10px 10px}.recipe-modal-content{border-radius:2px;width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:90vh;margin:0 auto}.recipe-modal-content.positioned{box-sizing:border-box;position:fixed}.recipe-modal-header{padding:20px 20px 16px}.recipe-modal-header h2{word-wrap:break-word;padding-right:40px;font-size:1.5rem;line-height:1.3}.recipe-modal-body{padding:16px 20px 20px}.recipe-meta{flex-direction:column;align-items:flex-start;gap:8px}.recipe-section h3{font-size:1.2rem}.ingredient-section-title{font-size:1rem}.ingredient-list li,.directions-list li{word-wrap:break-word;font-size:.95rem;line-height:1.6}.directions-list li{padding-left:36px}.directions-list li:before{width:24px;height:24px;font-size:.85rem}}@media (max-width:480px){.recipe-modal-overlay{justify-content:center;align-items:flex-start;padding:20px 10px 10px}.recipe-modal-content{border-radius:2px;width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:95vh;margin:0 auto}.recipe-modal-content.positioned{box-sizing:border-box;position:fixed}.recipe-modal-header{padding:16px 16px 12px}.recipe-modal-header h2{word-wrap:break-word;padding-right:36px;font-size:1.3rem}.recipe-modal-body{padding:12px 16px 16px}.recipe-category-badge,.recipe-calories-badge{padding:5px 12px;font-size:.8rem}.recipe-macros{flex-direction:column;gap:6px;width:100%}.recipe-macros span{padding:5px 10px;font-size:.8rem}.recipe-tags{gap:6px}.recipe-tag{padding:3px 8px;font-size:.7rem}.recipe-section{margin-bottom:24px}.recipe-section h3{margin-bottom:12px;font-size:1.1rem}.ingredient-section{margin-bottom:16px}.ingredient-section-title{margin-bottom:8px;font-size:.95rem}.ingredient-list li{margin-bottom:6px;padding-left:20px;font-size:.9rem}.directions-list li{margin-bottom:12px;padding-left:32px;font-size:.9rem}.directions-list li:before{width:22px;height:22px;font-size:.8rem}.recipe-modal-close{width:28px;height:28px;font-size:24px;top:12px;right:12px}}
.meal-plan-generator{padding:24px 0}.meal-plan-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.meal-plan-title-section{flex:1}.meal-plan-generator h3{color:var(--portfolio-ink);margin:0 0 12px;font-family:Times New Roman,Times,serif;font-size:1.35rem;font-weight:600}.tdee-section{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;margin-bottom:32px;padding:24px}.tdee-section h4{color:var(--portfolio-ink);margin:0 0 20px;font-family:Times New Roman,Times,serif;font-size:1.1rem;font-weight:600}.tdee-success{background:var(--portfolio-paper);border-left:3px solid var(--portfolio-ink);border-radius:2px;margin-top:16px;padding:12px 16px}.tdee-success p{color:var(--portfolio-ink);margin:0;font-family:Times New Roman,Times,serif;font-size:.95rem;font-weight:500}.generator-description{color:var(--portfolio-ink);margin:0 0 24px;font-family:Times New Roman,Times,serif;font-size:1rem;line-height:1.6}.generator-form{flex-direction:column;gap:24px;margin-top:24px;margin-bottom:24px;display:flex}.form-group{flex-direction:column;display:flex}.form-group label{color:var(--portfolio-ink);margin-bottom:12px;font-family:Times New Roman,Times,serif;font-size:.95rem;font-weight:500}.form-group input,.form-group select{border:1px solid var(--portfolio-line);color:var(--portfolio-ink);background:var(--portfolio-surface);border-radius:2px;padding:12px 16px;font-family:Times New Roman,Times,serif;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--portfolio-ink);outline:none}.form-hint{color:var(--portfolio-ink);opacity:.85;margin-top:6px;font-family:Times New Roman,Times,serif;font-size:.85rem}.checkbox-group{margin-top:8px}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:8px;display:grid}.checkbox-label{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);cursor:pointer;color:var(--portfolio-ink);white-space:nowrap;border-radius:2px;align-items:center;gap:8px;padding:6px 10px;font-family:Times New Roman,Times,serif;font-size:.95rem;transition:border-color .2s;display:inline-flex}.checkbox-label:hover{border-color:var(--portfolio-ink)}.checkbox-label input[type=checkbox],.checkbox-label input[type=radio]{cursor:pointer;width:18px;height:18px;accent-color:var(--portfolio-ink);vertical-align:middle;flex-shrink:0;margin:0}.checkbox-label input[type=checkbox]:checked+span,.checkbox-label input[type=radio]:checked+span{color:var(--portfolio-ink);font-weight:600}.checkbox-label span{vertical-align:middle;line-height:1.4}.generate-btn{background:var(--portfolio-ink);width:100%;color:var(--portfolio-surface);cursor:pointer;border:none;border-radius:2px;justify-content:center;align-items:center;min-height:48px;margin-top:24px;padding:14px 32px;font-family:Arial,sans-serif;font-size:1rem;font-weight:600;transition:opacity .2s;display:flex}.generate-btn:hover:not(:disabled){opacity:.9}.meal-plan-results{margin-top:32px}.meal-plan-results h4{color:var(--portfolio-ink);margin:0 0 24px;font-family:Times New Roman,Times,serif;font-size:1.2rem;font-weight:600}.meal-plan-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.day-card{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;padding:20px}.day-card h5{color:var(--portfolio-ink);border-bottom:1px solid var(--portfolio-line);margin:0 0 16px;padding-bottom:12px;font-family:Times New Roman,Times,serif;font-size:1.1rem;font-weight:600}.meal-item{background:var(--portfolio-surface);border-left:3px solid var(--portfolio-ink);border-radius:2px;flex-direction:column;gap:4px;margin-bottom:12px;padding:10px;display:flex}.meal-item.clickable{cursor:pointer}.meal-item.clickable:hover{background:var(--portfolio-paper)}.meal-item.dessert{border-left-color:var(--portfolio-ink);opacity:.9}.meal-type{color:var(--portfolio-ink);text-transform:uppercase;letter-spacing:.03em;font-family:Times New Roman,Times,serif;font-size:.8rem;font-weight:600}.meal-name{color:var(--portfolio-ink);font-family:Times New Roman,Times,serif;font-size:1rem;font-weight:500}.meal-calories{color:var(--portfolio-ink);opacity:.85;font-family:Times New Roman,Times,serif;font-size:.9rem}.day-total{border-top:1px solid var(--portfolio-line);text-align:center;color:var(--portfolio-ink);margin-top:16px;padding-top:12px;font-family:Times New Roman,Times,serif;font-size:1rem}.browse-recipes-btn{color:var(--portfolio-ink);border:1px solid var(--portfolio-line);cursor:pointer;white-space:nowrap;background:0 0;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;min-height:44px;padding:12px 24px;font-family:Arial,sans-serif;font-size:.95rem;font-weight:500;transition:border-color .2s,background .2s;display:flex}.browse-recipes-btn:hover{border-color:var(--portfolio-ink);background:var(--portfolio-paper)}.browse-recipes-section{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;margin-bottom:32px;padding:24px}.browse-recipes-section h4{color:var(--portfolio-ink);margin:0 0 20px;font-family:Times New Roman,Times,serif;font-size:1.2rem;font-weight:600}.recipes-browse-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.recipe-browse-card{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);cursor:pointer;z-index:1;border-radius:2px;margin-bottom:0;padding:16px;position:relative;overflow:visible}.recipe-browse-card.expanded{z-index:10;border-bottom:none;border-color:var(--portfolio-ink);box-shadow:none;border-radius:12px 12px 0 0;margin-bottom:0;padding-bottom:0}.recipe-card-header{cursor:pointer}.recipe-card-expanded{background:var(--portfolio-surface);border:1px solid var(--portfolio-ink);width:calc(100% + 2px);box-shadow:none;box-sizing:border-box;border-top:none;border-radius:0 0 12px 12px;max-height:70vh;margin-top:0;padding:16px;display:none;position:absolute;top:100%;left:-1px;right:-1px;overflow-y:auto}.recipe-browse-card.expanded .recipe-card-expanded{display:block}.recipe-expanded-section,.recipe-expanded-section:first-child{margin-top:0;margin-bottom:20px;padding-top:0}.recipe-expanded-section:last-child{margin-bottom:0}.recipe-expanded-section h4{color:var(--portfolio-ink);border-bottom:1px solid var(--portfolio-line);margin:0 0 12px;padding-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1.1rem;font-weight:600}.recipe-expanded-section h5{color:var(--portfolio-ink);opacity:.9;margin:0 0 8px;font-family:Times New Roman,Times,serif;font-size:1rem;font-weight:600}.recipe-expanded-section ul,.recipe-expanded-section ol{margin:0;padding-left:24px}.recipe-expanded-section li{color:var(--portfolio-ink);margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:.95rem;line-height:1.6}.recipe-ingredient-section{margin-bottom:16px}.recipe-browse-card:hover{border-color:var(--portfolio-ink);background:var(--portfolio-paper)}.recipe-category-group{margin-bottom:32px}.recipe-category-group:last-child{margin-bottom:0}.recipe-category-title{color:var(--portfolio-ink);border-bottom:1px solid var(--portfolio-line);text-transform:capitalize;margin:0 0 16px;padding-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1.2rem;font-weight:600}.recipe-browse-card h5,.recipe-browse-card h6{color:var(--portfolio-ink);margin:0 0 8px;font-family:Times New Roman,Times,serif;font-size:1rem;font-weight:600}.recipe-browse-card .recipe-category{color:var(--portfolio-ink);opacity:.85;text-transform:capitalize;margin:4px 0;font-family:Times New Roman,Times,serif;font-size:.85rem}.recipe-browse-card .recipe-calories{color:var(--portfolio-ink);opacity:.85;margin:4px 0;font-family:Times New Roman,Times,serif;font-size:.9rem;font-weight:500}.recipe-browse-card .recipe-tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.recipe-browse-card .recipe-tag{background:var(--portfolio-paper);color:var(--portfolio-ink);border:1px solid var(--portfolio-line);border-radius:2px;padding:3px 8px;font-family:Times New Roman,Times,serif;font-size:.7rem;font-weight:500}@media (max-width:768px){.meal-plan-header{flex-direction:column;align-items:stretch}.browse-recipes-btn{width:100%;margin-top:12px}.checkbox-grid,.meal-plan-grid,.recipes-browse-grid{grid-template-columns:1fr}.recipe-browse-card{padding:12px}.recipe-browse-card.expanded .recipe-card-expanded{display:block}.recipe-expanded-section h4{font-size:1.1rem}.recipe-expanded-section h5{font-size:.95rem}.recipe-expanded-section li{font-size:.9rem}}
.home-bg{background:var(--portfolio-paper);flex-direction:column;height:100%;margin:0;padding-top:20px;padding-bottom:0;display:flex}.hero-section-redesign{box-sizing:border-box;flex:1;grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1700px;margin:0 auto;padding:40px 24px 20px;display:grid}.hero-left-content{flex-direction:column;gap:24px;display:flex}.home-headline{color:var(--portfolio-ink);margin:0;font-family:Times New Roman,Times,serif;font-size:3.5rem;font-weight:700;line-height:1.2}.home-desc{color:var(--portfolio-ink);max-width:600px;margin:0;font-size:1.25rem;line-height:1.7}.home-subtitle{color:var(--portfolio-muted);margin:-8px 0 0;font-family:Arial,sans-serif;font-size:2.2rem;font-weight:400}.home-bio-list{flex-direction:column;gap:12px;max-width:600px;margin:0;padding:0;list-style:none;display:flex}.home-bio-list li{color:var(--portfolio-ink);padding-left:24px;font-size:1.15rem;line-height:1.6;position:relative}.home-bio-list li:before{content:"•";color:var(--portfolio-muted);font-size:1.3rem;line-height:1.3;position:absolute;left:0}.home-social-row{gap:16px;margin-top:8px;display:flex}.home-social-icon{background:var(--portfolio-ink);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.2rem;text-decoration:none;transition:all .3s;display:flex}.home-social-icon:hover{background:var(--portfolio-muted);transform:none}.home-btn-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.view-projects-btn,.view-thesis-btn,.view-resume-btn{cursor:pointer;white-space:nowrap;box-sizing:border-box;border-radius:2px;justify-content:center;align-items:center;height:52px;padding:0 28px;font-family:Arial,sans-serif;font-size:1rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.view-projects-btn{background:var(--portfolio-ink);color:#fff;border:none}.view-projects-btn:hover{background:var(--portfolio-ink);box-shadow:none;transform:none}.view-thesis-btn,.view-resume-btn{color:var(--portfolio-ink);border:1px solid var(--portfolio-ink);background:0 0}.view-thesis-btn:hover,.view-resume-btn:hover{background:var(--portfolio-ink);color:#fff;box-shadow:none;transform:none}.hero-image-grid{box-sizing:border-box;grid-template-rows:1.5fr 1fr;grid-template-columns:1fr 1.2fr;gap:16px;width:100%;max-width:450px;margin:0 auto;padding:0;display:grid}.grid-item{background:var(--portfolio-paper);justify-content:center;align-items:center;width:100%;height:100%;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.grid-item img{object-fit:cover;object-position:center;width:100%;max-width:100%;height:100%;display:block}@media (max-width:1000px){.hero-image-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:8px;max-width:250px}.grid-item{min-height:100px}}.main-section{max-width:1600px;box-shadow:none;border:1px solid var(--portfolio-line);background:#fff;border-radius:2px;margin:64px auto;padding:48px 40px}.main-section h2{color:var(--portfolio-ink);margin-bottom:32px;font-family:Times New Roman,Times,serif;font-size:2rem}.achievement-item{margin-bottom:32px}.achievement-item:last-child{margin-bottom:0}.achievement-item h3{color:var(--portfolio-ink);margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1.5rem}.achievement-date{color:var(--portfolio-muted);margin-bottom:16px;font-size:1rem}.achievement-list{margin:0;padding:0;list-style:none}.achievement-list li{color:var(--portfolio-ink);margin-bottom:8px;padding-left:24px;font-size:1.1rem;line-height:1.7;position:relative}.achievement-list li:before{content:"•";color:var(--portfolio-muted);font-size:1.4rem;position:absolute;left:0}.skills-section{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;display:grid}.skills-section h2{grid-column:1/-1;margin-bottom:0}.skills-category h3{color:var(--portfolio-ink);margin-bottom:16px;font-family:Times New Roman,Times,serif;font-size:1.3rem}.skills-list{margin:0;padding:0;list-style:none}.skills-list li{color:var(--portfolio-ink);margin-bottom:8px;padding-left:20px;font-size:1rem;line-height:1.7;position:relative}.skills-list li:before{content:"•";color:var(--portfolio-muted);font-size:1.2rem;position:absolute;left:0}.contact-section{text-align:left}.contact-list{margin:0;padding:0;list-style:none}.contact-list li{color:var(--portfolio-ink);margin-bottom:12px;font-size:1.1rem;line-height:2}.contact-list a{color:var(--portfolio-muted);text-decoration:none;transition:color .3s}.contact-list a:hover{color:var(--portfolio-ink);text-decoration:underline}@media (max-width:1400px){.hero-section-redesign{gap:60px;max-width:95%;padding:40px 32px 20px}.main-section{max-width:95%;padding:40px 32px}}@media (max-width:1200px){.hero-section-redesign{gap:40px;padding:40px 28px 20px}.home-headline{font-size:3rem}.home-desc{font-size:1.15rem}}@media (max-width:1000px){.hero-section-redesign{gap:32px;padding:40px 24px 20px}.home-headline{font-size:2.5rem}.home-desc{font-size:1.1rem}}@media (max-width:900px){.hero-section-redesign{gap:28px;padding:32px 20px 16px}.home-headline{font-size:2.2rem}.home-desc{font-size:1.05rem}.main-section{max-width:95%;margin:48px auto;padding:32px 24px}}@media (max-width:768px){.hero-section-redesign{gap:24px;padding:32px 16px 16px}.home-headline{font-size:2rem}.home-desc{font-size:1rem}.main-section{max-width:95%;margin:32px auto;padding:32px 20px}.skills-section{grid-template-columns:1fr}}@media (max-width:600px){.home-bg{padding-left:0;padding-right:0}.hero-section-redesign{grid-template-columns:1fr;gap:20px;padding:32px 0 16px}.hero-left-content{padding:0 16px}.home-headline{font-size:1.8rem}.hero-image-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:4px;width:100%;max-width:none;margin:0}.grid-item{min-height:140px}.grid-item img{object-fit:cover}}@media (max-width:480px){.hero-section-redesign{gap:24px;padding:24px 0 16px}.hero-left-content{padding:0 16px}.home-headline{font-size:1.8rem}.grid-item{min-height:120px}.main-section{max-width:100%;margin:24px auto;padding:24px 16px}}
.health-bg{background:var(--portfolio-paper);padding-top:76px}.health-header{text-align:center;max-width:1600px;margin:0 auto;padding:48px 24px 0}.health-header h1{color:var(--portfolio-ink);margin-bottom:16px;font-family:Times New Roman,Times,serif;font-size:2.5rem}.health-nav ul{justify-content:center;gap:40px;margin:0 0 32px;padding:0;list-style:none;display:flex}.health-nav a{color:var(--portfolio-muted);font-family:Times New Roman,Times,serif;font-size:1.2rem;font-weight:700;text-decoration:none;transition:color .2s}.health-nav a:hover{color:var(--portfolio-ink);text-decoration:underline}.nutrition-section-nav{margin-top:24px}.nutrition-section-nav ul{flex-wrap:wrap;justify-content:center;gap:10px 16px;margin:0;padding:0;list-style:none;display:flex}.nutrition-nav-link{color:var(--portfolio-ink);border:1px solid var(--portfolio-line);cursor:pointer;background:#5547381f;border-radius:2px;padding:8px 16px;font-family:Times New Roman,Times,serif;font-size:.9rem;font-weight:500;transition:all .2s}.nutrition-nav-link:hover{border-color:var(--portfolio-brand);color:var(--portfolio-ink);background:#55473833}.main-section{background:var(--portfolio-surface);max-width:1600px;box-shadow:none;border:1px solid var(--portfolio-line);border-radius:2px;margin:0 auto 40px;padding:56px 40px;animation:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}.main-section h2{color:var(--portfolio-ink);margin-bottom:24px;font-family:Times New Roman,Times,serif;font-size:2rem}.main-section h3{color:var(--portfolio-muted);margin:32px 0 16px;font-family:Times New Roman,Times,serif;font-size:1.5rem}.main-section p{color:var(--portfolio-ink);font-size:1.15rem;line-height:1.7}.nutrition-section{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);box-shadow:none;border-radius:2px;margin-top:32px;margin-bottom:32px;padding:32px 28px 24px;animation:none}.nutrition-section h3{color:var(--portfolio-ink);margin-top:28px;margin-bottom:12px;font-family:Times New Roman,Times,serif;font-size:1.3rem;font-weight:700}.nutrition-section ul{margin:0 0 12px;padding-left:24px}.nutrition-section li{color:var(--portfolio-ink);margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1.13rem;line-height:1.7}.nutrition-list{background:var(--portfolio-paper);box-shadow:none;border-radius:2px;margin:0 0 12px;padding:18px 20px 12px 28px;list-style:none}.nutrition-list li{color:var(--portfolio-ink);margin-bottom:12px;padding-left:24px;font-family:Times New Roman,Times,serif;font-size:1.13rem;line-height:1.7;position:relative}.nutrition-list li:before{content:"•";color:var(--portfolio-brand);font-size:1.3rem;font-weight:700;line-height:1.2;position:absolute;left:0}.nutrition-sublist{background:var(--portfolio-surface);border-radius:2px;margin:8px 0;padding:10px 16px 8px 24px;list-style:none}.nutrition-sublist li{color:var(--portfolio-muted);margin-bottom:8px;padding-left:0;font-size:1.05rem;line-height:1.6;list-style:none;position:relative}.nutrition-sublist li:before{content:none}.nutrition-hacks-group h4{color:var(--portfolio-ink);margin-top:28px;margin-bottom:12px;font-family:Times New Roman,Times,serif;font-size:1.3rem;font-weight:700}.nutrition-hacks-group ul{margin:0 0 12px;padding-left:24px}.nutrition-hacks-group li{color:var(--portfolio-ink);margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1.13rem;line-height:1.7}.dietary-guidelines{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);border-radius:2px;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:10px;padding:24px;display:grid}.guidelines-column{box-shadow:none;background:#fff;border-radius:2px;padding:24px}.guidelines-column h3{border-bottom:1px solid var(--portfolio-line);text-align:center;margin-top:0;padding-bottom:16px}.guidelines-list{margin:0;padding:0;list-style:none}.guidelines-list li{color:var(--portfolio-ink);margin-bottom:16px;padding-left:24px;font-size:1.1rem;line-height:1.6;position:relative}.guidelines-list li:last-child{margin-bottom:0}.guidelines-list li:before{content:"✓";color:var(--portfolio-muted);position:absolute;left:0}.guidelines-list.avoid li:before{content:"×";color:#d32f2f;font-weight:700}@media (max-width:600px){.dietary-guidelines{grid-template-columns:1fr;gap:24px}}.books-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;margin-top:36px;margin-bottom:16px;display:grid}.book-card{background:var(--portfolio-surface);box-shadow:none;border:1px solid var(--portfolio-line);border-radius:2px;flex-direction:column;align-items:flex-start;padding:28px 22px 20px;transition:box-shadow .2s,transform .2s,border .2s;animation:none;display:flex;position:relative;overflow:hidden}.book-card:hover{box-shadow:none;border:1px solid var(--portfolio-brand);background:linear-gradient(120deg, var(--portfolio-surface) 80%, var(--portfolio-paper) 100%);transform:none}.book-title{color:var(--portfolio-ink);margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1.13rem;font-weight:700}.book-author{color:var(--portfolio-muted);font-family:Times New Roman,Times,serif;font-size:1rem;font-style:italic}button,.pill-btn{border:1px solid var(--portfolio-line);background:var(--portfolio-surface);color:var(--portfolio-ink);letter-spacing:.04em;box-shadow:none;border-radius:2px;margin:8px 0;padding:10px 32px;font-family:Arial,sans-serif;font-size:1.08rem;font-weight:600;transition:background .2s,color .2s,border .2s,box-shadow .2s}button:hover,.pill-btn:hover{background:var(--portfolio-paper);color:var(--portfolio-brand);border:1px solid var(--portfolio-brand);box-shadow:none}.books-grid:before{content:"";opacity:.08;z-index:0;background:0 0;width:120px;height:120px;display:block;position:absolute;top:-40px;left:-40px}.fitness-section h3{color:var(--portfolio-ink);margin-top:28px;margin-bottom:12px;font-family:Times New Roman,Times,serif;font-size:1.3rem;font-weight:700}.workout-category h4{color:var(--portfolio-ink);margin-top:18px;margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1.15rem;font-weight:700}.fitness-section ul{margin:0 0 12px;padding-left:24px}.fitness-section li{color:var(--portfolio-ink);margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1.13rem;line-height:1.7}.workout-types{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;margin-top:24px;display:grid}.workout-category{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;padding:24px}.workout-category ul{margin:0;padding:0;list-style:none}.workout-category li{color:var(--portfolio-ink);margin-bottom:8px;padding-left:20px;font-family:Times New Roman,Times,serif;font-size:1rem;line-height:1.6;position:relative}.workout-category li:before{content:"•";color:var(--portfolio-muted);font-size:1.2rem;position:absolute;left:0}.workout-category strong{color:var(--portfolio-muted)}.vitamins-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:24px;display:grid}.vitamin-card{background:var(--portfolio-surface);box-shadow:none;border:1px solid var(--portfolio-line);border-radius:2px;flex-direction:column;align-items:flex-start;padding:24px 20px 20px;transition:box-shadow .2s,transform .2s,border .2s;animation:none;display:flex;position:relative;overflow:hidden}.vitamin-card:hover{box-shadow:none;border:1px solid var(--portfolio-brand);background:linear-gradient(120deg, var(--portfolio-surface) 80%, var(--portfolio-paper) 100%);transform:none}.vitamin-title{color:var(--portfolio-ink);margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1.2rem;font-weight:700}.vitamin-function{color:var(--portfolio-muted);margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1rem;line-height:1.5}.vitamin-note{color:var(--portfolio-brand);margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:.9rem;font-style:italic;line-height:1.4}.vitamin-sources{color:var(--portfolio-ink);margin-top:auto;font-family:Times New Roman,Times,serif;font-size:.9rem;line-height:1.4}.fasting-dropdowns{margin-top:24px}.fasting-detail{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);border-radius:2px;margin-bottom:12px;transition:box-shadow .2s,border .2s;overflow:hidden}.fasting-detail:hover{box-shadow:none;border:1px solid var(--portfolio-brand)}.fasting-summary{background:var(--portfolio-paper);cursor:pointer;color:var(--portfolio-ink);text-align:left;border:none;width:100%;padding:16px 20px;font-family:Times New Roman,Times,serif;font-size:1.1rem;font-weight:700;transition:background .2s;position:relative}.fasting-summary:hover{background:var(--portfolio-line)}.fasting-summary:after{content:"▼";color:var(--portfolio-brand);font-size:.8rem;transition:transform .2s;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.fasting-detail[open] .fasting-summary:after{transform:translateY(-50%)rotate(180deg)}.fasting-content{background:var(--portfolio-surface);padding:16px 20px}.fasting-content p{color:var(--portfolio-ink);margin:8px 0;font-family:Times New Roman,Times,serif;font-size:1rem;line-height:1.6}.fasting-content strong{color:var(--portfolio-muted)}@media (max-width:1200px){.main-section{max-width:95%;padding:40px 32px}.health-header{max-width:95%}}@media (max-width:900px){.main-section{max-width:95%;padding:32px 24px}.books-grid{gap:18px}.nutrition-section{padding:18px 8px 12px}.nutrition-list{padding:10px 8px 8px 16px}.nutrition-sublist{padding:6px 8px 6px 14px}.vitamins-grid{gap:16px}.vitamin-card{padding:20px 16px 16px}}@media (max-width:768px){.main-section{max-width:95%;padding:32px 20px}}@media (max-width:480px){.main-section{max-width:100%;margin:0 auto 24px;padding:24px 16px}}
.bookshelf-outer{background:var(--portfolio-paper);box-sizing:border-box;padding:20px 24px}.bookshelf-controls{flex-wrap:wrap;gap:16px;margin-bottom:32px;display:flex}.bookshelf-search{border:1px solid var(--portfolio-line);min-width:200px;color:var(--portfolio-ink);background:#fff;border-radius:2px;flex:1;padding:12px 16px;font-family:Times New Roman,Times,serif;font-size:1rem;transition:border-color .3s}.bookshelf-search:focus{border-color:var(--portfolio-muted);outline:none}.bookshelf-search::placeholder{color:#999}.bookshelf-sort{border:1px solid var(--portfolio-line);color:var(--portfolio-ink);cursor:pointer;background:#fff;border-radius:2px;min-width:180px;padding:12px 16px;font-family:Times New Roman,Times,serif;font-size:1rem;transition:border-color .3s}.bookshelf-sort:focus{border-color:var(--portfolio-muted);outline:none}.bookshelf-table{border-collapse:collapse;background:#fff;width:100%;margin-top:24px}.bookshelf-table th{letter-spacing:.08em;color:var(--portfolio-ink);text-transform:uppercase;text-align:left;border-bottom:1px solid var(--portfolio-line);background:#f8f8f8;padding:18px 20px;font-family:Times New Roman,Times,serif;font-size:.9rem;font-weight:700}.bookshelf-table td{color:var(--portfolio-ink);border-bottom:1px solid #eee;padding:18px 20px;font-size:1rem}.book-row{cursor:pointer}.bookshelf-table tr:hover td{background:#faf8f3}.bookshelf-table tr:last-child td{border-bottom:none}.bookshelf-hint{color:var(--portfolio-muted);margin:0 0 8px;font-size:.95rem;font-style:italic}.book-title-cell{color:var(--portfolio-ink);font-family:Times New Roman,Times,serif;font-weight:500}.book-author-cell{color:var(--portfolio-ink);font-family:Times New Roman,Times,serif}.book-category-cell{color:var(--portfolio-muted);font-family:Times New Roman,Times,serif;font-size:.9rem}.not-rated{color:#999;font-family:Times New Roman,Times,serif;font-size:.9rem;font-style:italic}.book-rating-cell{color:var(--portfolio-ink);font-family:Times New Roman,Times,serif}.rating-container{align-items:center;gap:8px;display:flex}.stars-container{letter-spacing:2px;align-items:center;font-size:1.1rem;line-height:1.2;display:inline-flex}.rating-number{color:#666;white-space:nowrap;font-family:Times New Roman,Times,serif;font-size:.9rem}.half-star{color:#ddd;letter-spacing:2px;vertical-align:baseline;width:1em;font-size:1.1rem;line-height:1.2;display:inline-block;position:relative;overflow:hidden}.half-star:before{content:"★";color:gold;white-space:nowrap;width:50%;display:block;position:absolute;top:0;left:0;overflow:hidden}@media (max-width:1200px){.bookshelf-section{max-width:95%;padding:40px 32px}}@media (max-width:900px){.bookshelf-section{max-width:95%;margin:32px auto;padding:32px}.bookshelf-title{font-size:2.2rem}}@media (max-width:768px){.bookshelf-section{max-width:95%;margin:24px auto;padding:32px 20px}.bookshelf-title{font-size:2rem}.bookshelf-controls{flex-direction:column;gap:12px}.bookshelf-search,.bookshelf-sort{box-sizing:border-box;width:100%;min-width:100%}.bookshelf-table{table-layout:auto;width:100%;font-size:.9rem}.bookshelf-table th,.bookshelf-table td{padding:12px 10px}.book-title-cell,.book-author-cell,.book-category-cell{word-break:break-word}}@media (max-width:600px){.bookshelf-table{font-size:.9rem}.bookshelf-table th,.bookshelf-table td{padding:12px 10px}.book-title-cell,.book-author-cell,.book-category-cell{word-break:break-word}}@media (max-width:480px){.bookshelf-section{max-width:100%;margin:16px auto;padding:24px 8px}.bookshelf-title{font-size:1.8rem}.bookshelf-table{white-space:nowrap;display:block;overflow-x:auto}.bookshelf-table th,.bookshelf-table td{min-width:120px}.bookshelf-outer{padding-left:3px;padding-right:3px}}
.project-detail-bg{background:var(--portfolio-paper);padding-top:20px;padding-bottom:20px}.project-detail-container{box-sizing:border-box;max-width:1600px;margin:0 auto;padding:24px}.project-detail-container .main-section{max-width:100%;margin-left:0;margin-right:0}.back-link{color:#fff;background:var(--portfolio-ink);box-shadow:none;border-radius:2px;align-self:flex-start;align-items:center;width:fit-content;margin-bottom:32px;padding:12px 24px;font-family:Arial,sans-serif;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.back-link:hover{background:var(--portfolio-ink);text-decoration:none}.project-detail-header{margin-bottom:32px}.search-container{box-sizing:border-box;width:100%;max-width:1600px;margin:0 0 24px;padding:0}.search-input{border:1px solid var(--portfolio-line);width:100%;max-width:100%;color:var(--portfolio-ink);box-sizing:border-box;background:#fff;border-radius:2px;padding:14px 20px;font-family:Times New Roman,Times,serif;font-size:1rem;transition:border-color .3s,box-shadow .3s}.athletics-featured-box{border:1px solid var(--portfolio-line);color:inherit;box-shadow:none;box-sizing:border-box;background:#fff;border-radius:2px;align-items:center;width:100%;max-width:100%;min-height:400px;margin-bottom:0;padding:36px;text-decoration:none;transition:all .3s;display:flex}.athletics-featured-box:hover{box-shadow:none;border-color:var(--portfolio-muted);color:inherit;text-decoration:none;transform:none}.athletics-featured-content{box-sizing:border-box;align-items:flex-start;gap:32px;width:100%;display:flex}.athletics-featured-left{flex:0 0 200px;min-width:0}.athletics-featured-title{color:var(--portfolio-ink);margin:0 0 8px;font-family:Times New Roman,Times,serif;font-size:2rem}.athletics-featured-subtitle{color:var(--portfolio-muted);margin:0;font-family:Times New Roman,Times,serif;font-size:1.1rem;font-style:italic}.athletics-featured-right{flex:1;min-width:0}.athletics-featured-list{margin:0 0 16px;padding:0;list-style:none}.athletics-featured-list li{color:var(--portfolio-ink);margin-bottom:8px;padding-left:24px;font-family:Times New Roman,Times,serif;font-size:1.1rem;line-height:1.8;position:relative}.athletics-featured-list li:before{content:"•";color:var(--portfolio-muted);font-size:1.5rem;line-height:1.2;position:absolute;left:0}.athletics-featured-link{color:var(--portfolio-muted);margin-top:8px;font-family:Times New Roman,Times,serif;font-size:1rem;font-weight:500}@media (max-width:900px){.athletics-featured-box{min-height:auto;padding:28px}.athletics-featured-content{gap:24px}.athletics-featured-title{font-size:1.8rem}.fitness-card{min-height:auto;padding:28px}}@media (max-width:768px){.athletics-featured-content{flex-direction:column;gap:20px}.athletics-featured-left{flex:auto}.athletics-featured-title{font-size:1.7rem}.athletics-featured-subtitle,.athletics-featured-list li{font-size:1rem}.athletics-featured-box,.fitness-card{min-height:auto;padding:24px}.fitness-card h3{font-size:1.5rem}}.fitness-image-grid{aspect-ratio:1;grid-template-rows:1fr 1fr;grid-template-columns:1.15fr 1fr;gap:8px;width:100%;max-width:800px;min-height:300px;max-height:500px;margin:32px 0;display:grid}.fitness-image-grid .grid-item{background:var(--portfolio-paper);border-radius:2px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.fitness-image-grid .grid-item img{object-fit:cover;object-position:center;border-radius:2px;width:100%;max-width:100%;height:100%;display:block}.fitness-image-grid .grid-item.large{grid-area:1/1/3}.fitness-image-grid .grid-item.large img{border-radius:2px}.fitness-image-grid .grid-item.medium{grid-area:1/2;width:100%;height:100%}.fitness-image-grid .grid-item.medium img{border-radius:2px}.fitness-image-grid .grid-item.small{grid-area:2/2;width:100%;height:100%}.fitness-image-grid .grid-item.small img{border-radius:2px}@media (max-width:768px){.fitness-image-grid{grid-template-rows:repeat(3,200px);grid-template-columns:1fr;gap:8px;height:auto;max-height:none}.fitness-image-grid .grid-item.large,.fitness-image-grid .grid-item.medium{grid-area:span 1/1}.fitness-image-grid .grid-item.small{grid-area:3/1}}.search-input:focus{border-color:var(--portfolio-muted);box-shadow:none;outline:none}.search-input::placeholder{color:var(--portfolio-brand)}.search-hidden{display:none}.project-detail-title-section h1{color:var(--portfolio-ink);margin:0 0 12px;font-family:Times New Roman,Times,serif;font-size:2.8rem;line-height:1.2}.project-detail-subtitle{color:var(--portfolio-muted);margin:0 0 20px;font-family:Times New Roman,Times,serif;font-size:1.3rem;font-style:italic}.project-detail-meta{align-items:center;gap:12px;display:flex}.project-year-badge{color:var(--portfolio-muted);background:#55473826;border-radius:2px;padding:6px 16px;font-size:.9rem;font-weight:500}.project-status{color:var(--portfolio-ink);background:#5547381a;border-radius:2px;padding:6px 16px;font-size:.9rem;font-weight:500}.project-detail-section{box-shadow:none;border:1px solid var(--portfolio-line);box-sizing:border-box;background:#fff;border-radius:2px;width:100%;max-width:100%;margin-bottom:32px;padding:40px 24px}.project-detail-section h2{color:var(--portfolio-ink);border-bottom:1px solid var(--portfolio-line);margin:0 0 24px;padding-bottom:12px;font-family:Times New Roman,Times,serif;font-size:2rem}.project-detail-section p{color:var(--portfolio-ink);margin:0 0 20px;font-size:1.1rem;line-height:1.8}.project-detail-section p:last-child{margin-bottom:0}.research-areas-list{margin:0;padding:0;list-style:none}.research-areas-list li{color:var(--portfolio-ink);margin-bottom:12px;padding-left:28px;font-size:1.1rem;line-height:1.8;position:relative}.research-areas-list li:before{content:"•";color:var(--portfolio-muted);font-size:1.5rem;line-height:1.2;position:absolute;left:0}.project-not-found{text-align:center;padding:80px 20px}.project-not-found h1{color:var(--portfolio-ink);margin-bottom:16px;font-family:Times New Roman,Times,serif;font-size:2.5rem}.project-not-found p{color:var(--portfolio-ink);margin-bottom:32px;font-size:1.2rem}.section-intro{color:var(--portfolio-muted);margin-bottom:32px;font-size:1.1rem;font-style:italic;line-height:1.7}.fitness-grid{flex-direction:column;gap:32px;margin-top:40px;display:flex}.fitness-card{border:1px solid var(--portfolio-line);box-shadow:none;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word;background:#fff;border-radius:2px;flex-direction:column;width:100%;min-height:400px;padding:36px;transition:all .3s;display:flex}.fitness-card:hover{border-color:var(--portfolio-muted);box-shadow:none;transform:none}.fitness-card h3{color:var(--portfolio-ink);border-bottom:1px solid var(--portfolio-line);margin:0 0 24px;padding-bottom:16px;font-family:Times New Roman,Times,serif;font-size:1.6rem;font-weight:600}.fitness-list{margin:0;padding:0;list-style:none}.fitness-list li{color:var(--portfolio-ink);margin-bottom:14px;padding-left:28px;font-family:Times New Roman,Times,serif;font-size:1.05rem;line-height:1.9;position:relative}.fitness-list li:before{content:"•";color:var(--portfolio-muted);font-size:1.8rem;font-weight:700;line-height:1.2;position:absolute;left:8px}.exercise-group{flex-direction:column;gap:24px;display:flex}.exercise-category{background:var(--portfolio-paper);border-left:4px solid var(--portfolio-muted);border-radius:2px;padding:20px}.exercise-category h4{color:var(--portfolio-ink);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-family:Times New Roman,Times,serif;font-size:1.15rem;font-weight:600}.exercise-category p{color:var(--portfolio-ink);margin:0;font-family:Times New Roman,Times,serif;font-size:1rem;line-height:1.7}.nutrition-hacks-container{margin-top:40px}.nutrition-hacks-container h3{color:var(--portfolio-ink);margin-bottom:24px;font-family:Times New Roman,Times,serif;font-size:1.8rem}.hacks-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:24px;display:grid}.hack-card{border:1px solid var(--portfolio-line);background:#fff;border-radius:2px;padding:24px;transition:all .3s}.hack-card:hover{border-color:var(--portfolio-muted);box-shadow:none}.hack-card h4{color:var(--portfolio-ink);border-bottom:1px solid var(--portfolio-line);margin:0 0 16px;padding-bottom:12px;font-family:Times New Roman,Times,serif;font-size:1.3rem}.hack-card ul{margin:0;padding:0;list-style:none}.hack-card li{color:var(--portfolio-ink);margin-bottom:10px;padding-left:20px;font-family:Times New Roman,Times,serif;font-size:.95rem;line-height:1.7;position:relative}.hack-card li:before{content:"•";color:var(--portfolio-muted);font-size:1.2rem;font-weight:700;position:absolute;left:0}.fasting-container{margin-top:0}.fasting-container h3{color:var(--portfolio-ink);margin-bottom:24px;font-family:Times New Roman,Times,serif;font-size:1.8rem}.fasting-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:24px;display:grid}.fasting-card{border:1px solid var(--portfolio-line);background:#fff;border-radius:2px;flex-direction:column;padding:24px;transition:all .3s;display:flex}.fasting-card:hover{border-color:var(--portfolio-muted);box-shadow:none;transform:none}.fasting-title{color:var(--portfolio-ink);border-bottom:1px solid var(--portfolio-line);margin:0 0 16px;padding-bottom:12px;font-family:Times New Roman,Times,serif;font-size:1.3rem;font-weight:600}.fasting-content{background:0 0;padding:0}.fasting-content p{color:var(--portfolio-ink);margin:8px 0;font-family:Times New Roman,Times,serif;font-size:.95rem;line-height:1.6}.fasting-content strong{color:var(--portfolio-muted)}.dietary-guidelines-container{margin-top:48px}.dietary-guidelines-container h3{color:var(--portfolio-ink);margin-bottom:24px;font-family:Times New Roman,Times,serif;font-size:1.8rem}.dietary-guidelines{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin-top:24px;display:grid}.guidelines-column{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;padding:28px}.guidelines-column h4{color:var(--portfolio-ink);border-bottom:1px solid var(--portfolio-line);text-align:center;margin:0 0 20px;padding-bottom:12px;font-family:Times New Roman,Times,serif;font-size:1.5rem}.guidelines-list{margin:0;padding:0;list-style:none}.guidelines-list li{color:var(--portfolio-ink);margin-bottom:14px;padding-left:24px;font-family:Times New Roman,Times,serif;font-size:1rem;line-height:1.7;position:relative}.guidelines-list li:last-child{margin-bottom:0}.guidelines-list li:before{content:"✓";color:var(--portfolio-muted);font-weight:700;position:absolute;left:0}.guidelines-list.avoid li:before{content:"×";color:#d32f2f;font-weight:700}.guidelines-list strong{color:var(--portfolio-muted)}.faq-main-section{margin-top:32px}.faq-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:32px;display:grid}.faq-card{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;flex-direction:column;padding:28px;display:flex}.faq-card h3.faq-question{color:var(--portfolio-ink);border-bottom:1px solid var(--portfolio-line);margin:0 0 16px;padding-bottom:12px;font-family:Times New Roman,Times,serif;font-size:1.3rem;font-weight:600;line-height:1.4}.faq-card .faq-answer{color:var(--portfolio-muted);margin:0 0 16px;font-family:Times New Roman,Times,serif;font-size:1rem;font-style:italic;line-height:1.6}.faq-card .faq-detail{color:var(--portfolio-ink);margin:0;font-family:Times New Roman,Times,serif;font-size:.95rem;line-height:1.7}@media (max-width:1200px){.project-detail-container{max-width:95%;padding:40px 32px}.project-detail-container .main-section{margin-left:0;margin-right:0}.project-detail-section{padding:36px 32px}.search-container{padding:0}}@media (max-width:900px){.project-detail-container{max-width:95%;padding:32px 24px}.project-detail-container .main-section{margin-left:0;margin-right:0}.search-container{padding:0}}@media (max-width:768px){.project-detail-container{max-width:95%;padding:32px 20px}.project-detail-container .main-section{margin-left:0;margin-right:0}.project-detail-title-section h1{font-size:2.2rem}.project-detail-subtitle{font-size:1.1rem}.project-detail-section{padding:32px 24px}.project-detail-section h2{font-size:1.7rem}.project-detail-section p{font-size:1rem}.search-container{box-sizing:border-box;width:100%;margin-bottom:24px;padding:0}.search-input{box-sizing:border-box;width:100%;max-width:100%;padding:12px 16px;font-size:.95rem}}@media (max-width:900px){.fitness-grid{flex-direction:column}.hacks-grid,.fasting-grid,.dietary-guidelines,.faq-grid{grid-template-columns:1fr}}@media (max-width:480px){.project-detail-container{max-width:100%;padding:24px 16px}.project-detail-container .main-section{margin-left:0;margin-right:0}.project-detail-section{padding:24px 16px}.search-container{margin-bottom:20px;padding:0}.search-input{padding:10px 14px;font-size:.9rem}.fitness-card,.hack-card,.fasting-card,.guidelines-column{padding:20px}.fitness-card h3,.hack-card h4,.fasting-title{font-size:1.2rem}}.athletics-images-container{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:16px;width:100%;display:flex;overflow-x:auto}.athletics-images-container img{object-fit:contain;flex-shrink:0;height:auto;max-height:300px}@media (max-width:768px){.athletics-images-container{justify-content:flex-start;gap:12px}.athletics-images-container img{width:auto;max-width:none;height:250px}}@media (max-width:600px){.athletics-images-container{gap:8px}.athletics-images-container img{width:auto;max-width:none;height:150px!important}}@media (max-width:480px){.athletics-images-container{gap:6px}.athletics-images-container img{width:auto;max-width:none;height:120px!important}.fitness-grid{gap:24px;margin-top:32px}.fitness-card{min-height:auto;padding:24px}.athletics-featured-box{min-height:auto;padding:20px}.athletics-featured-content{gap:16px}.athletics-featured-title{font-size:1.5rem}.athletics-featured-subtitle{font-size:.95rem}.athletics-featured-list li{padding-left:20px;font-size:.95rem}.fitness-card h3{margin-bottom:20px;padding-bottom:12px;font-size:1.4rem}.fitness-list li{margin-bottom:12px;padding-left:24px;font-size:1rem}.exercise-category h4{font-size:1rem}.exercise-category p{font-size:.95rem}.exercise-group{gap:16px}.exercise-category{padding:14px}}@media (max-width:600px){.athletics-featured-box,.fitness-card{padding:20px}.fitness-card h3{font-size:1.3rem}.fitness-list li{font-size:.95rem}.search-container{box-sizing:border-box;width:100%}.search-input{box-sizing:border-box;width:100%;max-width:100%;padding:10px 14px;font-size:.9rem}.athletics-images-container{gap:8px}.athletics-images-container img{width:auto;max-width:none;height:150px!important}}@media (max-width:768px){.fitness-grid{gap:28px}.fitness-card{padding:28px}}.cta-section{width:100%;max-width:100%;margin:24px 0;transition:all .3s}.cta-section .cta-card+.cta-expanded-content{margin-top:0}.cta-card{background:linear-gradient(135deg, var(--portfolio-surface) 0%, #fff 100%);border:1px solid var(--portfolio-line);cursor:pointer;text-align:left;width:100%;box-shadow:none;border-radius:2px;justify-content:space-between;align-items:center;margin-bottom:0;padding:24px 32px;transition:all .3s;display:flex}.cta-card:hover:not(.expanded){box-shadow:none;border-color:var(--portfolio-brand);transform:none}.cta-card.expanded{cursor:pointer;box-shadow:none;border-bottom:none;border-radius:16px 16px 0 0;margin-bottom:0}.cta-section.has-expanded{background:linear-gradient(135deg, var(--portfolio-surface) 0%, #fff 100%);border:1px solid var(--portfolio-line);box-shadow:none;border-radius:2px;overflow:hidden}.cta-section.has-expanded:hover{box-shadow:none;border-color:var(--portfolio-brand);transform:none}body:has(.recipe-modal-overlay) .cta-card{box-shadow:none;transform:none;border-color:var(--portfolio-line)!important;margin-top:24px!important;margin-bottom:24px!important;transition:none!important}body:has(.recipe-modal-overlay) .cta-card:hover{box-shadow:none;transform:none;border-color:var(--portfolio-line)!important;margin-top:24px!important;margin-bottom:24px!important;transition:none!important}body:has(.recipe-modal-overlay) .cta-section{box-shadow:none;transform:none;border-color:var(--portfolio-line)!important;margin-top:24px!important;margin-bottom:24px!important;transition:none!important}body:has(.recipe-modal-overlay) .cta-section:hover{box-shadow:none;transform:none;border-color:var(--portfolio-line)!important;margin-top:24px!important;margin-bottom:24px!important;transition:none!important}body:has(.recipe-modal-overlay) .cta-section.has-expanded{box-shadow:none;transform:none;border-color:var(--portfolio-line)!important;margin-top:24px!important;margin-bottom:24px!important;transition:none!important}body:has(.recipe-modal-overlay) .cta-section.has-expanded:hover{box-shadow:none;transform:none;border-color:var(--portfolio-line)!important;margin-top:24px!important;margin-bottom:24px!important;transition:none!important}.cta-section.has-expanded .cta-card.expanded{background:0 0;border:none}.cta-section.has-expanded .cta-expanded-content{box-shadow:none;background:0 0;border:none}.cta-content{flex:1}.cta-card h2{color:var(--portfolio-ink);letter-spacing:-.01em;margin:0 0 8px;font-family:Times New Roman,Times,serif;font-size:1.8rem;font-weight:600}.cta-card p{color:var(--portfolio-muted);margin:0;font-family:Times New Roman,Times,serif;font-size:1rem;line-height:1.6}.cta-card svg{color:var(--portfolio-brand);margin-left:20px;font-size:1.2rem;transition:transform .3s}.cta-expanded-content{box-shadow:none;z-index:1;background:0 0;border:none;border-radius:0;margin-top:0;padding:0 32px 32px;animation:.3s ease-out slideDown;position:relative}.cta-expanded-content .meal-plan-generator{padding-top:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.info-subsection{margin-bottom:32px}.info-subsection:last-child{margin-bottom:0}.info-subsection h3{color:var(--portfolio-ink);letter-spacing:-.01em;margin:0 0 16px;font-family:Times New Roman,Times,serif;font-size:1.5rem;font-weight:600}.aside-header{color:var(--portfolio-brand);letter-spacing:-.01em;margin:0 0 12px;font-family:Times New Roman,Times,serif;font-size:1.3rem;font-weight:600}.info-list{margin:0 0 24px;padding:0;list-style:none}.info-list li{color:var(--portfolio-muted);margin-bottom:8px;padding-left:24px;font-family:Times New Roman,Times,serif;font-size:1.05rem;line-height:1.8;position:relative}.info-list li:before{content:"•";color:var(--portfolio-brand);font-size:1.2rem;font-weight:700;position:absolute;left:0}.numbered-list{counter-reset:item;margin:0 0 24px;padding:0;list-style:none}.numbered-list li{color:var(--portfolio-muted);counter-increment:item;margin-bottom:12px;padding-left:32px;font-family:Times New Roman,Times,serif;font-size:1.05rem;line-height:1.8;position:relative}.numbered-list li:before{content:counter(item) ".";color:var(--portfolio-brand);font-size:1.1rem;font-weight:700;position:absolute;left:0}.numbered-list li strong{color:var(--portfolio-ink);font-weight:600}.fasting-card{border:1px solid var(--portfolio-line);background:linear-gradient(135deg,#fffefb99 0%,#f7f5f299 100%);border-radius:2px;margin-bottom:16px;padding:20px 24px;transition:all .3s}.fasting-card:hover{border-color:var(--portfolio-brand);box-shadow:none}.fasting-card:last-child,.fasting-card .info-list{margin-bottom:0}.table-container{margin-top:24px;overflow-x:auto}.vitamins-table{border-collapse:collapse;background:var(--portfolio-surface);width:100%;box-shadow:none;border-radius:2px;font-family:Times New Roman,Times,serif;font-size:.95rem;overflow:hidden}.vitamins-table thead{background:linear-gradient(135deg, var(--portfolio-ink) 0%, var(--portfolio-muted) 100%);color:var(--portfolio-surface)}.vitamins-table th{text-align:left;letter-spacing:.02em;text-transform:uppercase;padding:16px 12px;font-size:.9rem;font-weight:600}.vitamins-table tbody tr{border-bottom:1px solid var(--portfolio-line);transition:background .2s}.vitamins-table tbody tr:hover{background:#55473814}.vitamins-table tbody tr:last-child{border-bottom:none}.vitamins-table td{color:var(--portfolio-muted);vertical-align:top;padding:14px 12px;line-height:1.6}.vitamins-table td strong{color:var(--portfolio-ink);font-weight:600}.vitamins-table td:first-child{font-weight:500}@media (max-width:768px){.cta-card{padding:20px 24px}.cta-card h2{font-size:1.5rem}.cta-card p{font-size:.95rem}.cta-expanded-content{padding:24px}.info-subsection h3{font-size:1.3rem}.aside-header{font-size:1.15rem}.info-list li,.numbered-list li{font-size:1rem}.vitamins-table{font-size:.85rem}.vitamins-table th,.vitamins-table td{padding:10px 8px}.vitamins-table th{font-size:.8rem}}
.projects-bg{background:var(--portfolio-paper);padding-top:20px;padding-bottom:20px}.projects-header{text-align:center;max-width:1600px;margin:0 auto;padding:24px 24px 0}.projects-header h1{color:var(--portfolio-ink);margin-bottom:16px;font-family:Times New Roman,Times,serif;font-size:2.5rem}.projects-subtitle{color:var(--portfolio-muted);margin-bottom:32px;font-family:Times New Roman,Times,serif;font-size:1.2rem}.main-section{max-width:1600px;box-shadow:none;border:1px solid var(--portfolio-line);background:#fff;border-radius:2px;margin:32px auto 0;padding:48px 40px;scroll-margin-top:120px}.main-section h2{color:var(--portfolio-ink);margin-bottom:32px;font-family:Times New Roman,Times,serif;font-size:2rem}.main-section p{color:var(--portfolio-ink);font-size:1.15rem;line-height:1.7}.technical-overview-section{margin-top:64px}.technical-overview-content{flex-direction:column;gap:24px;display:flex}.technical-overview-content p{color:var(--portfolio-ink);margin:0;font-size:1.1rem;line-height:1.8}.projects-grid{flex-direction:column;gap:24px;margin-top:0;display:flex}.project-card{border:1px solid var(--portfolio-line);color:inherit;background:#fff;border-radius:2px;flex-direction:row;align-items:stretch;gap:24px;min-height:280px;padding:24px;text-decoration:none;transition:all .3s;display:flex}.project-card:hover{box-shadow:none;border-color:var(--portfolio-muted);transform:none}.project-content{flex-direction:column;flex:1;min-width:0;display:flex}.project-thumbnail{background:var(--portfolio-paper);border-radius:2px;flex-shrink:0;justify-content:stretch;align-items:stretch;width:300px;min-width:300px;max-width:300px;height:280px;min-height:280px;max-height:280px;display:flex;position:relative;overflow:visible}.project-thumbnail-wrapper{border-radius:2px;align-items:stretch;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.project-preview-iframe{pointer-events:none;transform-origin:0 0;border:none;border-radius:2px;width:600px;height:800px;position:absolute;top:0;left:0;transform:scale(.5)}.project-screenshot{object-fit:cover;border-radius:2px;width:100%;height:100%;display:block}.project-screenshot-contain{object-fit:contain;box-sizing:border-box;background:#fff;border-radius:2px;width:100%;height:100%;padding:12px;display:block}.notion-placeholder{box-sizing:border-box;background:linear-gradient(135deg, #fff 0%, var(--portfolio-paper) 100%);border:1px solid var(--portfolio-line);border-radius:2px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.notion-icon{margin-bottom:12px;font-size:3rem}.notion-text{text-align:center}.notion-text h4{color:var(--portfolio-muted);margin:0 0 8px;font-family:Times New Roman,Times,serif;font-size:1.2rem}.notion-text p{color:var(--portfolio-muted);opacity:.8;margin:0;font-family:Times New Roman,Times,serif;font-size:.9rem}.project-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.project-card h3{color:var(--portfolio-ink);flex:1;margin:0;font-family:Times New Roman,Times,serif;font-size:1.3rem}.project-year{color:var(--portfolio-muted);background:#5547381a;border-radius:2px;padding:4px 12px;font-size:.9rem;font-weight:500}.project-subtitle{color:var(--portfolio-muted);margin:0 0 12px;font-family:Times New Roman,Times,serif;font-size:1rem;font-style:italic}.project-description{color:var(--portfolio-ink);flex:1;margin:0 0 20px;font-size:.95rem;line-height:1.6}.project-card-footer{margin-top:auto}.project-link{color:var(--portfolio-muted);font-size:1rem;font-weight:500;transition:color .3s}.project-card:hover .project-link{color:var(--portfolio-ink)}@media (max-width:1200px){.main-section{max-width:95%;padding:40px 32px}.projects-header{max-width:95%}}@media (max-width:900px){.main-section{max-width:95%;margin:32px auto 0;padding:32px 24px}.projects-header{max-width:95%;padding:32px 16px 0}.projects-header h1{font-size:2rem}.projects-subtitle{font-size:1.1rem}.projects-grid{gap:20px}.project-card{gap:16px;padding:20px}.project-thumbnail{width:300px;min-width:300px;max-width:300px;height:280px;min-height:280px;max-height:280px}.project-thumbnail-wrapper{width:100%}.project-preview-iframe{width:600px;height:800px;transform:scale(.5)}.project-screenshot{height:100%}.project-card h3{font-size:1.2rem}.project-subtitle{font-size:.95rem}.project-description{font-size:.9rem}.workout-types{grid-template-columns:1fr;gap:24px}}@media (max-width:768px){.main-section{max-width:95%;margin:24px auto 0;padding:32px 20px}.projects-header{padding:24px 16px 0}.project-card{gap:12px;padding:16px}.project-thumbnail{width:300px;min-width:300px;max-width:300px;height:280px;min-height:280px;max-height:280px}.project-thumbnail-wrapper{width:100%}.project-screenshot{height:100%}}@media (max-width:600px){.project-card{flex-direction:column;gap:16px;padding:16px}.project-thumbnail{order:2;width:100%;min-width:100%;max-width:100%;height:120px;min-height:120px;max-height:120px}.project-content{order:1}.project-thumbnail-wrapper{width:100%;height:100%;position:relative;overflow:hidden}.project-screenshot{object-fit:cover;height:100%}.project-preview-iframe{transform-origin:top;width:2400px;height:800px;margin-left:-180px;position:absolute;top:0;left:50%;transform:scale(.15)}.project-thumbnail-wrapper{width:100%;height:100%;overflow:hidden}.notion-placeholder{padding:8px}.notion-text h4{margin:0 0 2px;font-size:.95rem}.notion-text p{font-size:.75rem}}@media (max-width:480px){.main-section{max-width:100%;margin:16px auto 0;padding:24px 16px}.project-card{gap:12px;padding:16px}.project-thumbnail{width:100%;min-width:100%;max-width:100%;height:120px;min-height:120px;max-height:120px}.project-thumbnail-wrapper{width:100%;height:100%;position:relative;overflow:hidden}.project-screenshot{object-fit:cover;height:100%}.project-preview-iframe{transform-origin:0 0;width:2400px;height:800px;position:absolute;top:0;transform:scale(.15)}.project-thumbnail-wrapper{width:100%;height:100%;overflow:hidden}}
.thesis-bg{background:var(--portfolio-paper);min-height:100vh;padding-top:20px;padding-bottom:20px}.thesis-container{flex-direction:column;gap:32px;max-width:1100px;margin:0 auto;padding:24px 24px 80px;display:flex}.thesis-hero{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);box-shadow:none;border-radius:2px;padding:56px 48px 48px;animation:none}.thesis-eyebrow{color:var(--portfolio-brand);letter-spacing:.06em;text-transform:uppercase;margin:0 0 16px;font-family:Times New Roman,Times,serif;font-size:.85rem;font-weight:600}.thesis-hero h1{color:var(--portfolio-ink);margin:0 0 20px;font-family:Times New Roman,Times,serif;font-size:2.1rem;line-height:1.3}.thesis-tagline{color:var(--portfolio-muted);max-width:780px;margin:0 0 32px;font-family:Times New Roman,Times,serif;font-size:1.1rem;line-height:1.65}.thesis-hero-links{flex-wrap:wrap;gap:14px;margin-bottom:28px;display:flex}.thesis-btn{border-radius:2px;padding:12px 28px;font-family:Arial,sans-serif;font-size:.95rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-block}.thesis-btn-primary{background:var(--portfolio-ink);color:var(--portfolio-surface);border:1px solid var(--portfolio-ink)}.thesis-btn-outline{color:var(--portfolio-ink);border:1px solid var(--portfolio-ink);background:0 0}.thesis-btn:hover{opacity:.8}.thesis-supervisor{color:var(--portfolio-ink);opacity:.7;margin:0;font-family:Times New Roman,Times,serif;font-size:.88rem;line-height:1.6}.thesis-section{background:var(--portfolio-surface);border:1px solid var(--portfolio-line);box-shadow:none;border-radius:2px;padding:48px 48px 40px;animation:none}.thesis-section h2{color:var(--portfolio-ink);margin:0 0 20px;font-family:Times New Roman,Times,serif;font-size:1.75rem}.thesis-section h3{color:var(--portfolio-muted);margin:0 0 12px;font-family:Times New Roman,Times,serif;font-size:1.2rem}.thesis-section p{color:var(--portfolio-ink);margin:0 0 16px;font-family:Times New Roman,Times,serif;font-size:1.05rem;line-height:1.75}.thesis-section p:last-child{margin-bottom:0}.thesis-stats-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:8px;display:grid}.thesis-stat-card{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;flex-direction:column;gap:6px;padding:24px 20px;display:flex}.thesis-stat-number{color:var(--portfolio-ink);font-family:Times New Roman,Times,serif;font-size:2.4rem;font-weight:700;line-height:1}.thesis-stat-label{color:var(--portfolio-muted);text-transform:uppercase;letter-spacing:.04em;font-family:Times New Roman,Times,serif;font-size:.85rem;font-weight:700}.thesis-stat-detail{color:var(--portfolio-ink);opacity:.8;font-family:Times New Roman,Times,serif;font-size:.88rem;line-height:1.55;margin:4px 0 0!important}.thesis-two-col{grid-template-columns:1fr 1fr;gap:24px;margin-top:8px;display:grid}.thesis-col-card{border:1px solid var(--portfolio-line);border-radius:2px;padding:28px 24px}.thesis-col-wt{background:var(--portfolio-paper)}.thesis-col-ko{border-color:var(--portfolio-ink);background:#5547380a}.thesis-col-card h3{color:var(--portfolio-ink);margin:0 0 14px;font-family:Times New Roman,Times,serif;font-size:1.05rem}.thesis-col-card ul{margin:0;padding:0;list-style:none}.thesis-col-card li{color:var(--portfolio-ink);margin-bottom:8px;padding-left:18px;font-family:Times New Roman,Times,serif;font-size:.95rem;line-height:1.6;position:relative}.thesis-col-card li:before{content:"•";color:var(--portfolio-brand);font-weight:700;position:absolute;left:0}.thesis-note{background:var(--portfolio-paper);border-left:3px solid var(--portfolio-brand);border-radius:0 8px 8px 0;padding:14px 18px;font-style:italic;margin-top:20px!important;font-size:.98rem!important}.thesis-methods-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px;display:grid}.thesis-method-card{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;padding:24px 20px}.thesis-method-card h4{color:var(--portfolio-ink);margin:0 0 10px;font-family:Times New Roman,Times,serif;font-size:1rem}.thesis-method-card p{color:var(--portfolio-ink);opacity:.9;margin:0;font-family:Times New Roman,Times,serif;font-size:.9rem;line-height:1.65}.thesis-pipeline-toggle{margin-top:28px}.thesis-pipeline-btn{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);color:var(--portfolio-ink);cursor:pointer;border-radius:2px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px 20px;font-family:Arial,sans-serif;font-size:.95rem;font-weight:600;display:flex}.thesis-pipeline-btn:hover{background:#eee9e0}.thesis-pipeline-arrow{font-size:.8rem}.thesis-pipeline{flex-direction:column;gap:12px;margin-top:16px;display:flex}.thesis-pipeline-step{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.thesis-pipeline-num{color:var(--portfolio-surface);background:var(--portfolio-ink);white-space:nowrap;border-radius:2px;flex-shrink:0;align-self:flex-start;margin-top:2px;padding:4px 10px;font-family:Times New Roman,Times,serif;font-size:.8rem;font-weight:700}.thesis-pipeline-step strong{color:var(--portfolio-ink);margin-bottom:4px;font-family:Times New Roman,Times,serif;font-size:.95rem;display:block}.thesis-pipeline-step p{color:var(--portfolio-ink);opacity:.85;margin:0;font-family:Times New Roman,Times,serif;font-size:.88rem;line-height:1.5}.thesis-tools-grid{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.thesis-tool-tag{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);color:var(--portfolio-ink);border-radius:2px;padding:8px 16px;font-family:Times New Roman,Times,serif;font-size:.9rem;font-weight:500}.thesis-list{margin:0;padding:0;list-style:none}.thesis-list li{color:var(--portfolio-ink);margin-bottom:10px;padding-left:22px;font-family:Times New Roman,Times,serif;font-size:.98rem;line-height:1.7;position:relative}.thesis-list li:before{content:"•";color:var(--portfolio-brand);font-weight:700;position:absolute;left:0}.thesis-section .thesis-two-col h3{color:var(--portfolio-ink);margin-bottom:14px;font-size:1.1rem}.thesis-acknowledgements p{opacity:.85;font-style:italic}.thesis-slides-wrapper{contain:strict;border:none;border-radius:2px;width:90%;height:520px;margin:8px auto 0;overflow:hidden}.thesis-slides-iframe{border:none;border-radius:2px;width:100%;height:100%;display:block}@media (max-width:768px){.thesis-slides-wrapper{width:100%;height:300px}}@keyframes thesisFadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@media (max-width:900px){.thesis-stats-grid,.thesis-methods-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.thesis-hero,.thesis-section{padding:32px 20px}.thesis-hero h1{font-size:1.5rem}.thesis-stats-grid,.thesis-two-col,.thesis-methods-grid{grid-template-columns:1fr}.thesis-hero-links{flex-direction:column}.thesis-btn{text-align:center}}
.nutrition-page{padding-bottom:48px}.nutrition-hero-ctas{flex-wrap:wrap;justify-content:flex-start;gap:16px;margin-top:28px;display:flex}.nutrition-cta-primary,.nutrition-cta-secondary{cursor:pointer;border-radius:2px;padding:14px 28px;font-family:Times New Roman,Times,serif;font-size:1.1rem;font-weight:600;transition:all .2s}.nutrition-cta-primary{background:var(--portfolio-ink);color:var(--portfolio-surface);border:1px solid var(--portfolio-ink)}.nutrition-cta-primary:hover{background:var(--portfolio-muted);border-color:var(--portfolio-muted);transform:none}.nutrition-cta-secondary{background:var(--portfolio-surface);color:var(--portfolio-ink);border:1px solid var(--portfolio-brand)}.nutrition-cta-secondary:hover{border-color:var(--portfolio-ink);color:var(--portfolio-ink);background:#55473826;transform:none}.nutrition-meal-plan-section{margin-top:24px}.nutrition-section-summary{color:var(--portfolio-ink);margin-bottom:20px;font-family:Times New Roman,Times,serif;font-size:1.1rem;line-height:1.7}.nutrition-categories-section h2{margin-bottom:28px}.nutrition-categories-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}@media (max-width:1024px){.nutrition-categories-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.nutrition-categories-grid{grid-template-columns:1fr}}.nutrition-category-card{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);cursor:pointer;border-radius:2px;flex-direction:column;gap:12px;padding:28px 24px;transition:all .2s;display:flex}.nutrition-category-card:not(.selected):hover{border-color:var(--portfolio-brand);box-shadow:none}.nutrition-category-card.selected{border-color:var(--portfolio-ink);box-shadow:none;background:#55473814}.nutrition-category-card h3{color:var(--portfolio-ink);margin:0;font-family:Times New Roman,Times,serif;font-size:1.35rem}.nutrition-category-card p{color:var(--portfolio-ink);flex:1;margin:0;font-size:1rem;line-height:1.6}.nutrition-explore-btn{color:var(--portfolio-muted);align-self:flex-start;padding:4px 0;font-family:Arial,sans-serif;font-size:1rem;font-weight:600}.nutrition-category-content{margin-top:32px}.nutrition-category-content .info-subsection h3{margin-top:24px;margin-bottom:10px}.nutrition-category-content .info-list{color:var(--portfolio-ink);margin:0;padding-left:24px;font-size:1.05rem;line-height:1.7}.nutrition-category-content .info-list li{margin-bottom:6px}.nutrition-practical{margin:24px 0}.nutrition-evidence{border-top:1px solid var(--portfolio-line);margin-top:32px;padding-top:20px}.nutrition-evidence h4{color:var(--portfolio-muted);margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1rem}.nutrition-evidence p{color:var(--portfolio-ink);font-size:.95rem}.nutrition-evidence a{color:var(--portfolio-muted);text-decoration:underline}.sourdough-nav{margin:24px 0 32px}.sourdough-nav-buttons{flex-wrap:wrap;gap:12px;display:flex}.sourdough-nav-btn{background:var(--portfolio-paper);color:var(--portfolio-ink);border:1px solid var(--portfolio-line);cursor:pointer;border-radius:2px;padding:12px 20px;font-family:Arial,sans-serif;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.sourdough-nav-btn:hover{border-color:var(--portfolio-brand);background:#5547381f}.sourdough-boxes{flex-direction:column;gap:24px;margin-top:24px;display:flex}.sourdough-box{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;padding:28px 24px;scroll-margin-top:100px}.sourdough-box h3{color:var(--portfolio-ink);margin:0 0 12px;font-family:Times New Roman,Times,serif;font-size:1.35rem}.sourdough-box h4{color:var(--portfolio-muted);margin:16px 0 8px;font-family:Times New Roman,Times,serif;font-size:1rem;font-weight:600}.sourdough-box p,.sourdough-box .info-list{color:var(--portfolio-ink);margin:0 0 12px;font-size:1.05rem;line-height:1.7}.sourdough-box .info-list{padding-left:24px}.sourdough-box .sourdough-method{list-style:decimal}.sourdough-inclusions-section{scroll-margin-top:100px}.sourdough-inclusions-title{color:var(--portfolio-ink);font-family:Times New Roman,Times,serif;font-size:1.35rem;margin:0 0 16px!important}.sourdough-inclusions-box{flex-direction:column;gap:20px;display:flex}.sourdough-recipe-item{border-bottom:1px solid var(--portfolio-line);padding-bottom:20px}.sourdough-recipe-item:last-child{border-bottom:none;padding-bottom:0}.sourdough-recipe-item h4{color:var(--portfolio-ink);margin:0 0 8px;font-family:Times New Roman,Times,serif;font-size:1.15rem}.sourdough-recipe-item p{margin:8px 0 0;font-size:1rem}.sourdough-method,.sourdough-health{list-style:decimal}.hacks-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (max-width:768px){.hacks-grid{grid-template-columns:1fr}}.hack-card{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;padding:20px}.hack-card h4{color:var(--portfolio-ink);margin:0 0 12px;font-family:Times New Roman,Times,serif;font-size:1.15rem}.hack-card ul{margin:0;padding-left:20px}.hack-card li{margin-bottom:6px;font-size:1rem;line-height:1.6}.fasting-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (max-width:900px){.fasting-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.fasting-grid{grid-template-columns:1fr}}.fasting-card{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;padding:20px}.fasting-card h4{color:var(--portfolio-ink);margin:0 0 12px;font-family:Times New Roman,Times,serif;font-size:1.15rem}.fasting-card p{margin:0 0 8px;font-size:1rem}.table-container{overflow-x:auto}.vitamins-table{border-collapse:collapse;width:100%;font-size:1rem}.vitamins-table th,.vitamins-table td{text-align:left;border:1px solid var(--portfolio-line);padding:12px 16px}.vitamins-table th{background:var(--portfolio-paper);color:var(--portfolio-ink);font-family:Times New Roman,Times,serif;font-weight:600}.vitamins-table td{color:var(--portfolio-ink)}
.project-detail-container .contact-form-section{box-sizing:border-box;width:100%;max-width:100%;margin-left:0;margin-right:0}.contact-form{margin:0 auto}.form-group{margin-bottom:24px}.form-group label{color:var(--portfolio-ink);margin-bottom:8px;font-family:Times New Roman,Times,serif;font-size:1.1rem;font-weight:500;display:block}.form-input{border:1px solid var(--portfolio-line);width:100%;color:var(--portfolio-ink);box-sizing:border-box;background:#fff;border-radius:2px;min-height:48px;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .3s}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23554738' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}.form-input:focus{border-color:var(--portfolio-muted);outline:none}.form-input::placeholder{color:#999}textarea.form-input{resize:vertical;min-height:120px;padding:12px 16px}.submit-button{cursor:pointer;box-shadow:none;appearance:none;border-radius:2px;align-items:center;margin-top:8px;padding:12px 24px;font-family:Arial,sans-serif;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex;color:#fff!important;background:var(--portfolio-muted)!important;border:none!important}.submit-button:hover{box-shadow:none;text-decoration:none;transform:none;background:var(--portfolio-ink)!important;color:#fff!important;border:none!important}.submit-button:focus{outline:none;background:var(--portfolio-muted)!important;border:none!important}.submit-button:active{background:var(--portfolio-ink)!important;border:none!important}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none;background:var(--portfolio-muted)!important;border:none!important}.submit-button:disabled:hover{box-shadow:none;transform:none;background:var(--portfolio-muted)!important;border:none!important}.form-error{color:#d32f2f;background:#d32f2f1a;border-left:4px solid #d32f2f;border-radius:2px;margin-bottom:16px;padding:12px;font-size:.95rem}.contact-success{text-align:center;padding:48px 24px}.contact-success h2{color:var(--portfolio-muted);margin-bottom:16px;font-family:Times New Roman,Times,serif;font-size:2rem}.contact-success p{color:var(--portfolio-ink);font-size:1.1rem;line-height:1.7}.contact-intro{color:var(--portfolio-ink);margin-bottom:32px;font-size:1.1rem;line-height:1.7}.back-link{color:#fff;background:var(--portfolio-muted);box-shadow:none;border-radius:2px;align-items:center;margin-bottom:24px;padding:12px 24px;font-family:Arial,sans-serif;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.back-link:hover{background:var(--portfolio-ink);box-shadow:none;transform:none}@media (max-width:900px){.contact-form{max-width:100%;padding:0 20px}.contact-intro{margin-bottom:28px;padding:0 20px;font-size:1rem}.form-group{margin-bottom:22px}.form-group label{margin-bottom:10px;font-size:1rem}.form-input{min-height:48px;padding:14px 16px;font-size:.95rem}.form-select{padding-right:40px}.submit-button{width:100%;margin-top:8px;padding:14px 24px;font-size:1rem}.contact-success{padding:40px 20px}.contact-success h2{font-size:1.5rem}.contact-success p{font-size:1rem}}@media (max-width:768px){.contact-form{box-sizing:border-box;width:100%;max-width:100%;padding:0}.contact-intro{padding:0}.form-group{box-sizing:border-box;width:100%;margin-bottom:20px}.form-group label{margin-bottom:8px;font-size:.95rem}.form-input{box-sizing:border-box;width:100%;max-width:100%;min-height:48px;padding:14px 16px;font-size:.9rem}.form-select{padding-right:40px}textarea.form-input{box-sizing:border-box;width:100%;max-width:100%;min-height:100px}.submit-button{box-sizing:border-box;width:100%;max-width:100%;padding:10px 20px;font-size:.9rem}}@media (max-width:600px){.contact-form{box-sizing:border-box;width:100%;max-width:100%;padding:0}.contact-intro{padding:0}.form-input,textarea.form-input,.submit-button{box-sizing:border-box;width:100%;max-width:100%}}@media (max-width:480px){.contact-form{box-sizing:border-box;width:100%;max-width:100%;padding:0}.contact-intro{margin-bottom:24px;padding:0;font-size:.95rem;line-height:1.6}.form-group{box-sizing:border-box;width:100%;margin-bottom:20px}.form-group label{margin-bottom:10px;font-size:.9rem}.form-input{box-sizing:border-box;width:100%;max-width:100%;min-height:48px;padding:14px 16px;font-size:16px}.form-select{padding-right:40px}textarea.form-input{box-sizing:border-box;width:100%;max-width:100%;min-height:100px;padding:14px 16px;font-size:16px}.submit-button{box-sizing:border-box;text-align:center;width:100%;max-width:300px;margin-top:12px;padding:12px 24px;font-size:.9rem}.contact-success{padding:32px 0}.contact-success h2{font-size:1.3rem}.contact-success p{font-size:.95rem}.form-error{box-sizing:border-box;width:100%;margin-bottom:20px;padding:12px 16px;font-size:.85rem}}
.articles-bg{background:var(--portfolio-paper);padding-top:20px;padding-bottom:20px}.articles-category-section.project-detail-section,.articles-substack-section.project-detail-section{box-shadow:none;background:0 0;border:none;padding:0}.articles-substack-section.project-detail-section{text-align:center}.articles-about-section p{margin:0 0 16px}.articles-about-section p:last-child{margin-bottom:24px}.life-stages-section,.articles-about-section{padding-top:10px}.life-stages-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.life-stage-card{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);border-radius:2px;padding:24px 22px}.life-stage-label{color:var(--portfolio-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;font-family:Times New Roman,Times,serif;font-size:1.2rem;font-weight:700;display:block}.life-stage-card p{color:var(--portfolio-ink);margin:0;font-size:1.2rem;font-weight:400;line-height:1.7}.pillars-heading{color:var(--portfolio-ink);margin:0 0 16px;font-family:Times New Roman,Times,serif;font-size:1.4rem}.pillars-intro{color:var(--portfolio-muted);margin:0 0 20px;font-style:italic}.pillars-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.pillar-card{background:var(--portfolio-paper);border:1px solid var(--portfolio-line);text-align:center;border-radius:2px;padding:20px}.pillar-card h4{color:var(--portfolio-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-family:Times New Roman,Times,serif;font-size:1.05rem}.pillar-links{flex-direction:column;gap:8px;margin-top:14px;display:flex}.pillar-links a{color:var(--portfolio-muted);font-family:Times New Roman,Times,serif;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .3s}.pillar-links a:hover{color:var(--portfolio-ink);text-decoration:underline}.articles-category-section .section-intro{color:var(--portfolio-muted);margin-bottom:24px;font-style:italic}.articles-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.articles-list{flex-direction:column;gap:20px;display:flex}.articles-substack-more-link{color:inherit;text-decoration:none}.articles-substack-more-link:hover{text-decoration:underline}.article-card{border:1px solid var(--portfolio-line);background:#fff;border-radius:2px;padding:24px;text-decoration:none;transition:all .3s;display:block}.article-card:hover{box-shadow:none;border-color:var(--portfolio-muted);transform:none}.article-card h3{color:var(--portfolio-ink);margin:0 0 8px;font-family:Times New Roman,Times,serif;font-size:1.7rem}.article-date{color:var(--portfolio-muted);margin:0 0 12px;font-size:.9rem;font-style:italic}.article-excerpt{color:var(--portfolio-ink);margin:0;font-size:.95rem;line-height:1.6}.articles-empty{color:var(--portfolio-muted);opacity:.8;font-style:italic}.articles-substack-section .section-intro{margin-bottom:20px}.articles-substack-embed{border-radius:2px;max-width:600px;margin:0 auto;overflow:hidden}.articles-substack-embed iframe{border-radius:2px;display:block}
body{background-image:none;line-height:1.6}::selection{background:var(--portfolio-line);color:var(--portfolio-ink)}#root :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--portfolio-ink);outline-offset:4px}#root :is(input,select,textarea){accent-color:var(--portfolio-brand)}#root :is(h1,h2,h3,h4){color:var(--editorial-heading);font-weight:400}.home-bg{padding:0}.hero-section-redesign{grid-template-columns:1.08fr 1fr;gap:64px;width:min(1180px,100% - 64px);max-width:none;padding:24px 0 80px}.hero-left-content{gap:24px}.home-headline{letter-spacing:-.045em;max-width:530px;font-size:clamp(48px,5.5vw,76px);line-height:1.04}.home-subtitle{text-transform:uppercase;letter-spacing:2px;order:-1;margin:0;font:11px Arial,sans-serif}.home-bio-list{gap:12px}.home-bio-list li{padding-left:0;font-size:18px;line-height:1.55}.home-bio-list li:before{content:none}.home-btn-row{gap:16px;margin-top:4px}.view-projects-btn,.view-resume-btn,.view-thesis-btn{text-transform:uppercase;letter-spacing:1.5px;border-radius:0;height:48px;font:11px Arial,sans-serif}.hero-image-grid{aspect-ratio:1/1.08;grid-template-rows:1.2fr 1fr;grid-template-columns:1fr 1.2fr;gap:12px;max-width:none}.hero-image-grid .grid-item{min-height:0}.hero-image-grid .grid-item img{border-radius:0}.project-detail-container{width:min(1180px,100% - 64px);max-width:none;padding:56px 0 64px}.project-detail-header{margin-bottom:40px}.project-detail-title-section h1,.projects-header h1,.article-body h1{letter-spacing:-.035em;font-size:clamp(42px,5vw,66px);line-height:1.1}.project-detail-subtitle{max-width:760px;font-size:20px}.main-section,.project-detail-section{border:0;border-top:1px solid var(--portfolio-line);box-shadow:none;background:0 0;border-radius:0;margin-top:32px;margin-bottom:32px;padding:32px 0}.project-detail-container .main-section{max-width:100%}.project-detail-section h2{border-bottom:0;font-size:32px}.project-detail-section p{font-size:18px}.life-stage-card,.pillar-card{border:0;border-top:1px solid var(--portfolio-line);text-align:left;background:0 0;padding:24px 0}.life-stages-grid,.pillars-grid{gap:32px}.life-stage-label,.pillar-card h4,.article-category-eyebrow{letter-spacing:1.5px;font:11px/1.6 Arial,sans-serif}.pillars-heading{font-size:32px}.pillar-links a{font-size:18px}.article-card,.project-card{border:0;border-top:1px solid var(--portfolio-line);background:0 0;border-radius:0;padding:28px 0}.projects-bg .main-section{border-top:0;padding-top:0}.article-card:hover,.project-card:hover{background:var(--portfolio-surface);box-shadow:none}.article-card h3{font-size:30px}.project-card h3{font-size:28px}.article-excerpt,.project-description{font-size:18px}.article-date,.project-subtitle{font-size:16px}.project-year{white-space:nowrap;background:0 0}.project-card-header{gap:16px}.project-thumbnail,.project-thumbnail-wrapper,.project-screenshot,.project-screenshot-contain{border-radius:0}.article-body{max-width:820px;margin-inline:auto}.article-body p,.article-body li{font-size:18px}.article-body h2{font-size:32px}.article-image,.article-building-image{border-radius:0}.bookshelf-outer{padding-inline:0}.bookshelf-table{background:0 0}.bookshelf-table th{background:0 0;font:11px Arial,sans-serif}.bookshelf-table td{border-bottom:1px solid var(--portfolio-line)}.bookshelf-table tr:hover td{background:var(--portfolio-surface)}.books-grid:before,.hero-section:after{display:none}@media (max-width:1000px){.hero-section-redesign{gap:36px}}@media (max-width:760px){.hero-section-redesign{grid-template-columns:1fr;gap:40px;padding-top:40px}.hero-image-grid{width:100%;max-width:540px}.project-card{flex-direction:column}.project-thumbnail{width:100%;min-width:0;max-width:none;height:220px;min-height:220px;max-height:220px}}@media (max-width:600px){.hero-section-redesign,.project-detail-container{width:calc(100% - 36px)}.hero-section-redesign{padding-bottom:48px}.home-headline{font-size:54px}.hero-image-grid{gap:8px}.project-detail-container{padding-top:36px;padding-bottom:32px}.main-section,.project-detail-section{max-width:100%;padding:24px 0}.project-detail-section h2,.pillars-heading{font-size:28px}.article-card h3,.project-card h3{font-size:26px}.life-stages-grid,.pillars-grid{grid-template-columns:1fr;gap:0}.bookshelf-table{max-width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}#root *,#root :before,#root :after{transition:none!important;animation:none!important}}#root{--page-gutter:clamp(20px, 3vw, 48px);width:100%;min-width:0}#root .header-outer{box-sizing:border-box;width:100%;max-width:none;margin-inline:0}#root .top-nav.split-nav{padding-inline:var(--page-gutter)}#root .footer{width:100%;max-width:none;padding-inline:var(--page-gutter);margin-inline:0}#root .home-bg,#root .projects-bg,#root .health-bg,#root .articles-bg{width:100%;padding-inline:0}#root .hero-section-redesign{width:100%;max-width:none;margin-inline:0;padding-inline:0}#root .hero-left-content{min-width:0;padding-left:var(--page-gutter)}#root .hero-image-grid{max-width:none}#root .project-detail-container{width:100%;max-width:none;padding-inline:var(--page-gutter);box-sizing:border-box;margin-inline:0}#root .project-detail-container .main-section{width:100%;max-width:none}@media (max-width:760px){#root .hero-left-content{padding-inline:var(--page-gutter)}}
