:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100dvh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}:root{--wood-brown: #8b4513;--dark-wood: #654321;--cream: #002416;--charcoal: #2c2c2c;--gold: #daa520;--white: #ffffff;--black: #000000;--shadow: rgba(0, 0, 0, .1);--transition: all .3s ease}body{font-family:Sorts Mill Goudy,Georgia,Times New Roman,serif;line-height:1.6;color:var(--white);background-color:var(--cream)}h1,h2,h3,h4,h5,h6,.section-title,.logo,.nav-links a,.mobile-nav a{font-family:Cinzel,serif}.App{min-height:100dvh;display:flex;flex-direction:column}main{flex:1;padding-top:80px}nav{position:fixed;top:0;width:100%;background:var(--black);box-shadow:0 2px 20px var(--shadow);z-index:1000;padding:1rem 0}.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 2rem;position:relative}.logo{font-size:1.5rem;font-weight:700;color:var(--white);height:auto;padding:0;will-change:auto;transition:var(--transition)}.nav-links{display:flex;list-style:none;gap:2rem}.hamburger{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:0;width:30px;height:30px;justify-content:space-around;z-index:1001}.hamburger span{display:block;height:3px;width:100%;background:var(--white);transition:var(--transition);transform-origin:center}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.mobile-nav{display:none;position:absolute;top:100%;left:2rem;right:2rem;width:calc(100% - 4rem);background:var(--charcoal);border:1px solid var(--gold);border-radius:12px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;padding:0;gap:0;max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),padding .4s ease;z-index:999}.mobile-nav.active{max-height:420px;padding:1.5rem}.mobile-nav li{text-align:center;padding:0;margin:.5rem 0;border-radius:8px;transition:var(--transition)}.mobile-nav li:first-child{margin-top:0}.mobile-nav li:last-child{margin-bottom:40px;padding-bottom:.5rem}.mobile-nav li:hover{background:#daa5201a;transform:translate(4px)}.mobile-nav a{display:block;font-size:1.1rem;color:var(--white);text-decoration:none;padding:1rem 1.5rem;border-radius:8px;font-weight:500;letter-spacing:.5px;transition:var(--transition);position:relative}.mobile-nav a:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--gold);border-radius:2px;transition:height .3s ease}.mobile-nav a:hover:before{height:60%}.mobile-nav a:hover{color:var(--gold);background:#daa5200d}.nav-links a{text-decoration:none;color:var(--white);font-weight:500;transition:var(--transition);position:relative}.nav-links a:hover{color:var(--gold)}.nav-links a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--gold);transition:var(--transition)}.nav-links a:hover:after{width:100%}.hero{min-height:calc(100dvh - 80px);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cream) 0%,#002416 100%);padding:2rem}.hero-content{text-align:center;max-width:800px}.hero h1{font-size:3.5rem;color:var(--white);margin-bottom:1rem;font-weight:300}.hero-logo{max-width:100%;height:auto;max-height:200px;width:auto;margin-bottom:1rem;border-radius:8px}.andrew-evans-image{width:200px;height:200px;object-fit:cover;border-radius:50%;margin:0 auto 2rem;display:block;box-shadow:0 5px 20px var(--shadow)}.hero .tagline{font-size:1.3rem;color:var(--white);margin-bottom:2rem;font-style:italic}.hero p{font-size:1.1rem;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.cta-button{display:inline-block;padding:1rem 2rem;background:var(--wood-brown);color:var(--white);text-decoration:none;border-radius:5px;transition:var(--transition);font-weight:600;letter-spacing:.5px}.cta-button:hover{background:var(--dark-wood);transform:translateY(-2px);box-shadow:0 5px 15px var(--shadow)}.email-button{margin-top:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;width:100%;text-align:center}.email-action{font-size:1.2rem;font-weight:600;letter-spacing:.5px;font-family:Cinzel,serif}.email-button .email-address{font-size:1.2rem;font-weight:600;letter-spacing:.5px;color:var(--white)!important;font-family:Cinzel,serif}.hero .social-links{display:flex;gap:1rem;margin:40px;justify-content:center}.hero .social-links a{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:#daa52033;color:var(--white);text-decoration:none;border-radius:50%;transition:var(--transition);font-size:1.2rem;border:2px solid var(--gold)}.hero .social-links a:hover{background:var(--gold);color:var(--charcoal);transform:translateY(-3px);box-shadow:0 5px 15px #daa5204d}.gallery{padding:5rem 2rem;background:var(--black);min-height:calc(100dvh - 80px)}.container{max-width:1200px;margin:0 auto}.section-title{text-align:center;font-size:2.5rem;color:var(--white);margin-bottom:3rem;font-weight:300}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.gallery-item{background:var(--cream);border-radius:10px;overflow:hidden;box-shadow:0 5px 20px var(--shadow);transition:var(--transition)}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.image-container{position:relative;height:300px;overflow:hidden;background:#f0f0f0}.gallery-image{width:100%;height:100%;object-fit:cover;transition:var(--transition);filter:blur(20px);opacity:0;scale:1.1}.gallery-image.loaded{filter:blur(0);opacity:1;scale:1}.image-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border:4px solid var(--wood-brown);border-top:4px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.gallery-image.loaded+.image-placeholder,.about-photo.loaded+.image-placeholder{display:none}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.gallery-info{padding:1.5rem}.gallery-info h3{color:var(--white);margin-bottom:.5rem;font-size:1.3rem}.gallery-info p{color:var(--white);font-size:.95rem}.about{padding:5rem 2rem;background:var(--cream);min-height:calc(100dvh - 80px)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-text h2{font-size:2.5rem;color:var(--white);margin-bottom:2rem;font-weight:300}.about-text p{margin-bottom:1.5rem;font-size:1.1rem}.skills{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}.skills li{padding:.5rem 0;border-bottom:1px solid var(--wood-brown);color:var(--white);font-weight:500}.about-image{position:relative;border-radius:10px;overflow:hidden;box-shadow:0 10px 30px var(--shadow)}.about-image img{width:100%;height:400px;object-fit:cover;transition:var(--transition);filter:blur(20px);opacity:0;scale:1.1}.about-image img.loaded{filter:blur(0);opacity:1;scale:1}.contact{padding:5rem 2rem;background:var(--black);min-height:calc(100dvh - 80px)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact-info h3{color:var(--white);margin-bottom:1rem;font-size:1.5rem}.contact-info a{color:var(--gold);text-decoration:none;transition:var(--transition)}.contact-info a:hover{color:var(--white)}.contact-info p:last-child{margin-top:40px}.contact-item{display:flex;align-items:center;margin-bottom:1.5rem;font-size:1.1rem}.contact-item i{margin-right:1rem;color:var(--wood-brown);width:20px}.social-links{display:flex;gap:1rem;margin-top:2rem}.social-links a{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:var(--wood-brown);color:var(--white);text-decoration:none;border-radius:50%;transition:var(--transition);font-size:1.2rem}.social-links a:hover{background:var(--dark-wood);transform:translateY(-3px)}.contact-form{background:var(--cream);padding:2rem;border-radius:10px;box-shadow:0 5px 20px var(--shadow)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--white);font-weight:600}.form-group input,.form-group textarea{width:100%;padding:1rem;border:2px solid #ddd;border-radius:5px;font-family:inherit;font-size:1rem;transition:var(--transition)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--wood-brown)}.form-group textarea{resize:vertical;height:120px}.submit-btn{width:100%;padding:1rem;background:var(--wood-brown);color:var(--white);border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition)}.submit-btn:hover{background:var(--dark-wood)}footer{background:var(--charcoal);color:var(--white);text-align:center;padding:2rem;margin-top:auto}@media (max-width: 768px){.hamburger{display:flex}.desktop-nav{display:none}.mobile-nav{display:flex}.hero h1{font-size:2.5rem}.hero-logo{max-height:150px;margin-top:2rem;margin-bottom:1.5rem}.hero .tagline{font-size:1.1rem;max-width:200px;margin-left:auto;margin-right:auto}.gallery-grid{grid-template-columns:1fr}.about-content,.contact-content{grid-template-columns:1fr;gap:2rem}.skills{grid-template-columns:1fr}main{padding-top:60px}}.project-detail{padding:2rem;background:var(--cream);min-height:calc(100dvh - 80px)}.back-button{background:var(--wood-brown);color:var(--white);border:none;padding:.75rem 1.5rem;border-radius:5px;font-size:1rem;cursor:pointer;margin-bottom:2rem;transition:var(--transition);font-family:Cinzel,serif}.back-button:hover{background:var(--dark-wood)}.project-detail-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.project-images{position:relative;min-width:0}.main-image-container{position:relative;margin-bottom:1rem;overflow:hidden}.main-project-image{width:100%;max-width:100%;height:700px;object-fit:cover;border-radius:10px;transition:var(--transition);display:block}.image-nav{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;color:var(--white);border:none;width:50px;height:50px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.image-nav:hover{background:#000000e6}.image-nav.prev{left:10px}.image-nav.next{right:10px}.image-counter{position:absolute;bottom:10px;right:10px;background:#000000b3;color:var(--white);padding:.5rem 1rem;border-radius:20px;font-size:.9rem}.image-thumbnails{display:flex;gap:.5rem;overflow-x:auto;padding:.5rem 0}.thumbnail{width:80px;height:60px;object-fit:cover;border-radius:5px;cursor:pointer;opacity:.6!important;transition:var(--transition);flex-shrink:0;filter:none!important;scale:1!important}.thumbnail:hover,.thumbnail.active{opacity:1!important;border:2px solid var(--wood-brown)}.project-info h1{font-size:2.5rem;color:var(--white);margin-bottom:1rem}.project-description{font-size:1.1rem;color:var(--white);margin-bottom:2rem;line-height:1.7}.project-details{display:flex;flex-direction:column;gap:1.5rem}.detail-section h3{font-size:1.3rem;color:var(--wood-brown);margin-bottom:.5rem}.detail-section p{color:var(--white);font-size:1rem}.detail-section ul{list-style:none;padding:0}.detail-section li{color:var(--white);padding:.25rem 0 .25rem 1rem;position:relative}.detail-section li:before{content:"•";color:var(--wood-brown);font-size:1.2rem;position:absolute;left:0}@media (max-width: 768px){.project-detail{padding-top:3rem}.project-detail-content{grid-template-columns:1fr;gap:2rem}.main-project-image{height:500px}.project-info h1{font-size:2rem}.image-nav{width:40px;height:40px;font-size:1.2rem}.image-counter{font-size:.8rem;padding:.3rem .7rem}}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-in-out}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 10px 40px #00000080}.lightbox-close{position:absolute;top:-50px;right:-10px;background:none;border:none;color:var(--white);font-size:3rem;cursor:pointer;z-index:2001;transition:var(--transition);width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%}.lightbox-close:hover{background:#ffffff1a;transform:scale(1.1)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;color:var(--white);border:none;width:60px;height:60px;border-radius:50%;font-size:1.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);z-index:2001}.lightbox-nav:hover{background:#000000e6;transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:-80px}.lightbox-next{right:-80px}.lightbox-counter{position:absolute;bottom:-50px;left:50%;transform:translate(-50%);background:#000000b3;color:var(--white);padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-family:Cinzel,serif}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.lightbox-nav{width:50px;height:50px;font-size:1.4rem}.lightbox-prev{left:-60px}.lightbox-next{right:-60px}.lightbox-close{top:-40px;right:0;font-size:2.5rem}.lightbox-counter{bottom:-40px;font-size:.8rem;padding:.3rem .8rem}}
