@font-face{font-display:swap;font-family:Cinzel;font-style:normal;font-weight:400;src:url(/assets/fonts/cinzel-latin-400.woff2) format("woff2")}@font-face{font-display:swap;font-family:Cinzel;font-style:normal;font-weight:500;src:url(/assets/fonts/cinzel-latin-500.woff2) format("woff2")}@font-face{font-display:swap;font-family:Cinzel;font-style:normal;font-weight:600;src:url(/assets/fonts/cinzel-latin-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:Cinzel;font-style:normal;font-weight:700;src:url(/assets/fonts/cinzel-latin-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:Cinzel;font-style:normal;font-weight:800;src:url(/assets/fonts/cinzel-latin-800.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:100 900;src:url(/assets/fonts/inter-latin-var.woff2) format("woff2")}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:400;src:url(/assets/fonts/playfair-display-latin-400.woff2) format("woff2")}@font-face{font-display:swap;font-family:Playfair Display;font-style:italic;font-weight:400;src:url(/assets/fonts/playfair-display-latin-italic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:700;src:url(/assets/fonts/playfair-display-latin-700.woff2) format("woff2")}:root{--color-bg:#fff;--color-bg-light:#f8f8f8;--color-text:#1a1a1a;--color-text-soft:#555;--color-accent:#036;--color-border:#eaeaea;--radius-cards:12px;--shadow-cards:0 4px 12px rgba(0,0,0,.05);--shadow-hover:0 6px 16px rgba(0,0,0,.08);--font-primary:"Inter",sans-serif;--font-heading:"Cinzel",serif;--font-accent:"Playfair Display",serif;--font-serif:"Playfair Display",serif;--transition-speed:0.3s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-primary),sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:block;height:auto;max-width:100%}a{color:inherit;text-decoration:none;transition:var(--transition-speed)}button{cursor:pointer;font-family:var(--font-primary),sans-serif}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:.5px}p{color:var(--color-text-soft);margin-bottom:1rem}.container{margin:0 auto;max-width:1200px;width:90%}.grid-2-col{align-items:center;display:grid;gap:5vw;grid-template-columns:1fr 1fr}.btn{border-radius:8px;cursor:pointer;display:inline-block;font-weight:500;padding:12px 28px;transition:var(--transition-speed)}.btn-outline{background-color:transparent;border:2px solid var(--color-text);color:var(--color-text)}.btn-outline:hover{background-color:var(--color-text);color:var(--color-bg)}.whatsapp-float{bottom:20px;cursor:pointer;height:50px;opacity:1;position:fixed;right:20px;transform:translateY(0);transition:opacity .3s ease,transform .3s ease;width:50px;z-index:99}.whatsapp-float img{filter:drop-shadow(0 4px 6px rgba(0,0,0,.2));height:100%;width:100%}.whatsapp-float:hover{transform:scale(1.1)}.back-to-top-btn{background-color:var(--color-text);border:none;border-radius:50%;bottom:85px;color:var(--color-bg);cursor:pointer;font-size:1.5rem;height:44px;line-height:44px;opacity:0;position:fixed;right:23px;text-align:center;transform:translateY(10px);transition:opacity .3s,visibility .3s,transform .3s;visibility:hidden;width:44px;z-index:100}.back-to-top-btn.show{opacity:1;transform:translateY(0);visibility:visible}.back-to-top-btn:hover{background-color:var(--color-text-soft)}.site-header{background:var(--color-bg);border-bottom:1px solid var(--color-border);justify-content:space-between;padding:1.5rem 5vw;position:sticky;top:0;z-index:100}.logo,.site-header{align-items:center;display:flex}.logo{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;gap:.75rem;letter-spacing:.5px;white-space:nowrap;z-index:102}.site-logo-icon{border:1px solid var(--color-border);border-radius:50%;height:30px;overflow:hidden;width:30px}.site-logo-icon img{display:block;height:100%;object-fit:cover;width:100%}.nav-links{display:flex;gap:2rem}.nav-links a{color:var(--color-text-soft);font-weight:500}.nav-links a.active,.nav-links a:hover{color:var(--color-text)}.nav-links a.active{font-weight:700}.nav-toggle{background:transparent;border:none;cursor:pointer;display:none;flex-direction:column;height:30px;justify-content:space-around;padding:0;width:30px;z-index:104}.hamburger-bar{background:var(--color-text);border-radius:3px;height:3px;transition:all .3s ease-in-out;width:30px}@media (max-width:900px){.nav-toggle{display:flex}.logo-text{display:block;font-size:.9rem}.main-nav-wrapper{background-color:rgba(0,0,0,.5);height:100vh;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease-in-out,visibility .3s;visibility:hidden;width:100%;z-index:103}.nav-links{align-items:center;background:var(--color-bg);box-shadow:-5px 0 15px rgba(0,0,0,.1);display:flex;flex-direction:column;gap:2rem;height:100%;justify-content:center;max-width:300px;position:absolute;right:0;top:0;width:70%}.nav-links a{font-size:1.2rem}.main-nav-wrapper.is-open{transform:translateX(0);visibility:visible}.nav-toggle[aria-expanded=true] .hamburger-bar:first-child{transform:rotate(45deg) translate(7px,7px)}.nav-toggle[aria-expanded=true] .hamburger-bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .hamburger-bar:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}}.main-nav-wrapper.is-open{background-color:rgba(0,0,0,.5);display:block;height:100vh;position:fixed;right:0;top:0;transform:translateX(0);visibility:visible;width:100%;z-index:103}.main-nav-wrapper.is-open .nav-links{align-items:center;background:var(--color-bg);box-shadow:-5px 0 15px rgba(0,0,0,.1);display:flex;flex-direction:column;gap:2rem;height:100%;justify-content:center;position:absolute;right:0;top:0;width:300px}.main-nav-wrapper.is-open .nav-links a{font-size:1.5rem}.contact-section{background-color:var(--color-bg);border-top:1px solid var(--color-border);margin-top:2rem;padding:60px 5vw 2rem}.map-wrapper{border:1px solid #eee;border-radius:12px;height:400px;overflow:hidden;width:100%}.map-wrapper iframe{filter:grayscale(1);pointer-events:none}.map-wrapper.is-active iframe{pointer-events:auto}.contact-group{margin-bottom:2rem}.contact-subheading{color:var(--color-text-soft);font-size:.9rem;letter-spacing:1px;margin-bottom:.75rem;text-transform:uppercase}.contact-info a,.contact-info address{font-size:1.1rem;font-style:normal;font-weight:500;line-height:1.7}.contact-info a:hover{text-decoration:underline}.email-group{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.email-text{cursor:pointer;font-size:1.1rem;font-weight:500;word-break:break-all}.copy-email-btn{background:#f9f9f9;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-soft);font-size:.8rem;font-weight:500;padding:.25rem .75rem;transition:var(--transition-speed)}.copy-email-btn:hover{background:#eee}.copy-email-btn.copied{background:#d4edda;border-color:#c3e6cb;color:#155724}.social-icons{display:flex;gap:1.5rem}.social-icons a{color:var(--color-text-soft)}.social-icons a:hover{color:var(--color-text)}.social-icons svg{fill:currentColor;height:24px;width:24px}.site-copyright{border-top:1px solid #eee;margin:3rem auto 0;max-width:1200px;padding-top:2rem;width:90%}.site-copyright p{color:#999;font-size:.9rem;margin:0;text-align:center}.site-copyright a{color:#777;font-weight:500;text-decoration:none}.site-copyright a:hover{text-decoration:underline}@media (max-width:900px){.grid-2-col{grid-template-columns:1fr}.map-wrapper{margin-bottom:3rem}.contact-info{text-align:center}.email-group,.social-icons{justify-content:center}}.project-detail{display:none;margin:0 auto;max-width:1400px;min-height:60vh;padding:2rem 5vw}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.back-btn{background:none;border:none;color:var(--color-text-soft);cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:2rem;margin-top:-1rem;padding:0}.back-btn:hover{color:var(--color-text)}.project-slider-wrapper{background-color:#f0f0f0;border-radius:var(--radius-cards);box-shadow:var(--shadow-cards);margin:0 auto;max-width:1000px;overflow:hidden;position:relative;width:100%}.project-slider{display:flex;transition:transform .4s ease-in-out}.slider-slide{aspect-ratio:16/9;cursor:zoom-in;flex:0 0 100%}.slider-slide img{height:100%;object-fit:cover;width:100%}.slider-slide picture{display:block;height:100%;width:100%}.slider-slide picture img{height:100%;object-fit:cover;width:100%}.slider-nav{background-color:hsla(0,0%,100%,.8);border:none;border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,.1);color:var(--color-text);font-size:1.5rem;height:44px;position:absolute;top:50%;transform:translateY(-50%);width:44px}.slider-nav:hover{background-color:#fff}.slider-nav.prev{left:1rem}.slider-nav.next{right:1rem}.project-content{margin:3rem auto 0;max-width:800px;text-align:center}.project-title{font-size:clamp(1.8rem,5vw,2.5rem);margin-bottom:1rem}.project-description{color:var(--color-text-soft);font-size:1.1rem;line-height:1.7;margin-bottom:1.5rem}.project-quote-wrapper{background-color:var(--color-bg-light);border-left:4px solid var(--color-accent);border-radius:4px;margin:2rem auto;max-width:700px;padding:1.5rem;position:relative}.project-quote{color:var(--color-text);font-family:var(--font-primary),serif;font-size:1.2rem;font-style:italic;margin-bottom:.5rem;text-align:center}.project-client{color:var(--color-text-soft);display:block;font-size:.9rem;font-style:normal;font-weight:600;text-align:center}.project-tags{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}.detail-tag{background-color:#f0f0f0;border-radius:99px;font-size:.85rem;font-weight:500;padding:.4rem 1rem;text-transform:capitalize}.error-message{background-color:#ffd2d2;border:1px solid #d8000c;border-radius:8px;color:#d8000c;margin:2rem auto;padding:1rem;text-align:center}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.share-button-group{border-top:1px solid var(--color-border);margin-top:3rem;padding-top:2rem;text-align:center}.share-title{color:var(--color-text-soft);font-size:1rem;font-weight:500;margin-bottom:1.5rem}.share-icon-wrapper{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.share-icon-btn{align-items:center;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;height:44px;justify-content:center;position:relative;text-decoration:none;transition:all .2s ease;width:44px}.share-icon-btn:hover{box-shadow:var(--shadow-hover);transform:scale(1.1) translateY(-2px)}.share-icon-btn svg{fill:currentColor;height:24px;transition:all .2s ease;width:24px}.share-icon-btn.whatsapp{background-color:#25d366}.share-icon-btn.facebook{background-color:#1877f2}.share-icon-btn.linkedin{background-color:#0a66c2}.share-icon-btn.x{background-color:#000}.share-icon-btn.telegram{background-color:#08c}.share-icon-btn.mail{background-color:#777}.share-icon-btn.copy-link{background-color:var(--color-bg-light);border:1px solid var(--color-border);color:var(--color-text)}.copy-tooltip{background-color:var(--color-text);border-radius:6px;bottom:120%;color:#fff;font-size:.9rem;font-weight:500;left:50%;opacity:0;padding:.5rem 1rem;position:absolute;transform:translateX(-50%) translateY(5px);transition:all .2s ease;visibility:hidden;white-space:nowrap;z-index:10}.copy-tooltip:after{border-color:var(--color-text) transparent transparent transparent;border-style:solid;border-width:5px;content:"";left:50%;margin-left:-5px;position:absolute;top:100%}.share-icon-btn.copy-link.copied .copy-tooltip{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}.copy-icon-copied,.copy-icon-default{height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .2s ease;width:24px}.copy-icon-copied,.share-icon-btn.copy-link.copied .copy-icon-default{opacity:0;transform:translate(-50%,-50%) scale(0)}.share-icon-btn.copy-link.copied .copy-icon-copied{color:var(--color-bg);opacity:1;transform:translate(-50%,-50%) scale(1)}.lightbox-overlay{align-items:center;background-color:rgba(0,0,0,.9);display:flex;height:100%;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%;z-index:1000}.lightbox-overlay.active{opacity:1;visibility:visible}.lightbox-content{border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.5);max-height:90%;max-width:90%;transform:scale(.9);transition:transform .3s ease}.lightbox-overlay.active .lightbox-content{transform:scale(1)}.lightbox-close{background:transparent;border:none;color:#fff;cursor:pointer;font-size:2rem;position:absolute;right:20px;top:20px;z-index:1001}.lightbox-close:hover{color:#ccc}.lightbox-nav{align-items:center;background:hsla(0,0%,100%,.1);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:60px;justify-content:center;padding:1rem;position:absolute;top:50%;transform:translateY(-50%);transition:background .3s ease;width:60px;z-index:1001}.lightbox-nav:hover{background:hsla(0,0%,100%,.3)}.lightbox-prev{left:20px}.lightbox-next{right:20px}.reveal-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out;will-change:opacity,transform}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1;transform:none;transition:none}}html::-webkit-scrollbar{display:none}html{-ms-overflow-style:none;scrollbar-width:none}