@font-face{font-family:'PP Editorial New';src:url('../fonts/PPEditorialNew-Regular.woff2') format('woff2'),url('../fonts/PPEditorialNew-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'PP Editorial New';src:url('../fonts/PPEditorialNew-Italic.woff2') format('woff2'),url('../fonts/PPEditorialNew-Italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Satoshi;src:url('../fonts/Satoshi-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url('../fonts/Satoshi-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url('../fonts/Satoshi-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'General Sans';src:url('../fonts/GeneralSans-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:'General Sans';src:url('../fonts/GeneralSans-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'General Sans';src:url('../fonts/GeneralSans-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}*,::after,::before{margin:0;padding:0;box-sizing:border-box}:root{--red:#1B283A;--red-dark:#a3212b;--charcoal:#2a2a2a;--warm-tan:#888;--cream:#333;--off-white:#ccc;--dark:#7a9fd6;--text:#DC143C;--text-light:#DC143C;--bg:#94B6EF;--bg-alt:#84a6df;--heading:#DC143C;--accent:#1B283A;--border:rgba(27,40,58,0.15);--font-display:'Satoshi','Space Grotesk','Arial',sans-serif;--font-serif:'PP Editorial New',Georgia,serif;--font-body:'General Sans','DM Sans',-apple-system,sans-serif;--font-handwritten:'Space Mono',monospace;--sidebar-width:260px;--ease-out:cubic-bezier(0.25, 0.46, 0.45, 0.94);--ease-spring:cubic-bezier(0.175, 0.885, 0.32, 1.275)}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--text);background-color:var(--bg);overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}#orbCanvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{max-width:1280px;margin:0 auto;padding:0 2rem}.sidebar-nav{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100dvh;z-index:1000;background:rgba(16,16,16,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border);transition:transform .4s var(--ease-out)}.sidebar-inner{display:flex;flex-direction:column;height:100%;padding:2rem 1.75rem}.sidebar-header{margin-bottom:1.5rem}.nav-logo{font-family:var(--font-serif);font-size:4rem;font-weight:400;font-style:italic;color:#dc143c;letter-spacing:.02em;display:block;margin-bottom:.35rem;line-height:1}.nav-logo:hover{color:#94b6ef;transition:color .3s ease}.sidebar-tagline{font-family:var(--font-display);font-size:1rem;color:#ebe6f5;letter-spacing:.15em;text-transform:uppercase}.nav-links{display:flex;flex-direction:column;gap:.25rem;list-style:none}.nav-links li{position:relative}.nav-links a{font-family:var(--font-display);font-size:.95rem;font-weight:400;color:#dc143c;letter-spacing:.12em;text-transform:uppercase;display:block;padding:.4rem .75rem;position:relative;transition:color .3s ease,padding-left .3s ease;border-left:2px solid transparent}.nav-links a:hover{color:#94b6ef;padding-left:1rem;border-left-color:#94b6ef}.nav-links a.active{color:#94b6ef;border-left-color:#94b6ef}.nav-sub-links{list-style:none;padding-left:1rem;max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .3s ease}.nav-sub-links.expanded{max-height:20rem;opacity:1}.nav-sub-links a{font-size:.8rem;padding:.3rem .75rem;letter-spacing:.1em}.sidebar-cta{display:block;margin-top:auto;padding:.7rem 1rem;font-family:var(--font-display);font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:#dc143c;border:1px solid #2a2a2a;text-align:center;transition:all .3s ease;margin-bottom:1.25rem}.sidebar-cta:hover{color:#94b6ef;border-color:#94b6ef}.sidebar-social{display:flex;justify-content:center;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.sidebar-social .social-link{width:36px;height:36px;border:1px solid #2a2a2a;border-radius:0;display:flex;align-items:center;justify-content:center;color:#dc143c;transition:all .3s ease}.sidebar-social .social-link svg{width:16px;height:16px}.sidebar-social .social-link:hover{border-color:#94b6ef;color:#94b6ef}.sidebar-toggle{display:none;position:fixed;top:1.25rem;left:1.25rem;z-index:1001;flex-direction:column;gap:5px;background:0 0;border:none;cursor:pointer;padding:10px 9px;transition:left .3s ease}.sidebar-toggle.active{left:calc(var(--sidebar-width) - 50px)}.sidebar-toggle span{width:22px;height:1px;background:#000;border-radius:0;transition:all .3s ease}.sidebar-toggle.active span:first-child{transform:rotate(45deg) translate(4px,4px)}.sidebar-toggle.active span:nth-child(2){opacity:0}.sidebar-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:999;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}.sidebar-overlay.active{opacity:1;visibility:visible}.site-content{margin-left:var(--sidebar-width)}.hero{min-height:50vh;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;overflow:hidden;background:0 0;padding-top:4rem;padding-bottom:2rem}.hero-bg-shapes{position:absolute;inset:0;pointer-events:none}.shape{position:absolute;border-radius:50%;opacity:.08}.shape-1{width:600px;height:600px;background:#7ea3dc;top:-200px;right:-100px;opacity:.03;animation:float-slow 20s ease-in-out infinite}.shape-2{width:400px;height:400px;background:#89aee3;bottom:-100px;left:-100px;opacity:.03;animation:float-slow 15s ease-in-out infinite reverse}.shape-3{width:300px;height:300px;background:#7ea3dc;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.02;animation:float-slow 25s ease-in-out infinite}@keyframes float-slow{0%,100%{transform:translate(0,0)}25%{transform:translate(30px,-30px)}50%{transform:translate(-20px,20px)}75%{transform:translate(20px,10px)}}.hero-content{text-align:center;position:relative;z-index:2;padding:2rem}.hero-name{font-family:var(--font-serif);font-size:clamp(3.5rem, 10vw, 7rem);font-weight:400;font-style:italic;color:#dc143c;letter-spacing:.04em;margin-bottom:1.5rem;line-height:1.1;opacity:0;animation:fade-up 1s var(--ease-out) .3s forwards}.hero-subtitle{display:flex;align-items:center;justify-content:center;gap:1rem;font-family:var(--font-display);font-size:1.3rem;font-weight:400;color:var(--red);letter-spacing:.25em;text-transform:uppercase;opacity:0;animation:fade-up 1s var(--ease-out) 1.5s forwards}.subtitle-divider{font-family:var(--font-display);font-size:1.3rem;color:var(--red);font-weight:400;text-transform:none;letter-spacing:.1em}@keyframes fade-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section{padding:1.5rem 0;position:relative;z-index:1}.section-header{text-align:center;margin-bottom:3rem}.section-title{font-family:var(--font-serif);font-size:3.5rem;font-weight:400;font-style:italic;color:#dc143c;position:relative;display:inline-block;letter-spacing:.04em;text-transform:none}.title-brush{position:absolute;bottom:0;left:0;right:0;height:1px;background:#1b283a;opacity:1;border-radius:0;z-index:-1;transform:none}.section-subtitle{font-size:.9rem;color:#dc143c;margin-top:1rem;font-weight:300;max-width:500px;margin-left:auto;margin-right:auto;letter-spacing:.02em}.bio-section{padding-top:3rem}.bio-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:5rem;align-items:start}.bio-image-wrapper{position:relative;max-width:350px;margin:0 auto}.bio-image-frame{position:relative;overflow:hidden;border-radius:50%;border:none;background:0 0;aspect-ratio:1/1}.bio-image-placeholder{aspect-ratio:3/4;background:0 0;display:flex;align-items:center;justify-content:center;font-family:var(--font-handwritten);font-size:1.5rem;color:#dc143c;opacity:1}.bio-image-frame img{width:100%;height:100%;object-fit:cover;display:block}.bio-paint-accent{display:none}.bio-content{padding:1rem 0}.bio-headline{font-family:var(--font-serif);font-size:2.2rem;font-weight:400;font-style:italic;color:#dc143c;margin-bottom:1.5rem;line-height:1.2;letter-spacing:.02em;text-transform:none}.bio-text{font-size:.9rem;line-height:1.8;color:#dc143c;margin-bottom:1.25rem}.bio-stats{display:flex;gap:3rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border)}.stat-number{display:block;font-family:var(--font-display);font-size:2.8rem;font-weight:400;color:#1b283a;letter-spacing:.05em}.stat-label{display:block;font-size:.7rem;color:#dc143c;margin-top:.25rem;letter-spacing:.1em;text-transform:uppercase}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.service-item{padding:1.5rem;border:1px solid var(--border);transition:border-color .3s ease}.service-item:hover{border-color:#1b283a}.service-title{font-family:var(--font-display);font-size:1.1rem;font-weight:400;color:#dc143c;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem}.service-text{font-size:.85rem;color:#dc143c;line-height:1.7}.resume-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem}.resume-column-title{font-family:var(--font-display);font-size:1.4rem;font-weight:400;color:#1b283a;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid #333}.resume-column-title:not(:first-child){margin-top:2.5rem}.resume-item{margin-bottom:2rem;padding-left:1.25rem;border-left:1px solid #2a2a2a;transition:border-color .3s ease}.resume-item:hover{border-left-color:#1b283a}.resume-item:last-child{margin-bottom:0}.resume-item-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.resume-role{font-family:var(--font-display);font-size:1.2rem;font-weight:400;color:#dc143c;letter-spacing:.08em;text-transform:uppercase}.resume-date{font-size:.75rem;color:#dc143c;font-weight:400;white-space:nowrap;letter-spacing:.05em;font-family:var(--font-handwritten)}.resume-company{font-size:.85rem;color:#dc143c;margin-top:.2rem;margin-bottom:.75rem;font-weight:400}.resume-location{font-size:.75rem;color:#dc143c;font-weight:400}.resume-location::before{content:'\2014\00a0'}.resume-subrole{font-size:.85rem;color:#dc143c;margin-top:.75rem;margin-bottom:.5rem;font-style:italic}.resume-date-inline{font-style:normal;font-size:.75rem;color:#dc143c;font-family:var(--font-handwritten)}.resume-list{list-style:none;padding:0}.resume-list li{font-size:.85rem;color:#dc143c;line-height:1.7;padding-left:1rem;position:relative}.resume-list li::before{content:'';position:absolute;left:0;top:.7em;width:3px;height:3px;background:#1b283a;border-radius:50%;opacity:.8}.resume-tags{display:flex;flex-wrap:wrap;gap:.5rem}.resume-tag{font-size:.75rem;font-weight:400;color:#777;background:0 0;border:1px solid #2a2a2a;padding:.35rem .8rem;border-radius:0;transition:all .3s ease;letter-spacing:.03em}.resume-tag:hover{border-color:#1b283a;color:#1b283a}.resume-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.resume-tool{font-size:.8rem;color:#dc143c;padding:.45rem .7rem;background:rgba(27,40,58,.04);border-radius:0;border:1px solid #2a2a2a;transition:all .3s ease;letter-spacing:.02em}.resume-tool:hover{border-color:#1b283a;color:#1b283a}.resume-achievement{border-left-color:#333}.resume-achievement:hover{border-left-color:#1b283a}.resume-achievement-text{font-size:.85rem;color:#dc143c;line-height:1.7}.resume-achievement-text em{color:#dc143c;font-style:italic}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem}.skills-grid .resume-column-title:first-child{margin-top:0}.timeline{position:relative;padding-left:2rem;max-width:820px;margin:0 auto}.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:#89aee3}.timeline-item{position:relative;margin-bottom:3rem;padding-left:1.5rem}.timeline-item:last-child{margin-bottom:0}.timeline-item::before{content:'';position:absolute;left:calc(-2rem - 4px);top:.4rem;width:9px;height:9px;background:#1b283a;border-radius:50%;transition:transform .3s ease,box-shadow .3s ease}.timeline-item:hover::before{transform:scale(1.4);box-shadow:0 0 8px rgba(204,41,54,.4)}.timeline-date{display:block;font-size:.75rem;color:#dc143c;font-weight:400;letter-spacing:.05em;font-family:var(--font-handwritten);margin-bottom:.4rem}.timeline-content .resume-role{margin-bottom:0}.timeline-content .resume-company{margin-top:.2rem;margin-bottom:.75rem}.education-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem}@media (max-width:768px){.education-grid{grid-template-columns:1fr;gap:2rem}.skills-grid{grid-template-columns:1fr;gap:2rem;margin-top:3rem}.resume-tools-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.resume-tools-grid{grid-template-columns:1fr}}.gallery-grid{display:grid;gap:1.5rem}.gallery-masonry{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.gallery-item{opacity:0;transform:translateY(30px)}.gallery-item.visible{opacity:1;transform:none;transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}.gallery-item.large{grid-column:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 2}.gallery-card{position:relative;overflow:hidden;border-radius:2px;cursor:pointer;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out);border:1px solid var(--border)}.gallery-card:hover{transform:translateY(-2px);border-color:rgba(27,40,58,.15)}.gallery-placeholder{display:flex;align-items:center;justify-content:center;font-family:var(--font-handwritten);font-size:.85rem;color:#dc143c;overflow:hidden;position:relative;background:#a8c4f0;letter-spacing:.05em}.gallery-placeholder img{width:100%;height:auto;display:block}.gallery-placeholder video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.gallery-placeholder span{position:relative;z-index:1;text-shadow:0 1px 4px rgba(0,0,0,.6);color:#dc143c}.gallery-card:hover .gallery-placeholder{transform:scale(1.05)}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.5rem;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;transform:translateY(100%);transition:transform .4s var(--ease-out)}.gallery-card:hover .gallery-overlay{transform:translateY(0)}.gallery-overlay h4{font-family:var(--font-display);font-size:1.3rem;margin-bottom:.25rem;letter-spacing:.1em;text-transform:uppercase;font-weight:400}.gallery-overlay p{font-size:.75rem;opacity:.7;letter-spacing:.03em}.social-grid{grid-template-columns:repeat(3,1fr)}.album-grid{grid-template-columns:repeat(4,1fr)}.vinyl-card{border-radius:2px}.vinyl-ring{position:absolute;top:50%;left:50%;width:30%;height:0;padding-bottom:30%;transform:translate(-50%,-50%);border:1px solid rgba(27,40,58,.1);border-radius:50%;pointer-events:none;opacity:0;transition:opacity .3s ease}.vinyl-card:hover .vinyl-ring{opacity:1}.vinyl-card::after{content:'';position:absolute;top:50%;left:50%;width:8%;height:0;padding-bottom:8%;transform:translate(-50%,-50%);background:rgba(27,40,58,.15);border-radius:50%;pointer-events:none;opacity:0;transition:opacity .3s ease}.vinyl-card:hover::after{opacity:1}.painting-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;grid-auto-flow:dense}.painting-grid .gallery-card,.painting-grid .gallery-placeholder{height:100%}.painting-grid .gallery-placeholder img{width:100%;height:100%;object-fit:cover}.painting-card{border-radius:2px}.painting-frame{position:absolute;inset:0;border:1px solid rgba(27,40,58,.1);pointer-events:none;border-radius:2px}.painting-card:hover .painting-frame{border-color:rgba(27,40,58,.15)}.painting-section .section-subtitle{max-width:600px}.painting-section .title-brush{background:#1b283a;opacity:1}.art-subsection-title{font-family:var(--font-display);font-size:1.4rem;font-weight:400;color:#1b283a;text-transform:uppercase;letter-spacing:.15em;margin-bottom:.5rem;margin-top:4rem}.art-subsection-title:first-of-type{margin-top:0}.art-subsection-subtitle{font-size:.9rem;color:#dc143c;font-weight:300;margin-bottom:2rem;letter-spacing:.02em}.contact-section{padding:1.5rem 0;text-align:center;border-top:1px solid var(--border)}.contact-inner{max-width:600px;margin:0 auto}.contact-title{font-family:var(--font-serif);font-size:4rem;font-weight:400;font-style:italic;color:#dc143c;margin-bottom:1rem;letter-spacing:.02em;text-transform:none}.contact-text{font-size:.9rem;color:#dc143c;margin-bottom:2.5rem;font-weight:300;letter-spacing:.02em}.contact-links{display:flex;flex-direction:column;align-items:center;gap:2rem}.contact-btn{display:inline-block;padding:1rem 2.5rem;border-radius:0;font-size:1rem;font-weight:500;transition:all .3s var(--ease-spring)}.contact-btn.primary{background:0 0;color:#1b283a;border:1px solid #1b283a}.contact-btn.primary:hover{background:#1b283a;color:#fff;transform:translateY(-1px)}.contact-social{display:flex;gap:1.5rem}.social-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:0;border:1px solid #333;color:#dc143c;transition:all .3s ease}.social-link svg{width:20px;height:20px}.social-link:hover{border-color:#1b283a;color:#1b283a;transform:translateY(-1px)}.contact-form{display:flex;flex-direction:column;gap:1.25rem;max-width:600px;margin:0 auto;text-align:left}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-family:var(--font-display);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#1b283a}.contact-form input,.contact-form textarea{width:100%;padding:.85rem 1rem;border:1px solid var(--border);border-radius:0;background:0 0;font-family:var(--font-body);font-size:.95rem;color:#1b283a;transition:border-color .3s ease;box-sizing:border-box}.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:#1b283a}.contact-form textarea{resize:vertical;min-height:120px}.contact-form .contact-btn{align-self:flex-start;cursor:pointer;margin-top:.5rem}.form-status{font-family:var(--font-display);font-size:.8rem;letter-spacing:.05em;min-height:1.2em}.form-status.success{color:#1b283a}.form-status.error{color:#dc143c}.footer{padding:2rem 0;text-align:center;font-size:.7rem;color:#333;letter-spacing:.1em;position:relative;z-index:1;text-transform:uppercase;font-family:var(--font-display)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.reveal.revealed{opacity:1;transform:translateY(0)}@media (max-width:1024px){.sidebar-nav{transform:translateX(-100%)}.sidebar-nav.open{transform:translateX(0)}.sidebar-inner{padding:1.5rem 1.5rem}.sidebar-header{margin-bottom:1rem}.nav-logo{font-size:3rem}.sidebar-tagline{font-size:.8rem}.nav-links{gap:0}.nav-links a{font-size:.85rem;padding:.3rem .75rem}.nav-sub-links a{font-size:.75rem;padding:.2rem .75rem}.sidebar-cta{font-size:.85rem;padding:.5rem .75rem;margin-bottom:.75rem}.sidebar-social{padding-top:.75rem}.sidebar-toggle{display:flex}.site-content{margin-left:0}.gallery-masonry{grid-template-columns:repeat(2,1fr)}.gallery-item.large,.gallery-item.wide{grid-column:span 2}.album-grid{grid-template-columns:repeat(2,1fr)}.painting-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px}.bio-grid{gap:3rem}.services-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.gallery-overlay{transform:translateY(0);padding:1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.8))}.gallery-overlay h4{font-size:1rem}.gallery-overlay p{font-size:.7rem}.section-title{font-size:2.5rem}.bio-grid{grid-template-columns:1fr;gap:2.5rem}.bio-image-wrapper{max-width:350px;margin:0 auto}.bio-headline{font-size:1.6rem}.bio-stats{gap:2rem}.gallery-masonry,.social-grid{grid-template-columns:1fr 1fr}.gallery-item.large,.gallery-item.wide{grid-column:span 2}.album-grid{grid-template-columns:1fr 1fr}.painting-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.painting-grid .gallery-item.wide{grid-column:span 2}.hero-subtitle{font-size:.9rem}.contact-title{font-size:2.5rem}.stat-number{font-size:1.8rem}}@media (max-width:480px){.sidebar-inner{padding:1.25rem 1.25rem}.sidebar-header{margin-bottom:.75rem}.nav-logo{font-size:2.5rem}.sidebar-tagline{font-size:.7rem}.nav-links a{font-size:.8rem;padding:.25rem .6rem}.nav-sub-links a{font-size:.7rem;padding:.15rem .6rem}.sidebar-cta{font-size:.8rem;padding:.4rem .6rem;margin-bottom:.5rem}.sidebar-social{padding-top:.5rem;gap:.5rem}.sidebar-social .social-link{width:32px;height:32px}.container{padding:0 1.25rem}.album-grid,.gallery-masonry,.social-grid{grid-template-columns:1fr}.gallery-item.large,.gallery-item.wide{grid-column:span 1}.painting-grid{grid-template-columns:1fr;grid-auto-rows:300px}.painting-grid .gallery-item.tall{grid-row:span 1}.painting-grid .gallery-item.wide{grid-column:span 1}.services-grid{grid-template-columns:1fr}.bio-stats{flex-direction:column;gap:1.5rem}.hero-subtitle{flex-direction:column;gap:.25rem}.subtitle-divider{font-size:1.2rem}.contact-title{font-size:2rem}}.lightbox{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;padding:2rem;overflow-y:auto}.lightbox.active{opacity:1;visibility:visible}body.lightbox-open{overflow:hidden}.lightbox-content{max-width:700px;max-height:90vh;width:100%;background:#1a1a1a;border-radius:0;border:1px solid #333;overflow-y:auto;transform:scale(.95) translateY(20px);transition:transform .5s var(--ease-spring),opacity .4s ease;opacity:0;display:flex;flex-direction:column}.lightbox.active .lightbox-content{transform:scale(1) translateY(0);opacity:1}.lightbox-image{width:100%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-handwritten);font-size:1.5rem;color:rgba(220,20,60,.6);position:relative;overflow:hidden;background:#7ea3dc}.lightbox-image::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 180px 60px at 10% 75%,rgba(255,255,255,.5) 0,transparent 70%),radial-gradient(ellipse 130px 50px at 18% 68%,rgba(255,255,255,.4) 0,transparent 65%),radial-gradient(ellipse 100px 40px at 5% 80%,rgba(255,255,255,.35) 0,transparent 60%),radial-gradient(ellipse 200px 65px at 78% 65%,rgba(255,255,255,.45) 0,transparent 70%),radial-gradient(ellipse 140px 50px at 88% 58%,rgba(255,255,255,.4) 0,transparent 65%),radial-gradient(ellipse 110px 40px at 70% 72%,rgba(255,255,255,.3) 0,transparent 60%),radial-gradient(ellipse 160px 55px at 45% 82%,rgba(255,255,255,.35) 0,transparent 70%),radial-gradient(ellipse 90px 35px at 55% 76%,rgba(255,255,255,.3) 0,transparent 60%),radial-gradient(ellipse 120px 45px at 35% 88%,rgba(255,255,255,.25) 0,transparent 65%);z-index:1}.lightbox-image::after{content:"\2922  Click to enlarge";position:absolute;bottom:.5rem;right:.5rem;background:rgba(0,0,0,.55);color:rgba(255,255,255,.85);font-family:var(--font-display);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .6rem;border-radius:3px;pointer-events:none;transition:opacity .2s ease;z-index:2}.lightbox-image:hover::after{opacity:0}.lightbox-image img{max-width:100%;max-height:40vh;width:auto;height:auto;display:block;cursor:pointer;transition:opacity .2s ease;z-index:1}.lightbox-image img:hover{opacity:.85}.lightbox-fullview{position:fixed;inset:0;z-index:10001;background:rgba(0,0,0,.97);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;cursor:zoom-out;padding:1rem}.lightbox-fullview.active{opacity:1;visibility:visible}.lightbox-fullview img{max-width:95vw;max-height:95vh;object-fit:contain}.lightbox-details{padding:2.5rem}.lightbox-category{display:inline-block;font-size:.65rem;font-weight:400;text-transform:uppercase;letter-spacing:.2em;color:#777;background:0 0;border:1px solid #333;padding:.3rem .8rem;border-radius:0;margin-bottom:1rem;font-family:var(--font-display)}.lightbox-title{font-family:var(--font-serif);font-size:2.2rem;font-weight:400;font-style:italic;color:#dc143c;margin-bottom:1rem;letter-spacing:.02em;line-height:1.2;text-transform:none}.lightbox-description{font-size:.9rem;line-height:1.8;color:#dc143c;margin-bottom:2rem}.lightbox-meta{display:flex;gap:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);flex-wrap:wrap}.meta-item{display:flex;flex-direction:column;gap:.3rem}.meta-label{font-size:.65rem;font-weight:400;text-transform:uppercase;letter-spacing:.15em;color:#dc143c;font-family:var(--font-display)}.meta-value{font-size:.85rem;color:#dc143c;font-weight:400}.lightbox-saatchi{display:inline-block;margin-top:1.5rem;padding:.75rem 1.5rem;border:1px solid #7ea3dc;color:#7ea3dc;font-family:var(--font-display);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:all .3s var(--ease-spring)}.lightbox-saatchi:hover{background:#7ea3dc;color:#1a1a1a;transform:translateY(-1px)}.lightbox-close{position:fixed;top:1.5rem;right:1.5rem;width:44px;height:44px;background:0 0;border:1px solid #333;border-radius:0;color:#dc143c;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10001;line-height:1}.lightbox-close:hover{border-color:#1b283a;color:#1b283a;transform:rotate(90deg)}@media (max-width:768px){.lightbox{padding:1rem}.lightbox-content{max-width:100%}.lightbox-image{min-height:120px}.lightbox-image img{max-height:30vh}.lightbox-details{padding:1.5rem}.lightbox-title{font-size:1.5rem}.lightbox-meta{gap:1.5rem}.lightbox-close{top:.75rem;right:.75rem;width:40px;height:40px;font-size:1.3rem}}.contact-btn:focus-visible,.gallery-card:focus-visible,.sidebar-cta:focus-visible,.social-link:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #1B283A;outline-offset:2px}.nav-links a:focus-visible{outline:2px solid #1B283A;outline-offset:2px;color:#1b283a}::selection{background:#1b283a;color:#fff}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#7ea3dc;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#1b283a}@media (min-width:1920px){.hero-subtitle{font-size:1.5rem}.section-title{font-size:4rem}.section-subtitle{font-size:1.05rem}.bio-headline{font-size:2.5rem}.bio-text{font-size:1.05rem}.stat-number{font-size:3.2rem}.stat-label{font-size:.8rem}.timeline-date{font-size:.85rem}.resume-role{font-size:1.4rem}.resume-company{font-size:1rem}.resume-list li{font-size:1rem}.resume-date{font-size:.85rem}.resume-column-title{font-size:1.6rem}.resume-subrole{font-size:1rem}.resume-tag{font-size:.85rem}.resume-tool{font-size:.9rem}.resume-achievement-text{font-size:1rem}.gallery-overlay h4{font-size:1.5rem}.gallery-overlay p{font-size:.85rem}.contact-title{font-size:4.5rem}.contact-text{font-size:1.05rem}.contact-btn{font-size:1.1rem}.lightbox-title{font-size:2.5rem}.lightbox-description{font-size:1.05rem}.meta-value{font-size:1rem}.art-subsection-title{font-size:1.6rem}.art-subsection-subtitle{font-size:1.05rem}.service-title{font-size:1.25rem}.service-text{font-size:1rem}}