@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap");*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg:#03000d;--color-panel:#11041b;--color-panel-alt:#1c0c2a;--color-primary:#de66e8;--color-primary-strong:#b44cbd;--color-secondary:#3b0860;--color-text:#fae5fc;--color-text-muted:rgba(250,229,252,.7);--color-border:rgba(250,229,252,.12);--shadow-soft:0 22px 60px rgba(5,0,15,.55);--gradient-sheen:linear-gradient(135deg,rgba(222,102,232,.12),rgba(59,8,96,.12))}body,html{height:100%;font-family:Manrope,Helvetica Neue,Arial,sans-serif;background:radial-gradient(1200px at 20% 15%,rgba(222,102,232,.12),transparent 55%),radial-gradient(900px at 80% 10%,rgba(180,76,189,.12),transparent 55%),var(--color-bg);color:var(--color-text);line-height:1.6;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 0);background-size:120px 120px;pointer-events:none;opacity:.32;mix-blend-mode:screen;z-index:-1}img{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:Space Grotesk,Manrope,sans-serif;letter-spacing:-.02em}a{color:var(--color-primary)}a:hover{color:var(--color-text)}.container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 100px);padding:40px 20px 80px;text-align:center}.home-hero{max-width:820px;width:100%;padding:42px 40px 46px;border-radius:22px;background:linear-gradient(145deg,rgba(17,4,27,.94),rgba(28,12,42,.92)),var(--gradient-sheen);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.home-hero:after{content:"";position:absolute;width:280px;height:280px;background:radial-gradient(circle,rgba(222,102,232,.18),transparent 65%);top:-120px;right:-60px;filter:blur(6px)}.home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,0));pointer-events:none;opacity:.6}.label-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);color:var(--color-text);letter-spacing:.08em;font-size:12px;text-transform:uppercase;position:relative;z-index:1}.contact-intro .label-pill,.portfolio-hero .label-pill{margin-bottom:12px}.logo img{width:220px;margin:24px auto 12px}.home-title,.logo img{position:relative;z-index:1}.home-title{font-size:clamp(38px,5vw,54px);font-weight:700}.tagline{margin-top:14px;font-size:18px;color:var(--color-text-muted)}.buttons,.tagline{position:relative;z-index:1}.buttons{display:flex;flex-direction:row;gap:16px;margin-top:30px}.btn,.buttons{justify-content:center}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;text-decoration:none;color:var(--color-text);background-image:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));border-radius:12px;font-size:17px;font-weight:700;letter-spacing:.01em;transition:transform .22s ease,box-shadow .22s ease,background .22s ease;box-shadow:0 15px 40px rgba(222,102,232,.28);border:none}.btn:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 22px 50px rgba(180,76,189,.35)}.ghost-btn{padding:15px 30px;border-radius:12px;border:1px solid var(--color-border);color:var(--color-text);text-decoration:none;font-size:16px;transition:background .25s ease,border-color .25s ease,transform .2s ease;background:hsla(0,0%,100%,.02)}.ghost-btn:hover{border-color:var(--color-primary);background:rgba(222,102,232,.08);transform:translateY(-1px)}.meta{margin-top:18px;font-size:14px;color:var(--color-text-muted);letter-spacing:.04em;z-index:1}.meta,header{position:relative}header{background:linear-gradient(180deg,hsla(0,0%,100%,.06),hsla(0,0%,100%,.02));padding:24px 18px;text-align:center;border-bottom:1px solid hsla(0,0%,100%,.04);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-btn,header{color:var(--color-text)}.back-btn{position:absolute;left:20px;top:18px;text-decoration:none;font-size:15px;padding:10px 14px;border-radius:999px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.06);transition:all .2s ease}.back-btn:hover{text-decoration:none;transform:translateY(-1px);border-color:var(--color-primary)}@media (max-width:640px){header{padding-top:54px}.back-btn{position:relative;left:0;top:0;margin-bottom:10px;display:inline-flex}}.content{max-width:1100px;margin:50px auto;padding:0 22px 80px}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:20px;gap:20px;margin-top:30px}.card{background:linear-gradient(165deg,rgba(17,4,27,.95),rgba(28,12,42,.95));border-radius:20px;padding:24px;box-shadow:var(--shadow-soft);text-align:center;border:1px solid var(--color-border);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,rgba(222,102,232,.12),rgba(180,76,189,.12));opacity:.25;z-index:0}.card>*{position:relative;z-index:1}.card img{width:100%;border-radius:10px;margin-bottom:12px;border:1px solid hsla(0,0%,100%,.05)}.lead{margin-top:8px;opacity:.85;color:var(--color-text-muted)}.portfolio-hero{text-align:center;margin-bottom:22px}.portfolio-hero .lead{margin-top:6px;opacity:.9}.portfolio-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:18px;gap:18px;margin-top:22px}.portfolio-feature{margin-top:22px;display:flex;justify-content:center}.portfolio-shot{background:linear-gradient(160deg,rgba(17,4,27,.9),rgba(28,12,42,.9));border:1px solid var(--color-border);border-radius:16px;padding:14px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:12px;overflow:hidden}.portfolio-image{width:100%;height:auto;border-radius:12px;border:1px solid hsla(0,0%,100%,.06);object-fit:cover;box-shadow:0 14px 32px rgba(0,0,0,.25)}.portfolio-shot figcaption{font-size:13px;color:var(--color-text-muted);text-align:center;letter-spacing:.01em}.portfolio-shot--cover{max-width:520px}.portfolio-shot--cover .portfolio-image{transform:scale(.94)}.portfolio-shot--large .portfolio-image{transform:scale(1.1)}.portfolio-note{margin-top:18px;font-size:13px;color:var(--color-text-muted);text-align:center}.contact-page{display:flex;flex-direction:column}.contact-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);grid-gap:32px;gap:32px;align-items:stretch;margin-top:24px}.contact-focus{display:flex;flex-direction:column;gap:24px;padding:40px 32px;text-align:left;align-items:flex-start}.contact-logo{width:100%;display:flex;justify-content:flex-start}.contact-logo img{width:200px;height:auto;object-fit:contain}.contact-intro h2{font-size:36px}.contact-details{list-style:none;width:100%;display:flex;flex-direction:column;gap:12px}.contact-details li{padding:12px 0;border-bottom:1px solid var(--color-border)}.contact-details li:last-child{border-bottom:none}.contact-details .label{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted)}.contact-details .value{font-size:18px;display:block;margin-top:4px}.contact-details a{color:var(--color-primary);text-decoration:none}.contact-details a:hover{text-decoration:underline}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;width:100%}.contact-form-section{text-align:left;margin:0;padding:32px;display:flex;flex-direction:column;justify-content:center}.contact-form-head{margin-bottom:20px}.form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.form-row.check{flex-direction:row;align-items:center;gap:10px}.form-row label{font-weight:600}.form-row input[type=email],.form-row input[type=text],.form-row select,.form-row textarea{border:1px solid hsla(0,0%,100%,.08);border-radius:12px;padding:12px;font:inherit;background:linear-gradient(135deg,hsla(0,0%,100%,.03),hsla(0,0%,100%,.015));color:var(--color-text)}.form-row textarea{resize:vertical}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid rgba(222,102,232,.4);border-color:var(--color-primary)}.form-row ::placeholder{color:var(--color-text-muted)}.error{color:#ff9b9b;font-size:12px;min-height:14px}.form-note{font-size:12px;color:var(--color-text-muted);margin-top:6px}.form-success{margin-top:12px;background:rgba(14,157,113,.18);color:#92ffd7;padding:10px 12px;border-radius:10px}.tiny{font-size:13px;color:var(--color-text-muted);margin-top:12px;text-align:left}.hp{position:absolute;left:-5000px}@media print{body.portfolio-page.print-disabled *{display:none!important}body.portfolio-page.print-disabled:before{content:"La stampa del portfolio è disabilitata.";display:block!important;margin:40px;font-size:18px;color:#000;text-align:center}}@media (max-width:960px){.contact-layout{grid-template-columns:1fr}.contact-focus{margin-bottom:10px}.buttons{flex-direction:column}}@media (max-width:700px){.home-hero{padding:34px 26px}.contact-focus{padding:32px 20px;text-align:center;align-items:center}.contact-actions,.contact-logo{justify-content:center}.contact-actions .btn,.ghost-btn{width:100%;text-align:center}.form-row.check{align-items:flex-start}}.map-section{margin-top:36px}.map-embed{border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid hsla(0,0%,100%,.05)}.map-embed iframe{width:100%;height:360px;border:0;filter:grayscale(10%)}.btn{cursor:pointer}footer{text-align:center;padding:20px 10px;background:hsla(0,0%,100%,.03);color:var(--color-text);font-size:14px;border-top:1px solid hsla(0,0%,100%,.05)}.footer-links{margin-top:10px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;font-size:13px}.footer-links a{color:var(--color-text);text-decoration:none;opacity:.85}.footer-links a:hover{color:var(--color-primary);opacity:1}.cookie,.privacy{max-width:900px;margin:40px auto;padding:0 20px}.cookie h1,.privacy h1{margin-bottom:10px}.cookie h2,.privacy h2{margin-top:28px;margin-bottom:8px}.cookie li,.cookie p,.privacy li,.privacy p{line-height:1.6}.muted{opacity:.8;font-size:.95rem}.legal-list{list-style:disc;margin-left:1.2rem}.inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;background:rgba(250,229,252,.08);padding:0 .35rem;border-radius:4px}