:root{--ink:#15151a;--cream:#f7f4ef;--sage:#1c2a4a;--sage-light:#2d3f63;--sage-pale:#eef1f7;--gold:#c4782a;--gold-light:#d4914a;--muted:#6a6a72;--border:rgba(28,42,74,0.15);--scroll-thumb:var(--sage);--scroll-thumb-light:var(--sage-light);--scroll-track:var(--cream)}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}body{font-family:Jost,sans-serif;background:var(--cream);color:var(--ink);font-weight:300;line-height:1.7;overflow-x:hidden;opacity:0;transition:opacity .38s}#loader{position:fixed;inset:0;z-index:9999;background:var(--sage);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:all;overflow:hidden}.loader-logo{position:absolute;top:2rem;left:3rem;font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;letter-spacing:.06em;color:rgba(247,244,239,.35)}.loader-center{display:flex;flex-direction:column;align-items:center;gap:1.2rem}.loader-num-wrap{display:flex;align-items:flex-start;line-height:1}.loader-num{font-family:'Cormorant Garamond',serif;font-size:clamp(5.5rem, 12vw, 10rem);font-weight:300;color:var(--ink);letter-spacing:-.03em;line-height:1;display:block;min-width:3ch;text-align:right;font-variant-numeric:tabular-nums}.loader-pct{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem, 4vw, 3rem);font-weight:300;color:var(--gold-light);margin-top:.5rem;margin-left:.15rem}.loader-label{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(247,244,239,.3)}.loader-bar-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:rgba(255,255,255,.06)}.loader-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--gold),var(--gold-light));transition:none}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.2rem 3rem;display:flex;align-items:center;justify-content:space-between;background:rgba(247,244,239,.82);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:padding .35s,background .35s,border-color .35s,box-shadow .35s}nav.scrolled{padding:.85rem 3rem;background:rgba(247,244,239,.96);border-bottom-color:var(--border);box-shadow:0 2px 24px rgba(28,42,74,.06)}.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:500;letter-spacing:.04em;color:var(--sage);text-decoration:none;transition:opacity .2s}.nav-logo:hover{opacity:.7}.nav-links{display:flex;gap:2.4rem;list-style:none}.nav-links a{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;position:relative}.nav-links a.active,.nav-links a:hover{color:var(--sage)}.nav-links a.active::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--gold)}.nav-links li{position:relative}.nav-preview{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);background:var(--sage);color:var(--cream);padding:.9rem 1.1rem;width:160px;pointer-events:none;opacity:0;transition:opacity .22s,transform .22s;z-index:200}.nav-links li:hover .nav-preview{opacity:1;transform:translateX(-50%) translateY(0)}.nav-preview-title{font-family:'Cormorant Garamond',serif;font-size:.95rem;font-weight:500;color:var(--cream);margin-bottom:.25rem}.nav-preview-desc{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.06em;color:rgba(245,240,232,.55);line-height:1.55}.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:0 0;border:none}.nav-hamburger span{display:block;width:22px;height:1.5px;background:var(--sage);transition:transform .25s,opacity .25s;transform-origin:center}.nav-hamburger.open span:first-child{transform:translateY(6.5px) rotate(45deg)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}#scroll-progress{position:fixed;top:0;left:0;height:2px;width:0%;background:linear-gradient(90deg,var(--gold),var(--gold-light));z-index:200;transition:width 80ms linear}body.loaded{opacity:1}#page-overlay{position:fixed;inset:0;background:var(--sage);z-index:1000;pointer-events:none;opacity:0;transition:opacity .35s}#page-overlay.active{opacity:1;pointer-events:all}.hero{min-height:100svh;display:grid;grid-template-columns:55% 45%;align-items:center;padding-top:0}.hero-left{display:flex;flex-direction:column;justify-content:center;padding:7rem 3rem 5rem 6rem;position:relative}.hero-eyebrow{font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:1.8rem;display:flex;align-items:center;gap:.8rem}.hero-eyebrow::before{content:'';display:inline-block;width:2rem;height:1px;background:var(--gold)}.hero-name{font-family:'Cormorant Garamond',serif;font-size:clamp(3.5rem, 6vw, 5.5rem);font-weight:300;line-height:1.06;letter-spacing:-.01em;color:var(--sage);margin-bottom:1.6rem;display:flex;flex-direction:column}.hero-name-line{display:block;overflow:hidden;line-height:1.08}.hero-name em{font-style:italic;color:var(--gold)}.hero-tagline{font-size:1rem;color:var(--muted);font-weight:300;max-width:28rem;line-height:1.8;margin-bottom:3rem}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.btn{display:inline-block;padding:.8rem 2rem;font-family:Jost,sans-serif;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:.25s;border:1px solid;cursor:pointer}.btn-primary{background:var(--sage);color:var(--cream);border-color:var(--sage)}.btn-primary:hover{background:var(--sage-light);border-color:var(--sage-light)}.btn-secondary{background:0 0;color:var(--sage);border-color:var(--sage)}.btn-secondary:hover{background:var(--sage-pale)}.btn-cv{background:0 0;color:var(--gold);border-color:var(--gold)}.btn-cv:hover{background:rgba(196,120,42,.08)}.hero-right{display:flex;align-items:center;justify-content:center;padding:3rem 5rem 3rem 1rem;position:relative;overflow:hidden}.hero-photo-wrap{position:relative;will-change:transform}.hero-photo{width:390px;height:510px;object-fit:cover;object-position:center 20%;display:block;box-shadow:0 20px 60px rgba(28,42,74,.2);flex-shrink:0;filter:blur(12px);transform:scale(1.04);transition:filter .7s,transform .7s}.hero-photo.loaded{filter:blur(0);transform:scale(1)}.hero-stat-strip{display:flex;gap:2.5rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border)}.hero-stat{color:var(--ink)}.hero-stat-num{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;line-height:1;display:block;color:var(--sage)}.hero-stat-label{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:'DM Mono',monospace;margin-top:.3rem;display:block}.hero-role{font-family:'DM Mono',monospace;font-size:.8rem;letter-spacing:.18em;color:var(--sage);margin-bottom:1rem;height:1.5em;overflow:hidden}.typewriter-cursor{display:inline-block;color:var(--gold);animation:.75s step-end infinite blink;margin-left:1px}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}section{padding:7rem 6rem}.section-label{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:.8rem}.section-label::after{content:'';flex:1;height:1px;background:var(--gold);opacity:.35;max-width:3rem}.title-clip{overflow:hidden;margin-bottom:1rem}.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem, 4vw, 3.2rem);font-weight:400;line-height:1.15;color:var(--sage)}#about{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.about-text .section-title{margin-bottom:1.6rem}.about-body{font-size:1.02rem;color:var(--muted);margin-bottom:1.2rem;font-weight:300}.about-body strong{color:var(--sage);font-weight:500}.about-sidebar{display:flex;flex-direction:column;gap:1.5rem}.about-card{border:1px solid var(--border);padding:1.5rem;position:relative;transition:border-color .2s}.about-card:hover{border-color:var(--gold)}.about-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold)}.about-card-label{font-family:'DM Mono',monospace;font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}.about-card-value{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--sage);font-weight:500}#education{background:var(--cream)}.timeline{margin-top:3.5rem;position:relative;max-width:720px}.timeline-line{position:absolute;left:5px;top:8px;bottom:0;width:1px;background:var(--border);transform-origin:top center}.timeline-item{position:relative;padding:0 0 3.2rem 2.5rem}.timeline-item:last-child{padding-bottom:0}.timeline-item::before{content:'';position:absolute;left:0;top:5px;width:11px;height:11px;border-radius:50%;border:2px solid var(--gold);background:var(--cream);transition:background .3s}.timeline-item:hover::before{background:var(--gold)}.timeline-period{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem}.timeline-inst{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:500;color:var(--sage);line-height:1.2;margin-bottom:.3rem}.timeline-prog{font-size:.9rem;color:var(--muted);font-weight:300;margin-bottom:.85rem}.timeline-tags{display:flex;flex-wrap:wrap;gap:.45rem}.timeline-tag{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;background:var(--sage-pale);color:var(--sage);padding:.18rem .55rem;border:1px solid var(--border)}#skills{background:var(--sage)}#skills .section-label{color:var(--gold-light)}#skills .section-label::after{background:var(--gold-light)}#skills .section-title{color:var(--cream)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:rgba(255,255,255,.08);margin-top:3.5rem;border:1px solid rgba(255,255,255,.08)}.skill-item{background:var(--sage);padding:2rem 1.8rem;transition:background .2s;position:relative;overflow:visible}.skill-item:hover{background:var(--sage-light)}.skill-icon{font-family:'Cormorant Garamond',serif;font-size:2.4rem;color:var(--gold-light);font-weight:300;line-height:1;margin-bottom:.8rem;display:block}.skill-name{font-size:.9rem;color:var(--cream);font-weight:400;margin-bottom:.4rem}.skill-desc{font-size:.78rem;color:rgba(245,240,232,.45);font-family:'DM Mono',monospace;line-height:1.5;margin-bottom:1.2rem}.skill-bar-wrap{margin-top:auto}.skill-bar-label{display:flex;justify-content:space-between;align-items:center;font-family:'DM Mono',monospace;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,240,232,.3);margin-bottom:.4rem}.skill-bar-pct{color:var(--gold-light)}.skill-bar-track{height:2px;background:rgba(255,255,255,.1);position:relative;overflow:hidden}.skill-bar-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-light));width:0%;will-change:width}.skill-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(6px);background:var(--ink);color:rgba(245,240,232,.8);font-family:'DM Mono',monospace;font-size:.63rem;letter-spacing:.06em;line-height:1.6;padding:.55rem .85rem;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;z-index:50;border-left:2px solid var(--gold)}.skill-tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--ink)}.skill-item:hover .skill-tooltip{opacity:1;transform:translateX(-50%) translateY(0)}.topic-strip{background:var(--ink);padding:1.2rem 0;overflow:hidden;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}.topic-track{display:flex;white-space:nowrap;animation:35s linear infinite marquee}.topic-track:hover{animation-play-state:paused}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.topic-item{display:inline-flex;align-items:center;gap:.5rem;padding:0 2.4rem;font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,240,232,.28);transition:color .2s;flex-shrink:0}.topic-item:hover{color:var(--gold-light)}.topic-item::before{content:'◆';color:var(--gold);font-size:.35rem;opacity:.6}#projects{background:var(--cream);padding-bottom:0}.projects-intro{padding-bottom:3rem}.projects-scroll-hint{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:1.2rem;display:flex;align-items:center;gap:.5rem;opacity:.6}.projects-horizontal-outer{overflow:hidden;padding-bottom:5rem}.projects-horizontal-track{display:flex;gap:2rem;width:max-content;padding-right:6rem;will-change:transform}.project-card{width:420px;flex-shrink:0;border:1px solid var(--border);background:#fff;overflow:hidden;will-change:transform;position:relative;transition:box-shadow .3s}.project-card--dim{opacity:.85}.project-card--dim:hover{opacity:1}.project-card-inner{transition:transform .1s linear;will-change:transform}.project-card-header{background:var(--sage-pale);padding:2rem;position:relative;min-height:9rem;display:flex;align-items:flex-end}.project-card-header--alt{background:#f0ede4}.project-card-header--alt2{background:#edf0ed}.project-num{font-family:'Cormorant Garamond',serif;font-size:5rem;font-weight:300;color:rgba(28,42,74,.08);line-height:1;position:absolute;top:.5rem;right:1.2rem}.project-tag{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;background:var(--sage);color:var(--cream);padding:.25rem .6rem}.project-tag--progress{background:#7a6525}.project-tag--planned{background:#3d5a38}.project-card-body{padding:1.8rem}.project-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--sage);font-weight:500;margin-bottom:.6rem;line-height:1.2}.project-desc{font-size:.88rem;color:var(--muted);font-weight:300;line-height:1.7;margin-bottom:1.2rem}.project-link{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;transition:gap .2s}.project-link:hover{gap:.8rem}.project-link::after{content:'→'}.project-link--muted{color:var(--muted);font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.project-link--muted::after{content:''}#contact{background:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}#contact .section-label{color:var(--gold-light)}#contact .section-label::after{background:var(--gold-light)}#contact .section-title{color:var(--cream)}.contact-sub{font-size:1rem;color:rgba(245,240,232,.5);font-weight:300;margin-top:1rem;line-height:1.8}.contact-info{margin-top:3rem;display:flex;flex-direction:column;gap:1rem}.contact-info-item{display:flex;align-items:center;gap:1rem;font-size:.88rem;color:rgba(245,240,232,.5);font-family:'DM Mono',monospace;transition:color .2s}.contact-info-item:hover{color:rgba(245,240,232,.8)}.contact-info-item span{color:var(--gold-light);font-size:.9rem}.email-copy{cursor:pointer}.email-copy-hint{font-size:.55rem;letter-spacing:.08em;color:rgba(245,240,232,.25);text-transform:uppercase;margin-left:.3rem}.contact-form{display:flex;flex-direction:column;gap:1.2rem}.contact-form input,.contact-form textarea{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);padding:1rem 1.2rem;color:var(--cream);font-family:Jost,sans-serif;font-size:.9rem;font-weight:300;outline:0;transition:border-color .2s;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(245,240,232,.25)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold)}.contact-form textarea{min-height:130px}.contact-form button{opacity:1!important;transform:none!important;visibility:visible!important;background:var(--gold)!important;color:var(--ink)!important;border:1px solid var(--gold)!important;padding:.85rem 1.1rem!important;font-size:.95rem!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;z-index:20!important;box-shadow:0 6px 18px rgba(0,0,0,.12)!important}.btn-gold{background:var(--gold);color:var(--ink);border-color:var(--gold);font-weight:500;cursor:pointer;align-self:flex-start}.btn-gold:hover{background:var(--gold-light);border-color:var(--gold-light)}footer{background:var(--ink);border-top:1px solid rgba(255,255,255,.06);padding:2rem 6rem;display:flex;justify-content:space-between;align-items:center}.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:rgba(245,240,232,.3);font-weight:400}.footer-copy{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.1em;color:rgba(245,240,232,.2)}.footer-social{display:flex;gap:1.2rem;align-items:center}.footer-social a{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,240,232,.35);text-decoration:none;transition:color .2s;display:flex;align-items:center;gap:.4rem}.footer-social a:hover{color:var(--gold-light)}html.dark{--ink:#e8e3db;--cream:#10121a;--sage:#4e6fa0;--sage-light:#6080b8;--sage-pale:#161d2e;--gold:#d4914a;--gold-light:#e0a860;--muted:#9a9aaa;--border:rgba(78,111,160,0.22);--scroll-thumb:var(--gold);--scroll-thumb-light:var(--gold-light);--scroll-track:var(--cream)}html.dark nav{background:rgba(16,18,26,.92)}html.dark nav.scrolled{background:rgba(16,18,26,.98)}html.dark #about{background:#141620}html.dark .about-card{background:#1a1e2c}html.dark .project-card{background:#141620}html.dark .contact-form input,html.dark .contact-form textarea{background:rgba(255,255,255,.06);color:#e8e3db}html.dark #skills{background:#101628}html.dark #skills .section-title,html.dark .skill-name{color:#e8e3db}html.dark .skill-tooltip{background:#1a1e2c;color:rgba(232,227,219,.85)}html.dark .skill-tooltip::after{border-top-color:#1a1e2c}html.dark #contact{background:#0b0c12}html.dark #contact .section-title{color:#e8e3db}html.dark footer{background:#0b0c12}html.dark #education{background:var(--cream)}html.dark .timeline-tag{background:var(--sage-pale)}html.dark .timeline-item::before{background:var(--cream)}html.dark .timeline-item:hover::before{background:var(--gold)}html.dark .skill-bar-track{background:rgba(255,255,255,.07)}html.dark .topic-strip{background:#101628}html.dark .project-num{color:rgba(232,227,219,.12)}html.dark .btn-primary,html.dark .nav-preview,html.dark .project-tag{color:#e8e3db}html.dark .project-card-header{background:#1e2436}html.dark .project-card-header--alt{background:#1c2030}html.dark .project-card-header--alt2{background:#1a2230}.dark-toggle{background:0 0;border:1px solid var(--border);width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);font-size:.85rem;transition:color .2s,border-color .2s;flex-shrink:0}.dark-toggle:hover{color:var(--sage);border-color:var(--sage)}@media (pointer:fine){*{cursor:none!important}#cursor-dot{position:fixed;width:6px;height:6px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:background .2s;will-change:left,top}#cursor-ring{position:fixed;width:30px;height:30px;border:1.5px solid var(--gold);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .25s,height .25s,border-color .25s,opacity .25s;opacity:.55;will-change:left,top}body.cursor-hover #cursor-ring{width:46px;height:46px;border-color:var(--sage);opacity:.35}}#back-to-top{position:fixed;bottom:2rem;right:2rem;width:2.8rem;height:2.8rem;background:var(--sage);color:var(--cream);border:none;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;z-index:90;opacity:0;transform:translateY(14px);transition:opacity .3s,transform .3s,background .2s;pointer-events:none}#back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:all}#back-to-top:hover{background:var(--sage-light)}.btt-ring{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);transform:rotate(-90deg);pointer-events:none}.btt-ring-track{fill:none;stroke:rgba(196,120,42,0.2);stroke-width:2}.btt-ring-fill{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:butt;transition:stroke-dashoffset 80ms linear}.btt-arrow{position:relative;z-index:1}#copy-toast{display:none;position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(8px);background:var(--sage);color:var(--cream);font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:.6rem 1.2rem;z-index:9000;pointer-events:none;opacity:0;transition:opacity .25s,transform .25s}#copy-toast.show{display:block;opacity:1;transform:translateX(-50%) translateY(0)}#cv-modal{display:none;position:fixed;inset:0;z-index:5000;align-items:center;justify-content:center}#cv-modal.open{display:flex}#cv-modal.open #cv-modal-backdrop{animation:.3s forwards fadeIn}#cv-modal.open #cv-modal-panel{animation:.3s forwards slideUp}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}#cv-modal-backdrop{position:absolute;inset:0;background:rgba(21,21,26,.75);backdrop-filter:blur(6px)}#cv-modal-panel{position:relative;z-index:1;background:var(--cream);width:min(900px,92vw);height:min(88vh,800px);display:flex;flex-direction:column;box-shadow:0 32px 80px rgba(21,21,26,.35)}#cv-modal-bar{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.4rem;background:var(--sage);flex-shrink:0}#cv-modal-title{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,240,232,.65)}.cv-modal-actions{display:flex;gap:.8rem;align-items:center}.cv-modal-btn{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .9rem;border:1px solid rgba(245,240,232,.3);color:rgba(245,240,232,.8);background:0 0;cursor:pointer;text-decoration:none;transition:background .2s,color .2s;display:inline-flex;align-items:center;gap:.4rem}.cv-modal-btn:hover{background:rgba(255,255,255,.1);color:var(--cream)}#cv-iframe{flex:1;width:100%;border:none}#availability-badge{position:fixed;bottom:2rem;left:2rem;z-index:95;display:flex;align-items:center;gap:.55rem;background:#15151a;border:1px solid rgba(255,255,255,.1);padding:.5rem .9rem;color:rgba(245,240,232,.75);font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 4px 16px rgba(0,0,0,.3)}.badge-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;flex-shrink:0;animation:2.2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.5)}50%{box-shadow:0 0 0 5px rgba(74,222,128,0)}}@media (max-width:900px){nav{padding:1rem 1.5rem}nav.scrolled{padding:.7rem 1.5rem}.nav-hamburger{display:flex}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:rgba(247,244,239,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:1rem 0}.nav-links.open{display:flex}.nav-links li{width:100%}.nav-links a{display:block;padding:.9rem 1.5rem;font-size:.78rem}.nav-links a.active::after{display:none}.nav-preview{display:none!important}.hero{grid-template-columns:1fr;min-height:auto}.hero-left{padding:7rem 2rem 3rem}.hero-right{justify-content:center;padding:0 2rem 3rem;overflow:hidden}.hero-photo{width:270px;height:345px;object-position:center 22%}.hero-stat-strip{gap:1.5rem;margin-top:1.8rem;padding-top:1.5rem}section{padding:5rem 2rem}#about,#contact{grid-template-columns:1fr;gap:3rem}#projects{padding-bottom:0}.projects-horizontal-outer{overflow:visible;padding-bottom:3rem}.projects-horizontal-track{flex-direction:column;width:100%;padding-right:0;gap:1.5rem}.project-card{width:100%}.projects-scroll-hint{display:none}footer{padding:1.5rem 2rem;flex-direction:column;gap:.8rem;text-align:center}.footer-social{justify-content:center}.skills-grid{grid-template-columns:1fr 1fr}#availability-badge{display:none}}@media (max-width:560px){.skills-grid{grid-template-columns:1fr}.hero-cta{flex-direction:column}.btn{text-align:center}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--scroll-thumb-light),var(--scroll-thumb));border-radius:999px;border:3px solid var(--scroll-track)}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-light)}