:root{--ink:#303642;--dark:#252b35;--accent:#ff751f;--paper:#f5f6f8;--pale:#eceff3;--muted:#596473;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper)}.wrap{max-width:1150px;margin:auto;padding:0 24px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;padding:10px;z-index:20}.preview{background:#ffe3cf;color:#66300c;text-align:center;padding:7px 12px;font-size:12px;font-weight:700;letter-spacing:.06em}header{position:sticky;top:0;z-index:10;background:#f5f6f8f5;border-bottom:1px solid #dfe2e8;backdrop-filter:blur(10px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:15px;padding-bottom:15px}.brand{font-weight:850;letter-spacing:.09em;font-size:14px;color:var(--ink);text-decoration:none}.brand span{color:#dc5e11}nav{display:flex;gap:22px}nav a{font-size:14px;color:var(--ink);text-decoration:none}nav a:hover{color:#d55b10}.menu-toggle{display:none}.hero{background:linear-gradient(115deg,#242a36 5%,#404a5b 65%,#6c7887);color:white;min-height:590px;display:flex;align-items:center}.hero .wrap{width:100%;padding-top:80px;padding-bottom:80px}.eyebrow{color:var(--accent);font-size:12px;letter-spacing:.17em;text-transform:uppercase;font-weight:800}.hero h1{max-width:890px;font-size:clamp(42px,6vw,76px);font-family:Georgia,serif;font-weight:400;line-height:1.12;margin:16px 0 22px}.hero h1 em{font-weight:400;color:#ffb481}.hero p:not(.eyebrow){font-size:19px;color:#e0e3e8;max-width:740px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.btn{display:inline-block;background:var(--accent);border:1px solid var(--accent);color:#222833;text-decoration:none;padding:12px 21px;font:700 14px system-ui,sans-serif;cursor:pointer}.btn:hover{filter:brightness(.95)}.btn.outline{background:transparent;color:inherit;border-color:currentColor}.btn.secondary{background:transparent;border-color:#a6acb5;color:var(--ink)}.section{padding:88px 0}h2{font:400 clamp(32px,4vw,51px)/1.2 Georgia,serif;margin:10px 0 24px}h3{font:400 26px Georgia,serif;margin:8px 0 14px}p{max-width:760px}.cards,.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}.card{background:white;border:1px solid #e5e8ed;padding:30px;min-height:240px}.card p{color:var(--muted)}.number{color:#d76016;font-size:13px;font-weight:800}.dark{background:var(--dark);color:white}.dark p{color:#d8dde3}.photo-placeholder{min-height:240px;background:linear-gradient(135deg,#586372,#a3acb6);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #c6ccd4;color:white}.photo-placeholder:nth-child(2){background:linear-gradient(135deg,#525d6d,#c57c51)}.photo-placeholder small{opacity:.8}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.portrait-placeholder{min-height:370px;display:grid;place-items:center;text-align:center;padding:30px;background:linear-gradient(140deg,#6c7685,#e5a377);color:white}.pale{background:var(--pale)}.quote-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:26px;align-items:start;margin-top:30px}form,.side-panel,.result{background:white;border:1px solid #dce1e8;padding:28px}form{display:grid;gap:16px}.field{display:grid;gap:6px}.field label{font-weight:700;font-size:14px}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #bac2cc;background:white;color:var(--ink);font:inherit;border-radius:2px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.form-note{font-size:13px;color:var(--muted)}.side-panel ol{padding-left:22px}.side-panel li{margin-bottom:14px}.ai-box{background:#303642;color:white;padding:20px;margin-top:30px}.ai-box span{color:#ffb481;font-weight:800}.ai-box p{font-size:14px;color:#e0e3e8}.result{margin-top:20px}.result pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f6f8;padding:18px;font:14px/1.6 ui-monospace,monospace}.result[hidden]{display:none}footer{background:#222833;color:#dfe3e8;padding:44px 0}footer p,footer small{color:#c2cad4}@media(max-width:800px){.cards,.gallery{grid-template-columns:1fr 1fr}.split,.quote-layout{grid-template-columns:1fr}.menu-toggle{display:block;background:transparent;border:1px solid #a6acb5;padding:8px 12px;color:var(--ink)}.nav{flex-wrap:wrap}nav{display:none;width:100%;flex-direction:column;gap:12px}nav.open{display:flex}}@media(max-width:560px){.cards,.gallery{grid-template-columns:1fr}.hero{min-height:490px}.section{padding:60px 0}.hero .wrap{padding-top:65px;padding-bottom:65px}form,.side-panel,.result{padding:19px}.brand{font-size:12px}}

/* Portfolio lavori reali */
.project-heading{margin:38px 0 0;font-size:1.35rem;color:#fff}.work-gallery{margin-top:18px}.work-photo{margin:0;background:#26313b;border:1px solid #53606a;border-radius:12px;overflow:hidden}.work-photo a{display:block}.work-photo img{display:block;width:100%;height:300px;object-fit:cover;transition:transform .2s}.work-photo img:hover{transform:scale(1.025)}.work-photo figcaption{padding:14px 16px;color:#f0f2f5;font-size:.95rem}.work-photo figcaption span{color:#ff995c;font-weight:700;margin-right:7px}@media(max-width:800px){.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.work-photo img{height:230px}}@media(max-width:540px){.work-gallery{grid-template-columns:1fr}.work-photo img{height:300px}}

/* Galleria interattiva e visualizzazione fotografie */
.work-photo img{transition:transform .22s ease,filter .22s ease}.work-photo a:hover img{transform:scale(1.035);filter:brightness(1.06)}
.gallery-tip{color:#ddd;margin-bottom:1.1rem}.photo-viewer{border:0;border-radius:14px;padding:1rem;background:#17191b;color:white;max-width:min(96vw,1100px);max-height:94vh;box-shadow:0 25px 100px #0009}.photo-viewer::backdrop{background:#000d}.photo-viewer img{display:block;max-width:100%;max-height:77vh;object-fit:contain;margin:auto}.photo-viewer p{margin:.7rem 2.8rem .2rem .2rem}.close-photo{position:absolute;right:1rem;top:1rem;border:0;background:#f68a24;color:#171717;border-radius:100px;width:2.4rem;height:2.4rem;font-size:1.1rem;cursor:pointer}

.photo-selection{margin-top:12px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-top:10px}.photo-tile{display:flex;flex-direction:column;gap:4px}.photo-tile img{width:100%;height:110px;object-fit:cover;border-radius:9px}.photo-tile button{padding:7px;border:1px solid #aaa;background:#fff;border-radius:7px;cursor:pointer}

/* Confronto fotografico e guida digitale */
.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:1.5rem;margin:1.5rem 0 2rem}.comparison{background:#1d2329;padding:12px;border-radius:14px}.comparison label{display:block;margin:12px 0 8px;color:#f4f4f4}.comparison input[type=range]{width:100%;accent-color:#ff8b32;cursor:ew-resize}.compare-frame{position:relative;overflow:hidden;aspect-ratio:4/3;--split:50%;border-radius:10px;background:#111}.compare-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-before img{width:100%;height:100%}.compare-handle{position:absolute;left:var(--split);top:0;bottom:0;transform:translateX(-50%);width:3px;background:white;display:flex;align-items:center;justify-content:center;color:#111;font-size:20px;font-weight:bold;text-shadow:none}.compare-handle:after{content:'↔';background:#fff;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;position:absolute}.compare-tag{position:absolute;top:12px;padding:4px 10px;background:#101820c9;color:white;border-radius:6px;font-size:.8rem}.tag-before{left:12px}.tag-after{right:12px}.assistant-panel{margin-top:1rem;border-top:1px solid #8885;padding-top:1rem}.assistant-choices{display:flex;gap:8px;flex-wrap:wrap;margin:1rem 0}.assistant-choices button{background:#fff;color:#171717;border:1px solid #999;border-radius:8px;padding:9px;cursor:pointer}.assistant-choices button:hover{background:#ffe3cd}

/* Assistente sempre disponibile */
.floating-chat-toggle{position:fixed;right:20px;bottom:20px;z-index:90;border:0;border-radius:999px;background:#ff8b32;color:#171b20;font-weight:800;padding:15px 19px;box-shadow:0 6px 24px #0007;cursor:pointer}.floating-chat{position:fixed;right:20px;bottom:83px;z-index:91;width:min(380px,calc(100vw - 28px));max-height:min(620px,calc(100dvh - 110px));overflow:auto;background:#fff;color:#1d2329;border-radius:17px;box-shadow:0 15px 60px #0008;border:1px solid #ddd}.floating-chat[hidden]{display:none}.floating-chat-head{display:flex;align-items:center;justify-content:space-between;background:#202a32;color:white;padding:16px}.floating-chat-head small{display:block;color:#d5dce1;font-size:12px;margin-top:3px}.floating-chat-head button{border:0;background:transparent;color:white;font-size:20px;cursor:pointer}.floating-chat-body{padding:17px}.floating-chat-message{background:#f0f3f5;padding:13px;border-radius:12px;line-height:1.5}.floating-chat-choices{display:grid;gap:9px;margin:16px 0}.floating-chat-choices button{border:1px solid #d5d8dc;border-radius:9px;background:#fff;color:#1d2329;padding:12px;text-align:left;cursor:pointer;font:inherit}.floating-chat-choices button:hover{border-color:#ff8b32;background:#fff4e9}.floating-chat-restart{border:0;background:none;color:#8a4a14;text-decoration:underline;cursor:pointer}.floating-chat-foot{margin:0;padding:11px 16px;background:#f8f8f8;font-size:12px;color:#525a61}@media(max-width:520px){.floating-chat-toggle{right:12px;bottom:12px;padding:13px 15px}.floating-chat{right:12px;bottom:70px}}
/* Chat conversazionale Gemini: solo interfaccia, chiave mai nel browser */
.chat-history{display:flex;flex-direction:column;gap:10px;max-height:310px;min-height:165px;overflow-y:auto;padding:4px 2px 12px}.chat-bubble{max-width:94%;padding:10px 13px;border-radius:13px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.5}.chat-bubble.assistant{background:#edf0f4;align-self:flex-start}.chat-bubble.user{background:#ffe0c8;align-self:flex-end}.gemini-chat-form{display:block;border:0;padding:0;background:transparent}.chat-label{display:block;font-size:12px;font-weight:700;margin-bottom:5px}.chat-entry{display:flex;gap:6px}.chat-entry input{min-width:0;flex:1;padding:11px;border:1px solid #b5bbc5;border-radius:8px;font:inherit}.chat-entry button{border:0;border-radius:8px;padding:10px 13px;background:#ff8b32;color:#161616;font-weight:800;cursor:pointer}.chat-entry button:disabled{opacity:.55;cursor:not-allowed}.chat-status{font-size:12px;color:#5c6269;margin:9px 0}.chat-links{display:flex;gap:13px;flex-wrap:wrap;font-size:13px}.chat-links a{color:#965019}.floating-chat{overflow:hidden}.floating-chat-body{overflow-y:auto;max-height:calc(100dvh - 230px)}
