:root{--primary-color: #006d77;--primary-light: #83c5be;--primary-dark: #004c54;--accent-color: #e29578;--text-color: #2b2b2b;--text-light: #fafafa;--background-color: #fafafa;--card-background: #ffffff;--section-padding: 4rem 1rem;--shadow-soft: 0 .25rem .375rem rgba(0, 0, 0, .1);--shadow-medium: 0 .375rem .75rem rgba(0, 0, 0, .15);--nav-strip-width: 2rem;--content-margin: 4rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}15%,85%{transform:translate(-50%) translateY(.5rem)}50%{transform:translate(-50%) translateY(.5rem)}}@keyframes bounce-up{0%,to{transform:translate(-50%) translateY(0)}15%,85%{transform:translate(-50%) translateY(-.5rem)}50%{transform:translate(-50%) translateY(-.5rem)}}@keyframes float{0%{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-1rem)}to{transform:translate(-50%) translateY(0)}}.section{width:100%;min-height:100vh;padding:var(--section-padding);display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;scroll-snap-align:start;scroll-snap-stop:always}.section>*{animation:fadeIn 1s ease-out}.section-content{width:100%;min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4rem 0;padding-left:calc(var(--nav-strip-width) + var(--content-margin));padding-right:calc(var(--nav-strip-width) + var(--content-margin))}@media (max-width: 900px){.section-content{padding-right:1rem}}.section-nav-area{position:absolute;bottom:0;left:0;width:100%;height:25vh;cursor:pointer;display:flex;justify-content:center;align-items:flex-end;padding-bottom:2rem;z-index:10}.section-nav-area:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:0;background:linear-gradient(to bottom,transparent,rgba(0,109,119,.1));opacity:0;transition:opacity .3s ease,height .3s ease;pointer-events:none}.section-nav-area:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:0;background-color:var(--primary-color);transition:height .3s ease;pointer-events:none}.section-nav-area:hover:before{opacity:1;height:100%}.section-nav-area:hover:after{height:.5rem}.section-nav-area.top{top:0;bottom:unset;height:25vh;align-items:flex-start;padding-top:2rem}.section-nav-area.top:before{top:0;bottom:unset;background:linear-gradient(to top,transparent,rgba(0,109,119,.1))}.section-nav-area.top:after{top:0;bottom:unset}.section-nav-area.top:hover .section-nav{animation:bounce-up .8s cubic-bezier(.4,0,.2,1) infinite;animation-play-state:paused;transform:translate(-50%) translateY(0)}.section-nav-area.top .section-nav{top:2rem;bottom:unset}.section-nav{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);cursor:pointer;opacity:.7;transition:all .3s ease;animation:float 3s ease-in-out infinite;color:var(--primary-color);font-size:2rem;pointer-events:auto;z-index:11;-webkit-user-select:none;user-select:none;padding:1rem}.section-nav-area:hover .section-nav{opacity:1;animation:bounce .8s cubic-bezier(.4,0,.2,1) infinite;animation-play-state:paused;transform:translate(-50%) translateY(0)}.section-nav-area{-webkit-user-select:none;user-select:none}@media (max-width: 900px){.section-content{padding-left:calc(var(--nav-strip-width) + 1rem)}}@media (max-width: 768px){.section-content{padding-left:calc(var(--nav-strip-width) + 1rem)}.skills-grid,.experience-list,.education-list{padding:0 1rem}}@media (max-width: 600px){.experience-item,.education-item{flex-direction:column;text-align:left}.experience-item img,.education-item img{margin:0 0 1.5rem}}@media (max-width: 480px){:root{--content-margin: 1rem}.section-content{padding-right:0;padding-left:calc(var(--nav-strip-width) + var(--content-margin))}#landing>.section-content{padding-top:0}#landing>.section-content>.profile-container>.subtitle{margin-top:2rem}.skills-grid,.experience-list,.education-list{max-width:none!important;padding:0 .5rem!important;margin:2rem 0rem!important}.skill-card,.experience-item,.education-item{padding:1rem}}.landing{background:linear-gradient(#004d54cc,#004d54e6);background-size:cover;background-position:center;color:var(--text-light);text-align:center;width:100%}.landing .section-nav-area:after{background-color:var(--text-light)}.landing .section-nav{color:var(--text-light)}.profile-container{width:100%;max-width:800px;margin:0 auto;padding:0 2rem;z-index:1}.profile-container .subtitle{font-size:1.7em;font-family:Roboto,sans-serif;font-weight:500;letter-spacing:.15em;color:#233;margin-top:2.5em;margin-bottom:0;word-spacing:.2em;white-space:normal}@media (max-width: 768px){.profile-container .subtitle{word-spacing:normal;white-space:pre-line;display:block;width:fit-content;width:-moz-fit-content;max-width:max-content;margin-left:auto;margin-right:auto;text-align:center}}.profile-image{width:200px;height:200px;border-radius:50%;margin-bottom:2rem;border:4px solid var(--primary-light);box-shadow:var(--shadow-medium)}#landing{position:relative}.section-background{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;opacity:.15;z-index:0}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(450px,100%),1fr));gap:1.5rem;width:100%;max-width:min(1800px,100% - 4rem);margin:2rem auto;padding:0 2rem;box-sizing:border-box}.skill-card{background:var(--card-background);padding:1.25rem;border-radius:.75rem;box-shadow:var(--shadow-soft);transition:all .3s ease;border:.0625rem solid rgba(0,109,119,.1);display:flex;gap:1.25rem;align-items:stretch;width:100%;box-sizing:border-box;overflow:hidden}.skill-card:hover{box-shadow:var(--shadow-medium);border-color:var(--primary-light)}.skill-image{width:5rem;height:100%;object-fit:cover;border-radius:.5rem;flex-shrink:0}.skill-content{flex:1;display:flex;gap:1.5rem;position:relative}.skill-content h3{color:var(--primary-color);margin-bottom:.75rem}.skill-main{flex:1}.tech-list{width:8.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;color:#fffffff2;text-align:right;flex-shrink:0;display:flex;flex-direction:column;gap:.25rem;position:relative;z-index:1;padding:.5rem .75rem;margin-right:-1rem}.tech-list:before{content:"";position:absolute;top:-1.25rem;bottom:-1.25rem;right:-1.25rem;width:10rem;background-color:var(--primary-color);opacity:.95;z-index:-1;border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}@media (max-width: 1400px){.skills-grid{max-width:min(1200px,100% - 4rem)}}@media (max-width: 900px){.skills-grid{max-width:100%}}@media (max-width: 768px){.skills-grid{max-width:100%}}@media (max-width: 600px){.skill-content{flex-direction:column;gap:1rem}.tech-list{width:100%;text-align:left;padding:.75rem 1rem;margin-right:0;color:var(--primary-color);border:.0625rem solid var(--primary-color);border-radius:.5rem;flex-direction:row;flex-wrap:wrap;gap:0;line-height:1.4}.tech-list span{display:inline;white-space:nowrap}.tech-list span:not(:last-child):after{content:"·";margin:0 .4rem;color:var(--primary-color);font-weight:700}.tech-list:before{display:none}.skill-card{flex-direction:column}.skill-image{width:100%;height:7.5rem;margin-bottom:1rem}}.experience-list{width:100%;max-width:min(1200px,100% - 2rem);margin:2rem auto;padding:0 2rem;display:flex;flex-direction:column;gap:2rem}.experience-item{display:flex;gap:2rem;padding:2rem;background-color:var(--card-background);border-radius:.5rem;box-shadow:var(--shadow-soft);transition:box-shadow .3s ease,border-color .3s ease;border:.0625rem solid rgba(0,0,0,0);position:relative}.experience-item:hover{box-shadow:var(--shadow-medium);border-color:var(--primary-light)}.experience-item img.logo-image{width:120px;height:120px;object-fit:scale-down;border-radius:.5rem;order:0}.left-images{display:flex;flex-direction:column;gap:1rem}.left-images img{background-color:#eaeaea}.preview-image{width:120px;height:120px;object-fit:cover;border-radius:.5rem}.preview-image-right{order:3;margin-left:2rem;display:none;top:2rem;right:2rem;bottom:2rem;width:120px}.preview-image-right .preview-image{width:100%;height:100%;object-fit:cover;border-radius:.5rem}.experience-details{flex:1}.experience-details h3{color:var(--primary-color);margin-bottom:.5rem}.experience-details .company{font-size:1.1rem;color:var(--text-color);font-weight:500;margin-bottom:.25rem}.experience-details .period{font-size:.9rem;color:#666;margin-bottom:1rem;font-style:italic}.experience-details p:not(.company):not(.period){margin-bottom:1rem;line-height:1.6}@media (min-width: 70rem){.experience-item{flex-direction:row;position:relative}.left-images .preview-image{display:none}.preview-image-right{display:block;margin-left:2rem}}.education-list{width:100%;max-width:min(1200px,100% - 2rem);margin:2rem auto;padding:0 2rem;display:flex;flex-direction:column;gap:2rem}.education-item{display:flex;gap:2rem;padding:2rem;background-color:var(--card-background);border-radius:.5rem;box-shadow:var(--shadow-soft);transition:box-shadow .3s ease,border-color .3s ease;border:.0625rem solid rgba(0,0,0,0)}.education-item:hover{box-shadow:var(--shadow-medium);border-color:var(--primary-light)}.education-item img{width:120px;height:120px;object-fit:cover;border-radius:.5rem}.education-details{flex:1}.education-details h3{margin:0 0 .25rem;font-size:1.1rem}.education-details .degree{font-weight:500;color:#666;margin:0 0 .25rem}.education-details .period{font-size:.9rem;color:#888;margin:0 0 .5rem}.education-details p{margin:0;font-size:.95rem;line-height:1.4}.navigation-strip{position:fixed;left:2rem;top:0;bottom:0;width:var(--nav-strip-width);height:100%;display:flex;align-items:center;z-index:100;pointer-events:none}.navigation-strip .nav-line{position:absolute;left:0;top:10vh;height:80vh;width:1px;opacity:.5}.navigation-strip .nav-indicator{position:absolute;left:-2px;width:5px;height:3rem;border-radius:2.5px;transition:top .3s cubic-bezier(.4,0,.2,1);transform:translateY(-50%)}.navigation-strip .nav-labels{position:absolute;top:0;bottom:0;left:1rem;height:100%;display:flex;flex-direction:column;justify-content:space-between;pointer-events:auto}.nav-label{position:absolute;transform:translateY(-50%);text-decoration:none;font-size:.8rem;font-weight:500;opacity:.7;transition:opacity .3s ease;white-space:nowrap;cursor:pointer;padding:.5rem;margin-left:.5rem;-webkit-user-select:none;user-select:none;pointer-events:auto}.nav-label:before{content:"";position:absolute;top:50%;left:-2rem;transform:translateY(-50%);width:calc(3rem + var(--nav-strip-width));height:4rem;z-index:-1}.nav-label:hover,.nav-label.active{opacity:1}.navigation-strip.light .nav-line,.navigation-strip.light .nav-indicator{background-color:var(--text-light)}.navigation-strip.light .nav-label{color:var(--text-light)}.navigation-strip.dark .nav-line,.navigation-strip.dark .nav-indicator{background-color:var(--primary-color)}.navigation-strip.dark .nav-label{color:var(--primary-color)}@media (max-width: 480px){:root{--content-margin: 1rem}}@media (max-width: 768px){:root{--nav-strip-width: 1rem}.navigation-strip{left:1rem!important}.navigation-strip .nav-line{top:0vh;height:100vh}.navigation-strip .nav-labels{left:.1rem!important;top:0vh;height:100vh}.nav-label{writing-mode:vertical-rl;transform:rotate(180deg) translateY(50%)!important;margin-left:.1rem!important;padding:.75rem .15rem;font-size:.7rem;font-weight:600}.nav-label:before{left:-.15rem!important;width:.75rem!important;height:3rem}.navigation-strip .nav-indicator{left:-2px!important;width:5px;height:3rem}}@media (max-width: 900px){:root{--nav-strip-width: 1rem}.navigation-strip{left:1rem!important}.navigation-strip .nav-line{top:0vh;height:100vh}.navigation-strip .nav-labels{left:.1rem!important;top:0vh;height:100vh}.nav-label{writing-mode:vertical-rl;transform:rotate(180deg) translateY(50%)!important;margin-left:.1rem!important;padding:.75rem .15rem;font-size:.7rem;font-weight:600}.nav-label:before{left:-.15rem!important;width:.75rem!important;height:3rem}.navigation-strip .nav-indicator{left:-2px!important;width:5px;height:3rem}}.footer-link{color:#fff;text-decoration:none;transition:color .3s ease}.footer-link:hover{color:#0dd}.footer{background:var(--primary-dark);color:var(--text-light);padding:3rem 2rem;text-align:center;width:100%}.contact-icon-link{display:inline-flex;align-items:center;gap:.5em}.contact-icon{vertical-align:middle}.contact-info{margin-bottom:1.5rem}.contact-info h2{margin-top:0;margin-bottom:1rem;color:#eaeaea}.contact-info p{margin-bottom:.5rem}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}html,body{width:100%;margin:0;padding:0;overflow-x:hidden;background-color:var(--background-color)}body{font-family:Trebuchet MS,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6;color:var(--text-color)}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;background-image:radial-gradient(circle at 85% 85%,rgba(220,220,220,.6) 1.5%,transparent 1.5%);background-size:6rem 6rem}.app{width:100vw;min-height:100vh;min-width:26rem;overflow-x:auto;position:relative;scroll-snap-type:y mandatory;overflow-y:scroll;scroll-behavior:smooth;scroll-timeline:--page-scroll block}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:700;color:#222}h3,h4,h5,h6{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:700;color:#333}h1{font-size:3.5rem;margin-bottom:1rem}h2{font-size:2.5rem;margin-bottom:2rem;text-align:center;color:var(--primary-color)}h3{font-size:1.5rem;margin-bottom:1rem}@media (max-width: 768px){h1{font-size:2.5rem}h2{font-size:2rem}}
