*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0c0c0c;--bg-soft: #141414;--text: #f5f5f0;--text-muted: #8a8a85;--accent: #c9a962;--accent-dim: rgba(201, 169, 98, .4);--border: rgba(255, 255, 255, .06);--font-serif: "Instrument Serif", Georgia, serif;--font-sans: "Outfit", system-ui, sans-serif;--space: clamp(.75rem, 4vw, 2.5rem);--section-padding: clamp(1.25rem, 4vw, 2.25rem);--container: min(1200px, 100% - var(--space) * 2);--touch-min: 44px}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-weight:400;font-size:1rem;line-height:1.6;color:var(--text);background:var(--bg);overflow-x:hidden}.app-theme-wrapper{min-height:100%}img{max-width:100%;height:auto;display:block;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space);background:linear-gradient(to bottom,var(--bg) 0%,transparent 100%);transition:background .3s ease}.header.scrolled{background:#0c0c0ce6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.logo{font-family:var(--font-serif);font-size:1.5rem;letter-spacing:.02em}.header .nav{display:flex;gap:2rem}.header .nav a{font-size:.9rem;font-weight:500;color:var(--text-muted);transition:color .2s ease}.header .nav a:hover{color:var(--text)}.header-actions{display:flex;align-items:center;gap:.75rem}.theme-picker{position:relative}.theme-picker-btn{display:flex;align-items:center;justify-content:center;min-width:var(--touch-min);min-height:var(--touch-min);width:36px;height:36px;padding:0;border-radius:8px;border:1px solid var(--border);background:var(--bg-soft);cursor:pointer;transition:border-color .2s ease}.theme-picker-btn:hover{border-color:var(--accent-dim)}.theme-picker-swatch{width:20px;height:20px;border-radius:4px}.theme-picker-panel{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;max-width:min(280px,calc(100vw - 2rem));padding:1rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:102}.theme-picker-label{font-size:.8rem;font-weight:500;color:var(--text-muted);margin-bottom:.75rem}.theme-picker-presets{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.theme-picker-preset{width:28px;height:28px;padding:0;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.theme-picker-preset:hover{border-color:var(--text-muted);transform:scale(1.08)}.theme-picker-custom{display:flex;align-items:center;gap:.75rem}.theme-picker-custom-label{font-size:.85rem;color:var(--text-muted)}.theme-picker-input{width:40px;height:32px;padding:2px;border:1px solid var(--border);border-radius:6px;background:var(--bg);cursor:pointer}.theme-picker-input::-webkit-color-swatch-wrapper{padding:0}.theme-picker-input::-webkit-color-swatch{border:none;border-radius:4px}.menu-btn{display:none;flex-direction:column;gap:6px}.menu-btn span{width:24px;height:2px;background:var(--text)}@media(max-width:768px){.header .nav{position:fixed;top:0;right:0;bottom:0;width:280px;padding:5rem 2rem 2rem;background:var(--bg);flex-direction:column;align-items:flex-start;gap:1.5rem;border-left:1px solid var(--border);transform:translate(100%);transition:transform .3s ease;display:flex}.header .nav.open{transform:translate(0)}.header .nav a{font-size:1.1rem}.menu-btn{display:flex;z-index:101;transition:transform .3s ease}.menu-btn.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-btn.active span:nth-child(2){opacity:0}.menu-btn.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.menu-btn span{transition:transform .3s ease,opacity .3s ease}.header{padding-left:.75rem;padding-right:.75rem}.theme-picker-panel{right:0;left:auto}}@media(max-width:480px){.header .nav{width:100%;max-width:280px}.theme-picker-btn{width:40px;height:40px}}body.menu-open,body.lightbox-open{overflow:hidden}.hero{position:relative;min-height:auto;display:flex;align-items:center;justify-content:center;padding-top:calc(4.5rem + var(--section-padding) * 1.5);padding-bottom:calc(var(--section-padding) * 1.5);padding-left:var(--space);padding-right:var(--space)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;background:url(https://images.unsplash.com/photo-1516035069371-29a1b244cc32?w=1920&q=85) center/cover no-repeat;opacity:.35}.hero-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 0%,var(--bg) 70%)}.hero-content{position:relative;z-index:1;max-width:640px;text-align:center}.hero-title{font-family:var(--font-serif);font-size:clamp(2.25rem,8vw,4rem);font-weight:400;line-height:1.1;margin-bottom:.5rem}.hero-subtitle{font-size:1.1rem;color:var(--text-muted);margin-bottom:1.5rem}.hero-text{font-size:1rem;line-height:1.7;color:var(--text-muted);margin-bottom:1.5rem}.hero-cta{display:inline-block;font-size:1rem;font-weight:500;color:var(--text);padding:.75rem 1.5rem;border:1px solid var(--border);border-radius:6px;transition:border-color .2s ease,background .2s ease}.hero-cta:hover{border-color:var(--accent-dim);background:#c9a96214}@media(max-width:768px){.hero{padding-top:calc(4rem + var(--section-padding));padding-bottom:var(--section-padding);padding-left:1rem;padding-right:1rem}.hero-content{max-width:100%}.hero-title{font-size:clamp(1.75rem,9vw,2.75rem)}.hero-subtitle{font-size:1rem;margin-bottom:1rem}.hero-text{font-size:.95rem;margin-bottom:1.25rem}.hero-cta{min-height:var(--touch-min);padding:.875rem 1.5rem}}.section-header{margin-bottom:2rem}.section-title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:400;margin-bottom:.75rem}.section-intro{font-size:1rem;color:var(--text-muted);line-height:1.6;max-width:56ch}@media(max-width:768px){.section-header{margin-bottom:1.5rem}.section-title{font-size:clamp(1.5rem,6vw,2rem)}.section-intro{font-size:.95rem;max-width:none}}.gallery{padding:var(--section-padding) var(--space);max-width:1400px;margin:0 auto}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.gallery-item{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:3/4;cursor:pointer}.gallery-image-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.gallery-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}.gallery-item:hover .gallery-image-wrap img{transform:scale(1.03)}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:1rem;z-index:1;background:linear-gradient(to top,rgba(0,0,0,.8),transparent)}.gallery-category{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.25rem}.gallery-caption h3{font-family:var(--font-serif);font-size:1.15rem;font-weight:400}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.gallery-grid{grid-template-columns:1fr;gap:.75rem}.gallery-item{aspect-ratio:4/3}}@media(max-width:768px){.gallery{padding:var(--section-padding) 1rem}.gallery-caption{padding:.75rem}.gallery-caption h3{font-size:1rem}}.about{padding:var(--section-padding) var(--space);background:var(--bg-soft)}.about-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-visual{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:4/5}.about-visual img{width:100%;height:100%;object-fit:cover}.about-title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:400;line-height:1.2;margin-bottom:1.25rem}.about-text{color:var(--text-muted);margin-bottom:1.25rem;max-width:50ch;line-height:1.65}.about-list{list-style:none;font-size:.95rem;color:var(--text-muted)}.about-list li{border-bottom:1px solid var(--border);position:relative;padding:.5rem 0 .5rem 1.25rem}.about-list li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;background:var(--accent);border-radius:50%}@media(max-width:768px){.about{padding:var(--section-padding) 1rem}.about-inner{grid-template-columns:1fr;gap:1.5rem}.about-visual{aspect-ratio:16/10}.about-title{font-size:clamp(1.5rem,5vw,2rem)}.about-text{font-size:.95rem;max-width:none}}.servizi{padding:var(--section-padding) var(--space);background:var(--bg)}.servizi-inner{max-width:800px;margin:0 auto}.servizi-title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:400;margin-bottom:.75rem}.servizi-intro{color:var(--text-muted);margin-bottom:2rem;line-height:1.6}.servizi-list{list-style:none}.servizi-item{padding:1.25rem 0;border-bottom:1px solid var(--border)}.servizi-item:last-child{border-bottom:none}.servizi-item-title{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.servizi-item-desc{font-size:.95rem;color:var(--text-muted);line-height:1.6}@media(max-width:768px){.servizi{padding:var(--section-padding) 1rem}.servizi-title{font-size:clamp(1.5rem,5vw,2rem)}.servizi-intro{margin-bottom:1.5rem;font-size:.95rem}.servizi-item{padding:1rem 0}}.cta{padding:var(--section-padding) var(--space);text-align:center}.cta-inner{max-width:600px;margin:0 auto}.cta-title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:400;margin-bottom:.75rem}.cta-text{color:var(--text-muted);margin-bottom:1.5rem;line-height:1.6}.cta-links{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:center;margin-bottom:2rem}.cta-link{font-size:1.1rem;font-weight:500;color:var(--accent);transition:color .2s ease}.cta-link:hover{color:var(--text)}.cta-form{max-width:420px;margin:0 auto 2rem;text-align:left}.cta-form-row{margin-bottom:1rem}.cta-form-label{display:block;font-size:.9rem;font-weight:500;color:var(--text-muted);margin-bottom:.35rem}.cta-form-input{width:100%;padding:.75rem .85rem;font-family:var(--font-sans);font-size:16px;color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;transition:border-color .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.cta-form-input::placeholder{color:var(--text-muted);opacity:.7}.cta-form-input:focus{outline:none;border-color:var(--accent-dim)}.cta-form-textarea{resize:vertical;min-height:100px}.cta-form-submit{display:block;width:100%;padding:.75rem 1.25rem;font-size:1rem;font-weight:500;color:var(--bg);background:var(--accent);border:none;border-radius:6px;cursor:pointer;transition:opacity .2s ease,background .2s ease}.cta-form-submit:hover{opacity:.92;background:var(--accent)}.cta-note{font-size:.9rem;color:var(--text-muted)}@media(max-width:768px){.cta{padding:var(--section-padding) 1rem}.cta-title{font-size:clamp(1.5rem,5vw,2rem)}.cta-text{margin-bottom:1.25rem;font-size:.95rem}.cta-links{flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.cta-link{display:flex;align-items:center;justify-content:center;padding:.5rem 0;min-height:var(--touch-min)}.cta-form{max-width:none;margin-bottom:1.5rem}.cta-form-submit{min-height:var(--touch-min);padding:.875rem}}.footer{padding:var(--space);border-top:1px solid var(--border)}.footer-inner{max-width:var(--container);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.footer-col{display:flex;flex-direction:column;gap:.25rem}.footer-copy{font-size:.9rem;color:var(--text-muted)}.footer-legal{font-size:.8rem;color:var(--text-muted);opacity:.8}.footer-links{display:flex;flex-wrap:wrap;gap:1rem 1.5rem}.footer-links a{font-size:.85rem;color:var(--text-muted);transition:color .2s ease}.footer-links a:hover{color:var(--accent)}@media(max-width:768px){.footer{padding:1rem}.footer-inner{flex-direction:column;align-items:flex-start;gap:1rem}.footer-links{width:100%}.footer-links a{min-height:var(--touch-min);display:inline-flex;align-items:center}}@media(max-width:480px){.footer-copy,.footer-legal{font-size:.8rem}}#lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--space);background:#000000f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}#lightbox.is-open{opacity:1;visibility:visible}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;z-index:3;min-width:var(--touch-min);min-height:var(--touch-min);width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--text);border-radius:50%;transition:background .2s ease,color .2s ease;-webkit-tap-highlight-color:transparent}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:#ffffff1a;color:var(--accent)}.lightbox-close{top:var(--space);right:var(--space);font-size:2rem;line-height:1}.lightbox-prev{left:var(--space);top:50%;transform:translateY(-50%)}.lightbox-next{right:var(--space);top:50%;transform:translateY(-50%)}@media(max-width:768px){#lightbox{padding:1rem;align-items:center;justify-content:center}.lightbox-close{top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));width:44px;height:44px;font-size:1.75rem}.lightbox-prev,.lightbox-next{bottom:max(1rem,env(safe-area-inset-bottom));top:auto;transform:none;width:48px;height:48px}.lightbox-prev{left:max(.5rem,env(safe-area-inset-left))}.lightbox-next{right:max(.5rem,env(safe-area-inset-right))}#lightbox .lightbox-content{max-height:80vh}#lightbox .lightbox-img{max-height:65vh}#lightbox .lightbox-caption{font-size:.85rem}}#lightbox .lightbox-content{max-width:90vw;max-height:85vh;display:flex;flex-direction:column;align-items:center;gap:1rem}#lightbox .lightbox-img{max-width:100%;max-height:75vh;width:auto;height:auto;object-fit:contain;border-radius:8px}#lightbox .lightbox-caption{text-align:center;color:var(--text-muted);font-size:.9rem}#lightbox .lightbox-category{display:block;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.25rem}#lightbox .lightbox-title{font-family:var(--font-serif);font-size:1.25rem;color:var(--text)}@supports (padding: env(safe-area-inset-top)){.header{padding-top:calc(var(--space) + env(safe-area-inset-top))}.hero{padding-top:calc(4.5rem + var(--section-padding) * 1.5 + env(safe-area-inset-top))}.lightbox-close{top:calc(var(--space) + env(safe-area-inset-top))}.lightbox-prev{left:calc(var(--space) + env(safe-area-inset-left))}.lightbox-next{right:calc(var(--space) + env(safe-area-inset-right))}}@media(max-width:768px){.app-theme-wrapper{overflow-x:hidden}}
