: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;display:flex;place-items:center;min-width:320px;min-height:100vh}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}body{font-family:Arial,sans-serif;line-height:1.6;color:#333}h2,h3{font-family:Arial,sans-serif}#landing{position:relative;height:100vh;width:100vw;overflow:hidden}.bg-video{position:absolute;top:50%;left:50%;width:100%;height:auto;object-fit:cover;transform:translate(-50%,-50%);min-width:100%;min-height:100%}#bg-video-desktop{aspect-ratio:43 / 18;display:block}#bg-video-mobile{aspect-ratio:9 / 16;display:none}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0003,#0009);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff}.logo{max-width:80vw;max-height:50vh;width:auto;height:auto;margin-bottom:0}.logline{font-family:Forum,Arial,sans-serif;font-size:1.8rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.5);margin:0 0 2rem}.cta-button{display:inline-block;padding:1rem 2.5rem;background-color:#fff;color:#000;font-size:1.5rem;font-weight:700;text-decoration:none;border-radius:25px;transition:background-color .3s;margin:2rem}.navbar{position:sticky;top:0;z-index:10;width:100vw;padding:1rem 0;background:linear-gradient(to bottom,#0000,#000);transition:background .3s ease}.navbar.solid{background:#222}nav ul{font-family:Forum,Arial,sans-serif;list-style:none;display:flex;gap:2rem;max-width:1200px;width:100%;margin:0 auto;justify-content:center}nav a{color:#fff;text-decoration:none;font-weight:700;font-size:1.5rem;padding:.5rem 1rem;transition:color .3s ease}nav a:hover,nav a:active{color:gold}#about{padding:2rem;background-color:#f9f9f9;text-align:center}.about-container{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto}.about-content{max-width:100%;text-align:left;flex:1;padding-right:2rem}#about h2{font-family:Forum,Arial,sans-serif;font-size:3rem;font-weight:800;color:#222;margin-bottom:0}.about-tagline{font-style:italic;color:gold;margin-bottom:1rem}#about p{font-size:1.2rem;line-height:1.8;color:#444}.about-thumbnail{flex:0 0 300px}.thumbnail-placeholder{width:300px;height:200px;background:#ddd;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#666;border-radius:8px;box-shadow:0 2px 5px #0000001a}.section-divider{width:80%;height:1px;background-color:#ddd;margin:2rem auto}#services{padding:2rem;background-color:#fff;text-align:center}#services h2{font-family:Forum,Arial,sans-serif;font-size:2.5rem;font-weight:800;color:#222;margin-bottom:1rem}#offerings{font-size:2rem;font-weight:800;color:#222;margin-bottom:4rem}.service-toggle{display:flex;justify-content:center;gap:1.5rem;margin-bottom:2rem}.service-toggle button{padding:.75rem 2rem;border:2px solid #333;background-color:#fff;color:#333;font-size:1.2rem;font-weight:700;border-radius:25px;cursor:pointer;transition:background-color .3s,color .3s,transform .2s,border-color .3s}.service-toggle button:hover{background-color:#555;color:#fff;transform:scale(1.05)}.service-toggle button.active{background-color:#333;color:#fff;border:none}.services-list{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:0 1rem}.service-item{text-align:left}.service-item h3{font-family:Unna,Arial,sans-serif;font-size:1.75rem;font-weight:700;color:#333;margin-bottom:.5rem}.service-item p{font-size:1.2rem;color:#666}#portfolio{padding:3rem;background-color:#e8e8e8;text-align:center}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:1rem;padding:0 1rem}.portfolio-item{background:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;overflow:hidden;transition:transform .3s ease}#portfolio h2{font-family:Forum,Arial,sans-serif;font-size:3.5rem;font-weight:800;color:#222;margin-bottom:.5rem}.thumbnail-container{position:relative;width:100%;height:100%}.thumbnail{width:100%;height:100%;object-fit:cover;display:block;transition:filter .3s ease}.thumbnail.top-pinned{object-position:top}.thumbnail-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.overlay-text{color:#fff;font-size:1.5rem;font-weight:700;text-align:center}.portfolio-item:hover .thumbnail{filter:brightness(70%)}.portfolio-item:hover .thumbnail-overlay{opacity:1}.portfolio-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:10px;max-width:600px;width:90%;text-align:center;box-shadow:0 5px 15px #0000004d}.modal-video{width:100%;height:100%;margin:1rem 0}.modal-content button{padding:.5rem 1.5rem;background-color:#333;color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s,color .3s}.modal-content button:hover{background-color:gold;color:#222}#contact{padding:4rem 2rem;background-color:#f9f9f9;text-align:center}#contact h2{font-family:Forum,Arial,sans-serif;font-size:3.5rem;font-weight:800;color:#222;margin-bottom:1rem}.contact-form{max-width:600px;margin:2rem auto;display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;text-align:left}.form-group label{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;color:#222}.form-group input,.form-group textarea{padding:.75rem;font-size:1rem;border:2px solid #ddd;border-radius:5px;background-color:#fff;color:#333;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:gold;outline:none}.form-group textarea{resize:vertical}.contact-form button{padding:.75rem 2rem;background-color:#333;color:#fff;font-size:1.2rem;font-weight:700;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s}.contact-form button:hover{background-color:gold}.footer{padding:2rem;background-color:#222;color:#fff;text-align:center;font-size:1rem}.footer p{margin:.5rem 0}.footer a{color:gold;text-decoration:none;margin:0 .5rem;transition:color .3s ease}.footer a:hover{color:#fff}@media (max-width: 768px){.navbar{display:none}.logo{max-width:70vw;max-height:40vh}.logline{font-size:1.2rem;margin-bottom:1.5rem}.cta-button{padding:.75rem 2rem;font-size:1.2rem}.about-container{flex-direction:column;align-items:flex-start;padding:0 1rem}.about-content{padding-right:0;margin-bottom:2rem}.about-thumbnail{flex:0 0 auto;width:100%;max-width:300px;margin:0 auto}.service-toggle{gap:1rem}.service-toggle button{padding:.5rem 1.5rem;font-size:1rem}.services-list,.portfolio-grid{grid-template-columns:1fr;gap:1.5rem;padding:0 1rem}.service-item h3{font-size:1.3rem}.service-item p{font-size:1rem}.portfolio-item{width:100%;max-width:300px;margin:0 auto}.contact-form{max-width:100%;padding:0 1rem}.form-group input,.form-group textarea{font-size:.9rem}.contact-form button{padding:.5rem 1.5rem;font-size:1rem}#bg-video-desktop{display:none}#bg-video-mobile{display:block;width:auto;height:100vh;min-width:100%;object-position:center}}@media (max-width: 480px){.logo{max-width:100vw;max-height:30vh}.logline{font-size:1.5rem}.cta-button{padding:.5rem 1.5rem;font-size:1rem}#about h2{font-size:2rem}.about-tagline{font-size:1.2rem}#about p{font-size:1rem}.footer{padding:1rem;font-size:.8rem}}
