*{box-sizing:border-box}:root{--color-primary: #000;--color-secondary: #333;--color-link-hover: #1a1a2a;--background-color: #fff;--font-body: Verdana, Geneva, Tahoma, sans-serif;--content-width: 1200px}html,body{font-family:var(--font-body)}body{max-width:1200px;margin:0 auto;padding:1em;background:var(--background-color);color:var(--color-primary)}a{color:var(--color-primary);text-decoration-thickness:.15em;text-underline-offset:4px;transition:all .2s ease}a:hover{opacity:.85}h1,h2,h3{font-weight:900;margin:0 0 .5em}nav{display:flex;flex-wrap:wrap;justify-content:space-around;align-items:center;gap:1.25em;margin:2em 0;text-align:center}.logo{margin:0;font-size:1.75rem}.logo a{display:inline-block;text-decoration:none;color:var(--color-primary);transition:transform .2s ease}.logo a:hover{transform:scale(1.05)}.nav-links{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:1.25em;padding:0;margin:0}.nav-link{font-weight:700;font-size:1.1rem;display:inline-block;color:var(--color-primary)}.nav-link:hover,.nav-link:active{transform:scale(1.25)}.splash{padding:4em 2em;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;max-width:1100px;margin:0 auto;gap:2.5em}.splash-section.bio{flex:1 1 420px;display:flex;flex-direction:column;gap:1em}.splash-section.bio h2{font-size:2.25rem;font-weight:700;margin-bottom:.5em}.splash-section.bio p{font-size:1.15rem;line-height:1.7;color:var(--color-secondary)}.splash-section.bio .bold{font-weight:700}.splash-section.image{flex:1 1 320px;display:flex;justify-content:center}.splash-section img{width:100%;max-width:340px;border-radius:1em;object-fit:cover;box-shadow:0 4px 18px #00000026;transition:transform .4s ease,box-shadow .4s ease}.splash-section.image img:hover{transform:scale(1.03);box-shadow:0 6px 24px #00000040}#recent-projects-list{display:flex;flex-direction:column;gap:1.5em;margin-bottom:1em}.recent-project{display:flex;flex-direction:column;justify-content:space-between;padding:1em;background:#ffffffcf;border-radius:12px;box-shadow:0 4px 12px #00000014;color:initial;transition:transform .2s ease;text-decoration:none}.recent-project:hover{cursor:pointer;transform:translateY(-4px);box-shadow:0 8px 16px #0000001f}.recent-project h3{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:.25rem}.recent-project img{width:100%;max-height:190px;object-fit:cover;border-radius:.5em}.recent-project>p{margin-top:.75em;color:#494949;font-size:.95rem;line-height:1.5}.recent-projects a{color:var(--color-primary);font-size:1rem;font-weight:700;text-decoration-thickness:.5rem;text-underline-offset:5px;margin-top:1em;display:inline-block}.recent-projects a:hover{transform:scale(1.05)}.content{margin-top:2em}.projects{margin-top:2em;display:grid;grid-template-columns:1fr;gap:2.5em;align-items:stretch}.project{display:flex;flex-direction:column;flex:1 1 310px;background:#fff;border-radius:.85em;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:transform .25s ease,box-shadow .25s ease}.project:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000026}.project img{width:100%;height:200px;object-fit:cover;border-bottom:1px solid #eee}.project-content{height:100%;padding:1.25em 1.75em;display:flex;flex-direction:column;justify-content:space-between;gap:1em}.project h2{font-size:1.3rem;margin:0;color:#111}.project .description{color:#444;font-size:.85rem;line-height:1.25}.project .skills{display:flex;flex-wrap:wrap;gap:.5em}.project .skill{background:#eef3f8;color:#333;padding:.35em .65em;border-radius:.5em;font-size:.8rem;font-weight:500}.project .links{display:flex;gap:1em;margin-top:auto}.project .links a{flex:1;text-align:center;padding:.65em 0;border:2px solid #333;border-radius:.5em;font-weight:600;text-decoration:none;transition:all .25s ease}.project .links a:hover{background:#333;color:#fff;transform:translateY(-2px)}.photo-gallery{columns:1 100%;column-gap:1em;padding:1em}.photo{break-inside:avoid;margin-bottom:1em;border-radius:.75em;overflow:hidden;box-shadow:0 4px 10px #0000001a;background:#fff;cursor:zoom-in;transition:transform .2s ease,box-shadow .2s ease}.photo:hover{transform:translateY(-4px);box-shadow:0 6px 20px #00000026}.photo img{width:100%;display:block;height:auto}figcaption{padding:.75em 1em 1em;font-size:.85rem;color:#444;display:flex;flex-direction:column}.photo-caption{font-weight:500;margin-bottom:.25em}.photo-date{font-size:.75em;color:#888}#lightbox{position:fixed;inset:0;background:#000000e6;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000}#lightbox.hidden{display:none}#lightbox img{max-width:85%;max-height:75vh;border-radius:.5em;box-shadow:0 0 20px #00000080}#lightbox p{color:#eee;margin-top:1em;font-size:1em;text-align:center}#lightbox:after{content:"x";position:fixed;top:20px;right:30px;font-size:2rem;color:#fff;cursor:pointer}.contact{max-width:500px;width:100%;padding:2em;border-radius:.75em;margin:0 auto}.contact h2{text-align:center;margin-bottom:1em}.contact form{display:flex;flex-direction:column;gap:1em}.contact label{font-weight:600}.contact input,.contact textarea{width:100%;padding:.75em;border:1px solid #ccc;border-radius:.5em;font-size:1rem;font-family:inherit}.contact button{background:#1a1a1a;color:#fff;border:none;padding:1em;border-radius:.5em;font-size:1rem;cursor:pointer;transition:transform .2s ease}.contact button:hover{transform:translateY(-1px)}.contact .email{text-align:center;margin-top:2em}.email-button{display:inline-block;margin-top:.5em;background:#1a1a1a;color:#fff;padding:.75em 1.5em;border-radius:.5em;text-decoration:none;font-weight:600;transition:transform .1s ease}.email-button:hover,.email-button:active{transform:translateY(-1px)}footer{margin-top:3em;padding:2em 1em;text-align:center;border-top:1px solid #ddd}.social-links{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:2em;padding:0;margin:0}.social-icon{width:28px;height:28px;transition:transform .2s ease,opacity .2s ease;opacity:.8}.social-icon:hover,.social-icon:active{transform:scale(1.1);opacity:1}footer p{margin-top:1.5em;font-size:.85rem;color:#777}@media(min-width:768px){nav{justify-content:space-between}.nav-links{gap:2em}.splash{flex-direction:row;justify-content:center;align-items:center;text-align:left;gap:3em}.splash-section.bio{flex:1 1 50%}#recent-projects-list{gap:2em}.recent-project img{max-height:160px}.projects{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.photo-gallery{columns:2 200px}}@media(min-width:1025px){#recent-projects-list{flex-direction:row;flex-wrap:wrap;gap:2em}.recent-project{flex:1 1 30%}.photo-gallery{columns:3 300px}}
