@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Google+Sans+Flex:wght@100..900&display=swap";.app{min-height:100vh;background:var(--bg-color);display:flex;flex-direction:column;padding-top:82px;transition:background-color .3s ease}.hero-section{display:flex;flex-direction:row;align-items:center;justify-content:center;min-height:calc(100vh - 82px);padding:2rem;gap:2rem}.hero-title{font-family:var(--font-display);font-size:5rem;font-weight:300;font-style:italic;letter-spacing:.04em;color:var(--text-color);margin:0;line-height:1.15;transition:color .3s ease}.hero-attribution{font-family:var(--font-display);font-size:1.05rem;font-weight:300;color:var(--text-tertiary);margin:.6rem 0 0;letter-spacing:.03em;transition:color .3s ease}@media (max-width: 1024px){.hero-title{font-size:4rem}}@media (max-width: 768px){.hero-section{padding:1.5rem;gap:1rem}.hero-title{font-size:2.6rem}}@media (max-width: 480px){.hero-section{padding:1rem;gap:.75rem}.hero-title{font-size:1.9rem}}.main-header{display:flex;justify-content:space-between;align-items:center;padding:22px 44px;background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:fixed;top:0;left:0;width:100%;box-sizing:border-box;z-index:1000;border-bottom:1px solid var(--border-color);transition:background .3s ease,border-color .3s ease}.header-title{color:var(--text-color);text-decoration:none;display:flex;align-items:center;gap:1rem;transition:opacity .2s}.header-title:hover{opacity:.72}.header-logo{height:46px;width:auto;filter:invert(var(--logo-invert, 0));transition:filter .3s ease}.dark-mode .header-logo{--logo-invert: 1}.logo-text{font-family:var(--font-display);color:var(--text-color);font-size:1.55rem;font-weight:400;font-style:italic;letter-spacing:.06em;white-space:nowrap;transition:color .3s ease}.header-nav{display:flex;gap:0;margin-right:8px}.header-right{display:flex;align-items:center;gap:0}.nav-link{color:var(--text-color);text-decoration:none;font-family:var(--font-body);font-size:.82rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;padding:0 18px;border:1px solid var(--border-color);border-radius:0;transition:all .25s;height:36px;display:flex;align-items:center;gap:.5rem;box-sizing:border-box;background-color:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-link:hover{text-decoration:none;border-color:var(--accent-gold);color:var(--accent-gold);background-color:#c4892a0f}.dark-mode .nav-link:hover{background-color:#d4af3712}.contact-btn svg{width:18px;height:18px}.theme-toggle{background:transparent;border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;padding:8px;height:36px;width:36px;display:flex;align-items:center;justify-content:center;transition:all .25s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-left:8px}.theme-toggle:hover{border-color:var(--accent-gold);color:var(--accent-gold)}.theme-toggle svg{width:18px;height:18px}.hamburger-btn{display:none;flex-direction:column;justify-content:space-around;width:36px;height:36px;background:transparent;border:1px solid var(--border-color);cursor:pointer;padding:8px;z-index:1001;transition:border-color .25s}.hamburger-btn:hover{border-color:var(--accent-gold)}.hamburger-line{width:100%;height:1.5px;background-color:var(--text-color);transition:all .3s ease;transform-origin:center}.hamburger-line.open:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width: 768px){.main-header{padding:22px 20px}.hamburger-btn{display:flex}.header-nav{position:fixed;top:84px;right:-100%;width:100%;height:calc(100vh - 84px);background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-direction:column;padding:24px 20px;transition:right .3s ease,background .3s ease;overflow-y:auto}.header-nav.mobile-open{right:0}.header-right{flex-direction:column;width:100%;gap:0}.nav-link{width:100%;justify-content:center;margin-bottom:0}.header-logo{height:34px}.logo-text{font-size:1.2rem}}.hero-section{position:relative;overflow:hidden}.hero-title-wrapper{position:relative;display:inline-block;z-index:2}.hero-title{position:relative;z-index:2}.sun-orrery{position:absolute;top:50%;left:50%;width:110%;height:110%;transform:translate(-50%,-50%);pointer-events:none;z-index:1}.sun-svg{width:100%;height:100%}.sun-corona-outer{animation:corona-pulse 6s ease-in-out infinite}@keyframes corona-pulse{0%,to{opacity:.7}50%{opacity:1}}.sun-disc,.sun-disc-glow{transform-origin:300px 300px;animation:disc-breathe 5s ease-in-out infinite}@keyframes disc-breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.04);opacity:.9}}.sun-inner{transform-origin:291px 291px;animation:inner-pulse 4.5s ease-in-out infinite reverse}@keyframes inner-pulse{0%,to{opacity:.48;transform:scale(1)}50%{opacity:.68;transform:scale(1.1)}}.sun-rays{transform-origin:300px 300px;animation:rays-rotate 130s linear infinite}@keyframes rays-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.satellite-1{transform-origin:300px 300px;animation:satellite-orbit-1 24s linear infinite}@keyframes satellite-orbit-1{0%{transform:rotate(-20deg)}to{transform:rotate(340deg)}}.planet-mercury{transform-origin:300px 300px;animation:planet-orbit-mercury 14s linear infinite}@keyframes planet-orbit-mercury{0%{transform:rotate(160deg)}to{transform:rotate(520deg)}}.planet-venus{transform-origin:300px 300px;animation:planet-orbit-venus 38s linear infinite}@keyframes planet-orbit-venus{0%{transform:rotate(80deg)}to{transform:rotate(440deg)}}.planet-mars{transform-origin:300px 300px;animation:planet-orbit-mars 54s linear infinite}@keyframes planet-orbit-mars{0%{transform:rotate(220deg)}to{transform:rotate(580deg)}}.planet-jupiter{transform-origin:300px 300px;animation:planet-orbit-jupiter 82s linear infinite}@keyframes planet-orbit-jupiter{0%{transform:rotate(-38deg)}to{transform:rotate(322deg)}}@media (max-width: 768px){.sun-orrery{width:145%;height:145%}}@media (max-width: 480px){.sun-orrery{width:175%;height:175%}}.profile-content{padding:4rem 2rem;max-width:1200px;margin:0 auto}.profile-title{font-family:var(--font-display);font-size:3.5rem;font-weight:400;font-style:italic;letter-spacing:.03em;margin:0 0 .5rem;color:var(--text-color);transition:color .3s ease}.profile-subtitle{font-size:1.25rem;color:var(--text-tertiary);margin-bottom:3rem;transition:color .3s ease}.profile-container{display:flex;flex-direction:column;gap:3rem}.profile-section{background:var(--card-bg);border-radius:0;padding:2rem;box-shadow:0 2px 8px var(--card-shadow);transition:box-shadow .3s ease,background .3s ease,border-color .3s ease;border:1px solid var(--border-color)}.profile-section:hover{box-shadow:0 4px 16px var(--card-shadow-hover)}.section-title{font-family:var(--font-display);color:var(--text-color);font-size:2rem;font-weight:400;font-style:italic;letter-spacing:.03em;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);transition:color .3s ease,border-color .3s ease}.section-content{display:flex;flex-direction:column;gap:1.25rem}.entry{padding:1.25rem;background:var(--card-bg);border-radius:0;border:1px solid var(--border-color);transition:all .2s ease}.entry-with-logo{display:flex;align-items:center;gap:1.5rem}.entry-logo{width:60px;height:60px;object-fit:contain;flex-shrink:0;filter:invert(var(--logo-invert, 0));transition:filter .3s ease}.dark-mode .entry-logo{--logo-invert: 1}.entry-content{flex:1}.entry:hover{background:var(--header-bg);border-left-color:var(--border-color-hover)}.entry.compact{padding:1rem}.entry-title{color:var(--text-color);font-size:1.125rem;font-weight:400;margin:0 0 .5rem;transition:color .3s ease}.entry-subtitle{color:var(--text-tertiary);font-size:.95rem;font-weight:400;margin:0 0 .25rem;transition:color .3s ease}.entry-date{color:var(--text-tertiary);font-size:.875rem;font-weight:400;margin:0 0 .5rem;transition:color .3s ease}.entry-description{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:.5rem 0 0;transition:color .3s ease}.entry-list{list-style:none;padding:0;margin:.75rem 0 0}.entry-list li{color:var(--text-secondary);font-size:.95rem;padding:.25rem 0 .25rem 1.5rem;position:relative;transition:color .3s ease}.entry-list li:before{content:"—";color:var(--accent-gold);font-weight:400;position:absolute;left:.5rem;transition:color .3s ease}@media (max-width: 768px){.profile-content{padding:2rem 1rem}.profile-title{font-size:2rem}.profile-subtitle{font-size:1rem}.profile-section{padding:1.5rem}.section-title{font-size:1.5rem}}.publications-content{padding:4rem 2rem;max-width:1200px;margin:0 auto}.publications-title{font-family:var(--font-display);font-size:3.5rem;font-weight:400;font-style:italic;letter-spacing:.03em;margin:0 0 .5rem;color:var(--text-color);transition:color .3s ease}.publications-subtitle{font-size:1.25rem;color:var(--text-tertiary);margin-bottom:3rem;transition:color .3s ease}.publications-container{display:flex;flex-direction:column;gap:2rem}.publication-card{background:var(--card-bg);padding:2rem;box-shadow:0 2px 8px var(--card-shadow);transition:box-shadow .3s ease,background .3s ease,border-color .3s ease;border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:2rem}.publication-content{flex:1}.publication-card:hover{box-shadow:0 4px 16px var(--card-shadow-hover)}.publication-title{color:var(--text-color);font-size:1.5rem;font-weight:400;margin:0 0 1rem;line-height:1.4;transition:color .3s ease}.publication-link{color:var(--link-color);font-size:1rem;font-weight:400;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s ease}.publication-link:hover{color:var(--link-hover);text-decoration:underline}.publication-logo{width:80px;height:80px;object-fit:contain;flex-shrink:0}.publication-poster-btn{background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-body)}.poster-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem;animation:poster-fade .2s ease}@keyframes poster-fade{0%{opacity:0}to{opacity:1}}.poster-img{max-width:90vw;max-height:90vh;object-fit:contain;box-shadow:0 8px 40px #0009;animation:poster-scale .2s ease}@keyframes poster-scale{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.poster-close{position:fixed;top:1.25rem;right:1.5rem;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.1rem;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s ease,background .2s ease}.poster-close:hover{background:#ffffff1a;border-color:#fff9}@media (max-width: 768px){.publications-content{padding:2rem 1rem}.publications-title{font-size:2rem}.publications-subtitle{font-size:1rem}.publication-card{padding:1.5rem}.publication-title{font-size:1.25rem}}.projects-content{padding:4rem 2rem;max-width:1200px;margin:0 auto}.projects-title{font-family:var(--font-display);font-size:3.5rem;font-weight:400;font-style:italic;letter-spacing:.03em;margin:0 0 .5rem;color:var(--text-color);transition:color .3s ease}.projects-subtitle{font-size:1.25rem;color:var(--text-tertiary);margin-bottom:3rem;transition:color .3s ease}.projects-container{display:flex;flex-direction:column;gap:2rem}.project-card{background:var(--card-bg);padding:2rem;box-shadow:0 2px 8px var(--card-shadow);transition:box-shadow .3s ease,background .3s ease,border-color .3s ease;border:1px solid var(--border-color);display:flex;flex-direction:column}.project-card:hover{box-shadow:0 4px 16px var(--card-shadow-hover)}.project-title{font-family:var(--font-display);color:var(--text-color);font-size:1.7rem;font-weight:400;font-style:italic;letter-spacing:.02em;margin:0 0 1rem;transition:color .3s ease}.project-description{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0;transition:color .3s ease}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg);border:1px solid var(--border-color);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;box-shadow:0 10px 40px #0000004d}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10;width:36px;height:36px}.modal-close:hover{background:var(--header-bg);border-color:var(--border-color-hover)}.modal-body{padding:3rem}.modal-title{font-family:var(--font-display);color:var(--text-color);font-size:2.2rem;font-weight:400;font-style:italic;letter-spacing:.03em;margin:0 0 2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color);transition:color .3s ease,border-color .3s ease}.modal-entry{color:var(--text-secondary);font-size:1rem;line-height:1.8;transition:color .3s ease}.modal-entry p{margin:0 0 1.5rem}.modal-entry h1,.modal-entry h2,.modal-entry h3,.modal-entry h4{color:var(--text-color);font-weight:400;margin:2rem 0 1rem;transition:color .3s ease}.modal-entry h1{font-size:2rem;border-bottom:2px solid var(--border-color);padding-bottom:.5rem}.modal-entry h2{font-size:1.75rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.modal-entry h3{font-size:1.5rem}.modal-entry h4{font-size:1.25rem}.modal-entry ul,.modal-entry ol{margin:1rem 0;padding-left:2rem}.modal-entry li{margin:.5rem 0}.modal-entry code{background:var(--header-bg);padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.modal-entry pre{background:var(--header-bg);padding:1rem;border-radius:5px;overflow-x:auto;margin:1rem 0}.modal-entry pre code{background:transparent;padding:0}.modal-entry blockquote{border-left:4px solid var(--border-color);padding-left:1rem;margin:1rem 0;color:var(--text-tertiary);font-style:italic}.modal-entry hr{border:none;border-top:2px solid var(--border-color);margin:2rem 0}.modal-entry table{width:100%;border-collapse:collapse;margin:1rem 0}.modal-entry th,.modal-entry td{border:1px solid var(--border-color);padding:.5rem;text-align:left}.modal-entry th{background:var(--header-bg);font-weight:400;color:var(--text-color)}.modal-entry a{color:var(--link-color);text-decoration:underline;transition:color .2s ease}.modal-entry a:hover{color:var(--link-hover)}.modal-figure{margin:2rem 0;text-align:center}.modal-figure img{max-width:100%;height:auto;border:1px solid var(--border-color);border-radius:5px;box-shadow:0 2px 8px var(--card-shadow)}.modal-figcaption{margin-top:.5rem;font-size:.9rem;color:var(--text-tertiary);font-style:italic;text-align:center}.modal-video-container{margin:2rem 0;position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border:1px solid var(--border-color);border-radius:5px}.modal-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}@media (max-width: 768px){.projects-content{padding:2rem 1rem}.projects-title{font-size:2rem}.projects-subtitle{font-size:1rem}.project-card{padding:1.5rem}.project-title{font-size:1.25rem}.modal-overlay{padding:1rem}.modal-content{max-height:95vh}.modal-body{padding:2rem 1.5rem}.modal-title{font-size:1.5rem;padding-right:3rem}.modal-close{top:.75rem;right:.75rem}}.project-detail-page{min-height:calc(100vh - 82px);background:var(--bg-color);transition:background-color .3s ease;padding-top:1rem}.project-detail-header{position:sticky;top:82px;background:var(--header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:1rem 2rem;margin:0;z-index:100;transition:background .3s ease,border-color .3s ease;display:flex;align-items:center}.back-button{display:flex;align-items:center;gap:.5rem;background:var(--header-bg);border:1px solid var(--border-color);color:var(--text-color);padding:.75rem 1.5rem;cursor:pointer;font-size:1rem;font-weight:400;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button:hover{background:var(--header-bg-hover);border-color:var(--border-color-hover)}.back-button svg{width:20px;height:20px}.project-detail-container{max-width:1200px;margin:0 auto;padding:3rem 2rem}.project-detail-content{color:var(--text-secondary);font-size:1.1rem;line-height:1.8;transition:color .3s ease}.project-detail-content p{margin:0 0 1.5rem}.project-detail-content h1,.project-detail-content h2,.project-detail-content h3,.project-detail-content h4{color:var(--text-color);font-weight:400;margin:3rem 0 1.5rem;transition:color .3s ease,border-color .3s ease}.project-detail-content h1{font-size:3rem;border-bottom:3px solid var(--border-color);padding-bottom:1rem;margin-top:0}.project-detail-content h2{font-size:2.25rem;border-bottom:2px solid var(--border-color);padding-bottom:.75rem}.project-detail-content h3{font-size:1.75rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.project-detail-content h4{font-size:1.5rem}.project-detail-content ul,.project-detail-content ol{margin:1.5rem 0;padding-left:2.5rem}.project-detail-content li{margin:.75rem 0}.project-detail-content code{background:var(--header-bg);padding:.2rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-size:.95em;border:1px solid var(--border-color)}.project-detail-content pre{background:var(--header-bg);padding:1.5rem;border-radius:8px;overflow-x:auto;margin:2rem 0;border:1px solid var(--border-color)}.project-detail-content pre code{background:transparent;padding:0;border:none}.project-detail-content blockquote{border-left:4px solid var(--border-color);padding-left:1.5rem;margin:2rem 0;color:var(--text-tertiary);font-style:italic}.project-detail-content hr{border:none;border-top:2px solid var(--border-color);margin:3rem 0}.project-detail-content table{width:100%;border-collapse:collapse;margin:2rem 0}.project-detail-content th,.project-detail-content td{border:1px solid var(--border-color);padding:.75rem;text-align:left}.project-detail-content th{background:var(--header-bg);font-weight:400;color:var(--text-color)}.project-detail-content a{color:var(--link-color);text-decoration:underline;transition:color .2s ease}.project-detail-content a:hover{color:var(--link-hover)}.project-figure{margin:3rem 0;text-align:center}.project-figure img{max-width:100%;height:auto;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px var(--card-shadow)}.project-figcaption{margin-top:1rem;font-size:1rem;color:var(--text-tertiary);font-style:italic;text-align:center}.project-video-container{margin:3rem 0;position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px var(--card-shadow)}.project-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.mermaid-container{margin:2rem 0;text-align:center;overflow-x:auto}.mermaid{background:var(--card-bg);padding:2rem;border-radius:8px;border:1px solid var(--border-color);box-shadow:0 2px 8px var(--card-shadow);min-height:200px;display:flex;align-items:center;justify-content:center}.mermaid-svg-wrapper{width:100%;display:flex;justify-content:center}.mermaid svg{max-width:100%;height:auto}@media (max-width: 768px){.project-detail-header{padding:1rem}.back-button{padding:.5rem 1rem;font-size:.9rem}.project-detail-container{padding:2rem 1rem}.project-detail-content{font-size:1rem}.project-detail-content h1{font-size:2rem}.project-detail-content h2{font-size:1.75rem}.project-detail-content h3{font-size:1.5rem}.project-detail-content h4{font-size:1.25rem}.project-video-container{padding-bottom:56.25%}}@media (max-width: 480px){.project-detail-content h1{font-size:1.75rem}.project-detail-content h2{font-size:1.5rem}.project-detail-content h3{font-size:1.25rem}}.airesearch-content{padding:4rem 2rem;max-width:1200px;margin:0 auto}.airesearch-title{font-family:var(--font-display);font-size:3.5rem;font-weight:400;font-style:italic;letter-spacing:.03em;margin:0 0 .5rem;color:var(--text-color);transition:color .3s ease}.airesearch-subtitle{font-size:1.25rem;color:var(--text-tertiary);margin-bottom:3rem;transition:color .3s ease}.airesearch-container{display:flex;flex-direction:column;gap:1.25rem}.airesearch-card{background:var(--card-bg);padding:1.75rem 2rem;border:1px solid var(--border-color);box-shadow:0 2px 8px var(--card-shadow);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:2rem;transition:box-shadow .2s ease,background .3s ease,border-color .3s ease}.airesearch-card:hover{box-shadow:0 4px 16px var(--card-shadow-hover)}.airesearch-card-body{flex:1}.airesearch-card-title{color:var(--text-color);font-size:1.4rem;font-weight:400;margin:0 0 .4rem;line-height:1.4;transition:color .3s ease}.airesearch-card-liner{color:var(--text-tertiary);font-size:.95rem;line-height:1.5;margin:0;transition:color .3s ease}.airesearch-arrow{color:var(--text-tertiary);font-size:1.25rem;flex-shrink:0;transition:color .2s ease,transform .2s ease}.airesearch-card:hover .airesearch-arrow{color:var(--link-color);transform:translate(4px)}@media (max-width: 768px){.airesearch-content{padding:2rem 1rem}.airesearch-title{font-size:2rem}.airesearch-subtitle{font-size:1rem}.airesearch-card{padding:1.25rem 1.5rem}.airesearch-card-title{font-size:1.15rem}}.contact-content{padding:4rem 2rem;max-width:1200px;margin:0 auto}.contact-title{font-family:var(--font-display);font-size:3.5rem;font-weight:400;font-style:italic;letter-spacing:.03em;margin:0 0 .5rem;color:var(--text-color);transition:color .3s ease}.contact-subtitle{font-size:1.25rem;color:var(--text-tertiary);margin-bottom:3rem;transition:color .3s ease}.contact-container{display:flex;flex-direction:row;gap:2rem;flex-wrap:wrap}.contact-card{background:var(--card-bg);padding:2rem;box-shadow:0 2px 8px var(--card-shadow);transition:box-shadow .3s ease,background .3s ease,border-color .3s ease;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem;flex:1;min-width:280px}.contact-card:hover{box-shadow:0 4px 16px var(--card-shadow-hover)}.contact-method-title{color:var(--text-color);font-size:1.5rem;font-weight:400;margin:0;transition:color .3s ease}.contact-link{color:var(--link-color);font-size:1.1rem;font-weight:400;text-decoration:none;transition:color .2s ease;word-break:break-all}.contact-link:hover{color:var(--link-hover);text-decoration:underline}@media (max-width: 768px){.contact-content{padding:2rem 1rem}.contact-title{font-size:2rem}.contact-subtitle{font-size:1rem}.contact-card{padding:1.5rem}.contact-method-title{font-size:1.25rem}.contact-link{font-size:1rem}}.footer{background:var(--footer-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border-color);padding:.6rem 0;margin-top:auto;overflow:hidden;white-space:nowrap;transition:background .3s ease,border-color .3s ease}.footer-marquee{display:flex;width:100%;overflow:hidden;position:relative}.footer-marquee-wrapper{display:flex;gap:3rem;animation:scroll-left 35s linear infinite;will-change:transform}.footer-marquee-content{display:flex;align-items:center;gap:3rem;flex-shrink:0}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}.footer-logo{height:38px;width:auto;flex-shrink:0;margin:0;padding:0;filter:invert(var(--logo-invert, 0));transition:filter .3s ease}.dark-mode .footer-logo{--logo-invert: 1}.footer-title{font-family:var(--font-display);font-size:1.25rem;font-weight:400;font-style:italic;letter-spacing:.1em;color:var(--accent-gold);margin:0;padding:0;white-space:nowrap;flex-shrink:0;transition:color .3s ease}@media (max-width: 768px){.footer-logo{height:30px}.footer-title{font-size:1.05rem}.footer-marquee-content,.footer-marquee-wrapper{gap:2.5rem}}@media (max-width: 480px){.footer-logo{height:24px}.footer-title{font-size:.9rem}.footer-marquee-content,.footer-marquee-wrapper{gap:2rem}}:root{--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Google Sans Flex", sans-serif;--bg-color: #FDFAF4;--text-color: #1A1208;--text-secondary: #2D1F0A;--text-tertiary: #8B6914;--border-color: rgba(196, 137, 42, .2);--border-color-hover: rgba(196, 137, 42, .5);--header-bg: rgba(253, 250, 244, .88);--header-bg-hover: rgba(253, 250, 244, .96);--footer-bg: rgba(253, 250, 244, .88);--card-bg: #F6F0E4;--card-shadow: rgba(196, 137, 42, .08);--card-shadow-hover: rgba(196, 137, 42, .18);--link-color: #8B6914;--link-hover: #C4892A;--accent-gold: #C4892A;--accent-gold-light: #E8C547}.dark-mode{--bg-color: #07091A;--text-color: #EDE3C8;--text-secondary: #E0D4B0;--text-tertiary: #C4A055;--border-color: rgba(212, 175, 55, .2);--border-color-hover: rgba(212, 175, 55, .48);--header-bg: rgba(7, 9, 26, .9);--header-bg-hover: rgba(7, 9, 26, .97);--footer-bg: rgba(7, 9, 26, .9);--card-bg: #0D1028;--card-shadow: rgba(212, 175, 55, .07);--card-shadow-hover: rgba(212, 175, 55, .15);--link-color: #D4AF37;--link-hover: #F0D060;--accent-gold: #D4AF37;--accent-gold-light: #F0D060}*{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s ease,color .3s ease}#root{width:100%;min-height:100vh}
