.back-to-top-mobile{height:28px;width:100%;display:none;align-items:center;justify-content:center;background:var(--accent-strong);color:#0b1222;font-weight:700;text-decoration:none;margin:0;padding:0;scroll-snap-align:end}@media(max-width:916px){.back-to-top-mobile{display:inline-flex}}:root{--nav-height: 56px;--accent: #F6AE2D;--accent-strong: #F26419;--surface: #ffffff;--ink: #0f172a}html,body{margin:0;padding:0;height:100%;scroll-behavior:smooth;scroll-snap-type:y proximity;scroll-padding-top:0;scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}body{font-family:Perpetua,Baskerville,Big Caslon,Palatino Linotype,Palatino,URW Palladio L,Nimbus Roman No9 L,serif;color:var(--ink);overflow-y:scroll;background:linear-gradient(180deg,#0b1222,#0a0f1b,#0b1222)}canvas{position:fixed;top:0;left:0;z-index:-1;width:100%}#landingPage{flex-direction:row;align-items:center;gap:40px}#greetingLabels{padding:0;width:60%}#greetingLabels h1{color:var(--accent);font-size:16vh;margin:0}h2{color:var(--accent);font-size:8vh;margin:0;width:100%}.scroll-arrow{position:absolute;bottom:40px;left:50%;transform:translate(-50%);width:32px;height:32px;color:var(--accent);cursor:pointer;animation:bounce 2s infinite;opacity:1!important;transition:opacity .3s ease;z-index:10;display:block!important}.scroll-arrow.hidden{opacity:0;pointer-events:none}.scroll-arrow svg{width:100%;height:100%}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}#headshot{height:42vh;border-radius:50%;margin:0;max-width:50vw}.left-about,.right-about{display:none}.about-col{display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center}.about-photo-col,.about-middle-col,.about-timeline-col{align-items:center;justify-content:center}.aboutMe{display:grid;grid-template-columns:1fr 1fr 1fr;background:linear-gradient(145deg,#141c32d9,#0f172ae6);border:1px solid rgba(246,174,45,.25);width:100%;border-radius:18px;margin:auto;padding:28px;box-sizing:border-box;gap:24px;position:relative;overflow:auto;flex:1}.aboutContainer{border:solid 1px transparent;width:100%;background:transparent;border-radius:20px;padding:12px;max-height:100vh;overflow:hidden;display:flex;flex-direction:column;gap:12px}.left-top-about,.left-bottom-about{height:auto}.about-photo{width:100%;max-width:320px;max-height:320px;border-radius:22px;object-fit:cover;position:relative;z-index:1}.about-tagline{font-weight:600;line-height:1.4;color:#e2e8f0}.section{min-height:100vh;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;justify-content:center;gap:36px;padding:calc(var(--nav-height) + 12px) 7% 7%;box-sizing:border-box;position:relative}.section.projects{padding-bottom:0}.project-content{display:flex;flex-direction:column}.about-photo-wrap{position:relative;display:inline-block;max-width:340px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:12px}.about-photo-outline{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:26px;border:3px solid var(--accent);pointer-events:none;z-index:0}.about-name{margin:10px 0 0;text-align:center;font-weight:700;color:#e2e8f0}.cta-row{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;font-weight:700;text-decoration:none;border:2px solid transparent;transition:transform .12s ease,background-color .16s ease,color .16s ease,border-color .16s ease;min-width:150px}.btn.primary{background:var(--accent-strong);color:#0b1222}.btn.primary:hover{transform:translateY(-1px);background:var(--accent)}.btn.ghost{background:#0c111f0d;color:var(--accent-strong);border-color:#f2641973}.btn.ghost:hover{transform:translateY(-1px);background:#0c111f14}.skills-chips{display:flex;flex-wrap:wrap;gap:10px}.chip{padding:8px 12px;border-radius:999px;background:#ffffff14;color:#e2e8f0;border:1px solid rgba(246,174,45,.55);font-weight:600;font-size:13px}.mini-timeline{margin-top:18px;border-left:2px solid rgba(246,174,45,.55);padding-left:16px;display:grid;gap:12px}.timeline-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start}.timeline-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;background:var(--accent-strong)}.timeline-title{margin:0;font-weight:700;color:#e2e8f0}.timeline-body{margin:4px 0 0;color:#cbd5e1;line-height:1.5}.timeline-link{display:block;text-decoration:none;color:inherit;border-radius:12px;padding:8px;margin:0 -8px;transition:all .3s ease;cursor:pointer}.timeline-link:hover{background:#f6ae2d1a}.timeline-header{margin:12px 0 8px;font-weight:700;font-size:14px;color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.section-header{max-width:760px;text-align:center}.section-subtitle{color:#e2e8f0;font-size:2.6vh;margin-top:12px;margin-bottom:0}.projects{background:linear-gradient(180deg,#0f172ae6,#0a1021f2);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;width:100%}.project-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:0;color:#e2e8f0;display:flex;flex-direction:column;min-height:420px;transition:all .5s ease;position:relative}.project-card.glowing{border-color:#f6ae2dcc}.project-content{padding:32px 32px 0;display:flex;flex-direction:column;flex-grow:1}.project-card h3{margin-top:0;margin-bottom:12px;color:var(--accent);font-size:26px}.project-tech{display:block;font-size:16px;color:#a0aec0;margin-bottom:18px;font-weight:500;letter-spacing:.3px}.project-card p{margin-top:0;margin-bottom:auto;line-height:1.7;font-size:17px}.project-link{color:var(--accent);font-weight:700;text-decoration:none;transition:color .2s ease;display:inline-block;margin-top:20px;margin-bottom:16px;align-self:flex-start}.project-link:hover{color:var(--accent-strong)}.project-image-container{margin:0 -1px -1px;width:calc(100% + 2px);height:200px;overflow:hidden;border-radius:0 0 14px 14px}.project-image{width:100%;height:100%;object-fit:cover}.hero{background:linear-gradient(135deg,#0c111f99,#111a2c66);align-items:center}.section-dots{position:fixed;right:30px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:16px;z-index:4}.dot{width:12px;height:12px;border-radius:50%;background:#f6ae2d4d;border:2px solid rgba(246,174,45,.6);cursor:pointer;transition:all .3s ease;text-decoration:none}.dot:hover{background:#f6ae2d80;transform:scale(1.3)}.dot.active{background:var(--accent);border-color:var(--accent-strong)}@media(max-width:916px){body{scroll-snap-type:y mandatory}#landingPage{flex-direction:column;text-align:center;align-items:center}#headshot{display:none}#greetingLabels{padding-top:0;display:block;width:100%;text-align:center}#greetingLabels h1{max-width:100vw;margin:0 auto;word-wrap:break-word;font-size:11vh}.section{padding:calc(var(--nav-height) + 8px) 7% 14%}.aboutMe{grid-template-columns:1fr;gap:16px;overflow:visible}.about-col{align-items:center;justify-content:center}.about-photo{max-width:240px;max-height:240px}.about-tagline{text-align:center}.skills-chips{justify-content:center}.cta-row{justify-content:center;width:100%}.btn{min-width:120px;padding:8px 12px;font-size:13px}.mini-timeline{width:100%;border-left:2px solid rgba(246,174,45,.55);padding-left:16px}.section-dots{display:none}.project-card{min-height:auto;padding:24px}.project-link{position:static;margin-top:12px;display:inline-flex;align-items:center;gap:6px}.project-image-container{height:180px;width:100%;margin:16px 0 0;border-radius:12px;overflow:hidden}.aboutContainer{max-height:none;overflow:visible}}nav{position:sticky;top:0;display:flex;align-items:center;gap:12px;padding:8px 18px;min-height:56px;width:100%;box-sizing:border-box;background-color:#ffffffe6;border:1px solid var(--accent);border-top:none;border-radius:0 0 12px 12px;z-index:5;transition:background-color .18s ease,border-color .18s ease}nav.scrolled{background-color:#0c111fe6;border-color:#f6ae2d8c;border-top:none}.navBar.force-dark-nav{background-color:#0c111fe6;border-color:#f6ae2d8c;border-top:none}.navBar.force-dark-nav .links a{background-color:#ffffff14;color:var(--accent);border-color:#f6ae2d8c}.navBar.force-dark-nav .links a:hover{background-color:#ffffff29}.links{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px;margin-left:auto;align-items:center;transition:max-height .2s ease,padding .2s ease}.links a{display:flex;align-items:center;justify-content:center;min-width:110px;background-color:#fffffff2;padding:10px 12px;min-height:44px;text-align:center;text-decoration:none;border-radius:12px;font-weight:700;border:2px solid var(--accent);color:var(--accent);transition:color .15s ease,background-color .15s ease,border-color .15s ease}.links a:hover{color:var(--accent-strong);background-color:#fffc}.links a:active{color:#0b1222;background-color:var(--accent)}.links a:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}.links a.active{background-color:var(--accent);color:#0b1222;border-color:var(--accent-strong)}nav.scrolled .links a{background-color:#ffffff14;color:var(--accent);border-color:#f6ae2d8c}nav.scrolled .links a:hover{background-color:#ffffff29}#logo{height:50px;width:auto}.menu-toggle{display:none;margin-left:auto;background:none;border:2px solid rgba(246,174,45,.65);border-radius:10px;padding:8px;height:44px;width:48px;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.menu-toggle span{display:block;width:22px;height:2px;background:var(--accent);margin:3px 0;transition:transform .2s ease,opacity .2s ease,background-color .15s ease}.menu-toggle:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}.navBar.open .menu-toggle span:nth-child(2){transform:translateY(5px) rotate(45deg)}.navBar.open .menu-toggle span:nth-child(3){opacity:0}.navBar.open .menu-toggle span:nth-child(4){transform:translateY(-5px) rotate(-45deg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:916px){nav{gap:10px;padding:8px 14px;border-radius:0 0 10px 10px}#logo{height:46px}.menu-toggle{display:inline-flex}.links{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#0c111ff5;border:1px solid rgba(246,174,45,.5);border-radius:0 0 12px 12px;padding:0 18px;max-height:0;overflow:hidden;gap:12px;margin:0}.navBar.open .links{max-height:320px;padding:12px 18px 16px}.links a{width:100%;text-align:left;background:#ffffff14;border-color:#f6ae2d8c;color:var(--accent)}}
